]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
cris.md ("reload_out<mode>"): Mark operand 2 as earlyclobber.
[gcc.git] / gcc / ChangeLog
CommitLineData
11e30dd8
HPN
12005-11-25 Hans-Peter Nilsson <hp@axis.com>
2
3 * config/cris/cris.md ("reload_out<mode>"): Mark operand 2 as
4 earlyclobber.
5 * targhooks.c (default_secondary_reload): Don't require operand 2
6 for an input reload to be earlyclobber.
7
dd6f2a43
VR
82005-11-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
9
10 * fold-const.c (negate_mathfn_p): Fix comment and add support
11 for BUILT_IN_CBRT, BUILT_IN_SINH, BUILT_IN_TANH, BUILT_IN_ASINH,
12 BUILT_IN_ATANH.
13
9b336fa4
JM
142005-11-25 Joseph S. Myers <joseph@codesourcery.com>
15
16 PR middle-end/24998
17 * config/sparc/sparc.c (sparc_init_libfuncs): Use _Q_utoq and
18 _Q_ulltoq for unsigned conversions from SImode and DImode to
19 TFmode.
20
3f231c29
AM
212005-11-25 Alan Modra <amodra@bigpond.net.au>
22
23 * config/rs6000/ppc64-fp.c (__floatunditf): New function.
24 (__floatundidf, __floatundisf): Likewise.
25
0be76840
DE
262005-11-25 David Edelsohn <edelsohn@gnu.org>
27
28 * config/rs6000/rs6000.c (rs6000_sr_alias_set): Delete.
29 (rs6000_override_options): Remove initialization of
30 rs6000_sr_alias_set.
31 (rs6000_emit_eh_reg_restore): Use gen_frame_mem.
32 (rs6000_emit_stack_tie): Same.
33 (emit_frame_save): Same.
34 (gen_frame_mem_offset): Same.
35 (rs6000_emit_prologue): Same.
36 (rs6000_emit_epilogue): Same.
37
7934558d
AP
382005-11-25 Andrew Pinski <pinskia@physics.uc.edu>
39
40 PR middle-end/24989
41 * fold-const.c (fold_build): Convert bool_var != 1 and
42 bool_var == 0 to !bool_var.
43
210dfe6e
AP
442005-11-25 Andrew Pinski <pinskia@physics.uc.edu>
45
46 PR middle-end/24990
47 * fold-const.c (fold_binary): Fold (~a) == C to a == ~C
48 for C being INTEGER_CST. Likewise for !=.
49
57904aa7
JM
502005-11-25 Joseph S. Myers <joseph@codesourcery.com>
51
52 PR middle-end/24998
53 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Use _q_utoq for
54 unsigned conversions from SImode to TFmode.
55
832942a8
BS
562005-11-24 Bernd Schmidt <bernd.schmidt@analog.com>
57
58 * expr.c (expand_expr_real_1): Fix error in last change.
59
e30edd6c
R
602005-11-24 J"orn Rennecke <joern.rennecke@st.com>
61
62 * caller-save.c: (this_insn_sets): Move into:
63 (save_call_clobbered_regs).
64 (mark_set_regs): Get this_insn_sets from data.
65
66 (save_call_clobbered_regs): Take sets of the return value by
67 sibcalls into account.
68
8a99f6f9
R
692005-11-24 J"orn Rennecke <joern.rennecke@st.com>
70 PR target/21623:
71
72 * regclass.c (FORBIDDEN_INC_DEC_CLASSES): Remove
73 SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS tests.
74 (init_fake_stack_mems): Remove HAVE_SECONDARY_RELOADS test.
75 (memory_move_secondary_cost, init_reg_autoinc): Remove
76 SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_OUTPUT_RELOAD_CLASS tests.
77 Replace SECONDARY_{IN,OUT}PUT_RELOAD_CLASS use with
78 secondary_reload_class call.
79 (copy_cost): Likewise. Add new parameter prev_sri. Changed all
80 callers.
81 * reload.c (entire file): Remove HAVE_SECONDARY_RELOADS checks.
82 (push_secondary_reload): Use secondary_reload target hook.
83 (secondary_reload_class, scratch_reload_class): New functions.
84 (push_reload): Remove SECONDARY_INPUT_RELOAD_CLASS and
85 SECONDARY_OUTPUT_RELOAD_CLASS tests. Replace
86 SECONDARY_{IN,OUT}PUT_RELOAD_CLASS use with secondary_reload_class call.
87 * reload.h (HAVE_SECONDARY_RELOADS): Don't define nor test.
88 (secondary_reload_class, scratch_reload_class): Declare.
89 * reload1.c: Include target.h.
90 (reload_adjust_reg_for_temp): New function.
91 (reload_adjust_reg_for_icode): Likewise.
92 (choose_reload_regs): Remove SECONDARY_INPUT_RELOAD_CLASS test.
93 Replace SECONDARY_INPUT_RELOAD_CLASS use with secondary_reload_class
94 call.
95 (emit_input_reload_insns): Likewise. Rewrite secondary reload checks
96 for inheritance. Support case when both secondary & tertiary reloads
97 are for intermediate registers.
98 (emit_output_reload_insns): Replace SECONDARY_OUTPUT_RELOAD_CLASS use
99 with secondary_reload_class call. Support case when both secondary
100 & tertiary reloads are for intermediate registers.
101 * target-def.h (TARGET_SECONDARY_RELOAD): Provide default definition.
102 (TARGET_INITIALIZER) Add TARGET_SECONDARY_RELOAD.
103 * target.h (secondary_reload_info): New struct / typedef.
104 (struct gcc_target): New member secondary_reload.
105 * targhooks.c Include reload.h, optabs.h and recog.h.
106 (default_secondary_reload): New function.
107 * targhooks.h (default_secondary_reload): Declare.
108 * doc/tm.texi: Document secondary_reload target hook. Update
109 description of SECONDARY_*RELOAD_CLASS and reload_{in,out}<mode>.
110 * doc/md.texi: Likewise.
111
112 * sh-protos.h (sh_secondary_reload): Declare.
113 * sh.c (TARGET_SECONDARY_RELOAD): Override.
114 (sh_secondary_reload): New function.
115 * sh.h (SECONDARY_INOUT_RELOAD_CLASS): Don't define.
116 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
117 (SECONDARY_INPUT_RELOAD_CLASS): Likewise.
118 (HAVE_SECONDARY_RELOADS): Define.
119 * sh.md (reload_indf): Rename to:
120 (reload_indf__frn).
121 (reload_outdf): Rename to:
122 (reload_outdf__RnFRm).
123 (reload_insf): Rename to:
124 (reload_insf__frn).
125 (reload_insi): Rename to:
126 (reload_insi__i_fpul).
127
1a598a97
UB
1282005-11-24 Uros Bizjak <uros@kss-loka.si>
129
130 * configure.ac: Require at least texinfo 4.4.
131 * configure: Regenerate.
132
133 * doc/install.texi (Tools/packages necessary for building GCC):
134 Update required version of texinfo to at least 4.4.
135 (Installing GCC: Building): Update required version of texinfo
136 to at least 4.4.
137 (Installing GCC: Final installation): Update required version
138 of texi2dvi to at least 4.4.
139 (Host/target specific installation notes for GCC): Update required
140 version of texinfo to at least 4.4.
141
de9c56a4
RG
1422005-11-24 Richard Guenther <rguenther@suse.de>
143 Dirk Mueller <dmueller@suse.de>
144
145 PR c++/14024
146 * c-common.h (strict_aliasing_warning): Declare.
147 * c-common.c (strict_aliasing_warning): New function,
148 split out from ...
149 * c-typeck.c (build_c_cast): ... here.
150
665d18c6
PB
1512005-11-24 Paolo Bonzini <bonzini@gnu.org>
152
153 * optabs.c (expand_binop): Use swap_commutative_operands_with_target
154 to order operands.
155 (swap_commutative_operands_with_target): New.
156
90631280
PB
1572005-11-24 Paolo Bonzini <bonzini@gnu.org>
158
159 * gcse.c (hash_scan_set): Look through REG_EQUAL or REG_EQUIV notes
160 also when doing PRE, rather than only for global CPROP.
161
86556d87
BE
1622005-11-24 Ben Elliston <bje@au.ibm.com>
163
164 * machmode.h (CLASS_HAS_WIDER_MODES_P): New macro.
165 * optabs.c (expand_binop): Use CLASS_HAS_WIDER_MODES_P, improve
166 formatting.
167 (expand_twoval_unop): Likewise.
168 (widen_clz): Likewise.
169 (expand_parity): Likewise.
170 (expand_unop): Likewise.
171 (emit_cmp_and_jmp_insn_1): Likewise.
172 (prepare_float_lib_cmp): Likewise.
173
94044657
BE
1742005-11-24 Ben Elliston <bje@au.ibm.com>
175
176 * optabs.c (prepare_cmp_insn): Use SCALAR_FLOAT_MODE_P.
177 Remove unused `class' variable.
178
349d23dd
GDR
1792005-11-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
180
181 PR c++/21667
182 * c-typeck.c (build_array_ref): Avoid code duplicate. Use common
183 C/C++ diagnostic function warn_array_subscript_with_type_char.
184 * c-common.h (warn_array_subscript_with_type_char): Declare.
185 * c-common.c (warn_array_subscript_with_type_char): Define.
186
1872005-11-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
188
189 PR c/21668
190 * c-decl.c (grokdeclarator): Don't warn for 'extern const' when
191 compiling at the intersection of C and C++.
192
9d530538
MM
1932005-11-23 Mark Mitchell <mark@codesourcery.com>
194
195 * doc/invoke.texi: For man pages, include gcc-vers.texi.
196 List @file in the option summary. Include the libiberty
197 documentation for @file.
198 * gcc.c (main): Call expandargv.
199 * Makefile.in (gcc-vers.texi): Define srcdir.
200
dd97d271
DN
2012005-11-23 Diego Novillo <dnovillo@redhat.com>
202
203 * passes.c (init_optimization_passes): Document
204 sequencing of passes.
205
4fbe09f9
KH
2062005-11-23 Kazu Hirata <kazu@codesourcery.com>
207
208 * config/m68k/predicates.md (pcrel_address, extend_operator,
209 post_inc_operand, pre_dec_operand): Remove redundant
210 conditionals.
211 (const_uint32_operand, const_sint32_operand): Use gcc_assert
212 instead of abort.
213 (valid_dbcc_comparison_p): Rewrite in the lisp style.
214
a654d1f0
BE
2152005-11-23 Ben Elliston <bje@au.ibm.com>
216
217 * dwarf2.h (enum dwarf_type): Add DW_ATE_decimal_float.
218
3c4774e0
R
2192005-11-22 J"orn Rennecke <joern.rennecke@st.com>
220
221 Preparatory work for PR target/21623:
222 * alpha.c (secondary_reload_class): Rename to:
223 (alpha_secondary_reload_class).
224 * alpha.h, alpha-protos.h: Likewise.
225 * mn10300.c (secondary_reload_class): Rename to:
226 (mn10300_secondary_reload_class).
227 * mn10300.h, mn10300-protos.h: Likewise.
228 * pa.c (secondary_reload_class): Rename to:
229 (pa_secondary_reload_class).
230 * pa.h, pa-protos.h: Likewise.
231 * rs6000.c (secondary_reload_class): Rename to:
232 rs6000_secondary_reload_class.
233 * rs6000.h, rs6000-protos.h: Likewise.
234
0dfe2498 2352005-11-22 Eric Botcazou <ebotcazou@adacore.com>
32961db5
EB
236
237 PR middle-end/22561
238 * tree-ssa-structalias.c (get_constraint_for): Handle ARRAY_RANGE_REF.
239
74b14698
ILT
2402005-11-22 Ian Lance Taylor <ian@airs.com>
241
242 * optabs.c (expand_unop): Call SCALAR_FLOAT_MODE_P on a mode, not
243 a mode_class.
244 (prepare_cmp_insn): Likewise.
245
04760127
KH
2462005-11-22 Kazu Hirata <kazu@codesourcery.com>
247
248 PR target/23435
249 * m68k.md (zero_extendsidi2): Force operands[1] to a register
250 if both operands[0] and operands[1] are memory.
251
d998dd65
AP
2522005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
253
254 PR middle-end/23606
255 * fold-const.c (fold_unary) <case NOP_EXPR, CONVERT_EXPR>: For
256 COMPARISON_CLASS_P and an integral types create create a new
257 expression with the new type and fold that.
258
174965f5
AP
2592005-11-22 Andrew Pinski <pinskia@physics.uc.edu>
260
261 PR target/24988
262 * config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Remove call
263 to SUBTARGET_OS_CPP_BUILTINS.
264
d66437c5
RE
2652005-11-22 Richard Earnshaw <richard.earnshaw@arm.com>
266
267 * arm.c (emit_set_insn): New function.
268 (arm_split_constant): Call it.
269 (arm_gen_compare_reg, arm_reload_in_hi, arm_reload_out_hi): Likewise.
270 (arm_legitimize_address): Likewise. Use plus_constant.
271 (arm_expand_prologue): Likewise. Use VOIDmode in SET.
272 (thumb_expand_prologue): Likewise.
273 (arm_gen_load_multiple): Use VOIDmode in SET.
274 (arm_gen_store_multiple): Likewise.
275 (vfp_emit_fstmx): Likewise. Use plus_constant.
276 (emit_multi_reg_push): Likewise.
277 (emit_sfm): Use plus_constant.
278
8f7bb6d7
AM
2792005-11-23 Alan Modra <amodra@bigpond.net.au>
280
281 PR target/24954
282 * config/rs6000/predicates.md (easy_vector_constant_add_self): Fix
283 typo last change.
284
30f37b8d
AM
2852005-11-22 Alan Modra <amodra@bigpond.net.au>
286
287 PR middle-end/24950
288 * expmed.c (store_bit_field): Don't attempt to insv a field
289 larger than the reg.
290
e1688991
AM
2912005-11-22 Alan Modra <amodra@bigpond.net.au>
292
293 PR target/24954
294 * config/rs6000/predicated.md (easy_vector_constant_add_self): Use
295 explicit sign extension, not a (char) cast.
296
ebb109ad
BE
2972005-11-22 Ben Elliston <bje@au.ibm.com>
298
299 * optabs.c: Use SCALAR_FLOAT_MODE_P instead of explicitly testing
300 GET_MODE_CLASS (x) == MODE_FLOAT.
301 * config/i386/i386.c: Likewise.
302 * config/rs6000/xcoff.h: Likewise.
303 * config/rs6000/linux64.h: Likewise.
304 * config/rs6000/rs6000.c: Likewise.
305 * config/rs6000/rs6000.h: Likewise.
306 * config/rs6000/predicates.md: Likewise.
307 * config/rs6000/sysv4.h: Likewise.
308
3d119f8f
KG
3092005-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
310
311 * c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when
312 flag_pic is set.
313
314 * config/alpha/freebsd.h, config/alpha/linux.h,
315 config/arm/linux-elf.h, config/bfin/bfin.h,
316 config/cris/linux.h, config/darwin.h, config/freebsd-spec.h,
317 config/i386/beos-elf.h, config/i386/gnu.h,
318 config/i386/linux.h, config/i386/linux64.h, config/i386/nto.h,
319 config/i386/sco5.h, config/m32r/m32r.h, config/m68k/linux.h,
320 config/m68k/m68k.h, config/mips/linux.h, config/pa/pa-linux.h,
321 config/rs6000/linux64.h, config/rs6000/sysv4.h,
322 config/rs6000/vxworks.h, config/s390/linux.h, config/s390/tpf.h,
323 config/sh/linux.h, config/sh/sh.h, config/sol2.h,
324 config/sparc/linux.h, config/sparc/linux64.h,
325 config/xtensa/xtensa.h: Don't define __pic__ or __PIC__.
326
327 * doc/invoke.texi: Document that the macros __pic__ and __PIC__
328 are both defined when either flag -fpic or -fPIC are used.
329
d7735880
JM
3302005-11-22 Joseph S. Myers <joseph@codesourcery.com>
331
332 * config/fp-bit.c (clzusi): New function.
333 (si_to_float, usi_to_float): Use it to compute proper shift.
334 (usi_to_float): Preserve guard bits when shifting right.
335 * libgcc-std.ver (GCC_4.2.0): New version.
336 * libgcc2.c (__floatundixf, __floatunditf, __floatundidf,
337 __floatundisf): New functions.
338 * libgcc2.h (__floatundixf, __floatunditf, __floatundidf,
339 __floatundisf): Declare.
340 * mklibgcc.in (lib2funcs): Add _floatundidf, _floatundisf,
341 _floatundixf, and _floatunditf.
342 * optabs.c (expand_float): If target does not define a pattern for
343 signed or unsigned conversion, use an unsigned libcall instead of
344 a signed one.
345 (init_optabs): Initialize ufloat_optab.
346
131aeb82
JM
3472005-11-22 Joseph S. Myers <joseph@codesourcery.com>
348
349 * config/rs6000/rs6000.opt (mmulhw): New option.
350 * doc/invoke.texi (-mmulhw): Document.
351 * config/rs6000/rs6000.c (rs6000_override_options): Enable -mmulhw
352 for 405 and 440.
353 * config/rs6000/rs6000.md: Add half-word multiply and
354 multiply-accumulate instructions for 405 and 440.
355
46636d31
JS
3562005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
357
358 * config/arm/rtems-elf.h: Added definition of LINK_GCC_C_SEQUENCE_SPEC
359 which matches behavior of gcc 4.0 and older for RTEMS targets. The
360 default now includes a linker group which makes the RTEMS one nest.
361
9b92bf04
BE
3622005-11-22 Ben Elliston <bje@au.ibm.com>
363
364 * cse.c (fold_rtx): Typo fix.
365 (find_comparison_args): Pass the mode of arg1, not arg1 itself.
366
10e6657a
RH
3672005-11-21 Richard Henderson <rth@redhat.com>
368
369 * c-common.c, config/darwin-c.c, c-decl.c, c-tree.h, c-objc-common.h,
370 langhooks-def.h, langhooks.h: Revert 2005-11-18 lookup_name patch.
371
372 * c-tree.h (lookup_name): Move declaration ...
373 * c-common.h (lookup_name): ... here.
374 * config/darwin-c.c: Include c-common.h.
375 * config/t-darwin: Update dependencies.
376
3d8bf70f
BE
3772005-11-22 Ben Elliston <bje@au.ibm.com>
378
379 * optabs.c (expand_abs_nojump): Use SCALAR_FLOAT_MODE_P instead of
380 explicitly testing GET_MODE_CLASS (x) == MODE_FLOAT.
381 * genopinit.c (gen_insn): Likewise.
382 * reload.c (find_equiv_reg): Likewise.
383 * loop.c (load_mems): Likewise.
384 * rtlanal.c (may_trap_p_1, canonicalize_condition): Likewise.
385 * cse.c (find_comparison_args, fold_rtx): Likewise.
386 * dwarf2out.c (add_const_value_attribute): Likewise.
387 * expr.c (convert_move): Likewise.
388 * recog.c (general_operand, register_operand): Likewise.
389 * reg-stack.c (replace_reg): Likewise.
390 * tree-vect-generic.c (type_for_widest_vector_mode): Likewise.
391 * c-common.c (handle_vector_size_attribute): Likewise.
392 * simplify-rtx.c (simplify_const_unary_operation): Likewise.
393 (simplify_binary_operation_1): Likewise.
394 (simplify_const_binary_operation): Likewise.
395 (simplify_relational_operation): Likewise.
396 (simplify_const_relational_operation): Likewise.
397 (simplify_immed_subreg): Likewise.
398 * emit-rtl.c (gen_lowpart_common): Likewise.
399 * expmed.c (expand_mult): Likewise.
400 * stor-layout.c (layout_type): Likewise.
401
e20dcbef
PB
4022005-11-21 Paolo Bonzini <bonzini@gnu.org>
403
404 PR target/24951
405 * config/rs6000/rs6000.c (output_vec_const_move): Load cst and
406 cst2 only for SPE vectors.
407
72c164b3
DE
4082005-11-21 David Edelsohn <edelsohn@gnu.org>
409
410 PR target/24953
411 * config/rs6000/predicates.md (vrsave_operation): Check
412 UNSPEC_VOLATILE value.
413
078152a2
JH
4142005-11-21 Jan Hubicka <jh@suse.cz>
415
416 PR tree-optimization/24653
417 * tree-ssa-ccp.c (ccp_fold): Strip down useless conversions.
418
1c287121
UB
4192005-11-21 Uros Bizjak <uros@kss-loka.si>
420
421 * config/i386/predicates.md (ax_reg_operand): New predicate.
422 (memory_displacement_only_operand): New predicate.
423 * config/i386/i386.md ("modrm" attribute): Return 0 if one
424 operand is AX register and the other operand is memory operand
425 with displacement only.
426
ffbc33cc
UB
4272005-11-21 Uros Bizjak <uros@kss-loka.si>
428
429 * fold-const.c (fold_binary) <RDIV_EXPR>: Optimize A / A to 1.0
430 if we don't care about NaNs or Infinities.
431
083a9e91
ILT
4322005-11-20 Ian Lance Taylor <ian@airs.com>
433
434 PR rtl-optimization/24883
435 * combine.c (combinable_i3pat): When checking whether the
436 destination of i3 is used in i3, consider paradoxical subregs.
437
1ef6855c
KH
4382005-11-21 Kazu Hirata <kazu@codesourcery.com>
439
440 PR middle-end/20583
441 * cse.c (cse_insn): Reject invalid forms of CONST earlier.
442
7cf3d079
JM
4432005-11-20 Joseph S. Myers <joseph@codesourcery.com>
444
445 * combine.c (try_combine): Do not run subst on i1src and i2src in
446 the case of generating a PARALLEL for a comparison.
447
d116ffa6
RH
4482005-11-20 Richard Henderson <rth@redhat.com>
449
450 PR 24931
451 * tree-sra.c (struct sra_elt): Add all_no_warning.
452 (struct sra_walk_fns) <use>: Add use_all argument.
453 (sra_walk_expr): Pass it.
454 (sra_walk_modify_expr): Likewise.
455 (scalarize_ldst): Likewise.
456 (scan_use): Update for new argument.
457 (mark_no_warning): New.
458 (scalarize_use): Use it.
459
8b44057d
BS
4602005-11-20 Bernd Schmidt <bernd.schmidt@analog.com>
461
462 * expr.c (expand_expr_real): Use usmul_optab for widening
463 signed * unsigned multiplies.
464 * genopinit.c (optabs): Add usmul_widen_optab.
465 * optabs.c (init_optabs): Likewise.
466 * optabs.h (enum optab_index): Add OTI_usmul_widen.
467 (usmul_widen_optab): Define.
468 * config/bfin/bfin.md (usmulhisi3): New pattern.
469
470 * doc/md.texi (usmulqihi3, usmulhisi3, usmulsidi3): Document.
471
1815d8d4
GS
4722005-11-20 Graham Stott <btinternet.com>
473
474 * gensupport.c (std_preds): Fixed extraneous `false` in last change.
475
6819a463
AS
4762005-11-20 Andreas Schwab <schwab@suse.de>
477
478 PR target/24757
479 * config/ia64/ia64.c (ia64_expand_atomic_op): Fix condition of cmp
480 insn.
481
688e936d
RH
4822005-11-19 Richard Henderson <rth@redhat.com>
483
484 PR tree-opt/24665
485 * tree-gimple.c (is_gimple_id): Export.
486 * tree-gimple.h (is_gimple_id): Declare.
487 * tree-ssa-ccp.c (ccp_decl_initial_min_invariant): New.
488 (get_default_value): Use it.
489 (maybe_fold_stmt_indirect): Likewise.
490
7ab1122a
JM
4912005-11-19 James A. Morrison <phython@gcc.gnu.org>
492
493 * tree-vrp.c (compare_ranges): Return false for EQ_EXPR if VR0 is less
494 than VR1 or vice-versa.
495
ff0d9879
HPN
4962005-11-19 Hans-Peter Nilsson <hp@axis.com>
497
498 PR middle-end/24912
499 PR middle-end/24750
500 * reload.c (find_reloads_address_1): Mention dependency on
501 gen_reload.
502 * reload1.c (gen_reload): For IN with an unary operation, try
503 moving inner expression to OUT if trivial SET is not valid.
504 Confirm that the result is valid. Move common code block into...
505 (emit_insn_if_valid_for_reload): New function.
506
41b9109a
RG
5072005-11-19 Richard Guenther <rguenther@suse.de>
508
509 * fold-const.c (fold_indirect_ref_1): Make sure we fold
510 ARRAY_REFs of constant strings.
511
3817707e
JJ
5122005-11-19 Jakub Jelinek <jakub@redhat.com>
513
514 * gcc.c (version_compare_spec_function): Use '%s' rather than %qs in
515 fatal format string.
516
756191b7
JM
5172005-11-19 Joseph S. Myers <joseph@codesourcery.com>
518
519 * combine.c (make_compound_operation): Swap operands of
520 commutative operation if necessary before returning.
521
0ed9a3e3
RG
5222005-11-19 Richard Guenther <rguenther@suse.de>
523
524 PR middle-end/23294
525 * fold-const.c (fold_plusminus_mult_expr): New function.
526 (fold_binary): Use to canonicalize PLUS_EXPR and MINUS_EXPR
527 cases, remove now unnecessary code.
528
ebce9df7
PB
5292005-11-19 Paolo Bonzini <bonzini@gcc.gnu.org>
530
531 * gensupport.c (old_preds): Rename to std_preds, add special field.
532 (struct old_pred_table): Rename to struct std_pred_table, add special
533 field.
534 (NUM_KNOWN_OLD_PREDS): Rename to NUM_KNOWN_STD_PREDS.
535 (NUM_OLD_SPECIAL_MODE_PREDS): Remove.
536 (init_predicate_table): Adjust, and set along the way whether a
537 predicate is special.
538
040a473f
MM
5392005-11-18 Mark Mitchell <mark@codesourcery.com>
540
541 * BASE-VER: Change to 4.2.0.
542
817f9ef2
JW
5432005-11-18 James E Wilson <wilson@specifix.com>
544
545 * builtins.c (fold_builtin_strstr): Pass s1 through fold_convert before
546 returning it.
547
7bbd0aab
MS
5482005-11-18 Mike Stump <mrs@apple.com>
549
550 * c-common.c (handle_cleanup_attribute): Use a lang hook for lookup_name.
551 * config/darwin-c.c (darwin_pragma_unused): Likewise.
552 * c-decl.c (lookup_name_two) Remove.
553 * c-tree.h (lookup_name_two): Remove.
554 * c-objc-common.h (LANG_HOOKS_LOOKUP_NAME): Add.
555 * langhooks-def.h (LANG_HOOKS_LOOKUP_NAME): Add.
556 (LANG_HOOKS_DECLS): Add initializer for LANG_HOOKS_LOOKUP_NAME.
557 * langhooks.h (lang_hooks_for_decls): Add lookup_name.
558
a6a5de04
RE
5592005-11-18 Richard Earnshaw <richard.earnshaw@arm.com>
560
561 PR target/24914
562 * arm.c (arm_hard_regno_mode_ok): Co-processor registers aren't ok
563 when not generating code to use that co-processor.
564
e5e0238e
JM
5652005-11-18 James A. Morrison <phython@gcc.gnu.org>
566
567 * tree-flow.h (reserve_phi_args_for_new_edge, create_phi_node,
568 add_phi_arg, remove_phi_args, remove_phi_node phi_reverse): Mention that
569 these functions are now in tree-phinodes.c.
570
3d33a056
JZ
5712005-11-18 Jie Zhang <jie.zhang@analog.com>
572
573 * config/bfin/bfin.md (trap): New pattern.
574
c48dc958
RK
5752005-11-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
576
4d14c1f4
RK
577 * tree-ssa-dom.c (extract_range_from_cond): Deal with variable bounds
578 on types.
579
e259b3c2 580 * expr.c (expand_expr_real): Don't call record_block_change unless
c48dc958 581 ib_boundaries_block is non-null
032e2f50
RK
582
583 * postreload.c (reload_cse_move2add): Don't try to work with BImode.
438090c3
RK
584
585 * fold-const.c (build_range_check): Use proper type for subtraction
586 when merging lower bound.
587
21f868a2
ZD
5882005-11-18 Zdenek Dvorak <dvorakz@suse.cz>
589
590 PR rtl-optimization/24497
591 * loop-unroll.c (apply_opt_in_copies): Do not verify equality of
592 the copied insn.
593
925196ed
ZD
5942005-11-18 Zdenek Dvorak <dvorakz@suse.cz>
595
596 * tree-scalar-evolution.c (expression_expensive_p): New function.
597 (scev_const_prop): Use compute_overall_effect_of_inner_loop.
598
d087f5fe
BS
5992005-11-18 Bernd Schmidt <bernd.schmidt@analog.com>
600
601 * config/bfin/crtlibid.s: New file.
602
9fb1c9db
JDA
6032005-11-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
604
605 PR target/24348
606 * config.gcc (hppa*-*-hpux*): Add pa/t-slibgcc-elf-ver to tmake config
607 when not using sjlj exceptions.
608 * config/pa/pa64-hpux.h (LIB_SPEC): Add -lpthread in static links.
609 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
610 * config/pa/som.h (ASM_PREFERRED_EH_DATA_FORMAT): Delete define.
611 * config/pa/linux-unwind.h (pa32_fallback_frame_state): Use
612 DWARF_ALT_FRAME_RETURN_COLUMN instead of column 0 as return column.
613 * config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): New define.
614 * config/pa/pa-linux.h (INCOMING_RETURN_ADDR_RTX,
615 DWARF_FRAME_RETURN_COLUMN, ASM_PREFERRED_EH_DATA_FORMAT,
616 ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Delete defines.
617 * config/pa/pa.h (ARG_POINTER_CFA_OFFSET): Delete.
618 (FRAME_POINTER_CFA_OFFSET, INCOMING_RETURN_ADDR_RTX,
619 DWARF_FRAME_RETURN_COLUMN, DWARF_ALT_FRAME_RETURN_COLUMN,
620 ASM_PREFERRED_EH_DATA_FORMAT, ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New
621 defines.
622 * config/pa/hpux-unwind.h: New file.
623
ff2d10c1
AO
6242005-11-17 Alexandre Oliva <aoliva@redhat.com>
625
626 * config/rs6000/rs6000.h (ASM_OUTPUT_WEAKREF): Define.
627 * defaults.h (ASM_OUTPUT_WEAKREF): Add decl argument.
628 * varasm.c (do_assemble_alias): Adjust call.
629 (weak_finish): Don't use ASM_WEAKEN_LABEL if ASM_WEAKEN_DECL
630 is defined.
631 * doc/tm.texi (ASM_OUTPUT_WEAKREF): Document it.
632
ebb23329
JW
6332005-11-17 James E Wilson <wilson@specifix.com>
634
635 * tree.def (FUNCTION_DECL): Correct typo in comment.
636
f6672e8e
RH
6372005-11-17 Richard Henderson <rth@redhat.com>
638
639 * dwarf2out.c (dw_cfi_oprnd_struct): Reduce dw_cfi_reg_num to int.
640 (lookup_cfa_1): Apply data alignment to DW_CFA_def_cfa_offset_sf
641 and DW_CFA_def_cfa_sf.
642 (def_cfa_1): Use DW_CFA_def_cfa_offset_sf with negative values.
643 (dbx_reg_number): Don't assert particular registers here.
644 (based_loc_descr): ... do it here instead. Fold in ...
645 (eliminate_reg_to_offset): ... this function.
646 (compute_frame_pointer_to_cfa_displacement): Fold in the effects
647 of eliminate_reg_to_offset; use FRAME_POINTER_CFA_OFFSET.
648 * unwind-dw2.c (execute_cfa_program): Apply data align factor
649 to DW_CFA_def_cfa_offset_sf and DW_CFA_def_cfa_sf.
650 * function.c (instantiate_new_reg): Use FRAME_POINTER_CFA_OFFSET.
651 (instantiate_virtual_regs): Likewise.
652 * var-tracking.c (adjust_stack_reference): Likewise.
653 * doc/tm.texi (FRAME_POINTER_CFA_OFFSET): New.
654
9976dec8
BS
6552005-11-17 Bernd Schmidt <bernd.schmidt@analog.com>
656
657 * config/bfin/elf.h (STARTFILE_SPEC): Add "crtlibid%O%s"
658 * config/bfin/uclinux.h (STARFILE_SPEC): Likewise.
659 * config/bfin/t-bfin-elf (EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Add
660 crtlibid.o.
661 ($(T)crtlibid.o): New rule.
662
0bc52d42
RG
6632005-11-16 Richard Guenther <rguenther@suse.de>
664
665 PR middle-end/24851
666 * fold-const.c (extract_array_ref): Return byte offset
667 in all cases.
668 (fold_binary): Fold &x[a] CMP &x[b] to
669 a*sizeof(*x) CMP b*sizeof(*x) to get correct overflow
670 behavior.
671
978dee9a
RH
6722005-11-16 Richard Henderson <rth@redhat.com>
673
674 PR middle-end/23497
675 * tree-ssa.c (warn_uninitialized_var): Skip real and imaginary
676 parts of an SSA_NAME.
677
f7657ed3
RE
6782005-11-16 Richard Earnshaw <richard.earnshaw@arm.com>
679
680 PR target/24861
681 * arm.md (split for movsf with immediate): Restrict split to insns
682 that set a general register.
683
60aef23e
DJ
6842005-11-16 Daniel Jacobowitz <dan@codesourcery.com>
685
686 * config/ia64/unwind-ia64.c (uw_advance_context): New. Call
687 uw_update_context.
688 * unwind-dw2.c (uw_advance_context): Likewise.
689 * unwind-sjlj.c (uw_advance_context): Likewise. Also call
690 _Unwind_SjLj_Unregister.
691 * unwind.inc (_Unwind_ForcedUnwind_Phase2): Call uw_advance_context.
692
0e32bbcc
DJ
6932005-11-16 Daniel Jacobowitz <dan@codesourcery.com>
694
695 * unwind-sjlj.c (_Unwind_GetCFA): Handle the builtin_setjmp case.
696
f001093a
EB
6972005-11-16 Eric Botcazou <ebotcazou@adacore.com>
698
699 * config/alpha/alpha.c (alpha_init_builtins): Use type_for_mode
700 langhook to get a DImode integer type.
701
ab156144
RH
7022005-11-16 Richard Henderson <rth@redhat.com>
703 J"orn Rennecke <joern.rennecke@st.com>
704 Ulrich Weigand <uweigand@de.ibm.com>
705
706 PR rtl-opt/24160
707 PR target/24621
708 * reload1.c (reg_equiv_invariant): New.
709 (reload): Allocate, initialize, and free it.
710 (calculate_needs_all_insns): Check it when skipping equivalence
711 setting insns.
712 (alter_reg): Likewise.
713 (eliminate_regs_1): Rename from eliminate_regs. Add new
714 may_use_invariant argument; only use reg_equiv_invariant when true.
715 (eliminate_regs): New.
716 (eliminate_regs_in_insn): Use eliminate_regs_1; track when we're in
717 a context for which may_use_invariant may be true.
718
68328cda
EB
7192005-11-16 Eric Botcazou <ebotcazou@adacore.com>
720
721 * fold-const.c (const_binop): Don't constant fold the operation
722 if the result has overflowed and flag_trapping_math.
723 * simplify-rtx.c (simplify_const_binary_operation): Likewise.
724
74d9c39f
DJ
7252005-11-16 Daniel Jacobowitz <dan@codesourcery.com>
726
727 * config/arm/unwind-arm.c (abort): Add prototype here.
728 (UCB_FORCED_STOP_ARG): Correct typo in macro argument.
729 (struct phase1_vrs): Add prev_sp.
730 (unwind_phase2_forced): Save the original core registers instead of
731 modifying entry_vrs. Take a new flag argument for resuming unwinding
732 and set action flags accordingly. Always set _US_END_OF_STACK when
733 get_eit_entry fails. Unwind before calling the stop function.
734 (_Unwind_GetCFA): New function.
735 (__gnu_Unwind_ForcedUnwind): Update call to unwind_phase2_forced.
736 (__gnu_Unwind_Resume_or_Rethrow): Likewise.
737 (__gnu_Unwind_Resume): Do not unwind here for forced unwinding;
738 just call unwind_phase2_forced.
739 (_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Move to here.
740 * config/arm/unwind-arm.h (abort): Remove prototype.
741 (_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Change to
742 prototypes.
743 (_Unwind_GetCFA): New prototype.
744 * config/arm/pr-support.c (abort): Add prototype here.
745 * unwind-c.c (PERSONALITY_FUNCTION) [__ARM_EABI_UNWINDER__]: Handle
746 forced unwinding.
747 * config/arm/arm.c (arm_expand_prologue, thumb_expand_prologue): Do
748 not schedule the prologue with non-call exceptions and EABI.
749
1dcca6f3
NS
7502005-11-16 Nathan Sidwell <nathan@codesourcery.com>
751
752 * config/arm/unwind-arm.h: Reorder interface function declarations.
753 (_URC_END_OF_STACK): New enumeration value.
754 (_US_UNWIND_ACTION_MASK, _US_FORCE_UNWIND, _US_END_OF_STACK): Likewise.
755 (struct _Unwind_Control_Block): Document reserved field use.
756 (_Unwind_Stop_Fn): New typedef.
757 (_Unwind_ForcedUnwind): Declare.
758 (_Unwind_Resume_or_Rethrow): Declare.
759 * gcc/config/arm/libunwind.S (UNWIND_WRAPER): Add nargs
760 argument. Adjust.
761 (_Unwind_Resume_or_Rethrow, _Unwind_ForcedUnwind): New.
762 * config/arm/unwind-arm.c (UCB_FORCED_STOP_FN)
763 (UCB_FORCED_STOP_ARG): New.
764 (search_EIT_table): Update boundary condition checks.
765 (get_eit_entry): Return _URC_END_OF_STACK when cannot unwind.
766 (unwind_phase2): Replace for with do..while.
767 (unwind_phase2_forced): New.
768 (__gnu_Unwind_RaiseException): Replace for with do..while.
769 (__gnu_Unwind_ForcedUnwind): New.
770 (__gnu_Unwind_Resume): Set FORCE_UNWIND flag, if forced unwinding.
771 Use appropriate phase2 unwinder.
772 (__gnu_Unwind_Resume_or_Rethrow): New.
773 (__gnu_unwind_pr_common): Cope with forced unwinding.
774
833126ad
DE
7752005-11-16 David Edelsohn <edelsohn@gnu.org>
776
777 PR target/24772
778 * config/rs6000/predicates.md (vrsave_operation): SET_SRC is a VEC.
779
780 * config/rs6000/rs6000.md (btruncsf2, ceilsf2, floorsf2,
781 roundsf2): Remove "s" from mnemonic.
782
0d88914b
BS
7832005-11-16 Bernd Schmidt <bernd.schmidt@analog.com>
784
785 * config/bfin/crti.s (__init, __fini): Use appropriate prologue if
786 __PIC__ is defined.
787 * config/bfin/crtn.s: Change epilogues to match.
788 * config/bfin/t-bfin-elf (EXTRA_MULTILIB_PARTS): Define.
789 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If flag_pic, define
790 __PIC__ and __pic__.
791
80a0c50a
TS
7922005-11-16 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
793
794 PR 24357
795 * doc/invoke.texi: Distinguish between free and fixed form instead of
796 Fortran and Fortran 90/95. Remove ratfor from the list of supported
797 languages.
798 * gcc.c (default_compilers): Remove double entries, add entries for
799 suffixes '.F90' and '.F95'.
800
11eef578
EB
8012005-11-16 Eric Botcazou <ebotcazou@adacore.com>
802
803 * config/alpha/alpha.c (alpha_expand_prologue): Fix off-by-one bug
804 in the stack probing loop.
805
1e04bfdc
DE
8062005-11-15 David Edelsohn <edelsohn@gnu.org>
807
808 * configure.ac: Use .machine power5 not power5x.
809 * configure: Regenerate.
810
98803730
MS
8112005-11-15 Mike Stump <mrs@apple.com>
812
813 * c-decl.c (lookup_name_two): Add.
814 * c-tree.h (lookup_name_two): Likewise.
815 * c-common.c (handle_cleanup_attribute): Use lookup_name_two instead.
816 * config/darwin-c.c (darwin_pragma_unused): Likewise.
817
cb110f3d
AM
8182005-11-16 Alan Modra <amodra@bigpond.net.au>
819
820 PR rtl-optimization/23392
821 * regrename.c (enum scan_actions) Add mark_access.
822 (scan_actions_name): Ditto.
823 (scan_rtx_reg): Handle mark_access.
824 (scan_rtx_address): Do nothing for mark_access.
825 (build_def_use): Mark source registers in REG_FRAME_RELATED_EXPR
826 and regs in REG_INC notes before closing chains for dead regs.
827 Mark destination regs in REG_FRAME_RELATED_EXPR notes after
828 opening chains for new writes.
829
71157977
DE
8302005-11-15 David Edelsohn <edelsohn@gnu.org>
831
832 * c.opt (ffixed-line-length-none): New.
833
55f9959d
SE
8342005-11-15 Steve Ellcey <sje@cup.hp.com>
835
836 * mklibgcc.in: Change contents of eh_dummy.c.
837
616cf694
DJ
8382005-11-15 Daniel Jacobowitz <dan@codesourcery.com>
839
840 * loop.c (scan_loop): Do not insert temporaries for hard registers.
841
5d7c0add
DJ
8422005-11-15 Daniel Jacobowitz <dan@codesourcery.com>
843
844 * config/arm/lib1funcs.asm (div0) [L_dvmd_lnx]: Call raise instead
845 of making syscalls.
846 * config/arm/linux-eabi.h (CLEAR_INSN_CACHE): Define. Set r7 also.
847
b4f32d07
JH
8482005-11-15 Jan Hubicka <jh@suse.cz>
849
850 * invoke.texi (large-unit-insns): Document.
851 * ipa-inline.c (cgraph_decide_inlining): Use large-unit-insns param.
852 * params.def (large-unit-insns): New param.
853
4a60d778
HPN
8542005-11-15 Hans-Peter Nilsson <hp@axis.com>
855
856 PR target/24869
857 * config/cris/cris.md ("*mov_sidesisf_mem"): Do not match
858 special register for operand 3. Reindent constraints to align
859 them vertically.
860
9719f3b7
DE
8612005-11-14 David Edelsohn <edelsohn@gnu.org>
862
863 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf,
864 -mpopcntb, -mfprnd. Add -mcpu=power5+.
865 * configure.ac: Add test for FP rounding instructions.
866 * configure: Regenerate.
867 * config.in: Regenerate.
868 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
869 _ARCH_PPCSQ, _ARCH_PPCGR, _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X if
870 features enabled.
871 * config/rs6000/rs6000.opt (mfprnd): New.
872 * config/rs6000/rs6000.c (processor_target_table): Add power5+.
873 (POWERPC_MASKS): Add MASK_POPCNTB and MASK_FPRND.
874 * config/rs6000/aix52.h (ASM_CPU_SPEC): Add -mpower5+.
875 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mpower5+.
876 (TARGET_FPRND): New.
877 * config/rs6000/rs6000.md (UNSPEC_FRIM, UNSPEC_FRIN, UNSPEC_FRIP,
878 UNSPEC_FRIZ): New.
879 (btrunc<mode>2): New.
880 (ceil<mode>2): New.
881 (floor<mode>2): New.
882 (round<mode>2): New.
883
56309261
GK
8842005-11-14 Geoffrey Keating <geoffk@apple.com>
885
886 * gcc.c (version_compare_spec_function): Use fatal() rather than
887 abort().
888
889 * config/rs6000/darwin.h (DARWIN_CRT2_SPEC): New.
890 (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2).
891 * config/i386/darwin.h (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2)
892 as empty.
893 * config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly
894 link in crt2.o.
895
896 * config/darwin.h (REAL_LIBGCC_SPEC): Link in shared libgcc depending
897 on -mmacosx-version-min setting.
898
8c5285e1
DN
8992005-11-14 Diego Novillo <dnovillo@redhat.com>
900
901 PR 24840
902 * tree-vrp.c (infer_value_range): Return false if STMT is a
903 block terminator and its basic block has no successors.
904
1f4c2c57
MS
9052005-11-14 Mike Stump <mrs@apple.com>
906
907 * config/i386/i386.c (override_options): -masm=intel isn't
908 supported on darwin.
909 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
910
3bea02d1
JM
9112005-11-15 Joseph S. Myers <joseph@codesourcery.com>
912
913 * crtstuff.c: Undefine gid_t, pid_t, rlim_t, ssize_t, uid_t and
914 vfork after including auto-host.h.
915
46de9b3c
AM
9162005-11-15 Alan Modra <amodra@bigpond.net.au>
917
918 PR rtl-optimization/22002
919 * combine.c (distribute_notes): Detect cases where a reg dies
920 two or more times in a bb, including on the insn we are combining,
921 and place the death note on the correct range.
922
69498c64
DJ
9232005-11-14 Dale Johannesen <dalej@apple.com>
924
925 * expmed.c (store_bit_field): Add offset unconditionally for
926 memory targets.
927 (extract_bit_field): Don't force extzv or extv operand into
928 a register if field is too big.
929
f16fe45f
DJ
9302005-11-14 Daniel Jacobowitz <dan@codesourcery.com>
931
932 * config/arm/arm.c (pic_labelno): New.
933 (arm_load_pic_register): Use an UNSPEC_PIC_LABEL instead of a
934 LABEL_REF. Pass only the labelno to PIC insns.
935 (arm_call_tls_get_addr, legitimize_tls_address): Likewise.
936 (arm_output_addr_const_extra): Handle UNSPEC_PIC_LABEL.
937 * arm.md (UNSPEC_PIC_LABEL): New constant.
938 (pic_add_dot_plus_four, pic_add_dot_plus_eight)
939 (tls_load_dot_plus_eight): Expect a labelno instead of a LABEL_REF.
940 Use the correct label prefix.
941
e66e1c68
DJ
9422005-11-14 Daniel Jacobowitz <dan@codesourcery.com>
943
944 * config/arm/arm.c (legitimize_tls_address): Use correct rtx for
945 REQ_EQUIV note.
946
a112ad75
RE
9472005-11-14 Richard Earnshaw <richard.earnshaw@arm.com>
948
949 * loop-invariant.c: Include tm_p.h.
950 * Makefile.in: Updated.
951
5dcc9605
JDA
9522005-11-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
953
954 * pa.c (store_reg): Revise generation of frame notes in large frames.
955 (set_reg_plus_d): Likewise.
956
e84d8064
AM
9572005-11-13 Andrew MacLeod <amacleod@redhat.com>
958
959 PR tree-optimization/24709
960 * tree-ssa-operands.c (verify_imm_links): Increase limit for infinite
961 loop check.
962
7a9018e4
EB
9632005-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
964
965 * gthr-posix95.h: Remove declaration of pthread_mutexattr_settype
966 and duplicate declaration of pthread_self.
967
51caaefe
EB
9682005-11-13 Eric Botcazou <ebotcazou@adacore.com>
969 Ian Lance Taylor <ian@airs.com>
970
971 PR middle-end/24003
972 * calls.c (expand_call): If TARGET is a MEM and some part of the
973 argument area has been saved, force TARGET to a register.
974
a8bd670c
RL
9752005-11-13 Razya Ladelsky <razya@il.ibm.com>
976
977 * ipa-prop.c (ipa_callsite_compute_param ): Removed obsolete type
978 checking.
979
d3e4cd01
JM
9802005-11-13 Jason Merrill <jason@redhat.com>
981
982 PR c++/22489
983 * dwarf2out.c (gen_subprogram_die): Force a declaration die for
984 lazily declared methods.
985 (force_decl_die): Stop if forcing out the context already make a
986 DIE for the decl.
987 (force_type_die): Likewise.
988
646c38e9
AP
9892005-11-13 Andrew Pinski <pinskia@physics.uc.edu>
990
991 PR middle-end/24820
992 * builtins.c (integer_valued_real_p): Add break in
993 REAL_CST having TREE_OVERFLOW set.
994
85a43114
ZD
9952005-11-13 Zdenek Dvorak <dvorakz@suse.cz>
996
997 * tree-ssa-loop-ivopts.c (get_address_cost): Prevent splitting
998 addressing modes during calculation of costs.
999
4cfe2e75
EB
10002005-11-12 Eric Botcazou <ebotcazou@adacore.com>
1001
1002 * function.c (assign_stack_local_1): Restrict sanity check
1003 on frame size overflow to 32-bit and above platforms.
1004
15883505
HPN
10052005-11-12 Hans-Peter Nilsson <hp@axis.com>
1006
1007 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
1008 * config/cris/cris.c: Include reload.h.
1009 (cris_initial_elimination_offset): New function.
1010 * config/cris/cris-protos.h: (cris_initial_elimination_offset):
1011 Prototype.
1012
6375779a
RG
10132005-11-12 Richard Guenther <rguenther@suse.de>
1014
1015 * gcse.c (find_rtx_in_ldst): Handle NULL pre_ldst_table.
1016
230dedb3
JH
10172005-11-12 Jan Hubicka <jh@suse.cz>
1018
1019 * expr.c (expand_expr_real_1): <MAX_EXPR, MIN_EXPR>: Canonicalize
1020 to compare against 0 when possible.
1021
df259245
JZ
10222005-11-12 Jie Zhang <jie.zhang@analog.com>
1023
1024 * config/bfin/bfin.h (REGISTER_NAMES, SHORT_REGISTER_NAMES,
1025 HIGH_REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
1026 REG_ALLOC_ORDER, enum reg_class): Rearrange I/B/L registers.
1027 * config/bfin/bfin.md: Redefine REG_ constants for I/B/L registers
1028 in the new order.
1029
74e3e54a
HPN
10302005-11-12 Hans-Peter Nilsson <hp@axis.com>
1031
1032 * recog.c (constrain_operands) <case 'g'>: For a match, require
1033 that a non-register matches general_operand when strict >= 0.
1034
b644b211
SB
10352005-11-11 Steven Bosscher <stevenb@suse.de>
1036
1037 * loop-invariant.c (move_loop_invariants): Fix a thinko in the
1038 previous checkin.
1039
6c14b137
DJ
10402005-11-11 Daniel Jacobowitz <dan@codesourcery.com>
1041
1042 * tree-ssa-dse.c (struct address_walk_data, memory_ssa_name_same)
1043 (memory_address_same): New.
1044 (dse_optimize_stmt): Call memory_address_same.
1045
19fe122f
HPN
10462005-11-12 Hans-Peter Nilsson <hp@axis.com>
1047
1048 PR middle-end/24750
1049 * reload.c (find_reloads_address_1) <case TRUNCATE, SIGN_EXTEND,
1050 ZERO_EXTEND>: New cases.
1051
b4f05423
DJ
10522005-11-11 Daniel Jacobowitz <dan@codesourcery.com>
1053
1054 * longlong.h (__clz_tab): Always provide.
1055
a7f4ccb1
SB
10562005-11-11 Steven Bosscher <stevenb@suse.de>
1057
1058 PR 24265
1059 * loop-invariant.c (may_assign_reg_p): Make sure a hard register
1060 can be assigned to.
1061 (find_invariant_insn): Do the cheapest check, may_assign_reg_p,
1062 before check_maybe_invariant.
1063 (move_invariant_reg): Use gen_move_insn instead of replacing
1064 SET_DEST with the temporary for the invariant.
1065 (move_loop_invariants): If checking is enabled, do internal
1066 consistency checks after completing the pass.
1067
d35a40fc
DE
10682005-11-11 David Edelsohn <edelsohn@gnu.org>
1069
1070 PR 24644
1071 * common.opt (Wvolatile-register-var): New.
1072 * varasm.c (make_decl_rtl): Only emit warning when option
1073 specified. Clarify warning message.
1074 * doc/invoke.texi (Wvolatile-register-var): Document new option.
1075
1076 * doc/md.texi (copysign): Document standard named pattern.
1077
51a641fd
JZ
10782005-11-11 Jie Zhang <jie.zhang@analog.com>
1079
1080 * config/bfin/bfin.c (bfin_expand_strmov): Correctly move the trailing
1081 bytes when align is 2.
1082 * config/bfin/bfin.md (rep_movsi, rep_movhi): Make LSETUP be followed
1083 by the first instruction of the loop.
1084
df77f454
JM
10852005-11-11 Jason Merrill <jason@redhat.com>
1086
1087 PR c++/24686
1088 * gimplify.c (gimplify_cleanup_point_expr): Also save and restore
1089 the cleanup list.
1090
301a8f95
ZD
10912005-11-11 Zdenek Dvorak <dvorakz@suse.cz>
1092
1093 PR rtl-optimization/22509
1094 * local-alloc.c (memref_used_between_p): Check whether a function call
1095 could not reference the memref.
1096
8a4c09c8
UW
10972005-11-11 Ulrich Weigand <uweigand@de.ibm.com>
1098
1099 * postreload.c (reload_cse_simplify_operands): Fix bug in sorting
1100 algorithm so as to choose the best, not the worst, alternative.
1101 Reset accumulated register class before processing next alternative.
1102
f2d18690
KK
11032005-11-11 Kaz Kojima <kkojima@gcc.gnu.org>
1104
1105 PR target/24445
1106 * calls.c (expand_call): Copy a return value to a plain register
1107 if needed.
1108
a114b455
AO
11092005-11-10 Alexandre Oliva <aoliva@redhat.com>
1110
1111 PR target/24778
1112 * varasm.c (assemble_name): Recompute name only for transparent
1113 aliases.
1114
f5d7990b
HPN
11152005-11-10 Hans-Peter Nilsson <hp@axis.com>
1116
1117 * tree-ssa-structalias.c (heapvar_lookup): Fix typo: stmt to from.
1118
ae14e67b
JL
11192005-11-04 Jeff Law <law@redhat.com>
1120
1121 PR middle-end/23181
1122 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Do not
1123 perform reassociation if the parent statement will not die as
1124 a result of the optimization.
1125
c900f6aa
DB
11262005-11-10 Daniel Berlin <dberlin@dberlin.org>
1127
1128 * tree-ssa-alias.c (compute_may_aliases): Remove call to
1129 delete_old_heap_vars.
1130 * tree-dfa.c (referenced_var_remove): Remove function.
1131 * tree-ssa.c (init_tree_ssa): Call init_alias_heapvars.
1132 (delete_tree_ssa): Remove call to delete_old_heapvars.
1133 Add call to delete_alias_heapvars.
1134 * tree-flow.h (referenced_var_remove): Remove prototype
1135 (init_alias_heapvars): New prototype.
1136 (delete_alias_heapvars): Ditto.
1137 * Makefile.in (tree-ssa-structalias.o): Add
1138 gt-tree-ssa-structalias.o
1139 (GTFILES): Add tree-ssa-structalias.h and
1140 tree-ssa-structalias.c.
1141 (s-gtype): Add gt-tree-ssa-structalias.h.
1142 * tree-ssa-structalias.c (heapvars): Remove.
1143 (oldheapvars): Remove.
1144 (heapvar_for_stmt): New variable.
1145 (heapvar_lookup): New function.
1146 (heapvar_insert): Ditto.
1147 (get_constraint_for): See if we have an old heapvar
1148 to reuse.
1149 (init_alias_heapvars): New function.
1150 (delete_alias_heapvars): Ditto.
1151 Add include of gt-tree-ssa-structalias.h.
1152
cd9ed4b4
EB
11532005-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
1154
1155 PR middle-end/22127
1156 * calls.c (special_function_p): Set ECF_RETURNS_TWICE for getcontext.
1157
d25f3b83
EB
11582005-11-10 Eric Botcazou <ebotcazou@adacore.com>
1159
1160 * tree.c (int_fits_type_p): Only look at the base type
1161 if it has the same precision as the original type.
1162
6d3e3e6a
JJ
11632005-11-10 Jakub Jelinek <jakub@redhat.com>
1164
1165 PR other/4372
1166 * varasm.c (assemble_alias): Use %q+D in the error
1167 message instead of %J and %qD.
1168
35b5442a
RG
11692005-11-10 Richard Guenther <rguenther@suse.de>
1170
1171 * gcse.c (free_ldst_entry): Only free hashtable if
1172 it exists.
1173
9070115b
EB
11742005-11-09 Eric Botcazou <ebotcazou@adacore.com>
1175
1176 * function.c (assign_stack_local_1): Issue an error message if
1177 the frame size overflows in the signed target arithmetics.
1178
7e854c00
EB
11792005-11-09 Eric Botcazou <ebotcazou@adacore.com>
1180
1181 * tree.c (build_qualified_type): Chain the new type to the original
1182 type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
1183 a POINTER_TYPE or a REFERENCE_TYPE respectively.
1184 (build_pointer_type_for_mode): Only return unqualified types.
1185 (build_reference_type_for_mode): Likewise.
1186
63b5e789
JJ
11872005-11-09 Jakub Jelinek <jakub@redhat.com>
1188
1189 * Makefile.in (gnucompare): Do comparison of all files using one of
1190 the chosen methods and only afterwards decide if just warning should
1191 be issued or comparison failure raised.
1192
c8e90f40
EB
11932005-11-09 Eric Botcazou <ebotcazou@adacore.com>
1194
1195 * ifcvt.c (noce_get_alt_condition): Use prev_nonnote_insn.
1196 (noce_try_abs): Negate if the comparison is reversed.
1197 Look only one instruction backwards for a REG_EQUAL note.
1198
7ef67393
AO
11992005-11-09 Alexandre Oliva <aoliva@redhat.com>
1200
1201 PR other/4372
1202 * gthr-dce.h, gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
1203 gthr-tpf.h: Define __gthrw. For all identifiers that might
1204 be weak, introduce weakrefs or non-weak aliases with __gthrw,
1205 and prefix all uses with __ghtrw.
1206
a0203ca7
AO
12072005-11-09 Alexandre Oliva <aoliva@redhat.com>
1208
1209 PR other/4372
1210 * tree.h (IDENTIFIER_TRANSPARENT_ALIAS): New.
1211 (TREE_DEPRECATED): Adjust comment. Check for a DECL.
1212 * c-common.c (handle_weakref_attribute): New.
1213 (c_common_attribute_table): Add weakref.
1214 * configure.ac (HAVE_GAS_WEAKREF): Check for weakref support
1215 in the assembler.
1216 * configure, config.in: Rebuilt.
1217 * defaults.h (ASM_OUTPUT_WEAKREF): Define if HAVE_GAS_WEAKREF.
1218 * doc/extend.texi: Document weakref attribute.
1219 * varasm.c (ultimate_transparent_alias_target): New
1220 (assemble_name): Use it.
1221 (weak_finish_1): Split out of...
1222 (weak_finish): ... and deal with weakrefs in...
1223 (weakref_targets): ... new list.
1224 (globalize_decl): Clean up weakref_targets.
1225 (do_assemble_alias): Handle weakrefs.
1226 (finish_aliases_1): Do not reject weakrefs to external symbols.
1227 (assemble_alias): Handle weakrefs.
1228
874caa00
RG
12292005-11-09 Richard Guenther <rguenther@suse.de>
1230
1231 PR tree-optimization/24716
1232 * tree-scalar-evolution.c (analyze_evolution_in_loop): Use
1233 t_bool to track results from follow_ssa_edge.
1234
b8176fe4
EB
12352005-11-09 Eric Botcazou <ebotcazou@adacore.com>
1236
1237 * final.c (force_source_line): New global variable.
1238 (final_scan_insn): Set it to true instead of clearing last_filename.
1239 (notice_source_line): Return true if force_source_line is true,
1240 unless source info is absent.
1241
fcc207bf
AP
12422005-11-09 Andrew Pinski <pinskia@physics.uc.edu>
1243
1244 PR c/24644
1245 * dwarf2-out.c (add_name_and_src_coords_attributes): Don't add
1246 a linkage name for a variable if it a register variable.
1247 * c-decl.c (grokdeclarator): Global register variables
1248 should be set as PUBLIC.
1249
fb3712f6
AK
12502005-11-09 Andreas Krebbel <krebbel1@de.ibm.com>
1251
71923548 1252 PR 24624
fb3712f6
AK
1253 * config/s390/s390.c (struct s390_frame_layout): New fields
1254 first_save_gpr_slot and last_save_gpr_slot.
1255 (cfun_grps_save_area_size, s390_frame_info, s390_emit_prologue,
1256 s390_emit_epilogue, s390_initial_elimination_offset): Replaced
1257 first_save_gpr and last_save_gpr with the _slot variants.
1258 (s390_register_info): Calculate first_save_gpr_slot and
1259 last_save_gpr_slot using regs_ever_live.
fb3712f6 1260
297a777d
AK
12612005-11-09 Andreas Krebbel <krebbel1@de.ibm.com>
1262
71923548 1263 PR 24623
297a777d
AK
1264 * config/s390/s390.c (s390_regs_ever_clobbered): Only save live eh regs
1265 for a function containing a landing pad.
297a777d 1266
7221b4a1
AK
12672005-11-09 Andreas Krebbel <krebbel1@de.ibm.com>
1268
3a64e860 1269 PR 24034
7221b4a1
AK
1270 * flow.c (mark_set_1): Handle CLOBBERs like SETs if the register
1271 is live afterwards.
1272
f98ae2ab
BS
12732005-11-08 Bernd Schmidt <bernd.schmidt@analog.com>
1274
1275 * config/bfin/t-bfin-elf (MULTILIB_OPTIONS, MULTILIB_DEFAULTS,
1276 MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): New.
1277
1508cc46
NS
12782005-11-09 Nathan Sidwell <nathan@codesourcery.com>
1279
1280 Add ms2 support
1281 * config/ms1/ms1.md (UNSPEC_BLOCKAGE, UNSPEC_EI, UNSPEC_DI): New
1282 constants.
1283 (call,load,store): New insn types.
1284 (mem_access, branch_access): Adjust reservation conditions.
1285 (define_delay): Adjust condition.
1286 (decrement_and_branch_until_zero): Allow for ms2. Set branch
1287 type.
1288 (*decrement_and_rbanch_until_zero_no_clobber): Allow for ms2.
1289 (*movqi_internal,*movsi_internal,*movsf_internal): Use load,store
1290 insn type.
1291 (call_internal, call_value_internal, return_internal,
1292 return_interrupt_internal, eh_return_internal, indirect_jump,
1293 tablejump): Set call insn type.
1294 (blockage, ei, di): Use appropriate unspec const.
1295 * config/ms1/ms1.c (ms1_flag_delayed_branch): New.
1296 (ms1_get_attr_type): Adjust to give load & store types.
1297 (ms1_final_prescan_insn): Adjust for new insn types. Don't look
1298 backwards past a barrier.
1299 (ms1_override_options): Accept ms2 arch. Copy and reset delayed
1300 branch scheduling.
1301 (struct branch_info, struct label_info): New.
1302 (ms1_labels): New.
1303 (ms1_add_branches, ms1_check_delay_slot, ms1_reorg_hazard): New.
1304 (ms1_machine_reorg): New.
1305 (TARGET_MACHINE_DEPENDENT_REORG): Override.
1306 * config/ms1/crtn.asm: Add nop for ms2 JAL hazard.
1307 * config/ms1/ms1.h (processor_type): Add PROCESSOR_MS2.
1308 (ASM_SPEC, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Add ms2.
1309 (TARGET_MS2): New.
1310
456b8ce5
UB
13112005-11-09 Per Bothner <per@bothner.com>
1312 Uros Bizjak <uros@kss-loka.si>
1313
1314 PR c/24101
1315 * toplev.c (process_options): Initialize debug_hooks early
1316 in case lang_hooks.post_options ends up calling a debug_hook.
1317
f9918968
JJ
13182005-11-08 Jakub Jelinek <jakub@redhat.com>
1319
1320 * dwarf2out.c (multiple_reg_loc_descriptor): Don't assume
1321 DBX_REGISTER_NUMBER being contiguous.
1322
da11c5d2
DN
13232005-11-08 James A. Morrison <phython@gcc.gnu.org>
1324 Diego Novillo <dnovillo@redhat.com>
1325
1326 PR 23046
1327 * tree-vrp.c (register_edge_assert_for): Do not register
1328 always-false predicates.
1329
90b11b98
DP
13302005-11-08 Devang Patel <dpatel@apple.com>
1331
1332 PR tree-optimization/23115
1333 * tree-if-conv.c (find_phi_replacement_condition): Check domninated_by
1334 relation.
1335
a8bfea9c
JM
13362005-11-08 Joseph S. Myers <joseph@codesourcery.com>
1337
1338 * config/rs6000/t-fprules (MULTILIB_MATCHES_FLOAT): Include
1339 -mcpu=440.
1340
973162ec
DB
13412005-11-08 Daniel Berlin <dberlin@dberlin.org>
1342
1343 Fix PR tree-optimization/23382
1344
1345 * tree-ssa-alias.c (compute_may_aliases): Call
1346 delete_old_heap_vars.
1347 * tree-dfa.c (referenced_var_remove): New function.
1348 * tree-ssa.c (delete_tree_ssa): Call delete_old_heap_vars.
1349 * tree-flow.h (referenced_var_remove): Add prototype.
1350 (delete_old_heap_vars): Ditto.
1351 * tree-ssa-structalias.c (heapvars): New variable.
1352 (oldheapvars): Ditto.
1353 (get_constraint_for): Put heap vars on heapvars list.
1354 (delete_old_heap_vars): New function.
1355
831d8bd7
JM
13562005-11-08 Jason Merrill <jason@redhat.com>
1357
1358 * tree.h (CALL_FROM_THUNK_P): Add CALL_EXPR_CHECK.
1359
dfea1f61
UB
13602005-11-08 Uros Bizjak <uros@kss-loka.si>
1361
1362 PR target/19340
1363 * reg-stack.c (reg_to_stack): Update register liveness also
1364 for flag_sched2_use_traces.
1365
2c9c9afd
AM
13662005-11-08 Alan Modra <amodra@bigpond.net.au>
1367
1368 PR target/23704
1369 * config/rs6000/rs6000.c (rs6000_handle_option <OPT_m64>): Don't
1370 override prior explicit -mno-powerpc-gfxopt.
1371
3ab997e8
EB
13722005-11-07 Eric Botcazou <ebotcazou@adacore.com>
1373
1374 * expmed.c (extract_bit_field): Do not use insv/extv/extzv patterns
1375 if the bitsize is zero.
1376 * doc/md.texi (Standard Pattern Names): Document it.
1377
1378 * config/ia64/ia64.c (ia64_pass_by_reference): Delete.
1379 (TARGET_PASS_BY_REFERENCE): Likewise.
1380
a7297856
ILT
13812005-11-07 Ian Lance Taylor <ian@airs.com>
1382
1383 PR rtl-optimization/24683
1384 * config/i386/i386.c (legitimize_pic_address): If constant operand
1385 to PLUS is too large, put it in a register.
1386
04b2be4f
JZ
13872005-11-07 Jie Zhang <jie.zhang@analog.com>
1388
1389 * configure.ac: Enable checking assembler dwarf2 support for bfin
1390 target.
1391 * configure: Regenerate.
1392
d8e1f97b
PB
13932005-11-07 Paolo Bonzini <bonzini@gnu.org>
1394
66180ff3
PB
1395 PR target/24230
1396
1397 * config/rs6000/rs6000.c (easy_vector_splat_const, easy_vector_same,
1398 gen_easy_vector_constant_add_self): Delete.
1399 (vspltis_constant, easy_altivec_constant, gen_easy_altivec_constant):
1400 New.
1401 (output_vec_const_move): Use gen_easy_altivec_constant.
1402 (rs6000_expand_vector_init): Do not emit a set of a VEC_DUPLICATE.
1403 * config/rs6000/predicates.md (easy_vector_constant): Reorganize tests.
1404 (easy_vector_constant_add_self): Rewritten.
1405 * config/rs6000/rs6000-protos.h (easy_vector_splat_const,
1406 easy_vector_same, gen_easy_vector_constant_add_self): Remove prototype.
1407 (easy_altivec_constant, gen_easy_altivec_constant): Add prototype.
1408 * config/rs6000/altivec.md (easy_vector_constant_add_self splitters):
1409 Macroize and adjust for the other changes.
1410
14112005-11-07 Paolo Bonzini <bonzini@gnu.org>
1412
1413 PR c/24599
1414
d8e1f97b
PB
1415 * c-typeck.c (build_c_cast): Try using a shared constant, and see
1416 if TREE_OVERFLOW or TREE_CONSTANT_OVERFLOW really changed.
1417
ab900bfa
JJ
14182005-11-07 Jakub Jelinek <jakub@redhat.com>
1419
1420 PR rtl-optimization/23567
1421 * ifcvt.c (noce_mem_write_may_trap_or_fault_p): New function.
1422 (noce_process_if_block): Don't do any optimizations except
1423 if (cond) x = x; if !set_b and write into orig_x may trap
1424 or fault. Remove the MEM_READONLY_P check.
1425
db3d5328
DN
14262005-11-06 Diego Novillo <dnovillo@redhat.com>
1427
1428 PR 24670
1429 * tree-vrp.c (fix_equivalence_set): New.
1430 (extract_range_from_assert): Call it.
1431
1f2a3c8f
ILT
14322005-11-05 Ian Lance Taylor <ian@airs.com>
1433
1434 PR target/22432
1435 * combine.c (apply_distributive_law): Don't distribute across a
1436 vector mode subreg.
1437
c83eecad
KH
14382005-11-05 Kazu Hirata <kazu@codesourcery.com>
1439
1440 * c-typeck.c, config/i386/netware.h, config/m32c/cond.md,
1441 config/ms1/ms1.h, config/rs6000/predicates.md,
1442 config/s390/s390.c, params.def, postreload-gcse.c,
1443 tree-flow-inline.h, tree-ssa-operands.c, tree-vectorizer.c,
1444 tree-vrp.c, tree.c: Fix comment typos.
1445 * doc/invoke.texi: Fix typos.
1446
304afda6
SP
14472005-11-05 Sebastian Pop <pop@cri.ensmp.fr>
1448
1449 * lambda-code.c (lambda_transform_legal_p): Use DDR_NUM_DIST_VECTS
1450 for testing whether the data_dependence_relation contains distance
1451 vectors. Iterate over all distance vectors of the ddr.
1452 * lambda.h: Define a vec of lambda_vector pointers.
1453 * tree-data-ref.c (dump_data_dependence_relation,
1454 dump_data_dependence_direction): Iterate over all distance and
1455 direction vectors of the ddr.
1456 (initialize_data_dependence_relation): Initialize DDR_DIR_VECTS and
1457 DDR_DIST_VECTS.
1458 (build_classic_dist_vector, build_classic_dir_vector): Push a set
1459 of distance/direction vectors instead of a single one.
1460 * tree-data-ref.h (dir_vects, dist_vects): Replace dir/dist
1461 lambda_vectors with a vec of lambda_vectors.
1462 (DDR_DIR_VECT, DDR_DIST_VECT): Redefined as operations on vec.
1463 (DDR_DIR_VECTS, DDR_DIST_VECTS, DDR_NUM_DIR_VECTS,
1464 DDR_NUM_DIST_VECTS): New.
1465 * tree-loop-linear.c (gather_interchange_stats): Test for the
1466 existence of distance vectors only after having checked that there
1467 is a dependence. Iterate over all distance vectors of the ddr.
1468 (linear_transform_loops): Use dump_data_dependence_relation.
1469 * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Test for
1470 distance vectors using DDR_NUM_DIST_VECTS. Iterate over all the
1471 distance vectors of the ddr.
1472
e989202f
BS
14732005-11-05 Bernd Schmidt <bernd.schmidt@analog.com>
1474
1475 * config/bfin/bfin.c (n_dregs_to_save, n_pregs_to_save,
1476 expand_prologue_reg_save, expand_epilogue_reg_restore): New argument
1477 IS_INTHANDLER; all callers changed.
1478 (n_regs_saved_by_prologue): Take interrupt handler attributes into
1479 account.
1480 (do_link, do_unlink): New argument ALL; all callers changed.
1481 (expand_interrupt_handler_prologue, expand_interrupt_handler_epilogue):
1482 If function isn't leaf, save and restore all registers.
1483 (bfin_function_ok_for_sibcall): Only true if not an interrupt or
1484 exception handler.
1485
50fe876d
JH
14862005-11-05 Jan Hubicka <jh@suse.cz>
1487
95b9a3a5
JH
1488 PR rtl-optimization/23490
1489 * doc/invoke.texi (max-predicted-iterations, max-cse-insns,
1490 max-flow-memory-location): Document.
1491 * flow.c: Include params.h
1492 (MAX_MEM_SET_LIST_LEN): Kill.
1493 (add_to_mem_set_list): Use new param.
1494 * cse.c (cse_basic_block): Replace 1000 by new param.
1495 * params.def (PARAM_MAX_PREDICTED_ITERATIONS, PARAM_MAX_CSE_INSNS,
1496 PARAM_MAX_FLOW_MEMORY_LOCATIONS): New.
1497 * predict.c (predict_loops): Use new param.
1498 * predict.def (MAX_PRED_LOOP_ITERATIONS): Remove.
1499
50fe876d
JH
1500 * ipa-inline.c (cgraph_decide_inlining_of_small_function,
1501 cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
1502 Do not hold memory returned by cgraph_node_name across other call.
1503
5fa3b496
HPN
15042005-11-04 Hans-Peter Nilsson <hp@axis.com>
1505
1506 PR target/23424
1507 * config/cris/predicates.md ("cris_bdap_sign_extend_operand"):
1508 Disable.
1509
84b63876 15102005-11-04 Jeff Law <law@redhat.com>
43f31be5
JL
1511
1512 PR/21883
1513 * doc/invoke.texi: Document max-jump-thread-duplication-stmts PARAM.
1514 * tree-ssa-dom.c: Include params.h.
1515 (thread_across_edge): If there are too many statements in the
1516 target block, then do not thread through it.
1517 * Makefile.in (tree-ssa-dom.o): Depend on $(PARAMS_H).
1518 * params.def (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS): New PARAM.
1519
8b1062b2
DN
15202005-11-03 Diego Novillo <dnovillo@redhat.com>
1521
1522 PR 24627
1523 * tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Use
1524 TODO_update_ssa instead of TODO_update_ssa_no_phi.
1525
47ae9e4c
SP
15262005-11-04 Sebastian Pop <pop@cri.ensmp.fr>
1527
1528 PR/18595
1529 * tree-scalar-evolution.c (instantiate_parameters_1,
1530 instantiate_parameters, resolve_mixers): Compute the size of an
1531 expression to be instantiated and give up the instantiation if the
1532 size exceeds PARAM_SCEV_MAX_EXPR_SIZE.
1533
8d66aeca
RG
15342005-11-04 Richard Guenther <rguenther@suse.de>
1535
1536 * tree-flow.h (ref_contains_indirect_ref): Rename to
1537 array_ref_contains_indirect_ref.
1538 * tree-flow-inline.h (ref_contains_indirect_ref): Likewise.
1539 (array_ref_contains_indirect_ref): Make comment match the code
1540 and vice-versa.
1541 (ref_contains_array_ref): Likewise.
1542 * tree-ssa-structalias.c (find_func_aliases): Remove call to
1543 ref_contains_indirect_ref.
1544 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
1545 Rename calls to ref_contains_indirect_ref.
1546
6137ba90
PB
15472005-11-04 Paul Brook <paul@codesourcery.com>
1548
1549 * config/arm/arm.c (arm_load_pic_register): Pass extra reg to
1550 gen_pic_add_dot_plus_four and gen_pic_add_dot_plus_eight.
1551 (arm_call_tls_get_addr, legitimize_tls_address): Likewise.
1552 * config/arm/arm.md: Use match_operand in peephole input templates
1553 and match_dup in peephole output templates.
1554
e993ba8f
DJ
15552005-11-04 Daniel Jacobowitz <dan@codesourcery.com>
1556
1557 * config/arm/arm.c (arm_init_libfuncs): Use __aeabi_idiv and
1558 __aeabi_uidiv.
1559
74900b5a
MM
15602005-11-04 Mark Mitchell <mark@codesourcery.com>
1561 Daniel Jacobowitz <dan@codesourcery.com>
1562
1563 * longlong.h (add_ssaaaa): Clobber condition code register
1564 in ARM version.
1565 (sub_ddmmss): Likewise.
1566 (umul_ppmm): Likewise.
1567
d3585b76
DJ
15682005-11-04 Daniel Jacobowitz <dan@codesourcery.com>
1569 Paul Brook <paul@codesourcery.com>
1570 Phil Blundell <pb@reciva.com>
1571
1572 * configure.ac: Add test for ARM TLS support.
1573 * configure: Regenerated.
1574 * config/arm/arm-protos.h (legitimize_tls_address)
1575 (arm_tls_referenced_p, tls_mentioned_p)
1576 (arm_output_addr_const_extra): New prototypes.
1577 (thumb_legitimize_pic_address): Delete.
1578 * config/arm/arm.c: Include "gt-arm.h".
1579 (enum tls_reloc): New.
1580 (arm_cannot_copy_insn_p, arm_tls_symbol_p, load_tls_operand)
1581 (pcrel_constant_p, get_tls_get_addr, arm_load_tp)
1582 (arm_call_tls_get_addr, legitimize_tls_address)
1583 (arm_tls_referenced_p, arm_tls_operand_p_1, tls_mentioned_p)
1584 (arm_init_tls_builtins, arm_emit_tls_decoration)
1585 (arm_output_addr_const_extra): New functions.
1586 (TARGET_CANNOT_COPY_INSN_P, TARGET_CANNOT_FORCE_CONST_MEM)
1587 (TARGET_HAVE_TLS): Define.
1588 (target_thread_pointer): New.
1589 (arm_override_options): Handle -mtp=.
1590 (legitimize_pic_address): Ignore UNSPECs.
1591 (arm_legitimate_address_p, thumb_legitimate_address_p): Handle PC
1592 relative symbols.
1593 (arm_legitimize_address, thumb_legitimize_address): Handle TLS.
1594 (tls_get_addr_libfunc): New variable.
1595 (symbol_mentioned_p, label_mentioned_p): Ignore UNSPEC_TLS.
1596 (arm_init_builtins): Call arm_init_tls_builtins.
1597 (arm_expand_builtin): Handle ARM_BUILTIN_THREAD_POINTER.
1598 (arm_encode_section_info): Call default_encode_section_info.
1599 * config/arm/arm.h (TARGET_HARD_TP, TARGET_SOFT_TP): Define.
1600 (enum arm_tp_type): New.
1601 (target_thread_pointer): Add declaration.
1602 (LEGITIMATE_CONSTANT_P): Handle TLS.
1603 (LEGITIMATE_PIC_OPERAND_P): Handle TLS.
1604 (OUTPUT_ADDR_CONST_EXTRA): Call arm_output_addr_const_extra.
1605 (enum arm_builtins): Add ARM_BUILTIN_THREAD_POINTER.
1606 * config/arm/arm.md: Add UNSPEC_TLS.
1607 (movsi): Handle TLS.
1608 (pic_add_dot_plus_four, pic_add_dot_plus_eight): Allow for
1609 non-PIC.
1610 (tls_load_dot_plus_eight): New insn and a peephole to create it.
1611 (load_tp_hard, load_tp_soft): New insns.
1612 * arm.opt: Add -mtp=.
1613 * doc/invoke.texi (ARM Options): Document -mtp.
1614
802b3461
DJ
16152005-11-04 Daniel Jacobowitz <dan@codesourcery.com>
1616
1617 * config/arm/lib1funcs.asm: Don't include "libunwind.S".
1618 * config/arm/libunwind.S: Include "lib1funcs.asm".
1619 * config/arm/t-bpabi (LIB1ASMFUNCS): Remove _unwind.
1620 (LIB2ADDEH): Add libunwind.S.
1621 (LIB2ADDEHDEP): Add lib1funcs.asm.
1622 * mklibgcc.in: Handle asm files in libgcc_eh.a.
1623
a67ec6ab
FXC
16242005-11-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1625
1626 PR fortran/18452
1627 * gcc/c.opt: Add a -lang-fortran option.
1628 * gcc/c-opts.c: Add a lang_fortran flag.
1629 (c_common_init_options): Handling the -lang-fortran option.
1630 (c_common_handle_option): Add a case for Fortran options in
1631 preprocessing. Remove cases for -ffixed-form and
1632 -ffixed-line-length. Add a case for -lang-fortran.
1633
1c2763c9
DE
16342005-11-03 David Edelsohn <edelsohn@gnu.org>
1635
1636 * config/rs6000/rs6000.c: Include params.h
1637 (optimization_options): Set max-grow-copy-bb-insns default to 16.
1638 (bdesc_2arg): Delete vpkuhss and vpkuwss.
1639 * config/rs6000/altivec.md (UNSPEC_VPKUHSS): Delete.
1640 (UNSPEC_VPKUWSS): Delete.
1641 (altivec_vpkuhss): Delete.
1642 (altivec_vpkuwss): Delete.
1643 * config/rs6000/rs6000.md (plus_eqsi): Remove optimize_size from
1644 final condition.
1645 (neg_eq0<mode>): Remove final condition.
1646 (neg_eq<mode>): Remove condition and split-condition.
1647
16fdeb48
AM
16482005-11-04 Alan Modra <amodra@bigpond.net.au>
1649
1650 * config/rs6000/rs6000.c (output_toc): Make "offset" HOST_WIDE_INT.
1651 Use associated print macros.
1652
178b58b5
JM
16532005-11-03 Joseph S. Myers <joseph@codesourcery.com>
1654
1655 PR c++/17964
1656 * diagnostic.c (diagnostic_set_info_translated): New function.
1657 (diagnostic_set_info): Use it. Add comment.
1658 * diagnostic.h (diagnostic_set_info_translated): Declare.
1659
b03e9863
EB
16602005-11-03 Eric Botcazou <ebotcazou@adacore.com>
1661
1662 * dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
1663 On USE_LINKONCE_INDIRECT platforms, build a DECL_ONE_ONLY indirect
1664 reference only if 'public' is true.
1665 (dw2_output_indirect_constant_1): On USE_LINKONCE_INDIRECT platforms,
1666 emit the .hidden directive only if the indirect reference is public.
1667 (dw2_asm_output_encoded_addr_rtx): Add new parameter 'public'.
1668 Pass it to dw2_force_const_mem.
1669 * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): New param 'public'.
1670 * dwarf2out.c (output_cfi): Adjust calls to above function.
1671 (output_call_frame_info): Likewise.
1672 * except.c (output_ttype): Pass TREE_PUBLIC of the type_info object
1673 as 'public' argument to dw2_asm_output_encoded_addr_rtx.
1674
98d59fe6
ZD
16752005-11-03 Zdenek Dvorak <dvorakz@suse.cz>
1676
1677 PR tree-optimization/24483
1678 * tree-ssa-loop-ivopts.c (aff_combination_add_elt): Move rest
1679 field to elts if possible.
1680
ca0b7d18
AP
16812005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1682
1683 PR middle-end/23155
1684 * gimplifier.c (gimplify_expr): Create a temporary for lvalue
1685 CONSTRUCTOR.
1686
03190594
DB
16872005-11-03 Daniel Berlin <dberlin@dberlin.org>
1688
1689 Fix PR tree-optimization/24351
1690
1691 * tree-ssa-structalias.c (struct variable_info): Add
1692 collapsed_into.
1693 (get_varinfo_fc): New function to follow collapsing.
1694 (new_var_info): Set collapsed_to to NULL.
1695 (dump_constraint): Follow collapsing.
1696 (build_constraint_graph): Handle collapsing.
1697 (do_simple_structure_copy): Return false if something bad
1698 happened.
1699 (collapse_rest_of_var): New function.
1700 (do_structure_copy): Collapse if do_simple_structure_copy returns
1701 false.
1702
08330ec2
AP
17032005-11-03 Andrew Pinski <pinskia@physics.uc.edu>
1704
1705 PR middle-end/24589
1706 * gimplify.c (gimplify_expr) <case CONSTRUCTOR>: Add the
1707 expressions to a statement list instead of gimplifying them.
1708
bb11103a
EB
17092005-11-03 Eric Botcazou <ebotcazou@libertysurf.fr>
1710
1711 PR rtl-optimization/23585
1712 * rtlanal.c (rtx_addr_can_trap_p_1) <PLUS>: Return 0 for an address
1713 that can't trap plus a constant integer, if the mode has zero size.
1714
ac746a73
UW
17152005-11-03 Ulrich Weigand <uweigand@de.ibm.com>
1716
1717 PR target/24620
1718 * config/s390/s390.md ("*insv<mode>_reg_imm"): Accept any CONST_INT
1719 as operand 2.
1720 ("*insv<mode>_reg_extimm"): Likewise.
1721
a92c58c2
JM
17222005-11-03 Joseph S. Myers <joseph@codesourcery.com>
1723
1724 PR c/24329
1725 * c-pretty-print.c (pp_c_type_specifier): Do not recurse if
1726 c_common_type_for_mode returns an unnamed type.
1727
150cdc9e
RH
17282005-11-02 Richard Henderson <rth@redhat.com>
1729
1730 PR target/9350
1731 PR target/24374
1732 * dwarf2out.c (dwarf2out_reg_save_reg): New.
1733 (dwarf2out_frame_debug_expr): Return after dwarf_handle_frame_unspec.
1734 * function.c (assign_parms): Use calls.internal_arg_pointer.
1735 (expand_main_function): Remove FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN
1736 code.
1737 * target-def.h (TARGET_INTERNAL_ARG_POINTER): New.
1738 (TARGET_CALLS): Add it.
1739 * target.h (struct gcc_target): Add calls.internal_arg_pointer.
1740 * targhooks.c (default_internal_arg_pointer): New.
1741 * targhooks.h (default_internal_arg_pointer): Declare.
1742 * tree.h (dwarf2out_reg_save_reg): Declare.
1743 * doc/tm.texi (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Remove.
1744 * config/i386/i386.c (dbx_register_map): Add return column.
1745 (dbx64_register_map, svr4_dbx_register_map): Likewise.
1746 (TARGET_INTERNAL_ARG_POINTER, ix86_internal_arg_pointer): New.
1747 (TARGET_DWARF_HANDLE_FRAME_UNSPEC, ix86_dwarf_handle_frame_unspec): New.
1748 (ix86_function_ok_for_sibcall): Disable if force_align_arg_pointer.
1749 (ix86_save_reg): Save force_align_arg_pointer.
1750 (ix86_emit_save_regs): Make regno unsigned.
1751 (ix86_emit_save_regs_using_mov): Likewise.
1752 (ix86_expand_prologue): Handle force_align_arg_pointer.
1753 (ix86_expand_epilogue): Likewise.
1754 * config/i386/i386.h: (dbx_register_map): Update.
1755 (dbx64_register_map, svr4_dbx_register_map): Update.
1756 (struct machine_function): Add force_align_arg_pointer.
1757 * config/i386/i386.md (UNSPEC_REG_SAVE, UNSPEC_DEF_CFA): New.
1758 (UNSPEC_TP, UNSPEC_TLS_GD, UNSPEC_TLS_LD_BASE): Renumber.
1759 (TARGET_PUSH_MEMORY peepholes): Disable if RTX_FRAME_RELATED_P.
1760
fb530c72
JH
17612005-11-02 Jan Hubicka <jh@suse.cz>
1762
1763 PR target/23303
1764 * i386.md: Add peep2 for simplyfing array accesses.
1765
d98ad410
UW
17662005-11-02 Ulrich Weigand <uweigand@de.ibm.com>
1767
1768 PR target/24615
1769 * config/s390/s390-protos.h (s390_decompose_shift_count): Declare.
1770 * config/s390/s390.c (s390_decompose_shift_count): New function.
1771 (s390_extra_constraint_str) ['Y']: Use s390_decompose_shift_count.
1772 (print_shift_count_operand): Use s390_decompose_shift_count.
1773 * config/s390/predicates.md ("setmem_operand", "shift_count_operand"):
1774 Use s390_decompose_shift_count. Do not accept any non-base hard regs.
1775
f55b9465
UW
17762005-11-02 Ulrich Weigand <uweigand@de.ibm.com>
1777
1778 PR target/24600
1779 * loop.c (loop_givs_rescan): Use force_operand to expand
1780 complex GIVs.
1781
b426200a
AP
17822005-11-02 Andrew Pinski <pinskia@physics.uc.edu>
1783
1784 PR 22429
1785 * fold-const.c (build_range_check): Use unsigned when signed
1786 overflow is undefined also. If etype is subtype, make sure that
1787 the subtraction is in the supertype.
1788
525e67c1
RH
17892005-11-02 Richard Henderson <rth@redhat.com>
1790
1791 PR target/24178
1792 * config/alpha/alpha.c (get_aligned_mem): Honor alignment given
1793 by MEM_ALIGN.
1794
745f2a84
RH
17952005-11-01 Richard Henderson <rth@redhat.com>
1796
1797 PR 21518
1798 * loop.c (scan_loop): Do not propagate computations to a hard
1799 register destination with SMALL_REGISTER_CLASSES.
1800
8a82b045
JM
18012005-11-01 Joseph S. Myers <joseph@codesourcery.com>
1802
1803 * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not add extra
1804 costs for MULT inside PLUS or MINUS.
1805
85333688
BW
18062005-11-01 Bob Wilson <bob.wilson@acm.org>
1807
1808 * config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Add a byte of padding.
1809 (TRAMPOLINE_SIZE): Round up to 60.
1810 * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Likewise.
1811
eef25142 18122005-10-31 James E. Wilson <wilson@specifix.com>
e5f9a909 1813
eef25142
JW
1814 PR debug/24444
1815 * dwarf2out.c (convert_cfa_to_loc_list): Put inside DWARF2_UNWIND_INFO
1816 ifdef. Put ifdefs around call in gen_subprogram_die.
1817 (compute_frame_pointer_to_cfa_displacement): Likewise.
1818 (gen_subprogram_die): Restore old code for when DWARF2_UNWIND_INFO is
1819 not defined.
1820
e5f9a909
JW
1821 PR rtl-optimization/17356
1822 * cfgrtl.c (purge_dead_edges): Undo last change. In EDGE_EH code,
1823 add check for CALL_INSN if EDGE_ABRNOMAL_CALL true.
1824
f372b26f
JH
18252005-10-31 Jan Hubicka <jh@suse.cz>
1826
d63f0fe5
JH
1827 PR middle-end/24093
1828 * cgraph.c (cgraph_clone_edge, cgraph_clone_node): Watch negative
1829
d8ff1871
JH
1830 PR target/20928
1831 * i386.c (legitimize_pic_address): Deal with large immediates.
1832
2b557972
JH
1833 PR profile/20815
1834 * coverage.c (coverage_checksum_string): Fix code to stip random seeds
1835 from symbol names while computing checkup.
1836
f372b26f
JH
1837 PR profile/24487
1838 * predict.c (predict_loops): Do not estimate more than
1839 MAX_PRED_LOOP_ITERATIONS in PRED_LOOP_ITERATIONS heuristic.
1840 * predict.def (MAX_PRED_LOOP_ITERATIONS): Define.
1841
a56b5394
AM
18422005-10-31 Andrew MacLeod <amacleod@redhat.com>
1843
1844 PR tree-optimization/19097
1845 * tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.
1846
cd7ec127
R
18472005-10-31 J"orn Rennecke <joern.rennecke@st.com>
1848
1849 * optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
1850
047f4b2c
AP
18512005-10-31 Andrew Pinski <pinskia@physics.uc.edu>
1852
1853 PR middle-end/23492
1854 * tree-inline.c (setup_one_parameter): If the init_stmt
1855 is NULL, don't insert the statement.
1856
5e13fdf7
JH
18572005-10-30 Jan Hubicka <jh@suse.cz>
1858
1859 PR tree-optimization/24172
1860 * tree-inline.c (copy_body_r): Unshare the substituted value first.
1861
e8299ec2
HPN
18622005-10-30 Hans-Peter Nilsson <hp@bitrange.com>
1863
1864 * config/mmix/mmix.c (mmix_intval): Correct handling of DFmode
1865 constants for hosts with long != 32 bits.
1866
7e1b44bb
AK
18672005-10-28 Andreas Krebbel <krebbel1@de.ibm.com>
1868
1869 PR middle-end/24093
1870 * ipa-inline.c (craph_decide_recursive_inlining): Fix return value.
1871
ed70cedf
AH
18722005-10-28 Aldy Hernandez <aldyh@redhat.com>
1873
1874 * config/ms1/ms1.h (TARGET_MS1_64_001): New.
1875 (TARGET_MS1_16_002): New.
1876 (TARGET_MS1_16_003): New.
1877
1878 * config/ms1/ms1.md ("decrement_and_branch_until_zero"): Rewrite.
1879 ("*decrement_and_branch_until_zero_no_clobber"): New.
1880 Add corresponding splitter for decrement_and_branch_until_zero
1881 instruction.
1882 Key all decrement_and_branch_until_zero patterns off of
1883 TARGET_MS1_16_003.
1884
f35a986c
AP
18852005-10-28 Andrew Pinski <pinskia@physics.uc.edu>
1886
1887 PR middle-end/24362
1888 * tree-complex.c (extract_component): Treat RESULT_DECL
1889 like the rest of the decls.
1890
694a2f6e
EB
18912005-10-25 Eric Botcazou <ebotcazou@adacore.com>
1892
1893 * config/ia64/ia64.c (ia64_output_function_profiler): Emit an
1894 indirect call to _mcount if the function needs a static chain.
1895
43f237b4
EB
18962005-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
1897 Caroline Tice <ctice@apple.com>
1898
1899 PR rtl-optimization/24460
1900 * dwarf2out.c (have_switched_text_sections): New boolean variable.
1901 (dwarf2out_switch_text_section): Set it to true instead of
1902 incrementing separate_line_info_table_in_use.
1903 (output_loc_list): Additionally test have_switched_text_sections.
1904 (output_ranges): Likewise.
1905 (dwarf2out_finish): Likewise.
1906 * varasm.c (assemble_start_function): Do not call
1907 insert_section_boundary_note.
1908 (assemble_end_function): If flag_reorder_blocks_and_partition,
1909 switch to the function's section before emitting the .size directive.
1910 * bb-reorder.c (insert_section_boundary_note): Staticify.
1911 (rest_of_handle_reorder_blocks): Call insert_section_boundary_note.
1912 * output.h (insert_section_boundary_note): Delete.
1913
02f8406b
AP
19142005-10-24 Andrew Pinski <pinskia@physics.uc.edu>
1915
1916 PR c/23103
1917 * c-format.c (check_format_types): Use lang_hooks.types_compatible_p
1918 instead of pointer equality when comparing types.
1919
8c4b4e67
JW
19202005-10-24 James E. Wilson <wilson@specifix.com>
1921
1922 * sched-deps.c (flush_pending_lists): Pass 1 not 0 in first two
1923 add_dependence_list_and_free calls.
1924
7ffc0411
SB
19252005-10-24 Steven Bosscher <stevenb@suse.de>
1926
c4289f24
SB
1927 * contrib.texi: Add the names of the LLNL folks who donated
1928 Cray pointer support for gfortran.
1929
19302005-10-24 Steven Bosscher <stevenb@suse.de>
1931
1932 PR tree-optimization/24225
7ffc0411
SB
1933 * profile.c (branch_prob): Look from end to start through a
1934 basic block when looking for a locus.
1935
77c4f044
RH
19362005-10-24 Richard Henderson <rth@redhat.com>
1937
1938 * pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
1939 parallel.
1940 (hppa_expand_prologue): Likewise.
1941
3674b34d
JDA
19422005-10-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1943
1944 * pa-linux.h (NO_PROFILE_COUNTERS): Delete define.
1945 (NO_DEFERRED_PROFILE_COUNTERS): Define.
1946 * pa.h (NO_PROFILE_COUNTERS): Define.
1947 * pa.c (NO_DEFERRED_PROFILE_COUNTERS): Define if not defined.
1948 (funcdef_nos): New vector to hold label numbers of deferred profile
1949 counters.
1950 (output_deferred_profile_counters): New function.
1951 (hppa_profile_hook): Push label number onto funcdef_nos.
1952 (pa_hpux_file_end): Call output_deferred_profile_counters if
1953 NO_DEFERRED_PROFILE_COUNTERS is false.
7aaf280e
JDA
1954
1955 * pa-protos.h (get_deferred_plabel): New prototype.
1956 * pa.c (get_plabel): Rename to get_deferred_plabel. Return plabel.
1957 Make global.
1958 (output_call): Adjust calls.
1959
4fed8f8f
AM
19602005-10-24 Alan Modra <amodra@bigpond.net.au>
1961
1962 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Explain
1963 peculiarity of GOT/TOC section usage.
1964
2a694ec8
AP
19652005-10-23 Andrew Pinski <pinskia@physics.uc.edu>
1966
1967 PR objc/24435
1968 * c-common.c (constant_string_class_name): Add documentation.
1969
03414545
KK
19702005-10-23 Kaz Kojima <kkojima@gcc.gnu.org>
1971
1972 PR target/23832
1973 * recog.c (peephole2_optimize): Increment peep2_current_count
1974 only when the slot is empty.
1975
8a36d7d1
JDA
19762005-10-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1977
1978 PR ada/23957
1979 * except.c (output_function_exception_table): Call
1980 assemble_external_libcall if we need a personality function.
1981
0e714a54
EB
19822005-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
1983
1984 PR rtl-optimization/24460
1985 * bb-reorder.c (fix_crossing_unconditional_branches): Do not
1986 set the basic block for barriers.
1987
7b39f38b
JJ
19882005-10-21 Janis Johnson <janis187@us.ibm.com>
1989
1990 * var-tracking.c (vt_initialize): Initialize post.
1991
2c47f875
DP
19922005-10-21 Devang Patel <dpatel@apple.com>
1993
1994 PR/24220
1995 * c-common.c (vector_types_convertible_p): Check vector element type.
1996
6058b2fa
KK
19972005-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
1998
1999 * config/sh/sh.c (prepare_move_operands): Handle the address
2000 constant which is a tls symbolic address plus a constant.
2001
de19a50e
AP
20022005-10-21 Andrew Pinski <pinskia@physics.uc.edu>
2003
2004 PR driver/24473
2005 * gcc.c (main): Use the correct counter for erroring out
2006 about mulitple files.
2007
972f427b
AM
20082005-10-21 Alan Modra <amodra@bigpond.net.au>
2009
2010 PR target/24465
2011 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Always
2012 use r2 for 64-bit tls .got access.
2013
97191ef9
PB
20142005-10-21 Paolo Bonzini <bonzini@gnu.org>
2015
2016 * dojump.c (do_jump): Handle side-effecting TRUTH_AND_EXPR and
2017 TRUTH_OR_EXPR.
2018
7802250d
SB
20192005-10-20 Steven Bosscher <stevenb@suse.de>
2020
7ffc0411 2021 PR tree-optimization/24307
7802250d
SB
2022 * tree-cfg.c (tree_find_edge_insert_loc): Handle naked RETURN_EXPR.
2023
cdcba1ea
AO
20242005-10-20 Alexandre Oliva <aoliva@redhat.com>
2025
2026 PR middle-end/24295
2027 * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Mark
2028 alias targets.
2029 * varasm.c (find_decl_and_mark_needed): After cgraph global info
2030 is ready, stop marking functions, but still mark variables.
2031
9ca4afb9
RG
20322005-10-20 Richard Guenther <rguenther@suse.de>
2033
2034 PR c++/24439
2035 * fold-const.c (invert_truthvalue): Handle COND_EXPR with
2036 void type operands.
2037
2358ff91
EB
20382005-10-20 Eric Botcazou <ebotcazou@libertysurf.fr>
2039
2040 PR rtl-optimization/23585
2041 * rtlanal.c (rtx_addr_can_trap_p_1): New predicate extracted from...
2042 (rtx_addr_can_trap_p): ... here. Invoke rtx_addr_can_trap_p_1.
2043 (may_trap_p_1): New predicate extracted from...
2044 (may_trap_p): ... here. Invoke may_trap_p_1.
2045 (may_trap_or_fault_p): New predicate.
2046 * rtl.h (may_trap_or_fault_p): Declare it.
2047 * reorg.c (steal_delay_list_from_target): Use may_trap_or_fault_p
2048 instead of may_trap_p.
2049 (steal_delay_list_from_fallthrough): Likewise.
2050 (fill_simple_delay_slots): Likewise.
2051 (fill_slots_from_thread): Likewise.
2052 * function.c (pad_to_arg_alignment): Rework comment about
2053 SPARC_STACK_BOUNDARY_HACK.
2054 * config/sparc/sparc.h: Likewise.
2055
6fa05db6
AS
20562005-10-19 Adrian Straetling <straetling@de.ibm.com>
2057
2058 * config/s390/s390.c (s390_expand_insv): New.
2059 * config/s390/s390-protos.h (s390_expand_insv): Declare.
2060 * config/s390/s390.md ("UNSPEC_SETHIGH"): Rename to "UNSPEC_ICM".
2061 ("icm_hi"): Remove mode attribute.
2062 ("*sethigh<mode><mode>"): Rewrite to "sethighpart<mode>".
2063 Adjust all uses.
2064 ("*extracthi", "*extractqi"): Remove.
2065 (extv<mode>", "*extzv<mode>"): New.
2066 ("insv", "*insv<mode>_mem_reg", "*insvdi_mem_reghigh",
2067 "*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): New.
2068
a1b23b2f
UW
20692005-10-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2070
2071 * cfgexpand.c (discover_nonconstant_array_refs_r,
2072 discover_nonconstant_array_refs): Move here from tree-outof-ssa.c
2073 (tree_expand_cfg): Call discover_nonconstant_array_refs.
2074 * tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
2075 discover_nonconstant_array_refs.
2076
f95f80d1
SB
20772005-10-19 Steven Bosscher <stevenb@suse.de>
2078
2079 PR c/23228
2080 * c-decl.c (pop_scope): Don't warn about an unused variable
2081 if it is marked with TREE_NO_WARNING.
2082 (duplicate_decls): Set TREE_NO_WARNING if olddecl and newdecl
2083 somenow mismatch and olddecl is to be replaced.
2084
e48050bd
EB
20852005-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
2086
2087 PR middle-end/23199
2088 * cfgrtl.c (safe_insert_insn_on_edge): Use can_copy_p to detect
2089 whether registers live on the edge can be saved/restored.
2090
0bf72672
KK
20912005-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
2092
2093 * config/sh/sh.c (fixup_mova): Skip notes.
2094
7633f08e
UW
20952005-10-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2096
2097 * config/s390/s390-protos.h (s390_hard_regno_rename_ok): Add prototype.
2098 * config/s390/s390.c (s390_hard_regno_rename_ok): New function.
2099 (s390_can_eliminate): Handle BASE_REGNUM elimination.
2100 (s390_initial_elimination_offset): Likewise.
2101 (s390_conditional_register_usage): BASE_REGNUM is no longer a fixed
2102 register on TARGET_ZARCH targets.
2103 * config/s390/s390.h (HARD_REGNO_RENAME_OK): Define
2104 (INITIAL_FRAME_POINTER_OFFSET): Remove.
2105 (REG_ALLOC_ORDER): Move BASE_REGNUM lower.
2106 (ELIMINABLE_REGS): Add BASE_REGNUM elimination rule.
2107
da48f5ec
AK
21082005-10-19 Andreas Krebbel <krebbel1@de.ibm.com>
2109
2110 * config/s390/s390.md: Comment describing output modifiers updated.
2111 * config/s390/s390.c (print_operand): Likewise.
2112
f695eccf
AK
21132005-10-19 Andreas Krebbel <krebbel1@de.ibm.com>
2114
2115 * config/s390/s390.c (override_options): Added check for -mstack-size
2116 64k limitation.
2117 * doc/invoke.texi: Mention that limit in the documenation.
2118
d1f36c51
PB
21192005-10-18 Paolo Bonzini <bonzini@gnu.org>
2120
2121 PR #19672
2122 * dojump.c (do_jump): Handle TRUTH_AND_EXPR and TRUTH_OR_EXPR here.
2123
b3e2e29c
DB
21242005-10-18 Daniel Berlin <dberlin@dberlin.org>
2125
2126 Fix PR tree-optimization/24231
2127
2128 * tree-ssa-pre.c (try_look_through_load): Skip abnormal phi names
2129 (compute_avail): Ditto.
2130
d1f36c51 21312005-10-18 Richard Henderson <rth@redhat.com>
fd4aca96
RH
2132
2133 PR target/24428
2134 * config/i386/i386.c (legitimate_constant_p): Check
2135 SYMBOL_REF_TLS_MODEL directly. Don't fallthru to SYMBOL_REF
2136 if LABEL_REF.
2137 (legitimate_pic_operand_p): Test SYMBOL_REF_TLS_MODEL directly.
2138 (legitimate_pic_address_disp_p): Reorg CONST checking to make
2139 sure SYMBOL_REF_TLS_MODEL is tested. Test SYMBOL_REF_TLS_MODEL
2140 directly.
2141 (print_operand_address): Likewise.
2142 * config/i386/predicates.md (x86_64_immediate_operand): Test
2143 SYMBOL_REF_TLS_MODEL properly inside CONST.
2144 (x86_64_zext_immediate_operand): Likewise.
2145 (global_dynamic_symbolic_operand, local_dynamic_symbolic_operand,
2146 initial_exec_symbolic_operand, local_exec_symbolic_operand): Remove.
2147 * config/i386/i386-protos.h: Remove predicates.md entries.
2148
f4df3ce5
DS
21492005-10-18 Danny Smith <dannysmith@users.sourceforge.net>
2150
2151 * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
2152 Check that elements of TYPE_METHODS are FUNCTION_DECLs.
2153
1630e763
AS
21542005-10-17 Alexey Starovoytov <alexey.starovoytov@sun.com>
2155 Ian Lance Taylor <ian@airs.com>
2156
2157 PR middle-end/23522
2158 * fold-const.c (fold_widened_comparison): Do not allow range based
2159 constant folding when right operand cannot be unwidened.
2160
74395677
RH
21612005-10-17 Richard Henderson <rth@redhat.com>
2162
2163 * builtins.c (expand_builtin_synchronize): Build a new-style asm
2164 with a memory clobber.
2165
1b2914a0
JW
21662005-10-17 James E Wilson <wilson@specifix.com>
2167
2168 PR rtl-optimization/17356
2169 * cfgrtl.c (purge_dead_edges): Check for EDGE_ABNORMAL_CALL before
2170 checking for EDGE_EH.
2171
7617ec02
EB
21722005-10-17 Eric Botcazou <ebotcazou@libertysurf.fr>
2173
2174 * config/sparc/sparc.c (function_arg_slotno): In 64-bit mode, align
2175 the slot on an even boundary for any type with 16-byte alignment.
2176
be3914df
HPN
21772005-10-17 Hans-Peter Nilsson <hp@axis.com>
2178
2179 PR target/23424
2180 * md.texi (Modifiers) <%>: Clarify that % doesn't work
2181 after register allocation.
2182
b3fdec9e
DD
21832005-10-17 DJ Delorie <dj@redhat.com>
2184
2185 * config/m32c/m32c.c (m32c_pushm_popm): Don't mark epilogue insns
2186 as frame related.
2187
dae1bf4d
NS
21882005-10-17 Nathan Sidwell <nathan@codesourcery.com>
2189
2190 PR c++/22551
2191 * c-common.c (c_add_case_label): Revert my 2005-10-14 clearing of
2192 overflow flags.
2193
e13602df
KK
21942005-10-17 Kaz Kojima <kkojima@gcc.gnu.org>
2195
2196 * config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_schedule_insns
2197 to 2 if it's already non-zero.
2198 (OVERRIDE_OPTIONS): Clear flag_schedule_insns if flag_exceptions
2199 is set and warn about it if flag_schedule_insns is 1.
2200
a95c63d8
PW
22012005-10-17 Paul Woegerer <paul.woegerer@nsc.com>
2202
2203 * config/crx/crx.md: Compare-and-branch instructions need to
2204 invalidate CC.
2205
99523994
UB
22062005-10-17 Uros Bizjak <uros@kss-loka.si>
2207
2208 PR target/24315
2209 * config/i386/i386.md (*pushdi2_rex64 splitter)
2210 (*movdi_1_rex64 splitter, *ashldi3_1 splitter)
2211 (*ashrdi3_1 splitter, *lshrdi3_1 splitter): Delay splitting after
2212 flow2 pass only when (optimize > 0 && flag_peephole2).
2213
af41c57d
AP
22142005-10-16 Andrew Pinski <pinskia@physics.uc.edu>
2215
2216 PR driver/22544
2217 * gcc.c (have_c): New static variable.
2218 (have_o): Likewise.
2219 (process_command): Remove declation of have_c.
2220 Set have_o to 1 when handling -o.
2221 (main): Add a fatel error if there are multiple
2222 files specified and -o and -c/-S is passed witout
2223 -combine or multiple languages.
2224
d938e461
DB
22252005-10-16 Daniel Berlin <dberlin@dberlin.org>
2226
2227 Fix PR tree-optimization/22444
2228 * tree-ssa-alias.c (compute_flow_insensitive_aliasing):
2229 Assert that we don't hit something with subvars.
2230 (setup_pointers_and_addressables): Don't add things with subvars,
2231 because we'll already process the subvars for aliasing purposes.
2232
2de0aa52
HPN
22332005-10-16 Hans-Peter Nilsson <hp@axis.com>
2234
1165f377
HPN
2235 PR target/23424
2236 * config/cris/cris.md ("*mov_side<mode>", "*mov_sidesisf")
2237 ("*mov_side<mode>_mem", "*mov_sidesisf_mem", "*clear_side<mode>")
2238 ("*ext_sideqihi", "*ext_side<mode>si", "*op_side<mode>")
2239 ("*op_swap_side<mode>", "*extopqihi_side", "*extop<mode>si_side")
2240 ("*extopqihi_swap_side", "*extop<mode>si_swap_side"): Have separate,
2241 swapped, alternatives for the R constraint.
2242
b100540d 2243 PR middle-end/24341
2de0aa52
HPN
2244 * builtins.c (get_builtin_sync_mode): Make unlimited
2245 mode_for_size request.
2246
a9f7c570
RH
22472005-10-15 Richard Henderson <rth@redhat.com>
2248
2249 * gimplify.c (gimplify_var_or_parm_decl): Split out from ...
2250 (gimplify_expr): ... here.
2251 (gimplify_compound_lval): Use it in initial scan loop. Allow
2252 fb_lvalue in base expression.
2253
1e188d1e
RH
22542005-10-15 Richard Henderson <rth@redhat.com>
2255
2256 PR 23714
2257 * builtins.c (expand_builtin_trap): Export.
2258 * expr.h (expand_builtin_trap): Declare.
2259 * expr.c (expand_assignment): Emit a trap for integral offsets
2260 from registers that weren't reduced to bitpos.
2261
2262 * tree-cfg.c (mark_array_ref_addressable_1): Remove.
2263 (mark_array_ref_addressable): Remove.
2264 * tree-flow.h (mark_array_ref_addressable): Remove.
2265 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Don't call it.
2266
b27cedc6
JW
22672005-10-15 James E Wilson <wilson@specifix.com>
2268
2269 PR target/24232
2270 * sched-deps.c (add_dependence_list): New arg UNCOND. Fix all callers.
2271 (add_dependence_list_and_free): Likewise.
2272 (sched_analyze_2, case MEM): Delete sched_insns_conditions_mutex_p
2273 call.
2274
2d33a2ef
DN
22752005-10-15 Diego Novillo <dnovillo@redhat.com>
2276
2277 PR 23141
2278 PR 23142
2279 * tree-vrp.c (vrp_meet): Fix the intersection of equivalence
2280 sets VR0->EQUIV and VR1->EQUIV when meeting a range and an
2281 anti-range.
2282 (vrp_visit_phi_node): Only prevent infinite iterations when
2283 the previous result and the new result are both VR_RANGEs.
2284
7b71de26
RM
22852005-10-15 Ranjit Mathew <rmathew@gcc.gnu.org>
2286
2287 * tree-into-ssa.c (mark_def_sites): Correct minor typo in
2288 function comment.
2289
24871154
VR
22902005-10-14 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2291
2292 PR c/23439
2293 * c-parser.c (c_parser_for_statement): Use location of RID_FOR
2294 to initialize loc.
2295
d2c979ef
PB
22962005-10-14 Per Bothner <per@bothner.com>
2297
2298 PR preprocessor/21250
2299 * c-ppoutput.c (print_line): Print internal line 0 as 1.
2300
c0e22534
NS
23012005-10-14 Nathan Sidwell <nathan@codesourcery.com>
2302
2303 PR c++/22551
2304 * c-common.c (c_add_case_label): Clear LOW_VALUE and HIGH_VALUE's
2305 overflow flags. Refactor some conditionals.
2306
9da32d63
AP
23072005-10-13 Andrew Pinski <pinskia@physics.uc.edu>
2308
2309 PR tree-opt/21304
2310 * tree-dfa.c (add_referenced_var): Only look at decls which
2311 have TREE_CONSTANT or TREE_READONLY set instead of if
2312 !TREE_PUBLIC or !TREE_CONSTANT.
2313
47530dd9
JW
23142005-10-13 James E Wilson <wilson@specifix.com>
2315
acd1a829 2316 * doc/invoke.texi: For -x, add f95-cpp-input.
47530dd9
JW
2317 * doc/install.texi: For --enable-languages doc, change f95 to fortran.
2318
b2ebf913
SP
23192005-10-12 Sebastian Pop <pop@cri.ensmp.fr>
2320
2321 PR tree-optimization/24262
2322 * tree-data-ref.c (analyze_offset_expr): Check that init is invariant
2323 in loop all the time.
2324
52dd234b
RH
23252005-10-12 Richard Henderson <rth@redhat.com>
2326
2327 PR c/24255
2328 * tree.h (DECL_TRANSPARENT_UNION): Remove.
2329 * function.c (assign_parm_find_data_types): Don't support it.
2330 * print-tree.c (print_node): Likewise.
2331 * c-common.c (handle_transparent_union_attribute): Likewise.
2332 Use build_duplicate_type.
2333 * tree-inline.c (remap_type_1): Split out of remap_type;
2334 properly remap aggregate fields.
2335 (build_duplicate_type): New.
2336 * doc/extend.texi (Variable Attributes): Remove documentation
2337 for transparent_union.
2338
6deb0339
EB
23392005-10-12 Eric Botcazou <ebotcazou@libertysurf.fr>
2340
2341 PR target/24284
2342 * config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
2343 (gen_stack_pointer_dec): Likewise.
2344
43d9ad1d
DS
23452005-10-12 Danny Smith <dannysmith@users.sourceforge.net>
2346
2347 PR middle-end/21275
2348 PR middle-end/21766
2349 * target.h (struct gcc_target): Add valid_dllimport_attribute_p
2350 target hook.
2351 (struct cxx): Add adjust_class_at_definition target hook.
2352 * target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
2353 defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
2354 (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to
2355 hook_void_tree. Add to TARGET_CXX.
2356 * tree.h (struct decl_with_vis): Rename non_addr_const_p field to
2357 dllimport_flag.
2358 (DECL_NON_ADDR_CONSTANT_P): Replace with DECL_DLLIMPORT_P macro.
2359 * tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
2360 instead of attribute. Check for dllexport override. Warn if
2361 inconsistent dll linkage. Don't lose old dllimport if decl has
2362 had address referenced. Tweak lookup of dllimport atribute.
2363 (handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
2364 for target specific rules. Don't add dllimport attribute if
2365 DECL_DECLARED_INLINE_P. Set DECL_DLLIMPORT_P when adding
2366 dllimport attribute.
2367 (staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
2368 * varasm.c (initializer_constant_valid_p): Replace
2369 DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P
2370
2371 PR target/21801
2372 PR target/23589
2373 * config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to
2374 'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
2375 (i[34567]86-*-mingw32*): Likewise.
2376
2377 * doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
2378 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.
2379
2380 * config/i386/winnt.c (i386_pe_dllimport_p): Factor out
2381 C++-specific code. Change return value to bool.
2382 (i386_pe_dllimport_p): Likewise.
2383 (associated_type): Simplify and make language-independent
2384 (i386_pe_encode_section_info): Replace override of ambiguous
2385 dllimport symbol refs with a gcc_assert.
2386 (i386_pe_valid_dllimport_attribute_p): Define.
2387 * config/i386/winnt-cxx.c: New file. Define C++ versions of
2388 i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
2389 i386_pe_adjust_class_at_definition.
2390 * config/i386/winnt-stubs.c: New file. Define stub versions of
2391 lang-specific functions.
2392 * config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
2393 i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
2394 i386_pe_adjust_class_at_definition.
2395 (i386_pe_valid_dllimport_attribute_p): Declare.
2396 * config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
2397 (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
2398 * config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.
2399
2400 PR target/19704
2401 * config/i386/i386.c (ix86_function_ok_for_sibcall): Replace test for
2402 dllimport attribute with test of DECL_DLLIMPORT_P.
2403
8adac335
AS
24042005-10-12 Adrian Straetling <straetling@de.ibm.com>
2405
2406 * combine.c (make_extraction): Correct offset computation.
2407
9f92185e
HPN
24082005-10-12 Hans-Peter Nilsson <hp@axis.com>
2409
2410 * config/cris/t-linux (LIMITS_H_TEST): Define.
2411
a4d25453
RH
24122005-10-12 Richard Henderson <rth@redhat.com>
2413
2414 PR rtl-opt/23324
2415 * cfgexpand.c (add_alias_set_conflicts): Use objects_must_conflict_p.
2416
c8c7ed52
RG
24172005-10-12 Richard Guenther <rguenther@suse.de>
2418
2419 * Makefile.in (CGRAPH_H): Depend on $(TREE_H).
2420
dbe91deb
NS
24212005-10-12 Nathan Sidwell <nathan@codesourcery.com>
2422
2423 PR c++/19964
2424 * stor-layout.c (place_field): Set DECL_FIELD_OFFSET and
2425 DECL_FIELD_BIT_OFFSET of FIELD_DECLs, even if they have an invalid
2426 type.
2427
e2953e41
RG
24282005-10-12 Richard Guenther <rguenther@suse.de>
2429
2430 PR c++/23799
2431 * varasm.c (output_constant): Correct typo from previous
2432 patch by DJ.
2433
4bbae09f
ILT
24342005-10-11 Ian Lance Taylor <ian@airs.com>
2435
2436 PR rtl-optimization/13931
2437 * combine.c: Revert patch of 2003-05-14, and:
2438 (try_combine): Only set elim_i1 and elim_i2 if the destination is
2439 completely killed in the appropriate insn.
2440 (distribute_notes): Don't skip multiple hard register test for
2441 elim_i1 and elim_i2.
2442
0257e383
RH
24432005-10-11 Richard Henderson <rth@redhat.com>
2444
2445 PR c/24255
2446 * c-typeck.c (convert_for_assignment): Use build_constructor_single
2447 to initialize a transparent union instead of a nop_expr.
2448
49896738
RH
24492005-10-11 Richard Henderson <rth@redhat.com>
2450
a4176272
RH
2451 * Makefile.in (tree-ssa-dce.o): Depend on SCEV_H.
2452 * tree-ssa-dce.c: Include tree-scalar-evolution.h.
2453 (tree_ssa_dce_loop): Call scev_reset.
2454
49896738
RH
2455 PR tree-opt/24300
2456 * Makefile.in (tree-ssa-dce.o): Depend on CFGLOOP_H.
2457 * tree-ssa-dce.c: Include cfgloop.h.
2458 (tree_ssa_dce_loop, pass_dce_loop): New.
2459 * tree-pass.h (pass_dce_loop): Declare it.
2460 * passes.c (init_optimization_passes): Use it.
2461
5e8b5b08
EB
24622005-10-11 Eric Botcazou <ebotcazou@libertysurf.fr>
2463
2464 PR middle-end/24263
2465 * convert.c (convert_to_real): Revert 2005-10-05 patch.
2466 Only apply the optimization for rounding builtins if the inner
2467 cast is also an extension.
2468
386cfa6f
AP
24692005-10-11 Andrew Pinski <pinskia@physics.uc.edu>
2470
2471 PR tree-opt/23946
2472 * tree-ssa-ccp.c (execute_fold_all_builtins): Call
2473 mark_new_vars_to_rename instead of update_stmt.
2474
ace0544a
BS
24752005-10-11 Bernd Schmidt <bernd.schmidt@analog.com>
2476
2477 * config/bfin/crti.s (__init, __fini): Renamed from _init, _fini.
2478
eef90962
JJ
24792005-10-11 Jakub Jelinek <jakub@redhat.com>
2480
2481 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use mmxadd type
2482 for setting MMX register to 0 rather than mmx.
2483
dbad5e72
SE
24842005-10-10 Steve Ellcey <sje@cup.hp.com>
2485
2486 PR target/12098
2487 * configure.ac: Move gas check from mips specific case to common case.
2488 Do check for GNU as for mips*-*-* and *-*-hpux* targets.
2489 * configure: Regenerate
2490 * doc/install.texi: Update.
2491
542155d7
EB
24922005-10-10 Eric Botcazou <ebotcazou@libertysurf.fr>
2493
2494 PR target/24284
2495 * config/sparc/sparc.c (sparc_expand_prologue): Remove bogus PATTERN.
2496
a92dd235
MR
24972005-10-10 Maciej W. Rozycki <macro@linux-mips.org>
2498
2499 * gcc.c (do_spec_1): Accept numeric characters in file name
2500 suffixes.
2501
e0b92319
NC
25022005-10-10 Nick Clifton <nickc@redhat.com>
2503
2504 * config/arm/arm.c: Remove extraneous whitespace. Remove comment
2505 describing the deleted arm_gen_rotated_half_load function.
2506
a5f5c6be
KK
25072005-10-09 Kaz Kojima <kkojima@gcc.gnu.org>
2508
2509 * config/sh/sh.c (emit_fpu_switch): Set TREE_PUBLIC for
2510 __fpscr_values.
2511
d399ae67
DJ
25122005-10-09 Daniel Jacobowitz <dan@codesourcery.com>
2513
2514 * config.gcc (arm*-*-linux*): Remove redundant extra_parts and
2515 gnu_ld assignments.
2516 * config/arm/t-linux-eabi (LIB1ASMFUNCS)
2517 (EXTRA_MULTILIB_PARTS): Define.
2518 * config/arm/linux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
2519 (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
2520 (LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Move to...
2521 * config/arm/uclinux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
2522 (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
2523 (LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): ... here.
2524
c9639aae
ZD
25252005-10-09 Zdenek Dvorak <dvorakz@suse.cz>
2526
2527 PR tree-optimization/24226
2528 * tree-cfg.c (remove_bb): Clean up unreachable loops.
2529 * tree-flow.h (free_numbers_of_iterations_estimates_loop): Declare.
2530 * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates_loop):
2531 Export.
2532
ad6cc85a
EB
25332005-10-09 Eric Botcazou <ebotcazou@libertysurf.fr>
2534
2535 * config/sparc/gmon-sol2.c (internal_mcount): Mark as used.
2536
c5dce79b
AP
25372005-10-08 Andrew Pinski <pinskia@physics.uc.edu>
2538
2539 PR target/24136
2540 * config/rs6000/darwin.md (movdf_low_si): Remove early clobber.
2541 Rewrite for no need for the early clobber.
2542
077fc835
KH
25432005-10-08 Kazu Hirata <kazu@codesourcery.com>
2544
2545 Merge from csl-arm-branch:
2546 2005-09-07 Paul Brook <paul@codesourcery.com>
2547 * config/arm/linux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Prepend a
2548 space to string.
2549
2550 2005-04-30 Paul Brook <paul@codesourcery.com>
2551 * config/arm/bpabi.h (TARGET_DEFAULT): Define.
2552 * config/arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Define.
2553
2554 2005-03-07 Daniel Jacobowitz <dan@codesourcery.com>
2555 * config/arm/arm.c (arm_all_abis): Add aapcs-linux.
2556 (arm_override_options): Use TARGET_AAPCS_BASED.
2557 * config/arm/arm.h (enum arm_abi_type): Add ARM_ABI_AAPCS_LINUX.
2558 (PTRDIFF_TYPE): Use int for AAPCS.
2559 (DEFAULT_SHORT_ENUMS): Use false for aapcs-linux.
2560 * config/arm/linux-eabi.h (ARM_DEFAULT_ABI, WCHAR_TYPE): Define.
2561 (DEFAULT_SHORT_ENUMS): Delete.
2562 * doc/invoke.texi (ARM Options): Document -mabi=aapcs-linux.
2563
2564 2004-12-15 Daniel Jacobowitz <dan@codesourcery.com>
2565 * config/arm/arm.h (DEFAULT_SHORT_ENUMS): Wrap in #ifndef.
2566 * config/arm/linux-eabi.h (DEFAULT_SHORT_ENUMS): Define to 0.
2567 * config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS): Set to -fPIC.
2568
2569 2004-12-03 Mark Mitchell <mark@codesourcery.com>
2570 * config/arm/linux-eabi.h (LIBGCC_SPEC): Do not define.
2571
2572 2004-11-22 Mark Mitchell <mark@codesourcery.com>
2573 * config.gcc (arm*-*-linux-gnueabi): Use __cxa_atexit.
2574
2575 2004-11-19 Mark Mitchell <mark@codesourcery.com>
2576 * config.gcc (arm*-*-linux-gnueabi): Add it.
2577 * config/arm/bpabi.h (FPUTYPE_DEFAULT): Undefine it before
2578 redefining it.
2579 (TARGET_OS_CPP_BUILTINS): Likeiwse.
2580 * config/arm/linux-eabi.h: New file.
2581 * config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): New macro.
2582 (LINUX_TARET_LINK_SPEC): Likewise.
2583 (LINK_SPEC): Use it.
2584 * config/arm/t-linux-eabi: New file.
2585
5fa534e3
SB
25862005-10-08 Steven Bosscher <stevenb@suse.de>
2587
2588 PR other/22202
2589 * params.def (PARAM_MAX_VARIABLE_EXPANSIONS): Remove superfluous
2590 spaces.
2591 (PARAM_SMS_DFA_HISTORY): Likewise.
2592
07eef816
KH
25932005-10-08 Kazu Hirata <kazu@codesourcery.com>
2594
2595 PR middle-end/23150
2596 * calls.c (mem_overlaps_already_clobbered_arg_p): New.
2597 (load_register_parameters): Call it.
2598 (check_sibcall_argument_overlap_1): Likewise.
2599 (store_one_arg): Likewise.
2600
b6fb7d46
JW
26012005-10-07 James E. Wilson <wilson@specifix.com>
2602
3dbb4dce
JW
2603 * config/ia64/vect.md (ashl<mode>3, ashr<mode>3, lshr<mode>3): Use
2604 DImode not VECINT24 for operand 2.
2605
7f9dc823
JW
2606 PR target/23644
2607 * doc/invoke.texi (IA-64 Options, item -mtune): Renamed from
2608 -mtune-arch.
2609
b6fb7d46
JW
2610 PR target/24193
2611 * config/ia64/ia64.md (movbi, movti_internal, gr_spill_internal,
2612 fr_spill): Use destination_operand for operand 0.
2613
3eb0d7c5
DD
26142005-10-07 DJ Delorie <dj@redhat.com>
2615
2616 * varasm.c (output_constant): Limit error to expanding
2617 conversions.
2618
4c17e288
RG
26192005-10-07 Richard Guenther <rguenther@suse.de>
2620
2621 PR middle-end/24227
2622 * fold-const.c (fold_binary): Fix operand types during folding
2623 of X op (A, Y). Evaluation order of the side-effects of
2624 X and A are frontend-defined, so ensure we honour that even for
2625 tcc_comparison class operands; eased by removing duplicate code.
2626
002a9071
SE
26272005-10-07 Steve Ellcey <sje@cup.hp.com>
2628
2629 * stor-layout.c (layout_type): Do not allow alignment of array
2630 elements to be greater than their size.
2631
9bff16b8
SE
26322005-10-07 Steve Ellcey <sje@cup.hp.com>
2633
2634 * config.host (hppa*-*-hpux*): Change out_host_hook_obj and
2635 host_xmake_file.
2636 (hppa*-*-linux*): Ditto.
2637 (ia64-*-hpux*): Add out_host_hook_obj and host_xmake_file.
2638 * config/host-hpux.c: New.
2639 * config/x-hpux: New.
2640 * config/pa/x-hpux: Remove.
2641 * config/pa/x-linux: Remove.
2642 * config/pa/pa-host.c: Remove.
2643
3e352c00
JL
26442005-10-07 Jeff Law <law@redhat.com>
2645
2646 * tree-ssa-dom.c (dom_opt_finalize_block): Fix conditions to
2647 determine whether or not to try and thread outgoing edges.
2648
05f68097
DE
26492005-10-07 David Edelsohn <edelsohn@gnu.org>
2650
2651 * config/rs6000/rs6000.md (eqsi_power): New.
2652 (neg_eq0si): Add TARGET_POWER to final condition.
2653 (neg_eqsi): Same.
2654
a7e0b075
RH
26552005-10-06 Richard Henderson <rth@redhat.com>
2656
2657 * config/rs6000/rs6000.c: Revert last change.
2658
27add2e8
RH
26592005-10-06 Richard Henderson <rth@redhat.com>
2660
2661 * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): New.
2662 (TARGET_CANNOT_FORCE_CONST_MEM): Use it.
2663
4bb1e037
AP
26642005-10-06 Andrew Pinski <pinskia@physics.uc.edu>
2665
2666 PR middle-end/22216
2667 PR middle-end/23651
2668 * cfgexpand.c (tree_expand_cfg): After expanding the functions, clear
2669 out return_label and naked_return_label.
2670
30d2662c
DB
26712005-10-06 Daniel Berlin <dberlin@dberlin.org>
2672
2673 * tree-ssa-structalias.c (check_for_overlaps): Fix bug in last
a9f7c570 2674 change.
30d2662c 2675
e2f9fe42
RH
26762005-10-06 Richard Henderson <rth@redhat.com>
2677
2678 PR tree-opt/22237
2679 * tree-inline.c (declare_return_variable): Handle modify_dest not
2680 being a DECL.
2681
6c11790d
DB
26822005-10-06 Daniel Berlin <dberlin@dberlin.org>
2683
2684 Fix PR tree-optimization/22488
2685 * tree-ssa-structalias.c (check_for_overlaps): New function.
2686 (create_variable_info_for): Use it.
2687
5597a350
RH
26882005-10-06 Richard Henderson <rth@redhat.com>
2689
2690 PR debug/24070
2691 * dwarf2out.c (lookup_filename): Return the result of maybe_emit_file.
2692 (dwarf2out_start_source_file): Print it.
2693
03f9dd3f
GK
26942005-10-06 Geoffrey Keating <geoffk@apple.com>
2695
2696 * config/t-slibgcc-darwin (SHLIB_MAPFILES): Use '+='.
2697
24c2fde2
RH
26982005-10-06 Richard Henderson <rth@redhat.com>
2699
2700 PR 23706
2701 * mode-switching.c (optimize_mode_switching): Clear transp bit
2702 for block with incomming abnormal edges.
2703
2704 * config/sh/sh.c (fpscr_values, emit_fpu_switch): New.
2705 (fpscr_set_from_mem): Use them.
2706 * config/sh/sh.md (fpu_switch0, fpu_switch1): Remove.
2707 (fpscr postinc splitters): Rewrite as peephole2+split.
2708
27f0fe7f
DE
27092005-10-06 David Edelsohn <edelsohn@gnu.org>
2710
2711 * config/rs6000/rs6000.md (eq<mode>): Add !TARGET_POWER.
2712 (eq<mode>_compare): Same.
2713
098209a9
RG
27142005-10-06 Richard Guenther <rguenther@suse.de>
2715
2716 PR tree-optimization/24238
0c7c1604 2717 * tree-ssa-alias.c (find_used_portions): Handle RESULT_DECL.
098209a9 2718
d739199a
DJ
27192005-10-06 Daniel Jacobowitz <dan@codesourcery.com>
2720
2721 * acinclude.m4 (gcc_AC_CHECK_TOOL): Handle environment variables
2722 here. Use AC_PATH_PROG for environment variables instead of
2723 test -x.
2724 * configure.ac: Update calls to gcc_AC_CHECK_TOOL. Use it for
2725 objdump also.
2726 * configure: Regenerated.
2727
c40cb38d
RE
27282005-10-06 Richard Earnshaw <richard.earnshaw@arm.com>
2729
2730 PR target/23783
2731 * arm.md (call): If the address isn't a SYMBOL_REF or a register,
2732 then force it into a register.
2733 (call_value): Likewise.
2734
5872662b
RH
27352005-10-06 Richard Henderson <rth@redhat.com>
2736
2737 PR 24049
2738 * passes.c (init_optimization_passes): Move pass_lower_vector_ssa
2739 under pass_vectorize. Clear TODO_ggc_collect from the dce pass
2740 under pass_vectorize.
2741
d6b27b56
DP
27422005-10-05 Devang Patel <dpatel@apple.com>
2743
2744 PR Debug/23205
2745 * dbxout.c (dbxout_symbol): Check DECL_RTL_SET_P, after
2746 handling constants. Check NAMESPACE_DECL context for constants.
2747
759915ca
EC
27482005-10-05 Eric Christopher <echristo@apple.com>
2749
2750 * doc/md.texi (Standard Names): Fix name of pushm1 pattern.
2751
bf7e2472
RH
27522005-10-05 Richard Henderson <rth@redhat.com>
2753
2754 PR 23714
2755 * tree-cfg.c (mark_array_ref_addressable_1): New.
2756 (mark_array_ref_addressable): New.
2757 * tree-flow.h (mark_array_ref_addressable): Declare.
2758 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Use it.
2759
d14e25e0
AP
27602005-10-05 Andrew Pinski <pinskia@physics.uc.edu>
2761
2762 PR middle-end/20606
2763 PR middle-end/24069
2764 * reload.c (subst_reloads): When adding a REG_LABEL to a
2765 jump instruction, also update JUMP_LABEL.
2766
f935b9e0
DE
27672005-10-05 David Edelsohn <edelsohn@gnu.org>
2768
2769 * params.def (PARAM_MAX_GROW_COPY_BB_INSNS): New.
2770 * bb-reorder.c (copy_bb_p): Use it.
2771 * doc/invoke.texi (param table): Add max-grow-copy-bb-insn.
2772
d3073c70
RH
27732005-10-05 Richard Henderson <rth@redhat.com>
2774
2775 PR target/23602
2776 * toplev.c (process_options): Warn about unsupported combinations
2777 of unwind tables and omit-frame-pointer.
2778 * config/i386/i386.c (override_options): Similarly. Enable
2779 accumulate-outgoing-args if not explicitly disabled.
2780
10dc6e8c
SE
27812005-10-05 Steve Ellcey <sje@cup.hp.com>
2782
2783 * vect.md (vec_initv2si): Fix typo of V2SF to V2SI.
2784 Handle big endian vs. small endian.
2785 (vec_initv2sf): Handle big endian vs. small endian.
2786 (*vec_extractv2sf_1): Ditto.
2787
9f85ecfe
DJ
27882005-10-05 Dale Johannesen <dalej@apple.com>
2789
2790 * convert.c (convert_to_real): Don't convert
2791 (float)floor(double d) to floorf((float)d).
2792
c2540bbb
DJ
27932005-10-05 Daniel Jacobowitz <dan@codesourcery.com>
2794
2795 * config/arm/arm.md (insv): Use gen_int_mode in more places.
2796
f3940b0e
AM
27972005-10-05 Andrew MacLeod <amacleod@redhat.com>
2798
2799 PR tree-optimization/18587
2800 * tree-ssa-operands.c (struct opbuild_list_d, OPBUILD_LAST): Delete.
2801 (build_defs, build_uses, build_v_may_defs, build_v_must_defs,
2802 build_vuses): Change to VEC type.
2803 (opbuild_initialize_virtual, opbuild_initialize_real, opbuild_free,
2804 opbuild_num_elems, opbuild_append_real, opbuild_append_virtual,
2805 opbuild_first, opbuild_next, opbuild_elem_real, opbuild_elem_virtual,
2806 opbuild_elem_uid, opbuild_clear, opbuild_remove_elem): Delete.
759915ca 2807 (get_name_decl): New. Return DECL_UID of base variable.
f3940b0e
AM
2808 (operand_build_cmp): New. qsort comparison routine.
2809 (operand_build_sort_virtual): New. Sort virtual build vector.
2810 (init_ssa_operands, fini_ssa_operands): Use VEC routines.
2811 (FINALIZE_OPBUILD_BASE, FINALIZE_OPBUILD_ELEM): Use VEC_Index.
2812 (FINALIZE_BASE): Use get_name_decl.
2813 (finalize_ssa_defs, finalize_ssa_uses, cleanup_v_may_defs,
2814 finalize_ssa_v_may_defs, finalize_ssa_vuses, finalize_ssa_v_must_defs,
759915ca
EC
2815 (start_ssa_stmt_operands, append_def, append_use, append_vuse,
2816 append_v_may_def, append_v_must_def): Replace opbuild_* routines with
f3940b0e
AM
2817 direct VEC_* manipulations.
2818 (build_ssa_operands): Call operand_build_sort_virtual.
2819 (copy_virtual_operand, create_ssa_artficial_load_stmt,
759915ca 2820 add_call_clobber_ops, add_call_read_ops): Replace opbuild_* routines
f3940b0e
AM
2821 with direct VEC_* manipulations.
2822 * tree-ssa-opfinalize.h (FINALIZE_FUNC): Replace opbuild_* routines
2823 with direct VEC manipulations.
2824
5544530a
PB
28252005-10-05 Paolo Bonzini <bonzini@gnu.org>
2826
2827 PR tree-optimization/21419
2828 PR tree-optimization/24146
2829 PR tree-optimization/24151
2830
2831 * c-typeck.c (readonly_error): Handle USE being lv_asm.
2832 (build_asm_expr): Call it if outputs are read-only.
2833 * gimplify.c (gimplify_asm_expr): Remove former fix to PR 21419.
2834
75576871
BB
28352005-10-05 Billy Biggs <billy.biggs@gmail.com>
2836 Paolo Bonzini <bonzini@gnu.org>
2837
2838 PR target/23809
2839
2840 * doc/extend.texi (x86 Built-ins): Document that -msse and friends
2841 enable the instructions and not just the built-ins.
2842 * doc/invoke.texi (x86 Options): Likewise.
2843
337f2a22
GK
28442005-10-04 Geoffrey Keating <geoffk@apple.com>
2845
a70d8bb6
GK
2846 * config/i386/t-darwin (SHLIB_VERPFX): Fix typo.
2847
337f2a22
GK
2848 * doc/invoke.texi (Option Summary): Correct spelling
2849 of -mmacosx-version-min.
2850
a04deb83
DP
28512005-10-04 Devang Patel <dpatel@apple.com>
2852
2853 * c-common.c (vector_types_convertible_p): Check TYPE_PRECISION for
2854 real types.
759915ca 2855
578578a5
SE
28562005-10-04 Steve Ellcey <sje@cup.hp.com>
2857
2858 * tree-vect-transform.c (vect_create_epilog_for_reduction):
2859 Use BYTES_BIG_ENDIAN instead of BITS_BIG_ENDIAN.
2860
8006eaa6
AS
28612005-10-04 Adrian Straetling <straetling@de.ibm.com>
2862
2863 * config/s390/s390.md ("TDSI","DP"): New mode macros.
2864 ("TE","tg"): New mode attributes.
2865 ("sync_compare_and_swap<mode>"): Replace with a define_expand.
2866 ("sync_compare_and_swap<mode>_cc"): Replace GPR with TDSI.
2867 ("*sync_compare_and_swap<mode>_cc"): Replace with one pattern for
2868 dword_mode and one for GPRmode.
2869
cbc43ae0
ILT
28702005-10-04 Ian Lance Taylor <ian@airs.com>
2871
2872 PR preprocessor/13726
2873 * c-ppoutput.c (cb_include): Add comments parameter, and print out
2874 any comments passed in.
2875
44d25172
AP
28762005-10-04 Andrew Pinski <pinskia@physics.uc.edu>
2877
2878 * tree.c (annotate_with_file_line): Fix typo.
2879
baab454a
UW
28802005-10-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2881
2882 PR ada/19382
2883 * builtins.c (fold_builtin_memcmp): When constructing the pointer
2884 type used to access data in the inlined length == 1 case, use
2885 build_pointer_type_for_mode with CAN_ALIAS_ALL set to true.
2886 (fold_builtin_strcmp, fold_builtin_strncmp): Likewise.
2887
84c2b4da
UB
28882005-10-04 Uros Bizjak <uros@kss-loka.si>
2889
2890 * config/i386/i386.h (TARGET_FISTTP): Enable also for
2891 TARGET_SSE3 and only for TARGET_80387.
2892 * config/i386/i386.md (fix_trunc<mode>_fisttp_i387_1,
2893 (fix_trunc<mode>_i387_fisttp, fix_trunc<mode>_i387_fisttp_with_temp):
2894 Do not depend on TARGET_80387.
2895
b4ceda13
AP
28962005-10-04 Andrew Pinski <pinskia@physics.uc.edu>
2897
2898 * tree.c (last_annotated_node): Change type to location_t*.
2899 (annotate_with_file_line): Reflect the change of
2900 last_annotated_node type.
2901
9df594d7
RG
29022005-10-04 Richard Guenther <rguenther@suse.de>
2903
2904 PR c/23576
2905 * c-decl.c (grokdeclarator): Don't write to fields
2906 of error_mark_node.
2907
11e3f4b6
AP
29082005-10-04 Andrew Pinski <pinskia@physics.uc.edu>
2909
2910 PR middle-end/23125
2911 * c-decl.c (finish_decl): Use set_user_assembler_name even for
2912 register variables.
2913 * varasm.c (make_decl_rtl): If a register variable does not
2914 have a set user assmbler name, error out.
2915 Decode the asmspec is now name+1 bypassing '*'.
2916
29172005-10-04 Steven Bosscher <stevenb@suse.de>
46fbb29c
SB
2918
2919 PR tree-optimization/23049
2920 * tree-ssa-dom.c (thread_across_edge): Make sure that the condition
2921 of a COND_EXPR is folded before calling fold on the whole rhs of a
2922 conditional assignment.
2923 * doc/tree-ssa.texi: Update the GIMPLE grammar for a valid rhs to
2924 document that a COND_EXPR may appear there.
2925
012a7a78
DN
29262005-10-03 Diego Novillo <dnovillo@redhat.com>
2927
2928 PR 23445
2929 * tree-vrp.c (extract_range_from_assert): If the new numeric
2930 range created out of the assertion contradicts the existing
2931 numeric range of the ASSERT_EXPR variable, make the new range
2932 varying.
2933
9c24200c
KK
29342005-10-03 Kaz Kojima <kkojima@gcc.gnu.org>
2935
2936 * config/sh/sh.c (sh_register_move_cost): Add case for moving
2937 from T_REGS to FP register class.
2938
1718a2aa
RH
29392005-10-03 Richard Henderson <rth@redhat.com>
2940
2941 PR 24135
2942 * tree-nested.c (convert_nl_goto_reference): Lookup a translation
2943 before creating a new one.
2944
6d48847c
DE
29452005-10-03 David Edelsohn <edelsohn@gnu.org>
2946
2947 * config/rs6000/t-aix43 (LDFLAGS): New.
2948 * config/rs6000/t-aix52 (LDFLAGS): New.
2949
0b494699
ILT
29502005-10-03 Ian Lance Taylor <ian@airs.com>
2951
2952 * gimplify.c (find_single_pointer_decl_1): New static function.
2953 (find_single_pointer_decl): New static function.
2954 (internal_get_tmp_var): For a formal variable, set restrict base
2955 information if appropriate.
2956 * alias.c (find_base_decl): If a VAR_DECL has a restrict base,
2957 return it.
2958 * tree.h (DECL_BASED_ON_RESTRICT_P): Define.
2959 (DECL_GET_RESTRICT_BASE): Define.
2960 (SET_DECL_RESTRICT_BASE): Define.
2961 (decl_restrict_base_lookup): Declare.
2962 (decl_restrict_base_insert): Declare.
2963 (struct tree_decl_with_vis): Add based_on_restrict_p field.
2964 * tree.c (restrict_base_for_decl): New static variable.
2965 (init_ttree): Initialize restrict_base_for_decl.
2966 (copy_node_stat): Copy restrict base information.
2967 (decl_restrict_base_lookup): New function.
2968 (decl_restrict_base_insert): New function.
2969 (print_restrict_base_statistics): New static function.
2970 (dump_tree_statistics): Call print_restrict_base_statistics.
2971
b19bb8b0
DN
29722005-10-02 Diego Novillo <dnovillo@redhat.com>
2973
2974 PR 24142
2975 * tree-vrp.c (vrp_meet): Fix call to range_includes_zero_p in
2976 case of anti-ranges.
2977
f13c9b2c
AP
29782005-10-02 Andrew Pinski <pinskia@physics.uc.edu>
2979
2980 PR c/18851
2981 * c-typeck.c (tagged_tu_seen): Rename to ...
2982 (tagged_tu_seen_cache): this and add val field.
2983 (comptypes): Move functional to comptypes_internal
2984 and free tagged_tu_seen.
2985 (comptypes_internal): New function and call comptypes_internal
2986 instead of comptypes. Speed up by sibcalling
2987 tagged_types_tu_compatible_p.
2988 (alloc_tagged_tu_seen): New function
2989 (free_all_tagged_tu_seen_up_to): New function.
2990 (tagged_types_tu_compatible_p): Return the val of the seen two
2991 types.
2992 Add that the two types are the same to tagged_tu_seen_base
2993 if they are and call comptypes_internal instead of comptypes.
2994 <case UNION_TYPE>: Speed up common type where the fields are
2995 in the same order.
2996 (function_types_compatible_p): Call comptypes_internal instead of
2997 comptypes.
2998 (type_lists_compatible_p): Likewise.
2999 (all functions): s/tagged_tu_seen/tagged_tu_seen_cache/.
3000
aa58883c
MK
30012005-10-02 Matthias Klose <doko@debian.org>
3002
3003 * doc/invoke.texi: Fix typo and speling error.
3004
746077ff
RH
30052005-10-01 Richard Henderson <rth@redhat.com>
3006
3007 * tree-stdarg.c (execute_optimize_stdarg): Process PHI nodes too.
3008
e3fe057d
MM
30092005-10-01 Mark Mitchell <mark@codesourcery.com>
3010
3011 * config/arm/unknown-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define
3012 using --start-group and --end-group.
3013
c83033e7
DN
30142005-10-01 Diego Novillo <dnovillo@redhat.com>
3015
3016 * tree-vrp.c (value_inside_range, range_includes_zero_p): Add
3017 FIXME note regarding quirky semantics.
3018
e82d7e60
DN
30192005-10-01 Diego Novillo <dnovillo@redhat.com>
3020
3021 PR 24141
3022 * tree-vrp.c (vrp_meet): Clear VR0->EQUIV when building a
3023 non-null range as a last resort.
3024
fde5c44c
JM
30252005-10-01 James A. Morrison <phython@gcc.gnu.org>
3026 Diego Novillo <dnovillo@redhat.com>
3027
3028 PR 23604
3029 * tree-vrp.c (extract_range_from_assert): For !=
3030 assertions, only build an anti-range if LIMIT is a
3031 single-valued range.
3032
78a5d727
RE
30332005-09-30 Richard Earnshaw <richard.earnshaw@arm.com>
3034
759915ca 3035 * arm.md (movqi): On thumb when optimizing, handle loading from
78a5d727
RE
3036 memory by describing this as taking a subreg of a zero-extended load
3037 into an SImode register.
3038 (movhi): Likewise.
3039
3f27846b
DJ
30402005-09-30 Daniel Jacobowitz <dan@codesourcery.com>
3041
3042 * reload1.c (merge_assigned_reloads): Do not change any
3043 RELOAD_FOR_OUTPUT_ADDRESS reloads.
3044
dd7dc250
GK
30452005-09-30 Geoffrey Keating <geoffk@apple.com>
3046
ed0db39f
GK
3047 * Makefile.in (LIPO_FOR_TARGET): Define.
3048 (STRIP_FOR_TARGET): Define.
3049
f46876f9
GK
3050 * config/t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks
3051 before creating new ones. Do symlinks before creating the actual
3052 targets.
3053
dd7dc250
GK
3054 * config/t-slibgcc-darwin (libgcc_s_%.dylib): Use --print-multi-lib
3055 to work out which multilibs are actually being built.
3056
5116a5d2
KH
30572005-09-30 Kazu Hirata <kazu@codesourcery.com>
3058
3059 * tree-vect-transform.c, config/ms1/ms1.md,
3060 config/s390/s390.c, config/v850/v850.md: Fix comment typos.
3061 Follow spelling conventions.
3062 * doc/invoke.texi, doc/md.texi: Fix typos.
3063
5dc2e333
AM
30642005-09-30 Andrew Macleod <amacleod@redat.com>
3065
3066 PR tree-optimization/21430
3067 * tree-ssa-operands.c (set_virtual_use_link): New. Link new virtual
3068 use operands, and set stmt pointer if need be.
3069 (FINALIZE_CORRECT_USE: New. Macro to call appropriate use fixup routine.
3070 tree-ssa-opfinalize.h (FINALIZE_FUNC): Call FINALIZE_CORRECT_USE if
3071 present.
3072
4ecd8dc7
RK
30732005-09-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3074
3075 PR middle-end/24053
3076 * stor-layout.c (set_sizetype): Set TYPE_MAIN_VARIANT of bitsizetype.
3077
93b47b19
MM
30782005-09-29 Mark Mitchell <mark@codesourcery.com>
3079
3080 * optabs.c (expand_binop): Initialize first_pass_p.
3081
df4b9cfe
JJ
30822005-09-29 Jakub Jelinek <jakub@redhat.com>
3083
3084 PR middle-end/24109
3085 * c-decl.c (c_write_global_declarations_1): If any
3086 wrapup_global_declaration_2 call returned true, restart the loop.
3087
8d2c775f 30882005-09-29 Daniel Berlin <dberlin@dberlin.org>
759915ca 3089
8d2c775f
DB
3090 Fix PR tree-optimization/24117
3091 * tree-ssa-structalias.c (find_func_aliases): Strip nops
3092 before considering whether to use anyoffset.
3093
be1ea09b
PB
30942005-09-29 Paolo Bonzini <bonzini@gnu.org>
3095
3096 Revert this patch:
3097
3098 2005-09-15 Paolo Bonzini <bonzini@gnu.org>
3099
3100 * optabs.c (expand_binop): Use swap_commutative_operands_with_target
3101 to order operands.
3102 (swap_commutative_operands_with_target): New.
3103
02eb875f
PB
31042005-09-29 Paolo Bonzini <bonzini@gnu.org>
3105
3106 PR c/21419
3107 * gimplify.c (gimplify_asm_expr): Raise an error if an output is
3108 read-only.
3109
1ebd8d9a
SB
31102005-09-29 Steven Bosscher <stevenb@suse.de>
3111
3112 PR tree-optimization/23911
3113 * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle REALPART_EXPR
3114 and IMAGPART_EXPR too.
3115
0f8594ee
MM
31162005-09-28 Mark Mitchell <mark@codesourcery.com>
3117
3118 PR 17886
3119 * expmed.c (expand_shift): Move logic to reverse rotation
3120 direction when rotating by constants ...
3121 * optabs.c (expand_binop): ... here.
3122 * config/i386/i386.md (rotrdi3): Handle 32-bit mode.
3123 (ix86_rotrdi3): New pattern.
3124 (rotldi3): Handle 32-bit mode.
3125 (ix86_rotldi3): New pattern.
3126
c22e62a6
AM
31272005-09-29 Alan Modra <amodra@bigpond.net.au>
3128
3129 PR target/24102
3130 * config/rs6000/rs6000.md (floatdisf2_internal2): Correct range
3131 check for numbers that need no bit twiddle.
3132
040b1c5a
GK
31332005-09-28 Geoffrey Keating <geoffk@apple.com>
3134
23ed2384
GK
3135 * config/rs6000/t-darwin8: Uncomment contents, allow -m64
3136 multilib to be built.
3137
040b1c5a
GK
3138 * Makefile.in: Export LIPO_FOR_TARGET, STRIP_FOR_TARGET.
3139 (stage1-start): Delete old libgcc and libunwind before moving
3140 anything into the stage directory.
3141 (stage2-start): Likewise.
3142 (stage3-start): Likewise.
3143 (stage4-start): Likewise.
3144 (stageprofile-start): Likewise.
3145 (stagefeedback-start): Likewise.
3146 * config.gcc (*-*-darwin*): Automatically use CPU-specific darwin.h
3147 header in tm_file and CPU-specific t-darwin in tmake_file.
3148 (i[34567]86-*-darwin*): Don't change tm_file.
3149 (powerpc-*-darwin*): Don't change tm_file or tmake_file.
3150 * config/darwin.h (REAL_LIBGCC_SPEC): Rewrite to use proper libgcc
3151 shared library stub for target OS version.
3152 * config/t-slibgcc-darwin (SHLIB_SOLINK): Delete.
3153 (SHLIB_LINK): Don't make SHLIB_SOLINK.
3154 (SHLIB_INSTALL): Don't install SHLIB_SOLINK.
3155 (libgcc_s.%.dylib): New.
3156 (LIBGCC): Define.
3157 (install-darwin-libgcc-stubs): New.
3158 (INSTALL_LIBGCC): New append.
3159 * config/i386/darwin-libgcc.10.4.ver: New.
3160 * config/i386/darwin-libgcc.10.5.ver: New.
3161 * config/i386/t-darwin: New.
3162 * config/rs6000/darwin-libgcc.10.4.ver: New.
3163 * config/rs6000/darwin-libgcc.10.5.ver: New.
3164 * config/rs6000/darwin.h (REAL_LIBGCC_SPEC): Delete.
3165 * config/rs6000/t-darwin (SHLIB_VERPFX): Define.
3166
107bcc11
PB
31672005-09-28 Paul Brook <paul@codesourcery.com>
3168
3169 * config/m68k/fpgnulib.c (__extendsfdf2, __truncdfsf2): Handle
3170 denormals.
3171
9b14a362
RG
31722005-09-28 Richard Guenther <rguenther@suse.de>
3173
3174 PR tree-optimization/23853
3175 * tree-vect-analyze.c (vect_compute_data_ref_alignment): Use
3176 host_integerp to verify misalignment value.
3177
02ee605c
RH
31782005-09-28 Richard Henderson <rth@redhat.com>
3179
3180 * builtins.c (get_builtin_sync_mode): New.
3181 (expand_builtin_sync_operation): Pass in mode argument.
3182 (expand_builtin_compare_and_swap): Likewise.
3183 (expand_builtin_lock_test_and_set): Likewise.
3184 (expand_builtin_lock_release): Likewise.
3185 (expand_builtin): Update to match.
3186
1b0792dd
NC
31872005-09-28 Nick Clifton <nickc@redhat.com>
3188
7d866c52
NC
3189 * config/v850/v850.h (GO_IF_LEGITIMATE_ADDRESS): Tidy up
3190 formatting. Add check to PLUS case to ensure that the offset is
3191 within an acceptable range.
3192
3193 * config/v850/v850.md (casesi): Disable the generation of the
3194 switch pattern as it is not being handled properly at the moment.
3195
1b0792dd
NC
3196 * config/v850/lib1funcs.asm (___ucmpdi2): Correct jump instruction
3197 for when the high words are identical.
3198
241de8a0
RH
31992005-09-27 Richard Henderson <rth@redhat.com>
3200
3201 * pretty-print.c (pp_base_format): Fix typo for %>.
3202
93954fcc
DP
32032005-09-27 Daniel Berlin <dberlin@dberlin.org>
3204 Devang Patel <dpatel@apple.com>
3205
3206 PR tree-optimization/23625
3207 * tree-flow-inline.h (bsi_after_labels): Remove, first statement is
3208 LABEL_EXPR, assertion check.
759915ca 3209
ca7a5aec
R
32102005-09-27 J"orn Rennecke <joern.rennecke@st.com>
3211
3212 * optabs.c (no_conflict_move_test): Check if a result of a
3213 to-be-moved insn would be clobbered by an originally
3214 preceding insn.
3215
f20731b7
JL
32162005-09-27 Jeff Law <law@redhat.com>
3217
3218 * passes.c (init_optimization_passes): Replace copy propagation
3219 passes immediately after DOM with phi-only copy propagation
3220 pases. Add phi-only copy propagation pass after first DOM pass.
3221 * tree-pass.h (pass_phi_only_copy_prop): Declare.
3222 * tree-ssa-copy.c (init_copy_prop): Accept new PHI_ONLY argument.
3223 If true, then mark all non-control statements with DONT_SIMULATE_AGAIN.
3224 (execute_copy_prop): Accept new PHI_ONLY argument. Pass it along
3225 to init_copy_prop. Callers updated.
3226 (do_phi_only_copy_prop): New function.
3227 (pass_phi_only_copy_prop): New pass descriptor.
3228
3542b7cc
NC
32292005-09-27 Nick Clifton <nickc@redhat.com>
3230
3231 * libgcc2.c (__popcount_tab): Remove redundant prototype.
3232
4381020e
JM
32332005-09-26 Jason Merrill <jason@redhat.com>
3234
86ad3aa9
JM
3235 PR c++/13764
3236 * c-common.c (finish_fname_decls): Use append_to_statement_list_force.
3237
4381020e
JM
3238 * doc/invoke.texi: Clarify documentation of -fno-enforce-eh-specs.
3239
92b4f0af
JW
32402005-09-26 James E Wilson <wilson@specifix.com>
3241
3242 * config/ia64/crtbegin.asm, config/ia64/crtend.asm: Remove glibc
3243 copyright. Add gcc copyright plus libgcc exception.
3244 * config/ia64/crtfastmath.asm: Remove glibc copyright. Add gcc
3245 copyright.
3246 * config/ia64/lib1funcs.asm: Add gcc copyright plus libgcc exception.
3247
608af77d
JL
32482005-09-26 Jeff Law <law@redhat.com>
3249
3250 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective
3251 about when to iterate.
3252
0f086e42
FJ
32532005-09-23 Fariborz Jahanian <fjahanian@apple.com>
3254
3255 PR target/23847
a9f7c570
RH
3256 * config/rs6000/rs6000.c (rs6000_function_value): Parallel pattern
3257 for __complex__ double in -mcpu=G5 mode.
0f086e42 3258
c59dabbe
SP
32592005-09-26 Sebastian Pop <pop@cri.ensmp.fr>
3260
3261 PR tree-optimization/23942
3262 * Makefile.in (SCEV_H): Depends on PARAMS_H.
3263 * tree-scalar-evolution.c: Include params.h.
3264 (t_bool): New enum.
3265 (follow_ssa_edge, follow_ssa_edge_in_rhs,
3266 follow_ssa_edge_in_condition_phi_branch,
759915ca 3267 follow_ssa_edge_in_condition_phi, follow_ssa_edge_inner_loop_phi):
c59dabbe 3268 Change return type to t_bool. Use a parameter to limit the size of
759915ca 3269 trees that are walked before stopping
c59dabbe 3270 (analyze_evolution_in_loop): Initialize the limit to 0.
759915ca 3271 (follow_ssa_edge): Give up by returning t_dont_know if the limit
c59dabbe
SP
3272 exceeds PARAM_SCEV_MAX_EXPR_SIZE.
3273
3242fbd8
UB
32742005-09-26 Uros Bizjak <uros@kss-loka.si>
3275
3276 PR middle-end/23831
3277 * simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip
3278 simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT.
3279
b166bfd2
FJ
32802005-09-26 Fariborz Jahanian <fjahanian@apple.com>
3281
a9f7c570 3282 * combine.c (make_extraction): Check for valid use of subreg.
b166bfd2 3283
4d06b0a2
UB
32842005-09-26 Uros Bizjak <uros@kss-loka.si>
3285
3286 PR target/24055
3287 * config/i386/i386.md ("*fistdi2_1"): New pattern.
3288 ("*fist<mode>2_1"): Use only HImode and SImode register operands.
3289 ("fist<mode>2_with_temp"): Use only register operands.
3290
76dd5923
R
32912005-09-26 J"orn Rennecke <joern.rennecke@st.com>
3292
3293 * rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in
3294 CALL_INSN_FUNCTION_USAGE.
3295
9727e468
RG
32962005-09-26 Richard Guenther <rguenther@suse.de>
3297
3298 PR middle-end/15855
3299 * gcse.c: Include hashtab.h, define ldst entry hashtable.
3300 (pre_ldst_expr_hash, pre_ldst_expr_eq): New functions.
3301 (ldst_entry): Use the hashtable instead of list-walking.
3302 (find_rtx_in_ldst): Likewise.
3303 (free_ldst_entry): Free the hashtable.
3304 (compute_ld_motion_mems): Create the hashtable.
3305 (trim_ld_motion_mems): Remove entry from hashtable if
3306 removing it from list.
3307 (compute_store_table): Likewise^2.
3308 (store_motion): Free hashtable in case we did not see
3309 any stores.
3310
3f1dfb41
KH
33112005-09-25 Kazu Hirata <kazu@codesourcery.com>
3312
3313 * fold-const.c (fold_binary): Use op0 and op1 instead of arg0
3314 and arg1 if we are passing them to fold_build2.
3315
ad90e28f
DN
33162005-09-25 Dan Nicolaescu <dann@ics.uci.edu>
3317
3318 PR 23828
3319 * config/i386/i386.c (ix86_function_regparm): Fix the test for
3320 a nested function.
3321
f6326c19
RH
33222005-09-25 Richard Henderson <rth@redhat.com>
3323
3324 * config/alpha/alpha.c (tls_symbolic_operand_1): Trust
3325 SYMBOL_REF_TLS_MODEL to be correct.
3326
2eca7d15
RH
33272005-09-24 Richard Henderson <rth@redhat.com>
3328
3329 * ipa-type-escape.c (discover_unique_type): Remove dead code at
3330 end of function. Reindent.
3331
1f6f3d15
ILT
33322005-09-24 Ian Lance Taylor <ian@airs.com>
3333
3334 * convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in
3335 NEGATE_EXPR/BIT_NOT_EXPR case.
3336
99db1ef0
RH
33372005-09-24 Richard Henderson <rth@redhat.com>
3338
3339 * c-common.c (handle_mode_attribute): When not modifying in place,
3340 create subtypes for enumerations.
3341 (sync_resolve_return): Use TYPE_MAIN_VARIANT.
3342 * gimplify.c (create_tmp_from_val): Likewise.
3343
e347ff9e
AO
33442005-09-24 Alexandre Oliva <aoliva@redhat.com>
3345
3346 * config/i386/i386.md (*tls_global_dynamic_64,
3347 *tls_local_dynamic_base_64): Add missing mode to call.
3348 (tls_global_dynamic_64, tls_local_dynamic_base_64): Likewise.
3349
06191a23
JH
33502005-09-24 Jan Hubicka <jh@suse.cz>
3351
3352 * cgraph.c (cgraph_clone_edge): Make the scale gcov_type.
3353 (cgraph_clone_node): Likewise.
3354 * cgraph.h (cgraph_clone_edge): Update prototype.
3355 (cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Remove
3356 duplicated prototypes; add updating argument.
3357 * cgraphunit.c (verify_cgraph_node): Verify that counts are non-negative.
3358 * ipa-inline.c (cgraph_clone_inlined_nodes): Allow clonning without
3359 updating profile.
3360 (cgraph_mark_inline_edge): Likewise.
3361 (cgraph_mark_inline): Update use of cgraph_mark_inline_edge.
3362 (cgraph_flatten_node): Likewise.
3363 (cgraph_decide_recursive_inlining): Likewise.
3364 (cgraph_decide_inlining_of_small_function): Likewise.
3365 * tree-optimize.c (tree_rest_of_compilation): Likewise.
3366
9c6fdb46
DE
33672005-09-23 David Edelsohn <edelsohn@gnu.org>
3368 Pete Steinmetz <steinmtz@us.ibm.com>
3369
3370 * config/rs6000/rs6000.md (neg-minus-mult): Set type to dmul.
3371 (rldic.): Set type to "compare".
3372 (rldicr.): Same.
3373 (movsf_hardfloat): Set type to mtjmpr for MTCTR/MTLR. Set type to
3374 mfjmpr for MFCTR/MFLR.
3375 (movdf_hardfloat64): Same.
3376 (movdf_softfloat64): Same. Correct order of store and move types.
3377 (movti_string): Set type to store_ux/load_ux.
3378 (load_multiple): Set type to load_ux.
3379 (store_multiple): Set type to store_ux.
3380 (movmemsi): Set type to store_ux.
3381 (output_cbranch direct_return): Set type to jmpreg.
3382 (stmw): Set type to store_ux.
3383 (lmw): Set type to load_ux.
3384 * config/rs6000/40x.md (ppc403-store): Increase latency to 2.
3385 * config/rs6000/440.md (ppc440-store): Increase latency to 6.
3386 * config/rs6000/603.md (ppc603-store): Occupy LSU for 2 cycles.
3387 * config/rs6000/6xx.md (ppc604-store): Increase latency to 3.
3388 * config/rs6000/mpc.md (mpccore-store): Increase latency to 2.
3389 * config/rs6000/rios1.md (rios1-store): Increase latency to 2.
3390 (rios1-fpstore): Increase latency to 3.
3391 * config/rs6000/rios2.md (rios2-store): Increase latency to 2.
3392 * config/rs6000/rs64.md (rs64a-store): Increase latency to 2.
3393
66684b7e
DE
33942005-09-23 David Edelsohn <edelsohn@gnu.org>
3395 Andrew Pinski <pinskia@physics.uc.edu>
3396
3397 * config/rs6000/sync.md (sync_<fetchop_name>si_internal): Change
3398 operand2 constraint to "b".
3399 (sync_<fetchop_name>di_internal): Same.
3400 (sync_old_<fetchop_name>si_internal): Change operand3 constraint
3401 to "b".
3402 (sync_old_<fetchop_name>di_internal): Same.
3403 (sync_new_<fetchop_name>si_internal): Same.
3404 (sync_new_<fetchop_name>di_internal): Same.
3405
a9305dcb
R
34062005-09-23 J"orn Rennecke <joern.rennecke@st.com>
3407
3a1680a5 3408 PR middle-end/23991
a9305dcb
R
3409 * final.c (insn_default_length, insn_min_length): In !HAVE_ATTR_length
3410 case, define as macros.
3411
9617ccfd
R
3412 PR rtl-optimization/23837
3413 * optabs.c (no_conflict_move_test): Don't set must_stay for a
3414 clobber / clobber match between dest and p->first.
3415
748ebfc7
R
3416 * optabs.c (emit_libcall_block): Use no_conflict_move_test.
3417 (no_conflict_move_test): Update comments.
3418
07a647a3
RM
34192005-09-22 Ranjit Mathew <rmathew@gcc.gnu.org>
3420
3421 * doc/install.texi: Update URL for Jacks.
3422 * doc/sourcebuild.texi: Likewise.
3423
fb3249ef
DE
34242005-09-22 David Edelsohn <edelsohn@gnu.org>
3425
a9f7c570
RH
3426 PR target/24007
3427 * config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
3428 registers when choosing register preferences.
3429 (movdf_hardfloat64): Same.
fb3249ef 3430
6231646a
AK
34312005-09-22 Andreas Krebbel <krebbel1@de.ibm.com>
3432
3433 * expmed.c (expand_shift): Don't use the target of the rotate as
3434 target for the first expanded shift insn.
3435 * testsuite/gcc.dg/20050922-1.c: Testcase added.
3436
7b9d4f70
ZD
34372005-09-21 Zdenek Dvorak <dvorakz@suse.cz>
3438
3439 PR tree-optimization/22438
3440 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Handle all
3441 preserved iv rhs rewriting specially.
3442
b1347638
DB
34432005-09-21 Daniel Berlin <dberlin@dberlin.org>
3444
3445 * tree-data-ref.c (analyze_array_indexes): Only estimate when
3446 estimate_only is true.
3447 * tree-flow.h (ref_contains_indirect_ref): New prototype.
3448 * tree-flow-inline.h (ref_contains_indirect_ref): Moved from
759915ca 3449 tree-ssa-structalias.c
b1347638
DB
3450 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Use
3451 ref_contains_indirect_ref.
3452 * tree-ssa-structalias.c (ref_contains_indirect_ref): Moved.
3453
b1eb8119
DD
34542005-09-21 DJ Delorie <dj@redhat.com>
3455
3456 * config/mn10300/mn10300.c (TARGET_DEFAULT_TARGET_FLAGS): Add
3457 MASK_PTR_A0D0.
3458 (mn10300_return_in_memory): Support variable size types also.
3459 (mn10300_pass_by_reference): Likewise.
3460 (mn10300_function_value): New.
3461 * config/mn10300/mn10300.h (FUNCTION_VALUE): Call the above.
3462 (FUNCTION_OUTGOING_VALUE): Likewise.
3463 * config/mn10300/mn10300.opt: Add -mreturn-pointer-on-d0.
3464 * doc/invoke.texi: Document it.
3465
d06e6434
UB
34662005-09-21 Uros Bizjak <uros@kss-loka.si>
3467
3468 PR target/22585
3469 * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
3470 force integer op1 into register for XFmode compares.
3471
0178027c
KH
34722005-09-21 Kazu Hirata <kazu@codesourcery.com>
3473
647c66cd 3474 PR middle-end/23971
0178027c
KH
3475 * expmed.c (alg_code): Add alg_impossible.
3476 (alg_hash_entry): Add cost.
3477 (synth_mult): Record alg_impossible in the hash table if
3478 multiplication by a given integer is impossble within the
3479 limit. Speed up using alg_impossible.
3480
d52225be
DB
34812005-09-20 Daniel Berlin <dberlin@dberlin.org>
3482
3483 * tree-ssa-structalias.c (get_constraint_for_component_ref): Add
3484 argument. Allow and set any offset if needs_anyoffset is passed
3485 in.
3486 (get_constraint_for): Add argument here too.
3487 Pass it down.
3488 (do_structure_copy): Pass NULL to get_constraint_for.
3489 (handle_ptr_arith): Ditto.
3490 (find_func_aliases): Ditto.
3491
070a7956
R
34922005-09-20 J"orn Rennecke <joern.rennecke@st.com>
3493
3494 PR rtl-optimization/23898
3495 * output.h (get_attr_min_length): Declare.
3496 * final.c (get_attr_length_1): New function, broken out of:
3497 (get_attr_length).
3498 (get_attr_min_length): New function.
3499 * bb-reorder.c (copy_bb_p, get_uncond_jump_length): Use it.
3500 (duplicate_computed_gotos): Likewise.
3501 * genattr.c (insn_min_length): Generate declaration.
3502 * genattrtab.c (min_fn, min_attr_value): New functions.
3503 (make_length_attrs): Generate insn_min_length.
3504
9972f30d
SE
35052005-09-20 Steve Ellcey <sje@cup.hp.com>
3506
3507 * config/pa/pa.c (output_cbranch): Check for zero in operands[2].
3508
29b2d867
RH
35092005-09-20 Richard Henderson <rth@redhat.com>
3510
577b2a06 3511 PR tree-optimization/24059
29b2d867
RH
3512 * expr.c (expand_expr_real_1) <INDIRECT_REF>: Allow modifier
3513 EXPAND_STACK_PARM.
3514
af15a2fe
JM
35152005-09-20 Joseph S. Myers <joseph@codesourcery.com>
3516
3517 * c.opt (fextended-identifiers): New.
3518 * c-opts.c (c_common_handle_option): Handle
3519 -fextended-identifiers.
3520 * doc/cpp.texi: Update documentation of extended identifiers.
3521 * doc/cppopts.texi (-fextended-identifiers): Document.
3522
18c57f2c
JJ
35232005-09-20 Jakub Jelinek <jakub@redhat.com>
3524
6fff2603
JJ
3525 PR tree-optimization/23929
3526 * tree-ssa-loop-niter.c (expand_simple_operations): Return immediately
3527 if expr is NULL.
3528
18c57f2c
JJ
3529 PR tree-optimization/23818
3530 * tree-stdarg.c (execute_optimize_stdarg): Call
3531 calculate_dominance_info.
3532
1c8cd54d 35332005-09-20 Daniel Berlin <dberlin@dberlin.org>
416f403e
DB
3534
3535 * tree-data-ref.c (get_number_of_iters_for_loop): New function.
3536 (analyze_siv_subscript_cst_affine): Add weak SIV test.
3537 (compute_overlap_steps_for_affine_1_2): Use
3538 get_number_of_iters_for_loop.
3539 (analyze_subscript_affine_affine): Check whether difference is
3540 zero first.
3541 Use get_number_of_iters_for_loop.
3542 Check whether overlap occurs outside of bounds.
3543 (analyze_miv_subscript): Use get_number_of_iters_for_loop.
3544
39278c14
AK
35452005-09-20 Andreas Krebbel <krebbel1@de.ibm.com>
3546
3547 * tree-ssa-address.c (create_mem_ref): Put the symbol reference into the
3548 base register if possible.
3549
2282a0e6
ZD
35502005-09-20 Zdenek Dvorak <dvorakz@suse.cz>
3551
3552 PR tree-optimization/18463
3553 * tree-chrec.c (chrec_convert): Return fold_converted chrec if
3554 converting it directly is not possible.
3555 (chrec_convert_aggressive): New function.
3556 * tree-chrec.h (chrec_convert_aggressive): Declare.
3557 * tree-scalar-evolution.c (instantiate_parameters_1, resolve_mixers):
3558 Fold chrec conversions aggressively if asked to.
3559 (instantiate_parameters): Modified because of changes in
3560 instantiate_parameters_1.
3561
e20524fa
RH
35622005-09-19 Richard Henderson <rth@redhat.com>
3563
3564 * config/i386/sse.md (reduc_splus_v4sf): Rename from reduc_plus_v4sf.
3565 (reduc_splus_v2df): New.
3566
20de58d9
RS
35672005-09-19 Richard Sandiford <richard@codesourcery.com>
3568
3569 * config/arm/aof.h (REGISTER_NAMES): Add missing backslash.
3570 (ADDITIONAL_REGISTER_NAMES): Add missing comma. Remove final comma.
3571
2a23f9a7
RH
35722005-09-19 Richard Henderson <rth@redhat.com>
3573
3574 * config/i386/sse.md (vcondu<SSEMODE124>): Rename from
3575 vcondu<SSEMODE12>.
3576
e898620c
RH
35772005-09-19 Richard Henderson <rth@redhat.com>
3578
3579 * config/ia64/ia64.c (ia64_expand_widen_sum): New.
3580 (ia64_expand_dot_prod_v8qi): New.
3581 * config/ia64/ia64-protos.h: Update.
3582 * config/ia64/vect.md (pmpy2_r, pmpy2_l, widen_usumv8qi3,
3583 widen_usumv4hi3, widen_ssumv8qi3, widen_ssumv4hi3, udot_prodv8qi,
3584 sdot_prodv8qi, sdot_prodv4hi): New.
3585 (reduc_splus_v2sf): Rename from reduc_plus_v2sf.
3586
d289e37a
RH
35872005-09-19 Richard Henderson <rth@redhat.com>
3588
3589 PR 23941
3590 * real.c (exact_real_truncate): Return false if the format cannot
3591 represent the number as a normal.
3592
a220ee34
RH
3593 * config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0
3594 for a memory source.
3595
3c7d0735
DN
35962005-09-19 Dorit Nuzman <dorit@il.ibm.com>
3597
3598 * tree-ssa-operands.c (swap_tree_operands): Export.
3599 * tree.h (swap_tree_operands): Declare.
3600 * tree-vectorizer.c (vect_is_simple_reduction): Remove ATTRIBUTE_UNUSED.
3601 Call swap_tree_operands.
759915ca 3602
99c09897
RH
36032005-09-19 Richard Henderson <rth@redhat.com>
3604
3605 * tree-flow.h (merge_alias_info): Declare.
3606 * tree-ssa-copy.c (merge_alias_info): Export.
3607 * tree-vect-transform.c (vect_create_index_for_vector_ref): Remove.
3608 (vect_create_data_ref_ptr): Use create_iv directly.
3609 (vectorizable_load): Use correct types for integer constants.
3610 (vect_generate_tmps_on_preheader): Likewise.
3611 (vect_gen_niters_for_prolog_loop): Likewise.
3612
31c304ba
SB
36132005-09-19 Steven Bosscher <stevenb@suse.de>
3614
3615 PR rtl-optimization/23943
3616 * cse.c (find_best_addr): Never propagate an EXPR_LIST rtx.
3617
e238ccac
JH
36182005-09-18 Jan Hubicka <jh@suse.cz>
3619
3620 * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK.
3621
f7952e0a
EB
36222005-09-18 Eric Botcazou <ebotcazou@adacore.com>
3623
3624 * varasm.c (output_constant): Do not abort on conversions to union
3625 types between different sizes.
3626
c2953725
RG
36272005-09-18 Richard Guenther <rguenther@suse.de>
3628
3629 PR middle-end/23944
3630 * gimplify.c (fold_indirect_ref_rhs): Fix thinko in
3631 fallback.
3632
798d7d9d
PB
36332005-09-18 Paul Brook <paul@codesourcery.com>
3634
3635 * config/m68k/fpgnuib.c (__floatsidf): Don't rely on signed overflow.
3636
b1e8be10
RH
36372005-09-17 Richard Henderson <rth@redhat.com>
3638
3639 * tree-pass.h, tree-flow.h, tree-ssa-dce.c: Revert last change.
3640 * tree-ssa-loop.c (pass_vect_dce): Remove.
3641 * passes.c (init_optimization_passes): Add pass_dce as a sub-pass
3642 of pass_vectorize.
3643
8fe07c42
RH
36442005-09-17 Richard Henderson <rth@redhat.com>
3645
3646 * tree-pass.h (pass_vect_dce): Declare.
3647 * passes.c (init_optimization_passes): Add it.
3648 * tree-flow.h (tree_ssa_dce): Declare.
3649 * tree-ssa-dce.c (tree_ssa_dce): Export.
3650 * tree-ssa-loop.c (tree_vectorize): Move current_loops check ...
3651 (gate_tree_vectorize): ... here.
3652 (pass_vect_dce): New.
3653
0856ee98
JH
36542005-09-17 Jan Hubicka <jh@suse.cz>
3655
3656 * except.c (struct eh_status): Turn region_array into vec.
3657 (expand_resx_expr, collect_eh_region_array, remove_unreachable_regions,
759915ca
EC
3658 convert_from_eh_region_ranges, find_exception_handler_labels,
3659 current_function_has_exception_handlers, assign_filter_values,
0856ee98
JH
3660 build_post_landing_pads, dw2_build_landing_pads,
3661 sjlj_find_directly_reachable_regions, sjlj_mark_call_sites,
3662 sjlj_emit_dispatch_table, remove_eh_handler, for_each_eh_region,
3663 foreach_reachable_handler, can_throw_internal_1,
3664 convert_to_eh_region_ranges, verify_eh_tree): Update uses of
3665 region_array.
3666 (duplicate_eh_region_1): Update region_array.
3667 (duplicate_eh_regions): Resize region_array and avoid recomputing.
3668
53c4ca47
DE
36692005-09-17 David Edelsohn <edelsohn@gnu.org>
3670
3671 PR middle-end/22067
3672 * expmed.c (expand_mult): Substitute simple register for op0 when
3673 computing max_cost.
3674
652b0932
RH
36752005-09-17 Richard Henderson <rth@redhat.com>
3676
3677 * expr.c (emit_move_via_integer): Add force argument, pass it on
3678 to emit_move_change_mode. Update callers.
3679 (emit_move_complex): Pass true to new force argument.
3680 * function.c (expand_function_end): Move expand_eh_return call
3681 earlier. Merge sub-word complex values into a pseudo before
3682 copying to the return hard register.
3683
69fcfd68
EB
36842005-09-17 Eric Botcazou <ebotcazou@adacore.com>
3685
3686 * varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
3687 between different sizes.
3688
6a4e4778
PB
36892005-09-16 Paolo Bonzini <bonzini@gnu.org>
3690
3691 PR 23903
3692
3693 * passes.c (init_optimization_passes): Register dump files for
3694 IPA passes first.
3695
bcf8c1cc
AK
36962005-09-16 Andreas Krebbel <krebbel1@de.ibm.com>
3697
3698 * config/s390/s390-protos.h (s390_overlap_p): Prototype added.
3699 * config/s390/s390.c (s390_overlap_p): New function.
3700 * config/s390/s390.md ("*mvc" peephole2, "*nc" peephole2, "*oc"
3701 peephole2, "*xc" peephole2): Added overlap check to the peephole2
3702 condition.
3703
f7acf1c2
RG
37042005-09-16 Richard Guenther <rguenther@suse.de>
3705
3706 * ipa-pure-const.c (static_execute): Free auxiliar information.
3707 * ipa-type-escape.c (discover_unique_type): Free temporary key.
3708 * tree-vrp.c (remove_range_assertions): Free blocks_visited sbitmap.
3709
f5ea2dca
DD
37102005-09-15 DJ Delorie <dj@redhat.com>
3711
3712 * config/m32c/m32c-lib1.S (__m32c_eh_return): Fix typo.
3713
9026e8d4
PB
37142005-09-15 Paolo Bonzini <bonzini@gnu.org>
3715
3716 * optabs.c (expand_binop): Use swap_commutative_operands_with_target
3717 to order operands.
3718 (swap_commutative_operands_with_target): New.
3719
14b33c04
DB
37202005-09-15 Daniel Berlin <dberlin@dberlin.org>
3721
3722 * tree-data-ref.c (analyze_array_indexes): Add estimate_only
3723 parameter.
3724 Update callers.
3725 (estimate_iters_using_array): New function.
3726 * tree-data-ref.h (estimate_iters_using_array): Prototype
3727 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
3728 Use estimate_iters_using_array instead of analyze_array.
759915ca 3729
d430cbe7
EB
37302005-09-15 Eric Botcazou <ebotcazou@adacore.com>
3731
3732 * tree-nested.c (get_frame_type): Mark the "non-local frame structure"
3733 as addressable.
3734
fca59ed2
MM
37352005-09-15 Michael Matz <matz@suse.de>
3736
3737 * tree-vrp.c (vrp_int_const_binop <MINUS_EXPR>): Handle 0 - -INF.
3738
fd312e90
DB
37392005-09-14 Daniel Berlin <dberlin@dberlin.org>
3740
3741 PR tree-optimization/23835
3742 * tree-ssa-alias.c (sort_pointers_by_pt_vars): New function.
3743 (create_name_tags): Rewrite to be not O(num_ssa_names^2).
3744
47b71abb
RH
37452005-09-14 Richard Henderson <rth@redhat.com>
3746
3747 * config/ia64/vect.md (addv2sf3, subv2sf3): Rewrite as expand.
3748 (addv2sf3_1, addv2sf3_2, subv2sf3_1, subv2sf3_2): New.
3749
5139c66b
AP
37502005-09-14 Andrew Pinski <pinskia@physics.uc.edu>
3751
3752 * config/i386/i386.c (contains_128bit_aligned_vector_p): Add break
3753 in the ARRAY_TYPE case.
3754
7ad00e13
EB
37552005-09-14 Eric Botcazou <ebotcazou@adacore.com>
3756
3757 * tree.c (substitute_in_expr, case 4): New case, for ARRAY_REF.
3758
b2d16a23
UB
37592005-09-14 Uros Bizjak <uros@kss-loka.si>
3760
3761 PR middle-end/22480
3762 * tree-vect-transform.c (vectorizable_operation): Return false for
3763 scalar shift operations and for vector shift operations with
3764 non-invariant shift arguments. Use scalar tree operand op1 as
3765 a shift operand when vector shift insn pattern uses scalar shift
3766 operand.
3767 * Makefile.in (tree-vect-transform.o): Depend on recog.h.
3768
816fa80a
OH
37692005-09-14 Olivier Hainque <hainque@adacore.com>
3770
3771 * gimplify.c (gimplify_init_ctor_eval): Don't discard a zero-sized
3772 value if it has side-effects.
3773
c9692532
DE
37742005-09-14 David Edelsohn <edelsohn@gnu.org>
3775
3776 PR target/22068
3777 * config/rs6000/rs6000.md (muldi3): Add mulli alternative.
3778
00754468
AM
37792005-09-14 Alan Modra <amodra@bigpond.net.au>
3780
3781 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
3782 passed as NAME as if it were label at start of function code.
3783
18943792
KK
37842005-09-13 Kaz Kojima <kkojima@gcc.gnu.org>
3785
3786 * config/sh/sh.md (*movv4sf_i): Add general register cases to
3787 the constraints.
3788
af8e8908
AP
37892005-09-13 Andrew Pinski <pinskia@physics.uc.edu>
3790
3791 * config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint
3792 as early clobber. Rewrite so the PIC register is not implicitly used.
3793
282c3fdc
VR
37942005-09-13 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
3795
3796 * tree.c (annotate_with_file_line): Compare line numbers before
3797 file names.
3798
79e72538
UB
37992005-09-13 Uros Bizjak <uros@kss-loka.si>
3800
3801 PR target/23816
3802 * config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3)
3803 (*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns.
3804
1984d2e8
ILT
38052005-09-13 Ian Lance Taylor <ian@airs.com>
3806
3807 * loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather
3808 than a HOST_WIDEST_INT to gen_doloop_begin.
3809
5681f1ab
DN
38102005-09-13 Diego Novillo <dnovillo@redhat.com>
3811
3812 * tree-dfa.c (dump_variable): Guard against NULL annotations.
3813
d7f0e25c
ZD
38142005-09-13 Zdenek Dvorak <dvorakz@suse.cz>
3815
3816 PR tree-optimize/23817
3817 * tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.
3818
2eef28ec
AM
38192005-09-13 Alan Modra <amodra@bigpond.net.au>
3820
3821 PR target/23774
3822 * config/rs6000/rs6000.md (restore_stack_block): Write the backchain
3823 word before changing the stack pointer. Use gen_frame_mem for MEMs.
3824 Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
3825 (restore_stack_nonlocal): Likewise.
3826 (save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.
3827
d63d5d0c
ILT
38282005-09-12 Ian Lance Taylor <ian@airs.com>
3829
3830 PR g++/7874
3831 * c.opt (ffriend-injection): New C++ option.
3832 * doc/invoke.texi (Option Summary): Mention -ffriend-injection.
3833 (C++ Dialect Options): Document -ffriend-injection.
3834
d840283a
JC
38352005-09-12 Josh Conner <jconner@apple.com>
3836
3837 PR middle-end/23237
3838 * ipa-reference.c (static_execute): Don't mark variables in
3839 named sections TREE_READONLY.
3840
309ebcd0
AM
38412005-09-12 Alan Modra <amodra@bigpond.net.au>
3842
3843 * config/rs6000/rs6000.c (get_next_active_insn): Simplify test for
3844 stack_tie.
3845
8d099498
AP
38462005-09-12 Andrew Pinski <pinskia@physics.uc.edu>
3847
759915ca 3848 * tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and
8d099498 3849 V_MUST_DEF instead of just the first_use_p.
759915ca 3850 Don't mark the virtual variables for renaming on the statement which
8d099498
AP
3851 is being removed.
3852 (pass_dse): Remove TODO_update_ssa.
3853
cd41bae5
R
38542005-09-12 J"orn Rennecke <joern.rennecke@st.com>
3855
f439f9a5
R
3856 PR middle-end/23290
3857 * stor-layout.c (compute_record_mode): For records with a single
3858 field, actually check the field's mode size against the type size.
3859
cd41bae5
R
3860 * sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose
3861 registers for TARGET_SHMEDIA.
3862 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename
3863 GENERAL_FP_REGS to GENERAL_DF_REGS. Add GENERAL_FP_REGS as union
3864 of GENERAL_REGS and FP_REGS.
3865
b99791d1
BS
38662005-09-12 Bernd Schmidt <bernd.schmidt@analog.com>
3867
309ebcd0 3868 * config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.
b99791d1 3869
f489aff8
AM
38702005-09-12 Alan Modra <amodra@bigpond.net.au>
3871
3872 * config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
3873 CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels
3874 are omitted. Exclude stack_tie insn too.
3875
8308679f
DE
38762005-09-11 David Edelsohn <edelsohn@gnu.org>
3877
3878 PR rtl-optimization/23098
3879 * config/rs6000/predicates.md (easy_fp_constant): SFmode constant
3880 0.0f is easy.
3881 * config/rs6000/rs6000.md (movdf splitter): Use
3882 const_double_operand predicate for TARGET_POWERPC64.
3883 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand
3884 SYMBOL_REF method to ABI_V4.
3885
3886 * config/rs6000/altivec.md (build_vector_mask_for_load): Use
3887 replace_equiv_address.
3888 * config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as
3889 rs6000_sr_alias_set and MEM_NOTRAP.
3890 (rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem().
3891
4c223d6a
EB
38922005-09-11 Eric Botcazou <ebotcazou@adacore.com>
3893
3894 * tree.c (contains_placeholder_p) <tcc_expression>: Properly
3895 handle CALL_EXPR again.
3896
2347f5c9
RE
38972005-09-11 Richard Earnshaw <richard.earnshaw@arm.com>
3898
3899 * arm/predicates.md (alignable_memory_operand): Delete.
3900
4e0e2698
RH
39012005-09-10 Richard Henderson <rth@redhat.com>
3902
3903 PR debug/23806
3904 * dbxout.c (dbxout_expand_expr): New.
3905 (dbxout_symbol): Use it.
3906
31fa16b6
RE
39072005-09-10 Richard Earnshaw <richard.earnshaw@arm.com>
3908
3909 * arm.c (arm_gen_rotated_half_load): Delete.
3910 (vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem.
3911 (emit_multi_reg_push, emit_sfm, arm_expand_prologue)
3912 (thumb_set_return_address): Likewise.
3913 (thumb_load_double_from_address): Use adjust_address.
3914 * arm.md (splits calling arm_gen_rotated_half_load): Delete.
3915 (extendhsisi2_mem, movhi_bytes): Use change_address.
3916 (movhi): Use widen_memory_access.
3917 (reload_out_df): Use replace_equiv_address.
3918 * arm-protos.h (arm_gen_rotated_half_load): Delete prototype.
3919
9bfa80fb
RH
39202005-09-09 Richard Henderson <rth@redhat.com>
3921
3922 PR debug/20998
3923 * dbxout.c: Include expr.h.
3924 (dbxout_global_decl): Don't suppress for DECL_RTL unset.
3925 (dbxout_symbol): Handle DECL_VALUE_EXPR.
3926 * Makefile.in (dbxout.o): Add EXPR_H.
3927
2360a4c1
ZD
39282005-09-09 Zdenek Dvorak <dvorakz@suse.cz>
3929
3930 PR tree-optimization/23509
3931 * tree-cfg.c (replace_uses_by): Use replace_exp.
3932 * tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
3933 pointers have name_mem_tag or type_mem_tag set.
3934
7ce7896c
SP
39352005-09-09 Sebastian Pop <pop@cri.ensmp.fr>
3936
759915ca 3937 * tree-chrec.c (evolution_function_is_invariant_rec_p): Use
7ce7896c
SP
3938 CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
3939 of wrongly accessing operands.
3940
18aed06a
SP
39412005-09-09 Sebastian Pop <pop@cri.ensmp.fr>
3942
3943 * Makefile.in (tree-chrec.o): Depends on SCEV_H.
3944 * tree-chrec.c: Include tree-scalar-evolution.h.
3945 (chrec_convert): Instantiate the base and step before calling
3946 scev_probably_wraps_p that would fail on parametric evolutions.
3947 Collect all the fails into a single section failed_to_convert,
3948 print a diagnostic, and return chrec_dont_know instead of calling
3949 fold_convert.
3950 * tree-scalar-evolution.c (loop_closed_phi_def): New.
3951 (instantiate_parameters_1): Avoid instantiation of loop closed ssa
3952 phi nodes.
3953 (scev_const_prop): Don't replace the definition of a loop closed ssa
3954 phi node by itself, or by another loop closed ssa phi node.
3955 * tree-ssa-loop-niter.c (scev_probably_wraps_p, convert_step): Check
3956 that base and step are defined.
3957
3dac16bd
RG
39582005-09-09 Richard Guenther <rguenther@suse.de>
3959
3960 PR c++/23624
3961 * fold-const.c (fold_ternary): Check truth_value_p before
3962 calling invert_truthvalue.
3963
dcfae47c
NC
39642005-09-09 Nick Clifton <nickc@redhat.com>
3965
3966 * Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
3967 * libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed
3968 dimension of these arrays.
3969 * libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of
3970 these arrays.
3971 * longlong.h: Only provide a prototype for the __clz_tab[] array
3972 if this header has not been included from libgcc2.h.
3973 * config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than
3974 defining own types.
3975 Provide prototypes for exported functions.
3976 Use the __clz_tab[] and __popcount_tab[] arrays provided by
3977 libgcc2.c.
3978
d047a201
JC
39792005-09-08 Josh Conner <jconner@apple.com>
3980
70e9e3d6 3981 PR c++/21135
d047a201
JC
3982 PR c++/23180
3983 * expr.c (expand_expr_addr_expr_1): Don't invoke
3984 expand_simple_binop for EXPAND_INITIALIZER.
3985
db5f8b93
RH
39862005-09-08 Richard Henderson <rth@redhat.com>
3987
3988 PR debug/23190
3989 * toplev.c (wrapup_global_declaration_1): Split out ...
3990 (wrapup_global_declaration_2): ... from ...
3991 (wrapup_global_declarations): ... here. Return bool.
3992 (check_global_declaration_1): Split out ...
3993 (check_global_declarations): from here.
3994 (emit_debug_global_declarations): New.
3995 * toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
3996 check_global_declaration_1, emit_debug_global_declarations): Declare.
3997 * c-decl.c (c_write_global_declarations_1): Don't create a vector
3998 of decls. Call wrapup_global_declaration_1,
3999 wrapup_global_declaration_2, check_global_declaration_1 directly.
4000 (c_write_global_declarations_2): New.
4001 (ext_block): New.
4002 (c_write_global_declarations): Call c_write_global_declarations_2.
4003 * langhooks.c (write_global_declarations): Call
4004 emit_debug_global_declarations.
4005
4006 * cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
4007 remove decls that have DECL_RTL_SET_P.
4008 * passes.c (rest_of_decl_compilation): Invoke
4009 cgraph_varpool_finalize_decl for all but functions.
4010
5c9186ce
EB
40112005-09-08 Eric Botcazou <ebotcazou@libertysurf.fr>
4012
4013 * tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
4014 the result of a conversion if the new min and max cannot be compared.
4015
dcc9eb26
AK
40162005-09-08 Andreas Krebbel <krebbel1@de.ibm.com>
4017
4018 * config/s390/s390.c (s390_sr_alias_set): Variable removed.
4019 (override_options): Setting s390_sr_alias_set removed.
4020 (save_fpr, save_gprs): Set alias set to vararg or frame.
759915ca 4021 (restore_fpr, restore_gprs, s390_emit_prologue): Replace
dcc9eb26
AK
4022 s390_sr_alias_set with get_frame_alias_set ().
4023 (s390_gimplify_va_arg): Replace s390_sr_alias_set with
4024 get_varargs_alias_set ().
4025
8f078c08
AP
40262005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
4027
4028 PR objc/20574
4029 PR objc/19324
4030 * c-parser.c (c_parser_objc_method_definition): If the next
4031 token is not "{", error out and don't start the function.
4032
0c924d5c
AP
40332005-09-08 Andrew Pinski <pinskia@physics.uc.edu>
4034
4035 * tree-vrp.c (extract_range_from_expr): Move the check for non
4036 nullness after the check for gimple invariant.
4037
9f36bc49
RK
40382005-09-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4039
4040 * tree.c (host_integerp, tree_low_cst): Correct function comment.
4041
085fd657
KI
40422005-09-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
4043
4044 PR target/23747
4045 * config/m32r.md (movmemsi_internal): Canonicalize order of
4046 operands in PLUS component of template.
4047
b735f45d
AK
40482005-09-07 Andreas Krebbel <krebbel1@de.ibm.com>
4049
4050 * reload1.c (fixup_eh_region_note): Remove assertion.
759915ca 4051 (fixup_abnormal_edges): Reverted removal of call to
b735f45d
AK
4052 find_many_sub_basic_blocks made on 2005-08-31.
4053
30e6f306
RH
40542005-09-07 Richard Henderson <rth@redhat.com>
4055
8fe07c42
RH
4056 * function.c (ARG_POINTER_CFA_OFFSET): Move ...
4057 * defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
30e6f306 4058 (INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
8fe07c42
RH
4059 * dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
4060 rearrange for better packing.
30e6f306 4061 (INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
8fe07c42
RH
4062 (lookup_cfa_1): Remove inline marker.
4063 (cfa_equal_p): Split out of ...
4064 (def_cfa_1): ... here. Use INVALID_REGNUM.
4065 (build_cfa_loc): Handle !cfa->indirect.
4066 (frame_pointer_cfa_offset): New.
4067 (dbx_reg_number): Assert register elimination performed; do
4068 leaf register remapping.
4069 (reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
4070 (eliminate_reg_to_offset): New.
4071 (based_loc_descr): Remove can_use_fbreg argument. Use fbreg only
4072 for verifiably local stack frame addresses; re-base to CFA.
4073 (mem_loc_descriptor): Remove can_use_fbreg argument.
4074 (concat_loc_descriptor, loc_descriptor): Likewise.
4075 (containing_function_has_frame_base): Remove.
4076 (rtl_for_decl_location): Don't do register elimination or
4077 leaf register remapping here.
4078 (secname_for_decl): Split out from ..
4079 (add_location_or_const_value_attribute): ... here.
4080 (convert_cfa_to_loc_list): New.
4081 (compute_frame_pointer_to_cfa_displacement): New.
4082 (gen_subprogram_die): Use them.
4083 * tree.h (frame_base_decl): Remove.
4084 * var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
4085 (prologue_stack_adjust): Remove.
4086 (vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
4087 (adjust_stack_reference): Re-base memories to arg_pointer_rtx.
4088 (set_frame_base_location): Remove.
4089 (compute_bb_dataflow, emit_notes_in_bb): Don't call it.
4090 (dump_attrs_list, dump_dataflow_set): Use string concatenation.
4091 (vt_add_function_parameters): Don't eliminate_regs.
4092 (vt_initialize): Don't create frame_base_decl.
30e6f306 4093
ff8f80f2
EB
40942005-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
4095
4096 * doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
4097 version of GNU binutils for 4.x and later.
4098
6f02b1db
MM
40992005-09-06 Mark Mitchell <mark@codesourcery.com>
4100
4101 * ggc-page.c (ggc_push_context): Remove.
4102 (ggc_pop_context): Likewise.
4103 * ggc.h (ggc_push_context): Remove.
4104 (ggc_pop_context): Likewise.
4105
3273516f
SV
41062005-09-06 Saurabh Verma <saurabh.verma@codito.com>
4107
4108 PR target/8973
4109 * config/arc/arc.c (arc_output_function_epilogue): Update flags while
4110 returning from an interrupt handler.
4111
006fa7d4
SV
41122005-09-06 Saurabh Verma <saurabh.verma@codito.com>
4113
4114 PR target/8972
4115 * config/arc/arc.c (output_shift): Add check for loop count when
4116 optimizing.
4117
800dd123
SB
41182005-09-06 Steven Bosscher <stevenb@suse.de>
4119
4120 * tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA
4121 form manually.
4122 (abs_replacement): Likewise.
4123 (pass_phiopt): Remove TODO_update_ssa.
4124
73109af7
JJ
41252005-09-06 Jakub Jelinek <jakub@redhat.com>
4126
0c9b182b
JJ
4127 PR c/23075
4128 * c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
4129 if "return with no value, in function returning non-void" warning
4130 has been issued.
800dd123 4131 * tree-cfg.c (execute_warn_function_return): Don't look at
0c9b182b
JJ
4132 RETURN_EXPRs with TREE_NO_WARNING set.
4133
73109af7
JJ
4134 PR target/22362
4135 * config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
4136 for internal functions doesn't use registers used by global registers
4137 variables. Use fewer register parameters if there are global register
4138 variables.
4139
60a23e2e 41402005-09-06 Olivier Hainque <hainque@adacore.com>
800dd123 4141 Eric Botcazou <ebotcazou@adacore.com>
60a23e2e
OH
4142
4143 PR middle-end/14997
4144 * expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
4145 when we would be extracting outside its bit span (bitpos+bitsize
4146 larger than its mode), possible with some VIEW_CONVERT_EXPRs from
4147 Ada unchecked conversions.
4148
dda243de
SB
41492005-09-06 Steven Bosscher <stevenb@suse.de>
4150
4151 * tree-ssa-pre.c (try_look_through_load): New function.
4152 (compute_avail): Use it to try to look through loads for some
4153 more useful expressions.
4154
f5d1572a
SV
41552005-09-06 Saurabh Verma <saurabh.verma@codito.com>
4156
759915ca 4157 * simplify-rtx.c (simplify_binary_operation_1): Correct the
f5d1572a
SV
4158 condition for detecting cases like (a&a) and (a^a).
4159
c12cc930
KB
41602005-09-06 Keith Besaw <kbesaw@us.ibm.com>
4161
4162 * common.opt: Add option ftree-vect-loop-version.
4163 * params.def: Add --param vect-max-version-checks.
4164 * doc/invoke.texi: Document ftree-vect-loop-version and
4165 --param vect-max-version-checks.
4166 * tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
4167 may_misalign_stmts and defines for accessors.
4168 * tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
4169 LOOP_VINFO_MAY_MISALIGN_STMTS.
4170 (destroy_loop_vec_info): VEC_free for
4171 LOOP_VINFO_MAY_MISALIGN_STMTS.
4172 * tree-vect-analyze.c (vect_compute_data_ref_alignment):
4173 Update documentation.
4174 (vect_update_misalignment_for_peel): New.
4175 (vect_enhance_data_refs_alignment): Update to choose loop
4176 peeling or loop versioning if appropriate for the (potentially)
4177 unaligned data references in the loop.
4178 (vect_analyze_data_refs_alignment): Remove call to
4179 vect_enhance_data_refs_alignment so the checks can be done
4180 earlier.
4181 (vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
4182 and move up call to vect_analyze_data_refs_alignment.
4183 * tree-vect-transform.c (vect_create_cond_for_align_checks): New.
4184 (vect_transform_loop): Add call to loop_version.
4185
1c653a41
JJ
41862005-09-06 Jakub Jelinek <jakub@redhat.com>
4187
4188 PR rtl-optimization/23098
4189 * cse.c (fold_rtx_mem): Call delegitimize_address target hook.
4190 * simplify-rtx.c (constant_pool_reference_p): New function.
4191 * rtl.h (constant_pool_reference_p): New prototype.
4192 * config/i386/i386.md (pushf split, mov[sdx]f split): Use
4193 constant_pool_reference_p in condition and
4194 avoid_constant_pool_reference in preparation statements.
4195
70a640af
AK
41962005-09-06 Andreas Krebbel <krebbel1@de.ibm.com>
4197
759915ca 4198 * gcse.c (try_replace_reg): Disallow REG_EQUAL notes for
70a640af
AK
4199 STRICT_LOW_PART SETs.
4200
fc781ee0
AM
42012005-09-06 Alan Modra <amodra@bigpond.net.au>
4202
4203 PR middle-end/21460
4204 * except.c (sjlj_emit_function_enter): Find the function begin
4205 note even when it's not in first basic block.
4206
67da1534
KC
42072005-09-06 Kelley Cook <kcook@gcc.gnu.org>
4208
4209 * acinclude.m4: Renamed from aclocal.m4. Delete AM_LANGINFO_CODESET,
4210 AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
4211 * aclocal.m4: Regenerate.
4212
dc019eb8
DD
42132005-09-05 DJ Delorie <dj@redhat.com>
4214
4215 * config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
4216 of macro.
4217
57b51d4d
KH
42182005-09-06 Kazu Hirata <kazu@codesourcery.com>
4219
4220 * gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
4221 config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
4222 config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
4223 Follow spelling conventions.
4224 * doc/invoke.texi: Follow spelling conventions.
4225
bf877a76
R
42262005-09-05 J"orn Rennecke <joern.rennecke@st.com>
4227
4228 * rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
4229 * emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
4230 * builtins.c (expand_builtin_return_addr): Use gen_frame_mem.
4231
57d38024
R
42322005-09-05 J"orn Rennecke <joern.rennecke@st.com>
4233
4234 PR target/23683
4235 * sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
4236 (output_stack_adjust): Use gen_tmp_stack_mem.
4237 (sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
4238 (sh_set_return_address, sh_allocate_initial_value): Likewise.
4239 (sh_get_pr_initial_val): Likewise.
4240 (sh_builtin_saveregs): Use gen_frame_mem and change_address.
4241 (sh_initialize_trampoline): Likewise. Also use adjust_address.
4242 * sh.md (divsi_inv_m0): Use gen_const_mem.
4243 (push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
4244 (movdf_i4+1): Use gen_tmp_stack_mem.
4245 (reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
4246 (fpu_switch+2): Likewise.
4247 (movv4sf_i, movv16sf_i): Use adjust_address.
4248 (symGOT_load): Set MEM_NOTRAP_P bit.
4249
1c9ef36d
JDA
42502005-09-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4251
4252 PR target/23721
4253 * pa.c (emit_move_sequence): Fix typo in last change.
4254
7a6b7528
JJ
42552005-09-03 Jakub Jelinek <jakub@redhat.com>
4256
4257 PR rtl-optimization/23454
4258 * reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
4259 is true.
4260
7c95bbfb
RH
42612005-09-03 Richard Henderson <rth@redhat.com>
4262 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4263
4264 PR middle-end/23671
800dd123 4265 * pa.c (emit_move_sequence): Use replace_equiv_address instead of
7c95bbfb
RH
4266 gen_rtx_MEM.
4267
b107d743
NP
42682005-09-02 Nicolas Pitre <nico@cam.org>
4269
4270 * config/arm/arm.c (arm_legitimize_address): Limit the value passed
4271 to bit_count to 32 bits.
4272
a38578e1
MM
42732005-08-31 Mark Mitchell <mark@codesourcery.com>
4274
4275 PR c++/23167
4276 * gimplify.c (gimplify_expr): Handle TREE_ADDRESSABLE types when
4277 generating synthetic loads from volatile lvalues.
4278
ebf178cd
NC
4279005-09-02 Nick Clifton <nickc@redhat.com>
4280
4281 * config/stormy16/stormy16-lib2.c (__popcounthi2, __parityhi2,
4282 __ctzhi2, __clzhi2): New functions.
4283
9bf777ee
AP
42842005-09-02 Andrew Pinski <pinskia@physics.uc.edu>
4285
4286 PR middle-end/23547
4287 * tree-nested.c (struct var_map_elt): Mark with GTY.
4288 (struct nesting_info): Mark with GTY. Mark var_map's param is struct
4289 var_map_elt.
4290 (lookup_field_for_decl): Allocate new element in GC memory.
4291 (lookup_tramp_for_decl): Likewise.
4292 (convert_nl_goto_reference): Likewise
4293 (create_nesting_tree): Allocate info in GC memory. Likewise for
4294 info->var_map.
4295 (free_nesting_tree): Free with ggc_free instead of free.
4296 (root): New static variable.
4297 (lower_nested_functions): Remove root as local variable. And zero out
4298 root at the end of the function.
4299
f805670f
R
43002005-09-02 J"orn Rennecke <joern.rennecke@st.com>
4301
4302 PR rtl-optimization/20365
4303 * simplify-rtx.c (simplify_plus_minus_op_data): Change type of neg
4304 to short. New member ix.
4305 (simplify_plus_minus_op_data_cmp): Break ties using ix member.
4306 (simplify_plus_minus): Initialize ix members before calling qsort.
4307
b8c4f9a4
ZD
43082005-09-02 Zdenek Dvorak <dvorakz@suse.cz>
4309
4310 PR tree-optimization/23626
4311 * tree-cfg.c (replace_uses_by): Clean up eh info.
4312
73eb8cb6
DD
43132005-09-01 DJ Delorie <dj@redhat.com>
4314
4315 * config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
4316 fprintf.
4317
13e2e16e
DE
43182005-09-01 David Edelsohn <edelsohn@gnu.org>
4319
4320 * config/rs6000/rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
4321 (rs6000_split_multireg_move): Use replace_equiv_address instead of
4322 gen_rtx_MEM.
4323
52d09157
CR
43242005-09-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
4325
4326 * c-decl.c (diagnose_mismatched_decls): With -Wredundant-decls,
4327 do not issue warning for a variable definition following
4328 a declaration.
4329
277fc67e
RH
43302005-09-01 Richard Henderson <rth@redhat.com>
4331
4332 PR 23668
4333 * config/i386/i386.c (ix86_expand_vector_init_one_var): Restore
4334 conversion to CONST_VECTOR.
4335
e3947b34
RH
43362005-09-01 Richard Henderson <rth@redhat.com>
4337
4338 PR 23676
4339 * reload1.c (reload_as_needed): Check !CALL_P before calling
4340 fixup_eh_region_note.
4341 * rtlanal.c (may_trap_p): SUBREG by itself cannot trap.
4342
056061d8
DD
43432005-09-01 DJ Delorie <dj@redhat.com>
4344
4345 * varasm.c (output_constant): Let the target resolve
4346 conversions of addresses to non-default pointer sizes.
4347
86805759
NP
43482005-09-01 Nicolas Pitre <nico@cam.org>
4349
4350 * config/arm/arm.c (arm_legitimize_address): Split absolute addresses
4351 to alow matching ARM pre-indexed addressing mode.
4352 (arm_override_options): Remove now irrelevant comment.
4353
d442d7d9
PE
43542005-09-01 Phil Edwards <phil@codesourcery.com>
4355
4356 * config.gcc (i*86-wrs-vxworks): Update. Split out vxworksae target.
4357 * config/i386/t-vxworks: Update multilibs for VxWorks 6 and RTP mode.
4358 * config/i386/vxworks.h: Likewise.
4359 * config/i386/t-vxworksae: New file, for VxWorks AE.
4360 * config/i386/vxworksae.h: Likewise.
4361
ab02cc4e
SP
43622005-09-01 Sebastian Pop <pop@cri.ensmp.fr>
4363
4364 PR tree-optimization/23410
4365 * tree-ssa-loop-niter.c (scev_probably_wraps_p): Check that the
4366 sequence is not wrapping during the first step.
4367
ac156e91
JJ
43682005-09-01 Jakub Jelinek <jakub@redhat.com>
4369
4370 PR debug/7241
4371 * dwarf2out.c (base_type_die): Compare char_type_node with
4372 TYPE_MAIN_VARIANT (type), not type.
4373
355866de
RG
43742005-09-01 Richard Guenther <rguenther@suse.de>
4375
4376 PR tree-optimization/15366
4377 * common.opt: Add -finline-functions-called-once.
4378 Put -fearly-inlining in alphabetically ordered place.
4379 * doc/invoke.texi: Document new option.
4380 * ipa-inline.c (cgraph_decide_inlining): Honour
4381 flag_inline_functions_called_once.
4382
95c37cdb
JJ
43832005-09-01 Jakub Jelinek <jakub@redhat.com>
4384
4385 PR rtl-optimization/23478
4386 * local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
4387 (alloc_qty): Initialize it.
4388 (update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
4389 (combine_regs): Combine also n_throwing_calls_crossed fields.
4390 (find_free_reg): Don't attempt to caller-save pseudos crossing
4391 calls that might throw.
4392 * global.c (struct allocno): Add throwing_calls_crossed field.
4393 (global_alloc): Revert 2005-08-22 change. Initialize
4394 throwing_calls_crossed.
4395 (find_reg): Don't attempt to caller-save pseudos crossing calls that
4396 might throw.
4397
1990cd79
AM
43982005-09-01 Alan Modra <amodra@bigpond.net.au>
4399
4400 PR target/23649
4401 * config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
4402 (mask64_operand): Reinstate code prior to 2005-06-11 change.
4403 (mask64_2_operand): Reinstate code prior to 2004-11-11 change.
4404 (and64_2_operand): Tweak to use predicate.
4405 (and_operand): Adjust for mask_operand changes.
4406 * config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
4407 (print_operand): Likewise.
4408 (rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
4409 (mask64_1or2_operand): Delete.
4410 * rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
4411 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
4412 (EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
4413 (EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
4414 * config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
4415 (rotldi3_internal4): Likewise.
4416 (rotldi3_internal5, rotldi3_internal5 split): Likewise.
4417 (rotldi3_internal6, rotldi3_internal6 split): Likewise.
4418 (ashldi3_internal7): Likewise.
4419 (ashldi3_internal8, ashldi3_internal8 split): Likewise.
4420 (ashldi3_internal, ashldi3_internal9 split): Likewise.
4421 (anddi3 split): Don't match mask64_operand.
4422 (anddi3_internal2): Add rlwinm. Modify 't' splitter predicate.
4423 (anddi3_internal3): Add rlwinm. Use and64_2_operand in non-cr0
4424 splitter and match TARGET_64BIT not TARGET_POWERPC64. Modify
4425 't' splitter predicate.
4426 (movdi_internal64 + 2): Revert 2005-06-11 change.
4427
e9555b13
DD
44282005-08-31 DJ Delorie <dj@redhat.com>
4429
4430 * config/m32c/m32c.c (m32c_valid_pointer_mode): New.
4431 (m32c_asm_integer): Add support for 32 bit pointers.
4432
8476af98
RH
44332005-08-31 Richard Henderson <rth@redhat.com>
4434
4435 * emit-rtl.c (set_mem_attributes_minus_bitpos): Look through
4436 component-like references for setting MEM_NOTRAP_P.
4437
4438 * config/i386/i386.c (ix86_setup_incoming_varargs): Set MEM_NOTRAP_P.
4439 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.
4440
0fd662ee
RH
44412005-08-31 Richard Henderson <rth@redhat.com>
4442
4443 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
4444 into a pseudo before applying gen_lowpart.
4445
960ac6e1
GK
44462005-08-31 Geoffrey Keating <geoffk@apple.com>
4447
4448 * doc/install.texi (Specific): Update cctools version required
4449 for full functionality.
4450 * config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the
4451 linkers as -macosx_version_min.
4452
4802062c
R
44532005-08-31 J"orn Rennecke <joern.rennecke@st.com>
4454
4455 PR target/21255
4456 * sh.c (print_operand, %R and %S): Add handling of floating point
4457 registers, memory, constants and invalid operands.
4458
d4feded7
DB
44592005-08-31 Daniel Berlin <dberlin@dberlin.org>
4460
4461 * ipa-pure-const.c: Change dump name.
4462
d16093fd
UB
44632005-08-31 Uros Bizjak <uros@kss-loka.si>
4464
4465 PR target/23570
4466 * config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
4467 to "reg_or_0_operand".
4468 (sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".
4469
c9eb8097
DJ
44702005-08-31 Dale Johannesen <dalej@apple.com>
4471
4472 * loop-iv.c (iv_number_of_iterations): Fix overflow check for
4473 loops that count down.
4474
be0c514c
RH
44752005-08-31 Richard Henderson <rth@redhat.com>
4476
35210087 4477 PR rtl-opt/23601
be0c514c
RH
4478 * reload1.c (reload): Set MEM_NOTRAP_P in spill slots.
4479 (fixup_eh_region_note): New.
4480 (reload_as_needed): Call it.
4481 (fixup_abnormal_edges): Allow all throwing insns to be deleted;
4482 don't call find_many_sub_basic_blocks; call verify_flow_info.
4483 * function.c (assign_stack_local_1): Set MEM_NOTRAP_P.
4484 (keep_stack_depressed): Likewise.
4485 (assign_stack_temp_for_type): Likewise; use adjust_address_nv.
4486
5d3018ce
RH
44872005-08-31 Richard Henderson <rth@redhat.com>
4488
4489 * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
4490 fp return matching.
4491
dc38a610
FJ
44922005-08-31 Fariborz Jahanian <fjahanian@apple.com>
4493
759915ca
EC
4494 * expr.c (expand_expr_real_1): Compare size of address
4495 mode to target's address mode size in deciding expansion of
dc38a610
FJ
4496 the constant address.
4497
c5250139
RG
44982005-08-31 Richard Guenther <rguenther@suse.de>
4499
4500 PR middle-end/23477
4501 * expr.c (all_zeros_p): New function.
4502 (expand_expr_real_1): Handle the case of an all-zero
4503 non-addressable constructor separately.
4504
ab173928
AS
45052005-08-31 Adrian Straetling <straetling@de.ibm.com>
4506
4507 * builtins.c: (expand_builtin_strcpy, expand_builtin_strcat): Change
4508 arguments, adjust all callers.
4509 (expand_builtin_strcat): Rewrite to call strcpy instead of mempcpy.
4510
fabaaf36
RH
45112005-08-30 Richard Henderson <rth@redhat.com>
4512
4513 PR target/23630
4514 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
4515 whenever the mode sizes match.
4516
40b0345d
AM
45172005-08-31 Alan Modra <amodra@bigpond.net.au>
4518
4519 * calls.c (load_register_parameters): Fix comment typo.
4520 * expr.c (emit_push_insn): Comment formatting.
4521
c2e493dc
ILT
45222005-08-30 Ian Lance Taylor <ian@airs.com>
4523
4524 * config/i386/x-cygwin (host-cygwin): Change dependency from
4525 hosthooks-def.h to $(HOSTHOOKS_DEF_H).
4526
9fc5fa7b
GK
45272005-08-29 Geoffrey Keating <geoffk@apple.com>
4528
4529 * config/i386/i386.c (ix86_expand_vector_init_one_var): Don't modify
4530 parts of 'vals'.
4531
f471f0fc 45322005-08-29 Andrew Pinski <pinskia@physics.uc.edu>
57247f4b
AP
4533
4534 PR middle-end/23408
4535 * ipa-inline.c (cgraph_decide_inlining_incrementally): Remove the
4536 call to ggc_collect.
4537
f471f0fc 45382005-08-29 Paolo Bonzini <bonzini@gnu.org>
3a6ebcdc
PB
4539
4540 PR bootstrap/21268
4541 * Makefile.in (ALL_CPPFLAGS): Include $(INCLUDES) at the
4542 beginning. Remove $(INCLUDES) from all the rules, if following
4543 $(ALL_CPPFLAGS) or $(BUILD_CPPFLAGS).
4544
f28d3046
JJ
45452005-08-29 Jakub Jelinek <jakub@redhat.com>
4546
4547 PR middle-end/23484
4548 * builtins.c (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
4549 fold_builtin_strncpy_chk, fold_builtin_snprintf_chk): If len is
4550 not constant, but maxlen is, don't set len to maxlen, rather
4551 set maxlen to len if len is a constant.
4552
37261a5c
ZD
45532005-08-29 Zdenek Dvorak <dvorakz@suse.cz>
4554
4555 PR tree-optimization/23475
4556 * tree-ssa-loop-ivcanon.c (remove_empty_loop): Update frequencies
4557 and counts.
4558
46c5394b
DB
45592005-08-28 Daniel Berlin <dberlin@dberlin.org>
4560
4561 Fix PR middle-end/22455
4562
4563 * fold-const.c (fold_checksum_tree): Adjust for now-largest tree size.
4564 Checksum only the parts of the tree that exist for the tree code.
4565
ea407814
DJ
45662005-08-28 Dale Johannesen <dalej@apple.com>
4567
4568 * config/i386/i386.c (nocona_cost): Increase MOVE_RATIO.
4569
87e71ff4
AP
45702005-08-28 Andrew Pinski <pinskia@physics.uc.edu>
4571
4572 * tree-vrp.c: Remove obsolete comment in front of vrp_initialize.
4573
490272b4
RH
45742005-08-28 Richard Henderson <rth@redhat.com>
4575
4576 * stor-layout.c (finalize_type_size): Revert workaround from 08-26.
4577 * tree.c (make_node_stat): Use BITS_PER_UNIT instead of alignment
4578 of char_type_node.
4579
a6017253
JJ
45802005-08-28 Jakub Jelinek <jakub@redhat.com>
4581
4582 PR ada/23593
4583 * builtins.c (get_memory_rtx): Don't strip nops
4584 in between COMPONENT_REFs.
4585
412f8986
AP
45862005-08-27 Andrew Pinski <pinskia@physics.uc.edu>
4587
4588 PR middle-end/23463
4589 * gimplify.c (gimplify_modify_expr_rhs): Remove check for zero sized
4590 types.
4591 (gimplify_modify_expr): Check for zero sized types and gimplify the
4592 rhs and lhs as statements.
4593
147a8fb1
JDA
45942005-08-27 John David Anglin <dave.anflin@nrc-cnrc.gc.ca>
4595
4596 PR libgcj/23508
4597 * pa/linux-unwind.h (pa32_fallback_frame_state): Use r0 slot in frame
4598 state for return address column of signal frames.
4599
ec53fc93
DE
46002005-08-27 David Edelsohn <edelsohn@gnu.org>
4601
4602 PR target/23539
fabaaf36
RH
4603 * config/rs6000/rs6000.c (expand_block_clear): Use HImode when
4604 bytes >= 2 not bytes == 2.
ec53fc93
DE
4605 (expand_block_move): Same.
4606
f013cadc
RG
46072005-08-27 Richard Guenther <rguenther@suse.de>
4608
4609 PR target/23575
4610 * config/i386/sse.md (sse2_movsd): Add missing closing
4611 braces.
4612
0cd6c85a
PB
46132005-08-27 Paul Brook <paul@codesourcery.com>
4614
4615 * genrecog.c (enum decision_type): Add DT_num_insns.
4616 (struct decision_test): Add u.num_insns.
4617 (add_to_sequence): Add DT_num_insns test.
4618 (maybe_both_true_2, nodes_identical_1): Handle DT_num_insns.
4619 (write_cond, debug_decision_2): Ditto.
4620 (change_state): Assume peep2_next_insn never fails.
4621 Remove "afterward" argument.
4622 (write afterward, write_tree): Update to match.
4623 * recog.c (peep2_current_count): New variable.
4624 (peep2_next_insn): Check it.
4625 (peephole2_optimize): Set peep2_current_count.
4626 * recog.h (peep2_current_count): Declare.
4627
1b0d2d17
JC
46282005-08-26 Josh Conner <jconner@apple.com>
4629
4630 PR middle-end/23584
4631 * ipa-pure-const.c (check_tree): Check for volatile-ness
4632 when considering a dereference.
4633
24b7d7c3
JJ
46342005-08-27 Jakub Jelinek <jakub@redhat.com>
4635
4636 * rtl.h (MEM_IN_STRUCT_P): Fix comment typo.
4637
435bb2a1
JJ
46382005-08-26 Jakub Jelinek <jakub@redhat.com>
4639
4640 PR rtl-optimization/23561
4641 * builtins.c (get_memory_rtx): Add LEN argument. If MEM_EXPR is
4642 a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
4643 at most LEN bytes long memory fits into the field.
4644 (expand_builtin_memcpy, expand_builtin_mempcpy, expand_movstr,
4645 expand_builtin_strncpy, expand_builtin_memset, expand_builtin_memcmp,
4646 expand_builtin_strcmp, expand_builtin_strncmp): Adjust callers.
4647
52e772ba
RH
46482005-08-26 Richard Henderson <rth@redhat.com>
4649
4650 PR rtl-opt/23560
4651 * loop.c (biased_biv_may_wrap_p): New.
4652 (maybe_eliminate_biv_1): Use it to suppress non-equality
4653 comparison transformations. Delete disabled code.
4654
8f34bde6
ILT
46552005-08-26 Ian Lance Taylor <ian@airs.com>
4656
4657 * combine.c (make_extraction): Avoid reference outside object.
4658
d6cde480
R
46592005-08-26 J"orn Rennecke <joern.rennecke@st.com>
4660
4661 * stor-layout.c (finalize_type_size): Restore behaviour for
4662 non-aggregate types to the status quo ante of the patch for
4663 pr 23467. Document why it matters.
4664
39627fed
JJ
46652005-08-26 Jakub Jelinek <jakub@redhat.com>
4666
4667 PR c/23506
4668 * c-common.c (c_common_nodes_and_builtins): Increase builtin_types
4669 array by one element, initialize the BT_LAST element with NULL.
4670
297abd0d
DE
46712005-08-26 David Edelsohn <edelsohn@gnu.org>
4672
4673 * config/rs6000/rs6000.md (eq<mode>_compare): Only enable when
4674 optimizing for size.
4675 (plus_eqsi): Same.
4676 (compare_plus_eqsi): Same.
4677 (plus_eqsi_compare): Same.
4678 (neg_eq0<mode>): Same.
4679 (neg_eq<mode>): Same.
4680
4681 * config/rs6000/aix52.h (PROCESSOR_DEFAULT): Change to
4682 PROCESSOR_POWER4.
4683
2ec6cd51
NC
46842005-08-26 Nick Clifton <nickc@redhat.com>
4685
4686 * config/v850/v850.c (ep_memory_operand): Return FALSE if
4687 TARGET_EP is not defined.
4688 * config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if
4689 TARGET_EP is enabled.
4690 (OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing.
4691 * config/v850/v850.md (save_all_interrupt): Only use the EP
4692 register if TARGET_EP is defined.
4693 (restore_all_interrupt): Likewise.
4694 * config/v850/lib1funcs.asm: Update functions so that the EP
4695 register is only used if __EP__ is defined.
4696
e296c00c
DU
46972005-08-26 David Ung <davidu@mips.com>
4698
4699 * config/mips/mips.c (mips_expand_prologue): Handle case when
4700 generating for MIPS16 and the outgoing argument area is more than
4701 SMALL_OPERAND. Use the frame pointer as temporary to generate the
4702 add instruction.
4703
55d61dba
PW
47042005-08-26 Paul Woegerer <paul.woegerer@nsc.com>
4705
4706 * config/crx/crx.md: Make doloop_end pattern usage controllable
4707 via mloop-nesting=<max-nesting> command line switch. Make sure
4708 the combiner cannot use doloop_end_<mode> in an illegal way.
4709 * config/crx/crx.c: Use regs up to r6 for argument passing.
4710 Refine crx_address_cost (non cst4 displacements are expensive).
4711 * config/crx/crx.opt: Add switch for mloop-nesting=.
4712
742090fc
AS
47132005-08-26 Adrian Straetling <straetling@de.ibm.com>
4714
4715 * config/s390/s390.md: ("movstr", "*movstr"): Add patterns.
4716 (UNSPEC_MVST): New constant.
4717
db21e1d0
AK
47182005-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
4719
4720 * config/s390/predicates.md ("shift_count_operand", "setmem_operand"):
4721 Reject operands containing eliminable registers.
4722 * testsuite/gcc.dg/20050825-1.c: New testcase.
4723
0621d71a
PB
47242005-08-24 Paolo Bonzini <bonzini@gnu.org>
4725 Jan Hubicka <jh@suse.cz>
4726
4727 * regmove.c (reg_is_remote_constant_p): Reorganize to not use log links.
4728
e2889823
PB
47292005-08-24 Paolo Bonzini <bonzini@gnu.org>
4730
4731 PR tree-optimization/23546
4732 * tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST
4733 and REAL_CST nodes.
4734
6f48c21a
PS
47352005-08-24 Pete Steinmetz <steinmtz@us.ibm.com>
4736
4737 * params.def (PARAM_MIN_SPEC_PROB): New.
4738 * sched-rgn.c (MIN_PROBABILITY): Delete.
4739 (compute_trg_info): Convert to PARAM_VALUE.
4740 * doc/invoke.texi (param): Document min-spec-prob.
4741
1a1e6a9d
FJ
47422005-08-24 Fariborz Jahanian <fjahanian@apple.com>
4743
4744 * config/darwin.h: define __PIC__
4745 * config/rs6000/darwin.h: Add SUBTARGET_OS_CPP_BUILTINS to
4746 TARGET_OS_CPP_BUILTINS macro.
4747
130869aa
PB
47482005-08-24 Paolo Bonzini <bonzini@gnu.org>
4749
4750 * config/rs6000/rs6000.md: Fix thinko in the peephole2 I added
4751 yesterday.
4752
b9a66240
ZD
47532005-08-24 Zdenek Dvorak <dvorakz@suse.cz>
4754
4755 * bb-reorder.c (copy_bb, duplicate_computed_gotos): Add argument
4756 to duplicate_block.
4757 * cfghooks.c (duplicate_block): Added position where to place
4758 new block as argument.
4759 * cfghooks.h (duplicate_block): Declaration changed.
4760 * cfglayout.c (copy_bbs): Add argument after. Pass it to
4761 duplicate_block.
4762 * cfglayout.h (copy_bbs): Declaration changed.
4763 * cfgloop.h (loop_version): Declaration changed.
4764 * cfgloopmanip.c (duplicate_loop_to_header_edge): Pass
4765 position to copy_bbs.
4766 (loop_version): Pass position to duplicate_loop_to_header_edge.
4767 Add place_after argument and position new blocks according to
4768 it.
4769 * modulo-sched.c (sms_schedule): Pass place_after argument
4770 to loop_version.
4771 * tracer.c (tail_duplicate): Pass argument to duplicate_block.
4772 * tree-cfg.c (split_edge_bb_loc): New function.
4773 (tree_split_edge, tree_duplicate_sese_region): Use split_edge_bb_loc
4774 to determine position of new blocks.
4775 * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass argument
4776 to loop_version.
4777 * tree-ssa-threadupdate.c (create_block_for_threading): Pass
4778 argument to duplicate_block.
4779 * tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg):
4780 Pass position to copy_bbs.
4781
87de2376
ZD
47822005-08-24 Zdenek Dvorak <dvorakz@suse.cz>
4783
4784 * fold-const.c (ptr_difference_const): Use
4785 cst_and_fits_in_hwi instead of host_integerp.
4786
14a07c92
PB
47872005-08-24 Paolo Bonzini <bonzini@gnu.org>
4788
4789 * config/darwin.c (gen_pic_offset): New.
4790 (machopic_indirect_data_reference, machopic_legitimize_pic_address):
4791 Use it.
4792
d49195a3
ZD
47932005-08-23 Zdenek Dvorak <dvorakz@suse.cz>
4794
4795 PR tree-optimization/23486
4796 * tree-ssa-loop.c (pass_scev_cprop): Add TODO_update_ssa_only_virtuals.
4797
2eab15c9
PE
47982005-08-23 Phil Edwards <phil@codesourcery.com>
4799
4800 * config.gcc (*-*-vxworks*): Update tm_file, add extra_options,
4801 remove use_collect2.
4802 (powerpc-wrs-vxworks): Update, split out *-*-vxworksae target.
4803
4804 * target-def.h (TARGET_HAVE_CTORS_DTORS): Allow target
4805 configuration files to override the default value.
4806
4807 * config/t-vxworks: Remove INSTALL_ASSERT_H. Define STMP_FIXPROTO,
4808 EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
4809 * config/vx-common.h: New file, split out from...
4810 * config/vxworks.h: here. Update for VxWorks 6.x and RTP mode.
4811 * config/vxworksae.h: New file, for VxWorks AE.
4812 * config/vxworks.opt: New file.
4813 * config/vxlib.c: Update for VxWorks 6.
4814
4815 * config/rs6000/t-vxworks (MULTILIB_OPTIONS): New list. Adjust
4816 other MULTILIB_* variables appropriately.
4817 (LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS): Correct from t-ppccomm.
4818 * config/rs6000/t-vxworksae: New file, adjust multilibs for AE.
4819 * config/rs6000/vxworks.h: Update for VxWorks 6.
4820 * config/rs6000/vxworksae.h: New file, mostly placeholder for now.
4821
2501b167
AP
48222005-08-23 Andrew Pinski <pinskia@physics.uc.edu>
4823
4824 PR target/20799
4825 * config/darwin.c (machopic_select_section): Remove the hack to
4826 mark "::operator new" and "::operator delete" for coalescing
4827 even though they are not weak.
4828
d82bf747
AM
48292005-08-24 Alan Modra <amodra@bigpond.net.au>
4830
4831 * configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
4832 * configure: Regenerate.
4833
4d3c798d
PB
48342005-08-23 Paolo Bonzini <bonzini@gnu.org>
4835
4836 PR middle-end/23517
4837 * fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
4838 between vectors.
4839 * convert.c (convert_to_integer, convert_to_vector): Likewise.
4840 * tree-vect-generic.c (tree_vec_extract, expand_vector_operations_1):
4841 Likewise.
4842
28d0e143
PB
48432005-08-23 Paolo Bonzini <bonzini@gnu.org>
4844
4845 * config/rs6000/predicates.md (equality_operator): New.
4846 * config/rs6000/rs6000.md: Rewrite as a peephole2 the split for
4847 comparison with a large constant.
4848
6194fd98
MM
48492005-08-23 Mark Mitchell <mark@codesourcery.com>
4850
4851 * hwint.h (HOST_WIDE_INT_PRINT): Use HOST_LONG_LONG_FORMAT.
4852
39d67d5b
R
48532005-08-23 J"orn Rennecke <joern.rennecke@st.com>
4854
a11c004b
R
4855 * sh.c (sh_builtin_saveregs): If the number of to-be-saved fp
4856 registers is even, and we have a hardware double precision fp,
4857 align the buffer.
4858 (sh_gimplify_va_arg_expr): For floating point arguments, consider
4859 size of current argument when checking if argument was passed in
4860 registers.
4861
4862 * sh.c (sh_attr_renesas_p): Handle error_mark_node.
4863
39d67d5b
R
4864 PR middle-end/23467
4865 * stor-layout.c (finalize_type_size): Dont override
4866 existing alignment with a smaller alignment from the mode.
4867
37b8a73b
SP
48682005-08-23 Sebastian Pop <pop@cri.ensmp.fr>
4869
4870 * lambda-code.c (lambda_vector_lexico_pos): Moved...
4871 * lambda.h (lambda_vector_lexico_pos): ... here.
4872 * tree-data-ref.c (build_classic_dist_vector): Return false when
4873 the distance vector is lexicographically negative.
4874
ce8f9416
SP
48752005-08-23 Sebastian Pop <pop@cri.ensmp.fr>
4876
4877 PR tree-optimization/23511
759915ca 4878 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Don't
ce8f9416
SP
4879 handle cases where TYPE_MIN_VALUE or TYPE_MAX_VALUE are NULL_TREE.
4880
73ed17ff
JJ
48812005-08-23 Jakub Jelinek <jakub@redhat.com>
4882
4883 PR tree-optimization/22043
4884 * tree.h (count_type_elements): Add ALLOW_FLEXARR argument.
4885 * expr.c (count_type_elements): Add ALLOW_FLEXARR argument.
4886 If ALLOW_FLEXARR, handle types ending with flexible array member.
4887 Pass false as second argument to recursive count_type_elements calls.
4888 (categorize_ctor_elements_1, mostly_zeros_p): Pass false as second
4889 argument to count_type_elements call.
4890 * tree-sra.c (decide_block_copy): Likewise.
4891 * gimplify.c (gimplify_init_constructor): If num_type_elements < 0
4892 for a constant-sized object, set cleared as well. Pass true as
4893 second argument to count_type_elements call.
4894
18b10a72
AM
48952005-08-23 Alan Modra <amodra@bigpond.net.au>
4896
4897 PR target/21571
4898 * config/rs6000/rs6000.c (rs6000_legitimate_small_data_p): Rename
4899 from legitimate_small_data_p, and make global. Update use.
4900 Remove forward declaration.
4901 * config/rs6000/rs6000-protos.h (rs6000_legitimate_small_data_p):
4902 Declare.
4903 * config/rs6000/rs6000.md (movdf_hardfloat32): Allow small data mems.
4904
d0515b39
DE
49052005-08-23 David Edelsohn <edelsohn@gnu.org>
4906
4907 * config/rs6000/rs6000.md (eq<mode>): Use output operand instead
4908 of scratch intermediates.
4909 (eq<mode>_compare): Same.
4910 (neg_eq0<mode>): New.
4911 (neg_eq<mode>): Convert to define_insn_and_split.
4912
c1fa753e
AM
49132005-08-23 Alan Modra <amodra@bigpond.net.au>
4914
4915 PR target/23070
4916 * config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
4917 stdarg functions, set/clear the fp marker even when no variable
4918 args are passed.
4919 * config/rs6000/sysv4.opt (mprototype): Describe.
4920
27004606
JJ
49212005-08-22 Jakub Jelinek <jakub@redhat.com>
4922
4923 PR rtl-optimization/23478
4924 * regs.h (reg_info): Add throw_calls_crossed.
4925 (REG_N_THROWING_CALLS_CROSSED): Define.
4926 * flow.c (allocate_reg_life_data): Initialize
4927 REG_N_THROWING_CALLS_CROSSED.
4928 (propagate_one_insn, attempt_auto_inc): Update
4929 REG_N_THROWING_CALLS_CROSSED.
4930 * global.c (global_alloc): Don't allocate pseudos across
4931 calls that may throw.
4932
201ae393
AP
49332005-08-22 Andrew Pinski <pinskia@physics.uc.edu>
4934
4935 PR c/18715
4936 * c-common.c (c_do_switch_warnings): Look for a node where the enum's
4937 value is inbetween the range if we did not find an exact match.
4938
c85ba4fb
AH
49392005-08-22 Aldy Hernandez <aldyh@redhat.com>
4940
4941 * doc/invoke.texi (Option Summary): Add ms1 options.
4942 * doc/extend.texi: Document interrupt handler attribute for ms1.
4943 * doc/md.texi: Document ms1 constraints.
4944 * config.gcc: Add ms1-*-elf.
4945 * config/ms1/ms1.h: New.
4946 * config/ms1/ms1.c: New.
4947 * config/ms1/ms1.md: New.
4948 * config/ms1/ms1-protos.h: New.
4949 * config/ms1/ABI.txt: New.
4950 * config/ms1/crti.asm: New.
4951 * config/ms1/crtn.asm: New.
4952 * config/ms1/lib2extra-funcs.c: New.
4953 * config/ms1/t-ms1: New.
4954 * config/ms1/ms1.opt: New.
4955
70a39602
IR
49562005-08-22 Ira Rosen <irar@il.ibm.com>
4957
4958 * config/rs6000/altivec.md (xorv4sf3): New.
4959 (negv4sf2, neg<mode>2): Likewise.
4960
85199961
L
49612005-08-21 H.J. Lu <hongjiu.lu@intel.com>
4962
4963 PR target/23485
4964 * config/ia64/ia64.md (divsi3): Check divide by zero.
4965 (udivsi3): Likewise.
4966 (divdi3): Likewise.
4967 (udivdi3): Likewise.
4968
1125164c
JJ
49692005-08-21 Jakub Jelinek <jakub@redhat.com>
4970
4971 * simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
4972 up to elem_bitsize bits, not max_bitsize.
4973
3c0c8f9d
SP
49742005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
4975
4976 PR tree-optimization/23433
85199961
L
4977 * tree-chrec.c (chrec_apply): Translate INTEGER_CST to a
4978 REAL_CST when the type is SCALAR_FLOAT_TYPE_P.
3c0c8f9d 4979
a1596edc
SP
49802005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
4981
4982 PR tree-optimization/23434
85199961
L
4983 * tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when
4984 the iteration bound is not an INTEGER_CST.
a1596edc 4985
429268fc
DN
49862005-08-21 Dorit Nuzman <dorit@il.ibm.com>
4987
4988 * tree-vect-transform.c (get_initial_def_for_reduction): Set
4989 need_epilog_adjust back to false for MIN/MAX case. Set *scalar_def to
4990 NULL if need_epilog_adjust is false.
4991 (vect_create_epilog_for_reduction): Variable adjust_in_epilog removed.
4992 Case 3 always peels first itration, not just for PLUS case, and no need
4993 to use scalar_initial_def here. Create an epilog adjustment only if
4994 scalar_initial_def is not NULL.
4995
759915ca 4996 (vectorizable_reduction): Remove assert.
429268fc 4997
eea1d14a
L
49982005-08-20 H.J. Lu <hongjiu.lu@intel.com>
4999
5000 PR target/23485
5001 * config/ia64/lib1funcs.asm (__divdi3): Check divide by zero.
5002 (__moddi3): Likewise.
5003 (__udivdi3): Likewise.
5004 (__umoddi3): Likewise.
5005 (__divsi3): Likewise.
5006 (__modsi3): Likewise.
5007 (__udivsi3): Likewise.
5008 (__umodsi3): Likewise.
5009
5e34206b
JJ
50102005-08-20 Jakub Jelinek <jakub@redhat.com>
5011
5012 * tree-pass.h (TDF_GRAPH): Define.
5013 * tree-dump.c (dump_options): Don't set TDF_GRAPH in "all".
5014 * passes.c (finish_optimization_passes): Only call
5015 finish_graph_dump_file if TDF_GRAPH is set.
5016 (execute_one_pass): Only call clean_graph_dump_file if dump_file !=
5017 NULL. Set TDF_GRAPH bit.
5018 (execute_todo): Call print_rtl_graph_with_bb if TDF_GRAPH is set.
5019
2591db65
RE
50202005-08-20 Richard Earnshaw <richard.earnshaw@arm.com>
5021
5022 * arm.h (arm_stack_offsets): Add locals_base field.
5023 * arm.c (arm_get_frame_offsets): Compute it.
5024 (thumb_compute_initial_elimination offset): Make the Thumb frame
5025 pointer point to the base of the local variables.
5026 (thumb_expand_prologue): Update accordingly.
5027 (thumb_expand_epilogue): Likewise.
5028
5029 * arm.md (thumb_movhi_clobber): Make this insn a define_expand. Change
5030 mode of clobbered scratch to DImode. Handle a case that's known to
5031 need this.
5032
fc437ce9
DE
50332005-08-19 David Edelsohn <edelsohn@gnu.org>
5034
5035 * config/rs6000/rs6000.md (gt0<mode>): Delete.
5036 (gt0<mode>_compare): Delete.
5037 (neg_gt0<mode>): Delete.
5038
c414ac1d
EC
50392005-08-19 Eric Christopher <echristo@apple.com>
5040
5041 * optabs.h: Change CTI_ to COI_.
5042 * optabs.c: Ditto.
5043
c8f27794
JW
50442005-08-19 James E Wilson <wilson@specifix.com>
5045
5046 * builtins.c (expand_builtin_return_addr): Set
5047 current_function_accesses_prior_frames when count != 0. Use
5048 frame_pointer_rtx when count == 0.
5049 * function.h (struct function): Add accesses_prior_frames field.
5050 (current_function_accesses_prior_frames): Define.
5051 * reload1.c (init_elim_table): Check
5052 current_function_accesses_prior_frames.
5053 * doc/tm.texi (INITIAL_FRAME_ADDRESS_RTX): Update docs.
5054
e3594cb3
DN
50552005-08-19 Diego Novillo <dnovillo@redhat.com>
5056
5057 * tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change
5058 indicator. Return true if the flowgraph changed during
5059 cleanup.
5060
52270a3c
DN
50612005-08-19 Diego Novillo <dnovillo@redhat.com>
5062
5063 PR 23476
5064 * tree-cfgcleanup.c (cleanup_control_expr_graph): Fold the
5065 conditional expression before testing its value.
5066
5c1c631e
DN
50672005-08-19 Diego Novillo <dnovillo@redhat.com>
5068
5069 * doc/invoke.texi: Fix documentation for -ftree-dominator-opts.
5070
3d91803a
DP
50712005-08-19 Devang Patel <dpatel@apple.com>
5072
5073 PR tree-optimization/23048
5074 * tree-if-conv.c (if_convertible_bb_p): Supply basic_block as
5075 third parameter. Check whether latch is dominated by exit
5076 block or not.
5077 (if_convertible_loop_p): Supply exit block itself to
5078 if_convertible_bb_p.
c414ac1d 5079
e55ef7f4
RE
50802005-08-19 Richard Earnshaw <richard.earnshaw@arm.com>
5081
5082 PR target/23473
5083 * arm.md (arm_load_pic_register): Change argument to the mask of
c414ac1d 5084 saved registers. Call thumb_find_work_register if we need a
e55ef7f4 5085 scratch register on Thumb.
c414ac1d 5086 (arm_expand_prologue): Pass empty register set to
e55ef7f4
RE
5087 arm_load_pic_register.
5088 (thumb_expand_prologue): Pass live_regs_mask directly to
5089 arm_load_pic_register.
5090 * arm-protos.h (arm_load_pic_register): Update prototype.
5091
d102596b
JR
50922005-08-19 J"orn Rennecke <joern.rennecke@st.com>
5093
5094 * sh.c (find_sole_member): New function.
5095 (sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch
5096 if the record's alignment is larger than the size of its only member.
5097
a132dad6
RE
50982005-08-19 Richard Earnshaw <richard.earnshaw@arm.com>
5099
5100 PR target/23436
5101 * arm.c (thumb_legitimize_reload_address): New function.
5102 * arm-protos.h (thumb_legitimize_reload_address): Add prototype.
5103 * arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it.
5104
4221d00a
PW
51052005-08-19 Paul Woegerer <paul.woegerer@nsc.com>
5106
5107 * config/crx/crx.c: Implement crx_decompose_address. Reject
5108 symbolic displacements since CRX register relative adressing
5109 mode can't handle unsigned 32-bit values as displacements.
5110 * config/crx/crx.h: Simplify definitions, remove redundant
5111 parenthesis and obsolete macros.
5112 * config/crx/crx.opt: Add new switch for debugging addresses.
5113 * config/crx/crx-protos.h: Add new declarations for above.
5114
1581a9a1
AP
51152005-08-19 Andrew Pinski <pinskia@physics.uc.edu>
5116
5117 PR middle-end/20624
5118 * gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
5119 looking past it.
5120
52a6edcc
KG
51212005-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5122
5123 * collect2.c (dup2): Delete.
5124 * configure.ac: Don't check for dup2.
5125
5126 * config.in, configure: Regenerate.
5127
8a2209bf
R
51282005-08-18 J"orn Rennecke <joern.rennecke@st.com>
5129
5130 * sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE
5131 record with the type of its only member.
5132
1e24ce83
DE
51332005-08-18 David Edelsohn <edelsohn@gnu.org>
5134
5135 * config/rs6000/rs6000.md (ltu<mode>_compare): Convert to
5136 define_insn_and_split.
5137 (plus_ltu<mode>_compare): Same.
5138 (gtu<mode>_compare): Same.
5139 (plus_gtu<mode>_compare): Same.
5140
90ff949f
DN
51412005-08-18 Dorit Nuzman <dorit@il.ibm.com>
5142
5143 PR tree-optimization/22228
1e24ce83
DE
5144 * tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to
5145 todo_flags_start.
90ff949f
DN
5146 * tree-vect-transform.c (vect_transform_loop): Mark the variables that
5147 are recorded in vect_vnames_to_rename for renaming.
5148 * tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
5149 (slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
5150 in vect_vnames_to_rename.
5151 (vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
5152 * tree-vectorizer.h (vect_vnames_to_rename): New extern variable.
5153
f17db6cd
JH
51542005-08-18 Jan Hubicka <jh@suse.cz>
5155
5156 PR c++/22034
5157 * cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
5158 info only for local statics, not for member variables.
5159
4286d8ce
VR
51602005-08-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5161
5162 * tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
5163
b06df647
VR
51642005-08-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5165
5166 * c-typeck.c (designator_errorneous): Rename to designator_erroneous.
5167
75634129
AP
51682005-08-18 Andrew Pinski <pinskia@physics.uc.edu>
5169
5170 PR middle-end/16045
5171 * builtins.c (fold_builtin): Create a new NOP_EXPR all the time.
5172
9bc2a5cb
JW
51732005-08-17 James E Wilson <wilson@specifix.com>
5174
5175 * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
5176 array size check.
5177
a2dba291
DE
51782005-08-17 David Edelsohn <edelsohn@gnu.org>
5179
5180 * config/rs6000/rs6000.md (leu<mode>): Convert to mode macro.
5181 (leu<mode>_compare): Same.
5182 (plus_leu<mode>): Same.
5183 (neg_leu<mode>): Same.
5184 (and_neg_leu<mode): Same.
5185 (ltu<mode>_compare): Same.
5186 (plus_ltu<mode>): Same.
5187 (geu<mode>): Same.
5188 (geu<mode>_compare): Same.
5189 (plus_geu<mode>): Same.
5190 (neg_geu<mode>): Same.
5191 (and_neg_geu<mode>): Same.
5192 (plus_gt<mode>): Same.
5193 (gtu<mode>_compare): Same.
5194 (plus_gtu<mode>): Same.
5195
aa29dfeb 51962005-08-17 Erik Christiansen <erik@dd.nec.com.au>
c414ac1d 5197
aa29dfeb
EC
5198 * config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos.
5199 Move call_table_data to end. Delete spurious .text.
5200 (callt_save_all_interrupt): Fix comment typo.
5201
90e0c734
JW
52022005-08-17 James E Wilson <wilson@specifix.com>
5203 Kevin Winchester <winchester@amirix.com>
5204
5205 PR target/21684
5206 * config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.
5207
87bb8864
UB
52082005-08-17 Uros Bizjak <uros@kss-loka.si>
5209
5210 PR target/23268
5211 * config/i386/i386.md ("*fist<mode>2_1"): New pattern.
5212 ("lrint<mode>2"): Change expander to use "*fist<mode>2_1" pattern.
5213
dd0ae678
R
52142005-08-17 J"orn Rennecke <joern.rennecke@st.com>
5215
8a2209bf
R
5216 * sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE
5217 record with the type of its only member if the modes don't match.
5218
a2dba291 5219 * varasm.c (decode_reg_name): Skip empty additional register names.
dd0ae678 5220
d28cbb07
ZD
52212005-08-16 Zdenek Dvorak <dvorakz@suse.cz>
5222
5223 * tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name,
5224 lsm_tmp_name_length): New.
5225 (lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions.
5226 (schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp".
5227
39bd07e8
UW
52282005-08-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5229 Andreas Krebbel <krebbel1@de.ibm.com>
5230
5231 * config.gcc: Added z9-109 switch.
5232 * config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl",
5233 "x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi",
c414ac1d
EC
5234 "x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other",
5235 "x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
39bd07e8
UW
5236 "x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable
5237 for "z9_109" cpu attribute.
5238 * config/s390/s390.c (z9_109_cost): New processor cost structure.
5239 (CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros.
5240 (s390_handle_arch_option): Added z9-109 switch.
5241 (override_options): Set respective cost function for z9-109.
5242 (s390_const_ok_for_constraint_p): New constraints Os, Op, On.
5243 (legitimate_reload_constant_p): Accept extended immediates.
5244 (print_operand): Three new output modifiers added: k, m and o.
5245 (s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990.
5246 (s390_output_mi_thunk): Use extended immediate when possible.
5247 * config/s390/s390.h (processor_flags): Added PF_EXTIMM.
5248 (TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros.
5249 (CONSTRAINT_LEN): Added length of O constraint.
5250 (CLZ_DEFINED_VALUE_AT_ZERO): Definition added.
5251 * config/s390/s390.md ("cpu"): New value z9_109 added.
c414ac1d 5252 ("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm",
39bd07e8
UW
5253 "*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm",
5254 "*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm",
5255 "*zero_extend<mode>si2_extimm", "*anddi3_extimm", "*iordi3_extimm",
5256 "*xordi3_extimm", "clzdi2", "clztidi2"): New patterns.
5257 ("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2",
5258 "*zero_extend<mode>si2_64", "zero_extendqihi2", "*zero_extendqihi2_64",
5259 "*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM.
5260 ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu",
5261 "*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc",
5262 "*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc",
5263 "*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3",
5264 "*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc",
5265 "*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly",
c414ac1d 5266 "*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended
39bd07e8
UW
5267 immediates.
5268 ("extend<mode>di2", "extend<mode>si2", "zero_extend<mode>di2",
5269 "zero_extend<mode>si2"): Allow memory operands and don't manually emit
5270 insns for TARGET_EXTIMM.
5271
33d2e547
AK
52722005-08-17 Andreas Krebbel <krebbel1@de.ibm.com>
5273
5274 * testsuite/gcc.dg/20020926-1.c: Added "-mesa" to dg-options.
5275
e5eb9a52
NC
52762005-08-17 Nick Clifton <nickc@redhat.com>
5277
5278 * config/stormy16/stormy16.c (xstormy16_encode_section_info):
5279 Call default_encode_section_info.
5280
a318e3ac
SB
52812005-08-17 Steven Bosscher <stevenb@suse.de>
5282
5283 PR tree-optimization/21574
5284 * tree-ssa-ccp.c (likely_value): If the right hand side is a
5285 constant, return CONSTANT.
5286 (ccp_lattice_meet): Use operand_equal_p instead of simple_cst_equal.
5287 (ccp_fold, visit_assignment): Likewise.
5288 (evaluate_stmt): Handle UNDEFINED and UNKNOWN_VAL the same way.
5289
00d1b1d6
JM
52902005-08-16 James A. Morrison <phython@gcc.gnu.org>
5291
5292 * c-typeck.c (build_function_call): Call fold_buildN_initializer or
5293 fold_buildN instead of buildN then fold_initializer or fold.
5294 (build_unary_op): Likewise.
5295 (build_binary_op): Likewise.
5296 * fold-const.c (fold_initializer): Remove.
5297 (fold_build1_initializer): New function.
5298 (fold_build2_initializer): New function.
5299 (fold_build3_initializer): New function.
5300 * tree.h (fold_initializer): Remove.
5301 (fold_build1_initializer): New function.
5302 (fold_build2_initializer): New function.
5303 (fold_build3_initializer): New function.
5304
f457cf40
JM
53052005-08-16 James A. Morrison <phython@gcc.gnu.org>
5306
5307 * fold-const.c (optimize_bit_field_compare): Remove extra fold call.
5308 (try_move_mult_to_index): Call fold_build2 instead of build2.
5309 (fold_binary): Don't call fold after calls to try_move_mult_to_index.
5310 * tree-ssa-loop-niter.c (inverse): Call int_const_binop instead of
5311 fold_binary_to_constant.
5312 (infer_loop_bounds_from_undefined): Call fold_build2 instead of
5313 fold (build.
5314 * tree-data-ref.c (tree_fold_divides_p): Use tree_int_cst_equal to
5315 check if A == gcd (A, B). Remove TYPE argument.
5316 (analyze_offset) Use fold_build2 instead of fold (build.
5317 (create_data_ref): Likewise.
5318 (analyze_siv_subscript_cst_affine): Update calls to tree_fold_divides_p.
5319 * tree-ssa-ccp.c (widen_bitfield): Call fold_build2 instead of build2
5320 then fold.
5321
4c617d12
KC
53222005-08-17 Kelley Cook <kcook@gcc.gnu.org>
5323
5324 * config/arm/unaligned-funcs.c,config/i386/crtfastmath.c,
5325 ipa-cp.c,ipa-prop.c,ipa-prop.h: Update FSF address.
5326
d06526b7
AP
53272005-08-16 Andrew Pinski <pinskia@physics.uc.edu>
5328
5329 PR tree-opt/23402
5330 * gimplify.c (zero_sized_type): New function.
5331 (gimplify_modify_expr_rhs): If we have a zero sized type,
5332 replace the statement with an empty statement.
5333
e9e68ae3
L
53342005-08-16 H.J. Lu <hongjiu.lu@intel.com>
5335
5336 * config/i386/crtfastmath.c (set_fast_math): Add "=m" for
5337 fxsave.
5338
e374d5c9
ILT
53392005-08-16 Ian Lance Taylor <ian@airs.com>
5340
5341 * doc/tm.texi (Label Output): Correct typo.
5342
f2dd440f
SB
53432005-08-16 Steven Bosscher <stevenb@suse.de>
5344
5345 PR target/23376
5346 * loop-unroll.c (analyze_insn_to_expand_var): Make sure that
5347 force_operand will work later on using have_insn_for.
5348
196f5a8d
VR
53492005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5350
5351 * fold-const.c (tree_expr_nonnegative_p): Regroup cases.
5352
cf0efa6a
ILT
53532005-08-16 Ian Lance Taylor <ian@airs.com>
5354
5355 PR c++/23337
5356 * gimplify.c (gimplify_init_ctor_eval): If we see an element of
5357 vector type, don't try to construct it element by element. Add an
5358 assertion that we use a FIELD_DECL when building a COMPONENT_REF.
5359
3a69437a
VR
53602005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5361
5362 * fold-const.c (fold_ternary): Simplify folding of a CALL_EXPR.
5363
17ccdd2c
GK
53642005-08-16 Geoffrey Keating <geoffk@apple.com>
5365
5366 * doc/invoke.texi (Precompiled Headers): Document some more options
5367 which are known to be safe.
5368
355a9e43
JW
53692005-08-16 James E Wilson <wilson@specifix.com>
5370
5371 PR tree-optimization/21105
5372 * c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
5373 TREE_OVERFLOW check.
5374
ce45ef46
DE
53752005-08-16 David Edelsohn <edelsohn@gnu.org>
5376
5377 * config/rs6000/rs6000.md (ltu<mode>): Convert to mode macro.
5378 (neg_ltu<mode>): Same.
5379 (gtu<mode>): Same.
5380 (neg_gtu<mode>): Same.
5381
543e2cc3
VR
53822005-08-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
5383
5384 * builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
5385 (fold_builtin_isdigit): Use fold_buildN.
5386 (build_function_call_expr): Likewise.
5387 * c-typeck.c (c_finish_loop): Likewise.
5388
28f52a4d 53892005-08-16 J"orn Rennecke <joern.rennecke@st.com>
85199961 5390 Richard Shann <rshann@superh.com>
28f52a4d
R
5391
5392 PR middle-end/20396:
5393 * optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.
5394
546ad2d9
SP
53952005-08-16 Sebastian Pop <pop@cri.ensmp.fr>
5396
5397 * tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
5398
39c39be0
RE
53992005-08-15 Richard Earnshaw <richard.earnshaw@arm.com>
5400
5401 PR target/23355
c414ac1d 5402 * arm.c (thumb_compute_save_reg_mask): Use similar logic to
39c39be0
RE
5403 arm_compure_save_reg0_reg12_mask to determine when the PIC register
5404 must be saved.
5405
f60c951c
JDA
54062005-08-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5407
5408 PR middle-end/23369
5409 * fold-const.c (build_range_check): Disable optimization for function
5410 pointer expressions on targets that require function pointer
5411 canonicalization.
5412
5b5dc475
UW
54132005-08-15 Ulrich Weigand <uweigand@de.ibm.com>
5414
5415 * simplify-rtx.c (simplify_const_relational_operation): When
5416 extracting arguments of a COMPARE, recompute the mode as well.
5417
1595ec20
ILT
54182005-08-15 Ian Lance Taylor <ian@airs.com>
5419
5420 * tree.c (build_string): Mark tree CONSTANT and INVARIANT.
5421
eb5f0c07
DD
54222005-08-15 DJ Delorie <dj@redhat.com>
5423
5424 * config/m32c/mov.md (movqi_op): Immediates can't be moved to
5425 the stack.
5426 (movsi_splittable): Allow, but split, moves to the stack.
5427 * config/m32c/m32c.c (m32c_split_move): Always split moves to the
5428 stack.
5429
06145cb9
KG
54302005-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5431
5432 * aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
5433 * configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR.
5434 * system.h (HOST_PTR_PRINTF): Don't define, poison it.
c414ac1d 5435
06145cb9
KG
5436 * bitmap.c, c-decl.c, config/i386/i386-interix.h,
5437 config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c:
5438 Delete HOST_PTR_PRINTF.
5439
5440 * configure, config.in: Regenerate.
5441
b5568f07
DE
54422005-08-15 David Edelsohn <edelsohn@gnu.org>
5443
5444 * config/rs6000/rs6000.md (QHSI): New mode macro.
5445 (wd): Extend mode attr for QImode and HImode
5446 (dbits): New mode attr.
5447 (zero_extend<mode>di2): Convert to mode macro.
5448
a73035ae
SE
54492005-08-15 Steve Ellcey <sje@cup.hp.com>
5450
5451 PR target/21841
5452 * doc/invoke.texi (-mgnu-ld): Update description.
5453 (-mhp-ld): Ditto.
5454
7e0923cd
SP
54552005-08-15 Sebastian Pop <pop@cri.ensmp.fr>
5456
5457 PR 23391
5458 * Makefile.in (tree-chrec.o): Depends on real.h.
5459 * tree-chrec.c: Include real.h.
5460 (chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly,
5461 chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P.
5462 * tree-scalar-evolution.c (add_to_evolution_1,
5463 interpret_rhs_modify_expr): Ditto.
5464
852c19aa
SP
54652005-08-15 Sebastian Pop <pop@cri.ensmp.fr>
5466
5467 PR 23386
5468 * tree-data-ref.c (estimate_niter_from_size_of_data): When
5469 step is negative compute the estimation from init downwards to zero.
c414ac1d 5470
b23dce24
JM
54712005-08-14 James A. Morrison <phython@gcc.gnu.org>
5472
5473 * fold-const (fold_binary): Call fold_build2 instead of fold (build.
5474
11598938
UW
54752005-08-14 Ulrich Weigand <uweigand@de.ibm.com>
5476
5477 * config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P'
5478 constraint.
5479 (legitimate_reload_constant_p): Fix handling of lliXX operands.
5480 Accept double-word constants that can be split.
5481 * config/s390/s390.md ("movti"): Use 'P' constraint.
5482 ("*movdi_31", "*movdf_31"): Likewise.
5483
8971094d
DB
54842005-08-14 Daniel Berlin <dberlin@dberlin.org>
5485
5486 Fix PR tree-optimization/22615
c414ac1d 5487
8971094d 5488 * tree-ssa-structalias.c (solution_set_add): Handle
c414ac1d 5489 first_vi_for_offset returning NULL.
8971094d
DB
5490 (do_da_constraint): Ditto.
5491 (do_sd_constraint): Ditto.
5492 (do_ds_constraint): Ditto
5493 (find_func_aliases): Ditto.
5494 (build_constraint_graph): RHS is allowed be ANYTHING.
5495 (first_vi_for_offset): Return NULL if we couldn't find anything at
5496 the offset.
c414ac1d 5497
c5b2a111
UW
54982005-08-14 Ulrich Weigand <uweigand@de.ibm.com>
5499
5500 * config/s390/s390.c (s390_canonicalize_comparison): Prefer register
5501 over memory as first operand.
5502
adb7b764
L
55032005-08-14 H.J. Lu <hongjiu.lu@intel.com>
5504
5505 PR target/23360
5506 * config/i386/crtfastmath.c (set_fast_math): Check if DAZ is
5507 available for setting it.
5508
1f400bbb
IR
55092005-08-14 Ira Rosen <irar@il.ibm.com>
5510
5511 PR tree-optimization/23320
c414ac1d
EC
5512 * tree-data-ref.c (base_addr_differ_p): Add comment. Check
5513 data-refs' types instead of base object nullness. Add check for
5514 pointer type data-refs before first location comparison. Remove
1f400bbb
IR
5515 assert.
5516
db875b15
AS
55172005-08-14 Andreas Schwab <schwab@suse.de>
5518
5519 * doc/md.texi (Machine Constraints): Fix misplaced @end table.
5520
0aca9021
JW
55212005-08-13 James E Wilson <wilson@specifix.com>
5522
5523 * doc/cpp.texi (__SSP__, __SSP_ALL__): Document.
5524 * doc/invoke.texi (-Wstack-protector, -fstack-protector,
5525 -fstack-protector-all, --param ssp-buffer-size): Document.
5526 (-Wvariadic-macros): Alphabetize.
5527 (-fsched-stalled-insns-dep): Add missing 'f'.
5528
0ffb94cd
JW
5529 * c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect
5530 macros.
5531
3256a76e
DE
55322005-08-13 David Edelsohn <edelsohn@gnu.org>
5533
5534 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed
5535 or indirect address operand.
5536 (EXTRA_ADDRESS_CONSTRAINT): New.
5537 * config/rs6000/rs6000.md (prefetch): Change constraint "p" to "a".
5538
d7770457
SP
55392005-08-13 Sebastian Pop <pop@cri.ensmp.fr>
5540
5541 PR tree-optimization/22236
5542 * tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print
5543 successors and predecessors.
5544 * tree-chrec.c (chrec_convert): Before converting, check that
5545 sequences don't wrap.
5546 * tree-data-ref.c (compute_estimated_nb_iterations): Moved ...
5547 (analyze_array): Extern.
5548 (find_data_references_in_loop): Remove call to
5549 compute_estimated_nb_iterations.
5550 * tree-data-ref.h (analyze_array): Declared.
5551 * tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand,
5552 single_ssa_def_operand, zero_ssa_operands): Fix documentation.
5553 * tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter.
c414ac1d 5554 * tree-scalar-evolution.c (instantiate_parameters_1): Factor entry
d7770457
SP
5555 condition.
5556 * tree-ssa-loop-ivcanon.c: Fix documentation.
5557 * tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note.
5558 * tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here.
5559 (infer_loop_bounds_from_undefined): New.
5560 (estimate_numbers_of_iterations_loop): Use
5561 infer_loop_bounds_from_undefined.
5562 (used_in_pointer_arithmetic_p): New.
5563 (scev_probably_wraps_p): Pass an extra parameter. Call
5564 used_in_pointer_arithmetic_p. Check that AT_STMT is not null.
5565 (convert_step): Fix documentation.
5566 * tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters.
5567 Use initial_condition_in_loop_num and evolution_part_in_loop_num
5568 instead of CHREC_LEFT and CHREC_RIGHT. Adjust the call to
5569 scev_probably_wraps_p.
5570
e2df5c1d
UW
55712005-08-13 Ulrich Weigand <uweigand@de.ibm.com>
5572
5573 * config/s390/s390.c (s390_split_branches): Revert 2005-08-12 change.
5574 (s390_register_info): Ignore clobbered_regs information for fixed
5575 registers, and only fixed registers.
5576 (s390_init_frame_layout): Remove redundant call.
5577
7cd5c075
GP
55782005-08-12 Gerald Pfeifer <gerald@pfeifer.com>
5579
c414ac1d 5580 * doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to
7cd5c075
GP
5581 description of -Wold-style-casts.
5582
7b8acc34
AK
55832005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
5584 Jakub Jelinek <jakub@redhat.com>
5585
5586 * config/s390/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
5587 * config/s390/s390-protos.h (s390_get_thread_pointer): Prototype added.
5588 * config/s390/s390.c (print_operand): New output modifier 'G' added.
5589 (get_thread_pointer): Renamed to s390_get_thread_pointer.
5590 * config/s390/s390.md (stack_protect_set, stack_protect_test): If
5591 TARGET_THREAD_SSP_OFFSET is defined, change operands[1] to
5592 (MEM:P (PLUS:P (tp, TARGET_THREAD_SSP_OFFSET))).
5593 (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
5594 ("stack_protect_set", "stack_protect_test"): New expanders.
5595 ("stack_protect_setsi", "stack_protect_setdi", "stack_protect_testsi",
5596 "stack_protect_testdi"): New insn definitions.
5597
4700982d
AK
55982005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
5599
5600 * config/s390/s390.md ("*movdf_31"): Changed constraint from P to K.
5601
3c60bed5
PB
56022005-08-12 Paul Brook <paul@codesourcery.com>
5603
5604 * config/arm/lib1funcs.asm: Error if __ARM_ARCH__ not set.
5605
f83a336d
AK
56062005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
5607
5608 * config/s390/predicates.md (setmem_operand): New predicate.
5609 (shift_count_operand): Accept ANDs with special constants as
5610 operand.
5611 * config/s390/s390.c (print_shift_count_operand): Skip ANDs
5612 with special constants.
5613 * config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced
5614 shift_count_operand with setmem_operand.
5615
c4d50129
AK
56162005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
5617
5618 * config/s390/s390.c (s390_extract_part, s390_single_part):
5619 Type cast added.
5620 (s390_const_ok_for_constraint_p): Added SImode to the N constraint.
5621 (s390_output_mi_thunk): Don't use lg on 31 bit.
5622 * config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
5623 ("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
5624
b5c67a49
AK
56252005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
5626
5627 * config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros.
5628 (s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p,
5629 s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue,
5630 s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P
5631 with one of the new macros.
5632
dc4477f5
AK
56332005-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
5634
c414ac1d 5635 * config/s390/s390.c (s390_split_branches, s390_init_frame_layout):
dc4477f5
AK
5636 Don't set save_return_addr_p.
5637 (s390_register_info): Make clobbered_regs not depending on
5638 save_return_addr_p.
5639
ec92bd4b
KK
56402005-08-12 Kaz Kojima <kkojima@gcc.gnu.org>
5641
5642 * gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
5643 (LINK_COMMAND_SPEC): Add space after %(link_ssp).
5644
8c2efff7
JW
56452005-08-11 James E. Wilson <wilson@specifix.com>
5646
5647 * config/ia64/ia64.h (EXTRA_MEMORY_CONSTRAINT): New.
5648
ea93971a
JJ
56492005-08-11 Jakub Jelinek <jakub@redhat.com>
5650
86bd8ebf
JJ
5651 * dwarf2out.c (add_location_or_const_value_attribute): Prefer
5652 locations gathered by var-tracking in single entry loc_list
5653 over loc_descriptor_from_tree.
5654
ea93971a
JJ
5655 * dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
5656 pass it down to loc_descriptor.
5657 (loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
5658 (containing_function_has_frame_base): Move earlier in the file.
5659 (loc_descriptor_from_tree_1): Use containing_function_has_frame_base
5660 instead of always assuming fbreg can't be used.
5661
dec1f3aa
DE
56622005-08-11 David Edelsohn <edelsohn@gnu.org>
5663
5664 * config/rs6000/altivec.md: Change constraint "m" to "Z".
5665 * config/rs6000/predicates.md (indexed_or_indirect_operand):
5666 Accept address wrapped in AND for Altivec.
5667 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
5668 Strip AND wrapping offset address for Altivec.
5669
7fd6694b
RH
56702005-08-11 Richard Henderson <rth@redhat.com>
5671
5672 PR middle-end/23312
5673 * gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
5674 before using TYPE_IS_SIZETYPE.
5675
4ead2a39
RH
56762005-08-11 Richard Henderson <rth@redhat.com>
5677
5678 PR target/22225
5679 * config/alpha/alpha.c (alphaev4_insn_pipe): Add take pipes for
5680 insn types not present on ev4.
5681 (alphaev5_insn_pipe): Similarly.
5682
da8ce8be
RE
56832005-08-11 Richard Earnshaw <richard.earnshaw@arm.com>
5684
5685 PR target/23250
5686 * arm.c (arm_override_options): If the user has selected callee-super-
5687 interworking, then enable normal interworking.
5688
eb2b0cc0
RO
56892005-08-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5690
5691 * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Undef before
5692 redefinition.
5693
b630e240
WZ
56942005-08-11 Wu Zhou <woodzltc@cn.ibm.com>
5695
5696 * doc/rtl.texi: Fix two typos.
5697
cac32996
RG
56982005-08-11 Richard Guenther <rguenther@suse.de>
5699
5700 PR target/23289
5701 * config/i386/i386.c (ix86_function_ok_for_sibcall): Handle
5702 cases where we call to/from functions returning void.
5703
a4faac50
JM
57042005-08-10 James A. Morrison <phython@gcc.gnu.org>
5705
5706 PR c++/23225
5707 * tree.c (build_pointer_type_for_mode): Robustify.
5708
907f033f
JW
57092005-08-10 James E Wilson <wilson@specifix.com>
5710
5711 * defaults.h, config/alpha/alpha.h, config/ia64/ia64.h
5712 (ASM_OUTPUT_ADDR_VEC_ELT): Delete.
5713
5714 * config/alpha/alpha.c (alpha_arg_partial_bytes): Change "(CUM)." to
5715 "cum->".
5716
bb8df8a6
EC
57172005-08-10 Eric Christopher <echristo@apple.com>
5718
5719 * config/rs6000/rs6000.c (mems_ok_for_quad_peep): Rewrite.
5720 * config/rs6000/rs6000.md (*lfq_power2, *stfq_power2): Use
5721 V2DFmode.
5722
4f8dbd34
AP
57232005-08-10 Andrew Pinski <pinskia@physics.uc.edu>
5724
ce31ea84 5725 PR target/21887
4f8dbd34
AP
5726 * config/darwin.c (machopic_indirect_data_reference): Use a new register
5727 for the high part when generating dynamic-no-pic code.
5728
d75e02d6
L
57292005-08-10 H.J. Lu <hongjiu.lu@intel.com>
5730
5731 * config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file.
5732 (x86_64-*-linux*): Likewise.
5733
5734 * config/i386/crtfastmath.c: New file.
5735 * config/i386/t-crtfm: Likewise.
5736
5737 * config/i386/linux.h (ENDFILE_SPEC): New.
5738 * config/i386/linux64.h (ENDFILE_SPEC): Likewise.
5739
5740 * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
5741 crtfastmath.o.
5742
61abee65
DN
57432005-08-10 Dorit Nuzman <dorit@il.ibm.com>
5744
5745 * doc/md.texi: (reduc_smin, reduc_umin, reduc_splus, reduc_uplus):
5746 (vec_shl, vec_shr): Document new operations.
5747 * tree.def (VEC_RSHIFT_EXPR, VEC_LSHIFT_EXPR): Fix comment.
5748
11aac14f
DE
57492005-08-10 David Edelsohn <edelsohn@gnu.org>
5750
5751 * config/rs6000/predicates.md (indexed_or_indirect_address): New.
5752 * config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and
5753 change predicate to indexed_or_indirect_address.
5754
9bd05108
RS
57552005-08-10 Richard Sandiford <richard@codesourcery.com>
5756
5757 * config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases.
5758 * config/arm/libgcc-bpabi.ver (GCC_3.5): Add __aeabi_idiv,
5759 __aeabi_uidiv, __aeabi_uread4, __aeabi_uread8, __aeabi_uwrite4
5760 and __aeabi_uwrite8.
5761 * config/arm/unaligned-funcs.c: New file.
5762 * config/arm/t-bpabi (LIB2FUNCS_EXTRA): Add unaligned-funcs.c.
5763
defb77dc
PB
57642005-08-09 Paolo Bonzini <bonzini@gnu.org>
5765
5766 * bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks):
5767 Add dump.
5768 * cfglayout.c (pass_insn_locators_initialize): Add dump.
5769 * emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes):
5770 Add dump.
5771 * except.c (pass_convert_to_eh_region_ranges): Add dump.
5772 * final.c (pass_shorten_branches): Add dump.
5773 * flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump.
5774 (pass_life): Rename dump.
5775 (rest_of_handle_flow2): Remove initial verify_flow_info.
5776 * function.c (pass_instantiate_virtual_regs): Add dump.
5777 * integrate.c (pass_initial_value_sets): Add dump.
5778 * jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump.
5779 * loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump.
5780 (pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop,
5781 pass_rtl_unroll_and_peel_loops): Rename dump and add gate.
5782 (gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop,
5783 gate_rtl_unrool_and_peel_loops): New.
5784 (rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops,
5785 rtl_doloop): Do not look at flags.
5786 * mode-switching.c (pass_mode_switching): Add dump.
5787 * recog.c (pass_split_all_insns, pass_split_for_shorten_branches,
5788 pass_split_before_regstack): Add dump.
5789 * regmove.c (pass_stack_adjustments): Add dump.
5790 * tree-optimize.c (pass_fixup_cfg): Add dump.
5791
2a6a63c1
KI
57922005-08-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
5793
5794 PR 23309
5795 * config/m32r/m32r.c (m32r_reload_lr): Fix off by one error when
5796 deciding which instruction sequence to use.
5797
0ed414a4
DN
57982005-08-09 Dorit Nuzman <dorit@il.ibm.com>
5799
bb8df8a6 5800 * tree-vect-transform.c (vect_create_epilog_for_reduction): Set
0ed414a4
DN
5801 BIT_FIELD_REF_UNSIGNED for newly created BIT_FIELD_REFs.
5802
9bc15050
RG
58032005-08-09 Richard Guenther <rguenther@suse.de>
5804
5805 * c-common.c (builtin_function_2): Remove.
5806 (def_builtin_1): New function.
5807 (c_common_nodes_and_builtins): Use def_builtin_1 to
5808 build builtin functions.
5809
07da68fd
JZ
58102005-08-09 Jie Zhang <jie.zhang@analog.com>
5811
5812 * config/bfin/uclinux.h (NO_IMPLICIT_EXTERN_C): Define.
5813 * config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define.
5814 * config/bfin/bfin.c (bfin_return_in_memory): Update to really match
5815 Visual DSP.
5816
2f133f46
JM
58172005-08-09 James A. Morrison <phython@gcc.gnu.org>
5818
5819 * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Use
5820 fold_binary instead of fold_build2 since we don't care about the
5821 resulting tree.
5822 (loop_niter_by_eval): Likewise.
5823 (compare_trees): Likewise.
5824 (proved_non_wrapping_p): Likewise.
5825
f14e694e
JM
58262005-08-09 James A. Morrison <phython@gcc.gnu.org>
5827
5828 PR c/23161
5829 PR c/23165
5830 * c-typeck.c (c_finish_if_stmt): Look into STATEMENT_LISTs to see
5831 if the if is really empty.
5832
2ef571e2
SB
58332005-08-09 Steven Bosscher <stevenb@suse.de>
5834
5835 PR tree-optimization/23234
5836 * tree-ssa-math-opts.c (place_reciprocal): New enum.
5837 (execute_cse_reciprocals_1): Replace the 'phi' argument with an
5838 argument of the new enum.
5839 (execute_cse_reciprocals): Add reciprocals for function arguments
5840 on the unique successor edge of the entry block. Update other calls
5841 to execute_cse_reciprocals_1.
5842
a9c5ddf9
RH
58432005-08-08 Richard Henderson <rth@redhat.com>
5844
5845 PR 22439
5846 * gimplify.c (gimplify_one_sizepos): Preserve the original type.
5847
22469409
BW
58482005-08-08 Bob Wilson <bob.wilson@acm.org>
5849
5850 * expr.c (write_complex_part): Return after handling MEM.
5851
2d88fcc2
JC
58522005-08-08 Josh Conner <jconner@apple.com>
5853
5854 PR rtl-optimization/23241
5855 * combine.c (simplify_comparison): Fix error in determining
5856 whether to lift a subreg from comparison.
5857
7a4eca66
DE
58582005-08-08 David Edelsohn <edelsohn@gnu.org>
5859
5860 PR target/18506
5861 * config/rs6000/altivec.md (vec_init<mode>): New.
5862 (vec_set<mode>): New.
5863 (vec_extract<mode>): New.
5864 * config/rs6000/rs6000.c (rs6000_expand_vector_init): New.
5865 (rs6000_expand_vector_set): New.
5866 (rs6000_expand_vector_extract): New.
5867 (rs6000_legitimate_offset_address_p): Offset addresses are valid
5868 for Altivec modes before reload.
5869 (altivec_expand_vec_init_builtin): New.
5870 (get_element_number): New.
5871 (altivec_expand_vec_set_builtin): New.
5872 (altivec_expand_vec_ext_builtin): New.
5873 (altivec_expand_builtin): Expand vec_init, vec_set, and vec_ext
5874 builtins.
5875 (altivec_init_builtins): Init vec_init, vec_set, and vec_ext
5876 builtins.
5877 * config/rs6000/rs6000.h (rs6000_builtins): Add
5878 ALTIVEC_BUILTIN_VEC_INIT_<mode>, ALTIVEC_BUILTIN_VEC_SET_<mode>,
5879 ALTIVEC_BUILTIN_VEC_EXT_<mode>.
5880 * config/rs6000/rs6000-protos.h: Declare new functions.
5881
47efdea4
JH
58822005-08-08 Jan Hubicka <jh@suse.cz>
5883
5884 * i386.c (legitimate_pic_address_disp_p): Refuse GOTOFF in 64bit mode.
5885 (legitimate_address_p): Refuse GOT and GOTOFF in 64bit mode.
5886 * i386.md (movdi*): Use pic_32bit_operand.
5887 * predicates.md (pic_32bit_operand): New.
5888
f303a996
NS
58892005-08-08 Nathan Sidwell <nathan@codesourcery.com>
5890
5891 PR c++/21166
5892 * stor-layout.c (finalize_type_size): Undo DECL_PACKED when possible.
5893
a5ad7269
JM
58942005-08-07 James A. Morrison <phython@gcc.gnu.org>
5895
5896 * tree-vrp.c (simplify_div_or_mod_using_range): Use build2.
5897 (test_for_singularity): Use fold_build2.
5898
914a6ee8
JDA
58992005-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5900
5901 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Fix loop upper bound.
5902
f18faab7
DS
59032005-08-07 Danny Smith <dannysmith@users.sourceforge.net>
5904
5905 * config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO): Define.
5906 (COMMON_ASM_OP) Define.
5907 * config/i386/i386.c (ix86_in_large_data_p): Add ATTRIBUTE_UNUSED
5908 (ix86_encode_section_info): Likewise.
5909 (TARGET_ENCODE_SECTION_INFO): Conditionally define as
5910 SUBTARGET_ENCODE_SECTION_INFO.
5911
455c08cb
RH
59122005-08-06 Richard Henderson <rth@redhat.com>
5913
5914 PR 21894
5915 * tree-nested.c (convert_local_reference): Save and restore val_only
5916 around component_ref and friends. Clear walk_subtrees by default.
5917
3300bf07
PG
59182005-08-06 Peter O'Gorman <peter@pogma.com>
5919
5920 PR 21366
5921 * gcc.c (process_command): Check the argument to -b has a dash.
5922 * doc/invoke.texi: Update -b and -V docs.
5923
e2ba06d6
JW
59242005-08-06 James E Wilson <wilson@specifix.com>
5925
5926 * config/mips/cross64.h, config/mips/t-cross64: Delete.
5927
3e0a6ca6
MM
59282005-08-06 Michael Matz <matz@suse.de>
5929
5930 * genattrtab.c (write_attr_get, write_attr_case): Use insn_code
5931 member only if only one insn is associated with the value.
5932
2f806f3b
NC
59332005-08-06 Nick Clifton <nickc@redhat.com>
5934
5935 * config/stormy16/stormy16.h (SYMBOL_FLAG_XSTORMY16_BELOW100):
5936 New define.
3e0a6ca6 5937 (ASM_OUTPUT_LABELREF): Delete - it is no longer needed.
2f806f3b
NC
5938 * config/stormy16/stormy16.c (xstormy16_below100_symbol):
5939 Check symbol flags instead of symbol name mangling.
3e0a6ca6 5940 (xstormy16_asm_output_aligned_common): Likewise. Also
2f806f3b
NC
5941 simplify code since the bss100_section cass is the only case
5942 where the below100 code will be triggered.
3e0a6ca6 5943 (xstormy16_encode_section_info): Encode below100 attribute
2f806f3b
NC
5944 using the SYMBOL_FLAG_XSTORMY16_BELOW100 instead of mangling
5945 the name.
3e0a6ca6 5946 (xstormy16_strip_name_encoding): Delete - this function is no
2f806f3b 5947 longer needed.
3e0a6ca6 5948 (TARGET_STRIP_NAME_ENCODING): Undefine.
2f806f3b
NC
5949 * config/stormy16/stormy16-protos.h: Delete prototype for
5950 xstormy16_strip_name_encoding.
5951
a4d05547
KH
59522005-08-06 Kazu Hirata <kazu@codesourcery.com>
5953
5954 * Makefile.in, cfgexpand.c, cfgloop.h, cfgloopmanip.c,
5955 config.gcc, ipa-cp.c, ipa-prop.c, ipa-prop.h, reg-stack.c,
5956 tree-ssa-structalias.c, tree-vrp.c, value-prof.c, vec.h,
5957 config/linux.h, config/alpha/alpha.h, config/alpha/linux.h,
5958 config/alpha/predicates.md, config/arc/arc.h,
5959 config/arm/arm.h, config/arm/ieee754-df.S,
5960 config/arm/ieee754-sf.S, config/bfin/bfin.c,
5961 config/bfin/bfin.h, config/c4x/c4x.h, config/crx/crx.c,
5962 config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
5963 config/i386/i386.h, config/ia64/ia64.c, config/ia64/ia64.h,
5964 config/m68hc11/m68hc11.h, config/mips/mips.c,
5965 config/mips/mips.h, config/mips/openbsd.h,
5966 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h,
5967 config/pdp11/pdp11.h, config/rs6000/linux-unwind.h,
5968 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
5969 config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
5970 config/sparc/linux.h, config/sparc/linux64.h,
5971 config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h,
5972 doc/extend.texi, doc/gcov.texi, doc/install.texi,
5973 doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix comment/doc
5974 typos. Follow spelling conventions.
5975
591baeb0
JM
59762005-08-06 Joseph S. Myers <joseph@codesourcery.com>
5977
5978 PR c/23113
5979 * stmt.c (warn_if_unused_value): Check TREE_NO_WARNING at start.
5980 Don't handle NOP_EXPR, CONVERT_EXPR and NON_LVALUE_EXPR
5981 specially. Check for side effects only for COND_EXPR.
5982 * c-typeck.c (c_finish_stmt_expr): Mark statement expression
5983 return with TREE_NO_WARNING.
5984
f7a064b5
RS
59852005-08-06 Richard Sandiford <richard@codesourcery.com>
5986
5987 PR rtl-optimization/23233
5988 * loop.c (combine_movables): Require the modes to be the same.
5989 (move_movables): Remove handling of cases where the replacement
5990 had a different mode to the original.
5991
b17775ab
JM
59922005-08-05 James A. Morrison <phython@gcc.gnu.org>
5993
5994 PR tree-optimization/23128
5995 * tree-vrp.c (vrp_int_const_binop): Check if unsigned addition or
5996 subtraction wrap, and set TREE_OVERFLOW if they do.
5997
bb1ecfe8
RH
59982005-08-05 Richard Henderson <rth@redhat.com>
5999
6000 PR 21728
6001 * tree-cfg.c (remove_bb): Transmute DECL_NONLOCAL labels into
6002 FORCED_LABEL labels.
6003
50aa8e71
R
60042005-08-05 J"orn Rennecke <joern.rennecke@st.com>
6005
6006 PR middle-end/23135
6007 * reload.c (find_reloads_subreg_address): Pass down TYPE
6008 unchanged. Change all callers except find_reloads_toplev.
6009
b01896cc
MM
60102005-08-05 Michael Matz <matz@suse.de>
6011
6012 * genattrtab.c (current_alternative_string): Remove.
6013 (SIMPLIFY_ALTERNATIVE): Ditto.
6014 (attr_alt_bit_p): Ditto.
6015 (alternative_name): Make const char *.
6016 (evaluate_eq_attr): Remove use of above things.
6017 (simplify_test_exp): Ditto.
6018 (simplify_test_exp <EQ_ATTR>): Guard for insn_code < 0 .
6019 (simplify_test_exp <AND>): Correct typo (test 'right' not 'left').
6020
3f94bdec
JW
60212005-08-04 James E Wilson <wilson@specifix.com>
6022
6023 * config/ptx4.h, config/sol2.h, config/arm/freebsd.h,
6024 config/arm/linux-elf.h, config/frv/frv.h, config/i386/freebsd.h,
6025 config/i386/freebsd64.h, config/i386/netware.h, config/i386/sco5.h,
6026 config/ia64/freebsd.h, config/rs6000/sysv4.h, config/sparc/freebsd.h
6027 (LINK_SPEC): Delete useless %{Wl,*:%*} item.
6028
460f84ed
RH
60292005-08-04 Richard Henderson <rth@redhat.com>
6030
6031 PR 21529
6032 * params.def (PARAM_SRA_MAX_STRUCTURE_COUNT): New.
6033 * params.h (SRA_MAX_STRUCTURE_COUNT): New.
6034 * tree-sra.c (decide_block_copy): Use it. Disable element copy
6035 if we'd have to instantiate too many members.
6036
5a910e43
RH
60372005-08-04 Richard Henderson <rth@redhat.com>
6038
6039 PR 21291
6040 * tree-outof-ssa.c (coalesce_asm_operands): New.
6041 (coalesce_ssa_name): Use it. Split out ...
6042 (coalesce_phi_operands, coalesce_result_decls): ... these.
6043
27c37000
PB
60442005-08-04 Paul Brook <paul@codesourcery.com>
6045
6046 * read-rtl.c (read_quoted_string): Break if EOF.
6047
5808968e
AP
60482005-08-04 Andrew Pinski <pinskia@physics.uc.edu>
6049
6050 * tree.h (fold_build1): Change to macro and call fold_build1_stat.
6051 (fold_build2): Likewise.
6052 (fold_build3): Likewise.
6053 (fold_build1_stat): New function prototype.
6054 (fold_build2_stat): Likewise.
6055 (fold_build3_stat): Likewise.
6056 * fold-const.c (fold_build1): Rename to ..
6057 (fold_build1_stat): this. Add MEM_STAT_DECL. Pass the mem stats
6058 through to build1_stat.
6059 (fold_build2): Rename to ..
6060 (fold_build2_stat): this. Add MEM_STAT_DECL. Pass the mem stats
6061 through to build2_stat.
6062 (fold_build3): Rename to ..
6063 (fold_build3_stat): this. Add MEM_STAT_DECL. Pass the mem stats
6064 through to build3_stat.
6065
d70eadf7 60662005-08-04 David Edelsohn <edelsohn@gnu.org>
6d62ac14 6067 Ian Lance Taylor <ian@airs.com>
d70eadf7
DE
6068
6069 * function.c (assign_stack_local_1): Do not correct stack slot
6070 address if allocation size is smaller than mode size.
6071
c4f548b8
DN
60722005-08-04 Diego Novillo <dnovillo@redhat.com>
6073
6074 PR 22037
6075 * tree-cfg.c (replace_uses_by): Call mark_new_vars_to_rename.
6076 (tree_merge_blocks): Propagate anything allowed by
6077 may_propagate_copy.
6078 Clarify documentation.
6079 * passes.c (execute_todo): If cleanup_tree_cfg invalidated the
6080 SSA form, schedule an update if necessary.
6081
2b7c3273
GP
60822005-08-04 Gerald Pfeifer <gerald@pfeifer.com>
6083
6084 * doc/install.texi (Binaries): Remove broken link to
6085 Sinix/Reliant Unix binaries.
6086
b755446c
RH
60872005-08-03 Richard Henderson <rth@redhat.com>
6088
6089 PR 23221
6090 * function.c (stack_protect_epilogue): Export.
6091 * tree.h (stack_protect_epilogue): Declare.
6092 * calls.c (expand_call): Call it.
6093
7904f95f
EC
60942005-08-03 Eric Christopher <echristo@apple.com>
6095
6096 * gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
6097 * config/darwin.h (LINK_COMMAND_SPEC): Add link_ssp
6098 spec.
6099
d783b2a2
JH
61002005-08-04 Jan Hubicka <jh@suse.cz>
6101
6102 * profile.c (branch_prob): Split edges with goto locus on them
6103 to get proper line counts.
6104 * tree-cfg.c (make_cond_expr_edges): Record user goto locuses, if any.
6105
53366450
PB
61062005-08-03 Paul Brook <paul@codesourcery.com>
6107
6108 * function.c (assign_parms): Round current_function_args_size
6109 to PARM_BOUNDARY, not STACK_BOUNDARY.
6110
e81d37df
GK
61112005-08-03 Geoffrey Keating <geoffk@apple.com>
6112
6113 * config/i386/i386.c (x86_elf_aligned_common)
6114 (x86_output_aligned_bss): Don't try to use symbols that aren't defined.
6115
279072c8
ZD
61162005-08-03 Zdenek Dvorak <dvorakz@suse.cz>
6117
6118 PR tree-optimization/23157
6119 * tree-scalar-evolution.c (scev_const_prop): Unshare trees
6120 before emitting them.
6121
9d2b0e12
VR
61222005-08-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
6123
6124 PR tree-optimization/19899
6125 * Makefile.in (tree-scalar-evolution.o): Add real.h.
6126 * tree-scalar-evolution.c: Include real.h.
6127 (add_to_evolution): Build constant -1 of correct type.
6128
178df94f
JH
61292005-08-03 Jan Hubicka <jh@suse.cz>
6130
6131 * cfgloop.h (DLTHE_FLAG_COMPLETTE_PEEL): New flag.
6132 * cfgloopmanip.c (duplicate_loop_to_header_edge): Special case
6133 profile updating for complette unrolling.
6134 * loop-unroll.c (peel_loop_completely): Use it.
6135 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
6136 (tree_unroll_loops_completely): Disable code growing unrolling of cold
6137 loops.
6138
4164b2fb
PB
61392005-08-03 Paul Brook <paul@codesourcery.com>
6140
6141 * combine.c (can_change_dest_mode): New function.
6142 (try_combine, simplify_set): Use it.
6143
4e2b3c87
EB
61442005-08-03 Eric Botcazou <ebotcazou@adacore.com>
6145
6146 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Only force
6147 TFmode to BLKmode.
6148
1d7887ca
GP
61492005-08-03 Gerald Pfeifer <gerald@pfeifer.com>
6150
6151 * doc/install.texi (Specific): Adjust link to openavr.org.
6152 (Specific): Remove broken reference to GCC 2.8.1 for OS/2.
6153 (Binaries): Adjust HP-UX Porting Center link.
6154 (Binaries): Adjust Free Software Foundation ordering link.
1d7887ca 6155
c7f59e9c
AP
61562005-08-03 Andrew Pinski <pinskia@physics.uc.edu>
6157
6158 * convert.c (convert_to_integer): Use fold_build1 instead of
6159 build1 when converting an integer to an integer.
6160
65030b76
RH
61612005-08-02 Richard Henderson <rth@redhat.com>
6162
6163 * combine.c (combine_instructions): Don't use reg_equal/equiv
6164 results if the mode doesn't match.
6165
6d1ab63a
MM
61662005-08-02 Mark Mitchell <mark@codesourcery.com>
6167
6168 * config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Set it.
6169 * doc/fragments.texi (NATIVE_SYSTEM_HEADER_DIR): Document it.
6170
6d90db3a
RH
61712005-08-02 Richard Henderson <rth@redhat.com>
6172
6173 PR 23196
7904f95f 6174 * explow.c (memory_address): Remove special-case for
6d90db3a
RH
6175 virtual_stack_vars_rtx and virtual_incoming_args_rtx.
6176
78234a86
DN
61772005-08-02 Diego Novillo <dnovillo@redhat.com>
6178
6179 PR 23164
6180 * tree-cfgcleanup.c (cleanup_tree_cfg): Do not limit the
6181 number of calls to cleanup_tree_cfg_1.
6182
5a006700
MR
61832005-08-02 Martin Reinecke <martin@mpa-garching.mpg.de>
6184
6185 * doc/invoke.texi: document file extensions .F90 and .F95
6186
237504fc
RG
61872005-08-02 Richard Guenther <rguenther@suse.de>
6188
6189 * fold-const.c (tree_expr_nonnegative_p): frexp(x, &e) is
6190 positive if its first argument is positive.
6191
e63c84d8
RG
61922005-08-02 Richard Guenther <rguenther@suse.de>
6193
6194 PR tree-optimization/23177
6195 * tree-ssa-operands.c (get_tmr_operands): Use get_expr_operands
6196 on TMR_TAG.
6197
08303d5b
JM
61982005-08-02 James A. Morrison <phython@gcc.gnu.org>
6199
6200 PR tree-optimization/23129
6201 * tree-vrp.c (extract_range_from_binary_expr): Set value range to
6202 varying for divisions with anti-ranges.
6203
5e5a504e
JH
62042005-08-02 Jan Hubicka <jh@suse.cz>
6205
6206 * tree-ssa-dom.c (thread_across_edge): Remove updating here.
6207 * tree-ssa-threadupdate.c (thread_block): Add it here.
6208
4dbdb061
JW
62092005-08-01 James E Wilson <wilson@specifix.com>
6210
6211 * config/mips/mips.c (mips_encode_section_info, mips_attribute_table,
6212 TARGET_ENCODE_SECTION_INFO, TARGET_ATTRIBUTE_TABLE): New.
6213 * config/mips/mips.h (SYMBOL_FLAG_LONG_CALL, SYMBOL_REF_LONG_CALL_P):
6214 New.
6215 * config/mips/predicates.md (const_call_insn_operand): Add check for
6216 SYMBOL_REF_LONG_CALL_P.
6217 * doc/extend.texi (long_call): Document the new attribute.
6218
9e254451
ILT
62192005-08-01 Ian Lance Taylor <ian@airs.com>
6220 Richard Henderson <rth@redhat.com>
6221
6222 * Makefile.in (RTL_BASE_H): Add real.h.
6223 * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Use structure copy
6224 instead of memcpy.
6225 * emit-rtl.c (const_double_from_real_value): Likewise; use rtx.u.rv
6226 directly.
6227 * rtl.c (rtl_check_failed_code_mode): New.
6228 * rtl.h (struct rtx_def): Add u.rv.
6229 (XCMWINT, XCNMPRV): New.
6230 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XCMWINT.
6231 (CONST_DOUBLE_REAL_VALUE): Use XCNMPRV; constify.
6232
5671655e
RH
62332005-08-01 Richard Henderson <rth@redhat.com>
6234
75735872
RH
6235 * dwarf2out.c (mem_loc_descriptor): Use XEXP, not SUBREG_REG,
6236 with auto-inc codes.
6237
5671655e
RH
6238 * config/alpha/predicates.md (and_operand): Test mode of CONST_DOUBLE.
6239
72ce3d4a
JH
62402005-08-01 Jan Hubicka <jh@suse.cz>
6241
6242 * i386-protos.h (asm_preferred_eh_data_format): Declare.
6243 * i386.c: Include dwarf2.h
6244 (asm_preferred_eh_data_format): New.
6245 * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Move offline.
6246
23d28bfe
ILT
62472005-08-01 Ian Lance Taylor <ian@airs.com>
6248
6249 * config/host-linux.c (linux_gt_pch_get_address): Add new name
6250 randomize_va_space for virtual address randomization control.
6251
d6e14e8f
SB
62522005-08-01 Steven Bosscher <stevenb@suse.de>
6253
6254 * common.opt (flag_ipa_cp): Put in right place to maintain
6255 alphabetic sort.
6256
5ded7254
JH
62572005-08-01 Jan Hubicka <jh@suse.cz>
6258
6259 * profile.c (compute_value_histograms): Fix thinko.
6260 * value-prof.c: Include toplev.h
6261 (check_counter): New function.
6262 (tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform,
6263 tree_mod_subtract_transform): Add sanity check.
6264
a8f82ec4
RG
62652005-08-01 Richard Guenther <rguenther@suse.de>
6266
6267 PR tree-optimization/23133
6268 * tree-ssa-math-opts.c (execute_cse_reciprocals): Walk
6269 current functions parameter decls to find defs to cse
6270 reciprocals of.
6271
ac264fef
RG
62722005-08-01 Richard Guenther <rguenther@suse.de>
6273
6274 PR tree-optimization/23109
6275 * tree-ssa-math-opts.c (execute_cse_reciprocals_1):
6276 If trapping math is in effect, use post-dominator information
6277 to check if we'd in any case reach a trapping point before
6278 doing the reciprocal insertion.
6279 (execute_cse_reciprocals): Compute post-dominators, if necessary.
6280 * tree-ssa-loop-im.c (determine_invariantness_stmt): RDIV
6281 expressions are invariant only if trapping math is not in effect.
6282
57fb5341
RL
62832005-08-01 Razya Ladelsky <razya@il.ibm.com>
6284
5a006700
MR
6285 * cgraph.h (update_call_expr, cgraph_copy_node_for_versioning,
6286 cgraph_function_versioning): New declarations.
6287 * cgraphunit.c: Add include to ipa-prop.h.
6288 (update_call_expr, cgraph_copy_node_for_versioning,
6289 cgraph_function_versioning): New functions.
6290 * integrate.c (copy_decl_for_inlining): Remove.
6291 * ipa-prop.h (ipa_replace_map): New struct.
6292 (struct ipa_node): Add ipcp_orig_node, count_scale, new fields.
6293 * ipa-cp.c (ipcp_method_orig_node, ipcp_method_is_cloned,
6294 ipcp_method_set_orig_node, ipcp_cloned_create, ipcp_method_get_scale,
6295 ipcp_method_set_scale, ipcp_method_compute_scale, ipcp_after_propagate,
6296 ipcp_iterate_stage, ipcp_method_scale_print,
6297 ipcp_profile_mt_count_print, ipcp_profile_cs_count_print,
6298 ipcp_profile_edge_print, ipcp_profile_bb_print , ipcp_profile_print,
6299 ipcp_replace_map_create, ipcp_redirect, ipcp_update_callgraph,
6300 ipcp_update_bb_counts, ipcp_update_profiling,
6301 ipcp_update_edges_counts): New functions.
6302 (ipcp_method_cval_init): Remove restriction regarding local methods.
6303 (ipcp_init_stage): Add ipcp_method_compute_scale.
6304 (ipcp_insert_stage): Add versioning.
6305 (ipcp_structures_print): Add ipcp_method_scale_print.
6306 (ipcp_driver): Dump profiling info.
6307 * Makefile.in: Remove integrate.h dependency from tree-inline.o.
6308 Add ipa-prop.h dependency to tree-inline.o and cgraphunit.o.
6309 * tree-inline.c: Remove include to integrate.h, Add include ipa-prop.h.
6310 (struct inline_data): Add versioning_p, ipa_info, new fields.
6311 (remap_decl, mark_local_for_remap_r, setup_one_parameter,
6312 declare_return_variable): Replace calls to copy_decl_for_inlining with
6313 copy_decl_for_dup.
6314 (copy_body_r, copy_bb, copy_cfg_body, copy_tree_r, inlining_p): Add
6315 versioning support.
6316 (copy_decl_for_dup): Rename from copy_decl_for_inlining.
6317 Add argument VERSIONING.
6318 (copy_arguments_for_versioning, copy_static_chain,
6319 function_versionable_p, tree_versionable_function_p,
6320 tree_function_versioning, replace_ref_tree): New functions.
6321 * tree-inline.h: Include varray.h.
6322 (tree_versionable_function_p, tree_function_versioning,
6323 tree copy_decl_for_dup): New declarations.
57fb5341
RL
6324
63252005-08-01 Razya Ladelsky <razya@il.ibm.com>
6326
5a006700
MR
6327 * ipa-cp.c: New file. Contains IPCP specific functionality.
6328 * ipa-prop.h: New file. Contains structures/definitions that can be
6329 used by several interprocedural data flow optimizations (and also IPCP).
6330 * ipa-prop.c: New file.
6331 * Makefile.in: Add ipa-cp.c, ipa-prop.h, ipa-prop.c.
6332 * common.opt: Add ipa-cp flag.
6333 * timevar.def: Add IPCP optimization.
6334 * tree-optimize.c (init_tree_optimization_passes): Schedule
6335 pass_ipa_cp.
6336 * tree-pass.h (pass_ipa_cp): Declare.
57fb5341 6337
569b7f6a
KH
63382005-08-01 Kazu Hirata <kazu@codesourcery.com>
6339
6340 * dwarf2out.c, fold-const.c, ipa-type-escape.c,
6341 loop-invariant.c, predict.c, predict.def, reload1.c, reorg.c,
6342 tree-sra.c, config/arm/arm.c, config/crx/crx.c,
6343 config/i386/i386.c, config/mips/mips.h,
6344 config/rs6000/rs6000.h, config/sh/sh.c,
6345 config/stormy16/stormy16.c: Fix comment typos.
6346
5922c215
JM
63472005-08-01 Joseph S. Myers <joseph@codesourcery.com>
6348
6349 PR c/22311
6350 * c-typeck.c (build_binary_op): Use common_type wrapper on
6351 shortened types.
6352 (common_type): Update comment.
6353
a3f4b7d8
SB
63542005-07-31 Steven Bosscher <stevenb@suse.de>
6355
6356 PR target/23095
6357 * common.opt (flag_gcse_after_reload): Don't initialize to 2.
6358 (flag_rerun_cse_after_loop): Initialize this to 2 instead.
6359 * postreload-gcse.c (hash_scan_set): Do not consider stack regs.
6360
baf7a0d3
JH
63612005-07-31 Jan Hubicka <jh@suse.cz>
6362
6363 * pretty-print.h (pp_widest_integer): New macro.
6364 * tree-pretty-print.c (dump_bb_header): Print BB frequencies and
6365 counts.
6366
7dcbf659
JH
63672005-07-31 Jan Hubicka <jh@suse.cz>
6368
6369 * output.h (enum section_category): Export from varasm.c
6370 (categorize_decl_for_section): Likewise.
6371 * varasm.c (enum section_category): Kill.
6372 (categorize_decl_for_section): Make global.
6373 * i386-protos.h (x86_output_aligned_bss, x86_elf_aligned_common):
6374 Declare.
6375 * i386.c (ix86_section_threshold): New static variable.
6376 (ix86_in_large_data_p, ix86_encode_section_info,
6377 x86_64_elf_unique_section,
6378 x86_64_elf_select_section): New functions.
6379 (TARGET_ENCODE_SECTION_INFO): Define
6380 (override_options): Enable medium model for PIC.
6381 (ix86_expand_prologue): Expand gen_set_got_rex64.
6382 (legitimate_constant_p): Handle new UNSPECs.
6383 (legitimate_pic_address_disp_p): Likewise.
6384 (legitimize_pic_address): Lower MEDIUM model addressing.
6385 * i386.h (PIC_OFFSET_TABLE_REGNUM): Set for medium model PIC.
6386 (enum cmodel): Add MEDIUM_PIC.
6387 (SYMBOL_REF_FAR_ADDR_P): New macro.
6388 (SYMBOL_FLAG_FAR_ADDR): New flag.
6389 * i386.md (movdi): Support medium model.
6390 (set_got_rex64): New pattern.
6391 * i386.opt (mlarge-data-threshold): New flag.
6392 * predicates.md (zext_operand/sext_operand): Deal with medium model.
6393 * x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Use x86_output_aligned_bss.
6394 (ASM_OUTPUT_ALIGNED_COMMON, TARGET_ASM_SELECT_SECTION,
6395 TARGET_ASM_UNIQUE_SECTION): New.
6396
6397 * invoke.texi (-mlarge_data_threshold): Document
6398
0bde02b3
JH
63992005-07-31 Jan Hubicka <jh@suse.cz>
6400
6401 * tree-outof-ssa.c (coalesce_ssa_name): Use coalesce_cost.
6402 (coalesce_vars): Likewise.
6403 * tree-ssa-live.c (coalesce_cost): New.
6404 (build_tree_conflict_graph): Use coalesce_cost.
6405 * tree-ssa-live.h (coalesce_cost): Declare.
6406
a4ccc336
RE
64072005-07-30 Richard Earnshaw <richard.earnshaw@arm.com>
6408
6409 * arm.md (all peepholes for post-increment operations): Delete.
6410 (strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec)
6411 (loadqisi_preinc, loadqisi_predec, strsi_preinc, strsi_predec)
6412 (loadsi_preinc, loadsi_predec, strqi_shiftpreinc, strqi_shiftpredec)
6413 (loadqi_shiftpreinc, loadqi_shiftpredec, strsi_shiftpreinc)
6414 (strsishift_predec, loadsi_shiftpreinc, loadsi_shiftpredec): Delete.
6415
06581725
JM
64162005-07-30 James A. Morrison <phython@gcc.gnu.org>
6417
6418 * fold-const.c (tree_expr_nonnegative_p): Always return true for
6419 non-integral types.
6420
0cbc4d77 64212005-07-29 Wolfgang Bangerth <bangerth@dealii.org>
d6e14e8f 6422
0cbc4d77
WB
6423 PR target/22582
6424 * doc/invoke.texi: Document -rdynamic.
d6e14e8f 6425
91d975b8
JM
64262005-07-30 Joseph S. Myers <joseph@codesourcery.com>
6427
6428 PR c/23143
6429 * c-parser.c (c_parser_parms_list_declarator): Call
6430 mark_forward_parm_decls.
6431 * c-decl.c (merge_decls): Only check DECL_IN_SYSTEM_HEADER for
6432 decls with visibility structure.
6433
f26b8ec9
PB
64342005-07-30 Paul Brook <paul@codesourcery.com>
6435
6436 * config/arm/arm.c (arm_coproc_mem_operand): Fix inaccurate comment.
6437
a14b88bb
PB
64382005-07-30 Paul Brook <paul@codesourcery.com>
6439
6440 * config/arm/arm-protos.h (arm_canonicalize_comparison): Update
6441 prototype.
6442 * config/arm/arm.c (arm_canonicalize_comparison): Use correct limit
6443 value for mode.
6444 * config/arm/arm.h (CANONICALIZE_COMPARISON): Pass mode argument.
6445
7c47d6e9
JM
64462005-07-29 Joseph S. Myers <joseph@codesourcery.com>
6447
6448 PR c/529
6449 * c-decl.c (warn_if_shadowing): Don't check for PARM_DECL in
6450 nested function declarators.
6451 (pushdecl): Don't call warn_if_shadowing for PARM_DECL.
6452 (grokparms): Call warn_if_shadowing for parameters used within the
6453 parameter list.
6454 (store_parm_decls_newstyle): Call warn_if_shadowing for parameters
6455 not used within the parameter list.
6456 (store_parm_decls_oldstyle): Call warn_if_shadowing for parameters.
6457
3bc751bd
JH
64582005-07-30 Jan Hubicka <jh@suse.cz>
6459
6460 * expr.c (expand_expr_real_1): Do not load mem targets into register.
6461 * i386.c (ix86_fixup_binary_operands): Likewise.
6462 (ix86_expand_unary_operator): Likewise.
6463 (ix86_expand_fp_absneg_operator): Likewise.
6464 * optabs.c (expand_vec_cond_expr): Validate dest.
6465
bc1594c1
JM
64662005-07-29 Joseph S. Myers <joseph@codesourcery.com>
6467
6468 PR c/21720
6469 * real.c (real_from_string): Also set last bit if there is a
6470 nonzero hex digit beyond GCC's internal precision after ".".
6471
3aca4bff
DE
64722005-07-29 David Edelsohn <edelsohn@gnu.org>
6473
6474 * config/rs6000/altivec.md: Convert UNSPEC numerical values to
6475 define_constants. Change duplicate values to unassigned numbers.
6476 Change UNSPEC_SUBS to UNSPEC_VSUBS.
6477 (*altivec_vspltsf): New.
6478 (altivec_vperm_v4sf): Delete.
6479 (altivec_vperm_<mode>): Use mode macro V.
6480 (altivec_vsldoi_<mode>): Convert to mode macro pattern.
6481 (altivec_predicate_v4sf): Delete.
6482 (altivec_predicate_<mode>): Use mode macro V.
6483 (*altivec_lvesfx): New.
6484 (*altivec_stvesfx): New.
6485 (vec_realign_load_v4sf): Delete.
6486 (vec_realign_load_<mode>): Use mode macro V.
6487 * config/rs6000/rs6000.c (generate_set_vrsave): Use
6488 UNSPECV_SET_VRSAVE.
6489
b28250ab
MM
64902005-07-29 Mark Mitchell <mark@codesourcery.com>
6491
6492 PR bootstrap/23131
6493 * configure.ac (SYSTEM_HEADER_DIR): Avoid setting to empty
7904f95f 6494 string.
b28250ab
MM
6495 * configure: Regenerated.
6496
eae50c87
PB
64972005-07-29 Paul Brook <paul@codesourcery.com>
6498
6499 * doc/install.texi: Add link to GFortran binaries wiki page.
6500
79dad081
DU
65012005-07-29 David Ung <davidu@mips.com>
6502
6503 * config/mips/mips.c (mips_cpu_info_table): Add 5kf to the table.
6504 (mips_rtx_cost_data): Add costs for 5kc and 5kf.
6505 * config/mips/mips.h (processor_type): Add PROCESSOR_5KF.
6506 * config/mips/mips.md (cpu): Add 5kf name.
6507 (includes): Includes 5k.md.
6508 * config/mips/5k.md: New DFA pipeline for the 5kc/5kf.
6509 * doc/invoke.texi (MIPS Options): Updated cpu name supported with
7904f95f 6510 -march flag.
79dad081 6511
89e80dd4
DN
65122005-07-29 Diego Novillo <dnovillo@redhat.com>
6513
6514 PR 22550
6515 * tree-cfgcleanup.c (cleanup_tree_cfg_1): Extract from ...
6516 (cleanup_tree_cfg): ... here.
6517 Call cleanup_tree_cfg_1 until there are no more cleanups to
6518 do.
6519
d2f3ffba
JM
65202005-07-29 James A. Morrison <phython@gcc.gnu.org>
6521
6522 * tree-vrp.c (compare_range_with_value): Return true or false
6523 for ~[VAL_1, VAL_2] OP VAL if VAL_1 <= VAL <= VAL_2 for NE_EXPR and
6524 EQ_EXPR respectively.
6525
536fa7b7
KH
65262005-07-29 Kazu Hirata <kazu@codesourcery.com>
6527
6528 * cfg.c, tree-complex.c, config/frv/frv.c, config/i386/i386.c:
6529 Fix comment typos.
6530
6a2cf9dc
DN
65312005-07-29 Diego Novillo <dnovillo@redhat.com>
6532
6533 * tree-ssa-dom.c (struct opt_stats_d): Add field num_iterations.
6534 (tree_ssa_dominator_optimize): Increment it.
6535 (dump_dominator_optimization_stats): Print it.
6536
abf86bf2
RE
65372005-07-29 Richard Earnshaw <richard.earnshaw@arm.com>
6538 Steven Bosscher <stevenb@suse.de>
6539
6540 PR rtl-optimization/23117
6541 * sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly
6542 when head == tail. Tidy comment.
6543
37cf6116
RH
65442005-07-28 Richard Henderson <rth@redhat.com>
6545
6546 * cse.c (exp_equiv_p): Special case CONST_DOUBLE.
6547 * cselib.c (rtx_equal_for_cselib_p): Likewise.
6548 * jump.c (rtx_renumbered_equal_p): Likewise.
6549 * loop.c (rtx_equal_for_loop_p): Tidy and special case PC, CC0,
6550 CONST_INT and CONST_DOUBLE.
6551 (rtx_equal_for_prefetch_p): Likewise, plus LABEL_REF.
6552 * reload.c (operands_match_p): Special case CONST_INT and
6553 CONST_DOUBLE; check mode earlier.
6554
13b22d3a
JM
65552005-07-29 Joseph S. Myers <joseph@codesourcery.com>
6556
6557 PR c/22240
6558 * c-typeck.c (convert_for_assignment): Do not check
6559 DECL_IN_SYSTEM_HEADER on NULL fundecl.
6560
ca8bdb78
JM
65612005-07-29 Joseph S. Myers <joseph@codesourcery.com>
6562
6563 PR c/22192
6564 * c-typeck.c (composite_type): Prefer constant size arrays to
6565 VLAs.
6566
b608d27a
JM
65672005-07-29 Joseph S. Myers <joseph@codesourcery.com>
6568
6569 PR c/21720
6570 * real.c (real_from_string): Set last bit if there is a nonzero
6571 hex digit beyond GCC's internal precision.
6572
a560c83a
RH
65732005-07-28 Richard Henderson <rth@redhat.com>
6574
6575 PR rtl-opt/22619
6576 * cfgcleanup.c (try_forward_edges): Watch out for end of
6577 insn chain.
6578
66f33c03
JW
65792005-07-28 James E Wilson <wilson@specifixinc.com>
6580
6581 PR c/23106
6582 * doc/invoke.texi (Wstrict-aliasing=2): Fix misleading wording.
6583
c5a4444c
JH
65842005-07-28 Jan Hubicka <jh@suse.cz>
6585
8a76829c
JH
6586 * Makefile.in (rtl-profile.o): Kill all traces of it.
6587 * common.opt (fspeculative-prefetching, ftree-based-profiling): Kill.
6588 * coverage.h (rtl_coverage_counter_ref): Kill.
6589 * opts.c (flag_speculative_prefetching_set): Kill.
6590 (flag_loop_optimize_set): New.
6591 (common_handle_option): Disable loop optimizer when profiling;
6592 do not handle speculative prefetching.
6593 * passes.c (init_optimization_passes): Replace pass_profiling combo
6594 by branch_prob pass.
6595 * profile.c (compute_value_histograms): Update for simplified value
6596 profiles.
6597 (rtl_register_profile_hooks): Kill.
6598 (pass_profiling): Kill.
6599 (rest_of_handle_branch_prob): Do not profile.
6600 * toplev.c (process_options): Remove speculative prefetching.
6601 * toplev.h (flag_tree_based_profiling): Kill.
6602 * tree-profile.c (prepare_instrumented_value,
6603 tree_gen_interval_profiler, tree_gen_pow2_profiler,
6604 tree_gen_one_value_profiler, do_tree_profiling): Update for
6605 simplified datastructures.
6606 * value-prof.c: Add comment that speculative prefetching was dropped;
6607 update rest of file for simplified datastructures.
6608 (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX,
6609 rtl_divmod_values_to_profile, insn_prefetch_values_to_profile,
6610 find_mem_reference_1, find_mem_reference_2, find_mem_reference,
6611 rtl_values_to_profile, rtl_divmod_fixed_value, rtl_mod_pow2,
6612 rtl_mod_subtract, gen_speculative_prefetch,
6613 rtl_divmod_fixed_value_transform, rtl_mod_pow2_value_transform,
6614 rtl_mod_subtract_transform, speculative_prefetching_transform): Kill.
6615 (gate_handle_value_profile_transformations,
6616 rest_of_handle_value_profile_transformations,
6617 pass_value_profile_transformations): Kill.
6618 * value-prof.h (histogram_value_t): Remove IL based unions.
6619 (rtl_register_value_prof_hooks, rtl_register_profile_hooks,
6620 rtl_profile_hooks): Remove hooks.
6621
6622 * invoke.texi (-ftree-based-profiling, -fspeculative-prefetching): Kill.
6623
c5a4444c
JH
6624 * cgraph.c (cgraph_clone_edge): New UPDATE_ORIGINAL argument.
6625 (cgraph_clone_node): Likewise.
6626 * cgraph.h (cgraph_clone_edge): Update prototype.
6627 (cgraph_clone_node): Likewise.
6628 * ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
6629 cgraph_clone_node.
6630 (lookup_recursive_calls): Consider profile.
6631 (cgraph_decide_recursive_inlining): Fix updating; use new
6632 probability argument; use profile.
6633 * params.def (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY): New.
6634 * tree-inline.c (copy_bb): Update clal of clone_edge.
6635 * tree-optimize.c (tree_rest_of_compilation): UPdate cal of clone_node.
6636
6637 * invoke.texi (min-inline-recursive-probability): Document.
6638
ccf548a7
GP
66392005-07-28 Gerald Pfeifer <gerald@pfeifer.com>
6640
6641 * doc/install.texi (Configuration): Update Valgrind homepage.
6642
2c97f8e4
RH
66432005-07-28 Richard Henderson <rth@redhat.com>
6644
407ab83b 6645 PR middle-end/21362
2c97f8e4
RH
6646 * cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
6647 labels we want to delete.
6648 (cfg_layout_merge_blocks): Likewise.
6649
b188ebb1
RH
66502005-07-28 Richard Henderson <rth@redhat.com>
6651
6652 PR target/17692
d6e14e8f
SB
6653 * config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note
6654 when expanding to nothing.
b188ebb1 6655
facc20ee
JC
66562005-07-28 Josh Conner <jconner@apple.com>
6657
6658 * ipa-inline.c (update_caller_keys): Fix estimated_growth caching.
6659 (cgraph_decide_inlining_of_small_functions): Likewise.
6660
9de21a23
JC
66612005-07-28 Josh Conner <jconner@apple.com>
6662
6663 * ipa-inline.c (cgraph_edge_badness): Update comments. Invert shift
6664 direction of badness if negative.
6665 (cgraph_default_inline_p): Add reason to parameters, and assign it
6666 a value.
6667 (cgraph_decide_inlining_of_small_functions): New parameter in call
6668 to cgraph_default_inline_p.
6669 (cgraph_decide_inlining_incrementally): Likewise.
6670 * cgraphunit.c (decide_is_function_needed): Likewise.
6671 * cgraph.h (cgraph_default_inline_p): Likewise.
6672
206048bd
VR
66732005-07-28 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
6674
6675 * builtins.c: Fix comment typo(s).
6676 * genautomata.c: Likewise.
6677 * gimplify.c: Likewise.
6678 * tree-dfa.c: Likewise.
6679 * tree-flow-inline.h: Likewise.
6680 * tree-into-ssa.c: Likewise.
6681 * tree-ssa-alias.c: Likewise.
6682 * tree-ssa-ccp.c: Likewise.
6683 * tree-ssa-copy.c: Likewise.
6684 * tree-ssa-dce.c: Likewise.
6685 * tree-ssa-dom.c: Likewise.
6686 * tree-ssa-operands.c: Likewise.
6687 * tree-tailcall.c: Likewise.
6688 * tree-vectorizer.c: Likewise.
6689 * tree-vrp.c: Likewise.
6690 * tree.c: Likewise.
6691
d579f20b
JL
66922005-07-28 Jeff Law <law@redhat.com>
6693
d6e14e8f
SB
6694 * tree-vrp.c (test_for_singularity): Extracted from ...
6695 (simplify_cond_using_ranges): Attempt to simplify a relational
6696 test to NE_EXPR. Dump information when a COND_EXPR is simplified.
d579f20b 6697
5bb1823d
DN
66982005-07-28 Dorit Nuzman <dorit@il.ibm.com>
6699
6700 PR tree-optimization/22506
6701 * tree-vectorizer.c (update_phi_nodes_for_guard2): Skip loop-closed
6702 phis whose argument is constant.
6703
b92ba6ff
R
67042005-07-28 J"orn Rennecke <joern.rennecke@st.com>
6705
6706 PR rtl-optimization/18992
6707 Back out this patch:
6708 2003-10-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6709 PR optimization/12142
6710 * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
6711 uses of the register in the SET_SRC. Remove unnecessary argument.
6712
6713 Replace it with this:
6714 * cse.c (count_reg_usage): In INSN, JUMP_INSN and CALL_INSN cases,
6715 if flag_non_call_exceptions is set and the insn may trap, pass
6716 pc_rtx as dest for recursion.
6717 In SET_SRC part of SET case, if dest is already set, pass it down
6718 unchanged.
6719
09bac500
JH
67202005-07-28 Jan Hubicka <jh@suse.cz>
6721
6722 * cfg.c (update_bb_profile_for_threading): Use RDIV.
6723 (scale_bbs_frequencies_int): Likewise, assert for possible overflow.
6724 (scale_bbs_frequencies_gcov_type): Be more curefull about overflows and
6725 roundoff errors.
6726 * tree-cfg.c (tree_duplicate_sese_region): Use counts for updating
6727 profile when available.
6728
67292005-07-28 Jan Beulich <jbeulich@novell.com>
a71aef0b
JB
6730
6731 * config/ia64/ia64.c (ia64_load_pair_ok): New.
6732 (ia64_print_operand): Describe and handle 'X'.
6733 (ia64_register_move_cost): Also handle FP_REGS.
6734 (ia64_preferred_reload_class): Likewise.
6735 (ia64_secondary_reload_class): Likewise.
6736 (ia64_dependencies_evaluation_hook): New local variable c. Initialize
6737 it. Also check for ITANIUM_CLASS_FLDP.
6738 * config/ia64/ia64.h (FP_REGNO_P): New.
6739 (HARD_REGNO_MODE_OK): Remove explusion of TImode.
6740 (reg_class): Add FP_REGS.
6741 (REG_CLASS_NAMES): Adjust for it.
6742 (REG_CLASS_CONTENTS): Likewise.
6743 (REGNO_REG_CLASS): Use FP_REGS where appropriate.
6744 (REG_CLASS_FROM_LETTER): Handle 'x'.
6745 (CLASS_MAX_NREGS): Handle FP_REGS.
6746 (MEMORY_MOVE_COST): Likewise.
6747 * config/ia64/ia64.md (itanium_class): Add fldp.
6748 (type): Handle fldp.
6749 (movti_internal): More allowable operand combinations. Use ldfp8 when
6750 splitting unnecessary. Remove predicable attribute. Adjust
6751 itanium_class attribute.
6752 (smuldi3_highpart): Remove outdated comment.
6753 (mulditi3, umulditi3, rotlti3): New expanders.
6754 (addti3, subti3, mulditi3_internal, umulditi3_internal, negti2, rotlti3_internal): New insns.
6755 (absti2): Disabled new insn for future reference.
6756 Respective new splitters.
6757 * config/ia64/itanium1.md (1_fldp, 1b_fldp): New insn reservations.
6758 * config/ia64/itanium2.md (2_fldp, 2b_fldp): Likewise.
6759 * config/ia64/ia64-protos.h (ia64_load_pair_ok): New.
6760
77d1d8e0
JM
67612005-07-25 James A. Morrison <phython@gcc.gnu.org>
6762
6763 PR rtl-optimization/23047
6764 * simplify-rtx.c (simplify_const_relational_operation): Respect
6765 flag_wrapv for comparisons with ABS.
6766
ff08cbee
JM
67672005-07-27 James A. Morrison <phython@gcc.gnu.org>
6768
6769 PR tree-optimization/22493
6770 * tree-vrp.c (extract_range_from_unary_expr): Deal with -fwrapv and
6771 VR_ANTI_RANGEs properly for NEGATE_EXPRs and ABS_EXPRs.
6772
38c28a25
AH
67732005-07-27 Aldy Hernandez <aldyh@redhat.com>
6774
6775 * config/frv/frv.opt (moptimize-membar): New.
6776
6777 * doc/invoke.texi: Document -moptimize-membar and its inverse.
6778
6779 * config/frv/frv.h: Remove machine_function definition.
6780
d6e14e8f
SB
6781 * config/frv/frv.c (struct frv_io): New.
6782 (struct machine_function): Moved from frv.h. Add has_membar_p.
6783 (frv_same_doubleword_p, frv_io_fixed_order_p, frv_io_union)
6784 (frv_extract_membar, frv_io_check_address, frv_io_handle_set)
6785 (frv_io_handle_use_1, frv_io_handle_use, frv_optimize_membar_local)
6786 (frv_optimize_membar_global, frv_optimize_membar): New functions.
6787 (frv_reorg): Call frv_optimize_membar when appropriate.
6788 (bdesc_loads, bdesc_stores): Use the membar code as the icode field.
6789 (frv_expand_builtin): Adjust calls accordingly.
6790 (frv_io_address_cookie): New function.
6791 (frv_expand_load_builtin, frv_expand_store_builtin): Emit a normal
6792 load or store rather than a special insn. Add ccnstant address and
6793 io-type operands to the membar.
38c28a25
AH
6794 (frv_ifcvt_modify_tests): Unsign regno.
6795 (frv_ifcvt_modify_tests): Same.
6796
6797 * config/frv/frv.md: Remove UNSPEC_BUILTIN_{LOAD,STORE}. Change
6798 UNSPEC_OPTIONAL_MEMBAR constant.
6799 (builtin_read_<mode>): Delete.
6800 (builtin_write_<mode>): Delete.
6801 ("optional_membar_<mode>"): Add operand.
6802
6803 * testsuite/gcc.target/frv/all-builtin-read8.c: Delete.
6804 * testsuite/gcc.target/frv/all-builtin-read16.c: Delete.
6805 * testsuite/gcc.target/frv/all-builtin-read32.c: Delete.
6806 * testsuite/gcc.target/frv/all-builtin-read64.c: Delete.
6807 * testsuite/gcc.target/frv/all-builtin-write8.c: Delete.
6808 * testsuite/gcc.target/frv/all-builtin-write16.c: Delete.
6809 * testsuite/gcc.target/frv/all-builtin-write32.c: Delete.
6810 * testsuite/gcc.target/frv/all-builtin-write64.c: Delete.
6811 * testsuite/gcc.target/frv/all-read-write-1.c: New.
6812
47c504ea
KK
68132005-07-28 Kaz Kojima <kkojima@gcc.gnu.org>
6814
6815 * df.c (df_uses_record): Handle SCRATCH.
6816
ef11c839
SB
68172005-07-28 Steven Bosscher <stevenb@suse.de>
6818
6819 PR debug/20161
6820 * passes.c (rest_of_decl_compilation): If decl is a type and
6821 we have encountered errors, don't emit debug information.
6822
1eb68dca 68232005-07-27 Kenneth Zadeck <zadeck@naturalbridge.com>
ef11c839 6824
1eb68dca 6825 * params.def: Fixed comment.
7904f95f 6826
10252a62
BH
68272005-07-27 Bjoern Haase <bjoern.m.haase@web.de>
6828
6829 PR target/19885
6830 * config/avr/avr.c (TARGET_ASM_ALIGNED_SI_OP): Add.
6831 (TARGET_ASM_UNALIGNED_HI_OP): Add.
6832 (TARGET_ASM_UNALIGNED_SI_OP): Add.
6833
e4598783
SB
68342005-07-27 Steven Bosscher <stevenb@suse.de>
6835
6836 PR c++/22003
6837 * varasm.c (assemble_start_function): Don't do anything that may
6838 require a CFG if the current function is a thunk.
6839
a9fdd472
GK
68402005-07-25 Geoffrey Keating <geoffk@apple.com>
6841
6842 * doc/install.texi (Prerequisites): Mention that perl is needed
6843 to do export control in libstdc++ targetting Darwin.
6844
2bd1e239
SB
68452005-07-27 Steven Bosscher <stevenb@suse.de>
6846
6847 PR rtl-optimization/17808
6848 * sched-deps.c (sched_get_condition): Enable #if 0'ed code.
6849 (sched_insns_conditions_mutex_p): Split out from...
6850 (add_dependence): ...here. But don't call it from here.
6851 (add_dependence_list): Check sched_insns_conditions_mutex_p
6852 before calling add_dependence.
6853 (add_dependence_list_and_free): Likewise.
6854 (fixup_sched_groups): Likewise.
6855 (sched_analyze_1): Likewise.
6856 (sched_analyze_2): Likewise (and replace a "0" with REG_DEP_TRUE).
6857 (sched_analyze): Likewise.
6858 (sched_analyze_insn): Likewise.
6859 * sched-ebb.c (add_deps_for_risky_insns): Likewise.
6860 * sched-rgn.c (add_branch_dependences): Likewise. Also, add
6861 dependencies on all COND_EXEC insns to jumps ending basic blocks
6862 when doing intrablock scheduling.
6863 * sched-int.h (sched_insns_conditions_mutex_p): Add prototype.
6864
880031e1
JL
68652005-07-27 Jeff Law <law@redhat.com>
6866
6867 * tree-vrp.c (vrp_meet): Intersect the equivalency sets when
6868 meeting a VR_ANTI_RANGE with a VR_RANGE. When intersecting
6869 equivalency sets, correctly handle the case were vr0 has an
6870 equivalency set, but vr1 does not.
6871
b940ce0e
DN
68722005-07-27 Dorit Nuzman <dorit@il.ibm.com>
6873
6874 PR tree-optimization/23073
7904f95f 6875 * tree-vect-analyze.c (vect_analyze_data_refs_alignment): Call
b940ce0e
DN
6876 vect_print_dump_info before fprintf.
6877
26c40640
ZD
68782005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
6879
6880 PR tree-optimize/22348
6881 * tree-ssa-loop-niter.c (number_of_iterations_cond):
6882 Fold the partial computation.
6883
3ac01fde
ZD
68842005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
6885
6886 PR tree-optimization/22325
6887 * tree-flow.h (compute_phi_arg_on_exit, force_expr_to_var_cost):
6888 Declare.
6889 * tree-scalar-evolution.c (scev_const_prop): Add generic final
6890 value replacement.
6891 * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Split from ...
6892 (force_var_cost): ... this function.
6893 (compute_phi_arg_on_exit): Export.
6894
77fcaf4b
ZD
68952005-07-27 Zdenek Dvorak <dvorakz@suse.cz>
6896
6897 PR tree-optimization/20773
6898 * tree-ssa-loop-ch.c (copy_loop_headers): Select the correct latch
6899 edge.
6900
c11b0231
RG
69012005-07-27 Richard Guenther <rguenther@suse.de>
6902
6903 * tree-ssa-structalias.c (push_fields_onto_fieldstack):
6904 Avoid pushing again if current struct contains only
6905 fields we decomposed.
6906
57a73709
JH
69072005-07-27 Jan Hubicka <jh@suse.cz>
6908
093c2329
JH
6909 PR tree-optimization/22574
6910 * cgraph.c (cgraph_function_body_availability): Unanalyzed bodies are
6911 not available.
6912
23504559
JH
6913 * tree-tailcall.c (decrease_profile): New function.
6914 (eliminate_tail_call): Use it.
6915
57a73709
JH
6916 * cgraphunit.c (cgraph_function_and_variable_visibility): Set
6917 visibility flags correctly in whole program mode.
6918
b5395c33
SE
69192005-07-26 Steve Ellcey <sje@cup.hp.com>
6920
6921 PR rtl-optimization/22472
6922 * config/pa/pa.h (HARD_REGNO_RENAME_OK): Define.
6923
86979811
SB
69242005-07-26 Steven Bosscher <stevenb@suse.de>
6925
6926 PR tree-optimization/22504
6927 * tree-complex.c (expand_complex_addition): Use 'code' instead
6928 of MINUS_EXPR for (VARYING, ONLY_IMAG) and (ONLY_IMAG, VARYING).
6929
faf9ab98
AH
69302005-07-26 Aldy Hernandez <aldyh@redhat.com>
6931
6932 * config.gcc (cpu_type): Add frv case.
6933 (with_cpu): Add frv400-*-*linux* and frv550-*-*linux* cases.
6934 (supported_defaults): Add fr550 case.
6935
31521cd4
DN
69362005-07-26 Diego Novillo <dnovillo@redhat.com>
6937
6938 PR 22591
6939 * tree-ssa-alias.c (may_alias_p): Remove shortcut that tests
6940 whether a pointer of type T * may point to objects of type T *.
6941
45499411
DD
69422005-07-26 DJ Delorie <dj@redhat.com>
6943
6944 * configure: Regenerate.
6945
576a4795
DJ
69462005-07-26 Dale Johannesen <dalej@apple.com>
6947
6948 * postreload-gcse.c (alloc_mem): Start CUID numbering at 1.
6949
526635cb
MM
69502005-07-26 Mark Mitchell <mark@codesourcery.com>
6951
6952 * doc/install.texi (--with-build-sysroot): Fix grammatical error.
6953 Clarify use of "build" in name.
6954
c14ff86e
AH
69552005-07-26 Aldy Hernandez <aldyh@redhat.com>
6956
6957 * doc/extend.texi (Raw read/write Functions): New section.
6958 * testsuite/gcc.target/frv/all-builtin-read8.c: New.
6959 * testsuite/gcc.target/frv/all-builtin-read16.c: New.
6960 * testsuite/gcc.target/frv/all-builtin-read32.c: New.
6961 * testsuite/gcc.target/frv/all-builtin-read64.c: New.
6962 * testsuite/gcc.target/frv/all-builtin-write8.c: New.
6963 * testsuite/gcc.target/frv/all-builtin-write16.c: New.
6964 * testsuite/gcc.target/frv/all-builtin-write32.c: New.
6965 * testsuite/gcc.target/frv/all-builtin-write64.c: New.
6966 * config/frv/frv.c: Add bdesc_loads global.
6967 Add bdesc_stores global.
6968 (frv_init_builtins): Add support for __builtin_{read/write}*.
6969 (frv_volatile_memref): New.
6970 (frv_expand_load_builtin): New.
6971 (frv_expand_store_builtin): New.
6972 * config/frv/frv.h (frv_builtins): Add FRV_BUILTIN_SCAN,
6973 FRV_BUILTIN_READ8, FRV_BUILTIN_READ16, FRV_BUILTIN_READ32,
6974 FRV_BUILTIN_READ64, FRV_BUILTIN_WRITE8, FRV_BUILTIN_WRITE16,
6975 FRV_BUILTIN_WRITE32, FRV_BUILTIN_WRITE64.
6976 * config/frv/frv.md (unspecs): Add UNSPEC_BUILTIN_LOAD,
6977 UNSPEC_BUILTIN_STORE, UNSPEC_OPTIONAL_MEMBAR.
6978 (builtin_read_<mode>): New.
6979 (builtin_write_<mode>): New.
6980 (builtin_write64): New.
6981 (optional_membar_<mode>): New.
6982
db487452
R
69832005-07-26 J"orn Rennecke <joern.rennecke@st.com>
6984
6985 * emit-rtl.c (gen_lowpart_common): Compare size of MODE in bits
6986 (rather than units) against HOST_BITS_PER_WIDE_INT.
6987
783455db
KH
69882005-07-26 Kazu Hirata <kazu@codesourcery.com>
6989
6990 * ipa-pure-const.c, ipa-reference.c, ipa-reference.h,
6991 ipa-type-escape.c, ipa-type-escape.h, ipa-utils.c,
6992 ipa-utils.h, treestruct.def, config/crx/crx-protos.h,
6993 config/crx/crx.c, config/crx/crx.h, config/crx/crx.md: Update
6994 FSF address.
6995
a4174ebf
KH
6996 * calls.c, fold-const.c, ipa-reference.c, ipa-type-escape.c,
6997 tree-ssa-reassoc.c, tree-ssa-structalias.c, vec.h,
6998 config/crx/crx.c, config/m32c/m32c.c, config/m32c/m32c.h: Fix
6999 comment typos.
7000 * doc/c-tree.texi, doc/tree-ssa.texi: Fix typos.
7001
46c0a59d
RG
70022005-07-26 Richard Guenther <rguenther@suse.de>
7003
7004 PR tree-optimization/22486
7005 * fold-const.c (fold_unary): Fold away useless component
7006 references of the form (T *)&T.x, if the address
7007 doesn't change.
7008
3e2844cb
JW
70092005-07-25 James E Wilson <wilson@specifixinc.com>
7010
7011 * dwarf2out.c (add_call_src_coords_attributes): New.
7012 (gen_inlined_subroutine_die): Call it.
7013 (maybe_emit_file, init_file_table): Add comments.
7014 (prune_unused_types_walk_attribs): Pass DW_AT_call_file through
7015 maybe_emit_file.
7016 * tree-inline.c (remap_block): Copy BLOCK_SOURCE_LOCATION.
7017 (expand_call_inline): Set BLOCK_SOURCE_LOCATION.
7018 * tree.h (BLOCK_SOURCE_LOCATION): New.
7019 (struct tree_block): New field locus.
7020
9275de65
AS
70212005-07-26 Andreas Schwab <schwab@suse.de>
7022
7023 PR rtl-optimization/23043
7024 * postreload-gcse.c (eliminate_partially_redundant_load): Fix typo
7025 when allocating a struct unoccr.
7026
5306ec31
RH
70272005-07-25 Richard Henderson <rth@redhat.com>
7028
7029 PR 22626
7030 * tree-complex.c (gate_no_optimization): True if errors.
7031 * Makefile.in (tree-complex.o): Update dependencies.
7032
bfa653b3
AH
70332005-07-25 Aldy Hernandez <aldyh@redhat.com>
7034
7035 * config/frv/predicates.md (integer_register_operand): Use
7036 GPR_AP_OR_PSEUDO_P.
7037
43e364dd
AP
70382005-07-25 Andrew Pinski <pinskia@physics.uc.edu>
7039
7040 PR tree-opt/22484
7041 * tree-ssa-ccp.c (fold_stmt_inplace): Strip useless type conversions
7042 after fold.
7043 * tree-ssa-propagate.c (set_rhs): Reject invalid conditional operands.
7044
c72f711f
AP
70452005-07-25 Andrew Pinski <pinskia@physics.uc.edu>
7046
7047 * tree-ssa-reassoc.c (reassociate_expr): Allow scaler floating point
7048 types when flag_unsafe_math_optimizations is true.
7049
160633c6
MM
70502005-07-25 Mark Mitchell <mark@codesourcery.com>
7051
7052 * gcc.c (option_map): Add --sysroot.
7053 (process_command): Handle --sysroot.
7054 (display_help): Document it.
7055 * doc/cppopts.tex (-isysroot): Document.
7056 * doc/invoke.texi (--sysroot): Document.
7057 * doc/install.texi (--with-build-sysroot): Document.
7058
7059 * Makefile.in (inhibit_libc): New variable.
7060 (INHIBIT_LIBC_CFLAGS): Likewise.
7061 (LIBGCC2_CFLAGS): Include
7062 $(INHIBIT_LIBC_CFLAGS).
7063 (CRTSTUFF_CFLAGS): Include $(INHIBIT_LIBC_CFLAGS).
7064 ($(T)crtbegin.o): Do not use @inhibit_libc@.
7065 ($(T)crtend.o): Likewise.
7066 ($(T)crtbeginS.o): Do not use @inhibit_libc@.
7067 ($(T)crtendS.o): Likewise.
7068 ($(T)crtbeginT.o): Do not use @inhibit_libc@.
7069 ($(T)crtendT.o): Likewise.
7070 (stmp-fixinc): Do not complain about missing headers if
7071 inhibit_libc.
7072 * configure.ac (inhibit_libc): Set it to true/false.
7073 (--with-build-sysroot): New option. Use it to set
7904f95f 7074 SYSTEM_HEADER_DIR.
160633c6
MM
7075 * configure: Regenerated.
7076
1490f93a
MH
70772005-07-25 Manfred Hollstein <mh@suse.com>
7078
7079 * calls.c (store_one_arg): Fix unsigned comparison warning.
7080
76e20664
SB
70812005-07-25 Serge Belyshev <belyshev@depni.sinp.msu.ru>
7082
7083 PR other/22337
7084 * ggc-zone.c (ggc_alloc_zone_stat): Do not use CHUNK_OVERHEAD.
7085 (ggc_print_statistics): Initialize variable before use.
7086
5c97e2de
RG
70872005-07-25 Richard Guenther <rguenther@suse.de>
7088
7089 * tree-dfa.c (mark_new_vars_to_rename): Protect against
7090 calling with a PHI_NODE argument.
7091
7092 * tree-flow-inline.h (overlap_subvar): Protect against
7093 possible overflow.
7094
7fefc172
PB
70952005-07-25 Paolo Bonzini <bonzini@gnu.org>
7096
7097 * aclocal.m4 (gcc_AC_CHECK_TOOL): Add /bin to default directory.
7098 * configure: Regenerate.
7099
86a07404
IR
71002005-07-25 Ira Rosen <irar@il.ibm.com>
7101
7102 * expr.c (highest_pow2_factor): Make extern.
7103 * tree-data-ref.c (ptr_decl_may_alias_p): New function.
7104 (ptr_ptr_may_alias_p, may_alias_p, record_ptr_differ_p,
7105 record_array_differ_p, array_ptr_differ_p): Likewise.
7106 (base_object_differ_p): Rename (from array_base_name_differ_p). Support
7107 additional cases. Call the above functions.
7108 (base_addr_differ_p): Moved from tree-vect-analyze.c. Call
7109 base_object_differ_p when there are two base objects. Otherwise, compare
7110 base address and offset. Call may_alias_p.
7111 (dump_data_reference): Use a correct field name.
7112 (analyze_array): Make static. Initialize new data-ref fields.
7113 (analyze_indirect_ref): New function.
7904f95f
EC
7114 (init_data_ref): Initialize new data-ref fields.
7115 (strip_conversion): Moved from tree-vect-analyze.c.
7fefc172
PB
7116 (analyze_offset_expr, get_ptr_offset, address_analysis,
7117 object_analysis): Likewise.
86a07404 7118 (analyze_offset): New function.
86979811 7119 (create_data_ref): Likewise.
86a07404
IR
7120 (initialize_data_dependence_relation): Call base_addr_differ_p. Compare
7121 dimensions for ARRAY_REFs only.
7122 (build_classic_dist_vector): Make static.
7123 (access_functions_are_affine_or_constant_p): Call macro to get the
7124 address of access functions.
7125 (compute_all_dependences): Add new parameter
7904f95f 7126 compute_self_and_read_read_dependences. Compute self and read-read
86a07404
IR
7127 dependences if it is true.
7128 (find_data_references_in_loop): Call create_data_ref. Initialize new
7129 data-ref fields.
7130 (compute_data_dependences_for_loop): Add new parameter
7131 compute_self_and_read_read_dependences. Remove parameter nb_loops,
7fefc172
PB
7132 compute nb_loops. Call compute_all_dependences,
7133 build_classic_dist_vector and build_classic_dir_vector with correct
7134 parameters.
7135 (analyze_all_data_dependences): Call compute_data_dependences_for_loop
7136 with correct parameters. Compare dimensions for ARRAY_REFs only.
86a07404
IR
7137 (free_data_refs): Call macro to free access functions.
7138 * tree-data-ref.h (struct first_location_in_loop): New structure. Move
7139 fields from stmt_vinfo.
7140 (struct base_object_info): New structure.
7904f95f 7141 (struct data_reference): Move fields to base_object_info. Add fields
86a07404 7142 first_location and object_info for above structures. Move fields from
7fefc172
PB
7143 stmt_info: memtag, ptr_info, subvars, misalignment. Add new field
7144 aligned_to. Add macros to access the new fields.
86a07404
IR
7145 Update functions declarations.
7146 * tree-flow.h (is_aliased_with): Declare.
7147 * tree-loop-linear.c (linear_transform_loops): Call
7148 compute_data_dependences_for_loop with correct parameters.
7149 * tree-ssa-alias.c (is_aliased_with): New function.
86979811 7150 * tree-vect-analyze.c (vect_get_ptr_offset): Remove.
86a07404
IR
7151 (vect_analyze_offset_expr, vect_base_addr_differ_p): Likewise.
7152 (vect_analyze_data_ref_dependence): Get ddr. Remove call to
7153 vect_base_addr_differ_p, compute_subscript_distance and
7154 build_classic_dist_vector. Add printings. Check absolute value of
7155 distance.
7fefc172
PB
7156 (vect_analyze_data_ref_dependences): Go through ddrs instead of
7157 data-refs.
86a07404
IR
7158 (vect_compute_data_ref_alignment): Get the fields of data-ref instead of
7159 stmt. Check aligned_to. Check if the base is aligned. Remove conversion
7160 to bytes. Add printing.
7fefc172
PB
7161 (vect_compute_data_refs_alignment): Go through loads and stores in one
7162 loop.
86a07404
IR
7163 (vect_enhance_data_refs_alignment, vect_analyze_data_refs_alignment,
7164 vect_analyze_data_ref_access): Likewise.
7165 (vect_analyze_pointer_ref_access): Remove.
7166 (vect_address_analysis, vect_object_analysis): Likewise.
7167 (vect_analyze_data_refs): Call compute_data_dependences_for_loop to find
7168 and analyze data-refs in the loop.
7fefc172
PB
7169 * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Get the
7170 fields of data-ref instead of stmt. Add init to the offset from the
7171 base.
86a07404
IR
7172 (vect_create_data_ref_ptr): Get the fields of data-ref instead of stmt.
7173 (vect_update_init_of_dr): Likewise.
7174 (vect_update_inits_of_drs): Go through loads and stores in one loop.
7fefc172
PB
7175 * tree-vectorizer.c (new_stmt_vec_info): Remove initialization of
7176 removed fields.
86a07404
IR
7177 (new_loop_vec_info): Initialize new fields.
7178 (destroy_loop_vec_info): Free new fields.
7179 (vect_strip_conversion): Remove.
7180 * tree-vectorizer.h (enum verbosity_levels): Add new verbosity level.
7181 (struct _loop_vec_info): Unify data_ref_writes and data_ref_reads into
7904f95f 7182 datarefs. Add new field ddrs.
86a07404
IR
7183 Add macros for the new fields access.
7184 (struct _stmt_vec_info): Remove: base_address, initial_offset, step,
7185 base_aligned_p, misalignment, memtag, ptr_info and subvars.
7186 Remove their macros.
7187 * tree.h (highest_pow2_factor): Declare.
7188
0dc42b03
JJ
71892005-07-25 Jakub Jelinek <jakub@redhat.com>
7190
7191 * calls.c (store_one_arg): Check for sibling call MEM arguments
7192 from already clobbered incoming argument area.
7193
104f8784
KG
71942005-07-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7195
7196 * c-common.c (check_missing_format_attribute): New.
7197 * c-common.h (check_missing_format_attribute): Likewise.
7198 * c-typeck.c (convert_for_assignment): Use it.
7199
1b8452d0
AS
72002005-07-24 Andreas Schwab <schwab@suse.de>
7201
7202 * config/m68k/m68k.md ("extendqidi2"): When source is an address
7203 register use a word move. Correct operand of ext.w in 68000 code.
7204
2b402955
MM
72052005-07-23 Mark Mitchell <mark@codesourcery.com>
7206
7207 * dwarf2out.c (gen_variable_die): Treat un-emitted COMDAT
7208 variables as declarations, rather than definitions.
7209
c8af1197
IR
72102005-07-24 Ira Rosen <irar@il.ibm.com>
7211
86979811
SB
7212 PR tree-optimization/22526
7213 * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Match the type
7214 of the zero node.
c8af1197 7215
1b135aa5
FXC
72162005-07-24 Francois-Xavier Coudert <coudert@clipper.ens.fr>
7217
7218 * builtins.def: Add DEF_EXT_C99RES_BUILTIN to define builtins
7219 that C99 reserve for future use. Use it to define clog10,
7220 clog10f and clog10l.
7221
ac0f3f39
KG
72222005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7223
7224 * Makefile.in (STRICT2_WARN): Add -Wmissing-format-attribute.
7225 * configure.ac: Check for -Wmissing-format-attribute.
7904f95f 7226
ac0f3f39
KG
7227 * configure: Regenerate.
7228
db753fa1
RH
72292005-07-23 Richard Henderson <rth@redhat.com>
7230
7231 PR tree-optimization/22623
7232 * tree-complex.c (set_component_ssa_name): Use replace_ssa_name_symbol.
7233
28f155be
GB
72342005-07-23 Giovanni Bajo <giovannibajo@libero.it>
7235
7236 PR target/22577
7237 * config/pa/pa.c (reloc_needed): Updated for VECs inside CONSTRUCTOR.
7238
db857e7d
KG
72392005-07-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7240
7241 * Makefile.in (C_TREE_H): Update dependencies.
7242 * c-tree.h: Include toplev.h.
7243 * diagnostic.h (diagnostic_set_info): Add format attribute.
7244 * rtl-error.c (diagnostic_for_asm): Likewise.
7245
118ea793
CF
72462005-07-23 Chao-ying Fu <fu@mips.com>
7247
7248 * config/mips/mips-dsp.md: New file.
7249 * config/mips/mips-modes.def (V4QI, V2HI, CCDSP): New modes.
7250 * config/mips/mips.c (mips_function_type): Add types for DSP builtin
7251 functions.
7252 (mips_builtin_type): Add MIPS_BUILTIN_DIRECT_NO_TARGET and
7253 MIPS_BUILTIN_BPOSGE32.
7254 (mips_expand_builtin_direct): Add one parameter to indicate that
7255 builtin functions need to return a value.
7256 (mips_expand_builtin_bposge): New for expanding "bposge" builtin
7257 functions.
7258 (mips_regno_to_class): Add classes for 12 new DSP registers.
7259 (mips_subword): Change to check four HI registers.
7260 (mips_output_move): Output move to and from 6 new DSP accumulators.
7261 (override_options): Make sure -mdsp and -mips16 are not used together.
7262 Map 'A' to DSP_ACC_REGS and 'a' to ACC_REGS. Enable DSP accumulators
7263 for machine modes.
7264 (mips_conditional_register_usage): Disable 6 new DSP accumulators
7265 when !TARGET_DSP.
7266 (print_operand): Add 'q' for printing DSP accumulators.
7267 (mips_cannot_change_mode_class): Check ACC_REGS.
7268 (mips_secondary_reload_class): Check ACC_REGS.
7269 (mips_vector_mode_supported_p): Enable V2HI and V4QI when TARGET_DSP.
7270 (mips_register_move_cost): Check ACC_REGS.
7271 (CODE_FOR_mips_addq_ph, CODE_FOR_mips_addu_qb, CODE_FOR_mips_subq_ph)
7272 (CODE_FOR_mips_subu_qb): New code-aliasing macros.
7273 (DIRECT_NO_TARGET_BUILTIN, BPOSGE_BUILTIN): New macros.
7274 (dsp_bdesc): New array.
7275 (bdesc_arrays): Add DSP builtin function table.
7276 (mips_prepare_builtin_arg): Check predicate again after
7277 copy_to_mode_reg.
7278 (mips_expand_builtin): Add one more parameter to
7279 mips_expand_builtin_direct. Expand MIPS_BUILTIN_DIRECT_NO_TARGET and
7280 MIPS_BUILTIN_BPOSGE32.
7281 (mips_init_builtins): Initialize new function types.
7282 (mips_expand_builtin_direct): Check if builtin functions need to
7283 return a value and pass operands properly.
7284 (mips_expand_builtin_bposge): New function.
7285 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips_dsp.
7286 (ASM_SPEC): Map -mdsp to -mdsp in GAS.
7287 (FIRST_PSEUDO_REGISTER): Increase to 188.
7288 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
7289 Update for 12 new DSP registers.
7290 (DSP_ACC_REG_FIRST, DSP_ACC_REG_LAST, DSP_ACC_REG_NUM, AC1HI_REGNUM)
7291 (AC1LO_REGNUM, AC2HI_REGNUM, AC2LO_REGNUM, AC3HI_REGNUM, AC3LO_REGNUM):
7292 (DSP_ACC_REG_P, ACC_REG_P, ACC_HI_REG_P): New macros.
7293 (reg_class): Add DSP_ACC_REGS and ACC_REGS.
7294 (REG_CLASS_NAMES): Add names for DSP_ACC_REGS and ACC_REGS.
7295 (REG_CLASS_CONTENTS): Update for DSP_ACC_REGS, ACC_REGS and ALL_REGS.
7296 (REG_ALLOC_ORDER): Update for 12 new DSP registers.
7297 (mips_char_to_class): Add 'A' for DSP_ACC_REGS and 'a' for ACC_REGS.
7298 (UIMM6_OPERAND, IMM10_OPERAND): New macros.
7299 (EXTRA_CONSTRAINT_Y): Add YA and YB extra constraints.
7300 (REGISTER_NAMES): Add names for 12 new DSP registers.
7301 * config/mips/mips.md: Include mips-dsp.md.
7302 (UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
7303 (UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
7304 (UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
7305 (UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
7306 (UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
7307 (UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
7308 (UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
7309 (UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
7310 (UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
7311 (UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
7312 (UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
7313 (UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
7314 (UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
7315 (UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
7316 (UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
7317 (UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
7318 (UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
7319 (UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
7320 (UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
7321 (UNSPEC_RDDSP): New constants.
7322 (*movdi_32bit): Change 'x' to 'a' for ACC_REGS.
7323 (*movsi_internal): Change 'x' to 'a' for ACC_REGS. Add an
7324 A<-d alternative.
7325 * config/mips/mips.opt (-mdsp): New option.
7326 * config/mips/predicates.md (const_uimm6_operand, const_imm10_operand)
7327 (reg_imm10_operand): New predicates.
7328 * doc/extend.texi (MIPS DSP Built-in Functions): New section.
7329 * doc/invoke.texi (-mdsp): Document new option.
7330
d2fcbf6f
DD
73312005-07-22 DJ Delorie <dj@redhat.com>
7332
7333 * c-objc-common.c (c_cannot_inline_tree_fn): Add warning control
7334 to warning calls.
7335 * tree-inline.c (inlinable_function_p): Likewise.
7336
9881e3e5
MM
73372005-07-22 Mark Mitchell <mark@codesourcery.com>
7338
7339 PR debug/21828
7340 * toplev.c (check_global_declarations): Do not mark undefined
7341 variables as DECL_IGNORED_P.
7342 * varasm.c (first_global_object_name): GTY it.
7343 (weak_global_object_name): Likewise.
7344 (notice_global_symbol): Use ggc_strdup, not xstrdup, when creating
7345 a string to go into {weak,first}_global_object_name.
7346
1a8d0d41
DD
73472005-07-22 DJ Delorie <dj@redhat.com>
7348
7349 * c-format.c (check_function_format): Change warning control
7350 option from OPT_Wattribute to OPT_Wmissing_format_attribute.
7351
17c7e33e
DN
73522005-07-22 Diego Novillo <dnovillo@redhat.com>
7353
7354 * tree-ssa-alias.c (count_ptr_derefs): Do not consider
7355 &PTR->FLD a dereference of PTR.
7356 * tree-ssa-structalias.c (update_alias_info): Consider &PTR->FLD
7357 a potential dereference of PTR.
7358
45002e59
R
73592005-07-22 J"orn Rennecke <joern.rennecke@st.com>
7360
191e1ff2
R
7361 PR rtl-optimization/20370
7362 * ifcvt.c (dead_or_predicable): Before calling propagate_block,
7363 call allocate_reg_info if necessary.
7364
475a3eef
R
7365 PR rtl-optimization/21848
7366 * calls.c (emit_library_call_value_1): For const functions, add
7367 USEs of the stack slots to CALL_INSN_FUNCTION_USAGE.
7368
29c1846b
R
7369 PR rtl-optimization/22445
7370 * cselib.c (target.h): Include.
7371 (rtx_equal_for_cselib_p): Allow commutative matches.
7372 (cselib_hash_rtx): Don't use MODE for CONST_INT hashing.
7373 Remove MODE parameter. Changed all callers.
7374
45002e59
R
7375 PR rtl-optimization/22258
7376 * combine.c (likely_spilled_retval_1, likely_spilled_retval_p):
7377 New functions.
7378 (try_combine): Use likely_spilled_retval_p.
7379
db869733
PW
73802005-07-22 Paul Woegerer <paul.woegerer@nsc.com>
7381
7382 * config.gcc: Add crx-elf support.
7383
7384 * doc/contrib.texi: Mention crx.
7385 * doc/extend.texi: Document crx extensions.
7386 * doc/install.texi: Document crx install.
7387 * doc/invoke.texi: Document crx options.
7388 * doc/md.texi: Document crx constraints.
7389
7390 * config/crx/crx-protos.h: New file.
7391 * config/crx/crx.c: New file.
7392 * config/crx/crx.h: New file.
7393 * config/crx/crx.md: New file.
7394 * config/crx/crx.opt: New file.
7395 * config/crx/t-crx: New file.
7904f95f 7396
32cafd73
MH
73972005-07-22 Manfred Hollstein <mh@suse.com>
7398
7399 * tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised
7400 warnings.
7401 (int_add_graph_edge): Likewise.
7402 (collapse_nodes): Likewise.
7403 (process_unification_queue): Likewise.
7404
ee184c4d 74052005-07-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
86979811 7406 Laurent GUERBY <laurent@guerby.net>
ee184c4d 7407
86979811 7408 PR tree-optimization/22336
7904f95f 7409 * function.c (record_block_change): Check for
86979811 7410 cfun->ib_boundaries_block.
7904f95f 7411
b49ceb45
JM
74122005-07-21 James A. Morrison <phython@gcc.gnu.org>
7413
7414 * fold-const.c (fold_unary): Don't strip signed nops from ABS_EXPRs.
7415 (tree_expr_nonnegative_p): Return try for TYPE_UNSIGNED.
7416
30c54de9
DD
74172005-07-21 DJ Delorie <dj@redhat.com>
7418
7419 * toplev.c (warn_deprecated_use): Add warning control to warning
7420 call.
c303630a
DD
7421 * c-typeck.c (parser_build_binary_op): Likewise.
7422 (c_finish_if_stmt): Likewise.
30480ec4
DD
7423 * c-common.c (check_function_sentinel): Likewise.
7424 (check_nonnull_arg): Likewise.
30c54de9 7425
95a8c155
RH
74262005-07-21 Richard Henderson <rth@redhat.com>
7427
7428 PR tree-opt/22504
7429 * tree-complex.c (complex_ssa_name_components): New.
7430 (cvc_lookup): Allow entry not found.
7431 (create_components): Remove.
7432 (create_one_component_var, get_component_var): New.
7433 (get_component_ssa_name, set_component_ssa_name): New.
7434 (extract_component): Use get_component_ssa_name.
7435 (update_complex_components): Use set_component_ssa_name.
7436 (update_complex_components_on_edge): Likewise.
7437 (update_phi_components): Create new PHI nodes directly, instead
7438 of adding insns to edges.
7439 (tree_lower_complex): Allocate and free complex_variable_components
7440 and complex_ssa_name_components here.
7441
c05a0766 74422005-07-20 Daniel Berlin <dberlin@dberlin.org>
7904f95f 7443
c05a0766
DB
7444 * alias.c (nonoverlapping_component_refs_p): Use TYPE_MAIN_VARIANT,
7445 revert to returning false.
7446
de343c8d
UB
74472005-07-21 Uros Bizjak <uros@kss-loka.si>
7448
86979811
SB
7449 PR target/21149
7450 * config/i386/i386.md (sse_movhlps): Fix vec_select values.
de343c8d 7451
5acc26ef
UB
74522005-07-21 Uros Bizjak <uros@kss-loka.si>
7453
7454 PR target/22576
7455 * config/i386/i386.md (cmpxf): Change operand constraints
7456 to "nonmemory_operand".
7457
61cb44fe
AP
74582005-07-21 Andrew Pinski <pinskia@physics.uc.edu>
7459
7460 * config/i386/i386.md (trap): Use "".word/t0x0b0f" instead of ud2.
7461
e2fe73f6
AP
74622005-07-21 Andrew Pinski <pinskia@physics.uc.edu>
7463
7464 PR middle-end/21180
7465 * fold-const.c (fold_build1): Add checksum for the operands.
7904f95f 7466 (fold_build2): Likewise.
e2fe73f6
AP
7467 (fold_build3): Likewise.
7468
9d24eb54
AP
74692005-07-21 Andrew Pinski <pinskia@physics.uc.edu>
7470
7471 PR middle-end/19055
7472 * fold-const.c (fold_binary): Transform "(X | Y) ^ X" to "Y & ~ X".
7473
b2e0afa0
PB
74742005-07-21 Paolo Bonzini <bonzini@gnu.org>
7475
7476 * common.opt (-fforward-propagate): Committed by mistake,
7477 removed.
7478
2e48874f
VR
74792005-07-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7480
7481 * reg-stack.c: Fix comment typo(s).
7482 * tree-ssa-operands.c: Likewise.
7483 * tree-vectorizer: Likewise.
7484
889d8465
NC
74852005-07-21 Nick Clifton <nickc@redhat.com>
7486
7487 * config/sh/symbian.c: Replace C++ style line comments with C
7488 style line comments.
86979811 7489 (symbian_add_attribute): Do not use a ? operator on the LHS of
889d8465 7490 an assignment.
86979811 7491 (sh_symbian_handle_dll_attribute): Change the type of the
889d8465
NC
7492 method vector to "VEC(tree,gc)*" and use vector accessor
7493 macros to walk over the elements.
86979811
SB
7494 (symbian_export_vtable_and_rtti_p): Likewise.
7495 (symbian_class_needs_attribute_p): Likewise.
889d8465 7496
2fab365e
PB
74972005-07-21 Paolo Bonzini <bonzini@gnu.org>
7498
7499 PR target/22085
7500 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Do not
7501 initialize targetm.resolve_overloaded_builtin here.
7502 (altivec_expand_overloaded_builtin): Make it non-static.
7503 * config/rs6000/rs6000-protos.h
7504 (altivec_expand_overloaded_builtin): New prototype.
7505 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Initialize
7506 targetm.resolve_overloaded_builtin here.
7507 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Likewise.
7508
f9cc1a70 75092005-07-21 Paolo Bonzini <bonzini@gnu.org>
86979811 7510 Zdenek Dvorak <dvorakz@suse.cz>
f9cc1a70
PB
7511
7512 PR tree-optimization/19210
7513 * common.opt (Wunsafe-loop-optimizations, funsafe-loop-optimizations):
7514 New.
7515 * Makefile.in (tree-ssa-loop-niter.o): Depend intl.o.
7516 * loop-iv.c (get_simple_loop_desc): If -funsafe-loop-optimizations,
7517 rely on unproven assumptions.
7518 * predict.c (predict_loops): Adjust call to number_of_iterations_exit.
7519 * tree-flow.h (number_of_iterations_exit): Add final parameter.
7520 * tree-scalar-evolution.c (number_of_iterations_in_loop): Adjust call
7521 to number_of_iterations_exit.
7522 * tree-ssa-loop-ivcanon.c (empty_loop_p): Likewise.
7523 * tree-ssa-loop-ivopts.c (niter_for_exit): Likewise.
7524 * tree-ssa-loop-niter.c (find_loop_niter,
7525 estimate_numbers_of_iterations_loop): Likewise.
7526 (number_of_iterations_exit): Honor the new options.
7527 * doc/invoke.texi (Wunsafe-loop-optimizations,
7528 funsafe-loop-optimizations): Document them.
7529
cb83c2ec
RS
75302005-07-21 Richard Sandiford <richard@codesourcery.com>
7531
7532 PR rtl-optimization/22167
7533 * gcse.c (hoist_code): Fix hoist_exprs[] check.
7534
5e5cbbfb
AN
75352005-07-20 Adam Nemet <anemet@lnxw.com>
7536
7537 * config/rs6000/lynx.h: Mark __do_global_ctors_aux and
7538 __do_global_dtors_aux longcall.
7539
c2acaf06
KH
75402005-07-20 Kazu Hirata <kazu@cs.umass.edu>
7541
7542 * gensupport.c (old_preds): Don't reference PREDICATE_CODES.
7543 (old_special_pred_table): Don't reference
7544 SPECIAL_MODE_PREDICATES.
7545 * system.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Poison.
7546 * config/arc/arc.h: Don't mention PREDICATE_CODES.
7547 * config/sh/predicates.h: Don't mention
7548 SPECIAL_MODE_PREDICATES.
7549 * doc/tm.texi (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
7550 Remove.
7551
38b2d076
DD
75522005-07-20 DJ Delorie <dj@redhat.com>
7553
7554 * config.gcc: Add m32c-elf support.
7555
7556 * doc/contrib.texi: Mention m32c.
7557 * doc/extend.texi: Document m32c extensions.
7558 * doc/install.texi: Mention m32c.
7559 * doc/invoke.texi: Document m32c options.
7560 * doc/md.texi: Document m32c constraints.
7561
7562 * config/m32c/addsub.md: New file.
7563 * config/m32c/bitops.md: New file.
7564 * config/m32c/cond.md: New file.
7565 * config/m32c/jump.md: New file.
7566 * config/m32c/m32c-lib1.S: New file.
7567 * config/m32c/m32c-lib2.c: New file.
7568 * config/m32c/m32c-modes.def: New file.
7569 * config/m32c/m32c-pragma.c: New file.
7570 * config/m32c/m32c-protos.h: New file.
7571 * config/m32c/m32c.abi: New file.
7572 * config/m32c/m32c.c: New file.
7573 * config/m32c/m32c.h: New file.
7574 * config/m32c/m32c.md: New file.
7575 * config/m32c/m32c.opt: New file.
7576 * config/m32c/minmax.md: New file.
7577 * config/m32c/mov.md: New file.
7578 * config/m32c/muldiv.md: New file.
7579 * config/m32c/predicates.md: New file.
7580 * config/m32c/prologue.md: New file.
7581 * config/m32c/shift.md: New file.
7582 * config/m32c/t-m32c: New file.
7583
50b69666
KK
75842005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
7585
7586 * config/sh/sh.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
7587 (stack_protect_set, stack_protect_test): New expanders.
86979811 7588 (stack_protect_set_si, stack_protect_set_si_media,
50b69666 7589 stack_protect_set_di_media, stack_protect_test_si,
86979811 7590 stack_protect_test_si_media, stack_protect_test_di_media):
50b69666
KK
7591 New insns.
7592
71b50543
AP
75932005-07-20 Andrew Pinski <pinskia@physics.uc.edu>
7594
7595 * c-typeck.c (output_init_element): Don't copy the INTEGER_CST.
7596
4db8040c
JM
75972005-07-20 James A. Morrison <phython@gcc.gnu.org>
7598
7599 * tree.h (tree_expr_nonzero_p): Export.
7600 * fold-const.c (tree_expr_nonzero_p): Likewise.
7601 Return true for CALL_EXPRs that are alloca calls.
7602 (fold_binary): Use omit_one_operand when checking EQ_EXPRs or NE_EXPRs
7603 against zero.
7604 * tree-flow.h (expr_computes_nonzero): Remove.
7605 * tree-vrp.c (expr_computes_nonzero): Remove.
86979811 7606 (vrp_expr_computes_nonzero): Use tree_expr_nonzero_p.
4db8040c
JM
7607 (extract_range_from_unary_expr): Likewise.
7608 * tree-ssa-dom.c (record_equivalences_from_stmt): Use
7609 tree_expr_nonzero_p.
7610
6d459e2b
BS
76112005-07-20 Bernd Schmidt <bernd.schmidt@analog.com>
7612
09350e36
BS
7613 * config/bfin/bfin-protos.h (legitimize_pic_address): Don't declare.
7614 * config/bfin/bfin.c (legitimize_pic_address): Now static. Take
7615 extra arg "picreg" and use it instead of pic_offset_table_rtx.
7616 All callers changed.
7617 (frame_related_constant_load): New arg "related" which controls
7618 setting of RTX_FRAME_RELATED_P. All callers changed.
7619 (bfin_load_pic_reg): New function, broken out of bfin_expand_prologue.
7620 (bfin_expand_prologue): Add stack limit checking.
7621 * config/bfin/bfin.md (trapifcc): New pattern.
7622
05905337
BS
7623 * config/bfin/bfin.c: Include "langhooks.h".
7624 (def_builtin): Go through lang_hooks to call builtin_function.
7625
6d459e2b
BS
7626 * config/bfin/bfin-protos.h (bfin_longcall_p): Declare.
7627 * config/bfin/predicates.md (symbol_ref_operand): New.
7628 (call_insn_operand): Delete. All callers changed to use
7629 register_no_elim_operand.
7630 * config/bfin/bfin.c (init_cumulative_args): Initialize the new
7631 call_cookie field.
7632 (function_arg): Use it to generate the call's operand 2.
7633 (bfin_longcall_p): New function.
7634 (bfin_expand_call): Extra arg "cookie". All callers and declaration
7635 changed. Emit extra USE in the pattern. Use bfin_longcall_p to
7636 determine if the address needs to be in a REG.
7637 (bfin_handle_longcall_attribute): New function.
7638 (bfin_attribute_table): Add "longcall" and "shortcall".
7639 * config/bfin/bfin.h (CALL_NORMAL, CALL_LONG, CALL_SHORT): New macros.
7640 (CUMULATIVE_ARGS): New member call_cookie.
7641 (PREDICATE_CODES): Add symbol_ref_operand.
7642 * config/bfin/bfin.md (call, call_value, sibcall, sibcall_value): Add
7643 extra USE to the pattern.
7644 (call_symbol, sibcall_symbol, call_value_symbol, sibcall_value_symbol):
7645 New patterns, split off call_insn, sibcall_insn, call_value_insn and
7646 sibcall_value_insn; now the new patterns handle direct calls and the
7647 old ones indirect calls.
7648 * doc/extend.texi: Mention Blackfin in longcall/shortcall docs.
7649
67135ef4
ZD
76502005-07-20 Zdenek Dvorak <dvorakz@suse.cz>
7651
7652 * doc/trouble.texi: Update section on handling of empty loops.
7653
fdda361d
KH
76542005-07-20 Kazu Hirata <kazu@codesourcery.com>
7655
7656 * config.gcc: Remove support for sparc-*-openbsd*,
7657 i860-*-sysv4*, ip2k-*-elf, ns32k-*-netbsdelf*,
7658 ns32k-*-netbsd*.
7659 * config.host: Remove support for i860-*-sysv4* as a host.
7660 * config/i860/*, config/ip2k/*, config/ns32k/*,
7661 config/sparc/openbsd.h, config/sparc/t-openbsd: Remove.
7662 * doc/install.texi, doc/invoke.texi, doc/md.texi: Don't
7663 mention obsolete ports.
7664
96a2347e
KK
76652005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
7666
7667 * config/sh/sh.c (regno_reg_class): Add GENERAL_REGS for
7668 soft frame pointer.
7669 (sh_expand_prologue): Use hard_frame_pointer_rtx instead
7670 of frame_pointer_rtx.
7671 (sh_expand_epilogue): Likewise.
7672 (sh_set_return_address): Likewise.
7673 (initial_elimination_offset): Use HARD_FRAME_POINTER_REGNUM
7674 instead of FRAME_POINTER_REGNUM if needed. Add elimination
7675 offsets from FRAME_POINTER_REGNUM.
7676 * config/sh/sh.h (SH_REGISTER_NAMES_INITIALIZER): Add sfp.
7677 (sh_register_names): Add initializer for sfp.
7678 (GENERAL_OR_AP_REGISTER_P): Permit FRAME_POINTER_REGNUM.
7679 (VALID_REGISTER_P): Likewise.
7680 (FIRST_PSEUDO_REGISTER): Update.
7681 (DWARF_FRAME_REGISTERS): Define.
7682 (FIXED_REGISTERS, CALL_USED_REGISTERS): Add sfp.
7683 (HARD_FRAME_POINTER_REGNUM): Define.
7684 (FRAME_POINTER_REGNUM): Redefine.
7685 (ELIMINABLE_REGS): Never eliminate to FRAME_POINTER_REGNUM,
7686 but HARD_FRAME_POINTER_REGNUM instead. Add eliminations
7687 from FRAME_POINTER_REGNUM.
7688 (CAN_ELIMINATE): Use HARD_FRAME_POINTER_REGNUM instead of
7689 FRAME_POINTER_REGNUM.
7690 (REG_CLASS_CONTENTS): Add sfp.
7691 (REG_ALLOC_ORDER): Likewise.
7692 (FRAME_GROWS_DOWNWARD): Set to 1. Update comment.
7693 (GO_IF_LEGITIMATE_ADDRESS): Use hard_frame_pointer_rtx instead
7694 of frame_pointer_rtx.
7695 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
7696
1ade5842
JM
76972005-07-19 James A. Morrison <phython@gcc.gnu.org>
7698
7699 * fold-const.c (tree_expr_nonnegative_p): Only return true for
7700 ABS_EXPR when flag_wrapv is false because of INT_MIN.
7701 (tree_expr_nonzero_p): Always call tree_expr_nonzero_p on the argument
7702 of an ABS_EXPR.
7703 (fold_unary): Always fold ABS_EXPR<ABS_EXPR<x>> into
7704 ABS_EXPR<x>.
7705
4038c495
GB
77062005-07-20 Giovanni Bajo <giovannibajo@libero.it>
7707
7708 Make CONSTRUCTOR use VEC to store initializers.
7709 * c-common.c (complete_array_type): Update to cope with VEC in
7710 CONSTRUCTOR_ELTS.
7711 * c-pretty-print.c (pp_c_initializer_list): Use pp_c_constructor_elts.
7712 (pp_c_constructor_elts): New function.
7713 * c-pretty-print.h (pp_c_constructor_elts): Declare.
7714 * c-typeck.c (build_function_call, build_c_cast, digest_init,
7715 struct constructor_stack, struct initializer_stack,
7716 constructor_elements, push_init_level, pop_init_level,
7717 add_pending_init, find_init_member, output_init_element): Update to
7718 cope with VEC in CONSTRUCTOR_ELTS.
7719 * coverage.c (build_fn_info_value, build_ctr_info_value,
7720 build_gcov_info): Likewise.
7721 * expr.c (categorize_ctor_elements_1, store_constructor,
7722 expand_expr_real_1): Likewise.
7723 * fold-const.c (fold_ternary): Likewise.
7724 * gimplify.c (gimplify_init_ctor_preeval, zero_sized_field_decl,
7725 gimplify_init_constructor, gimplify_expr): Likewise.
7726 * tree-dump.c (dequeue_and_dump): Likewise.
7727 * tree-inline.c (copy_tree_r): Add code to duplicate a CONSTRUCTOR
7728 node.
7729 * tree-pretty-print.c (dump_generic_node): Update to cope with VEC in
7730 CONSTRUCTOR_ELTS.
7731 * tree-sra.c (generate_element_init_1): Likewise.
7732 * tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
7733 * tree-ssa-operands.c (get_expr_operands): Likewise.
7734 * tree-vect-generic.c (expand_vector_piecewise): Likewise.
7735 * tree-vect-transform.c (vect_get_vec_def_for_operand):
7736 (get_initial_def_for_reduction): Likewise.
7737 * tree-vn.c (set_value_handle, get_value_handle): CONSTURCTOR uses
7738 value handle in annotations.
7739 * tree.c (tree_node_kind, tree_code_size, make_node_stat,
7740 tree_node_structure): Add support for constr_kind.
7741 (build_vector_from_ctor, build_constructor_single,
7742 build_constructor_from_list): New functions.
7743 (build_constructor): Update to take a VEC instead of a TREE_LIST.
7744 (simple_cst_equal, iterative_hash_expr, initializer_zerop, walk_tree):
7745 Update to cope with VEC in CONSTRUCTOR_ELTS.
7746 * tree.def (CONSTRUCTOR): Make it a tcc_exceptional node.
7747 * tree.h (FOR_EACH_CONSTRUCTOR_VALUE, FOR_EACH_CONSTRUCTOR_ELT,
7748 CONSTRUCTOR_APPEND_ELT): New macros.
7749 (struct constructor_elt, struct tree_constructor): New data types.
7750 (union tree_node): Add tree_constructor field.
7751 * treestruct.def: Define TS_CONSTRUCTOR.
7752 * varasm.c (const_hash_1, compare_constant, copy_constant,
7753 compute_reloc_for_constant, output_addressed_constants,
7754 initializer_constant_valid_p, output_constant,
7755 array_size_for_constructor, output_constructor): Update to cope with
7756 VEC in CONSTRUCTOR_ELTS.
7757 * vec.h (VEC_empty, VEC_copy): New macros.
7758
f37d7c60
DP
77592005-07-19 Devang Patel <dpatel@apple.com>
7760
7761 * dbxout.c (dbxout_type): Check Objective-C++ lang.
7904f95f 7762
af62f6f9
RH
77632005-07-19 Richard Henderson <rth@redhat.com>
7764
7765 PR tree-opt/22278
7766 * gimplify.c (gimplify_expr): Use main variant type for the temp
7767 destination for a discarded volatile read.
7768 * tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't elide
7769 casts between non-void types that change volatility.
7770
b9b8dde3
DD
77712005-07-15 DJ Delorie <dj@redhat.com>
7772
7773 * toplev.h: Add comment about the first parameter for warning().
7774 * errors.h: Likewise.
7775
7776 * c.opt (Wpragmas): New.
7777 * doc/invoke.texi: Document it.
7904f95f 7778
b9b8dde3
DD
7779 * function.c (do_warn_unused_parameter): Add warning control to
7780 warning call.
7781 * c-decl.c (warn_if_shadowing): Likewise.
7782 * c-lex.c (cb_def_pragma): Likewise.
7783 * c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
7784 (pop_alignment): Likewise.
7785 (handle_pragma_pack): Likewise.
7786 (apply_pragma_weak): Likewise.
7787 (handle_pragma_weak): Likewise.
7788 (handle_pragma_redefine_extname): Likewise.
7789 (add_to_renaming_pragma_list): Likewise.
7790 (handle_pragma_extern_prefix): Likewise.
7791 (maybe_apply_renaming_pragma): Likewise.
7792 (handle_pragma_visibility): Likewise.
7904f95f 7793
b9b8dde3
DD
7794 * config/c4x/c4x-c.c (BAD): Likewise.
7795 (c4x_parse_pragma): Likewise.
7796 * config/ia64/ia64-c.c (ia64_hpux_handle_builtin_pragma): Likewise.
7797 * config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
7798 (rs6000_pragma_longcall): Likewise.
7799 * config/v850/v850-c.c (pop_data_area): Likewise.
7800 (ghs_pragma_section): Likewise.
7801 (ghs_pragma_section): Likewise.
7802 (ghs_pragma_interrupt): Likewise.
7803 (ghs_pragma_starttda): Likewise.
7804 (ghs_pragma_startsda): Likewise.
7805 (ghs_pragma_startzda): Likewise.
7806 (ghs_pragma_endtda): Likewise.
7807 (ghs_pragma_endsda): Likewise.
7808 (ghs_pragma_endzda): Likewise.
7809
6a9a79a8
DB
78102005-07-19 Danny Berlin <dberlin@dberlin.org>
7811 Kenneth Zadeck <zadeck@naturalbridge.com>
7812
7813 * Makefile.in: Removed tree-promote-statics.c
7814 * tree-promote-statics.c: Removed.
7815 * common.opt: Removed flag-promote-statics.
7816 * opts.c: Ditto.
7904f95f 7817 * passes.c: Removed tree-promote-statics pass.
6a9a79a8
DB
7818 * tree-pass.h: Ditto.
7819 * timevar.def: Removed TV_PROMOTE_STATICS.
7820
7821
0219cf3d
GP
78222005-07-19 Gerald Pfeifer <gerald@pfeifer.com>
7823
7824 * config.gcc: Add support for *-*-freebsd7, *-*-freebsd8,
7825 and *-*-freebsd9.
7826 * config/freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Ditto.
7904f95f 7827
7876a414
KG
78282005-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7829
7830 PR c/22476
7831 * c-common.c (check_function_arguments): Call
7832 'check_function_format' if either -Wformat or
7833 -Wmissing-format-attribute are specified.
7834 * c-format.c (check_function_format): Check -Wformat before
7835 calling 'check_format_info'.
7836 * c-opts.c (c_common_post_options): Don't warn for
7837 -Wmissing-format-attribute without -Wformat.
7838 * c-typeck.c (convert_for_assignment): Detect additional cases for
7839 -Wmissing-format-attribute.
7840 * doc/invoke.texi (-Wmissing-format-attribute): Document new
7841 behavior.
7842
98ea7437
RG
78432005-07-19 Richard Guenther <rguenther@suse.de>
7844
7845 * config/i386/i386.md (lrint<mode>2): Use temporary
7846 instead of clobbering non-existent memory.
7847
89a0b917
NC
78482005-07-19 Nick Clifton <nickc@redhat.com>
7849
7850 * config/avr/avr.c (legitimate_address_p): Fix debugging print
7851 statement to avoid displaying ASCII control characters.
7852
dfea6c85
BE
78532005-07-19 Ben Elliston <bje@au.ibm.com>
7854
7855 * bt-load.c (link_btr_uses): Fix uninitialised warnings.
7856 * cfganal.c (find_edge_index): Ditto.
7857 * combine.c (combine_instructions): Ditto.
7858 * ddg.c (create_scc): Ditto.
7859 (find_successors): Ditto.
7860 (find_predecessors): Ditto.
7861 (find_nodes_on_paths): Ditto.
7862 (longest_simple_path): Ditto.
7863 * flow.c (update_life_info): Ditto.
7864 (count_or_remove_death_notes): Ditto.
7865 (clear_log_links): Ditto.
7866 * modulo-sched.c (generate_reg_moves): Ditto.
7867 (find_max_asap): Ditto.
7868 (find_max_hv_min_mob): Ditto.
7869 (find_max_dv_min_mob): Ditto.
7870 * sbitmap.c (sbitmap_first_set_bit): Ditto.
7871 * sched-rgn.c (extract_edgelst): Ditto.
7872 * tree-into-ssa.c (prepare_names_to_update): Ditto.
7873 (dump_update_ssa): Ditto.
7874 (ssa_names_to_replace) Ditto.
7875 (switch_virtuals_to_full_rewrite): Ditto.
7876 (update_ssa): Ditto.
7877 * tree-vect-transform.c (vect_create_epilog_for_reduction): Ditto.
7878
b9d33488
DB
78792005-07-18 Daniel Berlin <dberlin@dberlin.org>
7880
7881 Fix PR tree-optimization/22483
7904f95f 7882
b9d33488
DB
7883 * tree-complex.c (create_components): Use
7884 safe_referenced_var_iterator and FOR_EACH_REFERENCED_VAR_SAFE.
7885 * tree-flow-inline.h (fill_referenced_var_vec): New function.
7886 * tree-flow.h (safe_referenced_var_iterator): New structure.
7887 (FOR_EACH_REFERENCED_VAR_SAFE): New macro.
7888 * tree-ssa-alias.c (setup_pointers_and_addressables): Use
7889 safe_referenced_var iterator.
7890 (add_type_alias): Ditto.
7891
9fa26457
SB
78922005-07-19 Steven Bosscher <stevenb@suse.de>
7893
7894 * loop-init.c (rest_of_handle_loop2): Remove.
7895 (rtl_loop_init, rtl_loop_done, rtl_move_loop_invariants,
7896 rtl_unswitch, rtl_unroll_and_peel_loops, rtl_doloop): New functions.
7897 (pass_rtl_loop_init, pass_rtl_loop_done,
7898 pass_rtl_move_loop_invariants, pass_rtl_unswitch,
7899 pass_rtl_unroll_and_peel_loops, pass_rtl_doloop): New passes.
7900 * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_loop_done,
7901 pass_unswitch): Rename to pass_tree_loop, pass_tree_loop_init,
7902 pass_tree_loop_done, and pass_tree_unswitch.
7903 (gate_loop): Rename to gate_tree_loop.
7904 * passes.c (init_optimization_passes): Update for renamed tree
7905 loop passes. Add the new loop2 passes as subpasses of loop2.
7906 * tree-pass.h: Add extern declarations for the new loop2 subpasses.
7907 Update for the renamed tree loop passes.
7908
7825308e
ILT
79092005-07-18 Ian Lance Taylor <ian@airs.com>
7910
7911 PR middle-end/22057
7912 * tree-cfgcleanup.c (cleanup_tree_cfg): Only remove forwarder
7913 blocks when optimizing.
7914
2928d0f8
SE
79152005-07-18 Steve Ellcey <sje@cup.hp.com>
7916
7917 * common.opt (frename-registers): Initialize to 2.
7918 (fweb): Ditto.
7919 (fgcse-after-reload): Ditto.
7920 * toplev.c (AUTODETECT_FLAG_VAR_TRACKING): Rename to AUTODETECT_VALUE.
7921 (process_options): Only change flag_web, flag_rename_registers,
7922 and flag_rerun_cse_after_loop if not explicitly set by user.
7923
28356f52
JB
79242005-07-18 Jan Beulich <jbeulich@novell.com>
7925
7926 * config/i386/i386.c (ix86_expand_branch, ix86_expand_setcc,
7927 ix86_expand_carry_flag_compare, ix86_expand_int_movcc): Handle TImode
7928 in 64-bit mode the same as DImode in 32-bit mode.
7929 (ix86_expand_ashl_const, ix86_split_ashl, ix86_split_ashr,
7930 ix86_split_lshr): Likewise. Rename to no longer refer to a specific
7904f95f 7931 mode. Add new mode parameter.
28356f52
JB
7932 * config/i386/i386.h (CONST_OK_FOR_LETTER_P): Describe and handle 'O'.
7933 * config/i386/i386.md (cmpti, addti3, subti3, negti2, ashlti3, ashrti3,
7934 x86_64_shift_adj): New expanders.
7935 (*addti3_1, *subti3_1, *negti2_1, ashlti3_1, *ashlti3_2, ashrti3_1,
7936 *ashrti3_2, lshrti3_1, *lshrti3_2, x86_64_shld, x86_64_shrd): New
7937 insns.
7938 Respective new splitters. Use renamed shift splitter helpers in 32-bit
7939 DImode shift splitters.
7940 * config/i386/i386-protos.h (ix86_split_ashl, ix86_split_ashr,
7941 ix86_split_lshr): Renamed from ix86_split_[al]sh[rl]di. Added new
7942 mode parameter.
7943
422edd6f
JB
79442005-07-18 Jan Beulich <jbeulich@novell.com>
7945
7946 * i386.md (movdi_extzv_1): New.
7947 (zero_extendhidi2): Combine alternatives and never force use of
7948 REX64 prefix.
7949 (zero_extendqidi2): Likewise. Don't restrict input selection.
7950
c625053b
DB
79512005-07-17 Daniel Berlin <dberlin@dberlin.org>
7952
7953 Fix PR tree-optimization/22531
7954 * tree-ssa-pre.c (do_eustores): Make sure LHS is a decl for the
7955 moment.
7956
3b1355f3
DB
79572005-07-17 Daniel Berlin <dberlin@dberlin.org>
7958
7959 * tree-promote-statics.c (pass_promote_statics): Change dump file
7960 name.
7961
79622005-07-17 Daniel Berlin <dberlin@dberlin.org>
45159bf6
DB
7963
7964 * tree-optimize.c (init_tree_optimization_passes): Add
7965 pass_eliminate_useless_stores pass.
7966 * tree-pass.h (pass_eliminate_useless_stores): New pass structure.
7967 * tree-ssa-pre.c (is_copy_stmt): New function.
7968 (follow_copies_till_vuse): Ditto.
7969 (do_eustores): Ditto.
7904f95f
EC
7970 (gate_eustores): Ditto.
7971
7544a87f
RH
79722005-07-16 Richard Henderson <rth@redhat.com>
7973
7974 * gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.
7975
bf0d50f1
KZ
79762005-07-16 Danny Berlin <dberlin@dberlin.org>
7977 Kenneth Zadeck <zadeck@naturalbridge.com>
7978
7979 * Makefile.in: Added rules for ipa-pure-const.c, ipa-reference.c,
7980 ipa-reference.h, ipa-utils.c, ipa-utils.h, ipa-type-escape.c,
7981 ipa-type-escape.h, tree-promote-statics.c
7982 * ipa-pure-const.c, ipa-reference.c, ipa-reference.h, ipa-utils.c,
7904f95f 7983 ipa-utils.h, ipa-type-escape.c, ipa-type-escape.h,
bf0d50f1
KZ
7984 tree-promote-statics.c: new files.
7985 * alias.c: (nonlocal_mentioned_p_1, nonlocal_mentioned_p,
7986 nonlocal_referenced_p_1, nonlocal_referenced_p, nonlocal_set_p_1,
7987 int nonlocal_set_p, mark_constant_function): Deleted.
7904f95f 7988 (rest_of_handle_cfg): Removed call to mark_constant_function.
86979811 7989 (nonoverlapping_component_refs_p): Added calls to support
7904f95f 7990 type based aliasing.
86979811 7991 * tree-ssa-alias.c (may_alias_p,
bf0d50f1
KZ
7992 compute_flow_insensitive_aliasing): Ditto.
7993 * calls.c (flags_from_decl_or_type): Removed reference to
7904f95f 7994 cgraph_rtl_info.
86979811 7995 * c-typeck.c (convert_arguments): Make builtins tolerant of having
bf0d50f1
KZ
7996 too many arguments. This is necessary for Spec 2000.
7997 * cgraph.h (const_function, pure_function): Removed.
7904f95f 7998 * common.opt: Added "fipa-pure-const", "fipa-reference",
bf0d50f1
KZ
7999 "fipa-type-escape", and "ftree-promote-static".
8000 * opts.c: Ditto.
7904f95f 8001 * passes.c: Added ipa and tree-promote-statics passes.
bf0d50f1
KZ
8002 * timevar.def: Added TV_IPA_PURE_CONST, TV_IPA_REFERENCE,
8003 TV_IPA_TYPE_ESCAPE, and TV_PROMOTE_STATICS.
bf0d50f1 8004 * tree-dfa.c (referenced_var_lookup_if_exists): New function.
7904f95f 8005 * tree-flow.h: Added exposed sra calls and addition of
bf0d50f1
KZ
8006 reference_vars_info field for FUNCTION_DECLS.
8007 * tree-pass.h: Added passes.
8008 * tree-sra.c: (sra_init_cache): New function.
8009 (sra_insert_before, sra_insert_after) Made public.
8010 (type_can_be_decomposed_p): Renamed from type_can_be_decomposed_p
8011 and made public.
8012 * tree-ssa-alias.c (dump_alias_stats): Added stats for type based
8013 aliasing. (may_alias_p): Added code to use type escape analysis to
8014 improve alias sets.
8015 * tree-ssa-operands.c (add_call_clobber_ops): Added parameter and
8016 code to prune clobbers of static variables based on information
8017 produced in ipa-reference pass. Changed call clobbering so that
8018 statics are not marked as clobbered if the call does not clobber
8019 them.
8020
b6e0bdbd
DB
80212005-07-16 Daniel Berlin <dberlin@dberlin.org>
8022
8023 * tree-ssa-structalias.c (need_to_solve): Need to check for preds,
8024 too.
8025
ff8f80f2 80262005-07-16 Eric Botcazou <ebotcazou@libertysurf.fr>
2c00bd42
EB
8027
8028 * doc/install.texi (*-*-solaris2*): Document recommended version
8029 of GNU binutils and mention GNU linker problem on Solaris 10.
8030
0b359b01
JM
80312005-07-16 Joseph S. Myers <joseph@codesourcery.com>
8032
8033 PR c/22421
8034 * c-decl.c (c_build_bitfield_integer_type): New function.
8035 (finish_struct): Call it.
8036 * c-pretty-print.c (pp_c_type_specifier): Handle bit-field types.
8037
8fcef540
KG
80382005-07-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8039
8040 * c-typeck.c (digest_init): Call 'convert_for_assignment'
8041 before returning.
8042
84fc24e8
JH
80432005-07-16 Jan Hubicka <jh@suse.cz>
8044
8045 * cfg.c (update_bb_profile_for_threading): Fix profile updating.
8046 (scale_bbs_frequencies_int): Watch roundoff errors.
8047 * predict.c (return_prediction): Initialize return_stmt.
8048
3258272f
JH
80492005-07-16 Jan Hubicka <jh@suse.cz>
8050
8051 * profile.c (rest_of_handle_branch_prob): Fix handling of estimation
8052 after RTL profiling.
8053
01c0a9fa
AP
80542005-07-11 Andrew Pinski <pinskia@physics.uc.edu>
8055
8056 PR middle-end/22398
8057 * fold-const.c (build_range_check): Convert high/low to etype
8058 if we are only comparing against exp.
8059
27811bfe
DB
80602005-07-13 Daniel Berlin <dberlin@dberlin.org>
8061
8062 Fix PR tree-optimization/22376
8063 * tree-ssa-structalias.c (build_constraint_graph): We really meant
8064 special var here.
8065 (need_to_solve): New function.
8066 (compute_points_to_sets): Use it.
7904f95f 8067
2b151cb2
JH
80682005-07-15 Jan Hubicka <jh@suse.cz>
8069
8070 * cfg.c (update_bb_profile_for_threading): More diagnostic.
8071 * tree-ssa-threadupdate.c (redirect_edges): Update profile of dup_block.
8072
0691d1d4
RG
80732005-07-15 Richard Guenther <rguenther@suse.de>
8074
8075 * c-common.c (handle_flatten_attribute): New function.
8076 Add flatten function attribute.
8077 * doc/extend.texi: Document flatten function attribute.
8078 * Makefile.in (ipa-inline.o): Depend on hashtab.h.
8079 * ipa-inline.c (cgraph_find_cycles, cgraph_flatten_node):
8080 New functions.
8081 (cgraph_decide_inlining): Handle functions with flatten
8082 attribute.
8083
9f0076e5
DE
80842005-07-14 David Edelsohn <edelsohn@gnu.org>
8085
8086 * config/rs6000/rs6000.md (UNSPEC_SYNC, UNSPEC_LWSYNC,
8087 UNSPEC_ISYNC, UNSPEC_SYNC_OP, UNSPEC_ATOMIC, UNSPEC_CMPXCHG,
8088 UNSPEC_XCHG, UNSPEC_AND): New.
8089 (UNSPECV_ATOMIC, UNSPECV_SYNC, UNSPECV_SYNC_OP, UNSPECV_CMPXCHG,
8090 UNSPECV_LWSYNC, UNSPECV_ISYNC): Delete.
8091 * config/rs6000/sync.md (FETCHOP): New code macro.
8092 (fetchop_name, fetchop_pred, fetchopsi_constr, fetchopdi_constr):
8093 New code attrs.
8094 (memory_barrier, sync_internal): Use unspec instead of unspec_volatile.
8095 (sync_compare_and_swap<mode>): Same.
8096 (sync_lock_test_and_set<mode>): Same.
8097 (sync_<fetchop><mode>, sync_nand<mode>): Only use rs6000_emit_sync
8098 for QImode and HImode, and not PPC405.
8099 (sync_old_<fetchop><mode>, sync_old_nand<mode>): Same.
8100 (sync_new_<fetchop><mode>, sync_new_nand<mode>): Same.
8101 (sync_<fetchop>{si,di}_internal): New.
8102 (sync_nand{si,di}_internal): New.
8103 (sync_old_<fetchop>{si,di}_internal): New.
8104 (sync_old_nand{si,di}_internal): New
8105 (sync_new_<fetchop>{si,di}_internal): New.
8106 (sync_new_nand{si,di}_internal): New.
8107 (atomic_and{si,di}): New.
8108 (sync_new_nand{si,di}_internal): New.
8109 (atomic_and{si,di}): New.
8110 (sync_add<mode>_internal): Delete.
8111 (sync_addshort_internal): Use unspec instead of unspec_volatile.
8112 (sync_sub<mode>_internal): Delte.
8113 (sync_subshort_internal): New.
8114 (sync_andsi_internal): Use unspec instead of unspec_volatile.
8115 (sync_anddi_internal): Delete.
8116 (sync_boolsi_internal): Use unspec instead of unspec_volatile.
8117 (sync_booldi_internal): Delete.
8118 (sync_boolc<mode>_internal): Delete.
8119 (sync_boolcshort_internal): Use unspec instead of unspec_volatile.
8120 (sync_boolc<mode>_internal2): Delete.
8121 (sync_boolcc<mode>_internal): Delete.
8122 (isync, lwsync): Use unspec instead of unspec_volatile.
8123 * config/rs6000/rs6000.c (rs6000_emit_sync): Implement MINUS.
8124 Revert UNSPEC_VOLATILE.
8125 (rs6000_split_atomic_op): New.
8126 * config/rs6000/rs6000-protos.h (rs6000_split_atomic_op): Declare.
8127
06277571
EC
81282005-07-14 Eric Christopher <echristo@redhat.com>
8129
8130 * config/mips/mips.c (mips_canonicalize_comparison): Cast
8131 argument of trunc_int_for_mode to unsigned HOST_WIDE_INT.
8132
b838c72b
EC
81332005-07-14 Eric Christopher <echristo@redhat.com>
8134
8135 * config/s390/t-tpf (SHLIB_MAPFILES): Remove.
8136
3c341936
SB
81372005-07-14 Steven Bosscher <stevenb@suse.de>
8138
8139 PR tree-optimization/22230
8140 * tree-vrp.c (extract_range_from_binary_expr): Fix logics thinko in
8141 the computation of the four cross productions for "range op range".
8142
704b6cb5 81432005-07-14 Alexandre Oliva <aoliva@redhat.com>
86979811 8144 Ulrich Weigand <uweigand@de.ibm.com>
704b6cb5
AO
8145
8146 PR target/20126
8147 * loop.c (loop_givs_rescan): Do not ICE if unable to reduce an IV
8148 in some insn.
8149
a771c4b3
UW
81502005-07-14 Ulrich Weigand <uweigand@de.ibm.com>
8151
8152 * config/s390/s390.h (TARGET_TPF_PROFILING): Add default definition.
8153
6f3113ed
SE
81542005-07-14 Steve Ellcey <sje@cup.hp.com>
8155
8156 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): Support ILP32 mode.
8157
cb1119b7
RG
81582005-07-14 Richard Guenther <rguenther@suse.de>
8159
8160 PR middle-end/22347
8161 * config/i386/i386-protos.h (ix86_function_value): Change
8162 prototype to match new target hook.
8163 * config/i386/i386.c (ix86_value_regno): Change prototype
8164 to take extra type argument.
8165 (TARGET_FUNCTION_VALUE): Define.
8166 (ix86_function_ok_for_sibcall): Pass extra argument to
8167 ix86_value_regno, check return slot rtx for exact match.
8168 (ix86_function_value): Take extra parameter. Dispatch to
8169 ix86_value_regno with fndecl/fntype as provided.
8170 (ix86_value_regno): Handle extra type argument.
8171 * config/i386/i386.h (FUNCTION_VALUE): No longer define.
8172
8173 * testsuite/gcc.target/i386/sseregparm-3.c: New testcase.
8174 * testsuite/gcc.target/i386/sseregparm-4.c: New testcase.
8175 * testsuite/gcc.target/i386/sseregparm-5.c: New testcase.
8176 * testsuite/gcc.target/i386/sseregparm-6.c: New testcase.
8177 * testsuite/gcc.target/i386/sseregparm-7.c: New testcase.
8178
1d636cc6
RG
81792005-07-14 Richard Guenther <rguenther@suse.de>
8180
8181 * Makefile.in (explow.o, reg-stack.o): Depend on target.h.
8182 * calls.c (expand_call): Pass fntype to hard_function_value.
8183 (emit_library_call_value_1): Likewise.
8184 * explow.c: Include target.h.
8185 (hard_function_value): Take extra argument, the fntype.
8186 Use new target hook for function_value.
8187 * expr.h (hard_function_value): Change prototype.
8188 * function.c (aggregate_value_p): Pass 0 as fntype to
8189 hard_function_value.
8190 (assign_parms): Use new target hook for function_value.
8191 Pass 0 as fntype to hard_function_value.
8192 (expand_function_end): Likewise.
8193 * reg-stack.c: Include target.h.
8194 (stack_result): Use new target hook for function_value.
8195 * target-def.h: New target hook function_value.
8196 * target.h: Likewise.
8197 * targhooks.c (default_function_value): New function.
8198 * targhooks.h (default_function_value): Declare.
8199
09d8cc0e
ILT
82002005-07-13 Ian Lance Taylor <ian@airs.com>
8201
8202 * config/mips/mips.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
8203
df1f6f31
JH
82042005-07-14 Jan Hubicka <jh@suse.cz>
8205
8206 * tree-dfa.c (dump_variable): Use default_def function.
8207 * tree-ssa-alias.c (dump_points_to_info): Likewise.
8208 * tree-ssa.c (verify_use): Likewise.
8209 * tree-ssanames.c (release_ssa_name): Likewise.
8210 * tree-tailcall.c (eliminate_tail_call): Likewise.
8211 (tree_optimize_tail_calls_1): Likewise.
8212 * tree-vrp.c (get_value_range): Likewise.
8213
9ef0b1bd
BE
82142005-07-14 Ben Elliston <bje@au.ibm.com>
8215
8216 * gcc.c (main): Compare language[0] with '*' when iterating over
8217 the infiles.
8218
85333688 82192005-07-13 Adrian Strae½tling <straetling@de.ibm.com>
69950452
AS
8220
8221 * config/s390/s390.c: (s390_cc_modes_compatible): Move before
8222 "s390_emit_compare". Add handling of CCZ1mode.
8223 (s390_canonicalize_comparison): Simplify cascaded EQ, NE.
8224 (390_emit_compare): Use "s390_cc_modes_compatible" for mode
8225 checking.
8226 (s390_branch_condition_mask): Add CCZ1mode handling.
8227 * config/s390/s390.md: ("seq", "*seq"): New pattern.
8228 ("sync_compare_and_swap_cc<mode>", "*sync_compare_and_swap_cc<mode>"):
8229 Use CCZ1mode instead of CCZmode.
8230 * config/s390/s390-modes.def: Add CCZ1mode. Comment new mode.
8231
85333688 82322006-07-13 Adrian Strae½tling <straetling@de.ibm.com>
ccbdc0d4
AS
8233
8234 * config/s390/s390.md: ("cmpstrsi", "*cmpstr<mode>"): New
8235 pattern.
8236 ("strlen<mode>", "*strlen<mode>"): Use hard reg 0 in SImode.
8237
ecd48505
EC
82382005-07-13 Eric Christopher <echristo@redhat.com>
8239
8240 * config/mips/mips.c (mips_canonicalize_comparison): New.
8241 (mips_emit_int_relational): Use.
8242
a8ba31f2
EC
82432005-07-13 Eric Christopher <echristo@redhat.com>
8244
86979811
SB
8245 * config.gcc (s390x-ibm-tpf*): Add extra_options. Remove
8246 static extra parts.
8247 * config/s390/s390.md: Include tpf.md. Move tpf specific
8248 patterns...
8249 * config/s390/tpf.md: To here.
8250 * config/s390/s390.opt: Move tpf specific options...
8251 * config/s390/tpf.opt: to here. Add mmain option.
8252 * config/s390/tpf-unwind.h: Remove unnecessary defines.
8253 * config/s390/tpf.h: Rewrite.
a8ba31f2 8254
709a840a
L
82552005-07-13 H.J. Lu <hongjiu.lu@intel.com>
8256
8257 * doc/tm.texi: Remove @xref{Cross-profiling}.
8258
59f7a202
JL
82592005-07-13 Jeff Law <law@redhat.com>
8260
8261 * fold-const.c (fold_binary): When comparing two simple ADDR_EXPR
8262 expressions, test their _DECL operands for pointer equality rather
8263 than using operand_equal_p.
8264
4969c0d8
L
82652005-07-13 H.J. Lu <hongjiu.lu@intel.com>
8266
8267 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Renamed to ...
8268 (TARGET_POSIX_IO): This.
8269 * config/darwin.h: Likewise.
8270 * config/freebsd.h: Likewise.
8271 * config/linux.h: Likewise.
8272 * config/lynx.h: Likewise.
8273 * config/netbsd.h: Likewise.
8274 * config/rs6000/linux64.h: Likewise.
8275 * config/rs6000/linux.h: Likewise.
8276 * config/s390/tpf.h: Likewise.
8277 * config/sh/embed-elf.h: Likewise.
8278 * config/sparc/linux64.h: Likewise.
8279 * config/sparc/linux.h: Likewise.
8280 * config/svr4.h: Likewise.
8281 * gcov-io.h: Likewise.
8282
8283 * doc/tm.texi: Updated.
8284
8285 * libgcov.c (create_file_directory): Defined only if
8286 TARGET_POSIX_IO is defined.
8287 (gcov_exit): Call create_file_directory only if TARGET_POSIX_IO
8288 is defined.
8289
98b6d477
JH
82902005-07-13 Jan Hubicka <jh@suse.cz>
8291
8292 * tree-ssa-operands.c (get_expr_operands): Fix typo in previous patch.
8293
bbcbc3e0
DE
82942005-07-13 David Edelsohn <edelsohn@gnu.org>
8295
8296 * tree-ssa-dom.c (lookup_avail_expr): Do not pass member in freed
8297 structure as argument.
8298
3cb005cf
PB
82992005-07-13 Paolo Bonzini <bonzini@gnu.org>
8300
8301 PR tree-optimization/21921
8302 * tree-iterator.c (tsi_link_before): Support the case when
8303 tsi_end_p (tsi) == true.
8304
2c5f025d
ZD
83052005-07-12 Zdenek Dvorak <dvorakz@suse.cz>
8306
8307 PR tree-optimization/22442
8308 * tree-chrec.c (chrec_fold_multiply_poly_poly): Associate chrecs
8309 correctly.
8310
7869fe47
ZD
83112005-07-12 Zdenek Dvorak <dvorakz@suse.cz>
8312
8313 PR rtl-optimization/20376
8314 * toplev.c (process_options): Enable -fweb and -frename-registers when
8315 unrolling.
8316 * doc/invoke.texi: Update the information about when -fweb and
8317 -frename-registers are enabled.
8318
fe83f543
AP
83192005-07-12 Andrew Pinski <pinskia@physics.uc.edu>
8320
8321 PR tree-opt/21840
8322 * tree-ssa-pre.c (eliminate): Convert the sprime to the correct type
8323 if *rhs_p is not a SSA_NAME.
8324
13c2c08b 83252005-07-12 Daniel Berlin <dberlin@dberlin.org>
7904f95f
EC
8326
8327 Fix PR tree-optimization/22422
13c2c08b
DB
8328 * tree-ssa-structalias.c (struct variable_info): Add flag for
8329 special vars.
8330 (get_varinfo): Now a static function.
8331 (new_varinfo): init has_union and is_special_var to false.
8332 (solution_set_add): Check has_union.
8333 (do_da_constraint): Move temporary variable so it gets reset
8334 properly.
8335 Also check for special variable.
8336 (do_ds_constraint): Ditto.
8337 (do_sd_constraint): Ditto.
8338 (do_structure_copy): Check for special variable.
8339 (find_func_aliases): Ditto.
7904f95f 8340 (init_base_vars): Set special vars properly.
13c2c08b 8341
7fac66d4
JH
83422005-07-13 Jan Hubicka <jh@suse.cz>
8343
3b9ade75
JH
8344 * cfgexpand.c (expand_one_stack_var): Do not expand variables when we
8345 do unit-at-a-time.
8346
7fac66d4
JH
8347 * tree-ssa-operands.c (parse_ssa_operands): Fix formatting.
8348 (get_expr_operands): Fix thinko wrt flags and subvars.
8349
8350 PR tree-optimize/22379
8351 * tree-inline.c (expand_call_inline): Do not output sorry in early
8352 inlining.
8353
a2af5043
DJ
83542005-07-12 Dale Johannesen <dalej@apple.com>
8355
8356 * config/rs6000.c (rs6000_rtx_cost): Move FLOAT_EXTEND.
8357
298f1d10
AP
83582005-07-12 Andrew Pinski <pinskia@physics.uc.edu>
8359
8360 PR bootstrap/21704
8361 * host-linux.h: Include limits.h.
8362
e4541b7a
DJ
83632005-07-12 Dale Johannesen <dalej@apple.com>
8364
8365 * expr.c (compress_float_constant): Add cost check.
8366 * config/rs6000.c (rs6000_rtx_cost): Adjust FLOAT_EXTEND cost.
8367
83682005-07-12 Dale Johannesen <dalej@apple.com>
8369
8370 * gcc.target/i386/compress-float-sse.c: New.
8371 * gcc.target/i386/compress-float-sse-pic.c: New.
8372 * gcc.target/i386/compress-float-387.c: New.
8373 * gcc.target/i386/compress-float-387-pic.c: New.
8374 * gcc.dg/compress-float-ppc.c: New.
8375 * gcc.dg/compress-float-ppc-pic.c: New.
8376
a8ba31f2
EC
83772005-07-12 Eric Christopher <echristo@redhat.com>
8378
8379 * config.gcc (s390x-ibm-tpf*): Add extra_options. Remove
8380 static extra parts.
8381 * config/s390/s390.md: Include tpf.md. Move tpf specific
8382 patterns...
8383 * config/s390/tpf.md: To here.
8384 * config/s390/s390.opt: Move tpf specific options...
8385 * config/s390/tpf.opt: to here. Add mmain option.
8386 * config/s390/tpf-unwind.h: Remove unnecessary defines.
8387 * config/s390/tpf.h: Rewrite.
8388
817a8255
EC
83892005-07-12 Eric Christopher <echristo@redhat.com>
8390
8391 * gcc.c (struct infile): Update comment for language.
8392 (main): Rewrite input file resetting code.
8393
019b02f1
AP
83942005-07-12 Andrew Pinski <pinskia@physics.uc.edu>
8395
8396 PR tree-opt/22335
8397 * tree-ssa-dom.c (eliminate_redundant_computations): Reject the prop if
8398 requiring a cast in a non RHS of modify_expr. Add a cast when required.
8399 (lookup_avail_expr): Use constant_boolean_node instead
8400 of boolean_false_node/boolean_true_node.
8401
cac50d94
BE
84022005-07-12 Ben Elliston <bje@au.ibm.com>
8403
8404 * tree-cfg.c (dump_cfg_stats): Add a new fmt_str_2 format string
8405 and use it when printing num_edges.
8406
161c21b6
BS
84072005-07-12 Bernd Schmidt <bernd.schmidt@analog.com>
8408
8409 * doc/extend.texi (Blackfin Built-in Functions): New section.
8410 * doc/invoke.texi (mcsync-anomaly, mno-csync-anomaly): Fix the
8411 @opindex.
8412
40c1d5f8
AS
84132005-07-12 Adrian Straetling <straetling@de.ibm.com>
8414
8415 * builtins.c: (expand_builtin_memcmp, expand_builtin_strncmp):
8416 s/cmpstrsi/cmpstrnsi
8417 (expand_builtin_strcmp): Rewrite to support both 'cmpstrsi' and
8418 'cmpstrnsi'.
8419 * optabs.c: (prepare_cmp_insn): Add availability of 'cmpstrn'.
8420 (init_optabs): Initialize cmpstrn_optab.
8421 * optabs.h: (enum insn_code cmpstrn_optab): Declare.
8422 * genopinit.c: (optabs[]): Add 'cmpstrn' to initialisation.
8423 * expr.c: (enum insn_code cmpstrn_optab): Declare.
8424 * config/i386/i386.md: s/cmpstr/cmpstrn
8425 * config/c4x/c4x.md: s/cmpstr/cmpstrn
8426 * doc/md.texi: Update documentation.
8427
d6e9821f
RH
84282005-07-11 Richard Henderson <rth@redhat.com>
8429
8430 * config/alpha/alpha.c (alpha_gimplify_va_arg_1): Use
8431 build_va_arg_indirect_ref.
8432 (alpha_gimplify_va_arg): Likewise.
8433 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
8434 * config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise.
8435 * config/mips/mips.c (mips_gimplify_va_arg_expr): Likewise.
8436 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
8437 * config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise.
8438 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg):
8439 Likewise.
8440 * config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise.
8441
b7eae7b8
ZD
84422005-07-12 Zdenek Dvorak <dvorakz@suse.cz>
8443
8444 * tree-flow.h (remove_empty_loops, single_dom_exit): Declare.
8445 * passes.c (init_optimization_passes): Add pass_empty_loop.
8446 * tree-pass.h (pass_empty_loop): Declare.
8447 * tree-ssa-loop-ivcanon.c (empty_loop_p, remove_empty_loop,
8448 try_remove_empty_loop, remove_empty_loops): New functions.
8449 * tree-ssa-loop-ivopts.c (single_dom_exit): Export.
8450 * tree-ssa-loop.c (tree_ssa_empty_loop, pass_empty_loop): New.
8451
70028b61
PB
84522005-07-12 Peter Barada <peter@the-baradas.com>
8453
8454 PR middle-end/16719
8455 PR middle-end/18421
8456 * config/m68k/m68k.h (HARD_REGNO_MODE_OK): Disallow bytes
8457 in address registers.
8458 * config/m68k/m68k.c (hard_regno_mode_ok): Likewise.
8459 * config/m68k/m68k.md: Replace 's' with 'i' in 4th
8460 alternative of addsi3_5200.
8461
8564e10e
ILT
84622005-07-11 Ian Lance Taylor <ian@airs.com>
8463
8464 * config/mips/mips.md (ffs<mode>2): Remove.
8465
2f6bd539
ILT
84662005-07-11 Ian Lance Taylor <ian@airs.com>
8467
8468 * doc/tree-ssa.texi (Cleanups): Improve description of
8469 TRY_FINALLY_EXPR.
8470 (GIMPLE Exception Handling): Clarify TRY_CATCH_EXPR cases.
8471
046a69e0 84722005-07-11 Daniel Berlin <dberlin@dberlin.org>
7904f95f 8473
046a69e0
DB
8474 * print-tree.c (print_node): Use DECL_ARGUMENT_FLD.
8475 * tree.h (DECL_ARGUMENT_FLD): New macro.
8476
84772005-07-11 Daniel Berlin <dberlin@dberlin.org>
7904f95f 8478
046a69e0
DB
8479 Fix PR tree-optimization/22404
8480
8481 * tree-ssa-structalias.c (create_variable_info_for): Use
8482 correct offset.
8483
3fb192d2
BS
84842005-07-11 Bernd Schmidt <bernd.schmidt@analog.com>
8485
7ddcf3d2
BS
8486 * config/bfin/bfin.md (cmpsi, compare_eq, compare_ne, compare_lt,
8487 compare_le, compare_leu, compare_ltu): Use reg_or_const_int_operand
8488 for second comparison operand.
8489 * config/bfin/predicates.md (reg_or_const_int_operand): New.
8490
3fb192d2
BS
8491 * config/bfin/bfin.md (define_attr "type"): Add "sync".
8492 (define_insn_reservation "alu"): Likewise.
8493 (csync, ssync): Now of type sync.
8494 * config/bfin/bfin.h (TARGET_DEFAULT): Defaults to
8495 -mcsync-anomaly -mspecld-anomaly.
8496 * config/bfin/bfin.opt (mcsync): Remove.
8497 (mcsync-anomaly, mspecld-anomaly): Add.
8498 * config/bfin/bfin.c: Include "insn-codes.h".
8499 (bfin_reorg): Extend to handle the CSYNC anomaly as well.
8500 (TARGET_DEFAULT_TARGET_FLAGS): New.
8501 * doc/invoke.texi: Document -mcsync-anomaly, -mspecld-anomaly.
8502
2dd2d53e
SB
85032005-07-11 Steven Bosscher <stevenb@suse.de>
8504
8505 * basic-block.h: Give the BB flags enum a name, bb_flags.
8506 Add new flags BB_FORWARDER_BLOCK, and BB_NONTHREADABLE_BLOCK.
8507 * cfgcleanup.c (enum bb_flags): Remove here.
8508 (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG): Remove.
8509 (notice_new_block): Set/test bb->flags instead of aux via BB_FLAGS.
8510 (update_forwarder_flag): Likewise.
8511 (thread_jump): Likewise.
8512 (try_forward_edges): Likewise.
8513 (try_optimize_cfg): Likewise. Clear bb->flags before updating the
8514 forwarder flags. Don't clear bb->aux for all basic blocks. Only
8515 reset the BB_FORWARDER_BLOCK and BB_NONTHREADABLE_BLOCK flags.
8516
1f97667f
RG
85172005-07-11 Richard Guenther <rguenther@suse.de>
8518
8519 * config/i386/i386.opt: New target option -msseregparm.
8520 * config/i386/i386.c (override_options): Error out for
8521 -msseregparm but no SSE support.
8522 (ix86_function_sseregparm): Check for global sseregparm.
8523 * doc/invoke.texi: Document -msseregparm.
8524
4dda0c66
KI
85252005-07-11 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
8526
8527 * config.gcc (m32r-*-linux*): Use the default extra_parts.
8528 (m32rle-*-linux*): Ditto.
8529
15362b89
JJ
85302005-07-11 Jakub Jelinek <jakub@redhat.com>
8531
8532 * cfgexpand.c (stack_protect_classify_type): Use TYPE_SIZE_UNIT (type)
8533 instead of TYPE_MAX_VALUE (TYPE_DOMAIN (type)) to get array size in
8534 bytes.
8535
b1b0d9ac
JDA
85362005-07-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8537
8538 PR middle-end/22239
8539 PR target/20126
8540 * loop.c (loop_givs_rescan): Use expand_simple_binop instead of
8541 gen_rtx_MINUS to handle non-replaceable (plus ((x) (const)).
8542
b5efa470
DB
85432005-07-07 Daniel Berlin <dberlin@dberlin.org>
8544
8545 * tree-ssa-structalias.c (struct variable_info): Heapify complex.
8546 (varmap): Heapify varmap.
8547 (constraints): Heapify constraints.
8548 (struct constraint_graph): Heapify succs and preds.
8549 (constraint_vec_find): Update for heapification.
8550 (constraint_set_union): Ditto.
8551 (insert_into_complex): Ditto.
8552 (constraint_edge_vec_find): Ditto.
8553 (erase_graph_self_edge): Ditto.
8554 (add_graph_edge): Ditto.
8555 (get_graph_weights): Ditto.
8556 (merge_graph_nodes): Ditto.
8557 (build_constraint_graph): Ditto.
8558 (topo_visit): Ditto.
8559 (solve_graph): Ditto.
8560 (create_variable_info_for): Ditto.
8561 (init_base_vars): Ditto.
8562 (delete_points_to_sets): Free graph, varmap, and complex constraints.
8563 (condese_varmap_nodes): Free complex vector.
8564 (clear_edges_for_node): Clear succs and preds vector.
8565
0bfac35f
DB
85662005-07-10 Daniel Berlin <dberlin@dberlin.org>
8567
8568 * tree-ssa-structalias.c (update_alias_info): Change counting of
8569 references to not include vdefs.
7904f95f 8570
46c73d9a
DB
85712005-07-10 Daniel Berlin <dberlin@dberlin.org>
8572
8573 * tree-ssa-alias.c (free_used_part_map): Add missing free.
8574 (up_insert): Ditto.
8575
bd7d5043
JDA
85762005-07-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8577
8578 * pa.c (pa_commutative_p): Make PLUS commutative when
8579 TARGET_NO_SPACE_REGS is true.
8580
e8ca4159
DN
85812005-07-09 Diego Novillo <dnovillo@redhat.com>
8582
8583 * Makefile.in (tree-ssa-alias.o): Depend on tree-ssa-structalias.h
8584 * tree-cfg.c (CHECK_OP): Only test for is_gimple_val.
8585 * tree-dfa.c (dump_subvars_for): New.
8586 (debug_subvars_for): New.
8587 (dump_variable): Show subvariables if VAR has them.
8588 * tree-flow-inline.h (get_subvar_at): New.
8589 (overlap_subvar): Change offset and size to unsigned HOST_WIDE_INT.
8590 * tree-flow.h (struct ptr_info_def): Remove field pt_malloc.
8591 Update all users.
8592 (struct subvar): Change fields offset and size to unsigned
8593 HOST_WIDE_INT.
8594 (dump_subvars_for): Declare.
8595 (debug_subvars_for): Declare.
8596 (get_subvar_at): Declare.
8597 (okay_component_ref_for_subvars): Change 2nd and 3rd argument
8598 to unsigned HOST_WIDE_INT *.
8599 (overlap_subvar): Likewise.
8600 * tree-gimple.c (is_gimple_reg): Always return false for
8601 SFTs and memory tags.
8602 * tree-pass.h (pass_build_pta, pass_del_pta): Remove.
8603 Update all callers.
8604 * tree-ssa-alias.c: Include tree-ssa-structalias.h.
8605 (compute_may_aliases): Call compute_points_to_sets.
8606 (collect_points_to_info_for): Remove.
8607 (compute_points_to_and_addr_escape): Remove.
8608 (delete_alias_info): Call delete_points_to_sets.
8609 (compute_flow_sensitive_aliasing): If the call to
8610 find_what_p_points_to returns false, call set_pt_anything.
8611 (add_may_alias): Set TREE_ADDRESSABLE when adding a new alias.
8612 (set_pt_anything): Clear pi->pt_vars.
8613 (set_pt_malloc): Remove.
8614 (merge_pointed_to_info): Remove.
8615 (add_pointed_to_expr): Remove.
8616 (add_pointed_to_var): Remove.
8617 (collect_points_to_info_r): Remove.
8618 (is_escape_site): Make extern.
8619 (create_sft): New.
8620 (create_overlap_variables_for): Call it.
8621 * tree-ssa-copy.c (merge_alias_info): Never merge
8622 flow-sensitive alias information.
8623 * tree-ssa-operands.c (get_expr_operands): Adjust variables
8624 offset and size to be unsigned HOST_WIDE_INT.
8625 (add_to_addressable_set): Rename from note_addressable.
8626 Set TREE_ADDRESSABLE as the variables are added to the set.
8627 Update all users.
8628 (add_stmt_operand): Do not try to micro-optimize unmodifiable
8629 operands into VUSEs when adding V_MAY_DEFs for members in an
8630 alias set.
8631 * tree-ssa-operands.h (add_to_addressable_set): Declare.
8632 * tree-ssa-structalias.c: Include tree-ssa-structalias.h last.
8633 (struct variable_info): Add bitfield is_heap_var.
8634 (var_anyoffset, anyoffset_tree, anyoffset_id): Declare.
8635 (new_var_info): Initialize is_heap_var.
8636 (get_constraint_for): Add HEAP variables to the symbol table.
8637 Mark them with is_heap_var.
8638 (update_alias_info): New. Taken mostly from the old
8639 compute_points_to_and_addr_escape.
8640 (handle_ptr_arith): New.
8641 (find_func_aliases): Call update_alias_info.
8642 Call handle_ptr_info for tcc_binary expressions.
8643 Call mark_stmt_modified.
8644 (create_variable_info_for): If DECL has subvars, do not create
8645 variables for its subvars. Always add all the fields.
8646 (set_uids_in_ptset): If the solution includes ANYOFFSET and
8647 SFTs, then add all the SFTs of the structure.
8648 If VI->DECL is an aggregate with subvariables, add the SFT at
8649 VI->OFFSET.
8650 (find_what_p_points_to): If VI is an artificial variable,
8651 translate to bitfields in SSA_NAME_PTR_INFO.
8652 If the solution is empty, set pi->pt_vars to NULL
8653 (init_base_vars): Create ANYOFFSET.
8654 (compute_points_to_sets): Rename from create_alias_vars.
8655 Make extern.
8656 (pass_build_pta): Remove.
8657 (delete_points_to_sets): Rename from delete_alias_vars.
8658 (pass_del_pta): Remove.
8659 * tree-ssa-structalias.h (struct alias_info): Move from
8660 tree-ssa-alias.h.
8661 (NUM_REFERENCES, NUM_REFERENCES_CLEAR, NUM_REFERENCES_INC,
8662 NUM_REFERENCES_SET): Likewise.
8663 (compute_points_to_sets, delete_points_to_sets): Declare.
8664
38f31687
RH
86652005-07-09 Richard Henderson <rth@redhat.com>
8666
8667 * config/alpha/alpha.c (emit_insxl, alpha_expand_compare_and_swap_12,
8668 alpha_split_compare_and_swap_12, alpha_expand_lock_test_and_set_12,
8669 alpha_split_lock_test_and_set_12): New functions.
8670 * config/alpha/alpha-protos.h: Update.
8671 * config/alpha/alpha.md (UNSPEC_MB, UNSPEC_ATOMIC,
8672 UNSPEC_CMPXCHG, UNSPEC_XCHG): Rename from UNSPECV_FOO.
8673 * config/alpha/sync.md (I12MODE): New.
8674 (memory_barrier, mb_internal): Use unspec instead of unspec_volatile.
8675 (sync_<fetchop_name><I48MODE>): Likewise.
8676 (sync_nand<I48MODE>): Likewise.
8677 (sync_old_<fetchop_name><I48MODE>): Likewise.
8678 (sync_new_<fetchop_name><I48MODE>): Likewise.
8679 (sync_old_nand<I48MODE>, sync_new_nand<I48MODE>): Likewise.
8680 (sync_compare_and_swap<I48MODE>): Likewise.
8681 (sync_lock_test_and_set<I48MODE>): Likewise.
8682 (sync_compare_and_swap<I12MODE>): New.
8683 (sync_compare_and_swap<I12MODE>_1): New.
8684 (sync_lock_test_and_set<I12MODE>): New.
8685 (sync_lock_test_and_set<I12MODE>_1): New.
8686
563cb6be
DN
86872005-07-09 Diego Novillo <dnovillo@redhat.com>
8688
8689 PR 21356
8690 PR 22332
38f31687 8691 * passes.c (execute_todo): Cleanup the CFG before updating SSA.
563cb6be 8692
4a8ce6ce
JJ
86932005-07-09 Jakub Jelinek <jakub@redhat.com>
8694
8695 * config/i386/i386.c (output_set_got): Don't omit OFFSET FLAT:
8696 in Intel syntax add %reg, OFFSET FLAT:_GLOBAL_OFFSET_TABLE_+(.-.Lx).
8697
4fd84e8c
RS
86982005-07-09 Richard SAndiford <richard@codesourcery.com>
8699
8700 PR target/21656
8701 * config/mips/elf.h (NO_IMPLICIT_EXTERN_C): Define.
8702
d54c47e1
DE
87032005-07-08 David Edelsohn <edelsohn@gnu.org>
8704
8705 * config/rs6000/sync.md (load_locked_<mode>): Use Z for
8706 memory_operand constraint.
8707 (store_conditional_<mode>): Same.
8708 (sync_compare_and_swap<mode>): Same.
8709 (sync_lock_test_and_set<mode>): Same.
8710
c00fc5cf
HPN
87112005-07-08 Hans-Peter Nilsson <hp@axis.com>
8712
8713 Rewrite PIC support to more closely model actual instructions.
8714 * config/cris/cris-protos.h (cris_gotless_symbol, cris_got_symbol)
8715 (cris_symbol): Remove prototypes for removed functions.
8716 (cris_pic_symbol_type_of, cris_valid_pic_const)
8717 (cris_expand_pic_call_address): Prototypes for new functions.
8718 * config/cris/cris/cris.c (cris_pic_sympart_only): Remove unused
8719 variable.
8720 (cris_print_operand) <case 'v', 'P'>: Remove cases for unused
8721 modifiers.
8722 <case ':'>: Add case for new punctuation character.
8723 <case 'd'>: Temporarily set flag_pic = 2 instead of incorrectly
8724 emitting (extra) PIC modifier.
8725 <case UNSPEC>: Do not assert for PLT.
8726 (cris_initial_frame_pointer_offset, cris_simple_epilogue)
8727 (cris_expand_prologue, cris_expand_epilogue): Check
8728 for pic_offset_table_rtx usage instead of taking
8729 current_function_uses_pic_offset_table as the final word.
8730 (cris_rtx_costs, cris_address_cost, cris_side_effect_mode_ok):
8731 Remove flag_pic difference.
8732 (cris_valid_pic_const, cris_pic_symbol_type_of): New functions,
8733 the moral equivalents of...
8734 (cris_symbol, cris_gotless_symbol, cris_got_symbol): Remove
8735 functions.
8736 (cris_legitimate_pic_operand): Just call cris_valid_pic_const.
8737 (cris_handle_option): Mark ARG as unused.
8738 (cris_expand_pic_call_address): New worker function for "call",
8739 "call_value".
8740 (cris_asm_output_symbol_ref, cris_asm_output_label_ref): Do not
8741 output PIC constructs here.
8742 (cris_output_addr_const_extra): Changes for emitting PIC modifiers
8743 as symbol-specific modifers, not whole or part of operands.
8744 * config/cris/cris/cris.h (EXTRA_CONSTRAINT): Remove 'U' case.
8745 (EXTRA_CONSTRAINT_S): Changed semantics: allow only CONST-wrapped
8746 constants and flag_pic.
8747 (CONSTANT_INDEX_P): Adjust for new functions.
8748 (enum cris_pic_symbol_type): New helper type.
8749 (PRINT_OPERAND_PUNCT_VALID_P): Add ':'.
8750 * config/cris/cris/cris.md (CRIS_UNSPEC_GOTREL)
8751 (CRIS_UNSPEC_GOTREAD, CRIS_UNSPEC_PLTGOTREAD): New
8752 define_constants.
8753 ("movsi"): Emit actual instructions for GOT and relative access.
8754 ("*movsi_got_load"): New pattern to set up the register holding
8755 the GOT pointer.
8756 ("*movsi_internal"): Operand 1 is not a plain general_operand.
8757 Adjust FIXME for 'S'.
8758 <output for 'S' alternative>: Sanity-check UNSPEC types for PIC.
8759 Use "movs" for -fpic cases.
8760 ("addsi3"): Add alternative for 'S'; use adds.w when possible.
8761 ("uminsi3","*expanded_call_value"): Remove 'S' alternative.
8762 ("call", "call_value"): Just call cris_expand_pic_call_address for
8763 PIC addresses.
8764 ("*expanded_call_no_gotplt", "*expanded_call_value_no_gotplt"):
8765 Remove special pattern.
8766 ("*expanded_call_side", "*expanded_call_value_side"): New
8767 patterns.
8768 (gotplt-to-plt, gotplt-to-plt-side-call)
8769 (gotplt-to-plt-side-call-value, gotplt-to-plt-side): New
8770 peephole2:s.
8771 * config/cris/cris/predicates.md
8772 ("cris_general_operand_or_gotless_symbol"): Remove unused
8773 predicate.
8774 ("cris_general_operand_or_symbol"): Adjust for new functions.
8775
68ece23d
AP
87762005-07-08 Andrew Pinski <pinskia@physics.uc.edu>
8777
8778 * config/darwin.h (TARGET_C99_FUNCTIONS): Define to 1.
8779
820cc88f
DB
87802005-07-08 Daniel Berlin <dberlin@dberlin.org>
8781
8782 * Makefile.in (TREE_H): Add treestruct.def.
8783 (c-decl.o): Add pointer-set.h
8784 * c-decl.c (diagnose_mismatched_decls): Don't attempt to look at
8785 visibility on regular DECL's.
8786 (merge_decls): Fix the copying of decl nodes of various types for
8787 the new structures. Don't update RTL, section name, weak status,
7904f95f 8788 etc, on DECL's without RTL.
820cc88f
DB
8789 (grokdeclarator): DECL_ARG_TYPE_AS_WRITTEN is gone.
8790 Don't check volatile on non-variable types.
8791 (store_parm_decls_oldstyle): Use pointer_set instead of DECL_WEAK
8792 to check whether we have seen arguments.
8793 * c-objc-common.c (c_tree_printer): Reverse order of tests so that
7904f95f 8794 flag is checked before field (flag is common, field is not).
820cc88f
DB
8795 * dwarf2out.c (decl_ultimate_origin): Only DECL's with
8796 TS_DECL_COMMON could have an origin.
8797 (add_location_or_const_value_attribute): Don't check section name
8798 on non-var/function decls.
8799 (dwarf2out_var_location): Reverse order of tests.
8800 * emit-rtl.c (set_reg_attrs_for_parm): DECL_CHECK is dead, replace
8801 with DECL_WRTL_CHECK.
8802 * expmed.c (make_tree): rtl is now in decl_with_rtl.
8803 * fold-const.c (fold_binary): Don't check weakness on
8804 non-var/function decls.
8805 (tree_expr_nonzero_p): Ditto.
8806 (fold_checksum_tree): Use tree_decl_extra as sizeof
8807 buffer.
8808 * ggc-page.c (extra_order_size_table): Add sizes for
8809 tree_decl_non_common, tree_parm_decl, tree_var_decl, and
8810 tree_field_decl.
8811 * gimplify.c (gimplify_bind_expr): Only set
8812 DECL_SEEN_IN_BIND_EXPR_P on VAR_DECL.
8813 * integrate.c (copy_decl_for_inlining): Don't set RTL on decl's
8814 without RTL.
8815 * langhooks-def.h (LANG_HOOK_INIT_TS): New.
8816 * langhooks.h (init_ts). New langhook.
8817 * passes.c (rest_of_decl_compilation): Reverse order of tests.
8818 * print-tree.c (print_node): Update to only print fields that
8819 exist in the structures the passed decl has.
8820 * toplev.c (wrapup_global_declarations): Don't reset
8821 DECL_DEFER_OUTPUT on DECL's that don't contain it.
8822 * tree-browser.c (browse_tree): DECL_ARG_TYPE_AS_WRITTEN removed.
8823 * tree-inline.c (remap_decl): Ditto.
8824 * tree-outof-ssa.c (create_temp): Reverse order of tests.
8825 * tree-pretty-print.c (print_declaration): Don't print
8826 DECL_REGISTER on things that don't contain it.
8827 * tree-vrp.c (expr_computes_nonzero): Don't check weakness on
8828 non-var/function decls.
8829 * tree.c (tree_contains_struct): New structure.
8830 (init_priority_for_decl): New hashtable.
8831 (tree_int_map): New structure.
8832 (tree_int_map_eq): New function.
8833 (tree_int_map_marked_p): Ditto.
8834 (tree_int_map_hash): Ditto.
8835 (tree_map): Move to tree.h.
8836 (tree_map_eq): Externalize.
8837 (tree_map_hash): Ditto.
8838 (tree_map_marked_p): Ditto.
8839 (init_ttree): Set up tree_contains_struct and call langhook.
8840 (decl_assembler_name): Use DECL_NON_COMMON_CHECK..
8841 (tree_code_size): Update for new structures.
8842 (tree_node_structure): Update for new structures.
8843 (make_node_stat): Don't try to set DECL_IN_SYSTEM_HEADER on decls
8844 without the field.
8845 (copy_node_stat): Copy init priority.
8846 (build_decl_stat): Ditto for visibility.
8847 (ts_enum_names): New.
8848 (tree_contains_struct_check_failed): New function.
8849 (decl_init_priority_lookup): Ditto.
8850 (decl_init_priority_insert): Ditto.
8851 * treestruct.def: New file.
8852 * tree.h (CODE_CONTAINS_STRUCT): New macro.
8853 (CONTAINS_STRUCT_CHECK): Ditto.
8854 (tree_contains_struct_check_failed): New prototype.
8855 (DECL_CHECK): Removed.
8856 (DECL_MINIMAL_CHECK): New.
8857 (DECL_COMMON_CHECK): Ditto.
8858 (DECL_WRTL_CHECK): Ditto.
8859 (DECL_NON_COMMON_CHECK): Ditto.
8860 (DECL_WITH_VIS_CHECK): Ditto.
8861 (VAR_OR_FUNCTION_DECL_P): Ditto
8862 (struct tree_decl_minimal): New structure.
8863 (struct tree_decl_common): Ditto.
8864 (struct tree_decl_with_rtl): Ditto.
8865 (struct tree_decl_with_vis): Ditto.
8866 (struct tree_decl_non_common): Ditto.
8867 (struct tree_field_decl): Ditto.
8868 (struct tree_parm_decl): Ditto.
8869 (struct tree_var_decl): Ditto.
8870 (struct tree_function_decl): Ditto.
8871 (struct tree_const_decl): Ditto.
8872 (struct tree_result_decl): Ditto.
8873 (union tree_node): Add new structures.
8874 * var-tracking.c (track_expr_p): Reverse order of tests.
7904f95f 8875
820cc88f
DB
8876 * doc/c-tree.texi: Add documentation on DECL node internal structure.
8877
c249f608
KH
88782005-07-08 Kazu Hirata <kazu@codesourcery.com>
8879
8880 * cfgexpand.c (tree_expand_cfg): Don't use FINALIZE_PIC.
8881 * system.h: Poison FINALIZE_PIC.
8882 * doc/tm.texi (FINALIZE_PIC): Remove.
8883
52b27f98
AP
88842005-07-08 Andrew Pinski <pinskia@physics.uc.edu>
8885
8886 PR tree-opt/22329
8887 * tree-ssa-propagate.c (fold_predicate_in): Convert the value
8888 to the correct type if we have a MODIFY_EXPR.
8889
ea9a5df4
KH
88902005-07-08 Kazu Hirata <kazu@codesourcery.com>
8891
8892 PR tree-optimization/22360
8893 * tree.c (upper_bound_in_type): Fix calculations for casting
8894 to a non-wider signed type and casting a signed value to a
8895 wider unsigned type.
8896 (lower_bound_in_type): Fix calculations for casting to a
8897 non-wider signed type.
8898
1ff54bfb
KH
8899 PR tree-optimization/20139
8900 * tree-cfg.c (remove_bb): Check in_ssa_p before calling
8901 release_defs.
8902 * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call
8903 fold_cond_expr_cond.
8904 * tree-ssanames.c (release_defs): Assert in_ssa_p.
8905 * tree.c (upper_bound_in_type, lower_bound_in_type): Rewrite.
8906
d5c77941
AP
89072005-07-08 Andrew Pinski <pinskia@physics.uc.edu>
8908
8909 PR tree-opt/22356
8910 * tree-complex.c (expand_complex_libcall): Produce
8911 REALPART_EXPR/IMAGPART_EXPR with the correct type.
8912
08a3c5cd
KZ
89132005-07-08 Kenneth Zadeck <zadeck@naturalbridge.com>
8914
8915 * bitmap.c (bitmap_and, bitmap_and_into, bitmap_and_compl,
8916 bitmap_and_compl_into, bitmap_xor, bitmap_xor_into): Removed "a !=
8917 b" assert and inserted fastpath code for this case.
8918 (bitmap_ior): Removed "a != b" assert.
8919
29f9d52d
KI
89202005-07-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
8921
8922 * config/m32r/linux.h (STARTFILE_SPEC): Support PIE.
8923 (ENDFILE_SPEC): Likewise.
8924 * config/m32r/m32r.h (ASM_SPEC): Likewise.
8925
6a7b00ad
KI
8926 * config/m32r/m32r.c (m32r_output_function_epilogue): Care for
8927 a large stack frame at epilogue.
8928
ce82daed
DB
89292005-07-08 David Billinghurst <David.Billinghurst@riotinto.com>
8930
8931 * final.c: Include sdbout.h when required.
8932
ed5b9f96
GK
89332005-07-07 Geoffrey Keating <geoffk@apple.com>
8934
8935 * config.gcc (*-*-darwin*): Only one target-specific header file
8936 for generic darwin.
8937 (powerpc-*-darwin*): Add version-specific header files.
8938 * configure.in (gcc_AC_CHECK_DECLS): Add strverscmp.
8939 * config.in: Regenerate.
8940 * configure: Regenerate.
8941 * gcc.c: Include xregex.h.
8942 (version_compare_spec_function): New.
8943 (spec_function): Add version-compare.
8944 (replace_outfile_spec_function): Reformat comment.
8945 (compare_version_strings): New.
8946 * config/darwin-c.c (version_as_macro): New.
8947 (builtin_define): New.
8948 (darwin_cpp_builtins): New.
8949 * config/darwin-protos.h (darwin_cpp_builtins): New.
8950 * config/darwin.h (CPP_SPEC): Don't define APPLE_CC here.
8951 (LIB_SPEC): Make unconditional, update comment.
8952 (TARGET_C99_FUNCTIONS): Define.
8953 * config/darwin.opt: Sort.
8954 (mmacosx-version-min=): New.
8955 * config/darwin7.h: Delete.
8956 * config/darwin8.h: Delete.
8957 * config/i386/darwin.h (): Call darwin_cpp_builtins.
8958 * config/rs6000/darwin.h (): Call darwin_cpp_builtins.
8959 (TARGET_C99_FUNCTIONS): Define.
8960 * config/rs6000/darwin7.h: New.
8961 * config/rs6000/darwin8.h: New.
8962 * doc/invoke.texi (Darwin Options): Add -mmacosx-version-min=
8963 (-mmacosx-version-min): Document.
8964
5f7d2979
ILT
89652005-07-07 Ian Lance Taylor <ian@airs.com>
8966
8967 * config/mips/mips.md (abs<mode>2) [GPR]: Remove.
8968
94bb1a2d
JDA
89692005-07-07 John David Anglin <dave.anglin@nrc-crc.gc.ca>
8970
8971 PR middle-end/22239
8972 * loop.c (loop_givs_rescan): Check that v->new_reg is a REG.
8973
1a59548b
KR
89742005-07-07 Khem Raj <kraj@mvista.com>
8975
8976 * config/arm/arm.c (thumb_output_function_prologue): Calculate offset
8977 in bytes, not words.
8978
5a29b385
PB
89792005-07-07 Paul Brook <paul@codesourcery.com>
8980
8981 * config/arm/arm.c (arm_pad_arg_upward): Compare return value of
8982 DEFAULT_FUNCTION_ARG_PADDING to upward.
8983
c7e777b5
RH
89842005-07-07 Richard Henderson <rth@redhat.com>
8985
8986 * function.c (locate_and_pad_parm): Record parameter alignment in
8987 stack_alignment_needed.
8988
b52110d4
DE
89892005-07-07 David Edelsohn <edelsohn@gnu.org>
8990
8991 * config/rs6000/rs6000.md (UNSPEC_SYNC, UNSPEC_SYNC_OP,
8992 UNSPEC_SYNC_SWAP, UNSPEC_LWSYNC, UNSPEC_ISYNC): Delete.
8993 (UNSPECV_LL, UNSPECV_SC, UNSPECV_ATOMIC, UNSPECV_SYNC,
8994 UNSPECV_SYNC_OP, UNSPECV_CMPXCHG, UNSPECV_LWSYNC, UNSPECV_ISYNC): New.
8995 (define_attr "type"): Add isync, sync, load_l, store_c.
8996 * config/rs6000/sync.md (memory_barrier): Change to define_expand.
8997 Create scratch volatile MEM.
8998 (sync_internal): New. POWER mnemonic is dcs, not ics. Attribute
8999 sync.
9000 (load_locked_<mode>): New.
9001 (store_conditional_<mode>): New.
9002 (sync_compare_and_swap<mode>): Replace with splitter.
9003 (sync_lock_test_and_set<mode>): Replace with splitter.
9004 (sync_<fetchop><mode>): Change to unspec_volatile UNSPECV_SYNC_OP
9005 and UNSPECV_ISYNC.
9006 (isync): Change to unspec_volatile UNSPECV_ISYNC. POWER mnemonic
9007 is ics. Attribute isync.
9008 (lwsync): Change to unspec_volatile UNSPECV_LWSYNC. Attribute
9009 lwsync.
9010 * config/rs6000/rs6000.c (rs6000_emit_sync): Use UNSPEC_VOLATILE
9011 and UNSPECV_SYNC_OP.
9012 (emit_unlikely_jump): New.
9013 (emit_load_locked): New.
9014 (emit_store_conditional): New.
9015 (rs6000_split_compare_and_swap): New.
9016 (rs6000_split_lock_test_and_set): New.
9017 (is_dispatch_slot_restricted): Return 4 for TYPE_LOAD_L,
9018 TYPE_STORE_C, TYPE_ISYNC, TYPE_SYNC.
9019 * config/rs6000/rs6000-protos.h (rs6000_split_compare_and_swap,
9020 rs6000_split_lock_test_and_set): Declare.
9021 * config/rs6000/{40x.md,440.md,603.md,6xx.md,7450.md,7xx.md,8540.md,
9022 mpc.md,power4.md,power5.md,rios1.md,rios2.md,rs64.md): Add load_l,
9023 store_c, isync, sync.
9024
2f035a33
KC
90252005-07-07 Kelley Cook <kcook@gcc.gnu.org>
9026
9027 * Makefile.in (echo_quoted_to_gtyp): New template for outputing
9028 filenames to gtyp-gen.h.
9029 (s-typ-gen): Use it in place of for loops.
9030
8ddf681a
R
90312005-07-07 J"orn Rennecke <joern.rennecke@st.com>
9032
9033 * hooks.c (hook_bool_rtx_int_false): New function.
9034 * hooks.h (hook_bool_rtx_int_false): Declare.
9035 * target-def.h (TARGET_COMMUTATIVE_P): Define.
9036 (TARGET_INITIALIZER): Add TARGET_COMMUTATIVE_P.
9037 * target.h (struct gcc_target): Add commutative_p member.
9038 * targhooks.c (hook_bool_rtx_commutative_p): New function.
9039 * targhooks.h (hook_bool_rtx_commutative_p): Declare.
9040 * pa.c (TARGET_COMMUTATIVE_P): Redefine.
9041 (pa_commutative_p): New function.
9042 * jump.c (target.h): Include.
9043 (rtx_renumbered_equal_p): Use targetm.commutative_p.
9044 * doc/tm.texi: Document TARGET_COMMUTATIVE_P.
9045
6d057022
AS
90462005-07-07 Adrian Straetling <straetling@de.ibm.com>
9047
9048 * config/s390/s390-protos.h (s390_expand_clrmem): Delete.
9049 (s390_expand_setmem): New.
7904f95f 9050 * config/s390/s390.c: Likewise.
6d057022
AS
9051 (print_shift_count_operand): Truncate to 12 bits instead of 6.
9052 Adapt comments.
9053 * config/s390/s390.md: ("setmem<mode>"): Accept character as
9054 general_operand. Call new function "s390_expand_setmem".
9055 ("clrmem_long", "*clrmem_long"): Rewrite to ...
9056 ("setmem_long", "*setmem_long"): ... this.
9057
8daf098e 90582005-07-07 Adrian Straetling <straetling@de.ibm.com>
7904f95f 9059
8daf098e
AS
9060 * config/s390/s390.c: (optimization_options): Enable
9061 TARGET_MVCLE at -Os.
9062 * doc/invoke.texi: Document changes in default behaviour.
9063 * config/s390/s390.opt: ("mvcle"): Fix typo: is "mmvcle".
9064
9ed92901
AS
90652005-07-07 Adrian Straetling <straetling@de.ibm.com>
9066
9067 * expr.c: (set_storage_via_setmem): Convert opchar to mode
9068 defined by back-end.
9069
41f12ed0
JJ
90702005-07-07 Jakub Jelinek <jakub@redhat.com>
9071
9072 * config/sparc/sparc.md (stack_protect_testsi): Put clobbers after
9073 all sets in the pattern.
9074 * config/rs6000/rs6000.md (stack_protect_testsi,
9075 stack_protect_testdi): Likewise.
9076
1a557723
JL
90772005-07-06 Jeff Law <law@redhat.com>
9078
9079 * tree-vrp.c (simplify_using_ranges): Kill.
9080 (vrp_finalize): Remove call to simplify_using_ranges.
9081 (simplify_stmt_using_ranges): New function extracted from
9082 simplify_using_ranges.
9083 (simplify_div_or_mod_using_ranges): Likewise.
9084 (simplify_abs_using_ranges): Likewise.
9085 (simplify_cond_using_ranges): New function.
9086 * tree-flow.h (simplify_stmt_using_ranges): Prototype.
9087 * tree-ssa-propagate.c (substitute_and_fold): Call
9088 simplify_stmt_using_ranges if we have range information.
9089
1ad159f9
JW
90902005-07-06 James E. Wilson <wilson@specifixinc.com>
9091
ae4d3291
JW
9092 * config/ia64/ia64.c (ia64_reorg): Check optimize before
9093 ia64_flag_schedule_isns2.
9094
9095 * config/ia64/ia64.c (ia64_expand_movxf_movrf): Don't word swap when
9096 reading/writing general registers.
9097 (ia64_function_arg): Revert 2005-06-18 change.
1ad159f9 9098
06ae7eb1
JDA
90992005-07-06 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
9100
9101 * pa.c (legitimize_pic_address): Use gcc_assert instead of abort.
9102 (legitimize_tls_address): Use gcc_unreachable instead of abort.
9103
0b59e81e
KK
91042005-07-06 Kaz Kojima <kkojima@gcc.gnu.org>
9105
9106 * function.c (expand_function_end): Revert part of 2005-06-27
9107 patch. Do sjlj_emit_function_exit_after after return_label.
9108
ef0087a7
KH
91092005-07-06 Kazu Hirata <kazu@codesourcery.com>
9110
9111 * doc/install.texi (--disable-libssp): New.
9112
1d8eeb63
FJ
91132005-07-06 Fariborz Jahanian <fjahanian@apple.com>
9114
86979811 9115 * doc/invoke.texi: Update -fforce-mem documentation.
7904f95f 9116 * dojump.c (compare_from_rtx,do_compare_rtx_and_jump): Remove
86979811
SB
9117 code for -fforce-mem.
9118 * expmed.c: (store_bit_field,store_fixed_bit_field,
9119 extract_bit_field): Ditto.
9120 * expr.c: (convert_move): Ditto.
9121 * optabs.c: (expand_binop,expand_twoval_unop,expand_twoval_binop,
9122 expand_unop,emit_unop_insn,prepare_cmp_insn,emit_conditional_move,
9123 emit_conditional_add,expand_float,expand_fix): Ditto.
9124 * opts.c: (decode_options): Remove setting of flag_force_mem flag.
9125 (common_handle_option): Issue warning when -fforce-mem specified.
1d8eeb63 9126
c42adccb
PB
91272005-07-06 Paul Brook <paul@codesourcery.com>
9128
9129 * aclocal.m4: Work around a bug in AC_PATH_PROGS when its last
9130 argument is empty.
9131 * configure: Regenerate.
9132
4b7d2f07
R
91332005-07-06 J"orn Rennecke <joern.rennecke@st.com>
9134
9135 * sh.c (final_prescan_insn): Undo bogus change from 2005-05-09.
9136
4e422b8b
DB
91372005-07-06 Daniel Berlin <dberlin@dberlin.org>
9138
9139 Fix PR tree-optimization/22319
9140 Fix PR tree-optimization/22140
9141 Fix PR tree-optimization/22310
9142
9143 * tree-ssa-structalias.c (do_structure_copy): Give up earlier on
9144 variable sized types.
9145 Use correct type for intermediate structure on *a = *b structure
9146 copies.
7904f95f 9147
5b667039
JJ
91482005-07-06 Jakub Jelinek <jakub@redhat.com>
9149
9150 * config/rs6000/rs6000.h (RS6000_VARARGS_AREA, RS6000_VARARGS_SIZE):
9151 Remove.
9152 (STARTING_FRAME_OFFSET): Don't add RS6000_VARARGS_AREA.
9153 (machine_function): Move typedef to...
9154 * config/rs6000/rs6000.c (machine_function): ... here. Add
9155 varargs_save_offset field.
9156 (rs6000_stack_t): Remove varargs_size field.
9157 (setup_incoming_varargs): Allocate varargs save area using
9158 assign_stack_local, try to make it as small as possible.
9159 Save offset from virtual_stack_vars_rtx to the save area
9160 in cfun->machine->varargs_save_offset. Use UNITS_PER_FP_WORD
9161 instead of magic 8 when fp word byte size is used.
9162 (rs6000_va_start): Use cfun->machine->varargs_save_offset
9163 instead of -RS6000_VARARGS_SIZE.
9164 (rs6000_stack_info, debug_stack_info,
9165 rs6000_initial_elimination_offset): Remove all traces of
9166 varargs_size.
9167 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Remove.
9168 * config/rs6000/darwin.h (STARTING_FRAME_OFFSET): Don't add
9169 RS6000_VARARGS_AREA.
9170
c456a94a
ZD
91712005-07-06 Zdenek Dvorak <dvorakz@suse.cz>
9172
9173 PR tree-optimization/21963
9174 * tree-ssa-loop-ivopts.c (get_computation_aff): Use
9175 constant_multiple_of in the same way get_computation_cost_at does.
9176
8ec11fe9
JJ
91772005-07-06 Jakub Jelinek <jakub@redhat.com>
9178
9179 * config/sparc/sparc.h (sparc_compare_emitted): New extern.
9180 * config/sparc/sparc.c (sparc_compare_emitted): New variable.
9181 (gen_compare_reg): If sparc_compare_emitted is set, clear it
9182 and return its previous value.
9183 (emit_v9_brxx_insn): Assert sparc_compare_emitted is NULL.
9184 * config/sparc/sparc.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New
9185 constants.
9186 (stack_protect_set, stack_protect_test): New expanders.
9187 (stack_protect_setsi, stack_protect_setdi, stack_protect_testsi,
9188 stack_protect_testdi): New insns.
9189 * config/sparc/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
9190 * config/sparc/linux64.h (TARGET_THREAD_SSP_OFFSET): Define.
9191
9da4058c
JL
91922005-07-06 Jeff Law <law@redhat.com>
9193
9194 * tree-ssa-dce.c (cfg_altered): New global.
9195 (tree_dce_init): Initialize cfg_altered.
9196 (remove_dead_stmt): If we remove an edge in the CFG, then set
9197 CFG_ALTERED.
9198 (perform_tree_ssa_dce): If we altered the CFG, then invalidate
9199 the dominators.
9200
1538fc3c
KH
92012005-07-06 Kazu Hirata <kazu@codesourcery.com>
9202
9203 * Makefile.in (stamp-collect-ld): Use
9204 $(ORIGINAL_LD_FOR_TARGET) instead of $<. Don't remove
9205 ./collect-ld if it already exists.
9206 (stamp-nm): Use $(ORIGINAL_NM_FOR_TARGET) instead of $<.
9207 Don't remove ./nm if it already exists.
9208
00518cb1
DP
92092005-07-05 Devang Patel <dpatel@apple.com>
9210
9211 * tree-vectorizer.h (struct _loop_vec_info): Remove loop_line_number.
9212 (LOOP_VINFO_LOC, LOOP_LOC): Remove.
9213 * tree-vectorizer.c (vect_loop_location): New.
9214 (vect_print_dump_info): Use vect_loop_location.
9215 (new_loop_vec_info): Do not set LOOP_VINFO_LOC.
9216 (vectorize_loops): Set vect_loop_location.
7904f95f 9217 * tree-vect-analyze.c (vect_analyze_offset_expr,
00518cb1
DP
9218 vect_determin_vectorization_factor, vect_analyze_operations,
9219 vect_analyze_scalar_cycles, vect_analyze_data_ref_dependence,
9220 vect_analyze_data_ref_dependences, vect_compute_data_ref_alignment,
9221 vect_analyze_data_refs_alignment, vect_analyze_data_ref_access,
9222 vect_analyze_data_ref_accesses, vect_analyze_pointer_ref_access,
9223 vect_object_analysis, vect_analyze_data_refs, vect_mark_relevant,
9224 vect_stmt_relevant_p, vect_mark_stmts_to_be_vectorized,
9225 vect_can_advance_ivs_p, vect_get_loop_niters, vect_analyze_loop_form,
9226 vect_analyze_loop): Adjust vect_print_dump_info API.
9227 * tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
9228 vect_create_data_ref_ptr, vect_init_vector, vect_get_vec_def_for_operand,
7904f95f
EC
9229 vect_finish_stmt_generation, vectorizable_assignment,
9230 vectorizable_operation, vectorizable_store, vectorizable_load,
00518cb1
DP
9231 vectorizable_live_operation, vectorizable_condition, vect_transform_stmt,
9232 vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound,
9233 vect_gen_ninters_for_prolog_loop, vect_do_peeling_for_alignment,
9234 vect_transform_loop): Same.
9235 * tree-vectorizer.c (get_vectype_for_scalar_type, vect_is_simple_use,
9236 vect_is_simple_reduction, vect_is_simple_iv_evolution, vectorize_loops):
9237 Same.
9238
51076f96
RC
92392005-07-05 Randolph Chung <tausq@debian.org>
9240
9241 * configure.ac (hppa*-*-linux*: Check for a TLS capable gas.
9242 * configure: Regenerate.
9243 * config/pa/pa-protos.h (tls_symbolic_operand): Declare.
9244 (pa_tls_referenced_p): Declare.
9245 * config/pa/pa.c (legitimize_pic_address): Reject TLS operands.
9246 (gen_tls_tga, gen_tls_get_addr, hppa_tls_call): New.
9247 (legitimize_tls_address): New.
9248 (hppa_legitimize_address): Handle TLS addresses.
9249 (pa_tls_symbol_ref_1, pa_tls_referenced_p): New.
9250 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
9251 (emit_move_sequence): Handle TLS addresses.
7904f95f 9252 (pa_encode_section_info): Call default handler to handle common
51076f96
RC
9253 sections.
9254 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): New.
9255 (CONSTANT_ADDRESS_P): Reject TLS operands.
9256 (TARGET_HAVE_TLS) [HAVE_AS_TLS]: Define.
9257 * config/pa/pa.md (UNSPEC_TP, UNSPEC_TLSGD, UNSPEC_TLSLDM)
9258 (UNSPEC_TLSLDO, UNSPEC_TLSLDBASE, UNSPEC_TLSIE)
7904f95f 9259 (UNSPEC_TLSLE): Define new constants.
51076f96
RC
9260 (tgd_load, tld_load, tld_offset_load, tp_load, tie_load, tle_load): New.
9261 * config/pa/predicates.md (symbolic_operand): Reject TLS operands.
9262 (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand)
9263 (tie_symbolic_operand, tle_symbolic_operand): New
9264
f04f1d2c
KC
92652005-07-06 Kelley Cook <kcook@gcc.gnu.org>
9266
9267 * aclocal.m4: Update macros for autoconf 2.59 style.
9268 * configure.ac: Likewise.
9269
2a04824b
JDA
92702005-07-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9271
9272 * pa.c (function_value): Handle small aggregates on 32-bit targets.
9273 (function_arg): Pass small aggregates in general registers on 32-bit
9274 targets.
9275 * som.h (MEMBER_TYPE_FORCES_BLK): Delete define.
9276
83522e18
AP
92772005-07-05 Andrew Pinski <pinskia@physics.uc.edu>
9278
9279 * Makefile.in (final.o): Fix dependencies.
9280
73f397d4
JM
92812005-07-05 Joseph S. Myers <joseph@codesourcery.com>
9282
9283 PR c/22013
9284 PR c/22098
9285 * langhooks.h (struct lang_hooks): Add expr_to_decl.
9286 * langhooks.c (lhd_expr_to_decl): New.
9287 * langhooks-def.h (lhd_expr_to_decl, LANG_HOOKS_EXPR_TO_DECL):
9288 New.
9289 (LANG_HOOKS_INITIALIZER): Update.
9290 * tree.c (recompute_tree_invarant_for_addr_expr): Call
9291 expr_to_decl langhook.
9292 * c-tree.h (c_expr_to_decl): Declare.
9293 * c-typeck.c (c_expr_to_decl): New.
9294 (build_unary_op): Do not handle ADDR_EXPR of COMPOUND_LITERAL_EXPR
9295 specially.
9296 * c-objc-common.h (LANG_HOOKS_EXPR_TO_DECL): Define.
9297
692a7aa3
JM
92982005-07-05 Joseph S. Myers <joseph@codesourcery.com>
9299
9300 PR c/22308
9301 * c-decl.c (finish_struct): Also copy C_TYPE_FIELDS_READONLY,
9302 C_TYPE_FIELDS_VOLATILE and C_TYPE_VARIABLE_SIZE to type variants.
9303
ef330312
PB
93042005-07-05 Paolo Bonzini <bonzini@gnu.org>
9305
9306 * Makefile.in: Adjust dependencies.
9307 * tree-pass.h: Add new passes and passes formerly in tree-optimize.c.
9308 * basic-block.h (duplicate_computed_gotos): Remove, it is now static.
9309 * alias.c (rest_of_handle_cfg, pass_cfg): New.
9310 * bb-reorder.c (duplicate_computed_gotos): Make it static.
9311 * cfgexpand.c (tree_expand_cfg): Add code formerly at the beginning of
9312 rest_of_compilation.
9313
9314 * bb-reorder.c (gate_duplicate_computed_gotos,
9315 pass_duplicate_computed_gotos, gate_handle_reorder_blocks,
9316 rest_of_handle_reorder_blocks, pass_reorder_blocks,
9317 gate_handle_partition_blocks, rest_of_handle_partition_blocks,
9318 pass_partition_blocks): New.
9319 * bt-load.c (gate_handle_branch_target_load_optimize,
9320 rest_of_handle_branch_target_load_optimize,
9321 pass_branch_target_load_optimize): New.
9322 * cfgcleanup.c (rest_of_handle_jump, pass_jump, rest_of_handle_jump2,
9323 pass_jump2): New.
9324 * cfglayout.c (pass_insn_locators_initialize): New.
9325 * cfgrtl.c (pass_free_cfg): New.
9326 * combine.c (gate_handle_combine, rest_of_handle_combine,
9327 pass_combine): New.
9328 * cse.c (gate_handle_cse, rest_of_handle_cse, pass_cse,
9329 gate_handle_cse2, rest_of_handle_cse2, pass_cse2): New.
9330 * emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes): New.
9331 * except.c (pass_set_nothrow_function_flags,
9332 pass_convert_to_eh_region_ranges, gate_handle_eh, rest_of_handle_eh,
9333 pass_rtl_eh): New.
9334 * final.c (pass_compute_alignments, rest_of_handle_final, pass_final,
9335 rest_of_handle_shorten_branches, pass_shorten_branches,
9336 rest_of_clean_state, pass_clean_state): New.
9337 * flow.c (pass_recompute_reg_usage, gate_remove_death_notes,
9338 rest_of_handle_remove_death_notes, pass_remove_death_notes,
9339 rest_of_handle_life, pass_life, rest_of_handle_flow2,
9340 pass_flow2): New.
9341 * function.c (pass_instantiate_virtual_regs, pass_init_function,
9342 rest_of_handle_check_leaf_regs, pass_leaf_regs): New.
9343 * gcse.c (gate_handle_jump_bypass, rest_of_handle_jump_bypass,
9344 pass_jump_bypass, gate_handle_gcse, rest_of_handle_gcse,
9345 pass_gcse): New.
9346 * global.c (rest_of_handle_global_alloc, pass_global_alloc): New.
9347 * ifcvt.c (gate_handle_if_conversion, rest_of_handle_if_conversion,
9348 pass_rtl_ifcvt, gate_handle_if_after_combine,
9349 rest_of_handle_if_after_combine, pass_if_after_combine,
9350 gate_handle_if_after_reload, rest_of_handle_if_after_reload,
9351 pass_if_after_reload): New.
9352 * integrate.c (pass_initial_value_sets): New.
9353 * jump.c (pass_cleanup_barriers, purge_line_number_notes,
9354 pass_purge_lineno_notes): New.
9355 * mode-switching.c (rest_of_handle_mode_switching,
9356 pass_mode_switching): New.
9357 * local-alloc.c (rest_of_handle_local_alloc, pass_local_alloc): New.
9358 * loop-init.c (gate_handle_loop2, rest_of_handle_loop2,
9359 pass_loop2): New.
9360 * loop.c (gate_handle_loop_optimize, rest_of_handle_loop_optimize,
9361 pass_loop_optimize): New.
9362 * modulo-sched.c (gate_handle_sms, rest_of_handle_sms,
9363 pass_sms): New.
9364 * postreload-gcse.c (gate_handle_gcse2, rest_of_handle_gcse2,
9365 pass_gcse2): New.
9366 * postreload.c (gate_handle_postreload, rest_of_handle_postreload,
9367 pass_postreload_cse): New.
9368 * profile.c (gate_handle_profiling, pass_profiling,
9369 rest_of_handle_branch_prob, pass_branch_prob): New.
7904f95f 9370 * recog.c (pass pass_split_for_shorten_branches, gate_do_final_split,
ef330312
PB
9371 pass_split_before_regstack, gate_handle_split_before_regstack,
9372 gate_handle_peephole2, rest_of_handle_peephole2, pass_peephole2,
9373 rest_of_handle_split_all_insns, pass_split_all_insns): New.
9374 * reg-stack.c (gate_handle_stack_regs, rest_of_handle_stack_regs,
9375 pass_stack_regs): New.
9376 * regmove.c (gate_handle_regmove, rest_of_handle_regmove, pass_regmove,
9377 gate_handle_stack_adjustments, rest_of_handle_stack_adjustments,
9378 pass_stack_adjustments): New.
9379 * regrename.c (gate_handle_regrename, rest_of_handle_regrename,
9380 pass_regrename): New.
9381 * reorg.c (gate_handle_delay_slots, rest_of_handle_delay_slots,
9382 pass_delay_slots, gate_handle_machine_reorg,
9383 rest_of_handle_machine_reorg, pass_machine_reorg): New.
9384 * rtl.h (extern void purge_line_number_notes): New.
9385 * sched-rgn.c (gate_handle_sched, rest_of_handle_sched,
9386 gate_handle_sched2, rest_of_handle_sched2, pass_sched,
9387 pass_sched2): New.
9388 * tracer.c (gate_handle_tracer, rest_of_handle_tracer,
9389 pass_tracer): New.
9390 * value-prof.c (gate_handle_value_profile_transformations,
9391 rest_of_handle_value_profile_transformations,
9392 pass_value_profile_transformations): New.
9393 * var-tracking.c (gate_handle_var_tracking,
9394 pass_variable_tracking): New.
9395 * web.c (gate_handle_web, rest_of_handle_web, pass_web): New.
9396
9397 * passes.c (open_dump_file, close_dump_file, rest_of_handle_final,
9398 rest_of_handle_delay_slots, rest_of_handle_stack_regs,
9399 rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
9400 rest_of_handle_old_regalloc, rest_of_handle_regrename,
9401 rest_of_handle_reorder_blocks, rest_of_handle_partition_blocks,
9402 rest_of_handle_sms, rest_of_handle_sched, rest_of_handle_sched2,
9403 rest_of_handle_gcse2, rest_of_handle_regmove,
9404 rest_of_handle_tracer, rest_of_handle_if_conversion,
9405 rest_of_handle_if_after_combine, rest_of_handle_if_after_reload,
9406 rest_of_handle_web, rest_of_handle_branch_prob,
9407 rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
9408 rest_of_handle_jump_bypass, rest_of_handle_combine,
9409 rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
9410 rest_of_handle_gcse, rest_of_handle_loop_optimize,
9411 rest_of_handle_loop2, rest_of_handle_branch_target_load_optimize,
9412 rest_of_handle_mode_switching, rest_of_handle_jump,
9413 rest_of_handle_eh, rest_of_handle_stack_adjustments,
9414 rest_of_handle_flow2, rest_of_handle_jump2,
9415 rest_of_handle_peephole2, rest_of_handle_postreload,
9416 rest_of_handle_shorten_branches, rest_of_clean_state,
9417 rest_of_compilation): Remove.
9418
9419 * cgraphunit.c (ipa_passes): Moved from tree-optimize.c.
9420 * passes.c (dump_flags, in_gimple_form, all_passes,
9421 all_ipa_passes, all_lowering_passes, register_one_dump_file,
9422 register_dump_files, next_pass_1, last_verified, execute_todo,
9423 execute_one_pass, execute_pass_list, execute_ipa_pass_list): Moved
9424 from tree-optimize.c.
9425 (init_optimization_passes): Moved from tree-optimize.c,
9426 adding the RTL optimizations.
9427 * tree-dump.h (dump_info_p, dump_flag): Moved from tree.h.
9428 * tree-optimize.c (dump_flags, in_gimple_form, all_passes,
9429 all_ipa_passes, all_lowering_passes, register_one_dump_file,
9430 register_dump_files, next_pass_1, last_verified, execute_todo,
9431 execute_one_pass, execute_pass_list, execute_ipa_pass_list,
9432 init_tree_optimization_passes, ipa_passes): Delete.
9433 * tree-pass.h (enum tree_dump_index): Moved from tree.h, removing
9434 the RTL dumps.
9435 (TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p,
9436 dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name): Moved
9437 from tree.h.
9438 (ipa_passes): Remove.
9439 (all_passes, all_ipa_passes, all_lowering_passes): Now extern.
9440 * tree.h (enum tree_dump_index, TDF_*, get_dump_file_name,
9441 dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node,
9442 dump_switch_p, dump_flag_name): Moved to tree-pass.h.
9443 (dump_info_p, dump_flag): Moved to tree-dump.h.
7904f95f 9444
ef330312
PB
9445 * Makefile.in: Adjust dependencies for tree-pretty-print.c,
9446 cgraph.c, opts.c.
9447 * passes.c (finish_optimization_passes): Use dump_begin
9448 and dump_end, TDI_end.
9449 (gate_rest_of_compilation): New.
9450 (pass_rest_of_compilation): Use it.
9451 (gate_postreload, pass_postreload): New.
9452 * toplev.c (general_init): Rename init_tree_optimization_passes.
9453 * toplev.h (init_tree_optimization_passes): Rename to
9454 init_optimizations_passes.
9455 * tree-dump.c (dump_flag): Make static.
9456 (dump_files): Remove RTL dumps.
9457 * tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
9458 pass_cleanup_cfg, pass_free_cfg_annotations,
9459 pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
9460 pass_init_datastructures, pass_fixup_cfg): Make non-static.
9461 * tree-pretty-print.c: Include tree-pass.h.
9462 * cgraph.c: Include tree-dump.h.
7904f95f 9463
47bcb538
DB
94642005-07-04 Daniel Berlin <dberlin@dberlin.org>
9465
9466 * tree-ssa-structalias.c (get_constraint_exp_from_ssa_var):
9467 Only fall back to saying it points to readonly memory if
9468 we can't do better.
9469
cdc9bfe6
KI
94702005-07-05 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
9471
9472 * config/m32r/m32r-protos.h: Remove m32r_finalize_pic.
9473 * config/m32r/m32r.c (m32r_compute_frame_size,
9474 m32r_expand_prologue): Take current_function_profile into
9475 account whenever we reference
9476 current_function_uses_pic_offset_table.
9477 (m32r_finalize_pic): Remove.
9478 * config/m32r/m32r.h (FINALIZE_PIC): Likewise.
9479
96f52752 94802005-07-05 Kazu Hirata <kazu@codesourcery.com>
e21ba931
KH
9481
9482 * Makefile.in (stamp-as): Use $(ORIGINAL_AS_FOR_TARGET)
9483 instead of $<. Don't remove ./as if it already exists.
9484
47971fa7
JDA
94852005-07-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9486
9487 PR target/21723
9488 * pa.md: Remove fcpy alternative from movhi and movqi patterns.
9489 * pa32-regs.h (HARD_REGNO_NREGS): Return two floating point registers
9490 for complex modes when generating code for PA 1.0.
9491 (VALID_FP_MODE_P): New macro.
9492 (HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P. Use non-overlapping register
9493 sets for all general and floating point modes. Align wide floating
9494 point modes to even register boundaries to comply with architectural
9495 requirements.
9496 (CLASS_MAX_NREGS): Update to align with change to HARD_REGNO_NREGS.
9497 * pa64-regs.h (HARD_REGNO_NREGS): Update comment and formatting.
9498 (VALID_FP_MODE_P): New macro.
9499 (HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P. Use non-overlapping register
9500 sets for all general and floating point modes. Align wide floating
9501 point modes to even register boundaries to comply with architectural
9502 requirements.
9503
f94ac7b6
DN
95042005-07-04 Diego Novillo <dnovillo@redhat.com>
9505
9506 * tree-dump.c (dump_files): Initialize dump number for .cgraph
9507 to 0.
9508
4e89ef6b
DN
95092005-07-04 Diego Novillo <dnovillo@redhat.com>
9510
9511 * tree-ssa-structalias.c: Don't include expr.h.
9512
00b847e3
DN
95132005-07-04 Diego Novillo <dnovillo@redhat.com>
9514
9515 * tree-iterator.h (TSI_NEW_STMT, TSI_SAME_STMT): Fix
9516 comments.
9517
2238c11d
DB
95182005-07-04 Daniel Berlin <dberlin@dberlin.org>
9519
9520 Fix PR tree-optimization/22279
7904f95f 9521
2238c11d
DB
9522 * tree-ssa-structalias.c (offset_overlaps_with_access): Use
9523 correct operator.
7904f95f 9524
9fd0c419
R
95252005-07-04 J"orn Rennecke <joern.rennecke@st.com>
9526
9527 * sh.c (output_ieee_ccmpeq): Replace "\\;" with "\n\t".
9528
ab532386
JM
95292005-07-03 Joseph S. Myers <joseph@codesourcery.com>
9530
9531 * bb-reorder.c, c-pch.c, c-pragma.c, c.opt, cfghooks.c, cfgloop.c,
9532 cfgrtl.c, cgraphunit.c, config/c4x/c4x.c, config/cris/cris.c,
9533 config/frv/frv.c, config/host-darwin.c, config/iq2000/iq2000.c,
9534 config/lynx.h, config/m68k/m68k.c, config/pa/pa.c, config/sh/sh.h,
9535 config/stormy16/stormy16.c, config/v850/v850.c,
9536 config/vax/netbsd-elf.h, coverage.c, dwarf2out.c, emit-rtl.c,
9537 except.c, gcc.c, tree-cfg.c, tree-eh.c, tree-ssa.c, xcoffout.c:
9538 Avoid "." or "\n" at end of diagnostics and capital letters at
9539 start of diagnostics.
9540 * combine.c, cse.c: Don't translate dump file output.
9541 * toplev.c (print_version): Only translate output if going to
9542 stderr.
9543
619519c8
KH
95442005-07-03 Kazu Hirata <kazu@codesourcery.com>
9545
9546 * c-decl.c, tree-object-size.c, tree-vectorizer.c,
9547 config/arm/unwind-arm.c, config/arm/unwind-arm.h: Fix comment
9548 typos.
9549
419df6a2
JDA
95502005-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9551
9552 * pa.c (fix_range): Fix typo in comment.
9553
184afc23
KH
95542005-07-03 Kazu Hirata <kazu@codesourcery.com>
9555
9556 * tree-vrp.c (extract_range_from_assert): Replace
9557 fold (build (...)) with fold_build2.
9558
0ce0154c
KG
95592005-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9560
9561 * c-format.c (gcc_gfc_format_type, gcc_gfc_flag_pairs,
9562 gcc_gfc_char_table, init_dynamic_gfc_info): New.
9563 (format_types_orig, handle_format_attribute): Add support for
9564 format "gcc_gfc".
9565
4c5bc6f8
GDR
95662005-07-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
9567
9568 * varasm.c (assemble_variable): Fix format specifier thinko.
9569
7adaa46c
IR
95702005-07-03 Ira Rosen <irar@il.ibm.com>
9571
9572 PR tree-optimization/22029 (and 22135)
9573 * tree-pretty-print.c (dump_generic_node): Check that the node is not
9574 a phi node before calling dump_vops.
9575
1966af04
GDR
95762005-07-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
9577
9578 * tree-dump.h (dump_string_field): Declare.
9579 * tree-dump.c: Use it instead of dump_string.
9580 (dump_string_field): Make non-static.
9581
384a8760
KK
95822005-07-03 Kaz Kojima <kkojima@gcc.gnu.org>
9583
9584 * config/sh/sh.c (sh_output_mi_thunk): Initialize and clean
9585 up the minimal CFG stuff always when optimize > 0. Call
9586 split_all_insns_noflow in PIC case if needed.
9587
7f3b2bda 95882005-07-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
86979811 9589 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
7f3b2bda
GDR
9590
9591 PR c++/18279
9592 * c-decl.c (c_write_global_declarations): Dump contents of
9593 external scope to.
9594 * tree-dump.c (dequeue_and_dump): Dump abstract origin of a decl.
9595 <TRY_FINALLY_EXPR>, <RETURN_EXPR>, <CASE_LABEL_EXPR>, <LABEL_EXPR>,
9596 <GOTO_EXPR>, <SWITCH_EXPR>: Add.
9597 (dump_enabled_p): Return TRUE if PHASE is TDI_all and any dump
9598 is enabled.
7904f95f 9599
ea40ba9c
JM
96002005-07-03 Joseph S. Myers <joseph@codesourcery.com>
9601
9602 * c-common.h (GCC_DIAG_STYLE): Define.
9603 * c-tree.h (GCC_DIAG_STYLE): Do not define. Change minimum GCC
9604 version for format checking to 4.1.
9605 * c-format.c: Include toplev.h after c-common.h.
9606 (enum format_type): Add gcc_tdiag_format_type.
9607 (gcc_tdiag_length_specs, gcc_tdiag_flag_pairs,
9608 gcc_tdiag_flag_specs, gcc_tdiag_char_table): New.
9609 (format_types_orig): Add gcc_tdiag.
9610 (init_dynamic_diag_info): Support gcc_tdiag formats.
9611 (handle_format_attribute): Likewise.
9612 * toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Remove.
9613 (GCC_DIAG_STYLE): Default to __gcc_tdiag__. Change minimum GCC
9614 version for format checking to 4.1.
9615 (warning0, warning, error, pedwarn, sorry): Use
9616 ATTRIBUTE_GCC_DIAG.
9617 * config/rs6000/rs6000.c (altivec_expand_builtin), varasm.c
9618 (finish_aliases_1): Do not use %qE.
9619 * config/arm/arm.c, config/i386/i386.c, config/mmix/mmix.c,
9620 config/pdp11/pdp11.c, stor-layout.c, tree-eh.c, tree-ssa.c:
9621 Correct format bugs.
9622 * config/v850/v850-protos.h (v850_output_aligned_bss): Change size
9623 parameter to unsigned HOST_WIDE_INT.
9624 * config/v850/v850.c (v850_output_aligned_bss): Likewise.
9625
7a31c801
DE
96262005-07-02 David Edelsohn <edelsohn@gnu.org>
9627
9628 PR middle-end/21742
9629 * expr.c (write_complex_part): Use adjust_address for MEM.
9630 (read_complex_part): Same.
9631
5f013fd0
DB
96322005-07-02 Daniel Berlin <dberlin@dberlin.org>
9633
9634 Fix PR tree-optimization/22280
9635
9636 * tree-sra.c (generate_element_init): Remove useless loop.
9637
6cb718e4
RH
96382005-07-02 Richard Henderson <rth@redhat.com>
9639
5b667039
JJ
9640 * config/alpha/alpha.c (alpha_legitimize_address): Check for
9641 TLS_MODEL_NONE.
9642 (alpha_stdarg_optimize_hook): Use DECL_UID with va_list_vars.
6cb718e4 9643
70a9e64b
AP
96442005-07-02 Andrew Pinski <pinskia@physics.uc.edu>
9645
9646 PR middle-end/14490
9647 * fold-const.c (fold_binary): Handle the return value of
9648 fold_to_nonsharp_ineq_using_bound if we get back the same operand back.
9649 Implement "X +- C1 CMP C2" folding to "X CMP C2 -+ C1".
9650
2d0dab7f
JL
96512005-07-02 Jeff Law <law@redhat.com>
9652
9653 * tree-ssa-dom.c (find_equivalent_equality_comparison): Do not
9654 a eliminate type conversion which feeds an equality comparison
9655 if the original type or either operand in the comparison is a
9656 function pointer.
9657
c85ce869
JM
96582005-07-02 Joseph S. Myers <joseph@codesourcery.com>
9659
9660 * c.opt, common.opt, config/bfin/bfin.opt, config/pa/pa.opt,
9661 config/rs6000/rs6000.opt, params.def: Remove "." from end of help
9662 texts.
9663 * config/avr/avr.c: Do not use '`' as left quote.
9664 * config/rs6000/rs6000.c, config/s390/s390.c, opts.c, tree.c:
9665 Remove "." from end of diagnostics. Make diagnostics start with
9666 lowercase letter.
9667
dee15844 96682005-07-02 Zack Weinberg <zack@codesourcery.com>
86979811 9669 Joseph S. Myers <joseph@codesourcery.com>
dee15844
JM
9670
9671 * toplev.c (default_tree_printer): Handle setting location with
9672 '+' flag.
9673 * c-objc.common.c (c_tree_printer): Likewise.
9674 * c-format.c (gcc_diag_flag_specs): Add '+'.
9675 (gcc_cdiag_char_table): Allow '+' flag for tree formats.
9676 (format_types_orig): Allow '+' flag for gcc_diag and gcc_cdiag
9677 formats.
9678 * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c,
9679 config/arm/pe.c, config/i386/winnt.c, config/ia64/ia64.c,
9680 config/mcore/mcore.c, config/sh/symbian.c, config/sol2.c,
9681 config/v850/v850.c, function.c, stor-layout.c, toplev.c,
9682 tree-inline.c, tree-optimize.c, tree.c, varasm.c: Use '+' flag
9683 instead of %J or %H. Use 'q' flag for quoting. Avoid '.' at end
9684 of diagnostics. Use %q+D not %s for a decl. Do not pass excess
9685 format arguments where %J is used without %D.
9686
77008252
JJ
96872005-07-02 Jakub Jelinek <jakub@redhat.com>
9688
9689 * gcc.c (LINK_SSP_SPEC): Define.
9690 (link_ssp_spec): New variable.
9691 (LINK_COMMAND_SPEC): Add %(link_ssp).
9692 (static_specs): Add link_ssp_spec.
9693 * configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
9694 * configure: Rebuilt.
9695 * config.in: Rebuilt.
9696
9697 * config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
9698 * config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
9699 * config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
9700 * config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
9701 * config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
9702 If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
9703 -0x7008(2) instead of reading __stack_chk_guard variable.
9704 * config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
9705 number.
9706 (UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
9707 (stack_protect_set, stack_protect_test): Use *_tls* patterns
9708 if TARGET_THREAD_SSP_OFFSET is defined.
9709 (stack_tls_protect_set_si, stack_tls_protect_set_di,
9710 stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
9711
9712 Revert:
9713 2005-06-27 Richard Henderson <rth@redhat.com>
9714 * libgcc-std.ver (GCC_4.1.0): New.
9715 * libgcc.h (__stack_chk_guard): Declare.
9716 (__stack_chk_fail, __stack_chk_fail_local): Declare.
9717 * libgcc2.c (L_stack_chk, L_stack_chk_local): New.
9718 * mklibgcc.in (lib2funcs): Add them.
9719
606c33f1
RH
97202005-07-01 Richard Henderson <rth@redhat.com>
9721
9722 * config/i386/linux-unwind.h (x86_64_fallback_frame_state): Cast to
9723 void * before struct sigcontext *.
9724 (x86_fallback_frame_state): Likewise.
9725
60d436c9
JW
97262005-07-01 James E. Wilson <wilson@specifixinc.com>
9727
9728 * doc/invoke.texi (-funit-at-a-time): Correct grammar in second bullet.
9729
7898840f
AP
97302005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
9731
9732 PR tree-opt/22269
9733 * tree-ssa-reassoc.c (should_transpose): Fix which operand
9734 we check for SSA_NAME for.
9735
064be445 97362005-07-01 Daniel Berlin <dberlin@dberlin.org>
dd68d988
DB
9737
9738 Fix PR tree-optimization/22071
064be445 9739
dd68d988
DB
9740 * tree-ssa-structalias.c (offset_overlaps_with_access): New
9741 function.
9742 (get_constraint_for_component_ref): Use it.
9743
c50367a2
AP
97442005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
9745
9746 PR other/22264
9747 * diagnostic.c (diagnostic_report_current_module): Use pp_newline to
9748 print out the last new line.
9749
f9968e3e
HPN
97502005-07-01 Hans-Peter Nilsson <hp@axis.se>
9751
9752 * config/cris/cris.md (CRIS_CC0_REGNUM): New constant.
9753 Swap numbers for CRIS_AP_REGNUM and CRIS_MOF_REGNUM.
9754 * config/cris/cris.c (cris_conditional_register_usage): Adjust
9755 reg_names[CRIS_CC0_REGNUM] for early CRIS versions.
9756 (cris_print_operand) <case REG>: Handle CRIS_CC0_REGNUM.
9757 (cris_md_asm_clobbers): Clobber CRIS_CC0_REGNUM for all asms.
9758 * config/cris/cris.h (CRIS_CANONICAL_CC0_REGNUM): New macro.
9759 (enum reg_class): New member CC0_REGS.
9760 (REG_CLASS_FROM_LETTER): Add 'c' for CC0_REGS.
9761 (FIRST_PSEUDO_REGISTER, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
9762 (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, REG_CLASS_NAMES)
9763 (CRIS_SPECIAL_REGS_CONTENTS, REG_CLASS_CONTENTS, REGNO_REG_CLASS)
9764 (PREFERRED_RELOAD_CLASS, REGISTER_NAMES, DBX_REGISTER_NUMBER):
9765 Adjust for register now described.
9766
4f856a3e
JJ
97672005-07-01 Jakub Jelinek <jakub@redhat.com>
9768
9769 PR target/22262
9770 * config/i386/i386.md (stack_protect_test_si,
9771 stack_protect_test_di): Add earlyclobber for scratch 3.
9772 * config/rs6000/rs6000.md (stack_protect_testsi,
9773 stack_protect_testdi): Add earlyclobber for scratch 3,
9774 remove earlyclobber from scratch 4.
9775
064be445 9776Older entries for 2005 can be found in ChangeLog-2005.
This page took 1.322244 seconds and 5 git commands to generate.