]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR middle-end/17885 (gimplifing of volatile &a->)
[gcc.git] / gcc / ChangeLog
CommitLineData
a8afd3ac
RH
12004-10-19 Richard Hendeson <rth@redhat.com>
2
3 PR middle-end/17885
4 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
5 of INDIRECT_REF.
6
e61d7b78
KH
72004-10-19 Kazu Hirata <kazu@cs.umass.edu>
8
9 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
10 loop with goto.
11
e836a5a2
KH
122004-10-19 Kazu Hirata <kazu@cs.umass.edu>
13
14 * expr.c (expand_assignment): Remove the last argument.
15 Change the return type to void.
16 * expr.h: Update the prototype of expand_assignment.
17 * function.c (assign_parm_setup_reg): Update a call to
18 expand_assignment.
19 * stmt.c (expand_asm_expr): Likewise.
20
7f8adc4e
KH
212004-10-19 Kazu Hirata <kazu@cs.umass.edu>
22
23 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
24 unnecessary assignments to temp. Return const0_rtx.
25
f94cef0a
KK
262004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
27
28 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
29
4c67db14
KC
302004-10-18 Kelley Cook <kcook@gcc.gnu.org>
31
32 * configure.ac (powerpc-*-darwin*): Require assembler to support
33 .machine directive.
34 * configure: Regenerate.
35
00268eb3
KH
362004-10-18 Kazu Hirata <kazu@cs.umass.edu>
37
38 * reload1.c (ior_hard_reg_set): Remove.
39 (finish_spills): Use IOR_HARD_REG_SET instead of
40 ior_hard_reg_set.
41
26ebd00d
KH
422004-10-18 Kazu Hirata <kazu@cs.umass.edu>
43
44 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
45 the currently visited word to right.
46
6e7a355c
EB
472004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
48
49 PR middle-end/18045
50 * expmed.c (expand_smod_pow2): Handle modes whose size
51 is greater than that of HOST_WIDE_INT.
52
d4de6966
ZL
532004-10-18 Ziemowit Laski <zlaski@apple.com>
54
55 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
56
a494ed43
EB
572004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
58 Roger Sayle <roger@eyesopen.com>
59
60 PR middle-end/17813
61 * dojump.c (discard_pending_stack_adjust): New function.
62 (clear_pending_stack_adjust): Call it.
63 * expr.h (discard_pending_stack_adjust): Declare it.
64 * explow.c (emit_stack_save): Emit pending stack adjustments
65 before saving the stack pointer.
66 (emit_stack_restore): Discard pending stack adjustments before
67 restoring the stack pointer.
68
a2d36602
RH
692004-10-18 Richard Henderson <rth@redhat.com>
70
71 * c-common.c (handle_mode_attribute): Allow scalar->vector
72 type changes yet.
73
df9af2bb
KH
742004-10-18 Kazu Hirata <kazu@cs.umass.edu>
75
76 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
77 value to expand_assignment.
78
ab51c2f0
KH
792004-10-18 Kazu Hirata <kazu@cs.umass.edu>
80
81 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
82 thread_jumps.
83 (thread_jumps): Iterate until no new forwarder block arises.
84
78b6731d
KH
852004-10-18 Kazu Hirata <kazu@cs.umass.edu>
86
87 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
88 (thread_jumps): Use forwardable as cache of
89 tree_forwarder_block_p throughout the function.
90
320b0f6a
AK
912004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
92
93 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
94
77568960
AP
952004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
96
97 PR middle-end/15014
98 PR middle-end/16973
99 * tree-cfg.c (remove_bb): If we have a label expression in the
100 basic block and the label we have taken the address, move the
101 label expression to the basic block which is previous in the
102 linked list.
103 (tree_verify_flow_info): Fix printing out the label name of the
104 problematic label expression.
105
b757b9f8
PH
1062004-10-18 Pat Haugen <pthaugen@us.ibm.com>
107
b1c79b46 108 PR rtl-optimization/18002
b757b9f8
PH
109 * simplify-rtx.c (mode_signbit_p): Externalize function...
110 * rtl.h (mode_signbit_p): ... to here.
111 * combine.c (simplify_shift_const): Recognize PLUS signbit as
112 canonical form of XOR signbit and move to outer op.
113
1a1804c2
DN
1142004-10-18 Diego Novillo <dnovillo@redhat.com>
115
116 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
117 Update all callers.
118 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
119 Don't call fold_stmt more than once, use bsi_replace.
120
bca9e17b
DN
1212004-10-18 Diego Novillo <dnovillo@redhat.com>
122
123 PR tree-optimization/17656
124 * tree-ssa.c (replace_immediate_uses): When replacing a
125 constant, if the call to fold_stmt produced a different
126 statement, get an appropriate statement pointer by scanning
127 STMT's basic block.
128
b4992641
RH
1292004-10-18 Richard Henderson <rth@redhat.com>
130
131 * pointer-set.c (hash1): Don't use libm functions in fallback case.
132
f072a5c8 1332004-10-18 H.J. Lu <hongjiu.lu@intel.com>
3b415018
L
134
135 PR bootstrap/17684
136 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
137 (stage1-start): Remove and copy libunwind.a and
138 libunwind*$(SHLIB_EXT) instead of libunwind*.
139 (stage2-start): Likewise.
140 (stage3-start): Likewise.
141 (stage4-start): Likewise.
142 (stageprofile-start): Likewise.
143 (stagefeedback-start): Likewise.
144
145 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
146 the shared library to be created and don't remove the existing
147 shared library.
148 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
149 * config/i386/t-nwld (SHLIB_LINK): Likewise.
150 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
151 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
152 * config/sh/t-linux (SHLIB_LINK): Likewise.
153 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
154 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
155 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
156 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
157
158 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
159 files.
160
a2041967
KH
1612004-10-18 Kazu Hirata <kazu@cs.umass.edu>
162
163 * basic-block.h (reg_set_iterator): New.
164 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
165 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
166 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
167 * caller-save.c (save_call_clobbered_regs): Adjust to the new
168 style.
169 * cfgcleanup.c (thread_jump): Likewise.
170 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
171 * conflict.c (conflict_graph_compute): Likewise.
172 * flow.c (verify_local_live_at_start, update_life_info,
173 initialize_uninitialized_subregs, propagate_one_insn,
174 init_propagate_block_info, free_propagate_block_info,
175 propagate_block, dump_regset): Likewise.
176 * global.c (global_conflicts): Likewise.
177 * graph.c (start_bb): Likewise.
178 * local-alloc.c (update_equiv_regs): Likewise.
179 * loop.c (load_mems): Likewise.
180 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
181 find_reg, finish_spills): Likewise.
182 * resource.c (mark_target_live_regs): Likewise.
183 * sched-deps.c (sched_analyze_insn): Likewise.
184 * sched-rgn.c (sched-rgn.c): Likewise.
185 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
186
ba3ed8d8
JJ
1872004-10-18 Jakub Jelinek <jakub@redhat.com>
188
189 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
190 operand 1 instead of 2
191
2cd0e9f4
KH
1922004-10-18 Kazu Hirata <kazu@cs.umass.edu>
193
194 * loop-unroll.c: Fix comment typos.
195
f37a4f14
RE
1962004-10-18 Revital Eres <eres@il.ibm.com>
197
198 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
199 * loop-unroll.c: Include varray.h.
200 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
201 opt_info and expand it to support variable expansion.
202 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
203 expand it to support variable expansion.
204 (pt_info_start_duplication): Rename si_info_start_duplication.
205 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
206 to the variable expansion optimization.
207 (free_opt_info): Rename free_si_info.
208 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
209 expand_var_during_unrolling, insert_var_expansion_initialization,
210 combine_var_copies_in_loop_exit, release_var_copies,
211 get_expansion): New functions.
212 (peel_loop_completely, unroll_loop_constant_iterations,
213 unroll_loop_runtime_iterations, peel_loop_simple,
214 unroll_loop_stupid): Change uses of struct si_info
215 to struct opt_info
216 and add uses of fvariable-expansion-in-unroller flag.
217 * params.def: Add parameter to restrict the number of expansions.
218 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
219 the number of expansions.
220 * common.opt: (fvariable-expansion-in-unroller): New flag.
221 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
222
535306d0
DS
2232004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
224
225 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
226 __GXX_MERGED_TYPEINFO_NAMES to 0.
227
0ca541aa
HPN
2282004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
229
230 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
231 handle barriers in a bb by checking that it points to a NULL bb.
232 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
233 (emit_barrier_after, emit_barrier): Ditto.
234
7dcb0442
JM
2352004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
236
237 * doc/extend.texi (Attribute Syntax): Clarify details of
238 attributes on parameters.
239
e9472263
ZD
2402004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
241
242 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
243 loop.
244
7c672dfc
AP
2452004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
246
247 Revert:
248 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
249
250 * c-typeck.c (default_function_array_conversion): Always create
251 &a[0] for array types.
252 (build_unary_op): Do not fold &a[x] into a + x.
253
ac8245fa
AP
2542004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
255
256 PR middle-end/17925
257 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
258 block if there is a goto with a locus.
259
caec2cfc
KH
2602004-10-17 Kazu Hirata <kazu@cs.umass.edu>
261
262 * config/elfos.h, config/gofast.h, config/interix.h,
263 config/netbsd.h, config/svr3.h, config/vxworks.h,
264 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
265 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
266 config/alpha/netbsd.h, config/arm/arm-modes.def,
267 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
268 config/cris/aout.h, config/frv/frv-modes.def,
269 config/i386/beos-elf.h, config/i386/gas.h,
270 config/i386/i386-coff.h, config/i386/i386-modes.def,
271 config/i386/linux.h, config/i386/linux64.h,
272 config/i386/mingw32.h, config/i386/netbsd-elf.h,
273 config/i386/netbsd64.h, config/i386/sco5.h,
274 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
275 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
276 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
277 config/mips/mips-modes.def, config/mips/sdb.h,
278 config/mips/vr.h, config/mips/vxworks.h,
279 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
280 config/pa/pa32-linux.h, config/rs6000/40x.md,
281 config/rs6000/7450.md, config/rs6000/8540.md,
282 config/rs6000/linuxspe.h, config/rs6000/power4.md,
283 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
284 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
285 config/s390/s390-modes.def, config/sh/elf.h,
286 config/sh/sh-modes.def, config/sh/sh64.h,
287 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
288 config/stormy16/stormy16.md, config/v850/v850-protos.h,
289 config/vax/vax.md: Update copyright.
290
6c62412f
KH
2912004-10-17 Kazu Hirata <kazu@cs.umass.edu>
292
293 * expr.c (expand_expr_real_1): Remove an obsolete comment.
294
a2a877e2
AP
2952004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
296
297 * c-typeck.c (default_function_array_conversion): Always create
298 &a[0] for array types.
299 (build_unary_op): Do not fold &a[x] into a + x.
300
bc54ef99
JJ
3012004-10-17 Jakub Jelinek <jakub@redhat.com>
302
303 * pointer-set.c (hash1): Use integer part of 2^64 / phi
304 instead 2^32 / phi if long is 64-bit.
305
da5b307a
JM
3062004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
307
13ceb6d1 308 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
da5b307a
JM
309 RID_PTRVALUE.
310 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
311 declarations.
312 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
313 __ptrextent__, __ptrvalue and __ptrvalue__.
314 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
315 entries.
316
4fe52ce9
DJ
3172004-10-16 Dale Johannesen <dalej@apple.com>
318
319 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
320
fce22de5
ZD
3212004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
322
323 PR tree-optimization/17766
324 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
325 (dom_info_available_p): Declare.
326 * cfghooks.c (split_block, make_forwarder_block): Use
327 dom_info_available_p.
328 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
329 free_dominance_info, verify_dominators): Ditto.
330 (dom_info_available_p): New function.
331 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
332 (thread_jumps): Use dom_info_available_p.
333 * tree-complex.c (expand_complex_div_wide): Ditto.
334 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
335
80cad5fa
ZD
3362004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
337
338 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
339 (find_best_candidate): Take also important candidates into account.
340 (find_optimal_iv_set): Initialize important_candidates bitmap.
341
f59b0bd4
ZD
3422004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
343
344 PR tree-optimization/17560
345 * predict.c (tree_estimate_probability): Mark irreducible
346 loops.
347
71068e31
ZD
3482004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
349
350 PR rtl-optimization/17723
351 * cfgcleanup.c (merge_memattrs): Handle case when
352 MEM_SIZE == NULL_RTX.
353
29c431a1
AP
3542004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
355
356 * toplev.c (dump_file_name): Change type to be const.
357
dee3cda5
JM
3582004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
359
360 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
361 non_lvalue to stop something being a null pointer constant.
362
b2df7d08
AH
3632004-10-15 Aldy Hernandez <aldyh@redhat.com>
364
365 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
366 available for TARGET_FPRS.
367 (FUNCTION_VALUE_REGNO_P): Same.
368
7088c6e4
GK
3692004-10-15 Geoffrey Keating <geoffk@apple.com>
370
371 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
372 -maltivec in same style as other ISA options.
373
eff41b9f
JG
3742004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
375
376 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
377 definition.
378
f30278e8
KH
3792004-10-15 Kazu Hirata <kazu@cs.umass.edu>
380
381 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
382 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
383 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
384 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
385 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
386 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
387 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
388 predict.def, predict.h, protoize.c, reload.h, resource.h,
389 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
390 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
391 unwind-sjlj.c, value-prof.h: Update copyright.
392
ed8b7558
KH
3932004-10-15 Kazu Hirata <kazu@cs.umass.edu>
394
395 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
396
e26ce7ed
DN
3972004-10-15 Diego Novillo <dnovillo@redhat.com>
398
399 * tree-optimize.c (execute_one_pass): Stop timer right after
400 executing the pass.
401
53e782e5
AP
4022004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
403
404 Revert:
405 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
406 PR middle-end/17967
407 Revert:
408 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
409 (remove_useless_stmts_1): Fold trees we know how to fold.
410
d2ab3e37
DE
4112004-10-14 David Edelsohn <edelsohn@gnu.org>
412
413 * configure.ac: Add .machine power4 directive when testing for
414 mfcr field.
415 * configure: Regenerate.
416
9d948a40
GK
4172004-10-14 Geoffrey Keating <geoffk@apple.com>
418
419 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
420
eaddbc33
AP
4212004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
422
423 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
424 always.
425
a6645c18
DJ
4262004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
427
428 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
429 for 'f' if !TARGET_FPRS.
430
0ba6c56d
RH
4312004-10-14 Richard Henderson <rth@redhat.com>
432
433 PR debug/14492
434 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
435
559f2da5
RH
4362004-10-14 Richard Henderson <rth@redhat.com>
437
438 PR c/17023
439 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
440 as error_mark_node.
441 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
442 instaed of current_function_decl non-null.
443
0c58f841
MA
4442004-10-14 Matt Austern <austern@apple.com>
445
446 * pointer-set.c: New file, special-purpose hash table.
447 * pointer-set.h: New file.
448 * tree.h (struct pointer_set_t): Declare as opaque type.
449 (tree_walk): Last argument is pointer_set_t* now.
450 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
451 (walk_type_fields):
452 (walk_tree): Convert from htab_t to pointer_set_t for keeping
453 track of which nodes have already been visited.
454 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
455 * cgraphunit.c (cgraph_create_edges): Likewise.
456 (cgraph_characterize_statics_local): Likewise.
457 * tree-dfa.c (collect_dfa_stats): Likewise.
458 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
459 pointer_set_t* now.
460 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
461 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
462 of walk_subtrees is pointer_set_t* now.
463 * Makefile.in (OBJS-common): add pointer-set.o
464 (tree-inline.o): Depends on pointer-set.h
465 (tree-dfa.o): Likewise
466 (cgraphunit.o): Likewise
467
c4e18b1c
GK
4682004-10-14 Geoffrey Keating <geoffk@apple.com>
469
470 * config/rs6000/darwin.h (ASM_SPEC): Delete.
471 (TARGET_ASM_FILE_START): Define.
472 * config/darwin.h (ASM_SPEC): Define.
473 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
474 -mlong-double-128, it's the default. Update comment about reason
475 for force_cpusubtype_ALL.
476 * config/rs6000/darwin-vecsave.asm: Supply .machine.
477 * config/rs6000/darwin-world.asm: Likewise.
478 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
479 (symbolic_operand): Delete #if 0ed code.
480
b77aa1f7
AP
4812004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
482
483 * stmt.c (add_case_node): Make sure that we have integer
484 constant before calling tree_int_cst_compare.
485
4965c163
AP
4862004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
487
488 PR middle-end/17967
489 Revert:
490 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
491 (remove_useless_stmts_1): Fold trees we know how to fold.
492
b419bac7
JM
4932004-10-14 Joseph S. Myers <joseph@codesourcery.com>
494
495 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
496 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
497 -m64.
498
d58005c7
UW
4992004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
500
501 * reload.c (find_reloads): When reloading a PLUS with constant
502 operand, make sure the constant is pushed to the constant pool
503 if required.
504 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
505 reload bug workaround.
506 (s390_expand_plus_operand): Likewise.
507
3020563a
DE
5082004-10-14 David Edelsohn <edelsohn@gnu.org>
509
510 * opts.c (common_handle_option): Do not enable
511 flag_speculative_prefetching for -fprofile-generate/use.
512
0ecf0d5f
DP
5132004-10-14 Devang Patel <dpatel@apple.com>
514
515 PR 17635
516 * tree-if-conv.c (process_phi_nodes): Process latch block.
517 (combine_blocks): Process latch block and update loop structure.
518
a023975e
OG
5192004-10-14 Olga Golovanevsky <olga@il.ibm.com>
520
521 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
522 (vect_update_ivs_after_vectorizer):
523 (vect_transform_for_unknown_loop_bound):
524 (tree_duplicate_loop_to_edge):
525 (allocate_new_names):
526 (rename_use_op):
527 (rename_def_op):
528 (rename_variables_in_bb):
529 (free_new_names):
530 (rename_variables_in_loop):
531 (copy_phi_nodes):
532 (update_phis_for_duplicate_loop):
533 (update_phi_nodes_for_guard):
534 (make_loop_iterate_ntimes):
535 (tree_duplicate_loop_to_edge_cfg):
536 (add_loop_guard):
537 (vect_analyze_loop_with_symbolic_num_of_iters):
538 (verify_loop_for_duplication):
539 (vect_gen_niters_for_prolog_loop):
540 (vect_update_niters_after_peeling):
541 (vect_update_inits_of_dr):
542 (vect_update_inits_of_drs):
543 (vect_build_loop_niters):
544 (vect_do_peeling_for_alignment): New functions.
545 (vect_transform_loop): Add unknown and known but indivisible loop
546 bound support; add peeling for unalignment support.
547 (vect_analyze_loop_form): Support symbolic number of iterations.
548 (vect_transform_loop_bound): New input parameter.
549 (vect_get_loop_niters): Change input parameter type.
550 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
551 (vectorizable_store): Allow unaligned access.
552 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
553 (vect_analyze_data_refs_alignment): Allowed one unaligned
554 store.
555 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
556 to use tree.
557 (LOOP_VINFO_INT_NITERS): New macro.
558 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
559 (do_peeling_for_alignment):
560 (unaligned_drs): New members of _loop_vec_info.
561 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
562
7238c5ec
RM
5632004-10-14 Ranjit Mathew <rmathew@hotmail.com>
564
565 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
566 (struct tree_string): Remove "const" qualifier for "str".
567
322ae40b
IR
5682004-10-14 Ira Rosen <irar@il.ibm.com>
569
570 * tree-vectorizer.c (vect_analyze_data_refs): Call
571 vect_get_base_and_bit_offset to get memory tag for array ref.
572 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
573
b79187bb
RE
5742004-10-14 Richard Earnshaw <rearnsha@arm.com>
575
576 * configure.ac: Use $LN_S for creating symlinks (not $LN).
577 * configure: Regenerate.
578
c7525a64
KG
5792004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
580
581 * doc/install.texi (*-*-solaris2*): Update with info about kernel
582 patches to solve spurious testsuite failures.
583
f0923257
DN
5842004-10-14 Dorit Naishlos <dorit@il.bim.com>
585
586 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
587 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
588 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
589 gcc_assert under ENABLE_CHECKING.
590 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
591 get_vectype_for_scalar_type).
592
593 (vect_get_vec_def_for_operand): Remove redundant variables.
594 (vect_transform_loop): Likewise.
595
a2503645
RS
5962004-10-14 Richard Sandiford <rsandifo@redhat.com>
597
598 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
599 global for -mcaller-super-interworking.
600 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
601 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
602 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
603 not need a frame pointer.
604 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
605 the soft frame pointer offset.
606 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
607 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
608 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
609 the stack. Use frame_pointer_needed to choose between them.
610 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
611 (interwork_with_frame): New macro.
612 (interwork): Add _interwork_{r7,r11}_call_via_rN().
613
ef9af077
BE
6142004-10-14 Ben Elliston <bje@au.ibm.com>
615
616 PR other/17900
617 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
618 up the filename looking for a previous directory separator.
619
81da229b
JM
6202004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
621
622 * c-tree.h (enum c_typespec_kind, struct c_typespec,
623 parser_xref_tag): New.
624 (struct c_declspecs): Add tag_defined_p. Adjust definition of
625 typedef_p.
626 (declspecs_add_type): Adjust prototypes.
627 * c-parse.in (%union): Add tstype.
628 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
629 typespec_reserved_attr, typespec_nonreserved_nonattr,
630 structsp_attr, structsp_nonattr): Change to tstype. Update
631 actions.
632 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
633 (declspecs_add_type): Update to take struct c_typespec argument.
634 Set tag_defined_p and typedef_p as appropriate.
635 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
636 Update to return struct c_typespec.
637 (shadow_tag_warned): Don't let empty declarations with qualifiers
638 or storage class specifiers redeclare a tag if a previous
639 declaration is visible.
640
d8cb0614
RH
6412004-10-13 Richard Henderson <rth@redhat.com>
642
643 PR debug/15860
644 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
645 for DECL_INCOMING_RTL.
646
bf6ac87c
HPN
6472004-10-14 Hans-Peter Nilsson <hp@axis.com>
648
649 PR target/17984
650 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
651 trunc_int_for_mode for constants used in shortened mode.
652
61f03aba
RH
6532004-10-13 Richard Henderson <rth@redhat.com>
654
655 PR c/17384
656 * c-common.c (handle_mode_attribute): Disallow mode changes that
657 alter the CODE of the top-level type.
658
659 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
660 integer from internal limits macros.
661 * config/i386/mm3dnow.h (__v2sf): Fix base type.
662
32e66afd
RH
6632004-10-13 Richard Henderson <rth@redhat.com>
664
665 PR debug/13841
666 * function.c (instantiate_decl): Recurse for CONCAT.
667
520308bc
DE
6682004-10-13 David Edelsohn <edelsohn@gnu.org>
669
670 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
671 andi./andis.
672 (anddi3): Same.
9a3c428b
DE
673 (extzvdi_internal1): Add attribute "compare".
674 (extzvdi_internal2): Same.
520308bc 675
090359d6
TT
6762004-10-12 Tom Tromey <tromey@redhat.com>
677
678 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
679
2f59e40e
DJ
6802004-10-13 Dale Johannesen <dalej@apple.com>
681
682 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
683
ccab73c3
FCE
6842004-10-13 Frank Ch. Eigler <fche@redhat.com>
685
686 * toplev.c (compile_file): Call mudflap_finish_file from here ...
687 * c-decl.c (c_write_global_declarations): ... instead of here ...
688 * cp/decl.c (cp_finish_file): ... and here.
689 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
690
163075a0
AP
6912004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
692
693 * tree-ssa-dom.c (record_range): Free the element if we are not
694 going to use it.
695
e89f2821
TT
6962004-10-13 Tom Tromey <tromey@redhat.com>
697
698 PR java/15578:
699 * gcc.c (option_map): Added --extdirs and --encoding.
700
b9bf58e5
EB
7012004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
702
703 PR target/14454
704 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
705 sparc_can_output_mi_thunk.
706 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
707 handling of vcall offset.
708 (sparc_can_output_mi_thunk): New predicate.
709 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
710 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
711 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
712
713 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
714
715 * config/sparc/sparc.md (movdi): Remove redundant test.
716
2a10039c
PB
7172004-10-13 Paolo Bonzini <bonzini@gnu.org>
718
719 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
720 TDF_IPA from -fdump-tree-*-all.
721
fe013435
PB
7222004-10-13 Paul Brook <paul@codesourcery.com>
723
724 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
725 * config/arm/arm.c (thumb_find_work_register): Update comments.
726 (arm_load_pic_register): Add argument for scratch register.
727 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
728 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
729
50300b4c
KH
7302004-10-13 Kazu Hirata <kazu@cs.umass.edu>
731
732 * tree-data-ref.c: Fix comment typos.
733
69d49802
JJ
7342004-10-13 Jakub Jelinek <jakub@redhat.com>
735 Zdenek Dvorak <dvorakz@suse.cz>
736
737 PR tree-optimization/17724
738 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
739
13c62176
DN
7402004-10-13 Dorit Naishlos <dorit@il.ibm.com>
741
742 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
743 (altivec_builtin_mask_for_store): Likewise.
744 (altivec_init_builtins): Use lang_hooks.builtin_function to
745 create the decls for builtin_altivec_mask_for_load/store.
746
1ce3d58a
NC
7472004-10-13 Nick Clifton <nickc@redhat.com>
748
749 * config/c4x/c4x.c: Remove inclusion of loop.h.
750
f76ccf60
BE
7512004-10-12 Ben Elliston <bje@au.ibm.com>
752
753 * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
754 (ei_container): New; renamed.
755 (ei_start, ei_last): New macros.
756 (ei_start_1, ei_last_1): Renamed from ei_start.
757 (ei_last_1, ei_end_p): Use ei_container() where applicable.
758 (ei_one_before_end_p, ei_next, ei_edge): Likewise.
759 * gcse.c (remove_reachable_equiv_notes): Use ei_container().
760
86df10e3 7612004-10-11 Sebastian Pop <pop@cri.ensmp.fr>
fe013435 762
86df10e3
SP
763 * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
764 * cfgloop.c (initialize_loops_parallel_p): New.
765 (flow_loops_find): Initialize the parallel_p field to true for all
766 the loops.
767 * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
768 (estimate_numbers_of_iterations_loop): Infers the loop bounds from
769 the size of the data accessed in the loop.
770 (struct nb_iter_bound): Moved...
771 * cfgloop.h (struct nb_iter_bound): ... here.
772 (estimated_nb_iterations, parallel_p): New fields in struct loop.
773 (record_estimate): Declare extern here.
774 * tree-chrec.c: Fix comments.
775 (nb_vars_in_chrec): New function.
776 * tree-chrec.h (nb_vars_in_chrec): Declared here.
777 * tree-data-ref.c: Don't include lambda.h, that is already included
778 in tree-data-ref.h.
779 (tree_fold_divides_p): Don't check for integer_onep.
780 (tree_fold_bezout): Removed.
781 (gcd): New static duplicated function.
782 (int_divides_p, dump_subscript): New.
783 (dump_data_dependence_relation): Use dump_subscript.
784 (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
785 estimate_niter_from_size_of_data): New.
786 (analyze_array_indexes, analyze_array): Call
787 estimate_niter_from_size_of_data during the detection of array
788 references. Pass in a pointer to the statement that contains the
789 array reference.
790 (all_chrecs_equal_p): New.
791 (compute_distance_vector): Renamed compute_subscript_distance.
792 Deal with multivariate conflict functions.
793 (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
794 DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
795 (non_affine_dependence_relation): New.
796 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
797 analyze_siv_subscript, analyze_miv_subscript,
798 analyze_overlapping_iterations, subscript_dependence_tester):
799 Initialize and return last_conflicts function.
800 (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
801 compute_overlap_steps_for_affine_1_2): New.
802 (analyze_siv_subscript_affine_cst): Removed.
803 (analyze_subscript_affine_affine): Disprove dependences based on the
804 iteration domains. Solve the univariate dependence case as before,
805 but use lambda_matrix_right_hermite instead of tree_fold_bezout.
806 Implement the multivariate case of 2 versus 1 variables.
807 (build_classic_dist_vector, build_classic_dir_vector): Implement some
808 unhandled cases.
809 (find_data_references_in_loop): Compute and initialize
810 loop->estimated_nb_iterations and loop->parallel_p.
811 (analyze_all_data_dependences): Modify the debug dump order.
812 * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
813 subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
814 (SUB_LAST_CONFLICT, subscript->last_conflict,
815 data_dependence_relation->affine_p, data_dependence_relation->size_vect,
816 DDR_AFFINE_P, DDR_SIZE_VECT): New.
817 (find_data_references_in_loop, initialize_data_dependence_relation,
818 dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
819
06c3418c
KC
8202004-10-12 Kelley Cook <kcook@gcc.gnu.org>
821
822 * configure: Regenerate.
823
01d8c00b
FJ
8242004-10-12 Fariborz Jahanian <fjahanian@apple.com>
825
826 PR 17892
827 * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
828 (simplify_rhs_and_lookup_avail_expr): Disallow associativity
829 and constant folding of floating point MULT_EXPR/PLUS_EXPR
830 expressions.
831
967af719
UW
8322004-10-12 Ulrich Weigand <uweigand@de.ibm.com>
833
834 * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
835 (s390_gimplify_va_arg): Likewise.
836
888d2cd6
DJ
8372004-10-12 Daniel Jacobowitz <dan@debian.org>
838
839 * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
840 (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
841 (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
842 * regclass.c (record_address_regs): Remove ifdef. Use
843 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
844 * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
845 definition.
846 (scan_rtx_address, replace_oldest_value_addr): Use
847 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
848 * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
849 unnecessary definitions.
850 (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
851 and MODE_BASE_REG_REG_CLASS.
852 * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
853 (MODE_BASE_REG_REG_CLASS): Define.
854 (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
855 (REG_MODE_OK_FOR_REG_BASE_P): Define.
856 * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
857 REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
858
7dcdacad
DB
8592004-10-12 Daniel Berlin <dberlin@dberlin.org>
860
861 * tree-ssa-alias.c (verify_name_tags): New function.
862 (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
863 (verify_alias_info): Call verify_name_tags.
864
c271ba77
KH
8652004-10-12 Kazu Hirata <kazu@cs.umass.edu>
866
867 PR rtl-optimization/17931
868 * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
869 ZERO_EXTRACT in it.
870
22de4c3d
RE
8712004-10-12 Richard Earnshaw <rearnsha@arm.com>
872
873 * arm.c (arm_print_operand): Use output_operand_lossage where possible
874 rather than aborting.
875
fa91adc6
PB
8762004-10-12 Paul Brook <paul@coudesourcery.com>
877
878 * config.gcc: Add armv6{k,z,zk}
879 * config/arm/arm-cores.def: Add arm1176 and mpcore.
880 * config/arm/tune.md: Regenerate.
881 * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
882 Define.
883 (all_architectures): Add armv6k, armv6z, armv6zk.
884 * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
885 * doc/invoke.texi: Document new arch and cpu values.
886
a3702807
PB
8872004-10-12 Paul Brook <paul@coodesourcery.com>
888
889 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
890 meabi=4.
891
49dee49c
PB
8922004-10-12 Paul Brook <paul@codesourcery.com>
893
894 * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
895 Handle negative constants.
896
3789b316
JM
8972004-10-12 Joseph S. Myers <jsm@polyomino.org.uk>
898
899 PR c/17301
900 * c-typeck.c (convert_arguments): Return error_mark_node if there
901 are too few arguments.
902 (build_function_call): Handle error_mark_node return from
903 convert_arguments.
904
35f06ae4
PB
9052004-10-06 Paolo Bonzini <bonzini@gnu.org>
906
907 * configure.ac (symbolic_link): Replace with $LN_S.
908 (Assembler/Linker): Hard link from gas and binutils trees.
909 * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
910 * configure: Regenerate.
911
21addcd9
PB
9122004-10-12 Paul Brook <paul@codesourcery.com>
913
914 * configure.ac: Don't look for host assembler when building a canadian
915 cross.
916 * configure: Regenerate.
917
afd85c1a
RS
9182004-10-11 Roger Sayle <roger@eyesopen.com>
919
920 PR other/17361
921 * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
922 (c_common_init_options): Remove #ifdef CL_F77 code. Scan command
923 line options for "-lang-asm" and if found allow any of the C-family
924 front-end options.
925 (c_common_handle_option): Remove last use of permit_fortran_options.
926
fc0ea003
UW
9272004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
928
929 * config/s390/s390.c (print_operand): Support 'S' format flag.
930 * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
931 ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
932 ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
933 ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
934 ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
935 ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
936 ("*movstricthi"): Likewise.
937 ("*load_multiple_di", "*load_multiple_si"): Likewise.
938 ("*store_multiple_di", "*store_multiple_si"): Likewise.
939 ("*sethiqisi", "*sethihisi"): Likewise.
940 ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
941 ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
942 ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
943 ("*xorqi3", "*xc", "*xc_zero"): Likewise.
944 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
945
946 ("*tmhi_full"): Fix incorrect op_type attribute.
947
948 ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
949 ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
950 ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
951 ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
952
c94b5e7f
AP
9532004-10-11 Andrew Pinski <pinskia@physics.uc.edu
954
955 PR middle-end/16266
956 * function.c (temp_slots_at_level): Fix typo which creates too
957 many temp stack slots levels.
958
cadc42db
UW
9592004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
960
961 * config/s390/s390.c (s390_trampoline_template): Generate shorter
962 trampoline code.
963 (s390_trampoline_instantiate): Adapt.
964 * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
965
eb172681
RS
9662004-10-11 Roger Sayle <roger@eyesopen.com>
967
968 PR middle-end/17657
969 * stmt.c (add_case_node): Add additional type argument. Declare
970 as static to match prototype. Convert the upper and lower bounds
971 to the specified index type. Optimize away case ranges/values
972 that are outside the index type's bounds. Truncate case ranges
973 that span the index type's bounds.
974 (expand_case): Avoid unnessary computation and memory allocation
975 when index type is error_mark_node. Pass index_type as required
976 by change to add_case_node API. No need to convert case range
977 bounds to index_type, this is now done by add_case_node.
978
19b63d8e
UW
9792004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
980
981 * config/s390/s390-protos.h (s390_offset_p): Add prototype.
982 * config/s390/s390.c (s390_offset_p): New function.
983 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
984 "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
985 transform Q->Q alternatives to *clc pattern.
986 ("*clc"): Move.
987 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
988 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
989 to transform Q->Q alternatives to *mvc pattern.
990 ("*mvc"): Move. Add peephole to merge adjacent MVCs.
991 ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
992 "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
993 transform Q->Q alternatives to *nc pattern.
994 ("*nc"): New insn. New peephole to merge adjacent NCs.
995 ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
996 "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
997 transform Q->Q alternatives to *oc pattern.
998 ("*oc"): New insn. New peephole to merge adjacent OCs.
999 ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
1000 transform Q->Q alternatives to *xc pattern.
1001 ("*xc"): New insn. New peephole to merge adjacent XCs.
1002 ("*xc_zero"): Move. Add peephole to merge adjacent XCs.
1003
d775bc45
AP
10042004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
1005
1006 * gimplify.c (gimple_push_condition): Make sure that we don't
1007 have any saved condition cleanup if we were at the top level.
1008
6b34e55e
RS
10092004-10-11 Richard Sandiford <rsandifo@redhat.com>
1010
1011 * config/frv/frv.md (*adddi3_internal): Change name to...
1012 (adddi3): ...replacing the exisiting define_expand. Combine
1013 alternatives. Fix the range of the constant constraints ('J' instead
1014 of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg
1015 to extract the lower and upper halves of the DImode operands.
1016 Always use addi3_lower and adddi3_upper, not the subdi3 forms.
1017 (adddi3_lower): Fix the range of the constant constraints and
1018 remove the bogus operands[2] check.
1019 (adddi3_upper): Use gpr_or_int10_operand as the predicate for
1020 operand 2. Use addxi to handle constant operands.
1021 (subdi3_lower, subdi3_upper): Don't handle constant operands.
1022
422d9921
NS
10232004-10-11 Nathan Sidwell <nathan@codesourcery.com>
1024
1025 * gengtype-lex.l: Add commented } & ) characters to unconfuse
1026 editor's paren matching. Allow #define inside a struct.
1027
0ad28dde
AP
10282004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
1029
1030 PR middle-end/17703
1031 part of PR c++/17657
1032 * fold-const.c (fold_build_cleanup_point_expr): New function.
1033 * tree.h (fold_build_cleanup_point_expr): Prototype.
1034
5c70192c
EC
10352004-10-10 Eric Christopher <echristo@redhat.com>
1036
1037 * dwarf2out.c: Move attribute to subprogram declaration
1038 instead of subroutine type.
1039
9b1f72c4
KH
10402004-10-10 Kazu Hirata <kazu@cs.umass.edu>
1041
1042 * basic-block.h: Remove the prototypes for can_hoist_insn_p,
1043 hoist_insn_after, and hoist_insn_to_edge.
1044 * rtl.h: Remove the prototypes for reg_referenced_between_p,
1045 no_jumps_between_p, and insn_dependent_p.
1046 * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
1047 insn_dependent_p, insn_dependent_p_1, hoist_test_store,
1048 can_hoist_insn_p, hoist_update_store, hoist_insn_after,
1049 hoist_insn_to_edge): Remove.
1050
bba5733f
JM
10512004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
1052
1053 PR c/17881
1054 * c-decl.c (grokparms): Don't warn for parameters of incomplete
1055 type in declarations that are not definitions except for the case
1056 of parameters of void type.
1057
f0b698c1
KH
10582004-10-10 Kazu Hirata <kazu@cs.umass.edu>
1059
1060 * tree-cfg.c: Fix comment typos.
1061
c69c9b36
JM
10622004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
1063
1064 PR c/17301
1065 * builtins.c (expand_builtin_va_start): Check for too few
1066 arguments to va_start.
1067
216a5f1b
JM
10682004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
1069
1070 PR c/17189
1071 * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
1072 fields a pedwarn. Pedwarn here for unnamed structs/unions if
1073 pedantic.
1074 * c-parse.in (component_decl): Don't pedwarn here for unnamed
1075 fields.
1076
3d5c655f
ZD
10772004-10-09 Zdenek Dvorak <dvorakz@suse.cz>
1078
1079 PR tree-optimization/17906
1080 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
1081 copy non-gimple reg arguments.
1082
fc7ca5fd
RS
10832004-10-09 Roger Sayle <roger@eyesopen.com>
1084
1085 PR rtl-optimization/17853
1086 * simplify-rtx.c (simplify_relational_operation): Correct comment.
1087 Reorganize handling of comparison operations with floating point
1088 results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
1089 Likewise, introduce support for comparison operations with vector
1090 result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
1091
1092 * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
1093 * doc/tm.texi: Likewise.
1094
35ed0a93
SB
10952004-10-09 Steven Bosscher <stevenb@suse.de>
1096
1097 * regs.h (struct reg_info_def): Remove the last_node_uid and
1098 changes_mode fields.
1099 (REGNO_LAST_NOTE_UID): Don't define.
1100 * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
1101 * regmove.c (copy_src_to_dest): Likewise.
1102
d2e74f6f
RS
11032004-10-09 Roger Sayle <roger@eyesopen.com>
1104
1105 PR middle-end/17894
1106 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
1107 relational comparison operator op needs to be swapped/reversed when
1108 C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9.
1109
227c4bc7
AP
11102004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
1111
1112 PR tree-opt/17902
1113 * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
1114 instead of bsi_start.
1115 (value_replacement): Likewise.
1116 (abs_replacement): Likewise
1117
b7211528
SB
11182004-10-09 Steven Bosscher <stevenb@suse.de>
1119
1120 * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
1121 (expand_gimple_cond_expr, expand_gimple_tailcall,
1122 expand_gimple_basic_block): Use it to dump RTL for each stmt.
1123 (tree_expand_cfg): Announce full RTL function dump.
1124 * tree-optimize.c (execute_one_pass): Use normal RTL printing,
1125 not the graph version.
1126 * tree-pretty-print.c (dump_generic_node): Allow empty statements
1127 in the arms of a COND_EXPR for lowered nodes.
1128
538e3964
JM
11292004-10-08 Joseph S. Myers <joseph@codesourcery.com>
1130
1131 * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
1132 atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
1133 strtoufix16, strtoufix32, strtoufix64): Declare.
1134
6d84156b
JM
11352004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
1136
1137 * c-lex.c (interpret_float): Give a pedwarn rather than a warning
1138 for an out-of-range floating point constant.
1139 * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
1140 warning if the target format does not support infinities.
1141
971e29f6
KH
11422004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1143
1144 * emit-rtl.c (last_label_num, base_label_num): Remove.
1145 (max_label_num): Always return label_num.
1146 (set_new_last_label_num, restore_emit_status): Remove.
1147 (init_emit): Don't initialize last_label_num.
1148 * function.c (pop_function_context_from): Don't call
1149 restore_emit_status.
1150 * function.h: Remove the prototype for restore_emit_status.
1151 * rtl.h: Remove the prototype for set_new_last_label_num.
1152
f5bb9a23
KH
11532004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1154
1155 * stmt.c (expand_decl_init): Remove.
1156 * tree.h: Remove the corresponding prototype.
1157
2a9772e3
KH
11582004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1159
1160 * integrate.c (try_constants, subst_constants, mark_stores):
1161 Remove.
1162 * integrate.h: Remove the prototype for try_constants.
1163
6dcc04b0
JM
11642004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
1165
1166 * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
1167 (convert_for_assignment): Handle ic_argpass_nonproto. Add
1168 comments about its relevance to errors.
1169 (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
1170
14788775
AP
11712004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
1172
1173 PR c/16999
1174 * c-ppoutput.c (cb_ident): Don't quote string as it is already
1175 quoted.
1176
6048b706
DN
11772004-10-08 Diego Novillo <dnovillo@redhat.com>
1178
1179 * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
1180 reference_node_pool.
1181
b986ebf3
KH
11822004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1183
1184 * tree-cfg.c: Fix a comment typo.
1185
8a512b77
AK
11862004-10-08 Andreas Krebbel <krebbel1@de.ibm.com>
1187
5c70192c 1188 * config/s390/s390.c (s390_register_info): Don't save fprs for
8a512b77
AK
1189 -msoft-float.
1190 (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
1191
064e93c2
UW
11922004-10-08 Ulrich Weigand <uweigand@de.ibm.com>
1193
1194 * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
1195 (TARGET_DEFAULT): Use symbolic values.
1196 * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
1197 (TARGET_DEFAULT): Use symbolic values.
1198 * config/s390/s390.c (s390_backchain_string): Initialize to
1199 TARGET_DEFAULT_BACKCHAIN.
1200
559837f7
KG
12012004-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1202
4d9ef6a9
KG
1203 * builtins.c (expand_builtin_mempcpy): Move tree handling code to
1204 fold_builtin_mempcpy. Accept a type parameter. Delete duplicate
1205 code.
1206 (expand_builtin_strcat): Accept a type parameter.
1207 (fold_builtin_mempcpy): Accept a type and endp parameter.
1208
559837f7
KG
1209 * builtins.c (expand_builtin_strncpy): Delete duplicate code.
1210 Accept an `exp' instead of an `arglist'.
1211
a58eeb31
NS
12122004-10-08 Nathan Sidwell <nathan@codesourcery.com>
1213
1214 * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
1215 reverting my 2004-09-07 patch to use build_int_cst.
1216
39ba2f92
EB
12172004-10-08 Eric Botcazou <ebotcazou@libertysurf.fr>
1218
1219 PR target/17245
1220 * config/sparc/sparc.c (input_operand): Remove redundant code
1221 for handling LO_SUM.
1222 (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
1223 <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
1224 Otherwise only accept it for TFmode if quad move insns are available.
1225
10a52335
KH
12262004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1227
1228 * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
1229 common cases will be caught earlier than others.
1230
a252f3e8
MM
12312004-10-08 Michael Matz <matz@suse.de>
1232
1233 * loop-doloop.c (doloop_optimize): Extend count.
1234
07ea92d3
KK
12352004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
1236
1237 * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
1238 (prefetch): Convert to expander.
1239
12402004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
1241
1242 * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
1243 first argument of CALL.
1244 (tls_local_dynamic): Likewise.
1245
2ac2f164
JM
12462004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
1247
1248 * c-typeck.c (enum impl_conv): New.
1249 (convert_for_assignment): Use it. Take tree for function called
1250 instead of its name. Handle ObjC selectors for diagnostics at
1251 start of function. Select diagnostic text within the function
1252 using full sentences for diagnsotics. Use %qE to name functions
1253 in diagnostics.
1254 (convert_arguments, build_modify_expr,
1255 c_convert_parm_for_inlining, digest_init, c_finish_return): Update
1256 callers to convert_for_assignment.
1257 (warn_for_assignment): Remove.
1258
da06f1ae
NC
12592004-10-08 Nick Clifton <nickc@redhat.com>
1260
1261 * config/sh/symbian.c (symbian_possibly_export_base_class):
1262 Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
1263 TYPE_CONTAINS_VPTR_P.
1264
69a53ee8
KI
12652004-10-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1266
1267 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
1268 fixed registers form all_used_regs. Update call_really_used_regs.
1269 (CALL_REALLY_USED_REGISTERS): Define.
1270 * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
1271 with call_really_used_regs.
1272
29ef8952
AM
12732004-10-08 Alan Modra <amodra@bigpond.net.au>
1274
1275 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
1276 for -profile as well as -p and -pg.
1277
4a750a6d
AP
12782004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
1279
1280 * libgcc2.c (__moddi3): Cast &w to UDWtype*.
1281
52ea044e
KH
12822004-10-07 Kazu Hirata <kazu@cs.umass.edu>
1283
1284 * tree-cfg.c (tree_block_forwards_to): Remove.
1285 * tree-flow.h: Remove the corresponding prototype.
1286
d7d086f0
KH
12872004-10-07 Kazu Hirata <kazu@cs.umass.edu>
1288
1289 * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
1290 for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
1291
add2402e
GK
12922004-10-07 Geoffrey Keating <geoffk@apple.com>
1293
1294 Radar 3813796
1295 * config/rs6000/rs6000.c (rs6000_generate_compare): When
1296 flag_trapping_math is in effect, don't generate subtract
1297 instructions.
1298
0dfa6c5e
UW
12992004-10-07 Ulrich Weigand <uweigand@de.ibm.com>
1300
1301 * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
1302 * config/s390/s390.c (s390_narrow_logical_operator): New function.
1303 (s390_extra_constraint_str): Add 'A' constraints.
1304 (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
1305 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
1306 (CONSTRAINT_LEN): Likewise.
1307 * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
1308 ("*andsi3_zarch", "*andsi3_esa"): Likewise.
1309 ("*andhi3_zarch", "*andhi3_esa"): Likewise.
1310 ("*iordi3"): Add OI alternative and splitter.
1311 ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
1312 ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
1313 ("*xordi3"): Add XI alternative and splitter.
1314 ("*xorsi3", "*xorhi3"): Likewise.
1315
94b9aa66
RS
13162004-10-07 Richard Sandiford <rsandifo@redhat.com>
1317
1318 * config/mips/mips.c (mips_function_rodata_section): New function.
1319 (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
1320
21213b4c
DP
13212004-10-07 Devang Patel <dpatel@apple.com>
1322
b7211528
SB
1323 * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
1324 UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
1325 UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
1326 UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
1327 UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
5c70192c 1328 UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
21213b4c 1329 UNSPEC_VCONDU_V16QI): New constant defines.
b7211528 1330 (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
21213b4c 1331 vconduv16qi): New patterns.
b7211528
SB
1332 * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
1333 * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
1334 (get_vec_cmp_insn): Same.
1335 (get_vsel_insn): Same.
1336 (rs6000_emit_vector_compare): Same.
1337 (rs6000_emit_vector_select): Same.
21213b4c 1338 (INSN_NOT_AVAILABLE): New.
5c70192c 1339
14de86fa
ZD
13402004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
1341
1342 PR tree-optimization/17749
1343 * tree-tailcall.c (find_tail_calls): Check that parameter is
1344 a gimple_reg.
1345
93348822
KH
13462004-10-07 Kazu Hirata <kazu@cs.umass.edu>
1347
1348 * config/ia64/ia64.c: Fix a comment typo.
1349
224edf72
EB
13502004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1351
1352 * doc/install.texi (*-*-solaris2*): Fix marker for URL.
1353
09ebcffa
GB
13542004-10-07 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1355
1356 PR c++/17115
1357 * tree-inline.c (expand_call_inline): Do not warn for functions
1358 marked with attribute noinline.
1359
22d66adf
EB
13602004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1361
1362 PR target/17862
1363 * config/sparc/sparc.c (sparc_output_mi_thunk): Set
1364 current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
1365
1366 * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
1367 of 0 as 4th argument to pass_by_reference.
1368 Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
1369
29832164
EC
13702004-10-06 Eric Christopher <echristo@redhat.com>
1371
1372 * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
1373 attribute.
1374
ac6b57e5
RS
13752004-10-07 Richard Sandiford <rsandifo@redhat.com>
1376
1377 PR target/17770
1378 * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
1379
a82bbcbb
ZD
13802004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
1381
1382 PR rtl-optimization/17791
1383 * loop-doloop.c (doloop_modify): Take number of iterations as
1384 argument.
1385 (doloop_optimize): Extend or shorten the number of iterations
1386 when changing mode of counter register.
1387 * loop-iv.c (lowpart_subreg): Export.
1388 * rtl.h (lowpart_subreg): Declare.
1389
a746fd8c
ZD
13902004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
1391
1392 PR tree-optimization/17806
1393 * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
1394 * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
1395 flags moved to split_edge.
1396
38636eac
EB
13972004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1398
176f9629 1399 PR middle-end/17835
38636eac
EB
1400 * expmed.c (expand_sdiv_pow2): Force a stack adjustment
1401 before tentatively building the conditional move sequence.
1402
ae8c9754
RS
14032004-10-07 Richard Sandiford <rsandifo@redhat.com>
1404
1405 PR target/16815
1406 * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
1407 check.
1408 * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
1409 function_arg_padding.
1410
ed00ab95
RS
14112004-10-07 Richard Sandiford <rsandifo@redhat.com>
1412
1413 PR bootstrap/17857
1414 * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
1415
5ac6107c
KH
14162004-10-07 Kazu Hirata <kazu@cs.umass.edu>
1417
1418 * hooks.c (hook_int_void_1, hook_void_int): Remove.
1419 * hooks.h: Remove the corresponding prototypes.
1420
a3ed9870
AP
14212004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
1422
1423 PR middle-end/17849
1424 * tree-nested.c (walk_stmt_info): Add changed field.
1425 (convert_nonlocal_reference): Set changed to when we
1426 change a decl to unnested decl.
1427 <case ADDR_EXPR>: Instead of checking if the immediate part
1428 of the ADDR_EXPR changed, check the field changed.
1429 Use recompute_tree_invarant_for_addr_expr instead of unsetting
1430 TREE_INVARIANT.
1431 (convert_local_reference): Set changed to when we
1432 change a decl to unnested decl.
1433 <case ADDR_EXPR>: Instead of checking if the immediate part
1434 of the ADDR_EXPR changed, check the field changed.
1435 Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
1436
9e749a8b
KH
14372004-10-06 Kazu Hirata <kazu@cs.umass.edu>
1438
1439 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
1440 * dwarf2out.c (dwarf2out_init): Remove references to
1441 DWARF2_GENERATE_TEXT_SECTION_LABEL.
1442 * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
1443 * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
1444
03dafa61
JM
14452004-10-06 Joseph S. Myers <jsm@polyomino.org.uk>
1446
1447 * c-typeck.c (convert_arguments): Take expression for called
1448 function rather than its name. Handle ObjC selectors directly
1449 rather than relying on warn_for_assignment to do so. Call warning
1450 directly rather than warn_for_assignment. Use %qE in diagnostics.
1451 Say "argument" rather than "arg" in diagnostics.
1452 (build_function_call): Update call to convert_arguments.
1453
75917fc0
AP
14542004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
1455
1456 PR debug/17787
1457 * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
1458 ENUMs specially instead of just saying we do.
1459
df7d2d80
EC
14602004-10-06 Eric Christopher <echristo@redhat.com>
1461
1462 * dwarf2.h: Sync with include/elf/dwarf2.h
1463
55e9452e
DB
14642004-10-06 Daniel Berlin <dberlin@dberlin.org>
1465
1466 * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
df7d2d80 1467 and TREE_VEC nodes.
55e9452e 1468
44301a59
DB
14692004-10-06 Daniel Berlin <dberlin@dberlin.org>
1470
1471 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
1472 to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
df7d2d80 1473
44301a59
DB
14742004-10-06 Daniel Berlin <dberlin@dberlin.org>
1475
1476 * lambda-code.c (compute_nest_using_fourier_motzkin): New
1477 function.
1478 (lambda_compute_auxillary_space): Split from here.
1479
14802004-10-06 Daniel Berlin <dberlin@dberlin.org>
1481
1482 * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
1483 * tree-flow.h: Add prototype.
1484 * lambda-code.c (invariant_in_loop_and_outer_loops): Use
df7d2d80 1485 expr_invariant_in_loop.
44301a59 1486
4c1d660f
KH
14872004-10-06 Kazu Hirata <kazu@cs.umass.edu>
1488
1489 * tree-cfg.c (thread_jumps): Remove a duplicate check for
1490 EXIT_BLOCK_PTR.
1491
575f7c2b
UW
14922004-10-06 Ulrich Weigand <uweigand@de.ibm.com>
1493
1494 * config/s390/s390-protos.h (s_imm_operand): Remove.
1495 (s390_pool_operand): Add prototype.
1496 * config/s390/s390.c (general_s_operand): Remove.
1497 (s_imm_operand): Remove.
1498 (s_operand): Merge contents of general_s_operand.
1499 (s390_pool_operand): New function.
1500 * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
1501 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
1502 ("*cmpdi_ccu"): Merge Q->Q alternative.
1503 ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
1504 ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
1505 ("*cli"): Remove.
1506 ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
1507 ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
1508 ("*movstricthi"): Use memory_operand instead of s_imm_operand.
1509
d13256a3
SE
15102004-10-06 Steve Ellcey <sje@cup.hp.com>
1511
1512 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
1513 call ia64_function_arg_boundary.
1514 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
1515 * config/ia64/ia64.c (ia64_function_arg_boundary): New.
1516 (ia64_function_arg_advance): Do not put 128 bit floats into
1517 FP registers.
1518
609ae0e2
KG
15192004-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1520
1521 * builtins.c (expand_builtin_strcpy): Delete duplicate code.
1522 Accept an expression instead of an arglist.
1523 (expand_builtin_stpcpy): Accept an expression instead of an
1524 arglist.
1525
51e9a60c
EB
15262004-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
1527
1528 PR target/16007
1529 * doc/install.texi (*-*-solaris2*): Mention potential problem
1530 with Sun assembler + GNU linker and C++ programs.
1531 Document status of binutils 2.15 release.
1532
490e9629
JH
15332004-10-06 Jan Hubicka <jh@suse.cz>
1534
1535 * cse.c (cse_main): Kill push/pop context.
1536
d5706a1e
ZW
15372004-10-05 Zack Weinberg <zack@codesourcery.com>
1538
1539 * pretty-print.c: Include tree.h.
1540 (pp_base_prepare_to_format): New function, logic from
1541 text_specifies_location.
1542 (pp_base_format_text): Use gcc_assert.
1543 * pretty-print.h (pp_prepare_to_format): New macro.
1544 (pp_base_prepare_to_format): Prototype.
1545 * diagnostic.c (text_specifies_location): Delete.
1546 (bug_report_request): Delete.
1547 (diagnostic_set_info): Don't call text_specifies_location.
1548 (diagnostic_action_after_output): Put text from
1549 bug_report_request inline here. Use gcc_unreachable.
1550 (diagnostic_report_current_function): Fix comment.
1551 (diagnostic_report_diagnostic): Clarify logic for error recursion.
1552 Call pp_prepare_to_format before diagnostic_starter.
1553 (trim_filename): Use IS_DIR_SEPARATOR.
1554 (fatal_error, internal_error): Use gcc_unreachable.
1555 (error_recursion): Call diagnostic_action_after_output to
1556 issue the bug_report_request message and exit.
1557 * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
1558
1559 * c-parse.in: Add list of diagnostic messages to insulate
1560 translation template from version of yacc/bison used to
1561 compile the grammar.
1562
743eeb5a
AM
15632004-10-06 Alan Modra <amodra@bigpond.net.au>
1564
1565 PR 16406
1566 * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
1567
7922a3bb
KH
15682004-10-05 Kazu Hirata <kazu@cs.umass.edu>
1569
1570 * basic-block.h: Remove the prototype for
1571 flow_preorder_transversal_compute.
1572 * cfganal.c (dfst_node): Remove.
1573 (flow_preorder_transversal_compute): Likewise.
1574 * rtl.h: Remove the prototype for get_jump_table_offset.
1575 * rtlanal.c (get_jump_table_offset): Remove.
1576
9ec9d82b
RH
15772004-10-05 Richard Henderson <rth@redhat.com>
1578
1579 PR 17756
1580 * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
1581
19361834
KC
15822004-10-05 Kelley Cook <kcook@gcc.gnu.org>
1583
1584 PR bootstrap/17817
1585 * Makefile.in: Stage the build directory too.
1586
2a2e3f05
AH
15872004-10-05 Aldy Hernandez <aldyh@redhat.com>
1588
1589 * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
1590
1591 * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
1592 (frv_emit_move): Same.
1593
1594 * config/frv/frv.c (frv_emit_move): New.
1595 (frv_legitimize_address): New.
1596
1597 * config/frv/frv.md ("movsi"): Call frv_emit_move.
1598 ("movqi"): Same.
1599 ("movhi"): Same.
1600 ("movdi"): Same.
1601 ("movsf"): Same.
1602 ("movdf"): Same.
1603
7fdc3e09
JM
16042004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
1605
1606 * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
1607 system headers.
1608
1b36c818
JM
16092004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
1610
1611 * c-decl.c (pushdecl): When an extern declaration at block scope
1612 refers to a visible entity with internal linkage, use the old DECL
1613 rather than the new one.
1614
95740bfc
KH
16152004-10-05 Kazu Hirata <kazu@cs.umass.edu>
1616
1617 * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
1618 comments.
1619
20d400c3
KH
16202004-10-05 Kazu Hirata <kazu@cs.umass.edu>
1621
1622 * tree-cfg.c (thread_jumps): Remove a duplicate check for
1623 an infinite loop.
1624
2abacef0
KH
16252004-10-05 Kazu Hirata <kazu@cs.umass.edu>
1626
1627 * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
1628 of FOR_BB_BETWEEN. Remove a useless check for unreachable
1629 blocks.
1630
09fa81db
KH
16312004-10-05 Kazu Hirata <kazu@cs.umass.edu>
1632
1633 * tree-cfg.c (cleanup_tree_cfg): Don't call
1634 delete_unreachable_blosk() after thread_jumps().
1635 (thread_jumps): Always remove basic blocks as they become
1636 unreachable.
1637
1111ad78
KH
16382004-10-05 Kazu Hirata <kazu@cs.umass.edu>
1639
1640 * tree-cfg.c (cleanup_tree_cfg): Remove variable
1641 something_changed. Simplify the while loop.
1642
fdd5d9e2
KG
16432004-10-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1644
1645 * builtins.c (expand_builtin_memmove): Delete duplicate code
1646 and accept a tree type for the result.
1647 (expand_builtin_bcopy): Accept a tree type for the result.
1648 (fold_builtin_memmove): Accept an arglist and tree type for
1649 the result.
1650
9bb86f41
UW
16512004-10-05 Ulrich Weigand <uweigand@de.ibm.com>
1652
1653 * config/s390/s390.c (s390_dump_pool): Remove return value.
1654 Use gen_pool_align, gen_pool_section_start/end instead of
1655 gen_pool_start/end_31/64.
1656 * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
1657 (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
1658 ("pool_start_31", "pool_end_31"): Remove.
1659 ("pool_start_64", "pool_end_64"): Likewise.
1660 ("pool_align", "pool_section_start", "pool_section_end": New insns.
1661
1662 * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
1663 (TARGET_CANNOT_COPY_INSN_P): Define.
1664 (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
1665 (struct constant_pool): New member 'execute'.
1666 (s390_add_execute, s390_find_execute): New functions.
1667 (s390_execute_label, s390_execute_target): Likewise.
1668 (s390_dump_pool): Output in-pool execute target templates.
1669 (s390_dump_execute): New function.
1670 (s390_alloc_pool, s390_free_pool): Handle execute templates.
1671 (s390_mainpool_start, s390_mainpool_finish): Likewise.
1672 (s390_chunkify_start, s390_chunkify_finish): Likewise.
1673 * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
1674 ("*execute"): New insn pattern.
1675 ("movmem_short", "*movmem_short"): Use splitters to generate
1676 explicit execute pattern, remove embedded execute.
1677 ("clrmem_short", "*clrmem_short"): Likewise.
1678 ("cmpmem_short", "*cmpmem_short"): Likewise.
1679
af16db69
DB
16802004-10-05 Daniel Berlin <dberlin@dberlin.org>
1681
1682 * tree-ssa.c (verify_ssa): Verify phi arguments only
1683 contain renamed names.
1684
c4ad648e
AM
16852004-10-05 Alan Modra <amodra@bigpond.net.au>
1686
1687 * config/rs6000/linux.h: Formatting, whitespace.
1688 * config/rs6000/linux64.h: Likewise.
1689 * config/rs6000/rs6000-protos.h: Likewise.
1690 * config/rs6000/rs6000.c: Likewise.
1691 (easy_vector_splat_const): Add fall thru comments.
1692 (output_vec_const_move): Likewise.
1693
406176be
KC
16942004-10-05 Kelley Cook <kcook@gcc.gnu.org>
1695
1696 * Makefile.in: Update -Wno-error exceptions for move to build dir.
1697
d840bfd3
CF
16982004-10-05 Chao-Ying Fu <fu@mips.com>
1699 Richard Sandiford <rsandifo@redhat.com>
1700
1701 * doc/invoke.texi (-mpaired-single): Link to the new description of the
1702 built-in functions. Document dependencies.
1703 (-mips3d): Add link here too.
1704 * doc/extend.texi (MIPS Paired-Single Support): New section.
1705
a4a82723
CF
17062004-10-04 Chao-ying Fu <fu@mips.com>
1707
1708 * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
1709
fded8de7
DN
17102004-10-04 Diego Novillo <dnovillo@redhat.com>
1711
1712 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
1713 Initialize OPT_STATS to 0.
1714
59c4456e
KH
17152004-10-04 Kazu Hirata <kazu@cs.umass.edu>
1716
1717 * tree-data-ref.c: Fix comment typos.
1718
68b26d5c
SP
17192004-10-04 Sebastian Pop <pop@cri.ensmp.fr>
1720
1721 * tree-data-ref.c (array_base_name_differ_p): Fix comments. When
1722 the predicate cannot be computed, don't initialize the result to
1723 false.
1724
b9e6959b
EC
17252004-10-01 Eric Christopher <echristo@redhat.com>
1726
1727 * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
1728 locally defined enum.
1729 * dwarf2out.c (add_calling_convention_attribute): Don't
1730 emit DW_CC_normal.
1731
29128154
AP
17322004-10-03 Andrew Pinski <pinskia@physics.uc.edu>
1733
1734 PR c/17178, PR c/17820
1735 * c-decl.c (pop_scope): Do not warn about unused static
1736 variables as they warned in the middle-end.
1737
ef7eaebf
KG
17382004-10-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1739
1740 * builtins.c (expand_builtin_memcpy): Delete duplicate code
1741 and make the first parameter the expression not the arglist.
1742
103b83ea
UW
17432004-10-03 Ulrich Weigand <uweigand@de.ibm.com>
1744
1745 * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
1746 as valid modes to expand address expressions.
1747
3f75a254
JM
17482004-10-03 Joseph S. Myers <jsm@polyomino.org.uk>
1749
1750 * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
1751 c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
1752 c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
1753 code formatting conventions.
1754
57c1f13e
RS
17552004-10-03 Richard Sandiford <rsandifo@redhat.com>
1756
1757 * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
1758
24109c9f
KH
17592004-10-03 Kazu Hirata <kazu@cs.umass.edu>
1760
807e955b 1761 PR tree-optimization/16632
24109c9f
KH
1762 * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
1763 fold (A & C) == D into 0, fold ~C. Similarly, for the case
1764 where | is used instead of &.
1765
d3471d77
KH
17662004-10-03 Kazu Hirata <kazu@cs.umass.edu>
1767
1768 * ginclude/stddef.h: Fix a comment typo.
1769
fe7378d2
EB
17702004-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
1771
1772 PR target/17443
1773 * config.gcc (i?86-*-solaris2*): Restore correct logic
1774 for --enable-threads option.
1775 (sparc64-*-solaris2*): Likewise.
1776 (sparc-*-solaris2*): Likewise.
1777
bf276e5c
AM
17782004-10-03 Alan Modra <amodra@bigpond.net.au>
1779
1780 * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
1781 (OS_MISSING_POWERPC64): Move, and comment.
1782 * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
1783 (OS_MISSING_POWERPC64): Move, and comment.
1784
07ec3810
ILT
17852004-10-02 Ian Lance Taylor <ian@wasabisystems.com>
1786
1787 * arm.c (output_call_mem): Add missing \t.
1788
3e6b6386
KG
17892004-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1790
1791 * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
1792 expand_builtin_strncmp): Delete duplicate code.
1793
fefbfa21
FCE
17942004-10-02 Frank Ch. Eigler <fche@redhat.com>
1795
1796 * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
1797 take check-base and -limit arguments.
1798 (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
1799 check ranges for ARRAY_REF and COMPONENT_REF.
1800 (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
1801 instrumentation.
1802
7848dfca
JM
18032004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
1804
1805 * c-objc-common.c (c_tree_printer): Correct description of %E.
1806 Don't fall through after printing an expression.
1807
66efeafc
KH
18082004-10-02 Kazu Hirata <kazu@cs.umass.edu>
1809
1810 * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
1811
26d4492f
KH
18122004-10-02 Kazu Hirata <kazu@cs.umass.edu>
1813
1814 * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
1815 delete_unrechable_blocks() only when necessary.
1816
ee0f32f4
D
18172004-10-02 P.J. Darcy <darcypj@us.ibm.com>
1818
1819 * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
1820 (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
1821 (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
1822 __gthread_recursive_mutex_unlock): New functions.
1823
3ff688aa
D
18242004-10-02 P.J. Darcy <darcypj@us.ibm.com>
1825
1826 * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
1827 * config/s390/tpf-eh.c: Remove file.
1828 * config/s390/tpf-unwind.h: New file.
1829 * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
1830 (MD_UNWIND_SUPPORT): Define.
1831
36262a4c
JM
18322004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
1833
1834 * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
1835
5b022de5
UW
18362004-10-01 Ulrich Weigand <uweigand@de.ibm.com>
1837
1838 * config/s390/s390-protos.h (s390_comparison): Add prototype.
1839 * config/s390/s390.c (s390_comparison): New function.
1840 (s390_branch_condition_mask): Return -1 for invalid comparisons.
1841 (s390_branch_condition_mnemonic): Assert valid comparison.
1842 * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
1843 * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
1844 "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
1845 s390_comparison instead of comparison_operator.
1846
1847 * config/s390/s390.md (UNSPEC_CMPINT): New constant.
1848 ("cmpmemdi"): Remove.
1849 ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
1850 ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
1851 ("cmpint_si"): Rename to ...
1852 ("*cmpint_si"): ... this. Use UNSPEC_CMPINT.
1853 ("cmpint_di", "*cmpint_di"): Likewise.
1854 * config/s390/s390.c (s390_canonicalize_comparison): Remove
1855 redundant UNSPEC_CMPINT conversions.
1856 (s390_expand_cmpmem): Adapt to cmpint pattern changes.
1857
b89dc911
KH
18582004-10-01 Kazu Hirata <kazu@cs.umass.edu>
1859
1860 * collect2.c (COLLECT_PARSE_FLAG): Remove.
1861 (main): Remove a reference to COLLECT_PARSE_FLAG
1862 * system.h: Poison COLLECT_PARSE_FLAG.
1863 * doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
1864
e367a231
PB
18652004-10-01 Paul Brook <paul@codesourcery.com>
1866
1867 * config/arm/crti.asm: Give _init and _fini function type.
1868
47bcd07d
ZD
18692004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
1870
1871 * common.opt (ftree-loop-ivcanon): Enable by default.
1872 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
1873 Enable complete loop unrolling.
1874 (canonicalize_induction_variables, tree_unroll_loops_completely):
1875 Reset scev info.
1876
e367a231 18772004-10-01 Paul Brook <paul@codesourcery.com>
c73d282d
PB
1878
1879 * config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
1880 not register number.
1881 (thumb_find_work_register): Search full register range.
1882
29c4d22b
AP
18832004-10-01 Andrew Pinski <pinskia@physics.uc.edu>
1884
1885 PR tree-opt/17343
1886 * tree-cfg.c (group_case_labels): Get the label and not
1887 the case expr for the default case.
1888 When the label we looking at is the default, decrement the
1889 new_size.
1890
0f0377f6
JH
18912004-10-01 Jan Hubicka <jh@suse.cz>
1892
1893 * c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
1894 * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
1895 * toplev.h (tree_rest_of_compilation): Update prototype.
1896 * tree-optimize.c (tree_rest_of_compilation): Kill nested_p argument.
1897
8f28be81
KH
18982004-10-01 Kazu Hirata <kazu@cs.umass.edu>
1899
1900 * tree-cfg.c (cleanup_tree_cfg): Pull a call to
1901 cleanup_control_flow() out of the while loop.
1902
02ca1718
PB
19032004-10-01 Paolo Bonzini <bonzini@gnu.org>
1904
1905 * tree-vectorizer.c (vectorizable_operation): Fail unless
1906 the mode for the vector type is indeed a vector mode.
1907
e6845c23
ZD
19082004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
1909
1910 * tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
1911 chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
02ca1718 1912 of convert.
e6845c23
ZD
1913 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
1914 add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
1915 follow_ssa_edge_in_rhs): Ditto.
1916 * tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
1917 (dump_iv): Dump base_object.
1918 (dump_use, dump_cand): Use dump_iv.
1919 (determine_base_object): New function.
1920 (alloc_iv): Initialize base_object field.
1921 (record_use): Clear the ssa_name field of iv.
1922 (get_computation_cost_at): Do not use difference of addresses of
1923 two different objects.
1924 (may_eliminate_iv): Do not require the loop to have just single exit.
1925 * tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
1926 (nonzero_p): New function.
1927 (inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
1928 tree_simplify_using_condition, simplify_using_initial_conditions,
1929 loop_niter_by_eval, find_loop_niter_by_eval,
1930 estimate_numbers_of_iterations_loop, compare_trees,
1931 upper_bound_in_type, lower_bound_in_type,
1932 can_count_iv_in_wider_type_bound): Use buildN instead of build. Use
1933 fold_convert or build_int_cst_type instead of convert. Use (non)zero_p
1934 instead of integer_(non)zerop.
1935
5496b36f
JJ
19362004-10-01 Jakub Jelinek <jakub@redhat.com>
1937
1938 Revert
1939 2004-09-29 Jakub Jelinek <jakub@redhat.com>
1940
1941 * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
1942 and TI_VA_LIST_FPR_COUNTER_FIELD.
1943 (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
1944 * tree-pass.h (pass_stdarg): Add.
1945 * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
1946 * tree-stdarg.c: New file.
1947 * Makefile.in (OBJS-common): Add tree-stdarg.o.
1948 (tree-stdarg.o): Add dependencies.
1949 * function.h (struct function): Add va_list_gpr_size and
1950 va_list_fpr_size fields.
1951 * function.c (allocate_struct_function): Initialize them.
1952
1953 * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
1954 va_list_{g,f}pr_counter_field.
1955 (ix86_setup_incoming_varargs): Don't do anything if reg_save
1956 area will not be used. Only save registers that tree-stdarg.c
1957 detected they need saving.
1958 (ix86_va_start): Don't set up fields that won't be used.
1959
1960 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
1961 va_list_{g,f}pr_counter_field.
1962 (setup_incoming_varargs): Don't do anything if reg_save
1963 area will not be used. Only save registers that tree-stdarg.c
1964 detected they need saving.
1965 (rs6000_va_start): Don't set up fields that won't be used.
1966
a1c496cb
EC
19672004-09-30 Eric Christopher <echristo@redhat.com>
1968
1969 * dwarf2.h (dwarf_calling_convention): Add enum for renesas
1970 sh abi.
1971 * dwarf2out.c (add_calling_convention_attribute): New function.
1972 (gen_subroutine_type_die): Use.
1973 * target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
1974 * target.h (gcc_target): Add dwarf_calling_convention.
1975 * hooks.c (hook_int_tree_0): New function.
1976 * hooks.h: Prototype.
1977 * config/sh/sh.c: Include dwarf2.h.
1978 (sh_dwarf_calling_convention): New function.
1979 (TARGET_DWARF_CALLING_CONVENTION): Use.
1980 * doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
1981
bd042dbb
KG
19822004-09-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1983
1984 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
1985 expand_builtin_strrchr, expand_builtin_strpbrk,
1986 expand_builtin_strncat, expand_builtin_strspn,
1987 expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
1988 code.
1989
8cb66696
UW
19902004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
1991
1992 * config/s390/s390-protos.h (s390_expand_logical_operator): Add
1993 prototype.
1994 (s390_logical_operator_ok_p): Likewise.
1995 * config/s390/s390.c (s390_expand_logical_operator): New function.
1996 (s390_logical_operator_ok_p): Likewise.
1997 * config/s390/s390.md ("anddi3"): New expander.
1998 ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
1999 ("*anddi3_ss", "*anddi3_ss_inv"): Remove.
2000 ("andsi3"): Use s390_expand_logical_operator.
2001 ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
2002 ("*andsi3_ss", "*andsi3_ss_inv"): Remove.
2003 ("andhi3"): New expander.
2004 ("*andhi3_zarch", "*andhi3_esa"): New patterns.
2005 ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
2006 ("andqi3"): New expander.
2007 ("*andqi3_zarch", "*andqi3_esa"): New patterns.
2008 ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
2009 ("iordi3"): New expander.
2010 ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
2011 ("*iordi3_ss", "*iordi3_ss_inv"): Remove.
2012 ("iorsi3"): Use s390_expand_logical_operator.
2013 ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
2014 ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
2015 ("iorhi3"): New expiorer.
2016 ("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
2017 ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
2018 ("iorqi3"): New expiorer.
2019 ("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
2020 ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
2021 ("xordi3"): New expander.
2022 ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
2023 ("*xordi3_ss", "*xordi3_ss_inv"): Remove.
2024 ("xorsi3"): New expander.
2025 ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
2026 ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
2027 ("xorhi3"): New expander.
2028 ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
2029 ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
2030 ("xorqi3"): New expander.
2031 ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
2032 ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
2033
7d103eb5
RS
20342004-09-30 Roger Sayle <roger@eyesopen.com>
2035
2036 * combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
2037 (AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
2038 machine mode as the result.
2039
dc4f06d9
BE
20402004-09-30 Ben Elliston <bje@au.ibm.com>
2041
2042 PR bootstrap/17761
2043 * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
2044 FOR_EACH_EDGE macros.
2045
9bf24266
JM
20462004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
2047
2048 * c-tree.h (readonly_error): Remove.
2049 * c-typeck (enum lvalue_use): New.
2050 (lvalue_or_else, readonly_error): Use it. All callers changed.
2051 (readonly_error): Make static.
2052
a7102479
JH
20532004-09-30 Jan Hubicka <jh@suse.cz>
2054
2055 PR debug/13974
2056 * cfgrtl.c (try_redirect_by_replacing_jump,
2057 force_nonfallthru_and_redirect, commit_one_edge_insertion,
2058 cfg_layout_merge_blocks): Do not attach any line number information
2059 to newly inserted instructions.
2060 * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
2061 emit_insn_*_noloc.
2062 (emit_*insn_before, emit_insn*_after): New.
2063 (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
2064 existing locators.
2065 * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
2066 (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
2067
91086990
UW
20682004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
2069
2070 * config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
2071 (s390_return_address_offset): Remove.
2072 (s390_can_eliminate): Add prototype.
2073 (s390_initial_elimination_offset): Add prototype.
2074 * config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
2075 (INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
2076 * config/s390/s390.c (s390_arg_frame_offset): Remove.
2077 (s390_return_address_offset): Remove.
2078 (s390_can_eliminate, s390_initial_elimination_offset): New functions.
2079 (struct machine_function): New member split_branches_pending_p.
2080 (s390_mainpool_start): Allow nonexistant pool insn for empty pool.
2081 (s390_mainpool_finish): Likewise. Clear base_reg if pool empty.
2082 (s390_optimize_prologue): Remove base_used argument. Call
2083 s390_update_frame_layout instead of s390_register_info. Handle
2084 prologue/epilogue insns that touch only RETURN_REGNUM.
2085 (s390_reorg): Remove base_used. Clear split_branches_pending_p.
a1c496cb 2086 (s390_register_info): Remove base_used and return_addr_used
91086990
UW
2087 arguments, compute special register usage inline. Return live
2088 register data to caller.
2089 (s390_frame_info): Remove arguments, do not call s390_register_info.
2090 (s390_init_frame_layout): New function.
2091 (s390_update_frame_layout): Likewise.
2092 (s390_emit_prologue): Call s390_update_frame_layout; some code
2093 move to there. Do not emit pool placeholder insn if unnecessary.
2094
13c025c1
UW
20952004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
2096
2097 * config/s390/s390.c (legitimate_reload_constant_p): Remove
2098 floating point constant workaround.
2099 (s390_secondary_input_reload_class): Handle PLUS reloads
2100 with too-large constant.
2101 (s390_expand_plus_operand): Likewise.
2102 * config/s390/s390.md ("movdi"): Do not call force_const_mem.
2103 ("movsi"): Likewise. Also, remove workaround for non-general
2104 operands.
2105 ("movdf"): Do not call force_const_mem.
2106 ("movsf"): Likewise. Merge expander with *movsf insn.
2107 ("*movsf"): Remove, merge with movsf expander.
2108
99b2692a
PB
21092004-09-30 Paul Brook <paul@codesourcery.com>
2110
2111 * config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
2112 (ENDFILE_SPEC): Define.
2113 * config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
2114
3ac7c0f2
RH
21152004-09-30 Richard Henderson <rth@redhat.com>
2116
2117 * config/alpha/qrnnd.asm: Mark for noexecstack.
2118
75b80704
KH
21192004-09-30 Kazu Hirata <kazu@cs.umass.edu>
2120
2121 * protoize.c, tree-cfg.c: Fix comment typos.
2122
254ac10c
JM
21232004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
2124
2125 PR c/17730
2126 * c-typeck.c (lvalue_or_else): Pass msgid directly to error.
2127
20c16b36
DN
21282004-09-30 Diego Novillo <dnovillo@redhat.com>
2129
2130 * tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
2131 expressions...
2132 (add_pointed_to_expr): ... here.
2133 Call add_pointed_to_expr for variables with DECL_INITIAL set.
2134 * tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
2135 pointer variable, if set.
2136
8b0add27
KH
21372004-09-30 Kazu Hirata <kazu@cs.umass.edu>
2138
2139 * config/sh/sh.c: Follow spelling conventions.
2140
282efe1c
RH
21412004-09-29 Richard Henderson <rth@redhat.com>
2142
2143 * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
2144 * doc/tm.texi (DWARF_ZERO_REG): New.
2145
2146 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
2147 alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
2148 * config/alpha/alpha.h (DWARF_ZERO_REG): New.
2149
7ce3fc8f
UW
21502004-09-29 Ulrich Weigand <uweigand@de.ibm.com>
2151
2152 * builtins.c (expand_builtin_strlen): Do not call emit_move_insn
2153 with a PLUS as source operand.
2154 (expand_movstr): Likewise.
2155 (expand_builtin_stpcpy): Likewise.
2156
e670d9e4
RH
21572004-09-29 Richard Henderson <rth@redhat.com>
2158
2159 PR 17739
2160 * tree-gimple.c (is_gimple_reg): Reject hard registers.
2161 (is_gimple_asm_val): New.
2162 * tree-gimple.h (is_gimple_asm_val): Declare.
2163 * gimplify.c (gimplify_asm_expr): Use it.
2164 * tree-pretty-print.c (print_declaration): Dump hard regs.
2165 * tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
2166 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
2167 * tree-ssa-pre.c (is_undefined_value): Likewise.
2168 * tree-ssa-copy.c (may_propagate_copy): Likewise.
2169 (may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
2170 * tree-ssa.c (warn_uninit): Likewise.
2171 * tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
2172
2587f865
FJ
21732004-09-29 Fariborz Jahanian <fjahanian@apple.com>
2174
2175 * c-decl.c (merge_decls): Use comptype when comparing
2176 types to decide on DECL_SIZE save of olddecl.
2177
1b096a0a
DB
21782004-09-29 Daniel Berlin <dberlin@dberlin.org>
2179
2180 * tree.h (INDIRECT_REF_P): New macro.
2181 * alias.c (get_alias_set): Use it
2182 (nonoverlapping_memrefs_p): Ditto.
2183 * emit-rtl.c (mem_expr_equal_p): Ditto.
2184 (set_mem_attributes_minus_bitpos): Ditto.
2185 (is_gimple_addressable): Ditto.
2186 (get_base_address): Ditto.
2187 * tree-ssa-alias.c (find_ptr_derefernece): Ditto.
2188 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
2189 * tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
2190 * tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
2191 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
2192 (add_address_candidates): Ditto.
2193 (rewrite_address_base): Ditto.
2194
2a7cd686
BE
21952004-09-30 Ben Elliston <bje@au.ibm.com>
2196
2197 * tree-flow.h (struct bb_ann_d): Remove num_preds member.
2198 * tree-into-ssa.c (rewrite_into_ssa): Don't set it.
2199 (rewrite_ssa_into_ssa): Likewise.
2200 * tree-phinodes.c (create_phi_node): Access the number of
2201 predecessor edges using EDGE_COUNT() and not num_preds.
2202
302a2cc5
JM
22032004-09-29 Joseph S. Myers <jsm@polyomino.org.uk>
2204
2205 PR c/7425
2206 * c-decl.c (merge_decls): Merge TREE_DEPRECATED.
2207
3e6688a7
EC
22082004-09-29 Eric Christopher <echristo@redhat.com>
2209
2210 * fold-const.c (tree_swap_operands_p): Remove duplicated code.
2211
8820e4be
HPN
22122004-09-29 Hans-Peter Nilsson <hp@axis.com>
2213
2214 * config/cris/cris.md (moverside, movemside): With MEM, make sure
2215 the address is (plus reg mem).
2216
d962e7ad
DE
22172004-09-29 David Edelsohn <edelsohn@gnu.org>
2218
2219 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
2220
c4b3f0eb
NS
22212004-09-29 Nathan Sidwell <nathan@codesourcery.com>
2222
2223 * tree.c (make_node_stat): Fix uninitialized warning. Replace
2224 cascaded if ... else if with a switch.
2225
b4f69040
AL
22262004-09-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2227
2228 * read-rtl.c (apply_macro_to_string): Replace index with strchr.
2229
58c8adc1
JJ
22302004-09-29 Jakub Jelinek <jakub@redhat.com>
2231
2232 * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
2233 and TI_VA_LIST_FPR_COUNTER_FIELD.
2234 (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
2235 * tree-pass.h (pass_stdarg): Add.
2236 * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
2237 * tree-stdarg.c: New file.
2238 * Makefile.in (OBJS-common): Add tree-stdarg.o.
2239 (tree-stdarg.o): Add dependencies.
2240 * function.h (struct function): Add va_list_gpr_size and
2241 va_list_fpr_size fields.
2242 * function.c (allocate_struct_function): Initialize them.
2243
2244 * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
2245 va_list_{g,f}pr_counter_field.
2246 (ix86_setup_incoming_varargs): Don't do anything if reg_save
2247 area will not be used. Only save registers that tree-stdarg.c
2248 detected they need saving.
2249 (ix86_va_start): Don't set up fields that won't be used.
2250
2251 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
2252 va_list_{g,f}pr_counter_field.
2253 (setup_incoming_varargs): Don't do anything if reg_save
2254 area will not be used. Only save registers that tree-stdarg.c
2255 detected they need saving.
2256 (rs6000_va_start): Don't set up fields that won't be used.
2257
0d5b215c
JJ
22582004-09-29 Jakub Jelinek <jakub@redhat.com>
2259
2260 * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
2261 BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
2262 BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
2263 BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
2264 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
2265 ATTR_NONNULL_1_4): New.
2266
a7d6ba24
JJ
22672004-09-29 Jakub Jelinek <jakub@redhat.com>
2268
2269 PR tree-optimization/17697
2270 * tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
2271 cfg if needed.
2272
50fd1c97
PB
22732004-09-28 Per Bothner <per@bothner.com>
2274
ac973ace 2275 * profile.c (branch_prob): Pass correct value to output_location,
50fd1c97
PB
2276 even when USE_MAPPED_LOCATION. Fixes bug from 09-11.
2277
aa24864c
RH
22782004-09-28 Richard Henderson <rth@redhat.com>
2279
2280 PR 15089
2281 * tree-ssa-copy.c (may_propagate_copy_into_asm): New.
2282 * tree-flow.h (may_propagate_copy_into_asm): Declare.
2283 * tree-ssa-ccp.c (replace_uses_in): Use it.
2284 * tree-ssa-dom.c (cprop_operand): Likewise.
2285
e376fe58
JL
22862004-09-28 Jeff Law <law@redhat.com>
2287
2288 * tree-ssa-threadupdate.c (create_block_for_threading): Request
2289 that no outgoing edges be left in the duplicate block. Do no
2290 update information on outgoing edges or PHI nodes in target
2291 blocks here.
2292 (remove_ctrl_stmt_and_useless_edges): Renamed from
2293 remove_last_stmt_and_useless_edges. Handle case where the
2294 block is empty or has no control statements. Do not update edge
2295 flags here.
2296 (thread_block): Create a template block rather than copying the
2297 original block every time. Create outgoing edges from the
2298 duplicate blocks and update PHIs at the target of the outgoing
2299 edges here. Fix edge flags for the original block if necessary.
2300 * cfghooks (duplicate_block): No longer assert that the original
2301 block has incoming edges.
2302
805c33df
HPN
23032004-09-29 Hans-Peter Nilsson <hp@bitrange.com>
2304
2305 * doc/extend.texi (Extended Asm): Add blurb about using Explicit
2306 Reg Vars to enforce register allocation with general constraints.
2307 (Explicit Reg Vars): Clarify relation to asm statements.
2308 (Local Reg Vars): Similar.
2309
dcda8480
UW
23102004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
2311
2312 * sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
2313 TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
2314 build_control_flow, new_edge): Remove.
2315 (schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
2316 (bitlst, bitlst_table_last, bitlst_table): Remove.
2317 (bblst): Store basic_block pointer instead of block index.
2318 (bblst_table): Likewise.
2319 (edgelst): Store edge pointer instead of edge index.
2320 (edgelst_table, edgelst_last): New variables.
2321 (extract_bitlst): Rename to ...
2322 (extract_edgelst): ... this. Return edge pointers, not indices.
2323 (split_edges): Update call.
2324 (rgn_edges): Store edge pointers instead of indices.
2325 (edge_to_bit): Remove.
2326 (EDGE_TO_BIT): Store per-region edge index in edge->aux.
2327 (SET_EDGE_TO_BIT): New macro.
2328 (is_cfg_nonregular): Check for simple cases of unreachable blocks.
2329 (find_rgns): Remove edge_list parameter. Traverse standard CFG
2330 data structures instead of haifa_edge et al. Use edge pointers
2331 instead of edge indices everywhere.
2332 (compute_dom_prob_ps): Use standard CFG data structures. Account
2333 for exit edges.
2334 (compute_trg_info): Likewise.
2335 (propagate_deps): Likewise.
2336 (debug_candidate): Account for bblst data structure change.
2337 (check_live_1, update_live_1, is_pfree): Likewise.
2338 (IS_REACHABLE): Use standard CFG data structures.
2339 (init_ready_list): Update bblst_table/edgelst_table allocation.
2340 (schedule_region): Update alloc/cleanup code to data structure
2341 changes. Use edge->aux to store per-region edge index.
2342 (init_regions): No longer call build_control_flow. Do not
2343 create edge list any more.
2344
2f39b6ca
UW
23452004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
2346
2347 * cse.c (cse_insn): Avoid creating direct non-local jumps.
2348 * combine.c (can_combine_p): Likewise.
2349 * local-alloc. (update_equiv_regs): Likewise.
2350
b0b324b0
RH
23512004-09-28 Richard Henderson <rth@redhat.com>
2352
2353 PR 17531
2354 * expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
2355 Don't check VOIDmode here. Force PLUS operands to common type.
2356 (expand_expr_addr_expr): Do VOIDmode check earlier. Force use of
2357 Pmode if given a non pointer type.
2358
23592004-09-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2360
2361 PR 17531
2362 * optabs.c (expand_binop): Force constants to the correct mode.
2363
ea77e738
UW
23642004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
2365
2366 * config/s390/s390.c (s390_adjust_cost): Remove.
2367 (TARGET_SCHED_ADJUST_COST): Do not redefine.
2368 (s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
3e6688a7 2369 * config/s390/s390.md ("main_pool"): Use "larl" type
ea77e738
UW
2370 attribute if TARGET_CPU_ZARCH.
2371
9924d7d8
JJ
23722004-09-28 Jakub Jelinek <jakub@redhat.com>
2373
2374 * config/ia64/ia64.c (ia64_expand_prologue): Declare ei
2375 variable.
2376
81842e1b
DN
23772004-09-28 Diego Novillo <dnovillo@redhat.com>
2378
2379 * tree-ssa-loop.c (pass_record_bounds): Do not assign a
2380 name to the pass.
2381
21ef99b8
SB
23822004-09-28 Steven Bosscher <stevenb@suse.de>
2383
2384 * common.opt (flag_gcse_sm): Disable by default.
2385 (flag_gcse_las): Likewise.
2386 (flag_web): Likewise. Create from this file.
2387 * flags.h: Remove flag_web declaration.
2388 * toplev.c (flag_web): Likewise.
2389 (process_options): Never set flag_web.
2390
78492bf5
SB
23912004-09-28 Steven Bosscher <stevenb@suse.de>
2392
2393 * Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
2394 * tree-ssa-propagate.c: Include vec.h.
2395 (interesting_ssa_edges, varying_ssa_edges): Make these VECs
2396 instead of varrays.
2397 (cfg_blocks_add): Assert the block is not already in the worklist.
2398 Update uses of interesting_ssa_edges and varying_ssa_edges.
2399 (process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
2400 ssa_propagate): Likewise.
2401
ef787822
JM
24022004-09-28 Joseph S. Myers <jsm@polyomino.org.uk>
2403
2404 PR c/16409
2405 * c-decl.c (start_decl): Check for initializing incomplete array
2406 of VLAs.
2407 (build_compound_literal): Check for TYPE being error_mark_node.
2408 * c-parse.in (primary): Check for VLA compound literals.
2409
c3b8e9aa
DN
24102004-09-28 Diego Novillo <dnovillo@redhat.com>
2411
2412 * tree-ssa-live.c (calculate_live_on_entry): Fix warnings
2413 with --disable-checking.
2414
56bac5af
DP
24152004-09-28 Devang Patel <dpatel@apple.com>
2416
2417 * tree-pretty-print.c (dump_generic_node): Print vector types.
3e6688a7 2418
cc15e98f
NC
24192004-09-28 Nick Clifton <nickc@redhat.com>
2420
2421 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Replace with an
2422 invocation of the function sh_init_cumulative_args.
2423 (INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
2424 (INIT_CUMULATIVE_INCOMING_ARGS): Delete.
2425 * config/sh/sh-protos.h: Prototype sh_init_cumulative_args.
2426 * config/sh/sh.c (sh_init_cumulative_args): New function based
2427 on the contents of the old INIT_CUMULATIVE_ARGS macro but with a
2428 heuristic added to determine the setting of force_mem when a
2429 library function is being called.
2430
ee1f0fb0
DN
24312004-09-28 Diego Novillo <dnovillo@redhat.com>
2432
2433 * tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
2434 Skip constant arguments.
2435
38e05395
DN
24362004-09-28 Diego Novillo <dnovillo@redhat.com>
2437
2438 * tree-ssa-alias.c (create_name_tags): If PTR points to a
2439 volatile type, mark the tag volatile.
2440 (get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
2441 volatile.
2442
45fbb186
AP
24432004-09-28 Andrew Pinski <pinskia@physics.uc.edu>
2444
2445 * tree.def (vec_cond_expr): Fix. Change 'e'
2446 to tcc_expression.
2447
c2b7c2d8
KH
24482004-09-28 Kazu Hirata <kazu@cs.umass.edu>
2449
2450 * basic-block.h: Fix a comment typo.
2451
6dbd43ba
KH
24522004-09-28 Kazu Hirata <kazu@cs.umass.edu>
2453
2454 * optabs.c, optabs.h: Fix comment typos.
2455
ecaa611b
EB
24562004-09-28 Eric Botcazou <ebotcazou@act-europe.fr>
2457
2458 * config/sparc/sparc.md (call_address_struct_value_sp32):
2459 Properly mask the immediate field of the 'unimp' instruction.
2460 (call_symbolic_struct_value_sp32): Likewise.
2461
2a7cd686 24622004-09-28 Ben Elliston <bje@au.ibm.com>
628f6a4e
BE
2463 Steven Bosscher <stevenb@suse.de>
2464 Andrew Pinski <pinskia@physics.uc.edu>
2465
2466 Merge from edge-vector-branch:
2467 * basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
2468 (struct edge_def): Remove pred_next, succ_next members.
2469 (struct basic_block_def): Remove pred, succ members. Add preds
2470 and succs members of type VEC(edge).
2471 (FALLTHRU_EDGE): Redefine using EDGE_SUCC.
2472 (BRANCH_EDGE): Likewise.
2473 (EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
2474 (EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
2475 (edge_iterator): New.
2476 (ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
2477 (ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
2478 (FOR_EACH_EDGE): New.
2479 * bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
2480 where applicable.
2481 (rotate_loop): Likewise.
2482 (find_traces_1_route): Likewise.
2483 (bb_to_key): Likewise.
2484 (connect_traces): Likewise.
2485 (copy_bb_p): Likewise.
2486 (find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
2487 (add_labels_and_missing_jumps): Likewise.
2488 (fix_up_fall_thru_edges): Likewise.
2489 (find_jump_block): Likewise.
2490 (fix_crossing_conditional_branches): Likewise.
2491 (fix_crossing_unconditional_branches): Likewise.
2492 (add_reg_crossing_jump_notes): Likewise.
2493 * bt-load.c (augment_live_range): Likewise.
2494 * cfg.c (clear_edges): Likewise.
2495 (unchecked_make_edge): Likewise.
2496 (cached_make_edge): Likewise.
2497 (make_single_succ_edge): Likewise.
2498 (remove_edge): Likewise.
2499 (redirect_edge_succ_nodup): Likewise.
2500 (check_bb_profile): Likewise.
2501 (dump_flow_info): Likewise.
2502 (alloc_aux_for_edges): Likewise.
2503 (clear_aux_for_edges): Likewise.
2504 (dump_cfg_bb_info): Likewise.
2505 * cfganal.c (forwarder_block_p): Likewise.
2506 (can_fallthru): Likewise.
2507 (could_fall_through): Likewise.
2508 (mark_dfs_back_edges): Likewise.
2509 (set_edge_can_fallthru_flag): Likewise.
2510 (find_unreachable_blocks): Likewise.
2511 (create_edge_list): Likewise.
2512 (verify_edge_list): Likewise.
2513 (add_noreturn_fake_exit_edges): Likewise.
2514 (connect_infinite_loops_to_exit): Likewise.
2515 (flow_reverse_top_sort_order_compute): Likewise.
2516 (flow_depth_first_order_compute): Likewise.
2517 (flow_preorder_transversal_compute): Likewise.
2518 (flow_dfs_compute_reverse_execute): Likewise.
2519 (dfs_enumerate_from): Likewise.
2520 (compute_dominance_frontiers_1): Likewise.
2521 * cfgbuild.c (make_edges): Likewise.
2522 (compute_outgoing_frequencies): Likewise.
2523 (find_many_sub_basic_blocks): Likewise.
2524 (find_sub_basic_blocks): Likewise.
2525 * cfgcleanup.c (try_simplify_condjump): Likewise.
2526 (thread_jump): Likewise.
2527 (try_forward_edges): Likewise.
2528 (merge_blocks_move): Likewise.
2529 (outgoing_edges_match): Likewise.
2530 (try_crossjump_to_edge): Likewise.
2531 (try_crossjump_bb): Likewise.
2532 (try_optimize_cfg): Likewise.
2533 (merge_seq_blocks): Likewise.
2534 * cfgexpand.c (expand_gimple_tailcall): Likewise.
2535 (expand_gimple_basic_block): Likewise.
2536 (construct_init_block): Likewise.
2537 (construct_exit_block): Likewise.
2538 * cfghooks.c (verify_flow_info): Likewise.
2539 (dump_bb): Likewise.
2540 (delete_basic_block): Likewise.
2541 (split_edge): Likewise.
2542 (merge_blocks): Likewise.
2543 (make_forwarder_block): Likewise.
2544 (tidy_fallthru_edges): Likewise.
2545 (can_duplicate_block_p): Likewise.
2546 (duplicate_block): Likewise.
2547 * cfglayout.c (fixup_reorder_chain): Likewise.
2548 (fixup_fallthru_exit_predecessor): Likewise.
2549 (can_copy_bbs_p): Likewise.
2550 (copy_bbs): Likewise.
2551 * cfgloop.c (flow_loops_cfg_dump): Likewise.
2552 (flow_loop_entry_edges_find): Likewise.
2553 (flow_loop_exit_edges_find): Likewise.
2554 (flow_loop_nodes_find): Likewise.
2555 (mark_single_exit_loops): Likewise.
2556 (flow_loop_pre_header_scan): Likewise.
2557 (flow_loop_pre_header_find): Likewise.
2558 (update_latch_info): Likewise.
2559 (canonicalize_loop_headers): Likewise.
2560 (flow_loops_find): Likewise.
2561 (get_loop_body_in_bfs_order): Likewise.
2562 (get_loop_exit_edges): Likewise.
2563 (num_loop_branches): Likewise.
2564 (verify_loop_structure): Likewise.
2565 (loop_latch_edge): Likewise.
2566 (loop_preheader_edge): Likewise.
2567 * cfgloopanal.c (mark_irreducible_loops): Likewise.
2568 (expected_loop_iterations): Likewise.
2569 * cfgloopmanip.c (remove_bbs): Likewise.
2570 (fix_bb_placement): Likewise.
2571 (fix_irreducible_loops): Likewise.
2572 (remove_path): Likewise.
2573 (scale_bbs_frequencies): Likewise.
2574 (loopify): Likewise.
2575 (unloop): Likewise.
2576 (fix_loop_placement): Likewise.
2577 (loop_delete_branch_edge): Likewise.
2578 (duplicate_loop_to_header_edge): Likewise.
2579 (mfb_keep_just): Likewise.
2580 (create_preheader): Likewise.
2581 (force_single_succ_latches): Likewise.
2582 (loop_split_edge_with): Likewise.
2583 (create_loop_notes): Likewise.
2584 * cfgrtl.c (rtl_split_block): Likewise.
2585 (rtl_merge_blocks): Likewise.
2586 (rtl_can_merge_blocks): Likewise.
2587 (try_redirect_by_replacing_jump): Likewise.
2588 (force_nonfallthru_and_redirect): Likewise.
2589 (rtl_tidy_fallthru_edge): Likewise.
2590 (commit_one_edge_insertion): Likewise.
2591 (commit_edge_insertions): Likewise.
2592 (commit_edge_insertions_watch_calls): Likewise.
2593 (rtl_verify_flow_info_1): Likewise.
2594 (rtl_verify_flow_info): Likewise.
2595 (purge_dead_edges): Likewise.
2596 (cfg_layout_redirect_edge_and_branch): Likewise.
2597 (cfg_layout_can_merge_blocks_p): Likewise.
2598 (rtl_flow_call_edges_add): Likewise.
2599 * cse.c (cse_cc_succs): Likewise.
2600 * df.c (hybrid_search): Likewise.
2601 * dominance.c (calc_dfs_tree_nonrec): Likewise.
2602 (calc_dfs_tree): Likewise.
2603 (calc_idoms): Likewise.
2604 (recount_dominator): Likewise.
2605 * domwalk.c (walk_dominator_tree): Likewise.
2606 * except.c (emit_to_new_bb_before): Likewise.
2607 (connect_post_landing_pads): Likewise.
2608 (sjlj_emit_function_enter): Likewise.
2609 (sjlj_emit_function_exit): Likewise.
2610 (finish_eh_generation): Likewise.
2611 * final.c (compute_alignments): Likewise.
2612 * flow.c (calculate_global_regs_live): Likewise.
2613 (initialize_uninitialized_subregs): Likewise.
2614 (init_propagate_block_info): Likewise.
2615 * function.c (thread_prologue_and_epilogue_insns): Likewise.
2616 * gcse.c (find_implicit_sets): Likewise.
2617 (bypass_block): Likewise.
2618 (bypass_conditional_jumps): Likewise.
2619 (compute_pre_data): Likewise.
2620 (insert_insn_end_bb): Likewise.
2621 (insert_store): Likewise.
2622 (remove_reachable_equiv_notes): Likewise.
2623 * global.c (global_conflicts): Likewise.
2624 (calculate_reg_pav): Likewise.
2625 * graph.c (print_rtl_graph_with_bb): Likewise.
2626 * ifcvt.c (mark_loop_exit_edges): Likewise.
2627 (merge_if_block): Likewise.
2628 (find_if_header): Likewise.
2629 (block_jumps_and_fallthru_p): Likewise.
2630 (find_if_block): Likewise.
2631 (find_cond_trap): Likewise.
2632 (block_has_only_trap): Likewise.
2633 (find_if_case1): Likewise.
2634 (find_if_case_2): Likewise.
2635 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
2636 (perfect_nestify): Likewise.
2637 * lcm.c (compute_antinout_edge): Likewise.
2638 (compute_laterin): Likewise.
2639 (compute_available): Likewise.
2640 (compute_nearerout): Likewise.
2641 * loop-doloop.c (doloop_modify): Likewise.
2642 * loop-init.c (loop_optimizer_init): Likewise.
2643 * loop-invariant.c (find_exits): Likewise.
2644 * loop-iv.c (simplify_using_initial_values): Likewise.
2645 (check_simple_exit): Likewise.
2646 (find_simple_exit): Likewise.
2647 * loop-unroll.c (peel_loop_completely): Likewise.
2648 (unroll_loop_constant_iterations): Likewise.
2649 (unroll_loop_runtime_iterations): Likewise.
2650 * loop-unswitch.c (may_unswitch_on): Likewise.
2651 (unswitch_loop): Likewise.
2652 * modulo-sched.c (generate_prolog_epilog): Likewise.
2653 (sms_schedule): Likewise.
2654 * postreload-gcse.c (eliminate_partially_redundant_load):
2655 Likewise.
2656 * predict.c (can_predict_insn_p): Likewise.
2657 (set_even_probabilities): Likewise.
2658 (combine_predictions_for_bb): Likewise.
2659 (predict_loops): Likewise.
2660 (estimate_probability): Likewise.
2661 (tree_predict_by_opcode): Likewise.
2662 (tree_estimate_probability): Likewise.
2663 (last_basic_block_p): Likewise.
2664 (propagate_freq): Likewise.
2665 (estimate_loops_at_level): Likewise.
2666 (estimate_bb_frequencies): Likewise.
2667 * profile.c (instrument_edges): Likewise.
2668 (get_exec_counts): Likewise.
2669 (compute_branch_probabilities): Likewise.
2670 (branch_prob): Likewise.
2671 * ra-build.c (live_in): Likewise.
2672 * ra-rewrite.c (rewrite_program2): Likewise.
2673 * ra.c (reg_alloc): Likewise.
2674 * reg-stack.c (reg_to_stack): Likewise.
2675 (convert_regs_entry): Likewise.
2676 (compensate_edge): Likewise.
2677 (convert_regs_1): Likewise,
2678 (convert_regs_2): Likewise.
2679 (convert_regs): Likewise.
2680 * regrename.c (copyprop_hardreg_forward): Likewise.
2681 * reload1.c (fixup_abnormal_edges): Likewise.
2682 * sbitmap.c (sbitmap_intersection_of_succs): Likewise.
2683 (sbitmap_insersection_of_preds): Likewise.
2684 (sbitmap_union_of_succs): Likewise.
2685 (sbitmap_union_of_preds): Likewise.
2686 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
2687 (fix_basic_block_boundaries): Likewise.
2688 (sched_ebbs): Likewise.
2689 * sched-rgn.c (build_control_flow): Likewise.
2690 (find_rgns): Likewise.
2691 * tracer.c (find_best_successor): Likewise.
2692 (find_best_predecessor): Likewise.
2693 (tail_duplicate): Likewise.
2694 * tree-cfg.c (make_edges): Likewise.
2695 (make_ctrl_stmt_edges): Likewise.
2696 (make_goto_expr_edges): Likewise.
2697 (tree_can_merge_blocks_p): Likewise.
2698 (tree_merge_blocks): Likewise.
2699 (cfg_remove_useless_stmts_bb): Likewise.
2700 (remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
2701 (tree_block_forwards_to): Likewise.
2702 (cleanup_control_expr_graph): Likewise.
2703 (find_taken_edge): Likewise.
2704 (dump_cfg_stats): Likewise.
2705 (tree_cfg2vcg): Likewise.
2706 (disband_implicit_edges): Likewise.
2707 (tree_find_edge_insert_loc): Likewise.
2708 (bsi_commit_edge_inserts): Likewise.
2709 (tree_split_edge): Likewise.
2710 (tree_verify_flow_info): Likewise.
2711 (tree_make_forwarder_block): Likewise.
2712 (tree_forwarder_block_p): Likewise.
2713 (thread_jumps): Likewise.
2714 (tree_try_redirect_by_replacing_jump): Likewise.
2715 (tree_split_block): Likewise.
2716 (add_phi_args_after_copy_bb): Likewise.
2717 (rewrite_to_new_ssa_names_bb): Likewise.
2718 (dump_function_to_file): Likewise.
2719 (print_pred_bbs): Likewise.
2720 (print_loop): Likewise.
2721 (tree_flow_call_edges_add): Likewise.
2722 (split_critical_edges): Likewise.
2723 (execute_warn_function_return): Likewise.
2724 (extract_true_false_edges_from_block): Likewise.
2725 * tree-if-conv.c (tree_if_conversion): Likewise.
2726 (if_convertable_bb_p): Likewise.
2727 (find_phi_replacement_condition): Likewise.
2728 (combine_blocks): Likewise.
2729 * tree-into-ssa.c (compute_global_livein): Likewise.
2730 (ssa_mark_phi_uses): Likewise.
2731 (ssa_rewrite_initialize_block): Likewise.
2732 (rewrite_add_phi_arguments): Likewise.
2733 (ssa_rewrite_phi_arguments): Likewise.
2734 (insert_phi_nodes_for): Likewise.
2735 (rewrite_into_ssa): Likewise.
2736 (rewrite_ssa_into_ssa): Likewise.
2737 * tree-mudflap.c (mf_build_check_statement_for): Likewise.
2738 * tree-outof-ssa.c (coalesce_abnormal_edges): Likewise.
2739 (rewrite_trees): Likewise.
2740 * tree-pretty-print.c (dump_bb_header): Likewise.
2741 (dump_implicit_edges): Likewise.
2742 * tree-sra.c (insert_edge_copies): Likewise.
2743 (find_obviously_necessary_stmts): Likewise.
2744 (remove_data_stmt): Likewise.
2745 * tree-ssa-dom.c (thread_across_edge): Likewise.
2746 (dom_opt_finalize_block): Likewise.
2747 (single_incoming_edge_ignoring_loop_edges): Likewise.
2748 (record_equivalences_from_incoming_edges): Likewise.
2749 (cprop_into_successor_phis): Likewise.
2750 * tree-ssa-live.c (live_worklist): Likewise.
2751 (calculate_live_on_entry): Likewise.
2752 (calculate_live_on_exit): Likewise.
2753 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
2754 (copy_loop_headers): Likewise.
2755 * tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
2756 (fill_always_executed_in): Likewise.
2757 * tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
2758 * tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise.
2759 (compute_phi_arg_on_exit): Likewise.
2760 * tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise.
2761 (get_loops_exit): Likewise.
2762 (split_loop_exit_edge): Likewise.
2763 (ip_normal_pos): Likewise.
2764 * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
2765 Likewise.
2766 * tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise.
2767 (replace_phi_with_stmt): Likewise.
2768 (value_replacement): Likewise.
2769 * tree-ssa-pre.c (compute_antic_aux): Likewise.
2770 (insert_aux): Likewise.
2771 (init_pre): Likewise.
2772 * tree-ssa-propagate.c (simulate_stmt): Likewise.
2773 (simulate_block): Likewise.
2774 (ssa_prop_init): Likewise.
3e6688a7 2775 * tree-ssa-threadupdate.c (thread_block): Likewise.
628f6a4e
BE
2776 (create_block_for_threading): Likewise.
2777 (remove_last_stmt_and_useless_edges): Likewise.
2778 * tree-ssa.c (verify_phi_args): Likewise.
2779 (verify_ssa): Likewise.
2780 * tree_tailcall.c (independent_of_stmt_p): Likewise.
2781 (find_tail_calls): Likewise.
2782 (eliminate_tail_call): Likewise.
2783 (tree_optimize_tail_calls_1): Likewise.
2784 * tree-vectorizer.c (vect_transform_loop): Likewise.
2785 * var-tracking.c (prologue_stack_adjust): Likewise.
2786 (vt_stack_adjustments): Likewise.
2787 (vt_find_locations): Likewise.
2788 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
2789 * config/i386/i386.c (ix86_pad_returns): Likewise.
2790 * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
2791 * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
2792
5be9b7a1
EB
27932004-09-28 Eric Botcazou <ebotcazou@libertysurf.fr>
2794
2795 PR target/16532
2796 * config/sparc/sparc.c (struct machine_function): New field
2797 'leaf_function_p' and 'prologue_data_valid_p'.
2798 (sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro
2799 to conveniently access the above fields.
2800 (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete.
2801 (eligible_for_return_delay): Use 'sparc_leaf_function_p' instead
2802 of the generic flavor 'current_function_uses_only_leaf_regs'.
2803 (eligible_for_sibcall_delay): Likewise.
2804 (sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set
2805 'sparc_prologue_data_valid_p'. Use 'sparc_leaf_function_p'.
2806 (sparc_asm_function_prologue): Add sanity check for the assumption
2807 made in 'sparc_expand_prologue'. Use 'sparc_leaf_function_p'.
2808 (sparc_can_use_return_insn_p): New function.
2809 (sparc_expand_epilogue): Use 'sparc_leaf_function_p'.
2810 (output_restore): Likewise.
2811 (output_sibcall): Likewise.
2812 (sparc_output_mi_thunk): Likewise.
2813 * config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare.
2814 * config/sparc/sparc.md (return): New expander.
2815
2816 * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak.
2817
455f19cb
MM
28182004-09-27 Mark Mitchell <mark@codesourcery.com>
2819
2820 PR c++/17642
2821 * stor-layout.c (layout_decl): Use fold_convert, not convert.
2822 (bit_from_pos): Likewise.
2823 (byte_from_pos): Likewise.
2824 (pos_from_bit): Likewise.
2825 (normalize_offset): Likewise.
2826 (place_field): Likewise.
2827 (finalize_type_size): Likewise.
2828 (layout_type): Likewise.
2829 * tree.c (build_index_type): Likewise.
2830
7ce67fbe
DP
28312004-09-27 Devang Patel <dpatel@apple.com>
2832
2833 * expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
2834 * genopinit.c (optabs): New entry for vcond_gen_code and
2835 vcondu_gen_code.
2836 * optabs.c (vcond_gen_code, vcondu_gen_code): New optabs.
2837 (get_rtx_code): New function.
2838 (vector_compare_rtx): New function.
2839 (init_optabs): Initialize vcond_gen_code and vcondu_gen_code.
2840 (expand_vec_cond_expr_p): New function.
2841 (expand_vec_cond_expr): New function.
2842 (get_vcond_icode): New function.
2843 * optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs.
2844 (vcond_gen_code, vcondu_gen_code): Same.
2845
55040e7a
KC
28462004-09-27 Kelley Cook <kcook@gcc.gnu.org>
2847
2848 * Makefile.in (STAGESTUFF): Split into ...
2849 (STAGECOPYSTUFF, STAGEMOVESTUFF): ... these.
2850 (mostlyclean): Update.
2851 (stage1-start, stage2-start, stage3-start, stage4-start,
2852 stageprofile-start, stagefeedback-start): Copy the STAGECOPYSTUFF.
2853 Move the STAGEMOVESTUFF.
2854
f6260033
EB
28552004-09-27 Eric Botcazou <ebotcazou@libertysurf.fr>
2856
2857 * system.h (getpagesize): Return 'int' instead of 'long'.
2858
49f41d06
MM
28592004-09-27 Michael Matz <matz@suse.de>
2860
2861 PR bootstrap/17698
2862 PR bootstrap/17702
2863 * bitmap.h (bmp_iter_single_init, bmp_iter_and_not_init,
2864 bmp_iter_and_init): Shift by bit_in_word.
2865
a62322c4
KC
28662004-09-27 Kelley Cook <kcook@gcc.gnu.org>
2867
2868 * aclocal.m4: Quote m4_includes. Include ../config/gcc-lib-path.m4.
2869 * configure.ac: Don't sinclude it here.
2870 * configure: Regenerate.
2871
850e8d3d
DN
28722004-09-27 Dorit Naishlos <dorit@il.ibm.com>
2873
2874 * config/rs6000/rs6000.c (rs6000_legitimate_address, print_operand):
2875 Handle AND pattern
2876
5e9bda65
JM
28772004-09-27 Joseph S. Myers <jsm@polyomino.org.uk>
2878
2879 PR c/13804
2880 * c-typeck.c (build_component_ref): Name type involved in
2881 diagnostic for structure or union without a member of the given
2882 name.
2883
43f51151
DD
28842004-09-27 DJ Delorie <dj@redhat.com>
2885
2886 * config/stormy16/stormy16.c (xstormy16_asm_output_aligned_common):
2887 .comm alignment is bytes, not bits.
2888
6337c1a2
DP
28892004-09-27 Devang Patel <dpatel@apple.com>
2890
2891 * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
2892 (print_call_name): Do not print VEC_COND_EXPR.
6337c1a2 2893
7e200b50
DP
28942004-09-27 Devang Patel <dpatel@apple.com>
2895
2896 * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
3e6688a7 2897
8c1e80e9
JH
28982004-09-27 Jan Hubicka <jh@suse.cz>
2899
2900 * i386.c (athlon_cost, k8_cost): Set BRANCH_COST to 5.
2901
75e50bd2
KH
29022004-09-27 Kazu Hirata <kazu@cs.umass.edu>
2903
2904 * bitmap.h: Fix a comment typo.
2905
94c1e7ac
AL
29062004-09-27 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
2907
2908 * libgcc2.c (getpagesize): Change type of return value to int.
2909
772299b3
MA
29102004-09-26 Matt Austern <austern@apple.com>
2911
2912 * ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're
2913 using mmap.
3e6688a7 2914
87c476a2
ZD
29152004-09-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2916
2917 * bitmap.h (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_COMPL_IN_BITMAP,
2918 EXECUTE_IF_AND_IN_BITMAP): Changed to iterator style.
2919 (bitmap_iterator): New type.
2920 (bmp_iter_common_next_1, bmp_iter_single_next_1, bmp_iter_single_init,
2921 bmp_iter_end_p, bmp_iter_single_next, bmp_iter_and_not_next_1,
2922 bmp_iter_and_not_init, bmp_iter_and_not_next, bmp_iter_and_next_1,
2923 bmp_iter_and_init, bmp_iter_and_next): New functions.
2924 * basic-block.h (EXECUTE_IF_SET_IN_REG_SET,
2925 EXECUTE_IF_AND_COMPL_IN_REG_SET, EXECUTE_IF_AND_IN_REG_SET): Changed to
2926 use iterator-style EXECUTE_IF_IN_BITMAP macros.
2927 * bitmap.c (bitmap_print): Ditto.
2928 * bt-load.c (clear_btr_from_live_range, add_btr_to_live_range,
2929 btr_def_live_range): Ditto.
2930 * cfganal.c (compute_dominance_frontiers_1) Ditto.
2931 * cgraphunit.c (convert_UIDs_in_bitmap, cgraph_characterize_statics):
2932 Ditto.
2933 * ddg.c (build_inter_loop_deps): Ditto.
2934 * df.c (FOR_EACH_BB_IN_BITMAP, df_bb_reg_info_compute, df_refs_update):
2935 Ditto.
2936 * except.c (remove_eh_handler): Ditto.
2937 * flow.c (reg_set_to_hard_reg_set): Ditto.
2938 * gcse.c (clear_modify_mem_tables): Ditto.
2939 * global.c (build_insn_chain): Ditto.
2940 * ifcvt.c (dead_or_predicable): Ditto.
2941 * loop-invariant.c (get_inv_cost, set_move_mark, move_invariant_reg):
2942 Ditto.
2943 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Ditto.
2944 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
2945 detect_web_parts_to_rebuild, delete_useless_defs, actual_spill): Ditto.
2946 * tree-cfg.c (allocate_ssa_names, tree_duplicate_sese_region,
2947 tree_purge_all_dead_eh_edges): Ditto.
2948 * tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
2949 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags,
2950 rewrite_ssa_into_ssa): Ditto.
2951 * tree-outof-ssa.c (find_replaceable_exprs): Ditto.
2952 * tree-sra.c (scan_function, decide_instantiations, scalarize_parms):
2953 Ditto.
2954 * tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape,
2955 compute_flow_sensitive_aliasing, maybe_create_global_var,
2956 dump_points_to_info_for): Ditto.
2957 * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Ditto.
2958 * tree-ssa-dse.c (dse_finalize_block): Ditto.
2959 * tree-ssa-live.c (live_worklist, calculate_live_on_entry,
2960 calculate_live_on_exit, build_tree_conflict_graph, dump_live_info):
2961 Ditto.
2962 * tree-ssa-loop-ivopts.c (find_induction_variables,
2963 find_interesting_uses, add_old_ivs_candidates, alloc_use_cost_map,
2964 determine_use_iv_costs, determine_set_costs, find_best_candidate,
2965 set_cost_up_to, create_new_ivs, remove_unused_ivs, free_loop_data):
2966 Ditto.
2967 * tree-ssa-loop-manip.c (add_exit_phis_var, add_exit_phis): Ditto.
2968 * tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
2969 add_call_read_ops): Ditto.
2970 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Ditto.
2971
69049ba0
JDA
29722004-09-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2973
2974 * pa.c (print_operand): Use non-trapping completers for UNLE, UNLT,
2975 UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons.
2976
6cbaec9e
UW
29772004-09-26 Ulrich Weigand <uweigand@de.ibm.com>
2978
2979 * builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
2980 reflect size of memory regions being compared.
2981
931e6c29
UW
29822004-09-26 Ulrich Weigand <uweigand@de.ibm.com>
2983
2984 * builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR
2985 expressions. Always clear MEM_SIZE and alias set.
2986
897f610b
RS
29872004-09-26 Roger Sayle <roger@eyesopen.com>
2988 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2989
2990 PR middle-end/17112
2991 * stor-layout.c (compute_record_mode): For records with a single
2992 field, only use the field's mode if its size matches what we'd
2993 have choosen for the record ourselves. This forces the use of
2994 BLKmode for packed records that don't completely fill a mode.
2995
5c8c573a
RS
29962004-09-26 Roger Sayle <roger@eyesopen.com>
2997
2998 PR middle-end/17151
2999 * combine.c (force_to_mode): Remove dubious early return test that
3000 inhibits further optimization.
3001
628f3b63
KH
30022004-09-26 Kazu Hirata <kazu@cs.umass.edu>
3003
3004 * profile.c: Fix a comment typo.
3005
be35cf60
ZD
30062004-09-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3007
3008 PR bootstrap/17591
3009 * tree-ssa-loop-im.c (for_each_index): Call callback for component_refs
3010 with varying offset.
3011 * tree-ssa-loop-ivopts.c (abnormal_ssa_name_p): New function.
3012 (idx_contains_abnormal_ssa_name_p): Scan step and lower bound for
3013 ARRAY_REFS.
3014 (expr_invariant_in_loop_p): New function.
3015 (idx_find_step): Handle step and lower bound for ARRAY_REFs. Handle
3016 component_ref_field_offset for COMPONENT_REFs. Do not allow
3017 ALIGN_INDIRECT_REFs and MISALIGNED_INDIRECT_REFs.
3018 (add_address_candidates): Do not handle ALIGN_INDIRECT_REFs and
3019 MISALIGNED_INDIRECT_REFs.
3020 (idx_remove_ssa_names): Handle step and lower bound for ARRAY_REFs.
3021 (rewrite_address_base): Do not handle ALIGN_INDIRECT_REFs and
3022 MISALIGNED_INDIRECT_REFs.
3023
34096b92
JM
30242004-09-26 Joseph S. Myers <jsm@polyomino.org.uk>
3025
3026 PR c/11459
3027 * gcc.c (cpp_options, cc1_options): Preserve relative order of
3028 -std and -ansi options.
3029
5db0241f
JH
30302004-09-26 Jan Hubicka <jh@suse.cz>
3031
1168d30f
JH
3032 * dwarf2out.c (dwarf2out_finish): Set parent to comp_unit_die
3033 for nested functions whose proper parent has not been output.
3034
5db0241f
JH
3035 * profile.c (compute_branch_probabilities): Use REG_BR_PROB notes
3036 when re-constructing profile previously invalidated by loop.
3037
bfe0d06b
DJ
30382004-09-25 Dale Johannesen <dalej@apple.com>
3039
3040 * tree-gimple.c: Move GIMPLE definition...
3041 * doc/tree-ssa.texi: here.
3042
601d18c6
KH
30432004-09-25 Kazu Hirata <kazu@cs.umass.edu>
3044
3045 * tree-vectorizer.c: Fix a comment typo.
3046
ea4b7848
KH
30472004-09-25 Kazu Hirata <kazu@cs.umass.edu>
3048
3049 * c-typeck.c, defaults.h, dwarf.h, dwarf2out.c, fold-const.c,
3050 gthr-dce.h, gthr-posix.h, gthr-solaris.h, gthr-win32.h,
3051 lambda-code.c, lambda-mat.c, libgcc2.c, stmt.c,
3052 tree-ssa-pre.c, tree-vn.c, tree.h: Fix comment formatting.
3053
e75220c8
KH
30542004-09-25 Kazu Hirata <kazu@cs.umass.edu>
3055
3056 * tree-ssa-loop-unswitch.c: Fix a comment typo.
3057
87880c12
KH
30582004-09-25 Kazu Hirata <kazu@cs.umass.edu>
3059
3060 * doc/passes.texi: Fix a typo.
3061
f3cd574f
ZD
30622004-09-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3063
3064 * tree-optimize.c (init_tree_optimization_passes): Add
3065 pass_record_bounds.
3066 * tree-pass.h (pass_record_bounds): Declare.
3067 * tree-ssa-loop.c (tree_ssa_loop_bounds, pass_record_bounds):
3068 New pass.
3069
f34fa464
ZD
30702004-09-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3071
3072 PR tree-optimization/17474
3073 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Determine
3074 offset of the field correctly when DECL_FIELD_BIT_OFFSET != 0.
3075
70f3cc30
JH
30762004-09-25 Jan Hubicka <jh@suse.cz>
3077
f34fa464 3078 * predict.c (counts_to_freqs): Make global.
bbd236a1
JH
3079 * predict.h (counts_to_freqa): Declare.
3080 * profile.c (compute_branch_probabilities): Compute frequencies
3081 * tree-profile.c (do_tree_profiling): Refine conditional on when
3082 tree profiling pass is needed.
3083
70f3cc30
JH
3084 * passes.c (rest_of_handle_cfg): Disable const/pure function
3085 detection when doing tree based profiling.
3086
3087 * tree-inline.c (expand_call_inline): Fix incorrectly reversed
3088 conditional.
3089
b11a9d5f
RS
30902004-09-25 Richard Sandiford <rsandifo@redhat.com>
3091
3092 * config/mips/mips.h (struct mips_args): Clarify comments.
3093 * config/mips/mips.c (struct mips_arg_info): Likewise.
3094 (mips_arg_info): Don't allow fpr_p to affect the register or
3095 stack alignment. Remove o64 silliness.
3096 (function_arg): Deal with the o32 float,float case specially.
3097
03eccdc8
RS
30982004-09-25 Richard Sandiford <rsandifo@redhat.com>
3099
3100 * config/mips/mips.md (loadx, storex): Define for V2SF.
3101
ef44a6ff
UW
31022004-09-25 Ulrich Weigand <uweigand@de.ibm.com>
3103
3104 * config/s390/s390-protos.h (s390_back_chain_rtx): Add prototype.
3105 * config/s390/s390.c (s390_back_chain_rtx): New function.
3106 * config/s390/s390.md ("allocate_stack"): Use s390_back_chain_rtx.
3107 Call anti_adjust_stack.
3108 ("restore_stack_block"): Use s390_back_chain_rtx. Enable pattern
3109 only if compiling with back chain.
3110 ("save_stack_nonlocal", "restore_stack_nonlocal"): Save/restore
3111 back chain only if back chain enabled. Use s390_back_chain_rtx.
3e6688a7 3112
60ae6360
JM
31132004-09-25 Joseph S. Myers <jsm@polyomino.org.uk>
3114
3115 * doc/trouble.texi: Remove obsolete information. Update
3116 information on how to regenerate fixincluded headers.
3117
b99cfc22
JM
31182004-09-25 Joseph S. Myers <jsm@polyomino.org.uk>
3119
3120 PR c/12951
3121 * doc/invoke.texi: Document that
3122 -Wno-error-implicit-function-declaration is not accepted.
3123
e2ea71ea
RH
31242004-09-24 Richard Henderson <rth@redhat.com>
3125
3126 * config/alpha/alpha.h (UNITS_PER_SIMD_WORD): New.
3127 * config/alpha/alpha.c (alpha_vector_mode_supported_p): Don't depend
3128 on TARGET_MAX.
3129 (alpha_expand_mov): Allow unaligned vectors.
3130 (alpha_expand_unaligned_store): Use CONST0_RTX.
3131 (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
3132
b8545fbf
JL
31332004-09-24 Jeff Law <law@redhat.com>
3134
3135 * tree-ssa-dom.c (dom_opt_finalize_block): Fix violation of strict
3136 aliasing rules.
3137 (simplify_cond_and_lookup_avail_expr): Likewise.
3138
2fbebc71
JM
31392004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
3140
3141 PR c/12802
3142 * doc/extend.texi (Unnamed Fields): Remove "." from end of long
3143 title. Document interaction with -fms-extensions.
3144 * doc/invoke.texi (-fms-extensions): Refer to Unnamed Fields
3145 section.
3146
2e9522f4
JM
31472004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
3148
3149 PR c/12713
3150 * doc/extend.texi: Document interaction of attribute noreturn and
3151 longjmp.
3152
41bf2a8b
RH
31532004-09-24 Richard Henderson <rth@redhat.com>
3154
3155 PR rtl-opt/17503
3156 * regclass.c (subregs_of_mode): Turn into an htab. Make static.
3157 (som_hash, som_eq): New.
3158 (init_subregs_of_mode, record_subregs_of_mode): New.
3159 (cannot_change_mode_set_regs): Rewrite for htab implementation.
3160 (invalid_mode_change_p): Likewise.
3161 * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
3162 * flow.c (mark_used_regs): Likewise.
3163 (life_analysis): Use init_subregs_of_mode.
3164 * regs.h (subregs_of_mode): Remove.
3165 * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
3166
84f7a28c
AP
31672004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
3168
3169 * tree-ssa-phiopt.c (conditional_replacement): Use the correct
3170 type with the copy of the conditional.
3171
532c67ca
AP
31722004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
3173
3174 PR tree-opt/16954
3175 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
3176 Prevent renaming if the aliasing sets of the type which the
3177 pointer points to are different.
3178
085e33aa
JM
31792004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
3180
3181 PR c/17188
3182 * c-decl.c (diagnose_mismatched_decls): Check for duplicate
3183 declarations of enumerators.
3184 (start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
3185 for redefinition. Check for nested redefinition.
3186 (finish_struct): Don't check for nested redefinition.
3187 (start_enum): Check for nested redefinition.
3188
a2159c4c
DP
31892004-09-24 Devang Patel <dpatel@apple.com>
3190
3191 * tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable
3192 only when necesssary.
3193 (combine_blocks): Combine loop header and exit block.
3e6688a7 3194
55e74277
PB
31952004-09-24 Paolo Bonzini <bonzini@gnu.org>
3196
3197 * hooks.c (hook_tree_tree_bool_null): New.
3198 * hooks.h (hook_tree_tree_bool_null): Declare it.
3199 * target-def.c (TARGET_FOLD_BUILTIN): Point to it.
3200 * targhooks.c (default_fold_builtin): Remove.
3201 * targhooks.h (default_fold_builtin): Remove.
3202
30d3fc60
ZD
32032004-09-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3204
3205 PR rtl-optimization/17625
3206 * loop-doloop.c (doloop_modify): Unshare rtl before emitting it.
3207
54e075fe
AP
32082004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
3209
3210 PR tree-opt/17624
3211 * tree-ssa-forwprop.c (record_single_argument_cond_exprs):
3212 Reject if any of the operands occur in an abnormal PHI.
3213
4a198dea
AS
32142004-09-24 Andreas Schwab <schwab@suse.de>
3215
3216 * tree-ssa-dom.c (record_range): Fix violation of strict aliasing
3217 rules.
3218
5d865dac
EB
32192004-09-24 Eric Botcazou <ebotcazou@libertysurf.fr>
3220
3221 * config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
3222 if the GNU assembler is used.
3223 (sparc-*-solaris2*): Likewise.
3224 * dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
3225 (dbxout_function_end): Protect N_ENSYM with it.
3226 (dbxout_begin_prologue): Protect N_BNSYM with it.
3227 * doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
3228 * config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
3229 * config/sparc/sol2-gas.h: New file.
3230
4c4a5bbc
L
32312004-09-23 H.J. Lu <hongjiu.lu@intel.com>
3232
3233 PR bootstrap/17369
3234 * Makefile.in (@set_gcc_lib_path@): Added.
3235
3236 * configure.ac: Include ../config/gcc-lib-path.m4. Use
3237 TL_AC_GNU_MAKE_GCC_LIB_PATH.
3238 * configure: Regenerated.
3239
ff80e49f
JM
32402004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
3241
3242 PR c/6980
3243 * c-typeck.c (build_c_cast): Improve wording of
3244 -Wbad-function-cast diagnostic.
3245
e758023d
HPN
32462004-09-23 Hans-Peter Nilsson <hp@axis.com>
3247
3248 PR target/17626
3249 * config/cris/cris.md (moverside, movemside): Rename variable
3250 "reg" to "otherop". To generate canonical RTX, check that otherop
3251 isn't constant instead of checking that operand 1 is a register.
3252
31d66fa9
JJ
32532004-09-23 Jakub Jelinek <jakub@redhat.com>
3254
3255 * tree-ssa-propagate.c (set_rhs): Fail if EXPR is COMPOUND_EXPR.
3256
b28b1600
JJ
32572004-09-23 Diego Novillo <dnovillo@redhat.com>
3258 Jakub Jelinek <jakub@redhat.com>
3259
3260 * tree-flow.h (find_new_referenced_vars): Add prototype.
3261 * tree-sra.c (find_new_referenced_vars_1, find_new_referenced_vars):
3262 Move to...
3263 * tree-dfa.c (find_new_referenced_vars_1, find_new_referenced_vars):
3264 ... here.
3265 (mark_new_vars_to_rename): Walk through all operands.
3266 * tree-ssa-ccp.c (convert_to_gimple_builtin): New function.
3267 (execute_fold_all_builtins): Use it.
3268 (pass_fold_builtins): Add TODO_rename_vars to todo_flags_finish.
3269
512baaea
D
32702004-09-23 P.J. Darcy <darcypj@us.ibm.com>
3271
3272 * gthr-tpf.h: New file.
3273 * config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
3274 * gthr.h: Use gthr-tpf.h on TPF OS.
3275
3aecd08b
JL
32762004-09-23 Jeff Law <law@redhat.com>
3277
3278 * tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather
3279 than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
3280 (substitute_and_fold): Likewise.
3281 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything
3282 except invariants from SSA_NAME_VALUE.
3283 (thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV
3284 and SET_SSA_NAME_EQUIV.
3285 (restore_vars_to_original_value, record_const_or_copy): Likewise.
3286 (record_equivalences_from_phis, record_const_or_copy_1): Likewise.
3287 (record_equality, cprop_into_successor_phis): Likewise.
3288 (record_equivalences_from_stmt, cprop_operand): Likewise.
3289 (lookup_avail_expr): Likewise.
3290 * tree-ssa-pre.c (fini_pre): Remove everything except invariants
3291 from SSA_NAME_VALUE.
3292 * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill.
3293 (struct tree_ssa_name): Kill EQUIV field. Remove GGC skip
3294 annotation from the VALUE_HANDLE field.
3295
037cc9c5 32962004-09-21 Fariborz Jahanian <fjahanian@apple.com>
23fad16e 3297
037cc9c5
FJ
3298 PR c++/13989
3299 PR c++/9844
037cc9c5 3300 * tree.c (reconstruct_complex_type): Remove extra "this".
3e6688a7 3301 * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
037cc9c5
FJ
3302 Add V4SFmode to case statement.
3303
e6e931b7
JM
33042004-09-23 Joseph S. Myers <jsm@polyomino.org.uk>
3305
3306 PR c/16833
3307 * doc/extend.texi, doc/invoke.texi: Document interaction of
3308 -fno-builtin with format checks. Note that built-in functions
3309 have effects beyond generating code that avoids calls to those
3310 functions.
3311
df485d80
FCE
33122004-09-23 Frank Ch. Eigler <fche@redhat.com>
3313
3314 PR tree-optimization/17533
3315 * dominance.c (verify_dominators): Tolerate even more incorrect
3316 dominance data during error message printing.
3317 * tree-mudflap.c (mf_build_check_statement_for): Build basic blocks
3318 and edges more correctly.
3e6688a7 3319
7ccf35ed
DN
33202004-09-23 Dorit Naishlos <dorit@il.ibm.com>
3321
a834e70b
SB
3322 * tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
3323 New tree-codes.
3324 * tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
3325 MISALIGNED_INDIRECT_REF.
3326 * alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.
3327 * emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos):
3328 Likewise.
3329 * expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base)
3330 (find_interesting_uses_address): Likewise.
3331 * fold-const.c (non_lvalue, operand_equal_p): Likewise.
3332 (build_fold_addr_expr_with_type): Likewise.
3333 * gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise.
3334 * print-rtl.c (print_mem_expr): Likewise.
3335 * tree-dump.c (dequeue_and_dump): Likewise.
3336 * tree-eh.c (tree_could_trap_p): Likewise.
3337 * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
3338 * tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise.
3339 * tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by):
3340 Likewise.
3341 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
3342 * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
3343 * tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise.
3344 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
3345 (add_address_candidates, rewrite_address_base): Likewise.
3346 * tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands):
3347 Likewise.
3348 * tree.c (staticp, build1_stat): Likewise.
3349
3350 * tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes.
3351 * tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR.
3352 * tree-ssa-operands.c (get_expr_operands): Likewise.
3353 * expr.c (expand_expr_real_1): Likewise.
3354
3355 * optabs.h (vec_realign_store_optab, vec_realign_load_optab): New
3356 optabs.
3357 (OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values
3358 for the new optabs.
3359 (expand_ternary_op): New function.
3360 * genopinit.c (optabs): Handle the new optabs.
3361 * optabs.c (optab_for_tree_code): Add cases for the new tree-codes.
3362 (init_optabs): Initialize vec_realign_load_optab.
3363 (expand_ternary_op): New functions.
3364
3365 * target-def.h (TARGET_VECTORIZE): New member for struct gcc_target.
3366 (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize.
3367 (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise.
3368 (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise.
3369 * target.h (struct vectorize): New member for struct gcc_target.
3370 (misaligned_mem_ok): New member for targetm.vectorize.
3371 (builtin_mask_for_load): Likewise.
3372 (builtin_mask_for_store): Likewise.
3373 * targethooks.c (default_vect_misaligned_mem_ok): New function.
3374 * targethooks.h (default_vect_misaligned_mem_ok): New function.
3375
3376 * config/rs6000/altivec.md (build_vector_mask_for_load): New
3377 define_expand.
3378 (vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi)
3379 (vec_realign_load_v16qi): New define_insn.
3380 * config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD):
3381 (ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins.
3382 * config/rs6000/rs6000.c (altivec_builtin_mask_for_load):
3383 (altivec_builtin_mask_for_store): New variables.
3384 (rs6000_builtin_mask_for_load): New function. Implements
3385 TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD.
3386 (rs6000_builtin_mask_for_store): New function. Implements
3387 TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE.
3388 (rs6000_expand_builtin): Expand the target builtins
3389 builtin_mask_for_load and builtin_mask_for_store.
3390 (altivec_init_builtins): Initialize the new target builtins.
3391 * config/i386/i386.c (ix86_misaligned_mem_ok): New function.
3392 Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK.
3393
3394 * tree-vectorizer.c (vect_create_data_ref): Renamed to
3395 vect_create_data_ref_ptr. Returns a pointer instead of an array-ref.
3396 (vect_create_addr_base_for_vector_ref): Additional argument (offset).
3397 (vectorizable_store): Call vect_create_data_ref_ptr with additional
3398 arguments, and create an indirect_ref with its return value data_ref.
3399 Check aligned_access_p.
3400 (vectorizable_load): Handle misaligned loads, using software-pipelined
3401 scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if
3402 vec_realign_load_optab is supported, or using a scheme without
3403 software-pipelining with MISALIGNED_INDIRECT_REF if the target hook
3404 misaligned_mem_ok is supported.
3405
3406 (vect_finish_stmt_generation): Typo.
3407 (vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info.
3408 (vect_analyze_data_refs_alignment): Don't fail vectorization in the
3409 presence of misaligned loads.
3410 (vect_analyze_data_ref_access): Add check for constant init.
3411 (vect_get_symbl_and_dr): Remove duplicate line.
3412 * tree-vectorizer.h (DR_MISALIGNMENT): Add comment.
7ccf35ed 3413
d31012b7
KH
34142004-09-23 Kazu Hirata <kazu@cs.umass.edu>
3415
3416 * builtins.c: Fix a comment typo.
3417
aa26df17
JH
34182004-09-23 Jan Hubicka <jh@suse.cz>
3419
3420 * profile.c (branch_prob): Do not verify flow info in the middle of the
3421 pass.
3422
92fc4a2f
ZD
34232004-09-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3424
3425 * cfgloop.h (update_single_exits_after_duplication): Declare.
3426 (loopify, split_loop_bb): Declaration changed.
3427 * cfgloopmanip.c (split_loop_bb): Take void * as an argument instead
3428 of rtx.
3429 (loopify): Added redirect_all_edges argument.
3430 (update_single_exits_after_duplication): Export.
3431 * loop-unswitch.c (unswitch_loop): Changed due to loopify change.
3432 * tree-flow.h (tree_duplicate_loop_to_header_edge,
3433 tree_ssa_loop_version): Declare.
3434 * tree-ssa-loop-manip.c (copy_phi_node_args, rename_variables,
3435 set_phi_def_stmts, tree_duplicate_loop_to_header_edge,
3436 lv_adjust_loop_header_phi, lv_adjust_loop_entry_edge,
3437 lv_update_pending_stmts, tree_ssa_loop_version): New functions.
3438
3439 * tree-ssa-loop-unswitch.c: New file.
3440 * Makefile.in (tree-ssa-loop-unswitch.o): Add.
3441 * timevar.def (TV_TREE_LOOP_UNSWITCH): New timevar.
3442 * tree-flow.h (tree_ssa_unswitch_loops): Declare.
3443 * tree-optimize.c (init_tree_optimization_passes): Add pass_unswitch.
3444 * tree-pass.h (pass_unswitch): Declare.
3445 * tree-ssa-loop.c (tree_ssa_loop_unswitch,
3446 gate_tree_ssa_loop_unswitch, pass_unswitch): New pass.
3447 * doc/passes.texi: Documen tree level loop unswitching.
3448
d7e9e62a
KH
34492004-09-23 Kazu Hirata <kazu@cs.umass.edu>
3450
3451 * cfgexpand.c, config/s390/tpf-eh.c: Fix comment typos.
3452
d3147f64
EC
34532004-09-22 Eric Christopher <echristo@redhat.com>
3454
3455 * builtins.c (simplify_builtin_va_start): Remove.
3456 (simplify_builtin): Ditto.
3457 (fold_builtin_strchr): Ditto.
3458 (simplify_builtin_*): Rename remainders to fold_builtin_*.
3459 (expand_builtin): Fix up for above changes.
3460 (fold_builtin_1): Add new folders. Change for above.
3461 (expand_builtin_va_start): Call fold_builtin_next_arg.
3462 * gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
3463 * tree.h: Remove prototype for simplify_builtin.
3464
e53de54d
JH
34652004-09-23 Jan Hubicka <jh@suse.cz>
3466
60108d34
JH
3467 PR debug/17389
3468 * dwarf2out.c (dwarf2out_finish): Deal with nested functions
3469 of fully inlined functions.
3470 * tree-inline.c (inline_forbidden_p_1): Nested functions can be
3471 inlined.
3472
e53de54d
JH
3473 * cfgexpand.c (add_reg_br_prob_note): New function.
3474 (expand_gimple_cond_expr): Use it.
3475 (tree_expand_cfg): No longer kill the profile.
3476 * cfgrt.c (rtl_verify_flow_info_1): Check profile consistency
3477 only if it is present.
3478 * passes.c (rest_of_handle_loop_optimize): Kill the profile.
3479 * predict.c (combine_predictions_for_insn): Set the probabilities
3480 based on REG_BR_PROB note if present.
3481 * predict.c (branch_prob): Profile is read only with
3482 flag_branch_probabilities.
3483
dfb77e37
KC
34842004-09-22 Kelley Cook <kcook@gcc.gnu.org>
3485
3486 * aclocal.m4: Add in gettext's m4 includes.
3487 (AC_ICONV, AC_LCMESSAGES, GCC_PATH_PROG): Remove.
a9db2a29 3488 * configure.ac: Add in check for iconv.h
dfb77e37 3489 * configure: Regenerate.
d3147f64 3490
88fa57d7
KC
34912004-09-22 Kelley Cook <kcook@gcc.gnu.org>
3492
3493 * aclocal.m4: Update for rename of gettext-sister.m4.
3494
8eee3528
DB
34952004-09-22 Daniel Berlin <dberlin@dberlin.org>
3496
3497 Fix PR tree-optimization/17587
3498 * tree-ssa-pre.c (fini_pre): Commit edge inserts here.
3499 (insert_aux): Instead of here.
3500
c04f07f4
DN
35012004-09-22 Diego Novillo <dnovillo@redhat.com>
3502
3503 PR tree-optimization/16721
3504 * tree-dfa.c (dump_variable): Show TREE_THIS_VOLATILE.
3505 * tree-ssa-alias.c (create_memory_tag): Move setting of
3506 TREE_THIS_VOLATILE ...
3507 (get_tmt_for): ... here.
3508
ba652ba9
EB
35092004-09-22 Eric Botcazou <ebotcazou@libertysurf.fr>
3510
3511 * config/sparc/sparc.md (cmove splitter): Fix formatting.
3512 (conditional_trap expander): Reject inappropriate CCmodes.
8db6bcda 3513 (conditional trap insn): Use V9 syntax if possible.
ba652ba9 3514
588d1952
JM
35152004-09-22 Joseph S. Myers <jsm@polyomino.org.uk>
3516
3517 PR c/16566
3518 * c-typeck.c (build_component_ref): Don't special-case
3519 COMPOUND_EXPR.
3520
08fb229e
FCE
35212004-09-22 Frank Ch. Eigler <fche@redhat.com>
3522
3523 * dominance.c (verify_dominators): Don't SEGV if recount_dominator
3524 returns NULL.
3525
9b270cce
KH
35262004-09-22 Kazu Hirata <kazu@cs.umass.edu>
3527
3528 * doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR,
3529 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
3530 TRUTH_XOR_EXPR): Mention the restriction on types.
3531
8739ed59
MA
35322004-09-22 Matt Austern <austern@apple.com>
3533
8921359e 3534 * config/darwin.c (darwin_make_decl_one_only):
8739ed59 3535 Allow coalesced symbol to appear in static archive's table of contents
d3147f64 3536
a338ab5a
KH
35372004-09-22 Kazu Hirata <kazu@cs.umass.edu>
3538
3539 PR tree-optimization/17512
3540 * convert.c (convert_to_integer): Don't handle TRUTH_*_EXPR as
3541 special cases.
3542
39cf49a1
DE
35432004-09-22 David Edelsohn <edelsohn@gnu.org>
3544
3545 * dbxout.c (get_lang_number): Do not define if
3546 DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined.
3547
d1c343cb
RC
35482004-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3549
1afd063a 3550 PR target/15583
d1c343cb
RC
3551 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
3552 builtin_define ("__USE_INIT_FINI__").
3553
4798630c
D
35542004-09-22 P.J. Darcy <darcypj@us.ibm.com>
3555
3556 * config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
3557 * config/s390/s390.c (s390_emit_tpf_eh_return): New function.
3558 * config/s390/s390.h (TARGET_TPF): New macro.
3559 * config/s390/s390.md ("eh_return"): New expander.
3560 * config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than
3561 unwind-dw2-fde-glibc.c. Add config/s390/tpf-eh.c.
3562 (LIB2ADDEHDEP): Remove unwind-dw2-fde.c.
3563 * config/s390/tpf.h (TARGET_TPF): Define to 1.
3564 (STACK_POINTER_OFFSET): Increase to 448.
3565 (TARGET_DEFAULT): Set -mtpf-trace on as default.
3566 (TPF_LOC_DIFF_OFFSET): New macro.
3567 (ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute
3568 encoding.
3569 (__isPATrange): Add prototype.
3570 (MD_FALLBACK_FRAME_STATE_FOR): Define.
3571 * config/s390/tpf-eh.c: New file.
3572
6a97296a
DN
35732004-09-22 Diego Novillo <dnovillo@redhat.com>
3574
3575 * fold-const.c (fold): Avoid non INTEGER_TYPEs when widening
3576 operands in an integer comparison.
3577 * tree-cfg.c (find_taken_edge): Call fold() to determine
3578 whether the predicate is known.
3579
3b620440
KC
35802004-09-22 Kelley Cook <kcook@gcc.gnu.org>
3581
3582 * aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
3583 * configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O.
3584 Create build and doc directories along with the language directories.
3585 Don't create doc directory separately.
3586 * configure: Regenerate.
3587 * Makefile.in: Create all object and executables files built
3588 with the build compiler in a build/ directory.
3589 (genobjnames): Add missing build objects.
3590 (STAGESTUFF): Don't stage the gen* programs.
3591 (ggc-none.o): Define dependencies for the target compiler.
3592 (build-print-rtl.o): Rename to build/print-rtl.o.
3593 (build-errors.o): Rename to build/errors.o.
3594 (build-varray.o): Rename to build/varray.o.
3595 (maintainerclean): Delete the contents of the build directory.
3596 ($(genobjs): %.o): Explicitly use -o.
3597 (build/insn-conditions.o): Delete specfic rule to use generic rule.
3598 (build/gengtype-lex.o): Likewise.
3599 (build/gengtype-yacc.o): Likewise.
3600 (build/gcov-iov.o): Likewise.
3601
0e64e323
NS
36022004-09-22 Nathan Sidwell <nathan@codesourcery.com>
3603
3604 * vec.h (VEC_space): Return true if there _is_ space.
3605 (VEC_reserve): Adjust.
3606
e1aeeae9
RS
36072004-09-22 Richard Sandiford <rsandifo@redhat.com>
3608
3609 * config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
3610 use FPRs for scalar, complex and vector types only.
3611
195da47b
JL
36122004-09-21 Jeff Law <law@redhat.com>
3613
23530866
JL
3614 * tree-ssa-dom.c (opt_stats): Move so that it lives just after
3615 the opt_stats_d structure.
3616 (vrp_data): Change from a varray into a hash table.
3617 (vrp_hash_elt): New structure for elements in the vrp hash table.
3618 (vrp_hash, vrp_eq):New functions for hashing and testing equality
3619 in the vrp hash table.
3620 (tree_ssa_dominator_optimize): Initialize VRP_DATA. Reorganize
3621 initialization slightly to make it easier to read. No longer need
3622 to grow/clear the varray. Instead empty and delete the hash table.
3623 (dom_opt_finalize_block): Update due to change of VRP_DATA from
3624 a varray to a hash table.
3625 (simplify_cond_and_loop_avail_expr, record_range): Similarly.
3626
195da47b
JL
3627 * tree-ssa-ccp.c (get_default_value): If we have a constant
3628 value recorded for an SSA_NAME, then use that constant as
3629 the initial lattice value.
3630 (substitute_and_fold): Transfer equivalences discovered into
3631 SSA_NAME_EQUIV.
d3147f64 3632
195da47b
JL
3633 * tree.h (SSA_NAME_EQUIV): Add comments.
3634 (SET_SSA_NAME_EQUIV): Similarly.
3635
0a4f0294
DE
36362004-09-21 David Edelsohn <edelsohn@gnu.org>
3637
3638 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.
3639
3640 * config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used.
3641
1ae57298
MM
36422004-09-21 Mark Mitchell <mark@codesourcery.com>
3643
3644 * c-decl.c (implicityl_declare): Call maybe_apply_renaming_pragma.
3645 (finish_decl): Likewise.
3646
ad9f20cb
DP
36472004-09-21 Devang Patel <dpatel@apple.com>
3648
3649 * tree.def (VEC_COND_EXPR): New tree node.
3650 * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
d3147f64 3651
76419821
SS
36522004-09-21 Stan Shebs <shebs@apple.com>
3653
3654 * config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
3655 * config/rs6000/darwin-world.asm: Likewise.
d3147f64 3656
7bab95ba
DB
36572004-09-21 Daniel Berlin <dberlin@dberlin.org>
3658
3659 * tree-ssa.c (verify_def): Use print_generic_stmt,
3660 not debug_generic_stmt.
3661 (verify_use): Ditto.
3662 (verify_phi_args): Ditto.
3663 (verify_ssa): Ditto.
3664
a13fd905
PB
36652004-09-21 Paul Brook <paul@codesourcery.com>
3666
3667 * varasm.c (default_assemble_integer): Return false for values wider
3668 than the target word size. Works around GAS bug.
3669
52c5701b
ZW
36702004-09-21 Zack Weinberg <zack@codesourcery.com>
3671
3672 * reg-notes.def (REG_DEP_TRUE): New entry, place first so it
3673 gets value 0.
3674 * print-rtl.c (print_rtx): Print the name of a REG_NOTE even
3675 if it has value 0.
3676
f0c721ad 36772004-09-21 Daniel Berlin <dberlin@dberlin.org>
52c5701b 3678
f0c721ad
DB
3679 * c-typeck.c (build_function_call): Give name of object
3680 we are attempting to call in error message.
3681 * c-objc-common.c (c_tree_printer): Call pp_expression,
3682 not return false, for 'E' case.
3683
c93320c4
SB
36842004-09-21 Steven Bosscher <stevenb@suse.de>
3685
3686 PR rtl-optimization/17482
3687 * postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
3688 load_killed_in_block_p): Clarify comments.
3689 (record_last_reg_set_info): Make static inline.
3690 (mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
3691 (record_opr_changes): New function to replace the above.
3692 (compute_hash_table): Clarify comments. Use record_opr_changes.
3693 (reg_set_between_after_reload_p): Clean up.
3694 (reg_used_between_after_reload_p): Likewise.
3695 (eliminate_partially_redundant_load): Clarify comments.
3696
15ee342b
EB
36972004-09-21 Eric Botcazou <ebotcazou@libertysurf.fr>
3698
3699 PR rtl-optimization/17266
3700 * regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.
3701
79b82df3
UB
37022004-09-21 Uros Bizjak <uros@kss-loka.si>
3703
3704 PR rtl-optimization/14851
3705 * rtlanal.c (commutative_operand_precedence): Calculate
3706 precedence of stripped constant.
3707
6f2aec07 37082004-09-20 Jeff Law <law@redhat.com>
52c5701b 3709 Jan Hubicka <jh@suse.cz>
6f2aec07
JL
3710
3711 * tree-ssanames.c (make_ssa_name): No longer need to clear, then
3712 initialize key elements here.
3713 (release_ssa_name): Zero the released SSA_NAME here.
3714 * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
3715 (struct tree_ssa_name): Add new "equiv" field.
3716 * tree-ssa-dom.c (const_and_copies): Kill the global varray.
3717 (tree_ssa_dominator_optimize): No longer allocate, resize or
3718 clear CONST_AND_COPIES.
3719 (get_value_for, set_value_for): Kill.
3720 (thread_across_edge): Get/set the equivalency using
3721 SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
3722 (restore_vars_to_original_value): Likewise.
3723 (record_equivalences_from_phis): Likewise.
3724 (record_dominating_conditions): Likewise.
3725 (record_const_or_copy, record_equality): Likewise.
3726 (lookup_avail_expr): Likewise.
3727 (record_equivalences_from_stmt, cprop_operand): Likewise.
3728 (cprop_into_successor_phis): No longer need to pass around
3729 CONST_AND_COPIES. Callers updated. Get equivalences via
3730 SSA_NAME_EQUIV.
3731 (cprop_into_phis): Likewise.
3732
c162c75e
MA
37332004-09-20 Matt Austern <austern@apple.com>
3734 Zack Weinberg <zack@codesourcery.com>
3735
3736 * c-common.c (fix_string_type): Build the unqualified array
3737 type unconditionally, then use c_build_qualified_type to get
3738 the proper const-qualified variant, and set its
3739 TYPE_MAIN_VARIANT to refer to the unqualified type.
3740 * c-lex.c (c_lex_return_raw_string): New global.
3741 (c_lex_with_flags): Honor it.
3742 * c-pragma.h: Declare it.
3743
5cfa8766
DB
37442004-09-20 Daniel Berlin <dberlin@dberlin.org>
3745
3746 * Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
3747
d21bede3
JH
37482004-09-21 Jan Hubicka <jh@suse.cz>
3749
3750 PR middle-end/17126
3751 * tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
3752 (tree_rest_of_compilation): Cleanup.
3753
37337e55
UW
37542004-09-20 Ulrich Weigand <uweigand@de.ibm.com>
3755
3756 * config/s390/s390.c (s390_select_rtx_section): Remove.
3757 (TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.
3758
455786b6
KK
37592004-09-20 Kaz Kojima <kkojima@gcc.gnu.org>
3760
3761 * config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
3762 note to pretend a direct save from the original register when an
3763 intermediate register is used for the save.
3764
2c82eecc
KG
37652004-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3766
3767 * tsystem.h (alloca): Provide a default definition.
3768
3769 Revert:
3770 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3771 * unwind-dw2.c: Call __builtin_alloca, not alloca.
3772
b1940f0c
AP
37732004-09-20 Andrew Pinski <pinskia@physics.uc.edu>
3774
3775 PR tree-opt/17558
3776 * tree-ssa-copy.c (may_propagate_copy): Only allow if the
3777 aliasing sets are the same rather than just conflicting.
3778
8f235343
JH
37792004-09-20 Jan Hubicka <jh@suse.cz>
3780
3781 PR middle-end/16460
3782
3783 * cgraph.c (cgraph_unnest_node): New function.
3784 (c_finalize): Rename to ....
3785 (c_warn_unused_result_recursivly): ... this one; do only the warning
3786 (finish_function): Finalize the toplevel function; do not lower nested tree.
3787 * cgraph.h (cgraph_unnest_node): Declare.
3788 * cgraphunit.c (decide_is_function_needed): Do not use cgraph
3789 nestedness datastructure.
3790 * cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
3791 * reload1.c (set_label_offsets): Fix call of set_label_offsets.
3792 * tree-nested.c (finlize_nesting_tree_1): Use un-nesting code.
3793
04161e2b
RH
37942004-09-20 Richard Henderson <rth@redhat.com>
3795
3796 * config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
3797 from some_small_symbolic_operand_1; export.
3798 (some_small_symbolic_operand): Remove.
3799 * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
3800 extra C check.
3801 * config/alpha/predicates.md (some_small_symbolic_operand): New.
3802
bb033fd8
JH
38032004-09-20 Jan Hubicka <jh@suse.cz>
3804
3805 * predict.c (return_prediction): New function.
3806 (apply_return_prediction): Likewise.
3807 (tree_bb_level_predictions): Likewise.
3808 (tree_estimate_probability): Add noreturn exit edges; call
3809 bb_level_predictions; fix logic of return heuristics.
3810 (predict_paths_leading_to): Rescuesce from old CVS version of
3811 process_note_prediction function.
3812 * predict.def (PRED_TREE_EARLY_RETURN): New predictor.
3813
ea506297
AK
38142004-09-20 Andreas Krebbel <krebbel1@de.ibm.com>
3815
3816 * config/s390/s390.c (s390_frame_info): Added alignment statement for
3817 floating point register area on stack.
3818
096759eb
JJ
38192004-09-20 Jakub Jelinek <jakub@redhat.com>
3820
3821 * predict.c (expr_expected_value): Use *_CLASS_P macros.
3822
d6fd4b8d
DB
38232004-09-20 Daniel Berlin <dberlin@dberlin.org>
3824
c162c75e 3825 * tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
d6fd4b8d
DB
3826 generating useless garbage.
3827
c2dda19b
PB
38282004-09-20 Paolo Bonzini <bonzini@gnu.org>
3829
3830 * builtins.c (fold_builtin): Call the new omonymous
3831 target hook for machine-dependent built-ins.
3832 * target-def.h (TARGET_FOLD_BUILTIN): New.
3833 * target.h (struct gcc_target): Add the fold_builtin hook.
3834 * targhooks.c (default_fold_builtin): New.
3835 * targhooks.h (default_fold_builtin): Declare it.
3836
d4a9b3a3
KH
38372004-09-20 Kazu Hirata <kazu@cs.umass.edu>
3838
3839 * cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
3840 comment typos.
3841
073cbad3
RS
38422004-09-20 Richard Sandiford <rsandifo@redhat.com>
3843
3844 PR target/17565
3845 * config/mips/mips.md (define_asm_attributes): Set can_delay to no.
3846
58016611
JH
38472004-09-20 Jan Hubicka <jh@suse.cz>
3848
3849 * predict.c (estimate_probability): Remove unnecesary code.
3850
6775f1f3
IR
38512004-09-19 Ira Rosen <irar@il.ibm.com>
3852
3853 * tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.
3854 (STMT_VINFO_VECT_DR_BASE): Declare.
3855 (VECT_SMODULO): Declare.
3856 * tree-vectorizer.c (vect_compute_array_ref_alignment): New function.
3857 (vect_compute_array_base_alignment): New function.
3858 (vect_analyze_data_ref_access): Check array indices. Remove one
3859 dimensional arrays restriction.
3860 (vect_get_ptr_offset): New function.
3861 (vect_get_symbl_and_dr): New function.
3862 (vect_get_base_and_bit_offset): Support additional data refs. Renamed
3863 (former name vect_get_base_decl_and_bit_offset).
3864 (vect_create_index_for_array_ref): Removed.
3865 (vect_create_index_for_vector_ref): New function.
3866 (vect_create_addr_base_for_vector_ref): New function.
3867 (vect_create_data_ref): Handle additional data refs. Call
3868 vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref.
3869 (vect_compute_data_ref_alignment): Support the changes. Call
3870 vect_get_base_and_bit_offset.
3871 (vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional
3872 data refs. Store vect_dr_base.
3873 (vect_analyze_data_ref_accesses): Support nonconstant init.
3874 (new_stmt_vec_info): Initialize vect_dr_base field.
3875 (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
3876 (get_vectype_for_scalar_type): Check for BLKmode.
3877 * tree-chrec.h (initial_condition_in_loop_num): Declare.
3878 * tree-chrec.c (initial_condition_in_loop_num): New function.
3879 (chrec_component_in_loop_num): New function.
3880 (evolution_part_in_loop_num): Call chrec_component_in_loop_num.
3881 * tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns)
3882 to be pointer to varray_type.
3883
15db5571
JH
38842004-09-19 Jan Hubicka <jh@suse.cz>
3885
3886 * basic-block.h (update_bb_profile_after_threading): Declare.
3887 * cfg.c (update_bb_profile_after_threading): Break out from ...
3888 * cfgcleanup.c (try_forward_edges): ... here; use it.
3889 * tree-ssa-dom.c (thread_across_edge): Use it.
3890 * tree-ssa-threadupdate.c (create_block_for_threading): Zero out
3891 profile of the new BB.
3892
97141338
DB
38932004-09-19 Daniel Berlin <dberlin@dberlin.org>
3894
3895 * tree-ssa-pre.c (insert_into_set): Don't put
3896 is_gimple_min_invariant values into the set.
3897
76fd4fd7
AJ
38982004-09-19 Andreas Jaeger <aj@suse.de>
3899
3900 * tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix
3901 prototype.
3902
938688cd
KH
39032004-09-18 Kazu Hirata <kazu@cs.umass.edu>
3904
3905 * config/cris/cris.h: Preserve the original spelling in a
3906 quote.
3907
fdabe5c2
JL
39082004-09-18 Jeff Law <law@redhat.com>
3909
3910 * tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New
3911 global varrays to replace the block local varrays.
3912 (struct dom_walk_block_data): Remove, no longer used.
3913 (get_eq_expr_value): No longer need to pass around pointers to local
3914 varrays. Callers updated. Unused markers added to unused parameters.
3915 (record_range, record_equivalences_from_stmt): Likewise.
3916 (record_equivalences_from_incoming_edge): Likewise.
3917 (record_var_is_nonzero): Likewise. Update now that we have a
3918 single global varray of SSA_NAMEs that need restoring.
3919 (dom_opt_initialize_block_local_data): Kill, no longer used.
3920 (tree_ssa_dominator_optimize): Initialize new global varrays.
3921 Update callbacks in dominator walker structure.
3922 (dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and
3923 VRP_VARIABLES_STACK.
3924 (restore_nonzero_vars_to_original_value): Update now that we have
3925 a single global varray of SSA_NAMEs that need restoring.
3926 (dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK.
3927 Remove unused variables.
3928 (optimize_stmt): Remove unused variable.
3929
0eac5feb
JH
39302004-09-18 Jan Hubicka <jh@suse.cz>
3931
4d539f68
JH
3932 * tree-cfg.c (thread_jumps): Fix updating of the profile.
3933
0eac5feb
JH
3934 * tree-optimize.c (tree_rest_of_compilation): Kill forgotten
3935 verify_cgraph call.
3936
454ff5cb
KH
39372004-09-18 Kazu Hirata <kazu@cs.umass.edu>
3938
3939 * alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c,
3940 gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c,
3941 optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c,
3942 tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c,
3943 tree-ssa-operands.c, tree-ssa-phiopt.c,
3944 tree-ssa-threadupdate.c: Fix comment typos.
3945
112cdef5
KH
39462004-09-18 Kazu Hirata <kazu@cs.umass.edu>
3947
3948 * config/darwin-c.c, config/arc/arc.c, config/arc/arc.md,
3949 config/arm/README-interworking, config/arm/arm-cores.def,
3950 config/arm/arm.c, config/arm/arm.h, config/arm/pe.c,
3951 config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h,
3952 config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c,
3953 config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c,
3954 config/frv/frv.md, config/i386/winnt.c,
3955 config/ia64/unwind-ia64.c, config/iq2000/iq2000.c,
3956 config/iq2000/iq2000.h, config/m68hc11/m68hc11.c,
3957 config/m68hc11/m68hc11.md, config/m68k/m68k.c,
3958 config/mcore/mcore.c, config/mips/mips.h,
3959 config/mn10300/mn10300.md, config/pa/pa.c,
3960 config/pa/pa64-regs.h, config/pdp11/pdp11.c,
3961 config/rs6000/rs6000.c, config/sh/symbian.c,
3962 config/sparc/sparc.h: Fix comment typos. Follow spelling
3963 conventions.
3964
ad97f4be
JM
39652004-09-18 Joseph S. Myers <jsm@polyomino.org.uk>
3966
3967 PR c/17424
3968 * c-typeck.c (c_expr_sizeof_expr): Check for error_mark_node.
3969
57e28d7d
DN
39702004-09-18 Diego Novillo <dnovillo@redhat.com>
3971
3972 * tree-ssa-alias.c (setup_pointers_and_addressables): Don't
3973 remove TREE_ADDRESSABLE from RESULT_DECL.
3974
d804d490
DN
39752004-09-18 Diego Novillo <dnovillo@redhat.com>
3976
3977 * tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs.
3978
8b547e44
JH
39792004-09-18 Jan Hubicka <jh@suse.cz>
3980
3981 * tree-into-ssa.c (rewrite_ssa_into_ssa): Expect ssa_name to return
3982 NULL.
3983 * tree-ssa-alias.c (init_alias_info): Likewise.
3984 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
3985 (verify_ssa): Likewise.
3986 * tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.
3987
b8771ace
JH
39882004-09-18 Jan Hubicka <jh@suse.cz>
3989
3990 * i386.c (legitimize_pic_address): Fix splitting of PLUS with
3991 huge offset.
3992
f4966f8c
KK
39932004-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
3994
3995 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
3996 * config/sh/sh.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
3997 DW_EH_PE_sdata* for data.
3998 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
3999
a396f8ae
GK
40002004-09-17 Geoffrey Keating <geoffk@apple.com>
4001
4002 * tree-inline.c (copy_tree_r): Don't duplicate constants, they're
4003 shared anyway.
4004
4005 PR pch/13361
4006 * c-typeck.c (constructor_asmspec): Delete.
4007 (struct initializer_stack): Delete field 'asmspec'.
4008 (start_init): Delete saving of asmspec.
4009 (finish_init): Don't update constructor_asmspec.
4010 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
4011 * stmt.c (expand_asm): Duplicate strings from tree.
4012 (expand_asm_operands): Likewise.
4013 * tree.c (tree_size): Update computation of size of STRING_CST.
4014 (make_node): Don't make STRING_CST nodes.
4015 (build_string): Allocate string with tree node.
4016 (tree_code_size): Clean up assertions, don't allow requests
4017 for "the size of a STRING_CST".
4018 * tree.def (STRING_CST): Update comment.
4019 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
4020 (tree_string): Place contents of string in tree node.
4021 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
4022 from tree.
4023
9aa44508
ZW
40242004-09-17 Zack Weinberg <zack@codesourcery.com>
4025
4026 * Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H).
4027 * objc/Make-lang.in (objc/objc-parse.o): Likewise.
4028
bf3b7cd3
JD
40292004-09-17 Jones Desougi <jones@ingate.com>
4030
4031 * configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
4032 * configure, config.in: Regenerate.
4033
b85e3643
ZW
40342004-09-17 Zack Weinberg <zack@codesourcery.com>
4035
4036 * tree.c, tree.h (tree_class_strings): Make array const.
4037 Reindent per coding convention. Move asterisk to proper place
4038 per coding convention.
4039
6e336333
AS
40402004-09-18 Andreas Schwab <schwab@suse.de>
4041
4042 * Makefile.in (gimple-low.o): Depend on $(EXPR_H).
4043 (tree-vectorizer.o): Likewise.
4044 (targhooks.o): Likewise.
4045
6615c446
JO
40462004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
4047 Zack Weinberg <zack@codesourcery.com>
4048
4049 * alias.c (find_base_decl): Remove unreachable case '3' block.
4050 * expr.c (safe_from_p): Abort if passed a type.
4051 * tree-gimple.c (recalculate_side_effects): Abort if passed
4052 anything other than an expression.
4053 * tree-ssa-pre.c (phi_translate): Return expr immediately if
4054 is_gimple_min_invariant is true for it. Reorder cases for clarity.
4055 Abort on un-handled tree classes.
4056 (valid_in_set): Likewise.
4057 * tree.c (tree_code_class_strings): New static data.
4058
4059 * tree.h (enum tree_code_class): New.
4060 (tree_code_class_strings): Declare.
4061 (TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
4062 (REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
4063 (STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
4064 (TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
4065 (checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
4066
4067 * tree.def, c-common.def, objc/objc-tree.def: Use
4068 tree_code_class enumeration constants instead of code letters.
4069
4070 * alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
4071 * c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
4072 * emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
4073 * langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
4074 * tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
4075 * tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
4076 * tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
4077 * tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
4078 * tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
4079 * tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
4080 * tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
4081 * config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
4082 * config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
4083 Update to match.
4084
4085 * LANGUAGES: Add note about change.
4086
823f0809
DN
40872004-09-17 Diego Novillo <dnovillo@redhat.com>
4088
4089 PR tree-optimization/17319
4090 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Also
4091 examine pointers on the LHS of an assignment.
4092 (collect_points_to_info_r): Handle RETURN_EXPR.
4093
b5fefcf6
JL
40942004-09-17 Jeff Law <law@redhat.com>
4095
4096 * tree-ssa-dom.c (const_and_copies_stack): New.
4097 (dom_walk_block_data): Remove const_and_copies field.
4098 (record_const_or_copy): No longer need to pass in varray_type *.
4099 Use CONST_AND_COPIES_STACK rather than passed in block local stack.
4100 Callers updated.
4101 (record_equality): Similarly.
4102 (restore_vars_to_original_value): Similarly. Revamp to use new
4103 single global stack rather than per-block stacks.
4104 (tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK.
4105 (thread_across_edge): Remove now unused parameters.
4106 (dom_opt_initialize_block_local_data): No longer test the block
4107 local CONST_AND_COPIES.
4108 (dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK.
4109
2c459e74
JH
41102004-09-17 Jan Hubicka <jh@suse.cz>
4111
4112 PR tree-optimization/17509
4113 * tree-optimize.c (update_inlined_to_pointers): New function.
4114 (tree_rest_of_compilation): Use it.
4115
0456cbf6
DP
41162004-09-17 Devang Patel <dpatel@apple.com>
4117
4118 * dbxout.c (get_lang_number): New.
4119 (dbxout_init): Include lang number in N_SO stab.
4120 * dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
4121 N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.
6615c446 4122
7eae8eb2
DN
41232004-09-17 Diego Novillo <dnovillo@redhat.com>
4124
4125 PR tree-optimization/17273
4126 * tree-ssa.c (replace_immediate_uses): Call fold_stmt if the
4127 replacement is a constant.
4128
98c3a782
JM
41292004-09-17 Joseph S. Myers <jsm@polyomino.org.uk>
4130
4131 * c-tree.h (enum c_typespec_keyword): New.
4132 (struct c_declspecs): Adjust description of "type". Remove
4133 specbits, explicit_int_p and explicit_char_p. Rename
4134 typedef_signed_p to explicit_signed_p. Add default_int_p, long_p,
4135 short_p, signed_p, unsigned_p and complex_p.
4136 (finish_declspecs): New.
4137 * c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
4138 typename): Call finish_declspecs.
4139 * c-decl.c (finish_declspecs): New.
4140 (declspecs_add_type): Check for combinations which cannot occur in
4141 valid specifier lists. Update comments.
4142 (shadow_tag_warned): Remove checks done in finish_declspecs.
4143 Don't report useless type name if type defaulted to int.
4144 (grokdeclarator): Remove checks and actions done in
4145 finish_declspecs. Don't allow for type being NULL. Update for
4146 datastructures changes. Initialize decl_attr.
4147 (build_null_declspecs, quals_from_declspecs): Update for
4148 datastructures changes.
4149
254ea84c
SP
41502004-09-17 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
4151
6615c446 4152 * doc/extend.texi: Fix duplicated word.
254ea84c 4153
fa151acf
TM
41542004-09-17 Toon Moene <toon@moene.indiv.nluug.nl>
4155
4156 * doc/invoke.texi: Remove stray explanation on
4157 -freduce-all-givs and -fmove-all-movables.
4158
cd1a8088
JM
41592004-09-17 James Morrison <phython@gcc.gnu.org>
4160
4161 * doc/cfg.texi: Use @smallexample.
4162 * doc/md.texi: Likewise.
4163 * doc/tree-ssa.texi: Likewise.
4164 * doc/extend.texi: Likewise. Use @r{} in comments.
4165 * doc/trouble.texi: Use @r{} in comments.
4166
58ea87a9
HPN
41672004-09-17 Hans-Peter Nilsson <hp@bitrange.com>
4168
4169 * configure.ac (gcc_cv_gld_version): Handle whitespace before
4170 "VERSION=".
4171 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto.
4172 * configure: Regenerate.
4173
788bb47d
JR
41742004-09-17 J"orn Rennecke <joern.rennecke@superh.com>
4175
4176 * sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
4177 (sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug.
4178 * t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g .
4179 * t-sh64 (MULTILIB_CPU_DIRS): Likewise. Match dashes and trailing
4180 slashes in substitutions.
4181 (MULTILIB_DIRNAMES): Remove defunct removal of /media32.
4182
b01d837f
KH
41832004-09-17 Kazu Hirata <kazu@cs.umass.edu>
4184
4185 * basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
4186 gimplify.c, lambda-code.c, optabs.c, predict.c,
4187 tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
4188 tree-ssa.c, vec.h: Fix comment typos. Follow spelling
4189 conventions.
4190
4ec7afd7
KH
41912004-09-17 Kazu Hirata <kazu@cs.umass.edu>
4192
4193 * doc/compat.texi, doc/cpp.texi, doc/cppopts.texi,
4194 doc/extend.texi, doc/install.texi, doc/invoke.texi,
4195 doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi,
4196 doc/trouble.texi: Use @option around options.
4197
6eab2bc3
RS
41982004-09-17 Richard Sandiford <rsandifo@redhat.com>
4199
4200 * Makefile.in (gen-protos.o): Depend on errors.h.
4201
275a4187
SB
42022004-09-17 Steven Bosscher <stevenb@suse.de>
4203
6615c446 4204 PR tree-optimization/17513
275a4187
SB
4205 * cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE
4206 for successors of the entry block.
4207
b355f222
UB
42082004-09-17 Uros Bizjak <uros@kss-loka.si>
4209
4210 PR rtl-optimization/15187
4211 * ifcvt.c (noce_try_cmove_arith): Exit early if total
4212 insn_rtx_cost of both branches > BRANCH_COST
4213
7a116211
DN
42142004-09-16 Diego Novillo <dnovillo@redhat.com>
4215
4216 PR tree-optimization/17528
4217 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
4218 erase the may-alias set for a tag when merging it with
4219 another.
4220
e57450ce
KK
42212004-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
4222
4223 * config/sh/sh.md (call): Extend 32-bit addresses to DImode
4224 for 32-bit TARGET_SHMEDIA.
4225 (call_value): Likewise.
4226
1800536a
DN
42272004-09-16 Diego Novillo <dnovillo@redhat.com>
4228
4229 * tree-ssa-operands.c (add_call_clobber_ops): Make read-only
4230 test apply only to TREE_STATIC and DECL_EXTERNAL.
4231
42759f1e
ZD
42322004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4233
4234 * Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
4235 * basic-block.h (get_dominated_by_region): Declare.
4236 * dominance.c (get_dominated_by_region): New function.
4237 * tree-cfg.c: Include cfglayout.h.
4238 (tree_duplicate_bb): Duplicate also phi nodes.
4239 (struct ssa_name_map_entry): New type.
4240 (add_phi_args_after_copy_bb, add_phi_args_after_copy,
4241 ssa_name_map_entry_hash, ssa_name_map_entry_eq,
4242 allocate_ssa_names, rewrite_to_new_ssa_names_def,
4243 rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
4244 rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
4245 * tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
4246 add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
4247 rewrite_to_new_ssa_names, allocate_ssa_names,
4248 rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
4249 * tree-ssa-loop-ch.c (duplicate_blocks): Removed.
4250 (copy_loop_headers): Use tree_duplicate_sese_region.
4251
2731cf24
FCE
42522004-09-16 Frank Ch. Eigler <fche@redhat.com>
4253
4254 * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
4255
9fae925b
JL
42562004-09-16 Jeff Law <law@redhat.com>
4257
4258 * tree-into-ssa.c (block_defs_stack): New toplevel varray.
4259 (rewrite_block_data): Remove, no longer used.
4260 (rewrite_initialize_block_local_data): Remove, no longer used.
4261 (rewrite_initialize_block): Mark parameters as unused as needed.
4262 Change references to the block local block_defs to be block_defs_stack.
4263 Push a marker onto the block_defs_stack.
4264 (ssa_rewrite_initialize_block): Similarly.
4265 (rewrite_stmt, ssa_rewrite_stmt): Similarly.
4266 (ssa_register_new_def): No longer needs varray argument. Use
4267 block_defs_stack instead. No longer handle possibly null block_defs
4268 varray. Reverse order of items we push on the stack to make it
4269 easier to identify our marker.
4270 (register_new_def): No longer handle possibly null block_defs
4271 varray.
4272 (rewrite_finalize_block): Revamp to look for markers in the global
4273 block_defs_stack varray rather than wiping a block local varray.
4274 Mark arguments as unused as needed.
4275 (ssa_rewrite_finalize_block): Similarly.
4276 (rewrite_into_ssa): Update initialization of dom walker structure
4277 to reflect that we don't need block local data anymore. Initialize
4278 the block_defs_stack varray.
4279 (rewrite_ssa_into_ssa): Similarly.
4280 * tree-ssa-dom.c (block_defs_stack): New toplevel varray.
4281 (struct dom_walk_data): Kill block_defs field.
4282 (tree_ssa_dominator_optimize): Initialize block_defs_stack.
4283 (thread_across_edge): Use the global block_defs_stack instead of
4284 the old block_defs varray.
4285 (dom_opt_initialize_block_local_data): Update now that we don't have
4286 block_defs field to check anymore.
4287 (dom_opt_initialize_block): Push a marker onto block_defs_stack.
4288 (restore_currdefs_to_original_value): Use the new block_defs_stack
4289 instead of a block local varray.
4290 (dom_opt_finalize_block): Similarly.
4291 (record_equivalencs_from_phis): Similarly.
4292 (optimize_stmt, register_definitions_for_stmt): Similarly.
4293
49f48e9f
AM
42942004-09-16 Andrew MacLeod <amacleod@redhat.com>
4295
4296 PR tree-optimization/17517
6615c446 4297 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
49f48e9f
AM
4298 coalesce same-root variables without checking for abnormal PHI usage.
4299
f67d92e9 43002004-09-16 Daniel Berlin <dberlin@dberlin.org>
6615c446 4301
f67d92e9
DB
4302 * cfgloop.h (duplicate_loop): Add prototype.
4303 * cfgloopmanip.c (duplicate_loop): Make non-static.
4304 * lambda-code.c (perfect_nestify): Factor out test whether
4305 we can handle this loop into separate function.
4306 Call it.
4307 (can_convert_to_perfect_nest): New function.
4308 (replace_uses_of_x_with_y): Add modify_stmt call.
4309 * tree-loop-linear.c (linear_transform_loops): Call
4310 rewrite_into_loop_closed_ssa and free_df.
4311
43122004-09-16 Daniel Berlin <dberlin@dberlin.org>
4313
4314 * lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
4315 loop invariant as well.
4316 (perfect_nestify): new function.
4317 (gcc_loop_to_lambda_loop): New parameters to track lower bounds,
6615c446 4318 upper bounds, and steps.
f67d92e9
DB
4319 Set outerinductionvar properly.
4320 (gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
4321 parameters.
4322 Return NULL if we need a perfect loop and can't make one.
4323 (lambda_loopnest_to_gcc_loopnest): Correct algorithm.
4324 (not_interesting_stmt): New function.
4325 (phi_loop_edge_uses_def): Ditto.
4326 (stmt_uses_phi_result): Ditto.
4327 (stmt_is_bumper_for_loop): Ditto.
4328 (perfect_nest_p): Ditto.
4329 (nestify_update_pending_stmts): Ditto.
4330 (replace_uses_of_x_with_y): Ditto.
4331 (stmt_uses_op): Ditto.
4332 (perfect_nestify): Ditto.
4333 * lambda-mat.c (lambda_matrix_id_p): New function.
4334 * lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
4335 * lambda.h: Update prototypes.
4336 * tree-loop-linear (linear_transform_loop): Use new
4337 perfect_nest_p. Detect and ignore identity transform.
4338 * tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.
4339
43402004-09-16 Sebastian Pop <pop@cri.ensmp.fr>
4341
4342 * tree-loop-linear.c (gather_interchange_stats): Add more comments.
6615c446 4343 Gather also strides of accessed data. Pass in the data references
f67d92e9 4344 array.
6615c446 4345 (try_interchange_loops): Add a new heuristic for handling the temporal
f67d92e9
DB
4346 locality. Pass in the data references array.
4347 (linear_transform_loops): Pass the data references array to
4348 try_interchange_loops.
4349
83c99486
KH
43502004-09-16 Kazu Hirata <kazu@cs.umass.edu>
4351
4352 * doc/invoke.texi: Fix typos. Follow spelling conventions.
4353
4b30ad7e
NS
43542004-09-16 Nathan Sidwell <nathan@codesourcery.com>
4355
4356 * doc/c-tree.texi (Classes): Remove index entries for
4357 TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
4358
2f4675b4
ZD
43592004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4360
4361 * fold-const.c (fold): Fold difference of addresses.
4362 (ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
4363 get_inner_reference.
4364 * tree-ssa-loop-ivopts.c (peel_address): Removed.
4365 (ptr_difference_const): Moved to fold-const.c.
4366 (split_address_cost): Use get_inner_reference instead of peel_address.
4367 (ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
4368 * tree.h (ptr_difference_const): Export.
4369
4370 * tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
4371 variable type to the dump. Fix indentation.
4372 (idx_find_step): Handle nonconstant array_ref_element_size and
4373 array_ref_low_bound.
4374 (idx_record_use): Handle array_ref_element_size and
4375 array_ref_low_bound.
4376 (find_interesting_uses_stmt): Handle memory = nontrivial_expression
4377 statements correctly.
4378 (get_computation_at, iv_value): Do not unshare expressions here.
4379 (rewrite_use_outer): Unshare the expression before it is emitted
4380 to code.
4381 * tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
4382 Moved to tree.c.
4383 * tree.c (unsigned_type_for, signed_type_for): Moved from
4384 tree-ssa-loop-niter.c. Use langhooks.
4385 * tree.h (signed_type_for): Export.
4386
8210e4c4
DE
43872004-09-16 David Edelsohn <edelsohn@gnu.org>
4388
4389 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
4390 prototype.
4391
3dd53121
AP
43922004-09-15 Andrew Pinski <pinskia@physics.uc.edu>
4393
4394 PR target/11572
4395 * c-incpath.h (target_c_incpath_s): Add extra_pre_includes.
4396 Add two parameters to extra_includes.
4397 (C_INCPATH_INIT): Remove.
4398 * c-incpath.c (register_include_chains): Call extra_pre_includes
4399 before adding the standard include directory.
4400 Update call to extra_includes.
4401 (!defined TARGET_EXTRA_INCLUDES): Update
4402 hook_void_charptr_charptr_int and add !define
4403 TARGET_EXTRA_PRE_INCLUDES.
4404 (!define TARGET_EXTRA_INCLUDES): Define as
4405 hook_void_charptr_charptr_int.
4406 (!define TARGET_EXTRA_PRE_INCLUDES): Likewise.
4407 (target_c_incpath): Always declare.
4408 * fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a
4409 empty function.
4410 (define TARGET_EXTRA_PRE_INCLUDES): Likewise.
4411 * config/darwin.h: (darwin_register_frameworks): Update for
4412 the two new parameters.
4413 (darwin_register_objc_includes): Add prototype.
4414 (TARGET_EXTRA_PRE_INCLUDES): Define.
4415 * config/darwin-c.c (darwin_register_objc_includes): New function.
4416 (darwin_register_frameworks): Update for the two new parameters.
4417 (target_c_incpath): Remove.
4418 * config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to
4419 the compile line.
4420 * doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new
4421 parameters.
4422 (TARGET_EXTRA_PRE_INCLUDES): Document.
4423
4424 * gcc.c (spec_function): Add replace-outfile.
4425 (replace_outfile_spec_function): New function.
4426 * config/darwin.h (LINK_SPEC): Add replace
4427 -lobjc with -lobjc-gnu if -fgnu-runtime is
4428 supplied.
4429 * invoke.texi (replace-outfile): Document.
4430
42f97fd2
JH
44312004-09-13 Jan Hubicka <jh@suse.cz>
4432
4433 * predict.c (expr_expected_value, strip_builtin_expect): New function.
4434 (tree_predict_by_opcode): Use it.
4435 (tree_estimate_probability): Add, for now disabled,
4436 strip_builtin_expect call.
4437
097f3d48
JW
44382004-09-15 James E Wilson <wilson@specifixinc.com>
4439
4440 PR target/17455
4441 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
4442 if current_function_decl is a sibcall.
4443
04a75188
MM
44442004-09-15 Mark Mitchell <mark@codesourcery.com>
4445
4446 * varasm.c (default_function_rdodata_section): Make sure to pass
4447 along a decl for a link-once section.
4448
e776368b
RH
44492004-09-15 Richard Henderson <rth@redhat.com>
4450
4451 * tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
4452 warning with code disable. Fix formatting.
4453
c7f90219
SB
44542004-09-15 Steven Bosscher <stevenb@suse.de>
4455
4456 * Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
4457 * tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
6615c446 4458 after propagating into an ADDR_EXPR.
c7f90219 4459
2f021b67
AP
44602004-09-15 Andrew Pinski <apinski@apple.com>
4461
4462 PR rtl-opt/17427
4463 * gcse.c (process_insert_insn): insn_invalid_p has side effects.
4464 Move it out of gcc_assert.
4465
971801ff
JM
44662004-09-15 Joseph S. Myers <jsm@polyomino.org.uk>
4467
4468 * attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
4469 except.c, fold-const.c, function.c, langhooks.c, params.c,
4470 reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
4471 tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
4472 for quoting in diagnostics going through pretty-print.c. Use ''
4473 for quoting in other diagnostic text.
4474 * langhooks.c: Include intl.h. Mark text locating diagnostics for
4475 translation.
4476 * Makefile.in (langhooks.o): Update dependencies.
4477 * pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
4478 formats.
4479
c18a5b6c
MM
44802004-09-15 Mark Mitchell <mark@codesourcery.com>
4481
4482 * configure.ac: Check for COMDAT support. Robustify check for
4483 SHF_MERGE support.
4484 * configure: Regenerated.
4485 * config.in: Likewise.
4486 * langhooks-def.h (lhd_comdat_group): New function.
4487 (LANG_HOOKS_COMDAT_GROUP): New macro.
4488 (LANG_HOOKS_DECLS): Use it.
4489 * langhooks.c (lhd_comdat_group): Define.
4490 * langhooks.h (lang_hooks_for_decls): Add comdat_group.
4491 * output.h (named_section_flags): Make it a macro.
4492 (named_section_real): New function.
4493 (default_no_named_section): Add decl parameter.
4494 (default_elf_asm_named_section): Likewise.
4495 (default_coff_asm_named_section): Likewise.
4496 (default_pe_asm_named_section): Likewise.
4497 * target.h (gcc_target): Adjust type of named_section.
4498 * varasm.c (named_section_flags): Rename to named_section_real.
4499 Add decl parameter.
4500 (default_no_named_section): Add decl parameter.
4501 (default_elf_asm_named_section): Use COMDAT, if available. Deal
4502 with the case that ASM_COMMENT_START is "@".
4503 (default_coff_asm_named_section): Add decl parameter.
4504 (default_pe_asm_named_section): Likewise.
4505 * config/alpha/alpha.c (vms_asm_named_section): Add decl
4506 parameter.
4507 (unicosmk_asm_named_section): Likewise.
4508 * config/arm/arm.c (arm_elf_asm_named_section): Remove.
4509 * config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
4510 * config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
4511 * config/cris/cris-protos.h (cris_target_asm_named_section):
4512 Likewise.
4513 * config/cris/cris.c (cris_target_asm_named_section):
4514 Likewise.
4515 * config/darwin/darwin-protos.h (darwin_asm_named_section):
4516 Likewise.
4517 * config/darwin/darwin.c (darwin_asm_named_section): Likewise.
4518 * config/h8300/h8300.c (h8300_asm_named_section): Likewise.
4519 * config/i386/i386-protos.h (i386_pe_asm_named_section):
4520 Likewise.
4521 * config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
4522 * config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
4523 * config/mcore/mcore.c (mcore_asm_named_section): Likewise.
4524 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
4525 Likewise.
4526 * config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
4527 * cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define.
4528 * cp/cp-tree.h (cxx_comdat_group): Declare.
4529 * cp/decl.c (cxx_comdat_group): New function.
4530
fe7139ac
JH
45312004-09-15 Jan Hubicka <jh@suse.cz>
4532
87527e4b
JH
4533 * tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
4534 * tree-tailcall.c (eliminate_tail_call): Release SSA name.
4535
fe7139ac
JH
4536 * tree-cfg.c (remove_bb): Release SSA defs.
4537
1a141fe1
KH
45382004-09-15 Kazu Hirata <kazu@cs.umass.edu>
4539
4540 * doc/tm.texi: Follow spelling conventions.
4541
b3a27618
KH
45422004-09-15 Kazu Hirata <kazu@cs.umass.edu>
4543
4544 * tree-ssa-dom.c: Fix comment typos.
4545
43e7c6a4
AM
45462004-09-15 Alan Modra <amodra@bigpond.net.au>
4547
4548 * config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
4549 include ccr.
4550 (ppc_fallback_frame_state): Save location of CR.
4551
9a520f40
JJ
45522004-09-15 Jakub Jelinek <jakub@redhat.com>
4553
a45f71f5
JJ
4554 * expr.c (string_constant): Handle also read-only variables
4555 initialized to string literals.
4556
9a520f40
JJ
4557 * builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
4558 into memcpy (x, y, 1) if memcpy can be expanded inline.
4559
b1d16eff
ZD
45602004-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4561
4562 PR tree-optimization/17468
4563 * tree-ssa.c (verify_use, verify_phi_args, verify_ssa): Verify that
4564 definition inside a block precede uses.
4565 * tree-tailcall.c (adjust_return_value): Emit statements in the
4566 correct order.
4567
36579192
RS
45682004-09-15 Richard Sandiford <rsandifo@redhat.com>
4569
4570 * config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
4571
7c2f2b41
EB
45722004-09-15 Eric Botcazou <ebotcazou@libertysurf.fr>
4573
4574 * doc/install.texi (sparc-sun-solaris2*): Properly format warning.
4575
a5c965c1
JL
45762004-09-14 Jeff Law <law@redhat.com>
4577
48732f23
JL
4578 * tree-ssa-dom.c (avail_exprs_stack): New global varray.
4579 (struct dom_walk_block_data): Remove avail_exprs member.
4580 (tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
4581 (lookup_avail_expr): No longer need to pass in address of
4582 the block local available exprs stack. All callers changed.
4583 (simplify_cond_and_lookup_avail_expr): Similarly.
4584 (simplify_switch_and_lookup_avail_expr): Similarly.
4585 (get_eq_expr_value, record_cond): Likewise.
4586 (record_dominating_conditions): Likewise.
4587 (update_rhs_and_lookup_avail_expr): Likewise.
4588 (record_equivalences_from_stmt): Likewise.
4589 (dom_opt_initialize_block_local_data): No longer test state of
4590 block local avail_exprs.
4591 (dom_opt_initialize_block): Mark unwind point in the global
4592 avail_expr stack.
4593 (remove_expressions_from_table): Update to unwind to the
4594 most recent unwind marker in the global avail_expr stack.
4595 All callers changed.
4596 (dom_opt_finalize_block): Mark unwind point in the global
4597 avail_expr stack as needed.
4598 (record_cond): Push elements into the global avail_exprs stack.
4599
a5c965c1
JL
4600 * tree-dfa.c (free_df_for_stmt): No longer static.
4601 (free_df): Update comments.
4602 * tree-flow.h (free_df_for_stmt): Prototype.
4603 * tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt. Also
4604 call release_defs.
4605
391f9afb
DN
46062004-09-14 Diego Novillo <dnovillo@redhat.com>
4607
4608 PR tree-optimization/17252
4609 * tree-ssa-alias.c (may_alias_p): Don't assume that a
4610 pointer may not point to itself when using relaxed
4611 aliasing rules.
4612
67f23620
RH
46132004-09-14 Richard Henderson <rth@redhat.com>
4614
4615 PR middle-end/17397
4616 * gimplify.c (gimplify_addr_expr): Don't inadvertently change types
4617 while folding <ADDR_EXPR <INDIRECT_REF X>>.
4618
5ffcd779
AP
46192004-09-14 Andrew Pinski <apinski@apple.com>
4620
4621 * tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
4622 sets of the pointers but the aliasing sets of what they point to.
4623
f6ae6c51
RS
46242004-09-14 Roger Sayle <roger@eyesopen.com>
4625
4626 PR rtl-optimization/9771
4627 * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
4628 conditional compilation in init_reg_sets_1.
4629 (init_reg_sets_1): Let global_regs[i] take priority over the frame
4630 (but not stack) pointer exceptions to regs_invalidated_by_call.
4631 (globalize_reg): Globalizing a fixed register may need to update
4632 regs_invalidated_by_call.
4633
1810f6ed
DN
46342004-09-14 Diego Novillo <dnovillo@redhat.com>
4635
4636 PR tree-optimization/15262
4637 * tree-dfa.c (dump_variable): Also print the type of the
4638 variable.
4639 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
4640 memory tags are of conflicting alias sets but have no aliased
4641 symbols in common, add one tag to the alias set of the other.
4642 (setup_pointers_and_addressables): Remove hack to deal with
4643 programs with no aliased symbols.
4644 (may_alias_p): Don't special case aggregate types.
4645
0e6d31fb
JM
46462004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
4647
4648 PR c/15498
4649 * doc/invoke.texi (Environment Variables): Correct example locale.
4650
ab3b6795
JH
46512004-09-14 Jan Hubicka <jh@suse.cz>
4652
4653 * cfg.c (expunge_block): Revert previous change adding ggc_free call.
4654
0c0f8409
MM
46552004-09-14 Mark Mitchell <mark@codesourcery.com>
4656
4657 * config.gcc: Do not build a shared libgcc for arm-none-eabi.
4658
3b53cddc
JM
46592004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
4660
4661 * c-tree.h (struct c_declspecs): Add const_p, volatile_p and
4662 restrict_p.
4663 (struct c_declarator): Change u.array.quals and pointer_quals to
4664 int. Add u.array.attrs.
4665 (quals_from_declspecs): New.
4666 * c-decl.c (quals_from_declspecs): New.
4667 (shadow_tag_warned): Give more specific message for useless type
4668 qualifiers.
4669 (build_array_declarator, set_array_declarator_inner,
4670 grokdeclarator, make_pointer_declarator, build_null_declspecs,
4671 declspecs_add_qual): Update for changed structures.
4672
a6e1aa26
JL
46732004-09-14 Jeff Law <law@redhat.com>
4674
4675 * tree-ssa-dom.c (stmts_to_rescan): Move from a block-local
6615c446 4676 to a global varray.
a6e1aa26
JL
4677 (tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
4678 (dom_opt_initialize_block_local_data): No longer test state
4679 of stmts_to_rescan.
4680 (dom_opt_finalize_block): Update due to change in scope of
4681 stmts_to_rescan.
4682 (optimize_stmt): Similarly.
4683
8e3c61c5
KH
46842004-09-14 Kazu Hirata <kazu@cs.umass.edu>
4685
4686 * cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
4687 lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
4688 comment typos. Follow spelling conventions.
4689
0e40b5f2
KH
46902004-09-14 Kazu Hirata <kazu@cs.umass.edu>
4691
4692 * config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
4693 config/i386/predicates.md, config/sparc/sparc.c: Follow
4694 spelling conventions.
4695
113d659a
ZD
46962004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4697 Steven Bosscher <stevenb@suse.de>
4698
4699 * Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
4700 * basic-block.h (struct reorder_block_def): Add copy_number field.
4701 * cfgloop.h (biv_p): Declare.
4702 * cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
4703 * common.opt (fsplit-ivs-in-unroller): New flag.
4704 * loop-iv.c (biv_p): New function.
4705 * loop-unroll.c: Include hashtab.h and recog.h.
4706 (struct iv_to_split, struct split_ivs_info): New types.
4707 (analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
4708 free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
4709 determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
4710 insert_base_initialization, split_iv): New functions.
4711 (peel_loop_completely, unroll_loop_constant_iterations,
4712 unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
4713 Use them.
4714 * doc/invoke.texi (-fsplit-ivs-in-unroller): Document.
4715
d840495b
ZD
47162004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4717
4718 * tree-cfg.c (thread_jumps): Update dominators correctly in
4719 case destination of threaded edge dominates its source.
4720
c94583fe
ZD
47212004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4722
4723 * unroll.c: Removed.
4724 * loop.h: Removed.
4725 * Makefile.in (LOOP_H, unroll.o): Removed.
4726 (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
4727 dependency.
4728 * alias.c (init_alias_analysis): Remove flag_old_unroll_loops
4729 reference.
4730 * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
4731 * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
4732 * loop.c: Do not include loop.h.
4733 (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
4734 REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
4735 struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
4736 REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
4737 struct loop_regs, struct loop_movables, struct loop_info): Moved
4738 from loop.h.
4739 (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
4740 reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
4741 find_common_reg_term, loop_iterations, final_giv_value): Moved
4742 from unroll.c.
4743 (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
4744 loop_dump_stream, for_each_insn_in_loop, express_from,
4745 extend_value_for_giv, loop_iv_add_mult_emit_before,
4746 loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
4747 loop_insn_first_p, get_condition_for_loop,
4748 loop_insn_emit_before, loop_insn_hoist,
4749 loop_insn_sink): Made static.
4750 (loop_invariant_p): Made static. Removed flag_old_unroll_loops
4751 reference.
4752 (strength_reduce): Do not call unroller.
4753 (record_giv): Do not initialize unrolled field.
4754 (prescan_loop): Do not set loop_info->preconditioned.
4755 * passes.c: Do not include loop.h.
4756 (rest_of_handle_loop_optimize): Do not call unroller.
4757 * predict.c: Do not include loop.h.
4758 * rtl.h (NOTE_PRECONDITIONED): Removed.
4759 * stmt.c: Do not include loop.h.
4760 * toplev.c: Do not include loop.h.
4761 (process_options): Do not handle flag_old_unroll_loops.
4762
4763 * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
4764 Documentation removed.
4765 * doc/passes.texi (unroll.c, loop.h): Documentation removed.
4766
03261822
NS
47672004-09-14 Nathan Sidwell <nathan@codesourcery.com>
4768
4769 * Makefile.in (STAGE1_CHECKING): New variable.
4770 (stage1_build): Use it.
4771 * tree-ssa.c (verify_ssa): Preserve state of dominance
4772 information.
4773
869d095e
UB
47742004-09-14 Uros Bizjak <uros@kss-loka.si>
4775
4776 * config/i386/i386.c (output_fp_compare): Add generation
4777 of ftst instruction.
4778 * config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
4779 Use output_fp_compare () function.
4780 (cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
4781 (fix_truncdi_memory): Remove operands[5] copy.
4782
19525b57
KH
47832004-09-14 Kazu Hirata <kazu@cs.umass.edu>
4784
4785 * config/m32r/m32r.md, config/m68k/m68kelf.h,
4786 config/mcore/mcore.md, config/rs6000/linux64.h,
4787 config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
4788 typos.
4789
a140c081
JW
47902004-09-13 James E Wilson <wilson@specifixinc.com>
4791
4792 * Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
4793 * gen-protos.c: Include errors.h.
4794 (progname): Delete.
4795
b6acab32
JH
47962004-09-14 Jan Hubicka <jh@suse.cz>
4797
4798 * Makefile.in (predict.o): Depend on tree-scalar-evolution.h
4799 * predict.c: Include tree-scalar-evolution.h and cfgloop.h
4800 (predict_loops): Use number_of_iterations_exit to predict
4801 number of iterations on trees.
4802
c1bbfd3c
DJ
48032004-09-13 Dale Johannesen <dalej@apple.com>
4804
4805 PR 17408
4806 PR 17409
4807 * c-decl.c (start_decl): Repair TREE_STATIC for initialized
4808 objects declared extern.
4809
b9705a21
PB
48102004-09-14 Paul Brook <paul@codesourcery.com>
4811
4812 * config/arm/arm.c (arm_expand_prologue): Make args_to_push a
4813 HOST_WIDE_INT.
4814
b9193259
DJ
48152004-09-13 Daniel Jacobowitz <dan@debian.org>
4816
4817 * fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
4818 Only use TYPE_BINFO for aggregates.
4819
3ab0f290
DJ
48202004-09-13 Daniel Jacobowitz <dan@debian.org>
4821
4822 * expmed.c (synth_mult): Initialize latency. Check cost before
4823 checking ops count.
4824
fa9be75f 48252004-09-13 Kenneth Zadeck <Kenneth.Zadeck@NaturalBridge.com>
6674a6ce 4826
6674a6ce
KZ
4827 * tree-ssa-operands.c (get_call_expr_operands): Added parm to
4828 add_call_clobber_ops and add_call_read_ops.
4829 (add_call_clobber_ops, add_call_read_ops): Added code to reduce
4830 the number of vdefs and vuses inserted based on analysis of global
4831 variables across calls. * tree-dfa.c (find_referenced_vars):
4832 Needed to reset static var maps before each function is compiled.
4833 * cgraphunit.c:
4834 (static_vars_to_consider_by_tree,static_vars_to_consider_by_uid,
4835 static_vars_info,functions_to_static_vars_info,module_statics_escape,
4836 all_module_statics,searchc_env,dfs_info): New fields to support
4837 analysis of static global variables.
4838 (print_order, convert_UIDs_in_bitmap, new_static_vars_info,
4839 cgraph_reset_static_var_maps, get_global_static_vars_info,
4840 get_global_statics_not_read, get_global_statics_not_written,
4841 searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis,
4842 check_rhs_var, check_lhs_var, get_asm_expr_operands,
4843 process_call_for_static_vars, scan_for_static_refs,
4844 cgraph_characterize_statics_local, cgraph_get_static_name_by_uid,
4845 clear_static_vars_maps, cgraph_propagate_bits,
4846 cgraph_characterize_statics): New. Functions to support analysis
4847 of static global variables.
4848 (cgraph_mark_local_and_external_functions): Renamed from:
4849 (cgraph_mark_local_functions)
4850 (cgraph_expand_all_functions): Remove call to
4851 cgraph_mark_local_and_external_functions.
4852 (cgraph_optimize): Added driver to analyze static variables whose
4853 scope is within the compilation unit. * cgraph.h (struct
4854 cgraph_local_info, GTY): Added statics_read, statics_written,
4855 local, calls_read_all, calls_write_all, for_functions_valid.
4856 (struct cgraph_node): Added next_cycle. * cgraph.c
4857 (dump_cgraph_node): Added print routines for new fields. *
4858 makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc
4859 list.
4860
61f4f1cc
JM
48612004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
4862
4863 * c-decl.c (grokdeclarator): Correct comments about where storage
4864 class specifiers are rejected by grammar and add corresponding
4865 asserts. Diagnose typedefs and parameters declared inline.
4866 Change warning for inline main to a pedwarn. Only diagnose inline
4867 main if hosted.
4868 (declspecs_add_scspec): Allow duplicate "inline".
4869
88ed5ef5
SE
48702004-09-13 Steve Ellcey <sje@cup.hp.com>
4871
4872 * config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
4873 (TARGET_SCALAR_MODE_SUPPORTED_P): New.
4874
a5bfe141
RH
48752004-09-13 Richard Henderson <rth@redhat.com>
4876
4877 PR 17436
4878 * tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
4879 (tree_type): Replace spare with contains_placeholder_bits.
4880 (type_contains_placeholder_1): Rename from type_contains_placeholder_p,
4881 make static. Remove seen_types list.
4882 (type_contains_placeholder_p): New.
4883
1823bf53
JW
48842004-09-13 James E Wilson <wilson@specifixinc.com>
4885
4886 * config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
4887 (sb1_bdesc, bdesc_map, bdesc_arrays): New.
4888 (mips_expand_builtin): Add SB-1 support. Use bdesc_map and
4889 bdesc_arrays instead of mips_bdesc.
4890 (mips_init_builtins): Likewise.
4891 * config/mips/mips.h (TARGET_SB1): New.
4892 (HAVE_SQRT_P): Delete.
4893 * config/mips/mips.md (divide_condition): Support V2SF.
4894 (sqrt_condition, recip_condition): New.
4895 (div<mode>3): Use ANYF instead of SCALARF.
4896 (*div<mode>3): Use ANYF instead of SCALARF. Use UNITMODE instead of
4897 MODE.
4898 (*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
4899 instead of ISA_HAS_FP4. Use ANYF instead of SCALARF. Use UNITMODE
4900 instead of MODE.
4901 (sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P. Use ANYF
4902 instead of SCALARF. Use UNITMODE instead of MODE.
4903
c8a52525
ZW
49042004-09-13 Zack Weinberg <zack@codesourcery.com>
4905
4906 * config.in: Regenerate after removal of libbanshee.
4907
a78e238e
AM
49082004-09-13 Andrew MacLeod <amacleod@redhat.com>
4909
4910 PR tree-optimization/17400
4911 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
4912 coalesce partitions when one occurs in an abnormal PHI.
6615c446 4913
5547b982
AP
49142004-09-13 Andrew Pinski <apinski@apple.com>
4915
4916 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
4917 name to _new_size.
4918
0d87c765 49192004-09-13 Richard Henderson <rth@redhat.com>
c8a52525 4920
c892972f
SB
4921 PR inline-asm/6806
4922 * cselib.c (cselib_invalidate_rtx): Export. Remove unused args.
4923 (cselib_invalidate_rtx_note_stores): New.
4924 (cselib_record_sets, cselib_process_insn): Update to match.
4925 * cselib.h (cselib_invalidate_rtx): Declare.
4926 * postreload.c (reload_cse_simplify): Invalidate asm clobbers.
0d87c765 4927
84cce55d
RH
49282004-09-13 Richard Henderson <rth@redhat.com>
4929
4930 PR tree-opt/10528
4931 * tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
4932 after copying its argument.
4933
bda67431
JM
49342004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
4935
4936 * c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
4937 c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
4938 in diagnostics. Use %' for English apostrophes.
4939 * c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
4940 (pedwarn_c90, pedwarn_c99): Use it.
4941 * c-decl.c (lookup_label): Quote label name in diagnostic.
4942 * c-parse.in (yyprint): Use ' instead of ` for left quote.
4943 * c-typeck.c (warn_for_assignment): Likewise.
4944
ad7b96a9
JH
49452004-09-13 Jan Hubicka <jh@suse.cz>
4946
4947 * i386.c (x86_schedule): New global variable.
4948 (override_options): Disable scheduling when not supported.
4949 * i386.h (x86_schedule): Declare.
4950 (TARGET_SCHEDULE): New macro.
4951
373c0e7f
RH
49522004-09-12 Richard Henderson <rth@redhat.com>
4953
4954 PR c++/16254
4955 * fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
4956 * tree.c, tree.h (has_cleanups): Remove.
4957
7fac6722
ZD
49582004-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4959
4960 * tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
4961 arguments of the phi nodes correctly.
4962
85914593
JH
49632004-09-12 Jan Hubicka <jh@suse.cz>
4964
4965 * ggc-common.c (cmp_statistics): Fix sorting.
4966
3d520aaf
DE
49672004-09-12 David Edelsohn <edelsohn@gnu.org>
4968
4969 PR target/16795
4970 * expmed.c (expand_divmod): If cheap power of 2 divide is
4971 available, use it for negative constant as well.
4972
8f8ccdf3
AP
49732004-09-12 Andrew Pinski <apinski@apple.com>
4974
c92d8761
AP
4975 * darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
4976 size of 0.
4977
8f8ccdf3
AP
4978 * tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
4979
93330ea1
RH
49802004-09-12 Richard Henderson <rth@redhat.com>
4981
4982 * config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
4983 or minus one.
4984 (ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
4985 post-reload, and scratch NULL.
4986 * config/i386/i386.md (testqi_1): Use FLAGS_REG name.
4987 (x86_shift_adj_2): Use ix86_expand_clear.
4988 (ashldi3): Remove CMOVE expansion difference.
4989 (ashldi3_1): Remove.
4990 (*ashldi3_1): Rename from *ashldi3_2. Use reg_or_pm1_operand and
4991 add constraints for immediates. New peephole for split-with-temp.
4992 Run splitter after peep2 pass.
4993 (ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
4994 (lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
4995 (setcc_2): Rename with *.
4996 * config/i386/predicates.md (reg_or_pm1_operand): New.
4997 (ashldi_input_operand): New.
4998
21076c8e
RH
49992004-09-12 Richard Henderson <rth@redhat.com
5000
5001 * print-rtl.c (print_decl_name): New.
5002 (print_mem_expr): Use it.
5003
f6a41d17
RH
50042004-09-12 Richard Henderson <rth@redhat.com
5005
c892972f
SB
5006 PR 17186, part deux
5007 * except.c (sjlj_emit_function_exit): Fix logic locating
5008 sjlj_exit_after in final block.
f6a41d17 5009
a924fe34
TM
50102004-09-12 Toon Moene <toon@moene.indiv.nluug.nl>
5011
5012 * common.opt: Remove flags -fmove-all-movables and
5013 -freduce-all-givs.
5014 * loop-invariant.c (find_invariants_to_move):
5015 Remove all uses of flag_move_all_movables.
5016 * loop.c (move_movables): Remove all uses of
5017 flag_move_all_movables.
5018 (strength_reduce): Remove all uses of
5019 flag_reduce_all_givs.
5020 * doc/invoke.texi: Remove documentation of flags
5021 -fremove-all-movables and -freduce-all-givs.
5022
ec76a0e0
RS
50232004-09-11 Roger Sayle <roger@eyesopen.com>
5024
5025 PR middle-end/17411
5026 * tree-sra.c (generate_element_zero): Revert recent build_int_cst
5027 change. elt->type may be a floating point type, so use fold_convert.
5028
ca472546
GK
50292004-09-11 Geoffrey Keating <geoffk@apple.com>
5030
5031 * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
5032 the thing referenced as used, not the stub itself.
5033
9a26d6ee
JM
50342004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
5035
5036 * c-tree.h (enum c_storage_class): New.
5037 (struct c_declspecs): Add storage_class, inline_p and thread_p.
5038 * c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
5039 declarations and "auto" or "register" in file scope empty
5040 declarations. Give more specific warnings for other cases of
5041 storage class specifiers in empty declarations.
5042 (grokdeclarator): Update for new structures. Don't check for
5043 multiple storage classes. Diagnose file-scope "register" if
5044 pedantic.
5045 (build_null_declspecs): Update.
5046 (declspecs_add_scspec): Update. Diagnose multiple storage class
5047 specifiers and invalid uses of "__thread".
5048
a38b644b
ZW
50492004-09-11 Zack Weinberg <zack@codesourcery.com>
5050
5051 * tree.c (tree_code_size): New function, bulk of code from tree_size.
5052 (tree_size, make_node): Use it.
5053 * tree-ssa-pre.c (init_pre): Use it.
5054 * tree.h: Prototype it.
5055
30d396e3
ZD
50562004-09-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5057
5058 * tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
5059 * tree-dfa.c (compute_immediate_uses, add_immediate_use,
5060 redirect_immediate_use): Use PHI_DF.
5061 * tree-flow-inline.h (stmt_ann): Abort on phi nodes.
5062 (bb_for_stmt): Use PHI_BB.
5063 (get_immediate_uses): Use PHI_DF.
5064 * tree-ssa-dse.c (max_stmt_uid): New variable.
5065 (get_stmt_uid): New function.
5066 (dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
5067 node annotations.
5068 * tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
5069 (max_uid): Renamed to max_stmt_uid.
5070 (get_stmt_uid): New function.
5071 (maybe_queue_var, single_reachable_address, determine_lsm): Do not use
5072 phi node annotations.
5073 * tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
5074 * tree.h (PHI_BB, PHI_DF): New accessor functions.
5075 (struct tree_phi_node): Add bb and df fields.
5076
f4a6d54e
RH
50772004-09-11 Richard Henderson <rth@redhat.com>
5078
5079 PR middle-end/17416
5080 * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
5081 in conflict loop.
5082
f43329a5
JH
50832004-09-11 Jan Hubicka <jh@suse.cz>
5084
1d1df0df
JH
5085 * i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
5086 (EMIT_MODE_SET): UNINITIALIZED mode needs no set.
5087 * i386.md (i387_cw): Add 'uninitialized' mode.
5088
f43329a5
JH
5089 * profile.c (BB_TO_GCOV_INDEX): move more to the front.
5090 (output_location): Break out from ....
5091 (branch_prob): ... here; handle gcov output on trees.
5092 * toplev.c (process_options): No longer be sorry about coverage for
5093 trees.
5094
05cf561d
SB
50952004-09-11 Steven Bosscher <stevenb@suse.de>
5096
5097 PR c++/17412
5098 * fold-const.c (fold): Do not try to fold the operand of a
5099 CLEANUP_POINT_EXPR if that operand does itself not have any
5100 operands.
5101
5102 PR middle-end/17417
5103 * langhooks.c (lhd_decl_printable_name): Make sure that this
5104 function is called with is a decl node that has an identifier.
5105 * tree-pretty-print.c (dump_function_name): New function to
5106 wrap PRINT_FUNCTION_NAME and dump_decl_name.
5107 (print_call_name): Use it.
5108
547d057d
ME
51092004-09-11 Mohan Embar <gnustuff@thisiscool.com>
5110
5111 * ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE,
5112 "config.h" if not.
5113
a17ea89b
JJ
51142004-09-11 Jakub Jelinek <jakub@redhat.com>
5115
5116 * tree-ssa-alias.c (collect_points_to_info_r): Handle
5117 pointing to PTR + OFFSET as PTR, not as pointing to PTR or pointing
5118 to OFFSET.
5119
70bb498a
RH
51202004-09-11 Richard Henderson <rth@redhat.com>
5121
5122 * expr.c (expand_expr_addr_expr_1) Rename from expand_expr_addr_expr.
5123 (expand_expr_addr_expr): New function. Take ADDR_EXPR instead of the
5124 operand of the ADDR_EXPR.
5125 (expand_expr_real_1): Update to match.
5126
0c94cda4
DE
51272004-09-11 David Edelsohn <edelsohn@gnu.org>
5128
d1909f7b 5129 PR target/17277
0c94cda4
DE
5130 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
5131 choose 64-bit version.
5132
5e55f99d
RH
51332004-09-11 Richard Henderson <rth@redhat.com>
5134
5135 PR c/17396
5136 * c-typeck.c (build_unary_op): Add legacy offsetof hack.
5137
431ae0bf
KH
51382004-09-11 Kazu Hirata <kazu@cs.umass.edu>
5139
5140 * doc/cfg.texi, doc/hostconfig.texi, doc/install.texi,
5141 doc/invoke.texi, doc/md.texi, doc/tm.texi, doc/tree-ssa.texi:
5142 Insert @: after i.e. or e.g.
5143
70601cc2
GK
51442004-09-10 Geoffrey Keating <geoffk@apple.com>
5145
5146 * tree-pretty-print.c (dump_decl_name): Print unnamed decls as
5147 D.xxx rather than <Dxxx>.
5148
a38b644b 51492004-09-10 Adam Nemet <anemet@lnxw.com>
8a45d680
AN
5150
5151 * configure.ac (AC_MSG_CHECKING(what linker to use)):
5152 in_tree_ld_is_elf should be true for LynxOS.
a38b644b 5153 * configure: Regenerate.
8a45d680 5154
ecc50d72
AN
51552004-09-10 Adam Nemet <anemet@lnxw.com>
5156
5157 * Makefile.in (all.cross): Add srcextra.
5158
3ae472c2
RS
51592004-09-10 Roger Sayle <roger@eyesopen.com>
5160
5161 PR middle-end/17024
5162 * fold-const.c (fold_cond_expr_with_comparison): Handle unordered
5163 floating point comparison operators. Change aborts to gcc_asserts.
5164
dc9d0b14
GK
51652004-09-10 Geoffrey Keating <geoffk@apple.com>
5166
5167 * final.c (output_asm_insn): Correct problem with -fverbose-asm.
5168
a73b091d
JW
51692004-09-10 James E Wilson <wilson@specifixinc.com>
5170
1c8c309b
JW
5171 * Makefile.in (LIBGCC_DEPS): Delete duplicate stmp-int-hdrs reference.
5172 (stmp-fixproto): Change stmp-int-headers to stmp-int-hdrs in comment.
5173
273d67e7
JW
5174 * convert.c (convert_to_vector): Replace recursive call with
5175 error_mark_node.
5176
a73b091d
JW
5177 * emit-rtl.c (gen_const_vector): Renamed from gen_const_vector_0.
5178 Add integer argument named constant. Use const_tiny_rtx instead of
5179 CONST0_RTX.
5180 (gen_rtx_CONST_VECTOR): Rewrite to handle checks for both CONST0_RTX
5181 and CONST1_RTX.
5182 (init_emit_once): Fix users of gen_const_vector. Set CONST1_RTX for
5183 vector types.
5184 * expr.c (const_vector_from_tree): Call gen_rtx_CONST_VECTOR instead
5185 of gen_rtx_raw_CONST_VECTOR.
5186
110fce11
EC
51872004-09-10 Eric Christopher <echristo@redhat.com>
5188
5189 PR c/16046
5190 * c-parse.in (attribute): Add NULL_TREE for error case
5191 for error recovery.
5192
5d709b00
ZW
51932004-09-10 Zack Weinberg <zack@codesourcery.com>
5194
5195 * c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
5196 (extract_interface_info): Delete prototype.
5197 * c-decl.c (extract_interface_info): Delete stub.
5198 * c-lex.c (get_fileinfo): Initialize file_info_tree here, if
5199 it's not already been done ...
5200 (init_c_lex): ... not here.
110fce11
EC
5201 (fe_file_change): Don't call extract_interface_info.
5202
616aeba2
JM
52032004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
5204
5205 * c-tree.h (struct c_declspecs): Remove typedef_decl. Add
5206 typedef_p and typedef_signed_p.
5207 * c-decl.c (shadow_tag_warned): Check typedef_p, not typedef_decl.
5208 (grokdeclarator): Don't use typedef_decl for warn_deprecated_use.
5209 Check typedef_p and typedef_signed_p, not typedef_decl.
5210 (grokfield): Check typedef_p, not typedef_decl.
5211 (build_null_declspecs): Initialize typedef_p and typedef_signed_p,
5212 not typedef_decl.
5213 (declspecs_add_type): Set typedef_p and typedef_signed_p, not
5214 typedef_decl.
5215
a8508d51
KH
52162004-09-10 Kazu Hirata <kazu@cs.umass.edu>
5217
5218 * doc/tm.texi, doc/tree-ssa.texi: Fix typos.
5219
18b3a02a
GK
52202004-09-10 Geoffrey Keating <geoffk@apple.com>
5221
769da818
GK
5222 * gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless
5223 temporary variables.
5224
375d2edc
GK
5225 * dbxout.c (dbxout_block): Update for
5226 current_function_func_begin_label a string.
5227 * dwarf2out.c (dwarf2out_begin_prologue): Likewise.
5228 * except.c (dw2_output_call_site_table): Likewise.
5229 * toplev.c (current_function_func_begin_label): Likewise.
5230 * tree.h (current_function_func_begin_label): Likewise.
5231 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Likewise.
5232
c383c15f
GK
5233 * final.c (output_asm_insn): Use strtoul instead of atoi, save a
5234 loop.
5235
1adaa117
GK
5236 * config/darwin.c: Include target.h.
5237 (struct machopic_indirection): Make ptr_name a string.
5238 (machopic_indirection_hash): Update for ptr_name a string.
5239 (machopic_indirection_eq): Likewise.
5240 (machopic_indirection_name): Likewise.
5241 (machopic_output_indirection): Likewise.
5242 (machopic_validate_stub_or_non_lazy_ptr): Update for ptr_name a
5243 string. Don't expect stub names to be in the identifier hash table.
5244 Do call strip_name_encoding before looking up entry in ID hash table.
5245 * config/t-darwin (darwin.o): Add target.h to dependencies.
5d709b00 5246
fb5c67a7
GK
5247 * gcc/config/rs6000/rs6000.c (print_operand): Use fputs instead
5248 of fprintf for register names.
5d709b00 5249
5f11bc8b
GK
5250 * output.h (unlikely_section_label): Delete declaration.
5251 (unlikely_text_section_name): Likewise.
5252 * varasm.c (unlikely_section_label_printed): Make static.
5253 (unlikely_section_label): Likewise.
5254 (unlikely_text_section_name): Likewise.
5255 (assemble_start_function): Use reconcat.
5256
18b3a02a
GK
5257 * rtl.def (REG): Add comment to describe third field.
5258
76f60aa5
AP
52592004-09-10 Andrew Pinski <apinski@apple.com>
5260
5261 * config/darwin.c (machopic_mcount_stub_name): Call
5262 machopic_indirection_name instead of making the string
5263 ourselves.
5264
e30b0ae2
DN
52652004-09-10 Diego Novillo <dnovillo@redhat.com>
5266
5267 Revert
5268
5269 2004-09-08 Jie Zhang <zhangjie@magima.com.cn>
5270
5271 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
5272 memory tag is call clobbered, so are its aliases.
5273 (group_aliases): When two memory tags being grouped, if one is
5274 call clobbered, so are the other and its aliases.
5275 (add_may_alias): Remove call-clobbering stuff.
5276 (replace_may_alias): Likewise.
5277 (merge_pointed_to_info): Merge pt_global_mem
5278
89dbed81
KH
52792004-09-10 Kazu Hirata <kazu@cs.umass.edu>
5280
5281 * bb-reorder.c, c-common.c, c-incpath.c, c-typeck.c,
5282 genrecog.c, lambda-code.c, mips-tdump.c, mips-tfile.c,
5283 passes.c, tree-data-ref.c, tree-data-ref.h, tree-mudflap.c,
5284 tree-scalar-evolution.c, tree-ssa-copyrename.c,
5285 tree-ssa-live.c, tree-ssa-live.h: Fix comment typos.
5286
094e84fa
RS
52872004-09-10 Richard Sandiford <rsandifo@redhat.com>
5288
5289 * config/frv/frv.md (UNSPEC_MASACCS, UNSPEC_MDASACCS): New constants.
5290 (maddaccs, msubaccs, *maddacc): Turn operand 0 into a single ACC/ACCG
5291 pair. Remove match_dup from inputs. Remove masaccs handling.
5292 (mdaddaccs, mdsubaccs, *mdaddacc): Likewise a dual ACC/ACCG pair.
5293 (masaccs, mdasaccs): Turn into define_insns.
5294
85d62520
RS
52952004-09-10 Richard Sandiford <rsandifo@redhat.com>
5296
5297 * tree-tailcall.c (process_assignment): Only do accumulator transforms
5298 for floating-point types if flag_unsafe_math_optimizations.
5299
c112cf2b
KH
53002004-09-10 Kazu Hirata <kazu@cs.umass.edu>
5301
5302 * config/darwin.c, config/alpha/alpha.h, config/arm/arm.c,
5303 config/arm/arm.h, config/arm/arm.md, config/arm/bpabi.h,
5304 config/arm/predicates.md, config/frv/frv.c, config/frv/frv.md,
5305 config/h8300/h8300.md, config/i386/gmm_malloc.h,
5306 config/ia64/ia64.md, config/ip2k/libgcc.S,
5307 config/mips/mips-ps-3d.md, config/mips/mips.c,
5308 config/rs6000/rs6000.c, config/s390/s390.c,
5309 config/sh/symbian.c: Fix comment typos.
5310
2790879f
AK
53112004-09-10 Andreas Krebbel <krebbel1@de.ibm.com>
5312
5313 * config/s390/s390.c (s390_emit_prologue): Added missing
5314 "{}" brackets.
5315
27ef2cdd
KH
53162004-09-10 Kazu Hirata <kazu@cs.umass.edu>
5317
5318 * doc/extend.texi, doc/invoke.texi, doc/passes.texi: Fix
5319 typos. Follow spelling conventions.
5320
108ebf88
JM
53212004-09-10 Joseph S. Myers <jsm@polyomino.org.uk>
5322
5323 * toplev.c (warn_deprecated_use): Correct logic for saying "type"
5324 in diagnostic. Don't dereference NULL TYPE_NAME.
5325
6cb38cd4
KH
53262004-09-10 Kazu Hirata <kazu@cs.umass.edu>
5327
5328 * c-common.c, c-pch.c, defaults.h, lambda-code.c, passes.c,
5329 tree-data-ref.c, tree-flow.h, tree-ssa-operands.c,
5330 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
5331 value-prof.c: Fix comment typos. Follow spelling conventions.
5332
b829f3fa
JH
53332004-09-10 Jan Hubicka <jh@suse.cz>
5334
5335 * tree-ssa-dce.c (remove_dead_stmt): Update profile.
5336 * tree-split_edge.c (tree_split_edge): Likewise.
5337 (thread_jumps): Likewise.
5338
229031d0
KH
53392004-09-10 Kazu Hirata <kazu@cs.umass.edu>
5340
5341 * cgraphunit.c, predict.c, tree-ssa-loop-ivopts.c: Fix comment
5342 typos.
5343
9b3e897d
PB
53442004-09-10 Paolo Bonzini <bonzini@gnu.org>
5345
5346 * cgraph.h (cgraph_dump_file): Do not declare.
5347 * cgraphunit.c (cgraph_dump_file): Declare as static.
5348 (init_cgraph): New.
5349 * toplev.c (cgraph_dump_file): Do not declare.
5350 (compile_file): Call init_cgraph.
5351 * tree-dump.c (dump_files): Add IPA dump file, remove
5352 XML dump of call graph.
5353 (get_dump_file_name): Support IPA dump file naming scheme.
5354 * tree.h (enum tree_dump_index): Add IPA dump file, remove
5355 XML dump of call graph.
5356 * doc/invoke.texi (Debugging Options): Document the new options.
5357
c3ee0579
RS
53582004-09-10 Richard Sandiford <rsandifo@redhat.com>
5359
5360 * doc/extend.texi: Document the FR-V built-in functions.
5361
236f9832
JW
53622004-09-09 James E Wilson <wilson@specifixinc.com>
5363
5364 * doc/sourcebuild.texi: Delete libbanshee reference.
5365
5a29def1
KC
53662004-09-10 Kelley Cook <kcook@gcc.gnu.org>
5367
5368 * Makefile.in (s-gtype): Add $(build_exeext) to gengtype command.
5369
3274deff
JW
53702004-09-09 James E Wilson <wilson@specifixinc.com>
5371
5372 * c-typeck.c (convert_for_assignment): Check that rhs has VECTOR_TYPE
5373 before calling vector_types_convertible_p.
5374 (digest_init): Check that inside_init has VECTOR_TYPE before calling
5375 vector_types_convertible_p. Don't give another error if
5376 convert_for_assignment returns error_mark_node.
5377
049e524f
RS
53782004-09-09 Roger Sayle <roger@eyesopen.com>
5379
5380 PR middle-end/17055
5381 * fold-const.c (build_zero_vector): New function to construct a
5382 vector (either floating point or integer) of zeros.
5383 (fold_convert): Internally, enable conversions of integer zero
5384 to arbitrary vector types, using the new build_zero_vector.
5385
1b83d209
RS
53862004-09-09 Roger Sayle <roger@eyesopen.com>
5387
5388 * config/i386/i386.c (ix86_expand_ashlsi3_const): New function to
5389 expand a left shift by an immediate constant as either an ashl or
5390 a sequence of additions.
5391 (ix86_split_ashldi): Use new ix86_expand_ashlsi3_const function
5392 instead of calling gen_ashlsi3 with a constant directly.
5393
903a5059
RS
53942004-09-09 Roger Sayle <roger@eyesopen.com>
5395
5396 * config/i386/i386.c (ix86_split_long_move): When optimizing for
5397 size, and the low and high parts of a DImode constant are equal,
5398 copy one register to another instead of loading the same immediate
5399 value twice.
5400
469c26f1
RH
54012004-09-09 Richard Henderson <rth@redhat.com>
5402
5403 PR middle-end/17367
5404 * function.c (assign_parm_setup_block): Only put PARALLELs into
5405 a register if use_register_for_decl.
5406
1aee688e
EC
54072004-09-09 Eric Christopher <echristo@redhat.com>
5408
5409 * ra-colorize.c (reset_lists): Move variable declaration inside
5410 ENABLE_CHECKING to avoid unused variable warnings when
5411 not --enable-checking.
5412 (check_colors): Ditto.
5413
89029cd4
MS
54142004-09-09 Mike Stump <mrs@apple.com>
5415
5416 * version.c (version_string): Bump to 4.0.0.
693ff889 5417 * doc/include/gcc-common.texi (version-GCC): Likewise.
89029cd4 5418
3f3174b6
JJ
54192004-09-10 Jakub Jelinek <jakub@redhat.com>
5420
5421 * doc/extend.texi (nothrow attribute): The attribute is not
5422 implemented in 3.2 and earlier.
5423
4c80d5ac
SE
54242004-09-09 Steve Ellcey <sje@cup.hp.com>
5425
5426 * genrecog.c (compute_predicate_codes): Use op0_codes
5427 instead of codes.
5428
2ec3ab99
UW
54292004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
5430
5431 * ra-colorize.c (hardregset_to_string): Adapt to HARD_REG_SET
5432 implementation changes.
5433
0b21d1dc
UW
54342004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
5435
5436 * combine.c (try_combine): When swapping i2 and i3, newi2pat may be
5437 a PARALLEL instead of a SET due to added clobbers.
5438
7bb09d15
UW
54392004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
5440
1aee688e 5441 * reload.c (find_reloads_address): Pass correct operand to
7bb09d15
UW
5442 maybe_memory_address_p.
5443
0a050485
DB
54442004-09-09 Daniel Berlin <dberlin@dberlin.org>
5445
5446 * Makefile.in: Remove libbanshee, tree-alias-*.
5447 Remove tree-alias-common.h dependencies.
5448 * common.opt: Remove -ftree-points-to.
5449 * configure.ac: Remove libbanshee.
5450 * flags.h: Remove pta_type, flag_tree_points_to.
5451 * gengtype.c (open_base_files): Remove tree-alias-type.h.
5452 * opts.c (OPT_ftree_points_to): Remove.
5453 * toplev.c: Remove tree-alias-common.h, flag_tree_points_to.
5454 * tree-dfa.c: Remove tree-alias-common.h
5455 * tree-into-ssa.c: Ditto.
5456 * tree-outof-ssa.c: Ditto.
5457 * tree-ssa-copyrename.c: Ditto.
5458 * tree-ssa-live.c: Ditto.
5459 * tree-optimize.c: Ditto.
5460 * tree-ssa.c: Ditto.
5461 Remove pass_build_pta, pass_del_pta.
5462 * tree-pass.h: Ditto.
5463 * tree-ssa-alias.c: Remove tree-alias-common.h.
5464 (struct alias_stats_d): Remove pta_queries, pta_resolved.
5465 (pass_may_alias): Remove PROP_pta requirement.
5466 (may_alias_p): Remove pta_queries, pta_resolved, use of andersens.
5467 (get_tmt_for): Ditto.
5468 (dump_alias_stats): Ditto.
5469 * doc/passes.texi: Remove blurb about points-to analysis.
5470 * fortran/Make-lang.in: Remove tree-alias-*.o.
1aee688e 5471
c1a404bd
RS
54722004-09-09 Richard Sandiford <rsandifo@redhat.com>
5473
5474 * genattrtab.c (write_insn_cases): New function, split out from
5475 write_attr_case. Correctly handle define_peepholes when printing
5476 the instruction name.
5477 (write_attr_case, write_const_num_delay_slots): Use write_insn_cases.
5478
b2416742
HPN
54792004-09-09 Hans-Peter Nilsson <hp@axis.com>
5480
5481 PR target/17377
5482 * config/cris/cris-protos.h (cris_return_address_on_stack): Declare.
5483 * config/cris/cris.c (cris_return_address_on_stack): New function.
5484 * config/cris/cris.md ("return"): For location of return address,
5485 also check cris_return_address_on_stack.
5486
b49ce401
DN
54872004-09-09 Diego Novillo <dnovillo@redhat.com>
5488
5489 * tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in
5490 calling phi_ssa_name_p.
5491
116df786
RH
54922004-09-09 Richard Henderson <rth@redhat.com>
5493
5494 PR c/17322
5495 * c-typeck.c (valid_compound_expr_initializer): Use only
5496 initializer_constant_valid_p, and not TREE_CONSTANT.
5497 (digest_init): Likewise.
5498 (output_init_element): Likewise.
5499
41374e13
NS
55002004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
5501
5502 * ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
5503 live_out_1, prune_hardregs_for_mode, init_one_web_common,
5504 reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
5505 record_conflict, compare_and_free_webs, init_webs_defs_uses,
5506 parts_to_webs_1, parts_to_webs, reset_conflicts,
5507 check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
5508 ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
5509 * ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
5510 put_move, remove_move, combine, select_spill, colorize_one_web,
5511 try_recolor_web, insert_coalesced_conflicts, check_colors,
5512 break_precolored_alias, restore_conflicts_from_coalesce,
5513 sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
5514 * ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
5515 reloads_to_loads, rewrite_program2, emit_colors): Likewise.
5516 * ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
5517 check_df): Likewise.
5518 * real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
5519 real_arithmetic, real_compare, real_exponent, real_ldexp,
5520 real_identical, real_to_integer, real_to_integer2, real_to_decimal,
5521 real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
5522 real_digit, real_nan, real_maxval, round_for_format, real_convert,
5523 real_to_target, real_from_target, real_hash, encode_ieee_single,
5524 encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
5525 encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
5526 encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
5527 * recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
5528 extract_insn, peep2_next_insn, peep2_reg_dead_p,
5529 peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
5530 if_test_bypass_p): Likewise.
5531 * reg-stack.c (record_label_references, get_asm_operand_n_inputs,
5532 stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
5533 emit_swap_insn, swap_to_top, move_for_stack_reg,
5534 subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
5535 compensate_edge, convert_regs_1): Likewise.
5536 * regclass.c (init_reg_sets, init_reg_sets_1,
5537 memory_move_secondary_cost): Likewise.
5538 * regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
5539 Likewise.
5540 * reload.c (push_secondary_reload, find_valid_class, push_reload,
5541 operands_match_p, decompose, immune_p, find_reloads,
5542 find_reloads_toplev, find_reloads_address_1, subst_reloads,
5543 copy_replacements, refers_to_regno_for_reload_p,
5544 reg_overlap_mentioned_for_reload_p): Likewise.
5545 * reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
5546 count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
5547 verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
5548 reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
5549 choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
5550 do_output_reload, fixup_abnormal_edges): Likewise.
5551 * reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
5552 fill_slots_from_thread, relax_delay_slots): Likewise.
5553 * resource.c (mark_referenced_resources, mark_set_resources):
5554 Likewise.
5555 * rtl.c (copy_rtx, rtx_equal_p): Likewise.
5556 * rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
5557 dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
5558 subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
5559 find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
5560 hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
5561 * rtlhooks.c (gen_lowpart_general): Likewise.
5562 * sbitmap.c (sbitmap_difference): Likewise.
5563 * sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
5564 sched_analyze, add_forward_dependence): Likewise.
5565 * sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
5566 * sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
5567 schedule_insns): Likewise.
5568 * sched-vis.c (print_pattern): Likewise.
5569 * sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
5570 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
5571 simplify_const_relational_operation, simplify_ternary_operation,
5572 simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
5573 Likewise.
5574 * sreal.c (copy, sreal_sub, sreal_div): Likewise.
5575 * stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
5576 resolve_operand_name_1, expand_return, expand_decl,
5577 expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
5578 * stor-layout.c (put_pending_size, smallest_mode_for_size,
5579 int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
5580 set_sizetype, get_mode_bounds): Likewise.
5581
15072eb1
ZW
55822004-09-09 Zack Weinberg <zack@codesourcery.com>
5583
5584 * defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
5585 * config/arm/pecoff.h, config/i386/beos-elf.h
5586 * config/i386/cygming.h, config/i386/i386-interix.h:
5587 Define MULTIPLE_SYMBOL_SPACES to 1, not nothing. Remove
5588 comment cloned from manual.
5589 * doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES.
5590
c2433d7d
FCE
55912004-09-09 Frank Ch. Eigler <fche@redhat.com>
5592
5593 * builtins.c (build_va_arg_indirect_ref): New function.
5594 (std_gimplify_va_arg_expr): Call it instead of mudflap check and
5595 build_fold_indirect_ref.
5596 * config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
5597 * config/ia64/ia64.c (ia64_gimplify_va_arg): Ditto.
5598 * tree.h: Declare new function.
5599
41374e13 56002004-09-09 Nathan Sidwell <nathan@codesourcery.com>
1a2caa7a
NS
5601
5602 * cgraphunit.c (cgraph_mark_functions_to_output): Renable node
5603 dumping for development builds.
5604 * emit-rtl.c (verify_rtx_sharing): Give verbose failure for
5605 development builds only.
5606 * genattrtab.c (write_eligible_delay): Fix typo in previous
5607 commit.
5608 * tree.c (iterative_hash_expr): Replace gcc_unreachable with
5609 gcc_assert.
5610
41374e13 56112004-09-09 Nathan Sidwell <nathan@codesourcery.com>
282899df
NS
5612
5613 * gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
5614 cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
5615 process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
5616 hoist_code, extract_mentioned_regs_helper, compute_store_table,
5617 insert_store): Use gcc_assert and gcc_unreachable.
5618 * ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
5619 gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
5620 ggc_record_overhead): Likewise.
5621 * ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
5622 init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
5623 ggc_pop_context, clear_marks, validate_free_objects,
5624 ggc_pch_read): Likewise.
5625 * ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
5626 ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
5627 ggc_push_context, check_cookies, ggc_collect,
5628 ggc_print_statistics): Likewise.
5629 * gimple-low.c (lower_function_body, lower_stmt,
5630 lower_bind_expr): Likewise.
5631 * gimplify.c (gimple_tree_eq, push_gimplify_context,
5632 pop_gimplify_context, gimple_pop_condition, create_tmp_var,
5633 declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
5634 mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
5635 gimplify_case_label_expr, gimplify_exit_block_expr,
5636 canonicalize_component_ref, gimplify_compound_lval,
5637 gimplify_self_mod_expr, gimplify_call_expr,
5638 gimplify_init_ctor_eval, gimplify_init_constructor,
5639 gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
5640 gimplify_expr, check_pointer_types_r,
5641 force_gimple_operand): Likewise.
5642 * global.c (global_alloc, build_insn_chain): Likewise.
5643 * graph.c (clean_graph_dump_file,
5644 finish_graph_dump_file): Likewise.
5645 gcov-io.c (gcov_open): Use GCOV_CHECK.
5646
2a88ebca
RS
56472004-09-09 Richard Sandiford <rsandifo@redhat.com>
5648
5649 * config/frv/frv.c (acc_operand, accg_operand): Use REGNO.
5650
34132917
JH
56512004-09-09 Jan Hubicka <jh@suse.cz>
5652
5653 middle-end/17128
282899df
NS
5654 * tree-inline.c (expand_call_inline): Make overactive sanity check
5655 happy.
34132917 5656
9f7aa952
JH
56572004-09-09 Jan Hubicka <jh@suse.cz>
5658
5659 * tree-ssa-loop-ivopts.c (peel_address): Fix abort on
5660 VIEW_CONVERT_EXPR.
5661
b2d59f6f
NS
56622004-09-09 Nathan Sidwell <nathan@codesourcery.com>
5663
5664 * Makefile.in (gengtype): Use $(BUILD_ERRORS).
5665 (gengtype.o): Depend on errors.h.
5666 * genattrtab.c (strcmp_check): Use gcc_assert and gcc_unreachable.
5667 (attr_rtx_1, attr_printf, attr_copy_rtx, evaluate_eq_attr,
5668 attr_alt_subset_p, attr_alt_subset_of_compl_p,
5669 attr_alt_intersection, attr_alt_union, optimize_attrs, gen_insn,
5670 write_test_expr, write_attr_value, write_eligible_delay,
5671 make_internal_attr, make_numeric_value): Likewise.
5672 * genautomata.c (regexp_name, get_str_vect,
5673 gen_presence_absence_set, automaton_decl_hash,
5674 automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash,
5675 decl_eq_p, process_regexp, loop_in_regexp, check_loops_in_regexps,
5676 process_regexp_cycles, reserv_sets_cmp, set_unit_reserv,
5677 test_unit_reserv, it_is_empty_reserv_sets,
5678 reserv_sets_are_intersected, reserv_sets_shift, reserv_sets_or,
5679 reserv_sets_and, output_cycle_reservs, get_free_state,
5680 intersected_state_reservs_p, states_union, remove_arc,
5681 copy_insn_regexp, transform_1, transform_2, transform_3,
5682 regexp_transform_func, store_alt_unit_usage,
5683 check_regexp_units_distribution, process_seq_for_forming_states,
5684 process_alts_for_forming_states, make_automaton,
5685 form_arcs_marked_by_insn, create_composed_state,
5686 set_out_arc_insns_equiv_num, partition_equiv_class,
5687 process_insn_equiv_class, set_insn_equiv_classes,
5688 units_to_automata_heuristic_distr, form_regexp,
5689 longest_path_length, output_dfa_max_issue_rate, add_vect,
5690 out_state_arcs_num, add_vect_el, output_trans_table,
5691 output_state_alts_table, output_dead_lock_vect,
5692 output_max_insn_queue_index_def,
5693 output_min_insn_conflict_delay_func,
5694 output_internal_insn_latency_func, output_print_reservation_func,
5695 output_cpu_unit_reservation_p, output_state_arcs,
5696 make_insn_alts_attr, make_internal_dfa_insn_code_attr,
5697 make_default_insn_latency_attr,
5698 form_important_insn_automata_lists): Likewise.
5699 * genemit.c (gen_exp, output_add_clobbers,
5700 output_added_clobbers_hard_reg_p): Likewise.
5701 * genextract.c (print_path, main): Likewise.
5702 * genflags.c (gen_macro): Likewise.
5703 * gengenrtl.c: Include errors.h
5704 (type_from_format, accessor_from_format): Likewise.
5705 * gengtype.c (get_file_basename, output_mangled_typename,
5706 walk_type, write_types_process_field,
5707 write_types_local_process_field): Likewise.
5708 * genmodes.c (complete_mode): Likewise.
5709 * genopinit.c (gen_insn): Likewise.
5710 * genoutput.c (output_insn_data, check_constraint_len,
5711 constraint_len): Likewise.
5712 * genpreds.c (add_mode_tests):Likewise.
5713 * gen-protos.c (add_hash): Likewise.
5714 * genrecog.c (find_operand, find_matching_operand,
5715 validate_pattern, add_to_sequence, maybe_both_true,
5716 nodes_identical_1, merge_trees, write_switch, write_cond,
5717 write_action, is_unconditional, make_insn_sequence,
5718 debug_decision_2): Likewise.
5719 * gensupport.c (is_predicable, collect_insn_data,
5720 alter_predicate_for_insn, maybe_eval_c_test): Likewise.
5721
87022a6b
JH
57222004-09-09 Jan Hubicka <jh@suse.cz>
5723
5724 * basic-block.h (guess_outgoing_edge_probabilities): Declare.
b2d59f6f
NS
5725 * cfgbuild.c (compute_outgoing_frequencies): When probability is
5726 missing, guess it.
5727 (find_many_sub_basic_blocks): Do update profile only when it is
5728 present.
87022a6b 5729 * predict.c (set_even_probabilities): Break out from ...
b2d59f6f
NS
5730 (combine_predictions_for_insn): ... here; deal with
5731 !can_predict_insn_p insns.
87022a6b
JH
5732 (combine_predictions_for_bb): Use set_even_probabilities.
5733 (bb_estimate_probability_locally): Break out from ....
5734 (estimate_probability): ... here.
5735 (guess_outgoing_edge_probabilities): New entry point.
5736
e1537934
NS
57372004-09-09 Nathan Sidwell <nathan@codesourcery.com>
5738
3b5edfee
NS
5739 * gcc.c (add_sysrooted_prefix, execute, do_self_spec, do_spec_1,
5740 handle_braces, process_brace_body, main, used_arg,
5741 set_multilib_dir, print_multilib_info): Use fatal, not abort.
5742
d73d4593
NS
5743 * tree-nested.c (create_tmp_var_for): Correct missinverted assert.
5744
e1537934
NS
5745 * tree-outof-ssa.c (free_temp_expr_table): Add missed assert.
5746 * tree-ssa-ccp.c (set_lattice_value): Correct missapplied de
5747 Morgan's theorem in last checkin.
5748
1e128c5f
GB
57492004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
5750 Nathan Sidwell <nathan@codesourcery.com>
5751
5752 * targhooks.c (default_unwind_emit, default_scalar_mode_supported_p):
5753 Use gcc_assert, gcc_unreachable & internal_error instead of abort.
5754 * timevar.c (timevar_push, timevar_pop, timevar_start,
5755 timevar_stop): Likewise.
5756 * toplev.c (default_pch_valid_p): Likewise.
5757 * tracer.c (tail_duplicate): Likewise.
5758 * tree-alias-common.c (get_alias_var_decl,
5759 get_values_from_constructor, create_alias_var, delete_alias_vars,
5760 empty_points_to_set, same_points_to_set, ptr_may_alias_var):
5761 Likewise.
5762 * tree.c (tree_size, make_node_stat, copy_node_stat,
5763 build_int_cst_wide, integer_all_onesp, list_length, chainon,
5764 tree_node_structure, type_contains_placeholder_p, substitute_in_expr,
5765 substitute_placeholder_in_expr, tabilize_reference_1, build0_stat,
5766 build1_stat, build2_stat, build3_stat, build4_stat, is_attribute_p,
5767 lookup_attribute, type_hash_canon, host_integerp, iterative_hash_expr,
5768 build_method_type_directly, decl_type_context, get_callee_fndecl,
5769 get_set_constructor_bits, build_vector_type_for_mode, int_cst_value,
5770 tree_fold_gcd): Likewise.
5771 * tree-cfg.c (create_bb, make_ctrl_stmt_edges, make_exit_edges,
5772 make_cond_expr_edges, group_case_labels, tree_merge_blocks,
5773 cleanup_control_expr_graph, find_taken_edge,
5774 find_taken_edge_switch_expr, phi_alternatives_equal,
5775 is_ctrl_altering_stmt, disband_implicit_edges, set_bb_for_stmt,
5776 stmt_for_bsi, tree_find_edge_insert_loc, bsi_insert_on_edge_immediate,
5777 tree_split_edge, tree_verify_flow_info, thread_jumps,
5778 tree_redirect_edge_and_branch, tree_flow_call_edges_add): Likewise.
5779 * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
5780 chrec_fold_multiply_poly_poly): Likewise.
5781 * tree-complex.c (extract_component, expand_complex_division,
5782 expand_complex_comparison, expand_complex_operations_1,
5783 build_replicated_const, expand_vector_operations_1): Likewise.
5784 * tree-data-ref.c (tree_fold_bezout, build_classic_dist_vector,
5785 build_classic_dir_vector): Likewise.
5786 * tree-dfa.c (compute_immediate_uses_for_phi,
5787 compute_immediate_uses_for_stmt, create_var_ann, create_stmt_ann,
5788 create_tree_ann, collect_dfa_stats, get_virtual_var): Likewise.
5789 * tree-dump.c (dequeue_and_dump): Likewise.
5790 * tree-eh.c (record_stmt_eh_region, add_stmt_to_eh_region,
5791 record_in_finally_tree, replace_goto_queue_1,
5792 maybe_record_in_goto_queue, verify_norecord_switch_expr,
5793 do_return_redirection): Likewise.
5794 * tree-if-conv.c (tree_if_convert_stmt, tree_if_convert_cond_expr,
5795 add_to_dst_predicate_list, find_phi_replacement_condition,
5796 replace_phi_with_cond_modify_expr, get_loop_body_in_if_conv_order):
5797 Likewise.
5798 * tree-inline.c (remap_decl, remap_type, remap_decls, copy_body_r,
5799 initialize_inlined_parameters, declare_return_variable,
5800 estimate_num_insns_1, expand_call_inline, expand_calls_inline,
5801 optimize_inline_calls, copy_tree_r): Likewise.
5802 * tree-into-ssa.c (rewrite_initialize_block_local_data, rewrite_stmt,
5803 ssa_rewrite_stmt, rewrite_into_ssa): Likewise.
5804 * tree-iterator.c (alloc_stmt_list, tsi_link_before, tsi_link_after,
5805 tsi_split_statement_list_after, tsi_split_statement_list_before):
5806 Likewise.
5807 * tree-mudflap.c (mf_varname_tree): Likewise.
5808 * tree-nested.c (create_tmp_var_for, lookup_field_for_decl,
5809 lookup_tramp_for_decl, convert_all_function_calls): Likewise.
5810 * tree-optimize.c (tree_rest_of_compilation): Likewise.
5811 * tree-outof-ssa.c (create_temp, eliminate_build, eliminate_phi,
5812 coalesce_abnormal_edges, coalesce_ssa_name, eliminate_virtual_phis,
5813 free_temp_expr_table, add_dependance, finish_expr, rewrite_trees):
5814 Likewise.
5815 * tree-phinodes.c (resize_phi_node, add_phi_arg,
5816 remove_all_phi_nodes_for): Likewise.
5817 * tree-pretty-print.c (op_prio, print_call_name): Likewise.
5818 * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
5819 tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Likewise.
5820 * tree-sra.c (type_can_instantiate_all_elements, sra_hash_tree,
5821 sra_elt_eq, sra_walk_expr, instantiate_missing_elements,
5822 generate_one_element_ref, generate_element_copy,
5823 generate_element_zero, scalarize_copy, scalarize_init,
5824 scalarize_ldst): Likewise.
5825 * tree-ssa-alias.c (delete_alias_info, group_aliases, may_alias_p,
5826 add_may_alias, add_pointed_to_expr, add_pointed_to_var,
5827 collect_points_to_info_r, get_tmt_for, get_ptr_info): Likewise.
5828 * tree-ssa.c (walk_use_def_chains, check_phi_redundancy): Likewise.
5829 * tree-ssa-ccp.c (dump_lattice_value, get_default_value, get_value,
5830 set_lattice_value, likely_value, ccp_visit_phi_node, visit_assignment,
5831 widen_bitfield, ccp_fold_builtin): Likewise.
5832 * tree-ssa-copy.c (may_propagate_copy, merge_alias_info,
5833 replace_exp_1, propagate_tree_value): Likewise.
5834 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
5835 * tree-ssa-dce.c (set_control_dependence_map_bit,
5836 find_control_dependence, find_pdom, mark_operand_necessary,
5837 mark_stmt_if_obviously_necessary,
5838 mark_control_dependent_edges_necessary, remove_dead_stmt): Likewise.
5839 * tree-ssa-dom.c (dom_opt_initialize_block_local_data,
5840 simplify_switch_and_lookup_avail_expr, cprop_into_successor_phis,
5841 eliminate_redundant_computations, avail_expr_eq): Likewise.
5842 * tree-ssa-dse.c (fix_stmt_v_may_defs): Likewise.
5843 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
5844 duplicate_blocks): Likewise.
5845 * tree-ssa-loop-im.c (for_each_index, set_level,
5846 is_call_clobbered_ref): Likewise.
5847 * tree-ssa-loop-ivopts.c (dump_use, divide, stmt_after_ip_normal_pos,
5848 stmt_after_increment, set_iv, contains_abnormal_ssa_name_p,
5849 find_interesting_uses_outer_or_nonlin, add_derived_ivs_candidates,
5850 peel_address, ptr_difference_cost, may_replace_final_value,
5851 determine_use_iv_cost, rewrite_use_nonlinear_expr, rewrite_use_outer,
5852 rewrite_use, rewrite_uses): Likewise.
5853 * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
5854 check_loop_closed_ssa_use): Likewise.
5855 * tree-ssanames.c (make_ssa_name): Likewise.
5856 * tree-ssa-operands.c (finalize_ssa_defs, finalize_ssa_uses,
5857 finalize_ssa_v_must_defs, finalize_ssa_stmt_operands,
5858 get_stmt_operands, get_expr_operands, get_asm_expr_operands,
5859 get_indirect_ref_operands, add_stmt_operand): Likewise.
5860 * tree-ssa-pre.c (value_exists_in_set_bitmap,
5861 value_remove_from_set_bitmap, bitmap_insert_into_set, insert_into_set,
5862 phi_translate, valid_in_set, compute_antic,
5863 find_or_generate_expression, create_expression_by_pieces, insert_aux,
5864 create_value_expr_from, eliminate): Likewise.
5865 * tree-ssa-propagate.c (cfg_blocks_get): Likewise.
5866 * tree-ssa-threadupdate.c (remove_last_stmt_and_useless_edges):
5867 Likewise.
5868 * tree-tailcall.c (independent_of_stmt_p, adjust_return_value,
5869 eliminate_tail_call): Likewise.
5870 * tree-vectorizer.c (vect_create_index_for_array_ref,
5871 vect_align_data_ref, vect_create_data_ref,
5872 vect_create_destination_var, vect_get_vec_def_for_operand,
5873 vect_finish_stmt_generation, vect_transform_stmt,
5874 vect_transform_loop_bound, vect_transform_loop,
5875 vect_analyze_operations): Likewise.
5876 * tree-vn.c (vn_compute, set_value_handle, get_value_handle):
5877 Likewise.
5878 * tree-flow-inline.h (var_ann, get_var_ann, get_def_from_ptr,
5879 get_use_op_ptr, immediate_use, phi_ssa_name_p, bsi_start,
5880 bsi_after_labels, bsi_last): Likewise.
5881 * tree-ssa-live.c (var_union, change_partition_var,
5882 create_ssa_var_map, calculate_live_on_entry, root_var_init,
5883 type_var_init, add_coalesce, sort_coalesce_list, pop_best_coalesce):
5884 Likewise.
5885 * tree-ssa-live.h (partition_is_global, live_entry_blocks,
5886 tpa_find_tree): Likewise.
5887 (register_ssa_partition_check): Declare.
5888 (register_ssa_partition): use it.
5889 * tree-ssa-live.c: Include errors.h.
5890 (register_ssa_partition_check): New.
5891 * tree-ssa-operands.c: Include errors.h.
5892 * Makefile.in (tree-ssa-operands.o): Depend on errors.h.
5893
c557edf4
RS
58942004-09-09 Richard Sandiford <rsandifo@redhat.com>
5895 Catherine Moore <clm@redhat.com>
5896
5897 * config/frv/frv-protos.h (FRV_CPU_FR550, FRV_CPU_FR450)
5898 (FRV_CPU_FR405): New processor enums.
5899 (frv_issue_rate, frv_acc_group): Declare.
5900 * config/frv/frv.h (CPP_SPEC, CPP_FRV_SPEC, CPP_FR500_SPEC): Delete.
5901 (CPP_FR400_SPEC, CPP_SIMPLE_SPEC): Delete.
5902 (MASK_DEFAULT_FR550, MASK_DEFAULT_FR450): New macros.
5903 (SUBTARGET_EXTRA_SPECS, EXTRA_SPECS, CPP_CPU_DEFAULT_SPEC): Delete.
5904 (TARGET_CPU_CPP_BUILTINS): Define the macros that were previously
5905 handled by CPP_SPEC.
5906 (MASK_LONG_CALLS, TARGET_LONG_CALLS): New macros.
5907 (MASK_ALIGN_LABELS, TARGET_ALIGN_LABELS): New macros.
5908 (ACC_MASK): New macro.
5909 (TARGET_MEDIA_REV2): Include FRV_CPU_{FR405,FR450,FR550}.
5910 (TARGET_MEDIA_FR450): New macro.
5911 (TARGET_FR500_FR550_BUILTINS, TARGET_FR405_BUILTINS): New macros.
5912 (TARGET_SWITCHES): Add -m{no-,}align-labels and -m{no-,}long-calls.
5913 (LABEL_ALIGN_AFTER_BARRIER): Define.
5914 (ACC_LAST, ACCG_LAST): Add four new accumulator registers.
5915 (IACC_FIRST, IACC_LAST): New pair of SPRs.
5916 (ACCG_FIRST, AP_FIRST, SPR_FIRST, SPR_LAST): Adjust accordingly.
5917 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
5918 (REGISTER_NAMES): Add entries for new registers.
5919 (REG_CLASS_CONTENTS): Update for new register ranges.
5920 (EXTRA_CONSTRAINT_FOR_S): Redefine in terms of call_operand.
5921 (ISSUE_RATE, CLEAR_VLIW_START, SET_VLIW_START): Delete.
5922 (PACKING_FLAG_USED_P): Delete.
5923 (FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQSLLHI)
5924 (FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_SMUL, FRV_BUILTIN_UMUL)
5925 (FRV_BUILTIN_PREFETCH0, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_SMASS)
5926 (FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SCUTSS)
5927 (FRV_BUILTIN_ADDSS, FRV_BUILTIN_SUBSS, FRV_BUILTIN_SLASS)
5928 (FRV_BUILTIN_IACCread{l,ll}, FRV_BUILTIN_IACCset{ll,l})
5929 (FRV_BUILTIN_SCAN): New members of frv_builtin_enum.
5930 (FRV_BUILTIN_FIRST_NONMEDIA): New macro.
5931 (CPU_UNITS_QUERY): Define to 1.
5932 * config/frv/frv.c: Include gt-frv.h
5933 (NUM_NOP_PATTERNS, NTH_UNIT, UNIT_NUMBER, PACKING_FLAG_P): New macros.
5934 (SET_PACKING_FLAG, CLEAR_PACKING_FLAG, FOR_EACH_REGNO): New macros.
5935 (frv_insn_group): New enumeration.
5936 (frv_unit_names, frv_unit_groups, frv_unit_codes): New variables.
5937 (frv_type_to_unit, frv_nops, frv_num_nops): New variables.
5938 (REGSTATE_DEAD, REGSTATE_LIVE, REGSTATE_UNUSED, REGSTATE_MASK)
5939 (REGSTATE_CONDJUMP): Delete. Shuffle other numbers to cover the
5940 gap left by REGSTATE_LIVE.
5941 (regstate_t): New typedef.
5942 (TARGET_MACHINE_DEPENDENT_REORG): Define.
5943 (frv_default_flags_for_cpu): Handle FRV_CPU_{FR550,FR450,FR405}.
5944 (frv_override_options): Check for -mcpu={fr550,fr450,fr405}.
5945 Initialize frv_unit_codes[] and frv_type_to_unit[].
5946 (frv_conditional_register_usage): Remove redundant fixing of
5947 accumulator registers.
5948 (frv_insn_packing_flag): Update specification.
5949 (frv_function_prologue): Don't set frv_insn_packing_flag here.
5950 Zero out frv_nops[].
5951 (frv_expand_epilogue): Remove comments about the no-longer-present
5952 SIBCALL_P argument.
5953 (frv_asm_output_mi_thunk): Check frv_issue_rate() rather than
5954 PACKING_FLAG_USED_P() when deciding whether to pack instructions.
5955 (frv_asm_output_opcode, frv_final_prescan_insn): Simplify in light
5956 of the new meaning of frv_insn_packing_flag. Emit an mnop.p if
5957 packing is disabled and if INSN can only issue to M1.
5958 (call_operand): Check TARGET_LONG_CALLS.
5959 (acc_operand, even_acc_operand, quad_acc_operand)
5960 (accg_operand): Simplify. Don't accept pseudo registers.
5961 (output_move_single): Handle SPR<-zero moves.
5962 (frv_issue_rate): Make non-static. Handle FRV_CPU_{FR550,FR450,FR405}.
5963 (frv_registers_update, frv_registers_used_p): Delete.
5964 (frv_registers_set_p): Delete.
5965 (frv_acc_group_1, frv_acc_group, frv_insn_unit): New functions.
5966 (frv_issues_to_branch_unit_p): New function.
5967 (frv_packet): New structure.
5968 (frv_cond_flags, frv_regstate_conflict_p): New functions.
5969 (frv_registers_conflict_p_1, frv_registers_conflict_p): New functions.
5970 (frv_registers_update_1, frv_registers_update): New functions.
5971 (frv_start_packet, frv_start_packet_block, frv_finish_packet)
5972 (frv_pack_insn_p, frv_add_insn_to_packet, frv_insert_nop_in_packet)
5973 (frv_for_each_packet, frv_sort_insn_group_1, frv_compare_insns)
5974 (frv_sort_insn_group, frv_reorder_packet): New functions.
5975 (frv_pack_insns): Use frv_reorder_packet.
5976 (frv_packet_address): New variable.
5977 (frv_fill_unused_units, frv_align_label, frv_reorg_packet)
5978 (frv_register_nop, frv_reorg): New functions.
5979 (bdesc_1arg): Add __SCUTSS.
5980 (bdesc_2arg): Add __MQLCLRHS, __MQLMTHS, __SMUL, __UMUL, __ADDSS,
5981 __SUBSS, __SLASS and __SCAN.
5982 (bdesc_2argimm): Add __MQSLLHI and __MQSRAHI.
5983 (bdesc_int_void2arg, bdesc_prefetches): New arrays.
5984 (frv_init_builtins): Register the above builtins.
5985 (frv_int_to_acc): Use ACC_MASK to check for valid accumulator
15072eb1 5986 registers. Turn the referenced accumulators into global registers.
c557edf4
RS
5987 (frv_read_iacc_argument): New function.
5988 (frv_expand_int_void2arg, frv_expand_prefetches): New functions.
5989 (frv_split_iacc_move): New function.
5990 (frv_expand_builtin): Handle the new builtins.
5991 * config/frv/frv.md: Replace old schedulers with new order-independent
5992 ones. Add schedulers for the FR405, FR450 and FR550. Describe new
5993 packing algorithm.
5994 (cpu): Add fr550, fr450 and fr405.
5995 (type): Add macc, scan, cut, fnop, fscmp, fdcmp, mnop, mqlimh and
5996 mqshift. Replace fmas with fsmadd and fmad with fdmadd. Delete m7.
5997 (*muladd[sd]f4, *mulsub[sd]f4): Fix types.
5998 (*cmp[sd]f_cc_fp): Use new f[sd]cmp types.
5999 (fnop, mnop): New patterns.
6000 (UNSPEC_MQLCLRHS, UNSPEC_MQLMTHS, UNSPEC_MQSLLHI, UNSPEC_MQSRAHI):
6001 New constants.
6002 (mexpdhw, *cond_exec_mexpdhw): Fix destination operands.
6003 (mclracca8): Use ACC_MASK to determine the upper set of accumulator
6004 registers.
6005 (mqlclrhs, mqlmths, mqsllhi, mqsrahi): New patterns.
6006 (UNSPEC_SMUL, UNSPEC_UMUL, UNSPEC_SMU, UNSPEC_ADDSS, UNSPEC_SUBSS)
6007 (UNSPEC_SLASS, UNSPEC_SCAN, UNSPEC_INTSS, UNSPEC_SCUTSS)
6008 (UNSPEC_PREFETCH0, UNSPEC_PREFETCH, UNSPEC_IACCreadll)
6009 (UNSPEC_IACCreadl, UNSPEC_IACCsetll, UNSPEC_IACCsetl, UNSPEC_SMASS)
6010 (UNSPEC_SMSSS, UNSPEC_IMUL, IACC0_REG): New constants.
6011 (smul, umul, smass, smsss, smu, addss, subss, slass, scan, scutss)
6012 (frv_prefetch0, frv_prefetch): New patterns.
6013 * config/frv/t-frv (MULTILIB_OPTIONS): Remove -mcpu=frv and
6014 -mcpu=simple. Add -mcpu=fr550.
6015 (MULTILIB_DIRNAMES): Update accordingly.
6016 (MULTILIB_MATCHES): Use the fr400 multilibs for -mcpu=fr405 and
6017 -mcpu=fr450.
6018 * doc/invoke.texi: Document the new -mcpu={fr550,fr450,fr405},
6019 -mlong-calls and -malign-labels options for FR-V.
6020
deb176fa
JM
60212004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
6022
6023 PR c/8420
6024 * c-tree.h (struct c_declspecs): New.
6025 (struct c_declarator, struct c_type_name, struct c_parm): Update
6026 element types.
6027 (build_array_declarator, grokfield, shadow_tag, shadow_tag_warned,
6028 start_function, start_decl, build_c_parm,
6029 make_pointer_declarator): Update prototypes.
6030 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
6031 declspecs_add_scspec, declspecs_add_attrs): New.
6032 (split_specs_attrs): Remove.
6033 * c-parse.in (%union): Add dsptype.
6034 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
6035 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
6036 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
6037 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
6038 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
6039 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
6040 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
6041 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
6042 declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
6043 declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
6044 maybe_type_quals_attrs): Change to dsptype.
6045 (struct c_declspec_stack): New.
6046 (current_declspecs, declspec_stack): Change type.
6047 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): Update to new
6048 structures.
6049 (extdefs): Likewise.
6050 (setspecs): Likewise.
6051 (fndef): Use current_declspecs for empty declspecs list.
6052 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
6053 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
6054 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
6055 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
6056 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
6057 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
6058 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
6059 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea): Update to new
6060 structures and helper functions. Update comments.
6061 (typespec_nonattr): Correct comment.
6062 (maybe_type_quals_attrs, typename): Update to new structures.
6063 * c-decl.c (grokdeclarator, build_array_declarator, grokfield,
6064 shadow_tag, shadow_tag_warned, start_function, start_decl,
6065 build_c_parm, make_pointer_declarator,
6066 set_array_declarator_inner, groktypename): Update to new
6067 structures.
6068 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
6069 declspecs_add_scspec, declspecs_add_attrs): New.
6070 (split_specs_attrs): Remove.
6071 (shadow_tag_warned): Make warning for useless type names a
6072 pedwarn. Give hard error for long, short, signed, unsigned or
6073 _Complex used with struct, union or enum in empty declaration.
6074 Make found_tag a bool.
6075 (grokdeclarator): Remove checks now done at parse time.
6076
f8893e47
JM
60772004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
6078
6079 * c-tree.h (enum c_declarator_kind, struct c_arg_info, struct
6080 c_declarator, struct c_type_name, struct c_parm): New.
6081 (build_array_declarator, set_array_declarator_inner,
6082 get_parm_info, grokfield, groktypename, grokparm, push_parm_decl,
6083 start_function, start_decl, build_c_parm, build_attrs_declarator,
6084 build_function_declarator, make_pointer_declarator, c_cast_expr,
6085 store_parm_decls_newstyle, c_expr_sizeof_type): Update prototypes.
6086 (build_id_declarator): New.
6087 * c-typeck.c (c_cast_expr, c_expr_sizeof_type): Update to new
6088 structures.
6089 * c-decl.c (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES,
6090 ARG_INFO_OTHERS): Remove.
6091 (build_id_declarator): New.
6092 (build_array_declarator, set_array_declarator_inner, groktypename,
6093 start_decl, grokparm, push_parm_decl, grokparms, get_parm_info,
6094 grokfield, start_function, store_parm_decls_newstyle,
6095 store_parm_decls_oldstyle, store_parm_decls,
6096 build_c_parm, build_attrs_declarator, build_function_declarator,
6097 make_pointer_declarator, grokdeclarator): Update to new
6098 structures.
6099 * c-parse.in (%union): Add arginfotype, dtrtype, typenametype and
6100 parmtype.
6101 (declarator, notype_declarator, after_type_declarator,
6102 parm_declarator, parm_declarator_starttypename,
6103 parm_declarator_nostarttypename, array_declarator, typename,
6104 absdcl, absdcl1, absdcl1_ea, absdcl1_noea, direct_absdcl1,
6105 absdcl_maybe_attribute, parm, firstparm, parms, parmlist,
6106 parmlist_1, parmlist_2, parmlist_or_identifiers,
6107 parmlist_or_identifiers_1): Use these types.
6108 (primary, after_type_declarator, parm_declarator_starttypename,
6109 notype_declarator, component_decl, component_declarator,
6110 component_notype_declarator, typename, absdcl,
6111 absdcl_maybe_attribute, absdcl1_ea, direct_absdcl1, parmlist_1,
6112 parmlist_2, parmlist_or_identifiers_1): Update to new structures.
6113
bc4b653b
JM
61142004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
6115
6116 * c-tree.h (C_DECL_USED, parser_obstack, in_alignof, in_sizeof,
6117 in_typeof, record_maybe_used_decl, pop_maybe_used,
6118 c_expr_sizeof_expr, c_expr_sizeof_type): New.
6119 * c-decl.c (parser_obstack): New.
6120 (c_init_decl_processing): Initialize parser_obstack.
6121 (c_write_global_declarations_1): Check for used but undefined
6122 static functions.
6123 * c-parse.in (%union): Add otype.
6124 (save_obstack_position): New.
6125 (extdefs): Use it.
6126 (unary_expr): Update in_sizeof and in_alignof. Use
6127 c_expr_sizeof_expr and c_expr_sizeof_type.
6128 (sizeof): Update in_sizeof.
6129 (alignof): Update in_alignof.
6130 (typeof): Update in_typeof.
6131 (typespec_nonreserved_nonattr): Call pop_maybe_used.
6132 * c-typeck.c (in_alignof, in_sizeof, in_typeof, struct
6133 maybe_used_decl, maybe_used_decls, record_maybe_used_decl,
6134 pop_maybe_used, c_expr_sizeof_expr, c_expr_sizeof_type): New.
6135 (build_external_ref): Set C_DECL_USED or call
6136 record_maybe_used_decl if appropriate.
6137 * toplev.c (check_global_declarations): Check TREE_NO_WARNING.
6138
f838cd94
EC
61392004-09-08 Eric Christopher <echristo@redhat.com>
6140
6141 * builtins.c: Fix prototype for fold_builtin_atan.
6142
667bbbbb
EC
61432004-09-08 Eric Christopher <echristo@redhat.com>
6144
6145 * builtins.c (fold_builtin_strlen, fold_builtin_sqrt, fold_builtin_cbrt,
6146 fold_builtin_pow, fold_builtin_sin, fold_builtin_cos, fold_builtin_tan,
6147 fold_builtin_atan): New functions. Migrate function bodies...
6148 (fold_builtin_1): ... from here.
6149
64045029
AM
61502004-09-09 Alan Modra <amodra@bigpond.net.au>
6151
6152 * config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
6153 save_size.
6154
f0259218
DE
61552004-09-08 David Edelsohn <edelsohn@gnu.org>
6156
6157 * config/rs6000/power4.md (power4-lmul): du4 feeds iu1.
6158 * config/rs6000/power5.md (power5-lmul): Same.
6159
609c3937
RH
61602004-09-08 Richard Henderson <rth@redhat.com>
6161
6162 PR rtl-opt/17186
6163 * function.c (expand_function_end): Have fall-off-the-end
6164 return path jump around return register setup.
6165
4e5b002b
EB
61662004-09-08 Eric Botcazou <ebotcazou@libertysurf.fr>
6167
6168 * config/sparc/sparc.c (sparc_indent_opcode): New variable.
6169 (output_return): Do not test for the presence of the 'unimp' insn.
6170 Use 'current_function_uses_only_leaf_regs' and 'final_sequence'
6171 as predicates instead of custom ones. Return raw strings when
6172 possible.
6173 (output_sibcall): Likewise. Concatenate strings.
6174 (output_ubranch): Remove kludge for TurboSPARC.
6175 (output_cbranch): Remove 'noop' parameter. Do not output 'nop'.
6176 (output_v9branch): Likewise.
6177 (print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'.
6178 <#>: Set sparc_indent_opcode if the delay slot is filled.
6179 <(>: Likewise.
6180 <)>: New operand to emit the displacement from the saved PC on return.
6181 <@>: Remove.
6182 * config/sparc/sparc.h (sparc_indent_opcode): Declare it.
6183 (ASM_OUTPUT_OPCODE): New macro.
6184 (PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'.
6185 * config/sparc/sparc.md (normal_branch, inverted_branch,
6186 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
6187 inverted_fpe_branch): Adjust call to output_cbranch.
6188 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust
6189 call to output_v9branch.
6190 * config/sparc/sparc-protos.h (output_cbranch): Adjust.
6191 (output_v9branch): Likewise.
6192
5826770c
DP
61932004-09-08 Devang Patel <dpatel@apple.com>
6194
6195 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr,
6196 -segs_read_only_addr and -segs_read_write_addr.
6197 (WORD_SWITCH_TAKES_ARG): Same.
6198 (LINK_SPEC): Same.
6199 * doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
6200 -segs_read_write_addr.
6201
6cdd5672
RH
62022004-09-08 Richard Henderson <rth@redhat.com>
6203
6204 * function.c (reference_callee_copied): New.
6205 (assign_parm_setup_reg): Use it.
6206 * calls.c (initialize_argument_information): Likewise.
6207 (emit_library_call_value_1): Likewise.
6208 * function.h (reference_callee_copied): Declare.
6209
6210 * target.h (struct gcc_target): Add callee_copies.
6211 * target-def.h (TARGET_CALLEE_COPIES): New.
6212 (TARGET_PASS_BY_REFERENCE): Update default.
6213 * expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6214 * targhooks.c (hook_callee_copies_named): New.
6215 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from
6216 hook_pass_by_reference_false.
6217 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New.
6218 * targhooks.h: Update decls.
6219 * config/arc/arc.c (TARGET_CALLEE_COPIES): New.
6220 * config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6221 * config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove.
6222 * config/frv/frv.c (frv_function_arg_callee_copies): Remove.
6223 * config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6224 * config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New.
6225 * config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6226 * config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New.
6227 * config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6228 * config/mips/mips.c (TARGET_CALLEE_COPIES): New.
6229 (mips_callee_copies): New.
6230 * config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6231 * config/mmix/mmix.c (TARGET_CALLEE_COPIES): New.
6232 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6233 * config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New.
6234 * config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6235 * config/pa/pa.c (TARGET_CALLEE_COPIES): New.
6236 * config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6237 * config/sh/sh.c (sh_callee_copies): New.
6238 (TARGET_CALLEE_COPIES): New.
6239 * config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6240 * config/v850/v850.c (TARGET_CALLEE_COPIES): New.
6241 * config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6242 * doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation
6243 for FUNCTION_ARG_CALLEE_COPIES.
6244 * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update.
6245
7f7e0703
DP
62462004-09-08 Devang Patel <dpatel@apple.com>
6247
6cdd5672
RH
6248 * tree-if-conv.c (find_phi_replacement_condition): Return true
6249 edge block.
6250 (replace_phi_with_cond_modify_expr): Select conditional expr args
6251 based on true edge basic block.
667bbbbb 6252
ed7f7d85
JH
62532004-09-08 Jan Hubicka <jh@suse.cz>
6254
6255 * tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for
6256 variables being alias set.
6257
0bccc606
NS
62582004-09-08 Nathan Sidwell <nathan@codesourcery.com>
6259
6260 * final.c (shorten_branches, final, get_insn_template,
6261 output_alternate_entry_point, final_scan_insn, alter_subreg,
6262 alter_cond, output_operand, asm_fprintf, final_forward_branch_p,
6263 leaf_renumber_regs_insn): Use gcc_assert and gcc_unreachable.
6264 * fix-header.c (lookup_std_proto): Likewise.
6265 * flow.c (first_insn_after_basic_block_note, verify_wide_reg,
6266 verify_local_live_at_start, update_life_info, mark_reg,
6267 calculate_global_regs_live, allocate_reg_life_data,
6268 init_propagate_block_info, mark_set_regs, flush_reg_cond_reg_1,
6269 ior_reg_cond, not_reg_cond, and_reg_cond, elim_reg_cond,
6270 attempt_auto_inc, mark_used_reg, mark_used_regs): Likewise.
6271 * fold-const.c (force_fit_type, div_and_round_double,
6272 may_negate_without_overflow_p, int_const_binop, const_binop,
6273 size_binop, size_diffop, fold_convert_const, fold_convert,
6274 invert_tree_comparison, swap_tree_comparison,
6275 comparison_to_compcode, compcode_to_comparison, invert_truthvalue,
6276 range_binop, make_range, fold_cond_expr_with_comparison,
6277 fold_div_compare, fold, fold_checksum_tree, fold_negate_const,
6278 fold_abs_const, fold_not_const, fold_relational_const, round_up,
6279 round_down): Likewise.
6280 * function.c (find_function_data, assign_stack_temp_for_type,
6281 instantiate_virtual_regs_lossage, aggregate_value_p,
6282 assign_parm_find_entry_rtl, assign_parm_setup_block,
6283 expand_function_start, expand_function_end, keep_stack_depressed,
6284 handle_epilogue_set, thread_prologue_and_epilogue_insns): Likewise.
6285
599eabdb
DB
62862004-09-08 Daniel Berlin <dberlin@dberlin.org>
6287
6288 * Makefile.in (tree-loop-linear.o): Added.
6289 (OBJS-common): Add tree-loop-linear.o
6290 * common.opt: New flag, ftree-loop-linear.
6291 * timevar.def: New timevar, TV_TREE_LOOP_LINEAR.
6292 * tree-flow.h: Add prototype for linear_transform_loops.
6293 * tree-optimize.c: Add linear transform after vectorization.
6294 * tree-pass.h: Add struct pass_linear_transform.
6295 * tree-ssa-loop.c: Add pass_linear_transform.
6296 * tree-loop-linear.c: New file.
6297 * lambda-code.c: gcc_assertify.
6298 (gcc_loop_to_lambda_loop): Handle all exit tests.
6299 Handle case where we have (invariant >= induction var).
6300 (find_induction_var_from_exit_cond): Ditto.
667bbbbb 6301
13f5595a
JZ
63022004-09-08 Jie Zhang <zhangjie@magima.com.cn>
6303
6304 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
6305 memory tag is call clobbered, so are its aliases.
6306 (group_aliases): When two memory tags being grouped, if one is
6307 call clobbered, so are the other and its aliases.
6308 (add_may_alias): Remove call-clobbering stuff.
6309 (replace_may_alias): Likewise.
6310 (merge_pointed_to_info): Merge pt_global_mem
6311
89480522
JH
63122004-09-08 Jan Hubicka <jh@suse.cz>
6313
6314 * cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
6315 * cgraphunit.c (verify_cgraph): Don't verify on syntax errors.
6316 (cgraph_expand_function): Remove stale cgraph edges of currently
6317 compiled function; fix non-unit-at-a-time code copying function
6318 node for later reuse.
6319
4c254e68
NS
63202004-09-08 Nathan Sidwell <nathan@codesourcery.com>
6321
6322 * vec.c (vec_p_reserve, vec_o_reserve): Rename to ...
6323 (vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to
6324 (vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust.
6325 (vec_gc_free, vec_heap_free): New.
6326 * vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New.
6327 (DEF_VEC_P): Add allocator argument. Adjust.
6328 (DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New.
6329 (DEF_VEC_O): Add allocator argument. Adjust.
6330 (VEC(free)): New.
6331
6332 * tree.h (tree): Define a GC'd vector.
6333 * lamba-code.c (lambda_loop): Likewise.
6334 * value-prof.h (histogram_value): Likewise.
4c254e68 6335
5b0264cb
NS
63362004-09-08 Nathan Sidwell <nathan@codesourcery.com>
6337
6338 * emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable.
6339 (gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno,
6340 gen_lowpart_common, gen_highpart, gen_highpart_mode,
6341 subreg_highpart_offset, operand_subword, operand_subword_force,
6342 mem_expr_equal_p, set_mem_attributes_minus_bitpos,
6343 set_mem_alias_set, change_address_1, verify_rtx_sharing,
6344 copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter,
6345 try_split, add_insn_after, add_insn_before, remove_insn,
6346 remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before,
6347 emit_call_insn_before, emit_insn_after, emit_jump_insn_after,
6348 emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn,
6349 set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1,
6350 gen_const_vector_0, emit_copy_of_insn_after): Likewise.
6351 * et-forest.c (set_prev, set_next, et_check_occ_sanity,
6352 record_path_before_1, check_path_after_1, check_path_after): Likewise.
6353 * except.c (gen_eh_region, resolve_one_fixup_region,
6354 remove_unreachable_regions, convert_from_eh_region_ranges_1,
6355 add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads,
6356 connect_post_landing_pads, sjlj_emit_function_exit,
6357 remove_exception_handler_label, remove_eh_handler,
6358 reachable_next_level, collect_one_action_chain,
6359 output_function_exception_table): Likewise.
6360 * explow.c (trunc_int_for_mode, copy_to_mode_reg,
6361 optimize_save_area_alloca, allocate_dynamic_stack_space,
6362 probe_stack_range, hard_function_value): Likewise.
6363 * expmed.c (mode_for_extraction, store_bit_field,
6364 store_fixed_bit_field, extract_bit_field, expand_shift,
6365 expand_mult_const, expand_mult, choose_multiplier,
6366 expand_mult_highpart, expand_divmod, emit_store_flag,
6367 do_cmp_and_jump): Likewise.
6368 * expr.c (convert_move, convert_modes, move_by_pieces,
6369 move_by_pieces_ninsns, move_by_pieces_1, emit_block_move,
6370 move_block_from_reg, gen_group_rtx, emit_group_load,
6371 emit_group_move, emit_group_store, use_reg, use_regs,
6372 can_store_by_pieces, store_by_pieces, store_by_pieces_1,
6373 emit_move_insn, emit_move_insn_1, emit_push_insn,
6374 expand_assignment, store_expr, count_type_elements,
6375 store_constructor, store_field, safe_from_p, expand_var,
6376 expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise.
6377
ced3f397
NS
63782004-09-08 Nathan Sidwell <nathan@codesourcery.com>
6379
6380 * dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
6381 gcc_assert and gcc_unreachable.
6382 * ddg.c (create_ddg_dependence, add_deps_for_def,
6383 add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
6384 * df.c (df_ref_unlink, df_ref_record, df_uses_record,
6385 df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
6386 df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
6387 df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
6388 df_bb_reg_live_end_p, df_bb_regs_lives_compare,
6389 df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
6390 dataflow_set_copy, hybrid_search, diagnostic.c,
6391 diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
6392 * dojump.c (do_jump): Likewise.
6393 * dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
6394 compute_dom_fast_query, calculate_dominance_info,
6395 free_dominance_info, get_immediate_dominator,
6396 set_immediate_dominator, get_dominated_by,
6397 redirect_immediate_dominators, nearest_common_dominator,
6398 dominated_by_p, verify_dominators, recount_dominator,
6399 iterate_fix_dominators, add_to_dominance_info,
6400 delete_from_dominance_info): Likewise.
6401 * dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
6402 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
6403 dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
6404 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
6405 initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
6406 flush_queued_reg_saves, dwarf2out_frame_debug_expr,
6407 dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
6408 output_call_frame_info, output_loc_operands, build_cfa_loc,
6409 decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
6410 AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
6411 AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
6412 splice_child_die, attr_checksum, same_dw_val_p,
6413 break_out_includes, build_abbrev_table, size_of_die, mark_dies,
6414 unmark_dies, value_format, output_loc_list, output_die,
6415 output_pubnames, output_aranges, base_type_die, is_base_type,
6416 modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
6417 mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
6418 field_byte_offset, add_data_member_location_attribute,
6419 add_const_value_attribute, rtl_for_decl_location,
6420 add_location_or_const_value_attribute, add_byte_size_attribute,
6421 add_bit_offset_attribute, add_bit_size_attribute,
6422 add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
6423 decl_start_label, gen_formal_parameter_die,
6424 gen_type_die_for_member, gen_subprogram_die, gen_label_die,
6425 gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
6426 force_decl_die, force_type_die, gen_decl_die,
6427 dwarf2out_imported_module_or_decl, prune_unused_types_prune,
6428 dwarf2out_finish): Likewise.
6429
faaaf610
AT
64302004-09-08 Andreas Tobler <toa@pop.agri.ch>
6431
6432 * Makefile.in (builtins.o): Depend on tree-mudflap.h.
6433 * builtins.c: Include tree-mudflap.h.
6434
45c8c47f
UB
64352004-09-08 Uros Bizjak <uros@kss-loka.si>
6436
6437 * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
6438 force operand 0.0 into register in XFmode. Also do not force
6439 operand 0.0 into register if !TARGET_CMOVE.
6440 * config/i386/i386.md (*cmpfp_0): Delete. Remove comment.
667bbbbb 6441 (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to
45c8c47f
UB
6442 implement ftst x87 instruction.
6443 (*fp_jcc_7): New insn pattern. Change corresponding split
6444 pattern to handle "general_operand" instead of
6445 "nonimmediate_operand".
6446
70d5fb1c
BE
64472004-09-08 Ben Elliston <bje@au.ibm.com>
6448
6449 * doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.
6450
4882ad24
FCE
64512004-09-07 Frank Ch. Eigler <fche@redhat.com>
6452
6453 * builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes
6454 generated from standard va_arg expansion.
6455 * tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from
6456 marked nodes.
6457 (mf_varname_tree, mf_file_function_line_tree): Add some support
6458 for column numbers if compiled with USE_MAPPED_LOCATION.
6459
06f624ba
ZL
64602004-09-07 Ziemowit Laski <zlaski@apple.com>
6461
6462 * c-decl.c (groktypename_in_parm_context): Remove function.
6463 * c-tree.h (groktypename_in_parm_context): Remove prototype.
6464
6408ef33
ZL
64652004-09-07 Ziemowit Laski <zlaski@apple.com>
6466
6467 * Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
6468 * c-parse.in: Include c-common.h instead of objc-act.h.
6469 (ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
6470 myparms, myparm): Remove %type declarations.
6471 (methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
6472 objc_typename, objc_try_catch_stmt, optellipsis): Add %type
6473 declarations.
6474 (objc_inherit_code, objc_public_flag): Remove.
6475 (typespec_nonreserved_nonattr): Call
6476 objc_get_protocol_qualified_type() instead of get_static_reference()
6477 and get_protocol_reference().
6478 (stmt_nocomp): Call grokparm() on @catch parameter.
6479 (objcdef): Move semantic action to objc_finish_implementation().
6480 (classdef): Move semantic action to objc_start_class_interface(),
6481 objc_continue_interface(), objc_finish_interface(),
6482 objc_start_class_implementation(), objc_continue_implementation(),
6483 objc_start_category_interface() and
6484 objc_start_category_implementation().
6485 (protocoldef): Move semantic actions to objc_start_protocol() and
6486 objc_finish_interface().
6487 (ivar_decl_list): Remove nonterminal.
6488 (visibility_spec): Move semantic actions to objc_set_visibility().
6489 (ivar_decls): Remove assignment to $$.
6490 (ivar_decl): Rephrase in terms of component_decl; call
6491 objc_add_instance_variable().
6492 (ivars, ivar_declarator): Remove nonterminals.
6493 (opt_semi): New nonterminal.
6494 (methodtype): Remove semantic actions.
6495 (methoddef): Move semantic actions to objc_set_method_type(),
6496 objc_start_method_definition() and objc_finish_method_definition().
6497 (methodproto): Move semantic actions to objc_set_method_type() and
6498 objc_add_method_declaration().
6499 (methoddecl): Use objc_typename instead of typename; move semantic
6500 actions to objc_build_method_signature().
6501 (optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
6502 (optparmlist): Express in terms of optparms and optellipsis.
6503 (optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
6504 nonterminals.
6505 (keyworddecl): Use objc_typename instead of typename.
6506 (rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
6507 and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
6508
8662eb14
AM
65092004-09-08 Alan Modra <amodra@bigpond.net.au>
6510
6511 * doc/tm.texi (MD_UNWIND_SUPPORT): Document.
6512 (MD_FALLBACK_FRAME_STATE_FOR): Update.
6513 * unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined.
6514 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
6515 (MD_FROB_UPDATE_CONTEXT): Remove default.
6516 (uw_update_context_1): Instead #ifdef invocation.
6517 * config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined.
6518 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
6519 * config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef.
6520 (MD_UNWIND_SUPPORT): Undefine this instead.
6521 * config/i386/gnu.h: Likewise.
6522 * config/alpha/linux-unwind.h: New file, macro converted to
6523 function, extracted from..
6524 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this.
6525 (MD_UNWIND_SUPPORT): Define.
6526 * config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise.
6527 * config/i386/linux-unwind.h, config/i386/linux.h,
6528 config/i386/linux64.h: Likewise.
6529 * config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise.
6530 MD_HANDLE_UNWABI too.
6531 * config/mips/linux-unwind.h, config/mips/linux.h: Likewise.
6532 * config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise.
6533 * config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise.
6534 * config/s390/linux-unwind.h, config/s390/linux.h: Likewise.
6535 * config/sparc/linux-unwind.h, config/sparc/linux.h,
6536 config/sparc/linux64.h: Likewise.
6537 * config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge
6538 SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state.
6539 * config/rs6000/linux-unwind.h, config/rs6000/linux.h,
6540 config/rs6000/linux64.h: Likewise. Split out get_sigcontext
6541 function. Use ARG_POINTER_REGNUM for 32-bit temp reg too.
6542
c4817ba6
JH
65432004-09-07 Jan Hubicka <jh@suse.cz>
6544
ec666d23
JH
6545 * cse.c (fold_rtx): Avoid building of
6546 (CONST (MINUS (CONST_INT) (SYMBOL_REF)))
6547
c4817ba6
JH
6548 * tree-ssa-pre.c (grand_bitmap_obstack): New.
6549 (value_insert_into_set_bitmap, bitmap_set_new): Use the obstack.
6550 (init_pre): Initialize obstack.
6551 (fini_pre): Free obstack.
6552
9f0df97a
DD
65532004-09-07 David Daney <ddaney@avtrex.com>
6554
6555 * config.gcc: Added support for --with-divide=[breaks|traps] for
6556 mips targets.
6557 * config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit.
6558 (TARGET_DIVIDE_TRAPS): New macro.
6559 (TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks.
6560 (OPTION_DEFAULT_SPECS): Added --with-divide= support.
6561 * config/mips/mips.c (mips_idiv_insns): Generate proper count on
6562 GENERATE_DIVIDE_TRAPS.
6563 (mips_output_division): Emit conditional trap if
6564 GENERATE_DIVIDE_TRAPS is set.
6565 * doc/install.texi: Document --with-divide.
6566 * doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks.
6567
9beb1c84
CT
65682004-09-07 Caroline Tice <ctice@apple.com>
6569
6570 * cfgrtl.c (rtl_verify_flow_info_1): Add new edge flag,
6571 EDGE_CROSSING, to flags test case.
667bbbbb 6572
1905940f
JH
65732004-09-07 Jan Hubicka <jh@suse.cz>
6574
6575 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<'
6576 class too.
6577
341c100f
NS
65782004-09-07 Nathan Sidwell <nathan@codesourcery.com>
6579
6580 * cfganal.c (flow_depth_first_order_compute, dfs_enumerate_from,
6581 cfgbuild.c, inside_basic_block_p, control_flow_insn_p,
6582 make_label_edge, make_edges, find_basic_blocks_1): Use gcc_assert
6583 or gcc_unreachable.
6584 * cfg.c (clear_edges, initialize_bb_rbi, compact_blocks,
6585 remove_edge, alloc_aux_for_blocks, free_aux_for_blocks,
6586 alloc_aux_for_edges, free_aux_for_edges): Likewise.
6587 * cfgcleanup.c (try_forward_edges,
6588 merge_blocks_move_predecessor_nojumps,
6589 merge_blocks_move_successor_nojumps): Likewise.
6590 * cfgexpand.c (expand_gimple_cond_expr,
6591 expand_gimple_tailcall): Likewise.
6592 * cfghooks.c (duplicate_block): Likewise.
6593 * cfglayout.c (record_effective_endpoints,
6594 insn_locators_initialize, change_scope, fixup_reorder_chain,
6595 verify_insn_chain, fixup_fallthru_exit_predecessor,
6596 duplicate_insn_chain, cfg_layout_finalize): Likewise.
6597 * cfgloopanal.c (check_irred): Likewise.
6598 * cfgloop.c (superloop_at_depth, flow_loops_free,
6599 flow_loop_entry_edges_find, flow_loops_find,
6600 flow_loop_outside_edge_p, get_loop_body,
6601 get_loop_body_in_dom_order, get_loop_body_in_bfs_order,
6602 get_loop_exit_edges, num_loop_branches, cancel_loop,
6603 verify_loop_structure): Likewise.
6604 cfgloopmanip.c (find_path, remove_path, loop_delete_branch_edge,
6605 duplicate_loop_to_header_edge, create_preheader,
6606 create_loop_notes): Likewise.
6607 * cfgrtl.c (delete_insn, try_redirect_by_replacing_jump,
6608 edirect_branch_edge, force_nonfallthru_and_redirect,
6609 rtl_split_edge, insert_insn_on_edge, commit_one_edge_insertion,
6610 commit_edge_insertions, commit_edge_insertions_watch_calls,
6611 purge_dead_edges, cfg_layout_redirect_edge_and_branch,
6612 cfg_layout_redirect_edge_and_branch_force,
6613 cfg_layout_merge_blocks, rtl_flow_call_edges_add): Likewise.
6614 * cgraph.c (cgraph_node, cgraph_create_edge, cgraph_remove_edge,
6615 cgraph_redirect_edge_callee, cgraph_global_info, cgraph_rtl_info,
6616 cgraph_varpool_node): Likewise.
6617 * cgraphunit.c (cgraph_finalize_function,
6618 cgraph_finalize_compilation_unit, cgraph_mark_functions_to_output,
6619 cgraph_expand_function, cgraph_remove_unreachable_nodes,
6620 cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
6621 cgraph_mark_inline, cgraph_expand_all_functions,
6622 cgraph_build_static_cdtor): Likewise.
6623 * combine.c (do_SUBST, try_combine, subst, combine_simplify_rtx,
6624 simplify_logical, distribute_notes, insn_cuid): Likewise.
6625 * conflict.c (conflict_graph_add, print_conflict): Likewise.
6626 * coverage.c (rtl_coverage_counter_ref, tree_coverage_counter_ref,
6627 coverage_checksum_string): Likewise.
6628 * cse.c (make_new_qty, make_regs_eqv, insert, invalidate,
6629 hash_rtx, exp_equiv_p, cse_basic_block, count_reg_usage,
6630 cse_cc_succs, cse_condition_code_reg): Likewise.
6631 * cselib.c (entry_and_rtx_equal_p, remove_useless_values,
6632 rtx_equal_for_cselib_p, wrap_constant, cselib_hash_rtx,
6633 new_cselib_val, cselib_subst_to_values, cselib_invalidate_regno,
6634 cselib_record_set): Likewise.
6635
6b094f38
JH
66362004-09-07 Jan Hubicka <jh@suse.cz>
6637
6638 * tree-ssa-loop-ivopts.c (iv_value): Avoid invalid sharing on niter.
6639
5212068f
NS
66402004-09-07 Nathan Sidwell <nathan@codesourcery.com>
6641
6642 * builtins.c (fold_builtin_strchr): Use build_int_cst, not
6643 fold_convert.
6644 (fold_builtin_strpbrk): Likewise.
6645 * expr.c (array_ref_low_bound): Likewise.
6646 * tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
6647 interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
6648 * tree-sra.c (generate_element_zero): Likewise.
6649 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
6650 * tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
6651 add_old_iv_candidates, add_iv_candidates): Likewise.
6652 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
6653
366de0ce
NS
66542004-09-07 Nathan Sidwell <nathan@codesourcery.com>
6655
6656 * c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
6657 * c-common.c (c_type_hash, c_common_nodes_and_builtins,
6658 c_expand_expr, boolean_increment, nonnull_check_p,
6659 check_function_arguments_recurse, fold_offsetof_1): Likewise.
6660 * c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros,
6661 builtin_define_type_max): Likewise.
6662 * c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level,
6663 implicit_decl_warning, builtin_function, build_compound_literal,
6664 complete_array_type, grokdeclarator, get_parm_info,
6665 start_function, store_parm_decls_oldstyle,
6666 c_write_global_declarations): Likewise.
6667 * c-format.c (get_constant, decode_format_attr,
6668 maybe_read_dollar_number, get_flag_spec, check_format_arg,
6669 check_format_types, format_type_warning,
6670 find_char_info_specifier_index, init_dynamic_asm_fprintf_info,
6671 init_dynamic_diag_info, handle_format_attribute): Likewise.
667bbbbb 6672 * c-gimplify.c (push_context, pop_context, finish_bc_block):
366de0ce
NS
6673 * c-lex.c (c_lex_with_flags, lex_string): Likewise.
6674 * c-objc-common.c (c_tree_printer): Likewise.
6675 * c-pch.c (pch_init): Likewise.
6676 * c-pragma.c (maybe_apply_pragma_weak): Likewise.
6677 * c-pretty-print.c (pp_c_tree_decl_identifier): Likewise.
6678 * c-typeck.c (c_incomplete_type_error, composite_type,
6679 common_pointer_type, common_type, same_translation_unit_p,
6680 tagged_types_tu_compatible_p, finish_init, pop_init_level,
6681 set_designator, set_nonincremental_init_from_string,
6682 process_init_element, c_finish_if_stmt): Likewise.
6683 * caller-save.c (init_caller_save, save_call_clobbered_regs,
6684 insert_restore, insert_save, insert_one_insn): Likewise.
6685 * calls.c (emit_call_1, compute_argument_block_size,
6686 precompute_arguments, expand_call, emit_library_call_value_1,
6687 store_one_arg): Likewise.
6688
e1bbfc5c
NS
66892004-09-07 Nathan Sidwell <nathan@codesourcery.com>
6690
6691 * configure.ac (enable-checking): Add release option. Reorganize
6692 to avoid repetition.
6693 * configure: Rebuilt.
6694 * doc/install.texi (enable-checking): Amend documentation.
6695
e64dc647
L
66962004-09-06 H.J. Lu <hongjiu.lu@intel.com>
6697
6698 PR bootstrap/17313
6699 * Makefile.in (specs.ready): Depend on cc1$(exeext).
6700
d3a583b1
JW
67012004-09-06 James E Wilson <wilson@specifixinc.com>
6702
cfd8e493
JW
6703 * config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit,
6704 movdf_hardfloat_32bit): Split fG into two alternatives.
6705 (movv2sf_hardfloat_64bit): Split fYG into two alternatives.
6706
d3a583b1
JW
6707 * emit-rtl.c (try_split): Check INSN_P before may_trap_p call.
6708
ff8cea7e
EB
67092004-09-06 Eric Botcazou <ebotcazou@libertysurf.fr>
6710
6711 * final.c (output_in_slot): Delete.
6712 (final_scan_insn): Revert 2004-09-03 change.
6713 (output_asm_insn): Likewise.
6714 * config/sparc/sparc.c (output_return): Likewise.
6715 (output_sibcall): Likewise.
6716
8679c649
JH
67172004-09-06 Jan Hubicka <jh@suse.cz>
6718
6719 * loop.c (loop_dump_aux): Do not print RTL when not available.
6720 * tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use
6721 frontend specific type nodes.
6722 (produce_memory_decl_rtl): Break out from ...
6723 (prepare_decl_rtl): ... here. Handle ADDR_EXPR correctly.
6724 (get_computation_at): Avoid random tree sharing.
6725 (tree_ssa_iv_optimize): Verify tree sharing; dump loops.
6726
93f8bd9e
ZW
67272004-09-06 Zack Weinberg <zack@codesourcery.com>
6728
6729 * Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove
6730 unnecessary commands.
6731
c802a859
ME
67322004-09-06 Mohan Embar <gnustuff@thisiscool.com>
6733
6734 * Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
6735 (bitmap.o): Likewise.
6736
9f8628ba
PB
67372004-09-06 Paolo Bonzini <bonzini@gnu.org>
6738
6739 Unify the management of RTL and tree-level dump files.
6740
6741 * cfgexpand.c (tree_expand_cfg): Fix incorrect comment.
6742 Don't print function name to the dump file, the pass manager
6743 would do this for us. Add code from the top of
6744 rest_of_compilation, up to the initial RTL dump.
6745 * passes.c (rest_of_handle_jump): Call fixup_tail_calls and
6746 close the DFI_sibling dump file.
6747 (rest_of_compilation): Don't do that here. Remove code up to the
6748 initial RTL dump.
6749 (init_optimization_passes): Remove.
6750 (pass_rest_of_compilation): Change pass name to NULL.
6751 * toplev.c (lang_dependent_init): Do not use an empty dump file prefix.
6752 Do not call init_optimization_passes.
6753 * toplev.h (init_optimization_passes): Remove.
6754
6755 * graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
6756 finish_graph_dump_file): Remove SUFFIX parameter.
6757 * graph.h (print_rtl_graph_with_bb, clean_graph_dump_file,
6758 finish_graph_dump_file): Likewise.
6759
6760 * tree-pass.h (struct tree_opt_pass): Add `letter' field.
6761 * cfgexpand.c (pass_expand): Adjust.
6762 * gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust.
6763 * passes.c (pass_rest_of_compilation): Adjust.
6764 * predict.c (pass_profile): Adjust.
6765 * tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust.
6766 * tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts,
6767 pass_split_crit_edges, pass_warn_function_return): Adjust.
6768 * tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust.
6769 * tree-dfa.c (pass_referenced_vars): Adjust.
6770 * tree-eh.c (pass_lower_eh): Adjust.
6771 * tree-if-conv.c (pass_build_ssa): Adjust.
6772 * tree-into-ssa.c (pass_build_ssa): Adjust.
6773 * tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
6774 * tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
6775 * tree-nrv.c (pass_nrv): Adjust.
6776 * tree-optimize.c (pass_gimple, pass_all_optimizations,
6777 pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
6778 pass_init_datastructures): Adjust.
6779 * tree-outof-ssa.c (pass_del_ssa): Adjust.
6780 * tree-profile.c (pass_tree_profile): Adjust.
6781 * tree-sra.c (pass_sra): Adjust.
6782 * tree-ssa-alias.c (pass_may_alias): Adjust.
6783 * tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust.
6784 * tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust.
6785 * tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust.
6786 * tree-ssa-dom.c (pass_dominator): Adjust.
6787 * tree-ssa-dse.c (pass_dse): Adjust.
6788 * tree-ssa-forwprop.c (pass_forwprop): Adjust.
6789 * tree-ssa-if-conv.c (pass_if_conversion): Adjust.
6790 * tree-ssa-loop-ch.c (pass_ch): Adjust.
6791 * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim,
6792 pass_loop_done, pass_complete_unroll, pass_iv_canon,
6793 pass_iv_optimize, pass_vectorize): Adjust.
6794 * tree-ssa-phiopt.c (pass_phiopt): Adjust.
6795 * tree-ssa-pre.c (pass_pre, pass_fre): Adjust.
6796 * tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized,
6797 pass_late_warn_uninnitialized): Adjust.
6798 * tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust.
6799
6800 * Makefile.in (tree-dump.o): Add new dependencies.
6801 * cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all.
6802 * cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize):
6803 Likewise.
6804 * toplev.c (dump_file_name): New.
6805 * tree-dump.c (dump_enable_all): Add LETTER parameter.
6806 (struct dump_file_info): Add NUM and LETTER fields.
6807 (dump_files): Adjust and add RTL dump files.
6808 (dump_register): Add NUM and LETTER fields.
6809 (get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New.
6810 (dump_begin): Use get_dump_file_name.
6811 (dump_switch_p_1): Adjust call to dump_enable_all.
6812 * tree-dump.h (dump_register): Adjust prototype.
6813 * tree-optimize.c (register_one_dump_file): Take dump file index.
6814 Support flags for RTL dumps.
6815 (register_dump_files): Fill in NUM field of struct dump_file_info.
6816 Track properties both when the gate is executed and when it is not.
6817 (execute_todo): Dump RTL. Add PROPERTIES parameter.
6818 (execute_one_pass): Pass properties to execute_todo. Handle VCG
6819 dumps of RTL.
6820 * tree-pass.h (dump_file_name): New.
6821 * tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p):
6822 New.
6823
6824 * Makefile.in (passes.o): Add new dependencies.
6825 * passes.c (struct dump_file_info, enum dump_file_index,
6826 dump_file_tbl, init_optimization_passes): Remove.
6827 (open_dump_file, close_dump_file): Use tree-dumping infrastructure.
6828 (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use
6829 dump_enabled_p.
6830 (finish_optimization_passes): Update finish_graph_dump_file loop.
6831 (enable_rtl_dump_file): Remove.
6832 * tree-dump.c (dump_files): Adjust and add RTL dump files.
6833 (enable_rtl_dump_file): Add here.
6834 * tree.h (enum tree_dump_index): Add RTL dump file indices.
6835 * doc/invoke.texi (Debugging options): Document new RTL debugging
6836 options. Update.
6837
8c27b7d4
KH
68382004-09-05 Kazu Hirata <kazu@cs.umass.edu>
6839
6840 * c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
6841 gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
6842 stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
6843 tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
6844 tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
6845 tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
6846 tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
6847 vec.h: Fix comment formatting.
6848
2a7e31df
KH
68492004-09-05 Kazu Hirata <kazu@cs.umass.edu>
6850
6851 * c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
6852 et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
6853 hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
6854 tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
6855 tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
6856 tree-ssa-loop-niter.c, tree-ssa-operands.c,
6857 tree-ssa-operands.h, tree-ssa-propagate.c,
6858 tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
6859 vec.c, vec.h: Fix comment typos. Follow spelling conventions.
6860
2addf926
DN
68612004-09-05 Diego Novillo <dnovillo@redhat.com>
6862
6863 * tree-if-conv.c (gate_tree_if_conversion): Enable only if the
6864 vectorizer is enabled.
6865
61b5f210
AJ
68662004-09-05 Andreas Jaeger <aj@suse.de>
6867
6868 * tree-if-conv.c: Spell check comments and clean up whitespace.
6869
8b11a64c
ZD
68702004-09-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6871
6872 * tree-ssa-loop-ivopts.c: New file.
6873 * Makefile.in (tree-ssa-loop-ivopts.c): Add.
6874 * cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
6875 target_pres_cost, target_spill_cost): Declare.
6876 * cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
6877 spill_cost): Renamed to ...
6878 (target_avail_regs, target_res_regs, target_small_cost,
6879 target_pres_cost, target_spill_cost): ... and exported.
6880 (init_set_costs, global_cost_for_size): Work with renamed variables.
6881 * common.opt (flag_ivopts): New flag.
6882 * expr.c (expand_expr_real_1): Handle SSA_NAME case. Handle
6883 REF_ORIGINAL.
6884 * gimplify.c (struct gimplify_ctx): Add into_ssa field.
6885 (internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
6886 generating SSA form.
6887 (force_gimple_operand): New function.
6888 * timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
6889 * tree-cfg.c (stmt_bsi): New function.
6890 * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
6891 PARAM_IV_MAX_CONSIDERED_USES): New.
6892 * tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
6893 bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
6894 ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.
6895 * tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names.
6896 * tree-nested.c (build_addr): Export.
6897 * tree-optimize.c (init_tree_optimization_passes): Add
6898 pass_iv_optimize.
6899 * tree-pass.h (pass_iv_optimize): Declare.
6900 * tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and
6901 IMAGPART_EXPR.
6902 * tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable
6903 as a phi node argument.
6904 (split_loop_exit_edge, bsi_insert_on_edge_immediate_loop,
6905 ip_end_pos, ip_normal_pos, standard_iv_increment_position): New
6906 functions.
6907 * tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export.
6908 * tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts,
6909 pass_iv_optimize): New pass.
6910 * tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL.
6911 * tree-ssanames.c (release_ssa_name): Allow calling with var = NULL.
6912 * tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions.
6913 * tree.h (REF_ORIGINAL): New macro.
6914 (build_int_cst_type, unsigned_type_for, zero_p,
6915 cst_and_fits_in_hwi, build_addr): Declare.
6916 * doc/invoke.texi (-fivopts): Document.
6917 (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
6918 PARAM_IV_MAX_CONSIDERED_USES): Document.
6919 * doc/passes.texi: Document induction variable optimizations pass.
6920
254986c7
KG
69212004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6922
6923 * builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
6924 * builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
6925 * c-common.c (c_common_attribute_table): Accept parameters to
6926 sentinel attribute.
6927 (check_function_sentinel, handle_sentinel_attribute): Likewise.
6928 * doc/extend.texi: Update accordingly.
6929
3d091dac
KG
69302004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6931
6932 * builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
6933 New.
6934 * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
6935 attribute.
6936 * c-common.c (handle_sentinel_attribute, check_function_sentinel):
6937 New functions.
6938 (c_common_attribute_table): Add `sentinel' attribute.
6939 (check_function_arguments): Handle `sentinel' attribute.
6940 * doc/extend.texi: Document `sentinel' attribute.
8f1529e6 6941
44269c40 69422004-09-04 H.J. Lu <hongjiu.lu@intel.com>
a60749f5 6943
3d091dac
KG
6944 * configure: Regenerated.
6945
44269c40
KG
69462004-09-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6947
875803a0
RK
6948 * gimplify.c (internal_get_tmp_var): Remove unused var CLASS.
6949
c51c248f
RK
6950 * tree.c (save_expr): No longer TREE_READONLY.
6951
8d168c24
JH
69522004-09-04 Jan Hubicka <jh@suse.cz>
6953
6954 * passes.c (rest_of_clean_state): Fix merge conflict made during
6955 commiting the patch.
6956
0a9aeefd
JH
69572004-09-04 Jan Hubicka <jh@suse.cz>
6958
6959 * passes.c (rest_of_clean_state): Decompose the instruction stream.
6960
273a2526
RS
69612004-09-04 Richard Sandiford <rsandifo@redhat.com>
6962
6963 * doc/md.texi (shift patterns): New anchor. Add reference to
6964 TARGET_SHIFT_TRUNCATION_MASK.
6965 * doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document.
6966 * target.h (shift_truncation_mask): New target hook.
6967 * targhook.h (default_shift_truncation_mask): Declare.
6968 * targhook.c (default_shift_truncation_mask): Define.
6969 * target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define.
6970 (TARGET_INITIALIZER): Include it.
6971 * simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT
6972 and LSHIFTRT cases. Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise
6973 reject all out-of-range values. Fix sign-extension code for modes
6974 whose width is smaller than HOST_BITS_PER_WIDE_INT.
6975 * optabs.c (simplify_expand_binop, force_expand_binop): New functions.
6976 (expand_superword_shift, expand_subword_shift): Likewise.
6977 (expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise.
6978 (expand_binop): Use them to implement double-word shifts.
6979 * config/arm/arm.c (arm_shift_truncation_mask): New function.
6980 (TARGET_SHIFT_TRUNCATION_MASK): Define.
6981
caf29de7
JH
69822004-09-04 Jan Hubicka <jh@suse.cz>
6983
6984 * tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
6985 (mix): New macro copied from hashtab.c
6986 (iterative_hash_hashval_t, iterative_hash_pointer,
6987 iterative_hash_host_wide_int): New functions based on hashtab.c
6988 implementation.
6989
e83adf94
RS
69902004-09-04 Richard Sandiford <rsandifo@redhat.com>
6991
6992 * config/mips/mips.md (mask): New mode attribute.
6993 (zero_extendsidi2): Add memory alternative.
6994 (*zero_extendsidi2_mem): Delete.
6995 (zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT. Use
6996 memory_operand in the TARGET_MIPS16 check.
6997 (*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns.
6998 Redefine using :GPR and :SHORT.
6999 (zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check.
7000
edeacc14
UB
70012004-09-04 Uros Bizjak <uros@kss-loka.si>
7002
7003 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L}
7004 using rint_optab.
7005 (expand_builtin): Expand BUILT_IN_RINT{,F,L} using
7006 expand_builtin_mathfn.
7007 * genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use
7008 btrunc?f patterns for btrunc_optab. Implement rint_optab using
7009 rint?f patterns.
7010 * optabs.c (init_optabs): Initialize rint_optab.
7011 * optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc.
7012 Add new OTI_rint.
7013 (btrunc_optab): Rename macro from trunc_optab.
7014 (rint_optab): Define corresponding macro.
7015
7016 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR,
7017 UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM.
7018
7019 * config/i386/i386-protos.h (emit_i387_cw_initialization):
7020 Change prototype. Add new int parameter.
7021 * config/i386/i386.c (emit_i387_cw_initialization):
7022 Handle new rounding modes.
7023
7024 * config/i386/i386.h (enum fp_cw_mode): Delete.
c9996000 7025 (MODE_NEEDED): Handle new rounding modes.
edeacc14
UB
7026 (EMIT_MODE_SET): Change condition to handle new rounding modes.
7027
7028 * config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL,
7029 UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to
7030 represent different rounding modes of frndint insn.
7031 (type): Add frndint type.
7032 (i387, length, memory): Handle this type.
7033 (i387_cw): New attribute definition.
7034 (*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory,
7035 *fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory,
7036 *fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory):
7037 Add "i387_cw" attribute defined to "trunc".
7038 (x86_fnstcw_1): Remove comment.
7039 (*frndintxf2): Rename insn definition to frndintxf2. Move
7040 insn definition near rint?f2 expanders.
7041 (rintdf2, rintsf2, rintxf2): New expanders to implement rint,
7042 rintf and rintl built-ins as inline x87 intrinsics.
7043 (frndintxf2_floor): New pattern to implement floor rounding
7044 mode with frndint x87 instruction.
7045 (floordf2, floorsf2, floorxf2): New expanders to implement floor,
7046 floorf and floorl built-ins as inline x87 intrinsics.
7047 (frndintxf2_ceil): New pattern to implement ceil rounding
7048 mode with frndint x87 instruction.
7049 (ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil,
7050 ceilf and ceill built-ins as inline x87 intrinsics.
7051 (frndintxf2_trunc): New pattern to implement trunc rounding
7052 mode with frndint x87 instruction.
7053 (btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc,
7054 truncf and truncl built-ins as inline x87 intrinsics.
7055 (frndintxf2_mask_pm): New pattern to implement rounding
7056 mode with exceptions with frndint x87 instruction.
7057 (nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to
7058 implement nearbyint, nearbyintf and nearbyintl built-ins as
7059 inline x87 intrinsics.
7060
183f019b
RS
70612004-09-04 Richard Sandiford <rsandifo@redhat.com>
7062
7063 * config/mips/mips.md (SHORT): New mode macro.
7064 (size): New mode attribute.
7065 (extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.
7066 (*extend[qh]i[sd]i2): New define_insn_and_split, combining previous
7067 *extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns. Use only if
7068 !ISA_HAS_SEB_SEH.
7069 (*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous
7070 *extend[qh]isi2_hw patterns and extending them to di.
7071 (extendqihi2): Implement as define_insn_and_split that produces
7072 extendqisi2 after reload.
7073
40923b20
DP
70742004-09-03 Devang Patel <dpatel@apple.com>
7075
7076 * Makefile.in (OBJS-common): Add tree-if-conv.o
7077 (tree-if-conv.o): New rule.
7078 * cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag.
7079 (get_loop_body_in_bfs_order): New.
7080 * cfgloop.h (get_loop_body_in_bfs_order): New.
7081 * tree-flow.h (enum move_pos): Move here from ..
7082 * tree-ssa-loop-im.c (enum move_pos): here.
7083 (movement_possibility): Make externally visible.
7084 * tree-optimize.c (init_tree_optimization_passes): New entry for
7085 if conversion pass.
7086 * tree-pass.h (pass_if_conversion): New.
7087 * tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR.
7088 * tree-if-conv.c: New file.
7089 * doc/passes.texi: Document tree if-conversion pass.
c9996000 7090 * doc/tree-ssa.texi: Same.
40923b20 7091
443728bb
L
70922004-09-03 H.J. Lu <hongjiu.lu@intel.com>
7093
7094 PR target/14925:
7095 Makefile.in (LIB2ADDEHSTATIC): New.
7096 (LIB2ADDEHSHARED): New.
7097 (LIBUNWIND): New.
7098 (LIBUNWINDDEP): New.
7099 (SHLIBUNWIND_LINK): New.
7100 (SHLIBUNWIND_INSTALL): New.
7101 (libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
7102 LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
7103 (clean): Remove libunwind*
7104 (stage1-start): Remove and copy stage1/libunwind*.
7105 (stage2-start): Remove and copy stage2/libunwind*.
7106 (stage3-start): Remove and copy stage3/libunwind*.
7107 (stage4-start): Remove and copy stage4/libunwind*.
7108 (stageprofile-start): Remove and copy stageprofile/libunwind*.
7109 (stagefeedback-start): Remove and copy stagefeedback/libunwind*.
7110
7111 * config.gcc (ia64*-*-linux*): Always add t-libunwind to
7112 tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
7113 tmake_file if --with-system-libunwind isn't used.
7114
7115 * config/ia64/t-glibc-libunwind: New file.
7116 * config/t-libunwind-elf: Likewise.
7117 * unwind-compat.c: Likewise.
7118 * unwind-compat.h: Likewise.
7119 * unwind-dw2-fde-compat.c: Likewise.
7120
7121 * config/ia64/t-glibc (LIB2ADDEH): Updated.
7122 * config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
7123
7124 * config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
7125 aliases if needed.
7126 * unwind-dw2-fde-glibc.c: Likewise.
7127 * unwind-dw2.c: Likewise.
7128
7129 * config/t-libunwind (LIB2ADDEH): Updated.
7130 (LIB2ADDEHSTATIC): New.
7131 (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
7132 (TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
7133
7134 * configure.ac: Change --enable-libunwind-exceptions to
7135 --with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
7136 * configure: Regenerated.
7137 * config.in: Updated.
7138
7139 * doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
7140 above and mention --with-system-libunwind.
7141 (ia64-*-hpux*): Mention --enable-libunwind-exceptions is
7142 removed in gcc 3.4.3 and later.
7143
7144 * gcc.c (init_spec): Add -lunwind to -lgcc_s if
7145 USE_LIBUNWIND_EXCEPTIONS is defined.
7146
7147 * mklibgcc.in: Support libunwind.
7148
d20bf446
L
71492004-09-03 H.J. Lu <hongjiu.lu@intel.com>
7150
7151 * config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and
7152 m_NOCONA.
7153
1f6d3a08
RH
71542004-09-03 Richard Henderson <rth@redhat.com>
7155
93f8bd9e
ZW
7156 PR middle-end/9997
7157 * cfgexpand.c (LOCAL_ALIGNMENT): Provide default.
7158 (STACK_ALIGNMENT_NEEDED, FRAME_GROWS_DOWNWARD): Likewise.
7159 (struct stack_var, EOC, stack_vars, stack_vars_alloc, stack_vars_num,
7160 stack_vars_sorted, stack_vars_conflict, stack_vars_conflict_alloc,
7161 frame_phase, get_decl_align_unit, add_stack_var, triangular_index,
7162 resize_stack_vars_conflict, add_stack_var_conflict,
7163 stack_var_conflict_p, add_alias_set_conflicts, stack_var_size_cmp,
7164 union_stack_vars, partition_stack_vars, dump_stack_var_partition,
7165 expand_one_stack_var_at, expand_stack_vars, expand_one_stack_var,
1f6d3a08
RH
7166 expand_one_static_var, expand_one_hard_reg_var,
7167 expand_one_register_var, expand_one_error_var, defer_stack_allocation,
7168 expand_one_var, expand_used_vars_for_block, clear_tree_used): New.
93f8bd9e 7169 (expand_used_vars): Rewrite.
1f6d3a08
RH
7170 * Makefile.in (cfgexpand.o): Update dependencies.
7171
80d8221e
JH
71722004-09-04 Jan Hubicka <jh@suse.cz>
7173
7174 * cfg.c (free_edge): Use ggc_free.
7175 (expunge_block): Use ggc_free.
7176 * passes.c (rest_of_clean_state): Free after compilation.
7177 * tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs
7178 * tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments.
7179
bb1058e4
JW
71802004-09-03 James E Wilson <wilson@specifixinc.com>
7181
7182 * tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
7183 DECL_EXTERNAL check.
7184
ca83de6b
EB
71852004-09-03 Eric Botcazou <ebotcazou@libertysurf.fr>
7186
7187 * final.c (output_in_slot): New global variable.
7188 (final_scan_insn): Add new state '2' to the 'nopeepholes' parameter.
7189 Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE. Set
7190 'output_in_slot' before invoking output_asm_insn.
7191 (output_asm_insn): Add a space after the tab if 'output_in_slot'
7192 is set.
7193 * config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to
7194 final_scan_insn.
7195 (output_sibcall): Likewise.
7196
1e3e17d3
JH
71972004-09-03 Jan Hubicka <jh@suse.cz>
7198
7199 * tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
7200 * tree-ssanames (init_ssanames): Likewise.
7201
c41e5f27
ZL
72022004-09-03 Ziemowit Laski <zlaski@apple.com>
7203
7204 * stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class,
7205 objc_declare_protocols, objc_start_protocol,
7206 objc_start_class_interface, objc_start_category_interface,
7207 objc_continue_interface, objc_finish_interface,
7208 objc_add_instance_variable, objc_set_visibility, objc_set_method_type,
7209 objc_start_class_implementation, objc_start_category_implementation,
7210 objc_continue_implementation, objc_finish_implementation,
7211 objc_add_method_declaration, objc_start_method_definition,
7212 objc_finish_method_definition, objc_build_keyword_decl,
7213 objc_build_method_signature, objc_build_encode_expr,
7214 objc_build_protocol_expr, objc_build_selector_expr,
7215 objc_build_message_expr, objc_build_string_object,
7216 objc_get_class_reference, objc_get_protocol_qualified_type,
7217 objc_static_init_needed_p, objc_generate_static_init_call): New stubs.
7218
b30d77c4
JW
72192004-09-03 James E Wilson <wilson@specifixinc.com>
7220
7221 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d.
7222
7223 * config/mips/generic.md (generic_frecip_fsqrt_step): New.
7224 * config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type.
7225 (mips_rsqrt2_<fmt>): Use frsqrt2 type.
7226 (mips_recip1_<fmt>): Use frdiv1 type.
7227 (mips_recip2_<fmt>): Use frdiv2 type.
7228 * config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2.
7229 * config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1
7230 and frsqrt1.
7231 (ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New.
7232
87cda9d6
DJ
72332004-09-03 Daniel Jacobowitz <dan@debian.org>
7234
7235 * reload.c (find_reloads): Swap operand_loc pointers for
7236 find_dummy_reload if we have swapped two operands.
7237
f671762a
HPN
72382004-09-03 Hans-Peter Nilsson <hp@axis.com>
7239
7240 * config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn
7241 to get the tablejump-insn before the jump-table label.
7242
a45bcfb2
ZL
72432004-09-03 Ziemowit Laski <zlaski@apple.com>
7244
7245 * c-common.h (objc_is_id, objc_declare_alias, objc_declare_class,
7246 objc_declare_protocols, objc_build_message_expr,
7247 objc_finish_message_expr, objc_build_selector_expr,
7248 objc_build_protocol_expr, objc_build_encode_expr,
7249 objc_build_string_object, objc_get_protocol_qualified_type,
7250 objc_get_class_reference, objc_get_class_ivars,
7251 objc_start_class_interface, objc_start_category_interface,
7252 objc_start_protocol, objc_continue_interface, objc_finish_interface,
7253 objc_start_class_implementation, objc_start_category_implementation,
7254 objc_continue_implementation, objc_finish_implementation,
7255 objc_set_visibility, objc_set_method_type, objc_build_method_signature,
7256 objc_add_method_declaration, objc_start_method_definition,
7257 objc_finish_method_definition, objc_add_instance_variable,
7258 objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt,
7259 objc_finish_try_stmt, objc_begin_catch_clause,
7260 objc_finish_catch_clause, objc_build_finally_clause,
7261 objc_build_synchronized, objc_static_init_needed_p,
7262 objc_generate_static_init_call): New prototypes.
7263
9dec91d4
SE
72642004-09-03 Steve Ellcey <sje@cup.hp.com>
7265
7266 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there
7267 is only one reg.
7268 (ia64_function_value): Ditto.
7269
61fec9ff
JB
72702004-09-03 Jan Beulich <jbeulich@novell.com>
7271
7272 * config.gcc: Resurrect NetWare as a target. Handle special case of
7273 Novell linker to be used (specified through --with-ld=) and threading
7274 model of either Posix (default) or NKS.
7275 * config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
7276 of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
7277 * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
7278 * config/i386/netware.c, config/i386/netware.h: New.
7279 * config/i386/nwld.c, config/i386/nwld.h: New.
7280 * config/i386/netware-crt0.c: New.
7281 * config/i386/netware-libgcc.c: New.
7282 * config/i386/netware-libgcc.def: New.
7283 * config/i386/netware-libgcc.exp: New.
7284 * config/i386/t-netware, config/i386/t-nwld: New.
7285 * gthr-nks.h: New.
7286 * doc/install.texi: Document NKS threading model.
7287
467cecf3
JB
72882004-09-03 Jan Beulich <jbeulich@novell.com>
7289
7290 PR c/7054
7291 * defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default.
7292 * tree.h (initial_max_fld_align): Declare
7293 * stor-layout.c (initial_max_fld_align): Define and initialize.
7294 (maximum_field_alignment): Initialize to the same value.
7295 * common.opt: Add -fpack-struct= variant of switch.
7296 * opts.c: Handle -fpack-struct= variant of switch.
7297 * c-pragma.c: Change #pragma pack() handling so that it becomes
7298 compatible to other compilers: accept individual 'push' argument,
7299 make final pop restore (command line) default, correct interaction
7300 of push/pop and sole specification of a new alignment (so that the
7301 sequence #pragma pack(push) - #pragma pack(<n>) becomes identical
7302 to #pragma pack(push, <n>).
7303 * doc/extend.texi: New node "Structure-Packing Pragmas" under
7304 "Pragmas", describing #pragma pack.
7305 * doc/invoke.texi: Document -fpack-struct=<n> variant of switch.
7306 * doc/tm.texi: Adjust description for HANDLE_PRAGMA_PACK_PUSH_POP.
7307 Document new TARGET_DEFAULT_PACK_STRUCT.
7308
90300b8c
DP
73092004-09-03 Devang Patel <dpatel@apple.com>
7310
7311 * dwarf2out.c (gen_field_die). Equate decl number to die.
c9996000 7312
d6df6ae2
VM
73132004-09-03 Vladimir Makarov <vmakarov@redhat.com>
7314
7315 PR target/15832
7316 * global.c (modify_reg_pav): New function.
7317 (make_accurate_live_analysis): Call the new function. Move pavin
7318 modification by earlyclobber set into the new function.
7319
25c99d8f
AS
73202004-09-03 Andreas Schwab <schwab@suse.de>
7321
7322 * config/m68k/m68k.c (output_andsi3): Use -1 instead of
7323 (HOST_WIDE_INT)0xffffffff since CONST_INT value are always sign
7324 extended.
7325
7f148c2f
JB
73262004-09-02 Jan Beulich <jbeulich@novell.com>
7327
7328 * Makefile.in (LIB2ADDEHDEP): Add unwind.h and unwind-pe.h.
7329 * mklibgcc.in (libgcc_dep): New, covering general dependencies, but
7330 not unwind code specific ones.
7331 (libgcc2_c_dep): Replace general dependencies with use of libgcc_dep.
7332 Remove unwind code specific dependencies.
7333 (libgcov_c_dep): Replace general dependencies with use of libgcc_dep.
7334 Remove gbl-ctors.h.
7335 Add libgcc_dep to output generated for LIB2ADD, LIB2ADDEH, and
7336 LIB2ADD_ST. Add LIB2ADDEHDEP to output generated for LIB2ADDEH.
7337 * tsystem.h: Declare memcpy and memset when inhibit_libc.
7338
9e42ab3e 73392004-09-02 Roman Zippel <zippel@linux-m68k.org>
c9996000 7340
9e42ab3e
RZ
7341 * combine.c (try_combine): Delay modifying of insns which cannot
7342 be easily undone.
7343
1b08d87d
DB
73442004-09-02 Daniel Berlin <dberlin@dberlin.org>
7345
7346 * gcc/common.opt: Rename ivcanon to tree-loop-ivcanon, tree-lim to
7347 tree-loop-im.
7348 * gcc/tree-ssa-loop.c: Ditto
7349 * gcc/tree-ssa-loop-ivcanon.c: Ditto
7350 * gcc/doc/invoke.texi: Ditto.
7351
d4e43dff
ZL
73522004-09-02 Ziemowit Laski <zlaski@apple.com>
7353
7354 * c-decl.c (store_parm_decls_newstyle): Make static.
7355 (store_parm_decls_from): New function.
7356 * c-tree.h (store_parm_decls_newstyle): Remove prototype.
7357 (store_parm_decls_from): New prototype.
7358
cd7d9ca4
DE
73592004-09-02 David Edelsohn <edelsohn@gnu.org>
7360
7361 * config/rs6000/rs6000.c (expand_block_move): Use SImode and
7362 HImode with STRICT_ALIGNMENT.
7363
40a1c5cb
MM
73642004-09-02 Mark Mitchell <mark@codesourcery.com>
7365
7366 * config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
7367 (TARGET_OS_CPP_BUILTINS): Likewise.
7368 * config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Include
7369 TARGET_BPABI_CPP_BUILTINS.
7370
b54567e2 73712004-09-02 Roman Zippel <zippel@linux-m68k.org>
c9996000 7372
b54567e2
RZ
7373 * combine.c (distribute_notes): Don't add REG_LABEL to jump insn.
7374
5906d013
EC
73752004-09-02 Eric Christopher <echristo@redhat.com>
7376
7377 * builtins.c (expand_builtin_cabs): Delete.
7378 (expand_builtin): If unable to fold the values do a normal
7379 library call for builtin_cab*.
7380 (fold_builtin_cabs): Depend on optimize and optimize_size.
7381 * optabs.c (expand_cmplxdiv_straight): Delete.
7382 (expand_cmplxdiv_wide): Ditto.
7383 (expand_vector_binop): Ditto.
7384 (expand_vector_unop): Ditto.
7385 (expand_complex_abs): Delete.
7386 (expand_binop): Remove calls to above functions.
7387 Remove open coding of complex arithmetic.
7388 (expand_unop): Ditto.
7389 * optabs.h: Remove prototypes.
7390
3041390d
ZL
73912004-09-02 Ziemowit Laski <zlaski@apple.com>
7392
7393 * c-decl.c (store_parm_decls_newstyle): Make externally visible.
7394 * c-tree.h (store_parm_decls_newstyle): New prototype.
7395
5514620a
GK
73962004-09-02 Geoffrey Keating <geoffk@apple.com>
7397
7398 * config/rs6000/rs6000.c (expand_block_clear): Use vector
7399 instructions if available.
7400 (expand_block_move): Likewise.
7401
02f14c38
JH
74022004-09-03 Jan Hubicka <jh@suse.cz>
7403
7404 * rtl.def (RANGE_INFO, RANGE_REG, RANGE_VAR, RANGE_LIVE): Kill.
7405
19dc705e
MM
74062004-09-02 Mark Mitchell <mark@codesourcery.com>
7407
7408 * config/arm/symbian.h (LIB_SPEC): Define to empty.
7409 * config/arm/t-symbian (SHLIB_LC): Likewise.
7410
24112ed0
PB
74112004-09-02 Paul Brook <paul@codesourcery.com>
7412
7413 * config/arm/bpabi.c (__aeabi_ul2d, __aeabi_ul2f): Remove.
7414
7ad769fe
RS
74152004-09-02 Richard Sandiford <rsandifo@redhat.com>
7416
7417 * config/mips/mips.c (mips_classify_symbol, mips_fetch_insns):
7418 (mips_restore_gp, mips_set_return_address, mips_expand_prologue)
7419 (mips16_fp_args, mips_avoid_hazard): Replace abort with gcc_assert.
7420 (build_mips16_call_stub): Likewise. Remove daft CALL_INSN checks.
7421 (mips_issue_rate): Remove unreachable abort.
7422 (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns)
7423 (mips_output_move, mips_relational_operand_ok_p, mips_arg_info)
7424 (mips_block_move_straight, print_operand_address, mips_file_start)
7425 (mips_initial_elimination_offset, mips16_fp_args, dump_constants_1)
7426 (mips_output_conditional_branch, mips_expand_builtin_direct)
7427 (mips_expand_builtin_compare): Replace abort with gcc_unreachable.
7428 * config/mips/mips.md (rotr<mode>3, consttable_float): Replace abort
7429 with gcc_assert.
7430
9f09b415
RS
74312004-09-02 Richard Sandiford <rsandifo@redhat.com>
7432
7433 * config/mips/mips.md (*lea_high64): Change split condition to
7434 flow2_completed. Add a peephole2 to generate a more parallel version.
7435
07724022
JH
74362004-09-02 Jan Hubicka <jh@suse.cz>
7437
7438 * gimplify.c (gimplify_compound_lval): Move "stack" varray out of
7439 GGC.
7440
7441 * ggc-page.c: include tree-flow.h.
7442 (extra_order_size_table): Add stmt_ann_d.
7443 (STAT_LABEL): Rename from ....
7444 (LABEL): ... this one.
7445 * Makefile.in (ggc-page.o): Add dependency.
7446
7447 * ggc-common.c (ggc_force_collect): New global variable.
7448 (loc_description): Add fields "freed", "collected"
7449 (ptr_hash): New static hash
7450 (ptr_hash_entry): New structure.
7451 (hash_ptr,eq_ptr,ggc_prune_ptr): New static functions.
7452 (ggc_record_overhead): Take ptr argument, record it
7453 (ggc_prune_overhead_list, ggc_free_overhead): New functions.
7454 (cmp_statistics): Imrove sorting.
7455 (dump_ggc_loc_statistics): Output newly collected statistics
7456 * ggc-page.c (ggc_alloc): Update call of ggc_record_overhead
7457 (ggc_free): Call ggc_free_overhead.
7458 (ggc_collect): Force collection when asked to be forced.
7459 (ggc_collect): Call ggc_prune_overhead_list.
7460 * ggc.h (ggc_force_collect): Declare
7461 (ggc_record_overhead): Update prototype.
7462 (ggc_free_overhead, ggc_prune_overhead_list): Declare.
7463
10060b83
JW
74642004-09-02 James E Wilson <wilson@specifixinc.com>
7465
7466 * common.opt (ftrapping-math): Default to on.
7467
9d2da95b
RE
74682004-09-02 Richard Earnshaw <rearnsha@arm.com>
7469
7470 * arm/predicates.md (arm_reload_memory_operand): Allow MEM.
7471
3f1f9228
DC
74722004-09-02 Denis Chertykov <denisc@overta.ru>
7473
7474 PR target/16884
7475 * config/avr/avr.md ("movmemhi"): Substitute match_dup to
7476 match_scratch.
7477 (*movmemqi_insn): Likewise.
7478 (*movmemhi): Likewise.
7479 (clrmemhi): Likewise.
7480 (*clrmemqi): Likewise.
7481 (*clrmemhi): Likewise.
7482
e6fc6c9b
PB
74832004-09-02 Paul Brook <paul@codesourcery.com>
7484
7485 * config.gcc (arm*-*-eabi* | arm*-*-symbianelf*): Set
7486 default_use_cxa_atexit=yes.
7487
d86c1b91
AM
74882004-09-02 Alan Modra <amodra@bigpond.net.au>
7489
7490 * config/rs6000/linux64.h: Don't include signal.h or sys/ucontext.h.
7491 (struct kernel_old_ucontext): Delete.
7492 (struct gcc_pt_regs, gcc_sigcontext, gcc_ucontext): New.
7493 (MD_FALLBACK_FRAME_STATE_FOR): Use gcc_* structs. Only define
7494 when IN_LIGGCC2.
7495
3806400d
RS
74962004-09-02 Richard Sandiford <rsandifo@redhat.com>
7497
7498 * toplev.c (process_options): Fix typo.
7499
9969aaf6
RH
75002004-09-01 Richard Henderson <rth@redhat.com>
7501
7502 PR middle-end/17258
7503 * calls.c (initialize_argument_information): Tighten pass-through
7504 conditions for pass-by-reference. Remove dead TARGET_EXPR code.
7505 Use build_fold_addr_expr.
7506 (emit_library_call_value_1): Use build_fold_addr_expr. Remove code
7507 that assumes ADDR_EXPR allocates stack space.
7508 * fold-const.c (build_fold_addr_expr_with_type): Look through
7509 WITH_SIZE_EXPR.
7510
1e8964cf
DN
75112004-09-01 Dan Nicolaescu <dann@ics.uci.edu>
7512
7513 * gengenrtl.c (gendef): Use rtx_alloc, don't do PUT_CODE.
7514 * ggc.h (ggc_alloc_rtx): Delete.
7515
26276705
RS
75162004-09-01 Roger Sayle <roger@eyesopen.com>
7517
7518 * expmed.c (enum alg_code): Remove long unused enumeration values.
7f148c2f 7519 (struct mult_cost): New structure to hold the "score" of a synthetic
26276705
RS
7520 multiply sequence, including both a rtx_cost and a latency field.
7521 (MULT_COST_LESS): New macro to compare mult_cost to a constant.
7522 (CHEAPER_MULT_COST): New macro to compare two mult_costs.
7523 (struct algorithm): Change type of cost field to be mult_cost.
7524 (synth_mult): Change type of cost_limit argument to be a
7525 pointer to a mult_cost. Update all cost comparisons to use the
5906d013 7526 new mult_cost infrastructure. For alg_add_factor and
26276705
RS
7527 alg_sub_factor operations, latency is lower than the rtx_cost.
7528 (choose_mult_variant): Update calls to synth_mult. Perform
7529 cost comparisons using the new mult_cost infrastructure.
7530 (expand_mult_highpart): Use alg.cost.cost instead of alg.cost
7531 to optain the total rtx_cost of a synth_mult "algorithm".
7532
594a3565
DE
75332004-09-01 David Edelsohn <edelsohn@gnu.org>
7534
7535 * config/rs6000/power4.md: Increase store latency to 12.
7536 * config/rs6000/power5.md: Same.
7537
130d5426
JW
75382004-09-01 James E Wilson <wilson@specifixinc.com>
7539
7540 PR target/14064
7541 * config/avr/avr.c (avr_unique_section): Delete prototype and
7542 definition.
7543 (TARGET_ASM_UNIQUE_SECTION): Delete.
7544
57a6af27
ZL
75452004-09-01 Ziemowit Laski <zlaski@apple.com>
7546
7547 * c-parse.in (primary): Call objc_build_message_expr(),
7548 objc_build_selector_expr(), objc_build_protocol_expr(),
7549 objc_build_encode_expr() and objc_build_string_object() instead of
7550 build_message_expr(), build_selector_expr(), build_protocol_expr(),
7551 build_encode_expr() and build_objc_string_object(), respectively.
7552 (component_decl_list2): Call objc_get_class_ivars() instead of
7553 get_class_ivars_from_name().
7554 (keyworddecl): Call objc_build_keyword_decl() instead of
7555 build_keyword_decl().
7556 (receiver): Call objc_get_class_reference() instead of
7557 get_class_reference().
7558 (reswords): Add blank line before @@ifobjc section, for clarity.
7559
5ec214fc
FJ
75602002-09-01 Fariborz Jahanian <fjahanian@apple.com>
7561
7562 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Restrict alignment
7563 to Altivec vetors.
7564
40219f96
WY
75652004-09-01 Wu Yongwei <adah@sh163.net>
7566 Danny Smith <dannysmith@users.sourceforge.net>
7567
7568 * gthr-win32.h (__gthread_recursive_mutex_t): Use 'unsigned long',
7569 not Windows 'DWORD'.
7570 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Correct typo.
7571 (__GTHREAD_RECURSIVE_MUTEX_INIT_DEFAULT): Likewise.
7572 (__gthr_win32_recursive_mutex_init_function): Add prototype for
7573 __GTHREAD_HIDE_WIN32API case..
7574 (__gthr_win32_recursive_mutex_lock): Likewise.
7575 (__gthr_win32_recursive_mutex_trylock): Likewise.
7576 (__gthr_win32_recursive_mutex_unlock): Likewise.
7577 (__gthread_recursive_mutex_init_function); Add definition for
7578 __GTHREAD_HIDE_WIN32API case.
7579 (__gthread_recursive_mutex_lock): Correct call to InterlockedDecrement.
7580 * config/i386/grthr-win32.c (__gthread_recursive_mutex_lock): Correct
7581 call to InterlockedDecrement.
7582
78ad8fbe
RK
75832004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7584
ba2e294d
RK
7585 * tree-tailcall.c (find_tail_calls): Also fail is statement has
7586 volatile operands.
7587
0705d602
RK
7588 * tree-ssa.c (propagate_into_addr): Properly test for LHR.
7589
78ad8fbe
RK
7590 * doc/c-tree.texi: Document new operands for ARRAY_REF and
7591 COMPONENT_REF.
7592
6d9901e7
ZD
75932004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7594
7595 * Makefile.in (rtl-profile.o, value-prof.o): Add GCC_H dependency.
7596 * common.opt (fspeculative-prefetching): New.
7597 * flags.h (flag_speculative_prefetching_set): Declare.
7598 * gcov-io.c (gcov_write_counter, gcov_read_counter): Allow negative
7599 values.
7600 * opts.c (flag_sepculative_prefetching_set): New variable.
7601 (common_handle_option): Handle -fspeculative-prefetching.
7602 * passes.c (rest_of_compilation): Ditto.
7603 * profile.c (instrument_values, compute_value_histograms, branch_prob):
7604 Use vectors instead of arrays.
7605 * toplev.c (process_options): Handle -fspeculative-prefetching.
7606 * rtl-profile.c: Include ggc.h.
7607 (rtl_gen_interval_profiler, rtl_gen_pow2_profiler,
7608 rtl_gen_one_value_profiler_no_edge_manipulation,
7609 rtl_gen_one_value_profiler, rtl_gen_const_delta_profiler): Type of
7610 argument changed.
7611 * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
7612 tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Type of
7613 argument changed.
7614 * value-prof.c: Include ggc.h.
7615 (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX): New
7616 macros.
7617 (insn_prefetch_values_to_profile, find_mem_reference_1,
7618 find_mem_reference_2, find_mem_reference, gen_speculative_prefetch,
7619 speculative_prefetching_transform): New.
7620 (value_profile_transformations): Call speculative_prefetching_transform.
7621 (insn_values_to_profile): Call insn_prefetch_values_to_profile.
7622 (insn_divmod_values_to_profile, rtl_find_values_to_profile,
7623 tree_find_values_to_profile, find_values to profile): Use vectors
7624 instead of arrays.
7625 (free_profiled_values): Removed.
7626 * value-prof.h (struct histogram_value): Renamed to
7627 struct histogram_value_t.
7628 (histogram_value, histogram_values): New types.
7629 (find_values_to_profile): Declaration changed.
7630 (free_profiled_values): Removed.
7631 (struct profile_hooks): Type of argument of the hooks changed to
7632 histogram_value.
7633 * doc/invoke.texi (-fspeculative-prefetching): Document.
7634
d7fe1183
ZD
76352004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7636
7637 PR rtl-optimization/16408
7638 * gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
7639
938e234b
RH
76402004-09-01 Richard Henderson <rth@redhat.com>
7641
7f148c2f
JB
7642 * config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
7643 (TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
938e234b 7644
d0879c98
JJ
76452004-09-01 Jakub Jelinek <jakub@redhat.com>
7646
7647 * libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
7648
156a126c
MS
76492004-09-01 Mike Stump <mrs@apple.com>
7650
7651 * config/darwin.c (machopic_symbol_defined_p): In addition to
7652 being SYMBOL_REF_LOCAL_P, a symbol must also be
7653 ! SYMBOL_REF_EXTERNAL_P, as only those are _always_ locally
7654 defined in this output file, or translation unit in the case
7655 of IMA not being used.
7656 (machopic_output_indirection): SYMBOL_REF_LOCAL_P symbols
7657 never need .indirect_symbol when indirecting.
7658
a5d8b097
JJ
76592004-09-01 Jakub Jelinek <jakub@redhat.com>
7660
7661 * Makefile.in (bb-reorder.o): Add several dependencies.
7662
266bff3a
JJ
76632004-09-01 Jakub Jelinek <jakub@redhat.com>
7664
7665 * fold-const.c (operand_equal_p): Require equal sign also for
7666 FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR.
7667
32078532
RE
76682004-09-01 Richard Earnshaw <rearnsha@arm.com>
7669
7670 * config.gcc (--with-cpu on ARM): Preserve the canonical cpu name
7671 for use in configargs.h. Put the cname in a separate variable. Use
7672 that to set target_cpu_default2.
7673
c0311627
R
76742004-09-01 J"orn Rennecke <joern.rennecke@superh.com>
7675 Nick Clifton <nickc@redhat.com>
7676
7677 * config/sh/sh.md ("length"): Increase branch length when
7678 SH1 pic code to 18: 12 bytes of instructions, 4 byte for the
7679 constant, 2 byte for aligning the constant.
7680
d98a72fd
RE
76812004-09-01 Richard Earnshaw <rearnsha@arm.com>
7682
7683 * arm/arm-cores.def (ARM_CORE): Add new field for the real name of the
7684 CPU.
7685 (arm7tdmi-s): New CPU name.
7686 * arm/arm.c (ARM_CORE): Update for new format.
7687 * arm/arm.h (ARM_CORE): Likewise.
7688 * arm/gentune.sh: Update for extra field.
7689 * config.gcc: Likewise.
7690 * arm/arm-tune.md: Regenerate.
7691 * doc/invoke.texi: Document the real processor names for ARM cpus.
7692
0a1aa867
RE
76932004-09-01 Richard Earnshaw <rearnsha@arm.com>
7694
7695 * arm/ieee754-df.S (aeabi_ul2d, aeabi_l2d, floatundidf)
7696 (floatdidf): New functions.
7697 * arm/ieee754-sf.S (aeabi_ul2f, aeabi_l2f, floatundisf)
7698 (floatdisf): New functions.
7699 * t-arm-elf: Use them.
7700
bc095846
ZL
77012004-09-01 Ziemowit Laski <zlaski@apple.com>
7702
7703 * c-common.h (lookup_interface): Remove prototype.
7704 (is_class_name): Rename to objc_is_class_name.
7705 (lookup_objc_ivar): Rename to objc_lookup_ivar.
7706 (get_current_scope): Rename to objc_get_current_scope.
7707 * c-decl.c (get_current_scope): Rename to objc_get_current_scope.
7708 * c-parse.in (parmlist_or_identifiers_1): Get rid of unused variable.
7709 (yylexname): Call objc_is_class_name() instead of is_class_name().
7710 * c-typeck.c (build_external_ref): Call objc_lookup_ivar()
7711 instead of lookup_objc_ivar().
7712 * stub-objc.c (lookup_interface): Remove stub.
7713 (is_class_name): Rename to objc_is_class_name.
7714 (lookup_objc_ivar): Rename to objc_lookup_ivar.
7715
14945fe6
MM
77162004-08-31 Mark Mitchell <mark@codesourcery.com>
7717
7718 * config.gcc (arm*-*-symbianelf*): Do not include t-bpabi.
7719 * config/arm/lib1funcs.asm: Do not include supplemental .S files
7720 when compiling for Symbian.
7721 * config/arm/symbian.h (RENAME_LIBRARY): New macro.
7722 (TARGET_OS_CPP_BUILTINS): Likewise.
7723 * config/arm/t-symbian (LIB1ASMFUNCS): Define.
7724
93415288
SS
77252004-08-31 Stan Shebs <shebs@apple.com>
7726
7727 * toplev.c (process_options): Ensure debug_hooks is initialized.
7728
505970fc
MM
77292004-08-31 Mark Mitchell <mark@codesourcery.com>
7730
7731 * target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA.
7732 * target.h (cxx): Add export_class_data.
7733 * config/arm/arm.c (arm_cxx_export_class_data): New function.
7734 (TARGET_CXX_EXPORT_CLASS_DATA): Use it.
dc40803a 7735 * doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Document it.
5906d013 7736
bee9efbc
KK
77372004-08-31 Kaz Kojima <kkojima@gcc.gnu.org>
7738
7739 * config/sh/sh.c (output_branch): Check the insn length possibly
7740 in the delayed slot.
7741
a4e9ffe5
RK
77422004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7743
a0ca8e0c
RK
7744 * tree-pretty-print.c (dump_generic_node, case CONVERT_EXPR): Add
7745 blank after ')'.
7746 (op_symbol, case *_{DIV,MOD}_EXPR): Say what rounding is being used.
7747
a4e9ffe5
RK
7748 * c-common.c (c_alignof_expr): Use DECL_ALIGN_UNIT and TYPE_ALIGN_UNIT.
7749 (c_sizeof_of_alignof_type): Likewise.
7750 * expr.c (array_ref_element_size): Likewise.
7751 (highest_pow2_factor_for_target): Likewise.
7752 * gimplify.c (canonicalize_addr_expr): Likewise.
7753 (gimplify_compound_lval): Likewise.
7754 * stor-layout.c (finalize_record_size, finalize_type_size): Likewise.
7755 * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
7756 * varasm.c (assemble_variable): Likewise.
7757 (output_constant_def_contents): Alignments are unsigned.
7758
631b67ce
RK
77592004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7760 Jeff Law <law@redhat.com>
7761
7762 * tree-cfg.c (cfg_remove_useless_stmts_bb): Also invalidate if VAL
7763 gets modified.
7764
af287697
MM
77652004-08-31 Mark Mitchell <mark@codesourcery.com>
7766
7767 * hooks.c (hook_bool_void_true): New function.
7768 * hooks.h (hook_bool_void_true): Declare.
7769 * target-def.h (TARGET_CXX): Add
7770 TARGET_CXX_KEY_METHOD_MAY_BE_INLINE.
7771 * target.h (struct cxx): Add key_method_may_be_inline.
7772 * config/arm/arm.c (arm_cxx_key_method_may_be_inline): New
7773 function.
7774 (TARGET_CXX_KEY_METHOD_MAY_BE_INLINE): New macro.
7775 * config/arm/bpabi.h: Use __THUMB_INTERWORK__ instead of
7776 __THUMB_INTERWORK.
5906d013 7777
678584fc
DC
77782004-08-31 Denis Chertykov <denisc@overta.ru>
7779
7780 PR target/15417
7781 * config/avr/avr.c (avr_hard_regno_mode_ok): Enable usage of
7782 frame pointer register only in Pmode while reload in progress.
7783
c4c9b76e
SC
77842004-08-31 Stephane Carrez <stcarrez@nerim.fr>
7785
7786 PR target/15334
7787 * config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
7788 because it breaks the 32-bit shift patterns that rely on a match_dup.
7789
c61eceeb
MA
77902004-08-31 Matt Austern <austern@apple.com>
7791
7792 * config/darwin.c (darwin_make_decl_one_only): Allocate section
7793 names once per compilation, instead of once per symbol.
5906d013 7794
71b5d516
PB
77952004-08-31 Paolo Bonzini <bonzini@gnu.org>
7796
7797 * Makefile.in (build_subdir): New substitution.
7798 (fixinc.sh): Simplify heavily since fixincludes is already built.
7799 (stmp-fixinc): Depend on specs.ready.
7800 (install-mkheaders): Use new location of fixincludes.
7801 (clean): Do not descend into fixinc.
7802 (FORBUILD): Replace with ../$(build_subdir).
7803 * configure.ac (build_subdir): Substitute.
7804 (FORBUILD): Do not set.
7805 (all_outputs): Remove fixinc/Makefile.
7806 (default commands): Do not create links in fixinc.
7807 * mkfixinc.sh: New, from fixinc/mkfixinc.sh without
7808 the fixincludes configuration steps and substituting
7809 @FIXINCL@ in fixinc.in.
7810 * fixinc.in: New, from fixinc/fixincl.sh.
7811
7812 * fixinc/*: Removed.
5906d013 7813
f7b0fb68
JM
78142004-08-31 Joseph S. Myers <jsm@polyomino.org.uk>
7815
7816 * attribs.c (strip_attrs): Remove.
7817 (split_specs_attrs): Move ...
7818 * c-decl.c: ... to here.
7819 * tree.h (split_specs_attrs, strip_attrs): Remove.
7820 * c-tree.h (split_specs_attrs): Declare.
7821
f51a38b9
RS
78222004-08-31 Richard Sandiford <rsandifo@redhat.com>
7823
7824 * read-rtl.c: Disable RTL checking.
7825 (apply_macro_to_rtx): Use XTMPL to access 'T' fields.
7826
34ebf755
RS
78272004-08-31 Richard Sandiford <rsandifo@redhat.com>
7828
7829 * config/mips/mips.md (fcond): New code macro and attribute.
7830 (sunordered_[sd]f, suneq_[sd]f, sunlt_[sd]f, sunle_[sd]f)
7831 (seq_[sd]f, slt_[sd]f, sle_[sd]f): Redefine using :SCALARF and fcond.
7832 (sgt_[sd]f, sge_[sd]f): Redefine using :SCALARF.
7833
9b76aa3b
MM
78342004-08-30 Mark Mitchell <mark@codesourcery.com>
7835
7836 Revert:
7837 2004-08-29 Mark Mitchell <mark@codesourcery.com>
7838 PR rtl-optimization/16590
7839 * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
7840
99fa8911
AP
78412004-08-30 Andrew Pinski <apinski@apple.com>
7842
5906d013 7843 * hard-reg-set.h:
992c944c
AP
7844 s/HOST_BITS_PER_WIDES_FAST_INT/HOST_BITS_PER_WIDEST_FAST_INT.
7845 * ChangeLog: Fix previous ChangeLog entry.
7846
99fa8911 7847 PR rtl-opt/13987
5906d013 7848 * config.host (use_long_long_for_widest_fast_int): New, default is
99fa8911
AP
7849 off.
7850 (ia64-*-hpux*): Enable use_long_long_for_widest_fast_int.
7851 * configure.ac: If use_long_long_for_widest_fast_int, then
7852 define USE_LONG_LONG_FOR_WIDEST_FAST_INT.
7853 * configure: Regenerate.
7854 * config.in: Regenerate.
7855 * hwint.h (HOST_WIDEST_FAST_INT, HOST_BITS_PER_WIDEST_FAST_INT):
7856 New: widest integer type supported efficiently in hardware for the
7857 host.
7858 * sbitmap.h (SBITMAP_ELT_BITS): Define based on
7859 HOST_BITS_PER_WIDEST_FAST_INT.
7860 (SBITMAP_ELT_TYPE): Define based on HOST_WIDEST_FAST_INT.
5906d013 7861 * hard-reg-set.h (HARD_REG_ELT_TYPE): Define based on
99fa8911
AP
7862 HOST_WIDEST_FAST_INT
7863 instead of HOST_WIDE_INT.
7864 (HARD_REG_SET_LONGS): Likewise.
7865 (UHOST_BITS_PER_WIDE_INT): Likewise.
7866 Change the checks for the fast cases to be based on
992c944c 7867 HOST_BITS_PER_WIDEST_FAST_INT instead of HOST_BITS_PER_WIDE_INT.
99fa8911 7868
f4c0250b
SB
78692004-08-30 Steven Bosscher <stevenb@suse.de>
7870
7871 * cfgcleanup.c (merge_memattrs): Look at the value of MEM_SIZE,
7872 not the pointers.
7873
ff164b22
GK
78742004-08-30 Geoffrey Keating <geoffk@apple.com>
7875
7876 PR 12738
7877 PR 17205
7878 Radar 3460526
7879 Radar 3775729
7880 * c-decl.c (grokdeclarator): Produce error for 'static' on local
7881 function declaration.
7882
bc482be4
RH
78832004-08-30 Richard Henderson <rth@redhat.com>
7884
7885 * expr.c (array_ref_element_size): Force aligned_size back to
7886 sizetype.
7887 (component_ref_field_offset): Similarly for aligned_offset.
7888 * tree.c (recompute_tree_invarant_for_addr_expr): Mark raw
7889 low-bound, element-size, field-offset fields rather than
7890 computed values.
7891
21611613
JM
78922004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
7893
7894 * c-parse.in (parmlist_or_identifiers_1): Remove unreachable and
7895 redundant code.
7896
7b112487
JM
78972004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
7898
7899 * c-tree.h (struct language_function): Add arg_info element.
7900 * c-decl.c (current_function_arg_info): New.
7901 (grokdeclarator, store_parm_decls): Use it instead of
7902 DECL_ARGUMENTS.
7903 (c_push_function_context, c_pop_function_context): Save and
7904 restore it.
7905
5cc200fc
RH
79062004-08-30 Richard Henderson <rth@redhat.com>
7907
5906d013 7908 * c-typeck.c (build_unary_op): Don't expand ADDR_EXPR of a
5cc200fc
RH
7909 COMPONENT_REF to pointer arithmetic.
7910 * varasm.c (initializer_constant_valid_p): Allow "&(*c).f", for
7911 constant "c" as a valid constant initializer. Allow narrowing of
7912 differences against the same base object, for any base object.
7913
6377bb9a
RH
79142004-08-30 Richard Henderson <rth@redhat.com>
7915
7916 * expr.c (expand_expr_addr_expr): New.
7917 (expand_expr_real_1) <case ADDR_EXPR>: Use it.
7918
308cd611
RS
79192004-08-30 Richard Sandiford <rsandifo@redhat.com>
7920
7921 * config/mips/mips.c (MIPS_FP_CONDITIONS): New macro.
7922 (mips_fp_condition): New enum.
7923 (mips_fp_conditions): New array.
7924 (print_fcc_operand): Delete.
7925 (print_operand): Remove %V, %v and %Q. Redefine %Z so that it prints
7926 the operand and comma if and only if ISA_HAS_8CC. Add %Y.
7927 (builtin_description): Add "cond" field.
7928 (DIRECT_BUILTIN): Initialize it.
7929 (CMP_{SCALAR,PS,4S}_BUILTINS, MOVTF_BUILTINS): Split INSN parameter
7930 into INSN and CODE. Initialize the "cond" field.
7931 (CMP_BUILTINS): Update accordingly.
7932 (mips_bdesc): Use MIPS_FP_CONDITIONS to invoke CMP_BUILTINS.
7933 (mips_expand_builtin_movtf, mips_expand_builtin_compare): Take the
7934 mips_fp_condition as argument. Make it the final operand of the
7935 comparison instruction.
7936 (mips_expand_builtin): Update accordingly.
7937 * config/mips/mips.md (UNSPEC_C_*, UNSPEC_CABS_*): Delete.
7938 (UNSPEC_C, UNSPEC_CABS): New constants. Shuffle others to fill
7939 the gaps.
7940 * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps, bc1any[24][ft]):
7941 Don't use the 'Q' operand prefix; just print the operand normally.
7942 (mips_cabs_*, mips_c_*): Delete, replacing with...
7943 (mips_c_cond_{ps,4s}, mips_cabs_cond_{s,d,ps,4s}): ...these new
7944 patterns. Split the 4s versions into 2 ps patterns after reload.
7945
88f19756
RH
79462004-08-30 Richard Henderson <rth@redhat.com>
7947
7948 * fold-const.c (tree_expr_nonzero_p): Use get_base_address before
7949 assuming an ADDR_EXPR is non-null.
7950
70008293
JM
79512004-08-30 Jason Merrill <jason@redhat.com>
7952
d92a3b38 7953 * gthr-posix.h, gthr-dce.h: Add #pragma weaks.
70008293 7954
8ce16ed6
NS
79552004-08-30 Nathan Sidwell <nathan@codesourcery.com>
7956
7957 * alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset,
7958 record_set, rtx_equal_for_memref_p, init_alias_analysis): Use
7959 gcc_assert and gcc_unreachable instead of abort.
7960 * alloc-pool.c (abort, fancy_abort): Remove.
7961 (create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use
7962 gcc_assert or gcc_unreachable.
7963 * attribs.c (init_attributes, decl_attributes): Likewise.
7964 * bb-reorder.c (FREE, find_traces_1_round, copy_bb,
7965 mark_bb_for_unlikely_executed_section,
7966 add_labels_and_missing_jumps, fix_crossing_conditional_branches,
7967 fix_crossing_unconditional_branches): Likewise.
7968 * bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit,
7969 bitmap_operation): Likewise.
7970 * bt-load.c (insn_sets_btr_p, augment_live_range,
7971 move_btr_def): Likewise.
7972 * builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size,
7973 apply_result_size, expand_builtin_apply, expand_builtin_mathfn,
7974 expand_builtin_mathfn_2, expand_builtin_mathfn_3,
7975 builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy,
7976 expand_builtin_memcmp, expand_builtin_args_info,
7977 std_gimplify_va_arg_expr, expand_builtin_unop,
7978 expand_builtin_fputs, expand_builtin_profile_func,
7979 expand_builtin_fork_or_exec, fold_builtin_bitop,
7980 fold_builtin_classify, fold_builtin_fputs): Likewise.
7981
fc6633e0
NS
79822004-08-30 Nathan Sidwell <nathan@codesourcery.com>
7983
e0448193
NS
7984 * gcov-io.c (GCOV_CHECK): Use gcc_assert when available.
7985 * gcov.c (abort): Remove undef.
7986
fc6633e0
NS
7987 * tree.h (BINFO_PRIMARY_BASE_OF): Remove.
7988 (struct tree_binfo): Remove primary field.
7989
89b8abbf
PB
79902004-08-30 Paolo Bonzini <bonzini@gnu.org>
7991
7992 * fixinc/Makefile.in (machname.h): Remove.
7993 (fixincl.x): Do not pass $@ to genfixes.
7994 * fixinc/genfixes: Remove code to produce machname.h.
7995 * fixinc/fixincl.sh: Move it here instead.
7996 * fixinc/fixlib.c: Do not conditionalize on MN_NAME_PAT's presence,
7997 instead check if pz_mn_name_pat is NULL. Make mn_get_regexps
7998 return a bool indicating whether pz_mn_name_pat is NULL.
7999 * fixinc/fixlib.h: Do not conditionalize on MN_NAME_PAT's presence.
8000 Declare extern C variables for the ENV_TABLE.
8001 * fixinc/fixfixes.c: Do not conditionalize on MN_NAME_PAT's presence,
8002 instead use the result of mn_get_regexps.
8003 * fixinc/fixtests.c: Likewise.
8004
39880d37
PB
80052004-08-30 Paolo Bonzini <bonzini@gnu.org>
8006
8007 * configure.ac: Do not run fixincludes after stage1 during
8008 toplevel bootstrap.
8009 * configure: Regenerate.
8010
a8b3643c
RE
80112004-08-30 Richard Earnshaw <rearnsha@arm.com>
8012
8013 * sched-deps.c (get_condition): Partially revert previous, by never
8014 trying to extract the condition from a condjump.
8015
fc6633e0
NS
80162004-08-30 Nathan Sidwell <nathan@codesourcery.com>
8017
8018 * c-common.c (c_sizeof_or_alignof_type): Use gcc_assert.
8019 (handle_visibility_attribute, c_determine_visibility): Likewise.
8020 * c-common.h (my_friendly_assert): Remove.
8021
afa396ff
RS
80222004-08-30 Richard Sandiford <rsandifo@redhat.com>
8023
8024 * config/mips/mips.md (UNSPEC_{RSQRT,RECIP}[12]_{S,D,PS}): Delete.
8025 (UNSPEC_{RSQRT,RECIP}[12]): New constants.
8026 (UNSPEC_MOVE_TF_PS): Renumber to avoid gaps.
8027 * config/mips/mips-ps-3d.md (*movcc_v2sf_[sd]i): Use :GPR.
8028 (mips_{rsqrt,recip}[12]_{s,d,ps}): Use :ANYF.
8029
ef6379fd
DN
80302004-08-30 Diego Novillo <dnovillo@redhat.com>
8031
8032 * tree-pretty-print.c (dump_generic_node): Handle VALUE_HANDLE
8033 in COMPONENT_REF nodes.
8034
7783b402
GDR
80352004-08-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
8036
8037 PR c++/15378
8038 * c-opts.c (c_common_handle_option): <case OPT_Werror> set
8039 global_dc->warning_as_error_requested.
8040 * diagnostic.c (diagnostic_initialize): Tidy.
8041 * diagnostic.h (diagnostic_context::x_data): Remove
8042 (diagnostic_context::issue_warnings_are_errors_message): Rename
8043 from warnings_are_errors_message.
8044 (diagnostic_context::warning_as_error_requested): New.
8045
adf968c7
RE
80462004-08-30 Richard Earnshaw <rearnsha@arm.com>
8047
8048 * sched-deps.c (get_condition): Fix breakage in previous patch.
8049
999f4d5e
PB
80502004-08-30 Paul Brook <paul@codesourcery.com>
8051
8052 * doc/install.texi: Fix broken mpfr link.
8053
5a0c2304
DB
80542004-08-29 David O'Brien <obrien@FreeBSD.org>
8055
8056 * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
8057 other FreeBSD platforms.
8058
880873be
RE
80592004-08-29 Richard Earnshaw <rearnsha@arm.com>
8060
8061 * arm.h (REVERSE_CONDITION): Define.
8062 (REVERSIBLE_CC_MODE): All comparisons are now reversible.
8063
15dce812
RE
80642004-08-29 Richard Earnshaw <rearnsha@arm.com>
8065
8066 * flow.c (REVERSE_CONDEXEC_PREDICATES_P): Use the whole comparison, not
8067 just the codes, call reversed_comparison_code ().
8068 (ior_reg_cond): Update arguments to REVERSE_CONDEXEC_PREDICATES_P.
8069 (not_reg_cond): Use reversed_comparison_code.
8070 (and_reg_cond): Likewise.
8071 * ifcvt.c (cond_exec_process_if_block): Likewise.
8072 * doc/tm.texi (REVERSE_CONDEXEC_PREDICATES_P): Update documentation.
8073
6903ecd4
RE
80742004-08-29 Richard Earnshaw <rearnsha@arm.com>
8075
8076 * sched-deps.c (get_condition): Rewrite using jump support functions.
8077 Use reversed_comparison_code.
8078 (conditions_mutex_p): Use reversed_comparison_code.
8079
ea9bfbf2
RS
80802004-08-29 Richard Sandiford <rsandifo@redhat.com>
8081
8082 * config/mips/mips.c (override_options): Disable hot/cold partitioning
8083 for MIPS16.
8084
4ca1f68f
RS
80852004-08-29 Richard Sandiford <rsandifo@redhat.com>
8086
8087 * config/mips/mips.h (mips_builtins, mips_cmp_choice): Delete.
8088 (mips_function_type): Move to mips.c.
8089 * config/mips/mips.c (mips_builtin_type): New enum.
8090 (builtin_description): Replace code and ftype with builtin_type
8091 and function_type.
8092 (DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS, CMP_4S_BUILTINS)
8093 (MOVTF_BUILTINS, CMP_BUILTINS): New macros.
8094 (CODE_FOR_mips_abs_ps): Define.
8095 (mips_bdesc): Use new macros.
8096 (mips_expand_builtin): Use builtin_type. Update calls to subroutines.
8097 (mips_init_builtins): Use the mips_bdesc[] index as the function code.
8098 (mips_expand_builtin_direct): New function.
8099 (mips_expand_builtin_movtf): Renamed from mips_expand_ps_cond_move_
8100 builtin. Replace boolean parameter with builtin_type.
8101 (mips_expand_compare_builtin, mips_expand_scalar_compare_builtin)
8102 (mips_expand_4s_compare_builtin): Delete, replacing with...
8103 (mips_expand_builtin_compare): ...this new function.
8104
5e9f78cc
MM
81052004-08-29 Mark Mitchell <mark@codesourcery.com>
8106
8107 PR rtl-optimization/16590
8108 * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
8109
766ff1b1
DN
81102004-08-29 Diego Novillo <dnovillo@redhat.com>
8111
8112 * tree-ssa-ccp.c (ccp_visit_stmt): Remove #if 0 guards.
8113 * tree-ssa-propagate.c: Fix documentation.
8114
2435c4c1
RS
81152004-08-29 Richard Sandiford <rsandifo@redhat.com>
8116
8117 * config/mips/mips.md (*mov[sd]f_on_*): Redefine using :SCALARF.
8118 (mov[sd]fcc): Likewise.
8119
53d9ac3b
RS
81202004-08-29 Richard Sandiford <rsandifo@redhat.com>
8121
8122 * config/mips/mips.md (cmp[sd]f): Redefine using :SCALARF.
8123
93898c8b
RS
81242004-08-29 Richard Sandiford <rsandifo@redhat.com>
8125
8126 * config/mips/mips.md (divide_condition): New mode attribute.
8127 (div[sd]f3, *div[sd]f3): Use it. Redefine using :SCALARF.
8128 (sqrt[sd]f3): Redefine using SCALARF.
8129 (*recip[sd]f3, *rsqrt<mode>[ab]): Likewise. Name formerly unnamed
8130 patterns.
8131
aae0609c
RS
81322004-08-29 Richard Sandiford <rsandifo@redhat.com>
8133
8134 * config/mips/mips.md (ANYF, SCALARF): New mode macros.
8135 (loadx, storex, fmt, UNITMODE): New mode attributes.
8136 (add{sf,df,v2sf}3, sub{sf,df,v2sf}3): Redefine using :ANYF.
8137 (mul[sd]f3): Redefine using :SCALARF.
8138 (*mul[sd]f3): Renamed from mul[sd]f3_internal. Use :SCALARF.
8139 (*mul[sd]3_r4300): Likewise mul[sd]f3_r4300.
8140 (*m{add,sub}{sf,df,v2sf}3): Name formerly unnamed patterns. Use :ANYF.
8141 Check TARGET_FUSED_MADD for V2SF too.
8142 (*nm{add,sub}{sf,df,v2sf}3{,_fastmath}): Likewise, except v2sf patterns
8143 were already named.
8144 (abs{sf,df,v2sf}3, neg{sf,df,v2sf}3): Redefine using :ANYF.
8145 (*[sl][wd]xc1_[sd]i): Redefine using :ANYF.
8146
74fc61d1
RS
81472004-08-29 Richard Sandiford <rsandifo@redhat.com>
8148
8149 * config/mips/mips.c (mips_init_builtins): Simplify. Only create
8150 V2SF_type_node if it will be needed.
8151
ff55fb9c
RS
81522004-08-29 Richard Sandiford <rsandifo@redhat.com>
8153
8154 * config/mips/mips.h (MIPS_CMP_MOVT, MIPS_CMP_MOVF): Delete.
8155 * config/mips/mips.c (mips_prepare_builtin_arg): New function.
8156 (mips_prepare_builtin_target): New function.
8157 (mips_expand_builtin): Use them. Update calls to subroutines.
8158 (mips_expand_ps_cond_move_builtin): Use the new functions. Replace
8159 cmp_choice with a boolean argument to select between movt and movf.
8160 Take the comparison's icode as an argument, not the function's fcode.
8161 (mips_expand_compare_builtin): New function. Rename existing function
8162 to mips_expand_scalar_compare_builtin.
8163 (mips_expand_scalar_compare_builtin, mips_expand_4s_compare_builtin)
8164 (mips_expand_ps_compare_builtin): Use the new functions. Take the
8165 comparison's icode as an argument, not the builtin's fcode.
8166
f691c4e3
RS
81672004-08-29 Richard Sandiford <rsandifo@redhat.com>
8168
8169 * config/mips/mips.c (print_operand): Remove '%Y' and '%y'.
8170 (mips_expand_4s_compare_builtin): Redefine CCV4 to be 0 if all
8171 registers are false and -1 if all registers are true.
8172 (mips_expand_ps_compare_builtin): Likewise CCV2. Use subregs for
8173 MIPS_CMP_UPPER and MIPS_CMP_LOWER.
8174 * config/mips/mips.md (mips_cond_move_tf_ps): Use %Q rather than %y.
8175 (bc1any4t, bc1any4f): Adjust for new CCV4 interpretation.
8176 (bc1any2t, bc1any2f): Likewise CCV2.
8177 (bc1upper2t, bc1lower2t, bc1upper2f, bc1lower2f): Delete.
8178
49135706
RS
81792004-08-29 Richard Sandiford <rsandifo@redhat.com>
8180
8181 * config/mips/mips.md (UNSPEC_MOVE_TF_PS): New.
8182 * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps): Express as an
8183 UNSPEC rather than an IF_THEN_ELSE.
8184 * config/mips/mips.c (mips_expand_ps_cond_move_builtin): Emit
8185 mips_cond_move_tf_ps by name.
8186
06a4ab70
CF
81872004-08-29 Chao-ying Fu <fu@mips.com>
8188 James E Wilson <wilson@specifixinc.com>
5906d013 8189
06a4ab70
CF
8190 * config/mips/mips-modes.def (V2SF, CCV2, CCV4): New modes. Give CCV2
8191 8 byte size and alignment. Give CCV4 16 byte size and alignment.
8192 * config/mips/mips-ps-3d.md: New file.
8193 * config/mips/mips.c (TARGET_VECTOR_MODE_SUPPORTED_P,
8194 TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
8195 (mips_const_insns): Handle CONST_VECTOR the same as CONST_DOUBLE.
8196 (mips_output_move): Emit "mov.ps" for V2SFmode.
8197 (mips_arg_info): Add checks for VECTOR_FLOAT_TYPE_P and
8198 MODE_VECTOR_FLOAT.
8199 (override_options): Check if TARGET_MIPS3D and there was an explicit
8200 !TARGET_PAIRED_SINGLE_FLOAT. Set MASK_PAIRED_SINGLE, if TARGET_MIPS3D.
8201 Check if TARGET_FLOAT64 and TARGET_HARD_FLOAT are both true, when
8202 TARGET_PAIRED_SINGLE_FLOAT is true. Check if the ISA supports
8203 TARGET_PAIRED_SINGLE_FLOAT. Allow MODE_VECTOR_FLOAT in fp registers,
8204 and allow CCV2 and CCV4 to occupy two and four CC registers.
8205 (print_fcc_operand): New function.
8206 (print_operand): Add %Y, %y, %V, %v, %Q for CCV2, CCV4, CC. Modify
8207 %Z to call print_fcc_operand.
8208 (mips_function_value): Handle MODE_VECTOR_FLOAT.
8209 (mips_class_max_nregs): Check for ST_REGS, and handle CCmodes.
8210 (mips_vector_mode_supported_p): New function.
8211 (mips_hard_regno_nregs): Check for ST_REG_P, and handle CCmodes.
8212 (builtin_description): New struct.
8213 (mips_bdesc): New array of struct builtin_description.
8214 (mips_expand_builtin, mips_init_builtins,
8215 mips_expand_ps_cond_move_builtin, mips_expand_4s_compare_builtin,
8216 mips_expand_compare_builtin, mips_expand_ps_compare_builtin): New
8217 functions.
8218 * config/mips/mips.h (MASK_PAIRED_SINGLE, MASK_MIPS3D): New defines.
8219 (TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D): New defines.
8220 (TARGET_CPU_CPP_BUILTINS): Add __mips_paired_single_float.
8221 (TARGET_SWITCHES): Added "-mpaired-single", "-mno-paired-single",
8222 "-mips3d", and "-mno-mips3d".
8223 (ASM_SPEC): Map -mips3d to -mips3d in gas.
8224 (EXTRA_CONSTRAINT_Y): New macro.
8225 (EXTRA_CONSTRAINT_STR): Renamed from EXTRA_CONSTRAINT. Add new
8226 multi-letter constraint 'Y'.
8227 (CONSTRAINT_LEN): New macro.
8228 (enum mips_builtins): New for MIPS builtin functions.
8229 (enum mips_function_type): New for the types of MIPS builtin functions.
8230 (enum mips_cmp_choice): New for the MIPS comparison builtin functions.
5906d013 8231 * config/mips/mips.md: New constants for paired single and MIPS-3D
06a4ab70
CF
8232 instructions. Include the new mips-ps-3d.md file.
8233 (addv2sf3, subv2sf3, mulv2sf3, absv2sf2, negv2sf2, movv2sf,
8234 movv2sf_hardfloat_64bit): New named patterns.
8235 (madd.ps, msub.ps, nmaddv2sf, nmaddv2sf_fastmath, nmsubv2sf,
8236 nmsubv2sf_fastmath, ldxc1_v2sf_si, ldxc1_v2sf_di, sdxc1_v2sf_si,
8237 sdxc1_v2sf_di): New unnamed patterns.
8238 * config/mips/predicates.md (const_0_operand, const_1_operand): Add
8239 const_vector support.
8240 (const_0_or_1_operand): New predicate.
8241 * doc/invoke.texi (MIPS Options): Add -mpaired-single and -mips3d.
8242
750628d8
DN
82432004-08-29 Diego Novillo <dnovillo@redhat.com>
8244
8245 * Makefile.in (OBJS-common): Add tree-ssa-propagate.o
8246 (tree-ssa-propagate.o): New rule.
8247 (GTFILES): Add tree-ssa-propagate.c.
8248 * tree-flow.h (struct stmt_ann_d): Remove field
8249 in_ccp_worklist.
8250 * tree-ssa-propagate.c: New file.
8251 * tree-ssa-propagate.h: New file.
8252 * tree-ssa-ccp.c: Re-write to use the routines from
8253 tree-ssa-propagate.c.
8254
f108270b
AP
82552004-08-28 Andrew Pinski <apinski@apple.com>
8256
8257 * tree-ssa-loop.c: Remove extra include of basic-block.h.
8258
e5a002e3
ZL
82592004-08-28 Ziemowit Laski <zlaski@apple.com>
8260
8261 * c-common.h: Update comments about ObjC/ObjC++ entry points.
8262 (objc_is_reserved_word): New prototype.
8263 (get_current_scope, objc_mark_locals_volatile): Move prototypes to
8264 separate section; these are call-backs.
8265 * c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect
8266 ObjC/ObjC++ "@" keywords.
8267 * c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove
8268 prototypes; they already live in c-common.h.
8269 * stub-objc.c: Update copyright notice.
8270 (objc_is_reserved_word): New stub.
8271
2c46a62f
NS
82722004-08-28 Nathan Sidwell <nathan@codesourcery.com>
8273
8274 * system.h (gcc_assert): Remove __builtin_expect. Evaluate EXPR
8275 even when not checking.
8276
40aac948
JM
82772004-08-27 Jason Merrill <jason@redhat.com>
8278
8279 PR c++/13684
8280 * gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
8281 (gimple_push_cleanup): Add eh_only parm.
8282 (gimplify_target_expr): Pass it.
8283 * c.opt (-fno-threadsafe-statics): New option.
8284 * c-opts.c (c_common_handle_option): Handle it.
8285 * c-common.h (flag_threadsafe_statics): Declare it.
8286 * c-common.c (flag_threadsafe_statics): Record it.
8287 * doc/invoke.texi: Document it.
8288 * tsystem.h (_GNU_SOURCE): Define.
8289 * gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
8290 (__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
8291 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
8292 (__gthread_recursive_mutex_init_function): New fn.
8293 (__gthread_recursive_mutex_lock): New fn.
8294 (__gthread_recursive_mutex_trylock): New fn.
8295 (__gthread_recursive_mutex_unlock): New fn.
8296 * gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
8297 * gthr-win32.h, gthr-vxworks.h: Likewise.
8298 * gthr.h: Document.
8299
1494c534
DE
83002004-08-27 David Edelsohn <edelsohn@gnu.org>
8301
8302 * config/rs6000/rs6000.c (rs6000_override_options): Increase
8303 maximum skip to 15. Set function alignment, jump alignment, and
8304 loop alignment to 16 for processors that form dispatch groups.
03e9c50a 8305 (rs6000_rtx_costs): outer_code is used.
1494c534 8306
ce552f75
NS
83072004-08-27 Nathan Sidwell <nathan@codesourcery.com>
8308
e3861d2a
NS
8309 * stor-layout.c (sizetype_set): Remove.
8310 (set_sizetype): Don't test or set it.
8311
ce552f75
NS
8312 * tree.h (size_int_type): Remove.
8313 * fold-const.c: Do not #include gt-fold-const.h.
8314 (size_htab_hash, size_htab_eq): Remove.
8315 (size_int_kind): Use build_int_cst.
8316 (new_const, size_htab): Remove.
8317 (size_int_type): Remove.
8318 (round_up): Use build_int_cst.
8319 (round_down): Likewise. Remove spurious constant build.
8320
06c37c96
NS
83212004-08-27 Nathan Sidwell <nathan@codesourcery.com>
8322
8323 * configure.ac: Add ENABLE_ASSERT_CHECKING control.
8324 Add is_release variable, use it for --enable-werror and
8325 --enable-checking defaults.
8326 * system.h (gcc_assert, gcc_unreachable): New.
8327 * doc/install.texi (--enable-checking): Update.
8328 * configure, config.in: Rebuilt.
8329
57406c63
RS
83302004-08-26 Richard Sandiford <rsandifo@redhat.com>
8331
8332 * rtl.h (read_rtx): Change prototype.
8333 * read-rtl.c (read_rtx): Provide the caller with both an rtx and a
8334 line number. Return true on success.
8335 * gensupport.c (process_include, init_md_reader_args_cb): Adjust
8336 callers accordingly.
8337
ee8a6a3e
RH
83382004-08-26 Richard Henderson <rth@redhat.com>
8339
8340 * c-typeck.c (build_offsetof): Remove.
8341 * c-tree.h (build_offsetof): Remove.
8342 * c-common.c (fold_offsetof_1, fold_offsetof): New.
8343 * c-common.h (fold_offsetof): Declare.
8344 * c-parse.in (offsetof_base): New.
8345 (offsetof_member_designator): Use it. Build references, not just
8346 a tree list.
8347 (primary): Use fold_offsetof, not build_offsetof.
8348
525c6bf5
RH
83492004-08-26 Richard Henderson <rth@redhat.com>
8350
8351 * tree.c (staticp): Return the static object.
8352 * tree.h (staticp): Update decl.
8353 * langhooks.h (struct lang_hooks): Change staticp return type to tree.
8354 * langhooks.c (lhd_staticp): Return NULL_TREE.
8355 * langhooks-def.h (lhd_staticp): Update decl.
8356 * c-common.c (c_staticp): Return the static object.
8357 * c-common.h (c_staticp): Update decl.
8358
d416c0b3
RH
83592004-08-26 Richard Henderson <rth@redhat.com>
8360
8361 * config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
8362 modes.
8363
0b410f0b
JM
83642004-08-26 Joseph S. Myers <jsm@polyomino.org.uk>
8365
8366 PR c/13801
8367 * c-decl.c (struct c_binding): Add type and inner_comp fields.
8368 (bind): Set type and inner_comp fields.
8369 (pop_scope): Restore type of decl to the correct type from an
8370 outer scope. Give error when popping file scope for incomplete
8371 arrays completed incompatibly with default initialization in an
8372 inner scope.
8373 (diagnose_mismatched_decls): Handle externs with initializers at
8374 block scope.
8375 (pushdecl): Set type of external declaration at block scope based
8376 only on the visible declarations. Save type when changing the
8377 type of a declaration. Merge an external declaration at block
8378 scope with a visible static declaration at file scope.
8379 (implicitly_declare): Give recycled old declaration the new type
8380 except for incompatible declarations of built-in functions, saving
8381 the old type.
8382
b77c7437
ZL
83832004-08-26 Ziemowit Laski <zlaski@apple.com>
8384
8385 * c-parse.in (OBJC_TYPE_QUAL): New %token for ObjC use.
8386
a228baff
DB
83872004-08-26 Daniel Berlin <dberlin@dberlin.org>
8388
8389 * tree-alias-common.c (gate_pta): New function.
8390 (pass_build_pta): Use it.
8391 (pass_del_pta): Use it.
8392 (delete_alias_vars): Don't check flag_tree_points_to.
8393
2e6c9641
FJ
83942004-08-26 Fariborz Jahanian <fjahanian@apple.com>
8395
5906d013 8396 * config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Added
2e6c9641
FJ
8397 TFmode as additional register mode cloberred by call.
8398
83992004-08-26 Fariborz Jahanian <fjahanian@apple.com>
8400
8401 * config/rs6000/rs6000.c (rs6000_libcall_value): Generate
8402 parallel pattern for library call returning DImode in
8403 mixed mode.
8404
84052004-08-26 Fariborz Jahanian <fjahanian@apple.com>
8406
8407 * config/rs6000/rs6000.c (function_arg): Generate parallel
8408 pattern for more split args.
8409
84102004-08-26 Fariborz Jahanian <fjahanian@apple.com>
8411
8412 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Call
8413 either gen_movdi_di_update or gen_movdi_si_update depending on
8414 target mode.
8415 * config/rs6000/rs6000.md (movdi_update): Changed to movdi_<mode>_update,
8416 to generate two versions.
5906d013 8417
36d59cf7
DB
84182004-08-26 Daniel Berlin <dberlin@dberlin.org>
8419
8420 * Makefile.in (lambda-code.o): New.
8421 (lambda-trans.o): Ditto.
8422 (TREE_DATA_REF_H): Ditto.
8423 (LAMBDA_H): Ditto.
8424 (lambda-mat.o): Use LAMBDA_H.
8425 (tree-data-ref.o): Ditto.
8426 * lambda-code.c: New file. Lambda code generation algorithm.
8427 * lambda-trans.c: Ditto. Lambda transformation matrix support.
8428 * lambda.h: Add lambda loop structures.
8429 Add lambda loopnest structures.
8430 Add lambda body vector structure.
8431 Add lambda linear expression structures.
8432 Add prototypes for functions in new files.
8433 * lambda-mat.c: Include tree.h
8434
84352004-08-26 Daniel Berlin <dberlin@dberlin.org>
5906d013
EC
8436 Sebastian Pop <pop@cri.ensmp.fr>
8437
8438 * tree-data-ref.h: Include lambda.h
36d59cf7 8439 (free_dependence_relation): Declared here.
5906d013 8440 (free_dependence_relations): Ditto.
36d59cf7
DB
8441 (free_data_refs): Ditto.
8442 * tree-data-ref.c (free_dependence_relation): New function.
8443 (free_dependence_relations): Ditto.
8444 (free_data_refs): Ditot.
8445 (analyze_all_data_dependences): Free datarefs and dependence_relations.
8446 (build_classic_dist_vector): Store in the dependence_relations the
8447 information. Each arc in the dependence_relations graph is labelled
8448 with the distance and direction vectors.
8449 (build_classic_dir_vector): Ditto.
8450 (compute_rw_wr_ww_dependences): Renamed again compute_all_dependences.
8451 Now computes again the whole dependence graph including read-read
8452 relations.
8453 (compute_data_dependences_for_loop): Now dependence_relations contains
8454 all the data, and thus it doesn't need to initialize the classic_dir
8455 and classic_dist vectors.
8456 (analyze_all_data_dependences): Adjusted for using the new interface of
8457 compute_data_dependences_for_loop. Remove the statistics dump.
5906d013 8458
a46bbb5a
BW
84592004-08-26 Bob Wilson <bob.wilson@acm.org>
8460
8461 * config/xtensa/xtensa.c (xtensa_ld_opcodes, xtensa_st_opcodes): Delete.
8462 (xtensa_expand_block_move): Update comment.
8463 (override_options): Remove initialization of xtensa_{ld,st}_opcodes.
8464
52351a5e
RE
84652004-08026 Richard Earnshaw <rearnsha@arm.com>
8466
8467 PR target/13506
8468 * toplev.c (crash_signal): If we crashed while emitting
8469 a user asm, then die more gracefully.
8470
b72e46f0
NC
84712004-08-26 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
8472
8473 PR target/17119.
8474 * config/m32r.c (gen_compare): Use reg_or_int16_operand when
8475 checking for a valid constant, regardless of sign.
8476
fd9363bf
RH
84772004-08-25 Richard Henderson <rth@redhat.com>
8478
d416c0b3
RH
8479 PR target/16974
8480 * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
8481 if the constant satisfies add_operand.
fd9363bf 8482
45f413e4 84832004-08-25 Richard Henderson <rth@redhat.com>
5906d013 8484
d416c0b3
RH
8485 PR debug/10695
8486 * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
8487 (alpha_expand_prologue): Handle >32-bit frames. Generate proper
8488 unwind info for >16-bit frames.
45f413e4 8489
7e233208
RK
84902004-08-25 Richard B. Kreckel <richard.kreckel@framatome-anp.com>
8491
8492 PR target/17171
8493 * config/i386/gas.h (ASM_COMMENT_START): Define to "#".
8494
04886dc0
RH
84952004-08-25 Richard Henderson <rth@redhat.com>
8496
d416c0b3
RH
8497 * config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
8498 (TARGET_CANNOT_FORCE_CONST_MEM): New.
04886dc0 8499
aca2bd7c
AM
85002004-08-25 Andrew MacLeod <amacleod@redhat.com>
8501
8502 * doc/tree-ssa.texi: Document new operand iterator.
8503
0423421f
AM
85042004-08-26 Alan Modra <amodra@bigpond.net.au>
8505
8506 PR target/16480
8507 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
8508 on "(mem (symbol_ref ..))" rtl. Look at LO_SUM base regs as well
8509 as PLUS base regs.
8510
e4dc702c
PB
85112005-08-28 Paul Brook <paul@codesourcery.com>
8512
8513 * config/arm/symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to
8514 -mfpu=vfp -march=armv5t
37d5a9a5 8515 * config/arm/t-symbian: Change multilib to mfloat-abi=softfp.
e4dc702c 8516
6dd53648
RH
85172004-08-25 Richard Henderson <rth@redhat.com>
8518
8519 * target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.
8520 * target.h (struct gcc_target): Add scalar_mode_supported_p.
8521 * targhooks.c (default_scalar_mode_supported_p): New.
8522 * targhooks.h (default_scalar_mode_supported_p): Declare.
8523 * doc/tm.texi (TARGET_SCALAR_MODE_SUPPORTED_P): Document.
8524
8525 * c-common.c (handle_mode_attribute): Query scalar_mode_supported_p
8526 before attempting to create types. Tidy.
8527 * expr.c (vector_mode_valid_p): Use scalar_mode_supported_p.
8528
8529 * config/alpha/alpha.c (alpha_scalar_mode_supported_p): New.
8530 (TARGET_SCALAR_MODE_SUPPORTED_P): New.
8531
bab2b22b
RH
85322004-08-25 Richard Henderson <rth@redhat.com>
8533
8534 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
8535 set REAL_MODE_FORMAT for TFmode.
8536
c34be55e
ZL
85372004-08-25 Ziemowit Laski <zlaski@apple.com>
8538
8539 * c-decl.c (grokparm): New function.
8540 * c-tree.h (grokparm): New prototype.
8541
4c124b4c
AM
85422004-08-25 Andrew MacLeod <amacleod@redhat.com>
8543
8544 * tree-ssa-operands.h (struct ssa_operand_iterator_d): New. SSA operand
8545 iterator controlling structure.
8546 (SSA_OP_USE, SSA_OP_DEF, SSA_OP_VUSE, SSA_OP_VMAYUSE, SSA_OP_VMAYDEF,
8547 SSA_OP_VMUSTDEF, SSA_OP_VIRTUAL_USES, SSA_OP_VIRTUAL_DEFS,
8548 SSA_OP_ALL_USES, SSA_OP_ALL_DEFS, SSA_OP_ALL_OPERANDS): New. Operand
8549 iterator flags.
8550 (FOR_EACH_SSA_TREE_OPERAND): New. Iterate over operands as trees.
8551 (FOR_EACH_SSA_USE_OPERAND): New. Iterate over operands as uses.
8552 (FOR_EACH_SSA_DEF_OPERAND): New. Iterate over operands as defs.
8553 (FOR_EACH_SSA_MAYDEF_OPERAND): New. Iterate over V_MAY_DEFs.
5906d013 8554 * tree-ssa-operands.c (NULL_DEF_OPERAND_P, NULL_USE_OPERAND_P): New.
4c124b4c
AM
8555 Empty operand pointers.
8556 * tree-flow-inline.h (op_iter_done): New. Return true if finished.
8557 (op_iter_next_use): New. Return next use_operand_p.
8558 (op_iter_next_def): New. Return next def_operand_p.
8559 (op_iter_next_tree): New. Return next operands as a tree.
8560 (op_iter_init): New. Initialize an iterator structure.
8561 (op_iter_init_use): New. Initialize structure and get the first use.
8562 (op_iter_init_def): New. Initialize structure and get the first def.
8563 (op_iter_init_tree): New. Initialize structure and get the first tree.
8564 (op_iter_next_maydef): New. Return next V_MAY_DEF operands.
5906d013 8565 (op_iter_init_maydef): New. Initialize structure and get the first
4c124b4c
AM
8566 V_MAY_DEF operands.
8567 * tree-cfg.c (tree_duplicate_bb): Use new operand iterator.
5906d013 8568 * tree-dfa.c (compute_immediate_uses_for_stmt,
4c124b4c
AM
8569 redirect_immediate_uses): Use new operand iterator.
8570 (v_may_defs_disappeared_p, v_must_defs_disappeared_p): Delete.
8571 (mark_new_vars_to_rename): Use new operand iterator. Count virtual
8572 operands instead of using *_disappeared_p routines.
8573 * tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites, rewrite_stmt,
8574 ssa_rewrite_stmt): Use new operand iterator.
8575 * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
8576 rewrite_trees): Use new operand iterator.
8577 * tree-pretty-print.c (dump_vops): Use new operand iterator.
8578 * tree-sra.c (mark_all_v_defs): Use new operand iterator.
5906d013 8579 * tree-ssa-alias.c (compute_points_to_and_addr_escape,
4c124b4c 8580 dump_points_to_info): Use new operand iterator.
5906d013
EC
8581 * tree-ssa-ccp.c (cp_lattice_meet, visit_stmt, initialize,
8582 replace_uses_in, replace_vuse_in, likely_value, set_rhs): Use new
4c124b4c 8583 operand iterator.
5906d013 8584 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary,
4c124b4c
AM
8585 propagate_necessity): Use new operand iterator.
8586 * tree-ssa-dom.c (cprop_into_stmt, optimize_stmt): Use operand iterator.
8587 (register_definitions_for_stmt): Use new operand iterator. Take stmt as
8588 a parameter instead of a stmt_ann_t.
8589 * tree-ssa-live.c (create_ssa_var_map, calculate_live_on_entry,
8590 build_tree_conflict_graph): Use new operand iterator.
8591 * tree-ssa-loop-im.c (determine_max_movement, single_reachable_address,
8592 rewrite_mem_refs): Use new operand iterator.
5906d013 8593 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt,
4c124b4c
AM
8594 check_loop_closed_ssa_use): Use new operand iterator.
8595 * tree-ssa.c (verify_ssa, replace_immediate_uses): Use operand iterator.
8596 * tree-ssanames.c (release_defs): Use new operand iterator.
8597 * tree-vectorizer.c (vect_create_data_ref): Use new operand iterator.
8598
4185f1ce
AN
85992004-08-25 Adam Nemet <anemet@lnxw.com>
8600
8601 * tlink.c (initial_cwd): New variable.
8602 (tlink_init): Initialize it.
8603 (recompile_files): Use tlink_execute() instead of system(). Don't
8604 duplicate verbose output of collect_execute. Restore initial_cwd.
8605 Update comment before the function.
8606
700686fa
ZL
86072004-08-25 Ziemowit Laski <zlaski@apple.com>
8608
8609 * c-typeck.c (build_c_cast): In ObjC, always preserve (and silently
8610 accept) a cast from one Objective-C pointer type to another.
8611
7fb654ef
PC
86122004-08-25 Paolo Carlini <pcarlini@suse.de>
8613
8614 * doc/install.texi: Document that libstdc++-v3 requires
8615 now automake 1.9.1.
8616
8e8d5162
CT
86172004-08-25 Caroline Tice <ctice@apple.com>
8618
8619 * bb-reorder.c (partition_hot_cold_basic_blocks): Add more details
8620 to comments at start of function.
8621 * cfgbuild.c (make_edges): Add more details to hot/cold partitioning
8622 comment.
5906d013
EC
8623 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
8624 merge_blocks_move_predecessor_nojumps,
8625 merge_blocks_move_successor_nojumps, merge_blocks_move,
8e8d5162
CT
8626 try_crossjump_to_edge, try_crossjump_bb): Likewise.
8627 * cfglayout.c (fixup_reorder_chain): Likewise.
8628 * cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump,
8629 cfg_layout_can_merge_blocks_p): Likewise.
8630 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
5906d013 8631 * passes.c (rest_of_compilation): Update comments for calling
8e8d5162 8632 optimization that partitions hot/cold basic blocks.
5906d013 8633 * doc/invoke.texi: Update documentation of
8e8d5162 8634 freorder-blocks-and-partition flag.
5906d013 8635
41a21e1d
RS
86362004-08-25 Richard Sandiford <rsandifo@redhat.com>
8637
8638 * config/mips/mips.md (reg): Renamed mode attribute from ccreg.
8639 (*mov*_on_*): Adjust accordingly. Add an explicit MOVECC: prefix.
8640
e5f14571
RS
86412004-08-25 Richard Sandiford <rsandifo@redhat.com>
8642
8643 * config/mips/mips.md (any_shift): New code macro.
8644 (optab, insn): New code attributes.
8645 ({ashl,ashr,lshr}[sd]i3): Redefine using :GPR and any_shift.
8646 Use the standard rather than internal patterns for the MIPS16
8647 double-shift optimization.
8648 (*{ashl,ashr,lshr}[sd]i3): New names for the non-mips16 shift patterns.
8649 Redefine using :GPR and any_shift.
8650 (*{ashl,ashr,lshr}si3_extend): Generalize ashlsi3_internal1_extend
8651 to cover all three shifts.
8652 (*{ashl,ashr,lshr}si3_mips16): New names for the mips16 SImode shifts.
8653 Redefine using any_shift. Use :GPR and any_shift to combine splitters.
8654 (*{ashl,ashr,lshr}di3_mips16): New names for the mips16 DImode shifts.
8655
bbbb79d4
GK
86562004-08-24 Geoffrey Keating <geoffk@apple.com>
8657
8658 * gimplify.c (lookup_tmp_var): Separate temporaries when not
8659 optimizing.
8660
d711cf67
JDA
86612004-08-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8662
8663 PR libstdc++/17005 (fix for HP-UX 11.11)
8664 * config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2.
8665 (hppa*-*-hpux*): Consolidate hppa1.0-*-* code. Rework handling of
5906d013 8666 tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate.
d711cf67
JDA
8667 * config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files.
8668 * config/pa/pa-hpux.h (TARGET_HPUX): Define.
8669 (LINK_SPEC): Handle march=1.0 option.
8670 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
8671 and _XOPEN_SOURCE_EXTENDED for UNIX 95.
8672 (SUBTARGET_OPTIONS): New define.
8673 (LINK_SPEC): Handle march=1.0 option.
8674 (STARTFILE_SPEC): New define.
8675 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
8676 and _XOPEN_SOURCE_EXTENDED for UNIX 95. Additionally, predefine
8677 _INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98.
8678 (SUBTARGET_OPTIONS): New define.
8679 (LINK_SPEC): Handle march=1.0 option.
8680 (STARTFILE_SPEC): New define.
8681 * config/pa/pa.c (override_options): Add code to process -munix= option.
8682 * config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare.
8683 (TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default
8684 defines.
8685 (TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list.
8686 (SUBTARGET_OPTIONS): Provide default define.
8687 * config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1,
8688 STANDARD_STARTFILE_PREFIX_2): New defines.
8689 (STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary.
8690 (ENDFILE_SPEC): Use %O.
8691 * doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas.
8692 Mention issue caused by changing namespace and runtime to UNIX 95/98.
8693 * doc/invoke.texi (HPPA options): Move misplaced text to FRV options.
8694 Document -munix=std option.
8695
5affca01
SB
86962004-08-25 Steven Bosscher <stevenb@suse.de>
8697
8698 * cse.c (cse_around_loop, cse_check_loop_start,
8699 cse_set_around_loop): Remove.
8700 (cse_basic_block): Remove the around_loop argument.
8701 (cse_end_of_basic_block): Remove the after_loop argument.
8702 (cse_main): Likewise.
8703 * rtl.h (cse_main): Update prototype.
8704 * passes.c (rest_of_handle_cse, rest_of_handle_cse2,
8705 rest_of_handle_gcse): Update cse_main calls.
8706
7d60be94
NS
87072004-08-25 Nathan Sidwell <nathan@codesourcery.com>
8708
8709 * tree.h (build_int_cst): New, sign extended constant.
8710 (build_int_cstu): New, zero extended constant.
8711 (build_int_cst_wide): Renamed from build_int_cst.
8712 * tree.c (build_int_cst, build_int_cstu): New.
8713 (build_int_cst_wide): Renamed from build_int_cst.
8714 (make_vector_type, build_common_tree_nodes,
8715 build_common_tree_nodes_2): Adjust build_int_cst calls.
8716 * builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
8717 expand_builtin_strpbrk, expand_builtin_fputs,
8718 build_string_literal, expand_builtin_printf,
8719 expand_builtin_sprintf, fold_builtin_classify_type,
8720 fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
8721 fold_builtin_toascii, fold_builtin_isdigit,
8722 simplify_builtin_strstr, simplify_builtin_strpbrk,
8723 fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
8724 * c-common.c (start_fname_decls, fix_string_type, shorten_compare,
8725 DEF_ATTR_INT): Likewise.
8726 * c-decl.c (complete_array_type, check_bitfield_type_and_width):
8727 Likewise.
8728 * c-lex.c (interpret_integer, lex_charconst): Likewise.
8729 * c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
8730 * c-pretty-print.c (pp_c_integer_constant): Likewise.
8731 * c-typeck.c (really_start_incremental_init, push_init_level,
8732 set_nonincremental_init_from_string): Likewise.
8733 * calls.c (load_register_parameters): Likewise.
8734 convert.c (convert_to_pointer): Likewise.
8735 coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
8736 build_fn_info_type, build_fn_info_value, build_ctr_info_value,
8737 build_gcov_info): Likewise.
8738 * except.c (init_eh, assign_filter_values): Likewise.
8739 * expmed.c (store_fixed_bit_field, extract_bit_field,
8740 extract_fixed_bit_field, extract_split_bit_field, expand_shift,
8741 expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
8742 expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
8743 * expr.c (convert_move, emit_group_load, emit_group_store,
8744 expand_assignment, store_constructor, store_field,
8745 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
8746 fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
8747 invert_truthvalue, optimize_bit_field_compare,
8748 decode_field_reference, all_ones_mask_p, constant_boolean_node,
8749 fold_div_compare, fold, fold_read_from_constant_string,
8750 fold_negate_const, fold_abs_const, fold_not_const, round_up,
8751 round_down): Likewise.
8752 * function.c (assign_parm_setup_block): Likewise.
8753 * stmt.c (shift_return_value, expand_case, estimate_case_costs):
8754 Likewise.
8755 * stor-layout.c (layout_type, initialize_sizetypes,
8756 set_min_and_max_values_for_integral_type): Likewise.
8757 * tree-chrec.c (chrec_fold_multiply_poly_poly,
8758 reset_evolution_in_loop): Likewise.
8759 * tree-chrec.h (build_polynomial_chrec): Likewise.
8760 * tree-complex.c (build_replicated_const): Likewise.
8761 * tree-eh.c (honor_protect_cleanup_actions,
8762 lower_try_finally_onedest, lower_try_finally_copy,
8763 lower_try_finally_switch): Likewise.
8764 * tree-mudflap.c (mf_build_string, mx_register_decls,
8765 mudflap_register_call, mudflap_enqueue_constant): Likewise.
8766 * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
8767 * tree-pretty-print.c (dump_generic_node): Likewise.
8768 * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
8769 Likewise.
8770 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
8771 * tree-ssa-loop-niter.c (number_of_iterations_cond,
8772 loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
8773 Likewise.
8774 * tree-ssa-loop-ivcanon.c (create_canonical_iv,
8775 canonicalize_loop_induction_variables): Likewise.
8776 * tree-vectorizer.c (vect_create_index_for_array_ref,
8777 vect_transform_loop_bound, vect_compute_data_ref_alignment):
8778 Likewise.
8779
8780 * config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
8781 alpha_gimplify_va_arg_1): Likewise.
8782 * config/arm/arm.c (arm_get_cookie_size): Likewise.
8783 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
8784 * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
8785 * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
8786 * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
8787 mips_gimplify_va_arg_expr): Likewise.
8788 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
8789 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
8790 add_compiler_branch_island): Likewise.
8791 * config/s390/s390.c (s390_va_start): Likewise.
8792 * config/sh/sh.c (sh_va_start): Likewise.
8793 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
8794 Likewise.
8795 * config/xtensa/xtensa.c (xtensa_va_start,
8796 xtensa_gimplify_va_arg_expr): Likewise.
5906d013 8797
7d60be94
NS
8798 * objc/objc-act.c (build_objc_string_object,
8799 build_objc_symtab_template, init_def_list, init_objc_symtab,
8800 init_module_descriptor, generate_static_references,
8801 build_selector_translation_table, get_proto_encoding,
8802 build_typed_selector_reference, build_selector_reference,
8803 build_next_objc_exception_stuff,
8804 build_method_prototype_list_template, generate_descriptor_table,
8805 generate_protocols, build_protocol_initializer,
8806 build_ivar_list_template, build_method_list_template,
8807 build_ivar_list_initializer, generate_ivars_list,
8808 generate_dispatch_table, generate_protocol_list,
8809 build_category_initializer, build_shared_structure_initializer,
8810 generate_shared_structures, handle_impent,
8811 generate_objc_image_info): Likewise.
8812
8b63d0e5
PB
88132004-04-25 Paolo Bonzini <bonzini@gnu.org>
8814
8815 * cfglayout.c (duplicate_insn_chain): Remove references to
8816 NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
8817 * cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
8818 * cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
8819 * final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
8820 and NOTE_INSN_LOOP_CONT.
8821 * insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
8822 * jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
8823 and NOTE_INSN_LOOP_CONT.
8824 * loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
8825 check_dbra_loop, loop_dump_aux): Remove references to removed notes
8826 and fields.
8827 * reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
8828 * unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
8829 references to removed notes and fields.
8830 (subtract_reg_term, ujump_to_loop_cont): Remove.
8831
078e3ffe
PB
88322004-08-25 Paolo Bonzini <bonzini@gnu.org>
8833
8b63d0e5 8834 * doc/install.texi: Document that libcpp does not require
078e3ffe
PB
8835 Automake any longer. Document that Automake 1.9.1 should
8836 work everywhere.
8837
f8ca7e49
ZW
88382004-08-25 Zack Weinberg <zack@codesourcery.com>
8839
8840 * flags.h (enum debug_info_type): Remove DWARF_DEBUG.
8841 * defaults.h (PREFERRED_DEBUGGING_TYPE): Remove check for
8842 DWARF_DEBUGGING_INFO from choice-of-definition chain;
8843 restructure using C89 features (#elif, #error).
8844 * c-lex.c, final.c, opts.c, config/cris/cris.c, config/frv/frv.c
8845 * config/sh/sh.h: Remove references to DWARF_DEBUG.
8846 * doc/invoke.texi: Remove references to DWARF version 1;
8847 clarify why -gdwarf-2<n> doesn't work.
8848
51a904c9
ZW
88492004-08-25 Zack Weinberg <zack@codesourcery.com>
8850
8851 * basic-block.h (BB_SET_PARTITION): Clear old value first.
8852 * cfg.c (clear_bb_flags): Don't clear partition setting.
69b9b0d2 8853 * ifcvt.c (find_if_case_1): Remove ??? comment.
51a904c9 8854
e548ead9
AM
88552004-08-25 Alan Modra <amodra@bigpond.net.au>
8856
8857 PR target/17052
8858 * config/rs6000/rs6000.h (machine_function): Remove sysv_varargs_p.
8859 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
8860 current_function_stdarg in place of sysv_varargs_p.
8861 * config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
8862 sysv_varargs_p.
8863
1e19ac74
RH
88642004-08-24 Richard Henderson <rth@redhat.com>
8865
8866 PR target/16298
8867 * config/i386/i386.c (legitimate_constant_p): Rework to not accept
8868 random codes within CONST.
8869
c61225e7
JW
88702004-08-24 James E Wilson <wilson@specifixinc.com>
8871
8872 * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS): Remove
8873 -freorder-blocks-and-partition.
8874
37840132
JDA
88752004-08-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8876
8877 PR middle-end/17044
8878 * tree-ssa-threadupdate.c (redirection_data): Make static.
8879 (thread_block): Use ggc_alloc_cleared to allocate struct
8880 redirection_data. Don't free elements in redirection_data.
8881
cf1d880b
RS
88822004-08-24 Richard Sandiford <rsandifo@redhat.com>
8883
8884 * config/mips/predicates.md (small_data_pattern): Match prefetches.
8885
b3393f1f
ZD
88862004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8887
8888 PR tree-optimization/17016
8889 * tree-ssa-loop-niter.c (number_of_iterations_cond,
8890 number_of_iterations_exit): Use POINTER_TYPE_P instead
8891 of testing for POINTER_TYPE.
8892
82b85a85
ZD
88932004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8894
8895 * tree-ssa-loop-ivcanon.c: New file.
8896 * tree-ssa-loop-manip.c (create_iv): New function.
8897 * Makefile.in (tree-ssa-loop-ivcanon.o): Add.
8898 (tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
8899 * cfgloop.c (mark_single_exit_loops): New function.
8900 (verify_loop_structure): Verify single-exit loops.
8901 * cfgloop.h (struct loop): Add single_exit field.
8902 (LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
8903 (mark_single_exit_loops): Declare.
8904 (tree_num_loop_insns): Declare.
8905 * cfgloopmanip.c (update_single_exits_after_duplication): New function.
8906 (duplicate_loop_to_header_edge): Use it.
8907 * common.opt (fivcanon): New flag.
8908 * timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
8909 * tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
8910 (bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
8911 (bsi_insert_on_edge_immediate): New function.
8912 * tree-flow.h (bsi_insert_on_edge_immediate,
8913 canonicalize_induction_variables, tree_unroll_loops_completely,
8914 create_iv): Declare.
8915 * tree-optimize.c (init_tree_optimization_passes): Add
8916 pass_iv_canon and pass_complete_unroll.
8917 * tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
8918 * tree-scalar-evolution.c (get_loop_exit_condition,
8919 get_exit_conditions_rec, number_of_iterations_in_loop,
8920 scev_initialize): Use single_exit information.
8921 * tree-ssa-loop-niter.c (number_of_iterations_cond): Record
8922 missing assumptions.
8923 (loop_niter_by_eval): Return number of iterations as unsigned
8924 int.
8925 * tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
8926 (tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
8927 tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
8928 New passes.
8929 (tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
8930 * tree-ssanames.c (make_ssa_name): Allow creating ssa name before
8931 the defining statement is ready.
8932 * tree-vectorizer.c (vect_create_iv_simple): Removed.
8933 (vect_create_index_for_array_ref, vect_transform_loop_bound):
8934 Use create_iv.
8935 (vect_transform_loop_bound): Use single_exit information.
8936 (vect_analyze_loop_form): Cleanup bogus tests.
8937 (vectorize_loops): Do not call flow_loop_scan.
8938 * tree.h (may_negate_without_overflow_p): Declare.
8939 * fold-const.c (may_negate_without_overflow_p): Split out from ...
8940 (negate_expr_p): ... this function.
8941 (tree_expr_nonzero_p): Handle overflowed constants correctly.
8942 * doc/invoke.texi (-fivcanon): Document.
8943 * doc/passes.texi: Document canonical induction variable creation.
8944
b3c90666
RS
89452004-08-24 Richard Sandiford <rsandifo@redhat.com>
8946
8947 * config/mips/mips.h (ISA_HAS_INT_CONDMOVE): Delete.
8948 * config/mips/mips.c (print_operand): Fold %B/%b handling into %T/%t,
8949 using the mode of the operand to decide between them.
8950 * config/mips/mips.md (MOVECC): New mode macro.
8951 (ccreg): New mode attribute.
8952 (*mov{si,di,sf,df}_on_{cc,si,di}): Name formerly unnamed patterns.
8953 Redefine using :GPR and :MOVECC. Use %T and %t for the condition.
8954 (mov[sd]icc): Redefine using :GPR.
8955
4767c570
RS
89562004-08-24 Richard Sandiford <rsandifo@redhat.com>
8957
04550232
RS
8958 * config/mips/mips-protos.h (mips_emit_prefetch): Delete.
8959 (mips_prefetch_cookie): New function.
8960 * config/mips/mips.c (print_operand_address): Fix handling of
8961 ADDRESS_CONST_INT.
8962 (mips_emit_prefetch): Delete.
8963 (mips_prefetch_cookie): New function.
8964 * config/mips/mips.md (prefetch): Turn into a define_insn. Use a
8965 mode of QImode for the address_operand. Use mips_prefetch_cookie
8966 to calculate the first "pref" operand.
8967 (prefetch_[sd]i, prefetch_[sd]i_address): Delete.
8968 (prefetch_indexed_[sd]i): Redefine using :P. Use mips_prefetch_cookie.
4767c570 8969
a657c98a
RE
89702004-08-24 Richard Earnshaw <rearnsha@arm.com>
8971
8972 * arm.md: Include predicates.md.
8973 * predicates.md: New file.
8974 * arm.c (s_register_operand, arm_hard_register_operand)
8975 (arm_general_register_operand, f_register_operand, reg_or_int_operand)
8976 (arm_immediate_operand, arm_neg_immediate_operand)
8977 (arm_not_immediate_operand, arm_rhs_operand, arm_rhsm_operand)
8978 (arm_add_operand, arm_addimm_operand, arm_not_operand)
8979 (offsettable_memory_operand, alignable_memory_operand)
8980 (arm_reload_memory_operand, arm_float_rhs_operand)
8981 (arm_float_add_operand, vfp_compare_operand, arm_float_compare_operand)
8982 (index_operand, shiftable_operator, logical_binary_operator)
8983 (shift_operator, equality_operator, arm_comparison_operator)
8984 (minmax_operator, cc_register, dominant_cc_register)
8985 (arm_extendqisi_mem_op, power_of_two_operand, nonimmediate_di_operand)
8986 (di_operand, nonimmediate_soft_df_operand, soft_df_operand)
8987 (const_shift_operand, load_multiple_operation)
8988 (store_multiple_operation, multi_register_push, thumb_cmp_operand)
8989 (thumb_cmpneg_operand, thumb_cbrch_target_operand)
8990 (cirrus_register_operand, cirrus_fp_register)
8991 (cirrus_shift_const): Delete, replaced with equivalents in
8992 predicates.md.
8993 (shift_op): Handle ROTATE.
8994 * arm-protos.h: Delete declarations for above.
8995 * arm.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
8996 * t-arm (MD_INCLUDES): Add predicates.md.
8997 (s-preds): Depends on MD_INCLUDES.
8998
886ce862
RS
89992004-08-24 Richard Sandiford <rsandifo@redhat.com>
9000
9001 * config/mips/mips.c (mips_gen_conditional_trap): Fix mode.
9002 * config/mips/mips.md (*conditional_trap[sd]i): Name previously unnamed
9003 patterns. Redefine using :GPR. Give the match_operator a mode.
9004 Use '%2' rather than '%z2' for operand 2.
9005
be659abd
RS
90062004-08-24 Richard Sandiford <rsandifo@redhat.com>
9007
9008 * config/mips/mips.md (load_call[sd]i): Redefine using :P. Add mode
9009 attribute.
9010
92dcb882
RS
90112004-08-24 Richard Sandiford <rsandifo@redhat.com>
9012
9013 * config/mips/mips.md (indirect_jump): Use force_reg. Adjust names
9014 of internal patterns.
9015 (indirect_jump[sd]i): Renamed from indirect_jump_internal[12].
9016 Redefine using :P.
9017 (tablejump): Use expand_binop to calculate address. Adjust names
9018 of internal patterns.
9019 (tablejump[sd]i): Renamed from tablejump_internal[12].
9020 Redefine using :P.
9021 (tablejump_mips16[12]): Delete.
9022
a0160289
RS
90232004-08-24 Richard Sandiford <rsandifo@redhat.com>
9024
9025 * config/mips/mips.md (*seq_[sd]i, *seq_[sd]i_mips16, *sne_[sd]i)
9026 (*sgt_[sd]i, *sgt_[sd]i_mips16, *sge_[sd]i, *slt_[sd]i)
9027 (*slt_[sd]i_mips16, *sle_[sd]i, *sle_[sd]i_mips16, *sgtu_[sd]i)
9028 (*sgtu_[sd]i_mips16, *sge_[sd]i, *sltu_[sd]i, *sltu_[sd]i_mips16)
9029 (*sleu_[sd]i, *sleu_[sd]i_mips16): Redefine using :GPR.
9030
2c4402f4
RS
90312004-08-24 Richard Sandiford <rsandifo@redhat.com>
9032
9033 * config/mips/mips.md (cmpsi, cmpdi): Redefine using :GPR.
9034 (*branch_zero[sd]i): Renamed from branch_zero{,_di}. Redefine
9035 using :GPR.
9036 (*branch_zero[sd]i_inverted): Likewise branch_zero{,_di}_inverted.
9037 (*branch_equality[sd]i): Likewise branch_equality{,_di}.
9038 (*branch_equality[sd]i_inverted): Likewise
9039 branch_equality{,_di}_inverted.
9040 (*branch_equality[sd]i_mips16): Name formerly unnamed patterns.
9041 Redefine using :GPR.
9042
b5c2f1d1
ZW
90432004-08-24 Zack Weinberg <zack@codesourcery.com>
9044
9045 * rtl.def: Reorganize, placing all codes used only in machine
9046 descriptions at the end.
9047
9e995780
ZW
9048 * rtl.def: Wrap MD-only codes in #ifdef GENERATOR_FILE.
9049 * gengtype.c: Don't include rtl.h. Define enum rtx_code and
9050 rtx_name, rtx_format arrays by direct reference to rtl.def,
9051 first undefining GENERATOR_FILE. Define enum insn_note and
9052 note_insn_name array by direct reference to insn-notes.def.
9053 (adjust_field_rtx_def): Remove local definition of rtx_name.
9054 Use symbolic names for insn notes.
9055 * Makefile.in (gengtype.o): Update dependencies.
9056
076c7ab8
ZW
90572004-08-24 Zack Weinberg <zack@codesourcery.com>
9058
9059 * basic-block.h (struct basic_block_def): Reorder fields to
9060 eliminate interior padding. Remove 'partition' field.
9061 (BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION)
9062 (BB_UNPARTITIONED, BB_PARTITION, BB_SET_PARTITION)
9063 (BB_COPY_PARTITION): New macros.
9064 * bb-reorder.c, cfgcleanup.c, cfglayout.c, cfgrtl.c, ifcvt.c
9065 Replace all references to the 'partition' field of a basic
9066 block with new macros.
9067
9068 * insn-notes.def: Delete NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
9069 * final.c (final_scan_insn): Don't handle it.
9070 * modulo-sched.c: Set BB_DISABLE_SCHEDULE flag on g->bb
9071 instead of emitting a NOTE_INSN_DISABLE_SCHED_OF_BLOCK note.
9072 * sched-rgn.c (sched_is_disabled_for_current_region_p):
9073 Look for a BB_DISABLE_SCHEDULE flag on the block instead of a note.
9074
8c1d6d62
NS
90752004-08-24 Nathan Sidwell <nathan@codesourcery.com>
9076
9077 * c-decl.c (c_init_decl_processing): Adjust
9078 build_common_tree_nodes call.
9079 * expmed.c (const_mult_add_overflow_p): Use
9080 build_distinct_type_copy.
9081 * stor-layout.c (early_type_list): Remove.
9082 (layout_type): Don't append to early_type_list.
9083 (initialize_sizetypes): Add signed_p argument.
9084 (set_sizetype): Overwrite the stub type nodes directly.
9085 * tree.c (copy_node_stat): Clear a type's value cache here ...
9086 (build_distinct_type): ... not here.
9087 (build_common_tree_nodes): Add signed_sizetype argument. Adjust.
9088 * tree.h (initialize_sizetypes): Add signed_p argument.
9089 (build_common_tree_nodes): Likewise.
9090
9091 * objc/objc-act.c (get_static_reference): Use
9092 build_variant_type_copy.
9093 (get_protocol_reference): Likewise.
9094 * objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE.
9095
97dc04b3 90962004-08-24 Richard Henderson <rth@redhat.com>
076c7ab8 9097 Andrew Pinski <apinski@apple.com>
97dc04b3
RH
9098
9099 * gimplify.c (gimplify_array_ref_to_plus): Delete.
9100 (gimplify_addr_expr): Do not call gimplify_array_ref_to_plus
9101 for ARRAY_REF.
9102
9103 * config/rs6000/rs6000.c (altivec_expand_builtin): Go passed
9104 ARRAY_REF also to get to the STRING_CST.
9105
72cdc543
PB
91062004-08-24 Paul Brook <paul@codesourcery.com>
9107
9108 * config/arm/arm.c (arm_override_options): Update error message.
9109 * config/arm/arm.h (TARGET_HARD_FLOAT): Rename to
9110 TARGET_HARD_FLOAT_ABI.
9111 (TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT.
9112 (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI.
9113
bd5ca07e
NC
91142004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
9115
9116 PR target/17093
9117 * config/m32r.md (movsi_sda): Add SI mode specification to
9118 UNSPEC.
9119
91202004-08-24 Nick Clifton <nickc@redhat.com>
9121
9122 * config/m32r/m32r.h (PREDICATE_CODES): Remove duplicate definition
9123 of seth_add3_operand.
9124
d46cd2be
NS
91252004-08-24 Nathan Sidwell <nathan@codesourcery.com>
9126
9127 * Makefile.in (PROTO_OBJS): Add errors.o.
9128 * protoize.c (fancy_abort): Remove.
9129 * mips-tfile.c (fancy_abort): Add parameters.
9130
748fa294
JW
91312004-08-24 Jonathan Wakely <redi@gcc.gnu.org>
9132
9133 * doc/trouble.texi (C++ misunderstandings): Fix example code.
9134
4505f099
AT
91352004-08-24 Andreas Tobler <a.tobler@schweiz.ch>
9136
9137 * Makefile.in (HOOKS_H): Add dependency on MACHMODE_H.
9138 (host-default.o): Add dependency on HOOKS_H.
9139 * config/x-linux: Likewise.
9140 * config/x-solaris: Likewise.
9141 * config/i386/x-mingw32: Likewise.
9142 * config/rs6000/x-darwin: Likewise.
9143
a2fe1975
JW
91442004-08-23 James E Wilson <wilson@specifixinc.com>
9145
9146 * reg-notes.def (REG_NOTE): In comment, change DEF_INSN_NOTE to
9147 DEF_REG_NOTE.
9148
c3f216e2
MM
91492004-08-23 Mark Mitchell <mark@codesourcery.com>
9150
9151 PR c/14492
9152 * dwarf2out.c (loc_descriptor_from_tree): Robustify.
9153
2e6ae27f
DN
91542004-08-23 Diego Novillo <dnovillo@redhat.com>
9155
9156 * cfg.c (check_bb_profile): Fix typos.
9157 * function.c (assign_parm_is_stack_parm): Likewise.
9158 * tree-nested.c: Likewise.
9159
d685c974
DJ
91602004-08-23 Daniel Jacobowitz <dan@debian.org>
9161
9162 * ggc-zone.c (struc alloc_chunk): Rearrange flag bits and SIZE.
9163 Remove TYPECODE.
9164 (ggc_alloc_zone_1): Mark TYPE as unused. Don't save it in the chunk.
9165
f676971a
EC
91662004-08-23 Eric Christopher <echristo@redhat.com>
9167
9168 * defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
9169 * system.h (VECTOR_MODE_SUPPORTED_P): Poison.
9170 * target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
9171 * target.h: Ditto.
9172 * hooks.h: Include machmode.h.
9173 (hook_bool_mode_false): Declare.
9174 * hooks.c (hook_bool_mode_false): Define.
9175 * expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
9176 * stor-layout.c (layout_type): Ditto.
9177 * config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
9178 Define to target macro.
9179 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
9180 * config/arm/arm.c: Ditto. Use.
9181 * config/arm/arm.h: Ditto.
9182 * config/arm/arm-protos.h: Ditto.
9183 * config/i386/i386.c: Ditto.
9184 * config/i386/i386.h: Ditto.
9185 * config/rs6000/rs6000.c: Ditto.
9186 * config/rs6000/rs6000.h: Ditto.
9187 * config/sh/sh.c: Ditto.
9188 * config/sh/sh.h: Ditto.
9189 * config/sh/sh-protos.h: Ditto.
9190 * config/sh/sh.md: Use.
9191 * doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
9192 to TARGET_VECTOR_MODE_SUPPORTED_P.
9193
8dd16ecc
NS
91942004-08-23 Nathan Sidwell <nathan@codesourcery.com>
9195
b3d1f5b4
NS
9196 * Makefile.in (BUILD_ERRORS): Set to build-errors.
9197 (errors.o): New target for host.
9198 (build-errors.o): New target for build.
9199 (genobjs): Replace errors.o with build-errors.
9200 (gengenrtl$(buildexeext)): Add $(BUILD_ERRORS).
9201 (GCOV_OBJS, GCOV_DUMP_OBJS): Add errors.o.
9202 (fix-headers$(build_exeext)): Add $(BUILD_ERRORS).
9203 (fix-header.o): Add errors.h
9204 * collect2.c (fancy_abort): Add parameters.
9205 * collect2.h (fancy_abort): Don't declare.
9206 * errors.h (fancy_abort): Don't declare.
9207 * errors.c: Include either bconfig.h or config.h.
9208 (fancy_abort): Trim filename.
9209 * fix-header.c (v_fatal, fatal): Remove.
9210 (progname): Remove definition.
9211 (main): Set progname here.
9212 * gcc.c (fancy_abort): Add parameters.
9213 * gcc.h (fancy_abort): Remove declaration.
9214 * gcov.c (fancy_abort): Remove.
9215 * rtl.h (fancy_abort): Don't declare.
9216 (abort): Don't define.
9217 * tree.h (fancy_abort): Don't declare.
9218 (abort): Don't define.
9219 * system.h (fancy_abort): Declare.
9220 (abort): Define to fancy_abort.
9221 * fixinc/Makefile.in (ALLOBJ): Add ../build-errors.o
9222
be88a628
NS
9223 * tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE.
9224 (usize_type, ubitsizetype): Remove.
9225 * stor-layout.c (set_sizetype): Don't initialize usizetype,
9226 ubitsizetype.
9227 * fold-const.c (size_diffop): TYPE can never be ubitsizetype.
9228
8dd16ecc
NS
9229 * tree.h (build_distinct_type_copy): New.
9230 (build_type_copy): ... here. Rename to ...
9231 (build_variant_type_copy): ... here.
9232 * tree.c (build_qualified_type): Rename build_type_copy call.
9233 (build_distinct_type_copy): New, broken out of ...
9234 (build_type_copy): ... here. Rename to ...
9235 (build_variant_type_copy): ... here. Use
9236 build_distinct_type_copy.
9237 (build_common_tree_nodes_2): Rename build_type_copy call.
9238 * c-common.c (c_common_nodes_and_builtins): Rename build_type_copy
9239 call.
9240 (handle_packed_attribute, handle_unused_attribute,
9241 handle_transparanet_union_attribute, handle_aligned_attribute,
9242 handle_deprecated_attribute): Likewise.
9243 * c-decl.c (clone_underlying_type, store_parm_decls_oldstyle):
9244 Likewise.
9245 * config/arm/arm.c (arm_handle_isr_attribyte): Likewise.
9246 * config/rs6000/rs6000.c (rs6000_init_builtins): Use
9247 build_distinct_type_copy.
9248
e8bf0f3b
RS
92492004-08-23 Richard Sandiford <rsandifo@redhat.com>
9250
9251 * config/mips/mips.md (mfhilo_[sd]i): Redefine using :GPR. Add mode
9252 attribute.
9253
4d06ed0a
RS
92542004-08-23 Richard Sandiford <rsandifo@redhat.com>
9255
9256 * config/mips/mips.md (length): Don't use mips_fetch_insns for indexed
9257 loads and stores.
9258 (*lwxc1_<mode>, *ldxc1_<mode>, *swxc1_<mode>, *sdxc1_<mode>): Name
9259 formerly unnamed patterns. Redefine using :P for the address. Remove
9260 explicit length attributes.
9261
a3631d97
ZD
92622004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9263
9264 * tree-ssa-loop-im.c (fem_single_reachable_address, for_each_memref):
9265 New functions.
9266 (single_reachable_address): Use them.
9267 (schedule_sm): Add dump.
9268 (is_call_clobbered_ref): New function.
9269 (determine_lsm_reg): Check whether the reference is call clobbered.
9270 Only work for gimple_reg_type values.
9271
b1f58428
RS
92722004-08-23 Richard Sandiford <rsandifo@redhat.com>
9273
9274 * config/mips/mips.md (*mov<mode>_ra): Name previously unnamed MIPS16
9275 $31 store insns. Redefine using :GPR.
9276
237b301e
RS
92772004-08-23 Richard Sandiford <rsandifo@redhat.com>
9278
9279 * config/mips/mips.md (P): New mode macro.
9280 (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i)
9281 (*load_got[sd]i, *low[sd]i, *low[sd]i_mips16): Redefine using :P.
9282 Add mode attributes.
9283
c9081a92
RS
92842004-08-23 Richard Sandiford <rsandifo@redhat.com>
9285
9286 * config/mips/mips.md (UNSPEC_[LS][WD][LR]): Delete in favor of...
9287 (UNSPEC_{LOAD,STORE}_{LEFT,RIGHT}): ...these new constants. Shuffle
9288 later constants to cover the gap.
9289 (load, store): New mode attributes.
9290 (mov_l[wd]l, mov_l[wd]r, mov_s[wd]l, mov_s[wd]r): Redefine using :GPR.
9291 Use new unspec constants.
9292
3d1f285d
RS
92932004-08-23 Richard Sandiford <rsandifo@redhat.com>
9294
9295 * config/mips/mips.md (one_cmpl[sd]i2): Redefine using :GPR.
9296 (and[sd]3, ior[sd]i3, xor[sd]i3): Likewise. Change 32-bit patterns
9297 to use register_operand rather than uns_arith_operand as the predicate
9298 for operand 1. Remove redundant MIPS16 force_reg() for operand 1.
9299 (*and[sd]i3, *ior[sd]i3, *xor[sd]i3): Name formerly unnamed patterns.
9300 Redefine using :GPR. Make same predicate change here. Extend the
9301 commutativity of operands 1 and 2 from the SImode version to the
9302 DImode one.
9303 (*and[sd]i3_mips16, *ior[sd]i3_mips16, *xor[sd]i3_mips16): Likewise,
9304 but with no predicate changes.
9305 (*nor[sd]i3): Redefine using :GPR.
9306
c0e1b12f
ZD
93072004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9308
9309 * tree-ssa-operands.c (get_call_expr_operands): Add VUSE operands for
9310 noreturn functions.
9311
400a9325
RS
93122004-08-23 Richard Sandiford <rsandifo@redhat.com>
9313
9314 * config/mips/mips.h (ISA_HAS_DCLZ_DCLO): Delete.
9315 * config/mips/mips.md (abs[sd]i2): Redefine using :GPR. Only use
9316 branch-likely insns for absdi2 if GENERATE_BRANCHLIKELY. Use "%."
9317 rather than "%z2" (with a fake const0_rtx for operand 2).
9318 (ffs[sd]i2): Redefine using :GPR.
9319 (clz[sd]i2): Likewise. Use ISA_HAS_CLO_CLZ for the 64-bit case.
9320
2222da3a
RS
93212004-08-23 Richard Sandiford <rsandifo@redhat.com>
9322
9323 * config/mips/mips.md ({,u}divmod[sd]i4): Redefine using :GPR.
9324
15ac4ccf
RS
93252004-08-23 Richard Sandiford <rsandifo@redhat.com>
9326
9327 * config/mips/mips.md (any_extend): New code macro.
9328 (u, su): New code attributes.
9329 ({,u}mulsidi3, {,u}mulsidi3_32bit_internal, {,u}mulsidi3_32bit_r4000)
9330 ({u,s}mulsi3_highpart, {u,s}mulsi3_highpart_internal)
9331 ({u,s}mulsi3_highpart_mulhi_internal, {s,u}muldi3_highpart)
9332 (*{s,u}mul_acc_di): Redefine using any_extend.
9333 (*{,u}muls_di, *{s,u}msac_di): Likewise. Change names of patterns
9334 to reflect real insn names.
9335 (*mulsidi3_64bit, *mulsidi3_64bit_parts): Replace use of match_operator
9336 with an any_extend template.
9337 ({u,s}mulsi3_highpart_neg_mulhi_internal): Redefine using any_extend.
9338 Add '*' to name.
9339
d46c971d
RS
93402004-08-23 Richard Sandiford <rsandifo@redhat.com>
9341
9342 * config/mips/mips.h (GENERATE_MULT3_SI): Check TARGET_MAD.
9343 * config/mips/mips.md (mul[sd]i3, mul[sd]i3_internal)
9344 (mul[sd]i3_r4000): Redefine using :GPR.
9345 (mulsi3_mult3): Don't check TARGET_MAD separately.
9346 (muldi3_mult3): Moved after mulsi_mult3.
9347
5811cb27
RS
93482004-08-23 Richard Sandiford <rsandifo@redhat.com>
9349
9350 * config.gcc (mips-*-*): Remove definitions of MASK_GAS and
9351 OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
9352 * config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
9353 (TARGET_GAS, TARGET_MIPS_AS): Delete.
9354 (TARGET_GPWORD): Define to true for n32 on IRIX.
9355 (TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
9356 (MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
9357 (GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
9358 (ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
9359 (MDEBUG_ASM_SPEC): Delete, folding into...
9360 (SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
9361 (ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
9362 (EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
9363 subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
9364 to define asm_abi_default_spec.
9365 (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
9366 (TARGET_ASM_SELECT_SECTION): Delete.
9367 * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
9368 for non-mips16 code, removing previous workaround for SGI assemblers.
9369 (TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
9370 (TARGET_ASM_ALIGNED_DI_OP): Define this instead.
9371 (override_options): Remove !TARGET_GAS and !have_named_sections code.
9372 (print_operand): Fold TARGET_GAS conditionals into asm strings.
9373 (mips_output_filename): Remove !TARGET_GAS code. Replace use of
9374 ASM_STABS_OP and ASM_STABN_OP.
9375 (mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
9376 (mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
9377 (mips_output_function_prologue): Remove !TARGET_GAS code.
9378 (mips_select_rtx_section): Remove !have_named_sections code.
9379 (mips_select_section): Delete.
9380 * config/mips/mips.md (trap): Remove !TARGET_GAS check.
9381 * config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
9382 * config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
9383 (PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
9384 * config/mips/vxworks.h (ASM_SPEC): As for mips.h.
9385 * config/mips/windiss.h (ASM_SPEC): Likewise.
9386
032e8348
RS
93872004-08-23 Richard Sandiford <rsandifo@redhat.com>
9388
9389 * read-rtl.c (map_value, mapping, macro_group): New structures.
9390 (BELLWETHER_CODE): New macro.
9391 (modes, codes, bellwether_codes): New variables.
9392 (find_mode, uses_mode_macro_p, apply_mode_macro, find_code)
9393 (uses_code_macro_p, apply_code_macro, apply_macro_to_string)
9394 (apply_macro_to_rtx, uses_macro_p, add_condition_to_string)
9395 (add_condition_to_rtx, apply_macro_traverse, add_mapping)
9396 (add_map_value, initialize_macros): New functions.
9397 (def_hash, def_hash_eq_p): Generalize to anything that points to,
9398 or starts with, a char * field.
9399 (find_macro, read_mapping, check_code_macro): New functions.
9400 (read_rtx_1): New, split out from read_rtx. Handle the new
9401 define_{mode,code}_{macro,attr} constructs. Use find_macro
9402 to parse the name of a code or mode. Use BELLWETHER_CODE to
9403 extract the format and to choose a suitable code for rtx_alloc.
9404 Modify recursive invocations to use read_rtx_1.
9405 (read_rtx): Call initialize_macros. Apply code and mode macros
9406 to the rtx returned by read_rtx_1. Cache everything after the
9407 first macro expansion for subsequent read_rtx calls.
9408 * doc/md.texi: Document new .md constructs.
9409 * config/mips/mips.md (GPR): New mode macro.
9410 (d, si8_di5): New mode attributes.
9411 (any_cond): New code macro.
9412 (add[sd]i3): Redefine using :GPR.
9413 (*add[sd]i3): Likewise, renaming from add[sd]i3_internal.
9414 (*add[sd]i3_sp[12], *add<mode>3_mips16): Redefine using :GPR, naming
9415 previously unnamed MIPS16 patterns.
9416 (*addsi3_extended): Renamed from addsi3_internal_2. Fix overly long
9417 lines. Don't match (plus (const_int 0) ...).
9418 (*addsi3_extended_mips16): Name previously unnamed MIPS16 pattern.
9419 Use a define_split to generate the addition.
9420 (sub[sd]i3): Redefine using :GPR. Turn subsi3 into a define_insn.
9421 (subsi3_internal): Delete.
9422 (*subsi3_extended): Renamed from subsi3_internal_2.
9423 (bunordered, bordered, bunlt, bunge, buneq, bltgt, bunle, bungt)
9424 (beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Redefine
9425 using an any_cond template.
9426
ecce923e
RS
94272004-08-23 Richard Sandiford <rsandifo@redhat.com>
9428
9429 * read-rtl.c (read_rtx): Tidy use of format_ptr.
9430
a269d6c8
RS
94312004-08-23 Richard Sandiford <rsandifo@redhat.com>
9432
9433 * read-rtl.c (string_obstack): New file-scope variable.
9434 (read_string, read_quoted_string, read_braced_string)
9435 (read_escape): Remove obstack parameter and use string_obstack instead.
9436 (read_rtx): Remove function-local rtl_obstack and initialize
9437 string_obstack instead. Update call to read_string.
9438
9fc3b39a
AP
94392004-08-22 Andrew Pinski <apinski@apple.com>
9440
9441 PR c/15262
9442 * c-typeck.c (build_unary_op): Use &a.b if the foldded lowered
9443 expression is not constant.
9444 (c_finish_return): Do not go through INDIRECT_REF when looking
9445 for the inner expression of an ADDR_EXPR for warning about.
9446
cea49550
RH
94472004-08-22 Richard Henderson <rth@redhat.com>
9448
9449 PR 17075
9450 * cfgexpand.c (expand_gimple_tailcall): Detect when we can both
9451 create new blocks and fall through.
9452 (expand_gimple_basic_block): Update to match.
9453
0b540f12
UW
94542004-08-22 Ulrich Weigand <uweigand@de.ibm.com>
9455
9456 * reload.c (find_reloads_address): Make return value tri-state.
9457 Return -1 if LEGITIMIZE_RELOAD_ADDRESS succeeded.
9458 (find_reloads): Assume that reloaded addresses match 'o' or
9459 EXTRA_MEMORY_CONSTRAINT constraints only if find_reloads_address
9460 returned 1 (not -1). Omit optional reloads for address operands
9461 only if find_reloads_address returned 1 (not -1).
9462
9463 * config/s390/s390.c (legitimize_reload_address): New function.
9464 * config/s390/s390-protos.h (legitimize_reload_address): Declare.
9465 * config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Define. Call
9466 legitimize_reload_address.
9467
7f5e6307
RH
94682004-08-22 Richard Hendersion <rth@redhat.com>
9469
9470 * tree.h (SAVE_EXPR_RESOLVED_P): New.
9471 * gimplify.c (gimplify_save_expr): Use it.
9472 * expr.c (expand_expr_real_1): Likewise. Also set DECL_IGNORED_P
9473 on the temporary variable.
9474
efd610a6
AP
94752004-08-22 Andrew Pinski <pinskia@physics.uc.edu>
9476
9477 * fold-const.c (rtl_expr_nonnegative_p): Delete.
9478 * tree.h (rtl_expr_nonnegative_p): Remove.
9479
324a6c95
SB
94802004-08-22 Steven Bosscher <stevenb@suse.de>
9481
9482 * config/i386/ppro.md (ppro_complex_insn): Add missing check
9483 for cpu==pentiumpro.
9484
9485 * combine.c (struct reg_stat): Fix comment typo.
9486
41db8425
JM
94872004-08-22 Joseph S. Myers <jsm@polyomino.org.uk>
9488
9489 * c-tree.h (c_sizeof_nowarn): Remove.
9490
00325bce
JM
94912004-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
9492
9493 * c-decl.c (set_array_declarator_type): Rename to
9494 set_array_declarator_inner.
9495 (build_c_parm, build_attrs_declarator, build_function_declarator):
9496 New functions.
9497 (make_pointer_declarator): Call build_attrs_declarator.
9498 * c-tree.h (set_array_declarator_type): Rename to
9499 set_array_declarator_inner.
9500 (build_c_parm, build_attrs_declarator, build_function_declarator):
9501 New prototypes.
9502 * c-parse.in (after_type_declarator,
9503 parm_declarator_starttypename, parm_declarator_nostarttypename,
9504 notype_declarator, absdcl_maybe_attribute, direct_absdcl1, parm,
9505 firstparm): Use these functions
9506
60919bce
JM
95072004-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
9508
9509 * c-decl.c (build_array_declarator, set_array_declarator_type,
9510 start_decl, grokdeclarator, grokparms): Change boolean parameters
9511 to type bool.
9512 * c-tree.h (build_array_declarator, set_array_declarator_type,
9513 start_decl): Update prototypes.
9514 * c-decl.c, c-parse.in: All callers changed.
9515
bdfd0ed4
MS
95162004-08-21 Mike Stump <mrs@apple.com>
9517
9518 * config/rs6000/darwin.h (SUBTARGET_OPTIONS): Move from here, to...
9519 (darwin_fix_and_continue): Likewise.
9520 (darwin_fix_and_continue_switch): Likewise.
9521 * config/darwin.h (SUBTARGET_OPTIONS): ...here, to fix -mone-byte-bool.
9522 (darwin_fix_and_continue): Likewise.
9523 (darwin_fix_and_continue_switch): Likewise.
9524
35da8b56 95252004-08-21 Danny Smith <dannysmith@users.sourceforge.net>
23d34220
DS
9526
9527 PR c++/16030
9528 * config/i386/winnt/c (gen_stdcall_suffix, gen_fastcall_suffix):
9529 Remove, merging into ...
9530 (gen_stdcall_or_fastcall_suffix): New function, returning tree
9531 rather than const char*, and accepting additional parameter.
9532 Don't add suffix to '*'-prefixed symbols or variadic functions.
9533 (i386_pe_encode_section_info): Adjust for call to new function.
9534 Call change_decl_assembler_name.
9535
828a4fe4
MS
95362004-08-20 Mike Stump <mrs@apple.com>
9537
9538 * config/darwin.c (machopic_indirect_data_reference): Mark
9539 stubs as defined.
9540 * config/386/386.c (darwin_local_data_pic): Add.
9541 (legitimate_constant_p): Reorder so that PLUS handling runs
9542 before darwin_local_data_pic to match the ordering in
9543 legitimate_pic_address_disp_p and so that MINUS runs after
9544 darwin_local_data_pic as otherwise the darwin_local_data_pic
9545 logic can be skipped, which would be very bad.
9546 (legitimate_pic_address_disp_p): Move from from here to
9547 darwin_local_data_pic so it can be reused.
9548
85b776df
AM
95492004-08-21 Alan Modra <amodra@bigpond.net.au>
9550
9551 * config/rs6000/linux64.h (DOT_SYMBOLS): Define.
9552 (CRT_CALL_STATIC_FUNCTION): Define !DOT_SYMBOLS version.
9553 (ASM_DECLARE_FUNCTION_SIZE): Modify for !DOT_SYMBOLS.
9554 (ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Likewise.
9555 (RS6000_ABI_NAME): Define as "linux".
9556 (SUBSUBTARGET_OVERRIDE_OPTIONS): Set dot_symbols.
9557 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Select
9558 ABI_AIX when rs6000_abi_name is "linux" and TARGET_64BIT.
9559 * config/rs6000/rs6000-protos.h (rs6000_output_function_entry): Decl.
9560 * config/rs6000/rs6000.c (dot_symbols): New global var.
9561 (rs6000_output_function_entry): New function, modified for
9562 !DOT_SYMBOLS..
9563 (print_operand <case 'z'>): ..extracted from here.
9564 (rs6000_assemble_visibility): Modify for !DOT_SYMBOLS.
9565 (rs6000_output_function_epilogue): Likewise.
9566 (rs6000_elf_declare_function_name): Likewise.
9567 * config/rs6000/rs6000.h (DOT_SYMBOLS): Define.
9568 (ASM_WEAKEN_DECL, ASM_OUTPUT_DEF_FROM_DECLS): Modify for !DOT_SYMBOLS.
9569 * configure.ac (HAVE_LD_NO_DOT_SYMS): Add new AC_DEFINE.
9570 * configure: Regenerate.
9571 * config.in: Regenerate.
9572
14d3dc34
MM
95732004-08-20 Mark Mitchell <mark@codesourcery.com>
9574
0e544c37
MM
9575 * reload.c (find_reloads_address): Fix thinko in previous change.
9576
14d3dc34
MM
9577 * reload.c (find_reloads_address): Reload the sum of a LO_SUM and
9578 a CONST_INT.
9579
f3b2657c
JJ
95802004-08-20 Jakub Jelinek <jakub@redhat.com>
9581
9582 PR rtl-optimization/17099
9583 * combine.c (force_to_mode): Check if inner_mask has any bits set
9584 outside of GET_MODE (x) instead of op_mode.
9585
d2294baa
MM
95862004-08-20 Mark Mitchell <mark@codesourcery.com>
9587
9588 * config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile
9589 fragment.
9590 * config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo.
9591 (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler.
9592 * config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5
9593 architecture.
9594 (SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float
9595 configurations.
9596 * config/arm/t-symbian: New file.
9597
753d0efa
AP
95982004-08-20 Andrew Pinski <apinski@apple.com>
9599
9600 * regrename.c (kill_value_regno): ANSIfy.
9601
627b6fe2
DJ
96022004-08-20 Dale Johannesen <dalej@apple.com>
9603
324a6c95 9604 * config/rs6000/rs6000.c (rs6000_rtx_costs): Improve DIV/MOD.
627b6fe2 9605
d64d5e80
DJ
96062004-08-20 Daniel Jacobowitz <dan@debian.org>
9607
9608 * regrename.c (kill_value_one_regno): Renamed from kill_value_regno.
9609 (kill_value_regno): New function, derived from kill_value.
9610 (kill_value): Update.
9611 (copyprop_hardreg_forward_1): Update call to kill_value_regno.
9612
af75a7ea 96132004-08-20 Daniel Berlin <dberlin@dberlin.org>
f676971a 9614
af75a7ea
DB
9615 Fix PR tree-optimization/17111
9616 * tree-ssa-pre.c (create_value_expr_from): Don't change the types
9617 of non-value_handles.
9618 (bitmap_set_contains): All constants are in every set.
9619
0a936b12
NS
96202004-08-20 Nathan Sidwell <nathan@codesourcery.com>
9621
9622 * fold-const.c (round_up, round_down): Use build_int_cst.
9623 Optimize common case.
9624
774acadf
ZW
96252004-08-20 Zack Weinberg <zack@codesourcery.com>
9626 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9627
324a6c95 9628 * config/pa/pa-protos.h (readonly_data, one_only_readonly_data_section,
774acadf
ZW
9629 one_only_data_section): Rename to som_readonly_data_section,
9630 som_one_only_readonly_data_section and som_one_only_data_section.
324a6c95 9631 * config/pa/pa.c (ONE_ONLY_TEXT_SECTION_ASM_OP,
0a936b12
NS
9632 NEW_TEXT_SECTION_ASM_OP, DEFAULT_TEXT_SECTION_ASM_OP): Delete
9633 conditional defines.
774acadf
ZW
9634 (som_text_section_asm_op): Replace ONE_ONLY_TEXT_SECTION_ASM_OP,
9635 NEW_TEXT_SECTION_ASM_OP and DEFAULT_TEXT_SECTION_ASM_OP with actual
9636 string values.
9637 (pa_select_section): Use renamed section functions.
9638 * config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
324a6c95 9639 SOM_READONLY_DATA_SECTION_FUNCTION,
774acadf 9640 SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
324a6c95
SB
9641 SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION):
9642 Define here ...
9643 * config/pa/som.h: ... not here.
9644 (DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
774acadf
ZW
9645 ONE_ONLY_TEXT_SECTION_ASM_OP, READONLY_DATA_ASM_OP,
9646 ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
324a6c95
SB
9647 ONE_ONLY_DATA_SECTION_ASM_OP): Delete.
9648 (READONLY_DATA_SECTION): Use som_readonly_data_section.
774acadf 9649
3224bead
NS
96502004-08-20 Nathan Sidwell <nathan@codesourcery.com>
9651
fabead06
NS
9652 * fold-const.c (int_const_binop): Don't generate non-overflowing
9653 size-types specially.
9654 (fold_convert_const): Likewise.
9655
3224bead
NS
9656 * stor-layout.c (initialize_sizetypes): Set SIZETYPE earlier,
9657 clear cache on copied sizetype.
9658
fb38008e
BE
96592004-08-20 Ben Elliston <bje@au.ibm.com>
9660
9661 * configure.ac: Don't escape apostrophe in --enable-coverage help.
9662 * configure: Regenerate.
9663
a9024779
DS
96642004-08-20 Danny Smith <dannysmith@users.sourceforge.net>
9665
9666 PR 5620
9667 * gcc.c (struct stat input_stat): Don't define if
9668 HOST_LACKS_INODE_NUMBERS
9669 (do_spec_1): If HOST_LACKS_INODE_NUMBERS, use lrealpath rather
9670 than stat to determine if temp file is same as input file.
9671 * doc/hostconfig.texi: Document HOST_LACKS_INODE_NUMBERS.
9672 * config/i386/xm-mingw32.h: Define HOST_LACKS_INODE_NUMBERS
9673
82563d35
RS
96742004-08-20 Richard Sandiford <rsandifo@redhat.com>
9675
9676 * configure.ac (mips*-*-*): Print an error if not using GAS.
9677 * configure: Regenerated.
9678 * doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
9679 comments about buggy MIPSpro assemblers.
9680 * config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h
9681 before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix.
9682 Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for
9683 IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld.
9684 * config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
9685 (DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
9686 (NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
9687 (TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
9688 (WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
9689 of more general IRIX 6 definitions.
9690 (OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
9691 (HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
9692 (TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
9693 (LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
9694 (ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
9695 (PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
9696 (LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
9697 (TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
9698 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
9699 (SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
9700 (LINK_SPEC): Move most of definition to iris.h.
9701 (SUBTARGET_LINK_SPEC): New macro.
9702 (IRIX_STARTFILE_SPEC): Fold into...
9703 (STARTFILE_SPEC): ...here.
9704 (IRIX_ENDFILE_SPEC): Fold into...
9705 (ENDFILE_SPEC): ...here.
9706 * config/mips/iris6.h (TARGET_IRIX5): Remove override.
9707 (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
9708 (DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
9709 (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
9710 (ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
9711 (TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits.
9712 (DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
9713 (SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
9714 (PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
9715 (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
9716 (FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
9717 (POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
9718 (SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
9719 (BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
9720 (EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
9721 (DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
9722 (ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
9723 (ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
9724 (TARGET_IRIX6): Define to 1.
9725 (DRIVER_SELF_SPECS): Define.
9726 (DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
9727 (SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
9728 (SUBTARGET_LINK_SPEC): New macro.
9729 (IRIX_STARTFILE_SPEC): Fold into...
9730 (STARTFILE_SPEC): ...here. Remove !mabi=* case.
9731 (SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
9732 (LIB_SPEC, LIBGCC_SPEC): Use them.
9733 (LIB_SPEC): Remove !mabi=* case.
9734 (IRIX_ENDFILE_SPEC): Fold into...
9735 (ENDFILE_SPEC): ...here. Remove !mabi=* case.
9736 * config/mips/mips-protos.h (irix_output_external_libcall): Delete.
9737 * config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
9738 (TARGET_IRIX6): New macro.
9739 (ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
9740 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
9741 (LABEL_AFTER_LOC): Delete.
9742 * config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
9743 (TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
9744 (mips_build_builtin_va_list): Check TARGET_IRIX6.
9745 (override_options): Remove TARGET_SGI_O32_AS-related code.
9746 (irix_output_external_libcall): Make static.
9747 (mips_output_filename): Avoid use of SET_FILE_NUMBER and
9748 LABEL_AFTER_LOC.
9749 (mips_file_start): Tidy guard for ABI sections. Remove use of
9750 ABICALLS_ASM_OP; use .abicalls instead.
9751 (mips_output_aligned_decl_common, mips_declare_object_name)
9752 (mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
9753 (mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
9754 .globl foo .text directives.
9755 (irix_asm_named_section_1, irix_asm_named_section)
9756 (irix_section_align_entry, irix_section_align_htab)
9757 (irix_orig_asm_out_file, irix_section_align_entry_eq)
9758 (irix_section_align_entry_hash, irix_asm_output_align)
9759 (irix_file_start, irix_section_align_1, copy_file_data)
9760 (irix_file_end, irix_section_type_flags): Delete.
9761 * config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
9762 Use standard section syntax. Remove protective "jr $31".
9763 (__gcc_fini): Likewise .gcc_fini.
9764 * config/mips/irix-crtn.asm: Adjust sections accordingly.
9765 * config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
9766 iris5gas.h.
9767 * config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
9768 from t-irix-gld.
9769 (EXTRA_MULTILIB_PARTS): Define.
9770 * config/mips/t-iris6: Remove bogus comment.
9771 (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
9772 * config/mips/iris5gas.h, config/mips/iris5gld.h,
9773 config/mips/iris6gas.h, config/mips/iris6gld.h,
9774 config/mips/t-iris5-as, config/mips/t-iris5-gas
9775 config/mips/t-irix-gld: Delete.
9776 * config/mips/iris.h: New file.
9777 * config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
9778
c4cdb8e1
RE
97792004-08-20 Richard Earnshaw <rearnsha@arm.com>
9780
9781 * postreload.c (reload_cse_move2add): Allow any condjump, but check
9782 that the implicit set isn't clobbered in the jump insn.
9783
d55ab31d
MM
97842004-08-19 Mark Mitchell <mark@codesourcery.com>
9785
9786 * defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove.
9787 * optabs.c (init_optabs): Don't check it.
9788 * config/arm/bpabi.h (TARGET_LIBGCC_LIBFUNCS): Do not define.
9789 * doc/tm.texi (TARGET_LIBGCC_FUNCS): Remove.
9790
d75f90f1
AK
97912004-08-18 Andreas Krebbel <krebbel1@de.ibm.com>
9792
9793 * config/s390/s390.md (s390_warn_framesize_string)
9794 (s390_warn_dynamic_string, s390_stack_size_string)
9795 (s390_stack_guard_string): New global string variables.
9796 (s390_warn_framesize, s390_warn_dynamicstack_p, s390_stack_size)
9797 (s390_stack_guard): New global variables.
9798 (override_options): Added checks for the new options.
9799 (s390_emit_prologue): Emit stack check and trap code and perform
9800 compile time stack size checking.
f676971a
EC
9801
9802 * config/s390/s390.h (TARGET_OPTIONS): Added new options
d75f90f1
AK
9803 "warn-framesize", "warn-dynamicstack", "stack-size" and
9804 "stack-guard".
9805
9806 * doc/invoke.texi: Added documentation for the new options.
9807
ca29916b
UW
98082004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
9809
9810 * unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen
9811 to eliminate warning.
9812 (linear_search_fdes): Declare p as unsigned.
9813 (binary_search_mixed_encoding_fdes): Likewise.
9814 * unwind-dw2.c (get_cie_encoding): Cast argument to strlen
9815 to eliminate warning.
9816 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing
9817 type cast.
9818
e1d5ee28
UW
98192004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
9820
9821 * config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype.
9822 * config/s390/s390.c (preferred_la_operand_p): Accept two operands
9823 instead of one. Check for strictly legitimate address.
9824 * config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call
9825 to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate.
9826
19114537
EC
98272004-08-19 Eric Christopher <echristo@redhat.com>
9828
9829 * langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
9830 * langhooks.h (unsave_expr_now): Ditto.
9831 * tree.h (unsave_expr_1): Remove prototype.
9832 (lhd_unsave_expr_now): Rename to unsave_expr_now.
9833 * tree-inline.c (unsave_expr_1): Move here
9834 from tree.c. Make static.
9835 (unsave_expr_now): Rename from lhd_unsave_expr_now.
9836 * tree-sra.c: Fix up for rename.
9837 * tree-ssa-copy.c: Ditto.
9838 * tree-eh.c: Ditto.
9839 * tree.c (unsave_expr_1): Move to tree-inline.c.
9840
d5bfecf2
CT
98412004-08-19 Caroline Tice <ctice@apple.com>
9842
324a6c95
SB
9843 * config/i386/cygming.h (switch_to_section): Fix typo (change
9844 in_unlikely_text_section to in_unlikely_executed_text).
19114537 9845
58152808
DB
98462004-08-19 Daniel Berlin <dberlin@dberlin.org>
9847
9848 * vec.h (VEC_lower_bound): New macro.
19114537 9849
ae043003
RS
98502004-08-19 Richard Sandiford <rsandifo@redhat.com>
9851
9852 PR target/16446
9853 * config/mips/mips.c (struct mips_arg_info): Delete num_bytes.
9854 (mips_arg_info): Update accordingly. Remove common treatment of fpr_p;
9855 treat each ABI separately. Deal with n32/n64 complex float arguments.
9856 (function_arg): Add associated complex handling here.
9857
50ed9cea
RH
98582004-08-19 Richard Henderson <rth@redhat.com>
9859
9860 * config/arm/arm.c (arm_gen_load_multiple): Use
9861 adjust_automodify_address. Take base memory and offset instead
9862 of unchanging/struct/scalar bits.
9863 (arm_gen_store_multiple): Likewise.
9864 (arm_gen_movmemqi): Use adjust_automodify_address.
9865 * config/arm/arm-protos.h: Update decls.
9866 * config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call.
9867 (store_multiple): Similarly.
9868
74ae207d
R
98692004-08-19 J"orn Rennecke <joern.rennecke@superh.com>
9870
9871 * regclass.c (globalize_reg): Update call_really_used_regs.
9872
89b0433e
NS
98732004-08-19 Nathan Sidwell <nathan@codesourcery.com>
9874
31ebd7c8
NS
9875 * doc/invoke.texi (integer-share-limit): Document.
9876
89b0433e
NS
9877 * tree.h (TYPE_CACHED_VALUES_P): New.
9878 (TYPE_CACHED_VALUES): New.
9879 (TYPE_ORIG_SIZE_TYPE): Adjust.
9880 * tree.def (INTEGER_CST): Update documentation.
9881 * tree.c: Inlcude params.h.
9882 (build_int_cst): Cache small values.
9883 (build_type_copy): Do not copy the value cache.
9884 * c-common.c (c_common_nodes_and_builtins): Add comment, remove
9885 unneeded zeroing.
9886 * c-typeck.c (build_c_cast): Add comment about OVERFLOW setting.
9887 * expmed.c (const_mult_add_overflow_p): Clear type copy's value
9888 cache.
9889 * fold-const.c (force_fit_type): Copy value when setting
9890 overflows.
9891 (int_const_binop): Likewise.
9892 * stor-layout.c: Include params.h
9893 (set_sizetype): Create values cache.
9894 (fixup_unsigned_type): Set UNSIGNED_P before caching any values.
9895 * params.def (PARAM_INTEGER_SHARE_LIMIT): New.
9896 * params.h (INTEGER_SHARE_LIMIT): New.
9897 * Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H.
19114537 9898
c2504783
PB
98992004-08-19 Paolo Bonzini <bonzini@gnu.org>
9900
9901 * gimplify.c (gimplify_minimax_expr): Remove.
9902 (gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling.
9903
7a8554ce
DN
99042004-08-19 Dorit Naishlos <dorit@il.ibm.com>
9905
19114537 9906 * tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
7a8554ce
DN
9907 STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
9908
1905f33d
MM
99092004-08-19 Mark Mitchell <mark@codesourcery.com>
9910
9911 * bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
9912
f1732751
AP
99132004-08-18 Andrew Pinski <apinski@apple.com>
9914
9915 * varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
9916
8c78a388
MM
99172004-08-18 Mark Mitchell <mark@codesourcery.com>
9918
9919 * config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility.
9920 (__aeabi_ul2f): Likewise.
9921
7eda7cda
RH
99222004-08-18 Richard Henderson <rth@redhat.com>
9923
9924 * config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block
9925 move to rtl completely.
9926 (struct meminsnbuf, xtensa_emit_block_move): Remove.
9927 (xtensa_find_mode_for_size): Remove.
9928 * config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove.
9929 * config/xtensa/xtensa.md (movmemsi_internal): Remove.
9930
88042663
RH
99312004-08-18 Richard Henderson <rth@redhat.com>
9932
9933 * config/mcore/mcore.c (mode_from_align): Remove DImode.
9934 (block_move_sequence): Rewrite to use adjust_address.
9935 (mcore_expand_block_move): Cleanup logic. Accept only operands.
9936 Return boolean indicating success/failure.
9937 * config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl.
9938 * config/mcore/mcore.md (movmemsi): Update to match.
9939
699c914a
MS
99402004-08-18 Mike Stump <mrs@apple.com>
9941
9942 * doc/invoke.texi (-mfix-and-continue): Add support for
9943 fast turn around debugging.
9944 (-ffix-and-continue): Likewise.
9945 (-mindirect-data): Likewise.
9946 (-findirect-data): Likewise.
9947 * config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise.
9948 (indirect_data): Likewise.
9949 (machopic_data_defined_p): Likewise.
9950 (machopic_output_indirection): Likewise.
9951 (darwin_encode_section_info): Likewise.
9952 (darwin_fix_and_continue): Likewise.
9953 (darwin_fix_and_continue_switch): Likewise.
9954 * config/darwin.h (MACHO_SYMBOL_STATIC): Likewise.
9955 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
9956 (SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise.
9957 (SUBTARGET_OPTIONS): Likewise.
9958 (darwin_fix_and_continue): Likewise.
9959 (darwin_fix_and_continue_switch): Likewise.
9960 (TARGET_FIX_AND_CONTINUE): Likewise.
9961 * config/rs6000.c (rs6000_emit_prologue): Likewise.
9962
99632004-08-19 Steven Bosscher <stevenb@suse.de>
bd454efd
SB
9964
9965 * basic-block.h (struct edge_def): Remove crossing_edge.
9966 (EDGE_CROSSING): New define.
9967 (EDGE_ALL_FLAGS): Update.
9968 * bb-reorder.c (find_traces_1_round, better_edge_p,
9969 find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges,
9970 find_jump_block, fix_crossing_conditional_branches,
9971 fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
9972 Replace all occurences of crossing_edge with an edge flag check
9973 or set/reset.
9974 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
9975 try_crossjump_bb): Likewise.
9976 * cfglayout.c (fixup_reorder_chain): Likewise.
9977 * cfgrtl.c (force_nonfallthru_and_redirect,
9978 commit_one_edge_insertion): Likewise.
9979
9980 * Makefile.in (cfganal.o): Depend on TIMEVAR_H.
9981 * tree-flow.h (compute_dominance_frontiers): Move prototype...
9982 * basic-block.h: ...here.
9983 * tree-cfg.c (compute_dominance_frontiers_1,
9984 compute_dominance_frontiers): Move from here...
9985 * cfganal.c: ...to here. Include timevar.h.
9986
9ff6992e
JW
99872004-08-18 James E Wilson <wilson@specifixinc.com>
9988
c831f54b 9989 * config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=.
a1627d80
JW
9990 * config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes.
9991
9ff6992e
JW
9992 * config/mips/mips.md (type): Add frdiv.
9993 (divsf3+1, divsf3+2): Change type to frdiv.
9994 * config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe,
9995 ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New.
19114537 9996
9ff6992e
JW
9997 * config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv.
9998 * config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise.
9999 * config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise.
10000 * config/mips/5000.md (r5k_fdiv_single): Likewise.
10001 * config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise.
10002 * config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise.
10003 * config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise.
10004 * config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise.
10005 * config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise.
10006 * config/mips/generic.md (generic_fdiv_single, generic_fdiv_double):
10007 Likewise.
10008 * config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise.
10009
c16eb900
RB
100102004-08-18 Robert Bowdidge <bowdidge@apple.com>
10011
10012 * config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to
324a6c95 10013 get regression tester working again.
c16eb900 10014
826c9564
ZW
100152004-08-18 Zack Weinberg <zack@codesourcery.com>
10016
10017 * insn-notes.def, reg-notes.def: New files.
10018 * rtl.h: Use them to define enum insn_note and enum reg_note.
10019 * rtl.c: Use them to define note_insn_name and reg_note_name.
4b179e92 10020 * Makefile.in (RTL_BASE_H): Update.
826c9564
ZW
10021
10022 * modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK
10023 renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
10024
21b5653c
RE
100252004-08-18 Richard Earnshaw <rearnsha@arm.com>
10026
10027 * arm.c (arm_size_rtx_costs): New function.
10028 (arm_override_options): Use it if optimizing for space.
10029
542a8afa
RH
100302004-08-18 Richard Henderson <rth@redhat.com>
10031
10032 * emit-rtl.c (gen_const_mem): New.
10033 * rtl.h (gen_const_mem): Declare.
10034 * expr.c (do_tablejump): Use it.
10035 * varasm.c (force_const_mem): Likewise.
10036 * config/darwin.c (machopic_indirect_data_reference): Likewise.
10037 (machopic_legitimize_pic_address): Likewise.
10038 * config/arm/arm.c (legitimize_pic_address): Likewise.
10039 * config/i386/i386.c (legitimize_pic_address): Likewise.
10040 (legitimize_tls_address): Likewise.
10041 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
10042 * config/ia64/ia64.md (load_fptr): Likewise.
10043 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
10044 * config/pa/pa.c (legitimize_pic_address): Likewise.
10045 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
10046 (rs6000_emit_move): Likewise.
10047 * config/s390/s390.c (legitimize_pic_address): Likewise.
10048 (legitimize_tls_address): Likewise.
10049 * config/s390/s390.md (casesi): Likewise.
10050 * config/sh/sh.c (sh_reorg): Likewise.
10051 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
10052 * config/v850/v850.md (casesi): Likewise.
10053
10054 * config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P.
10055 * config/sh/sh.c (prepare_move_operands): Remove incorrect
10056 use of MEM_READONLY_P.
10057
0516f6fe
SB
100582004-08-18 Steven Bosscher <stevenb@suse.de>
10059
10060 * Makefile.in (OBJS-common): Add postreload-gcse.c.
10061 Add new postreload-gcse.o.
10062 * cse.c (SAFE_HASH): Define as wrapper around safe_hash.
10063 (lookup_as_function, insert, rehash_using_reg, use_related_value,
10064 equiv_constant): Use SAFE_HASH instead of safe_hash.
10065 (exp_equiv_p): Export. Add for_gcse argument when comparing
10066 for GCSE.
10067 (lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
10068 find_comparison_args, fold_rtx, cse_insn): Update callers.
10069 (hash_rtx): New function derived from old canon_hash and bits
10070 from gcse.c hash_expr_1.
10071 (canon_hash_string): Rename to hash_rtx_string.
10072 (canon_hash, safe_hash): Make static inline. Call hash_rtx.
10073 * cselib.c (hash_rtx): Rename to cselib_hash_rtx.
10074 (cselib_lookup): Update this caller.
10075 * gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
10076 Make static.
10077 (hash_expr): Call hash_rtx.
10078 (ldst_entry): Likewise.
10079 (expr_equiv_p): Call exp_equiv_p.
10080 (struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
10081 reg_used_on_edge, reg_set_between_after_reload_p,
10082 reg_used_between_after_reload_p, get_avail_load_store_reg,
10083 is_jump_table_basic_block, bb_has_well_behaved_predecessors,
10084 get_bb_avail_insn, hash_scan_set_after_reload,
10085 compute_hash_table_after_reload,
10086 eliminate_partially_redundant_loads, gcse_after_reload,
10087 get_bb_avail_insn, gcse_after_reload_main): Remove.
10088 * postreload-gcse.c: New file, reincarnating most of the above.
10089 * rtl.h (exp_equiv_p, hash_rtx): New prototypes.
10090 (gcse_after_reload_main): Update prototype.
10091 * timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
10092 * passes.c (rest_of_handle_gcse2): Use it.
10093
95013377
DN
100942004-08-18 Diego Novillo <dnovillo@redhat.com>
10095
10096 * tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
10097 (pass_loop_done): Likewise.
10098
ac9e2cff
AP
100992004-08-18 Andrew Pinski <apinski@apple.com>
10100
826c9564 10101 * config/rs6000/darwin.md: Delete the altivec patterns which are
ac9e2cff
AP
10102 handled differently now.
10103 (load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT
10104 (macho_correct_pic_di): Likewise.
10105 (call_indirect_nonlocal_darwin64): Likewise.
10106 Delete the save world/saveFP/saveVec patterns.
826c9564 10107
ac9e2cff 10108 Revert the reversion of: 2004-08-16 Stan Shebs <shebs@apple.com>
826c9564
ZW
10109 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
10110 * config/rs6000/rs6000.md: Include darwin.md.
10111 (builtin_setjmp_receiver): Add DImode case.
10112 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
10113 Darwin bits.
ac9e2cff 10114
92b9a671
MA
101152004-08-18 Matt Austern <austern@apple.com>
10116
10117 Dead code stripping
10118 * darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped.
10119 * darwin.c (darwin_file_end): Mark file as potentially strippable.
826c9564 10120
4766261d
RH
101212004-08-18 Richard Henderson <rth@redhat.com>
10122
10123 * alias.c (readonly_fields_p): Remove.
10124 (objects_must_conflict_p): Don't call it.
10125 * tree.h (readonly_fields_p): Remove.
10126 * langhooks.h (struct lang_hooks): Remove honor_readonly.
10127 * langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove.
10128
50dc9a88
DN
101292004-08-18 Diego Novillo <dnovillo@redhat.com>
10130
10131 * tree-dfa.c (add_referenced_var): Only global variables are
10132 call-clobbered.
10133 * tree-flow.h (struct ptr_info_def): Add field pt_global_mem.
10134 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark
10135 all pointers dereferenced if the statement dereferences them.
10136 (create_name_tags): Do not create memory tags for pointers
10137 that have PT_ANYTHING set.
10138 Also check if PT_VARS is not empty before creating a name tag.
10139 (compute_flow_sensitive_aliasing): Don't mark call-clobbered
10140 variables that share the same alias set with a pointer that
10141 may point anywhere.
10142 (add_may_alias): Add FIXME comment to remove clobbering
10143 aliased variables and tags.
10144 (replace_may_alias): Likewise.
10145 (set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED.
10146 (merge_pointed_to_info): If the original variable has not
10147 points-to information, call set_pt_anything.
10148 (add_pointed_to_var): Do not prevent adding a pointed-to
10149 variable if the pointers is PT_ANYTHING.
10150 If the variable is a global, set PT_GLOBAL_MEM.
10151 (collect_points_to_info_r): Don't assume that PLUS_EXPRs of
10152 pointer type only come in PTR+OFFSET flavours.
10153 Always call merge_pointed_to_info on PHI arguments that are
10154 SSA_NAMEs.
10155 (get_nmt_for): Mark call-clobbered tags whose pointer points
10156 to global memory.
10157 * tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch
10158 values.
10159 (get_indirect_ref_operands): Always clear OPF_KILL_DEF from
10160 FLAGS.
10161 (add_stmt_operand): Abort if the caller tried to add a killing
10162 definition for a memory tag.
10163 * tree-ssa.c (verify_flow_sensitive_alias_info): Remove
10164 unnecessary checks.
10165
62164eb4
R
101662004-08-18 J"orn Rennecke <joern.rennecke@superh.com>
10167
10168 * sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers
10169 from call_used_regs. Update call_really_used_regs.
10170 (CALL_REALLY_USED_REGISTERS): Define.
10171 * sh.c (output_stack_adjust, shmedia_target_regs_stack_space):
10172 Replace call_used_regs with call_really_used_regs.
10173 (calc_live_regs, sh_media_register_for_return): Likewise.
10174 (sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise.
10175 * sh.md (return_media): Likewise.
10176
f9b0ac3b
AP
101772004-08-18 Andrew Pinski <apinski@apple.com>
10178
826c9564 10179 * config/darwin.c (machopic_legitimize_pic_address): Only set
ac9e2cff 10180 MEM_READONLY_P in the non TARGET_TOC case.
f9b0ac3b 10181
f822d252
ZW
101822004-08-18 Zack Weinberg <zack@codesourcery.com>
10183
10184 * rtl.def (NIL): Delete.
10185 * read-rtl.c (read_rtx): Handle (nil) like (define_constants).
10186 Tighten the syntax a little.
10187
10188 * cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
10189 * config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
10190 * config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
10191 * config/i386/predicates.md, config/m32r/m32r.h
10192 * config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
10193 * config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
10194 * config/sparc/sparc.h, doc/tm.texi:
10195 Replace all occurrences of NIL with UNKNOWN.
10196
6aaf3dde
ZW
101972004-08-18 Zack Weinberg <zack@codesourcery.com>
10198
10199 * dojump.c (do_jump <unordered_bcc>): Do not recursively call
10200 self with a TRUTH_ORIF_EXPR; generate the appropriate jump
10201 sequence inline. Move drop_through_label code into this
10202 block, being the only place it is used. Adjust comments.
10203
d62294f5
FJ
102042004-08-18 Fariborz Jahanian <fjahanian@apple.com>
10205
6aaf3dde
ZW
10206 * config/rs6000/altivec.md: Add new patterns for calls to
10207 save_world/rest_world functions.
10208
10209 * config/rs6000/rs6000-protos.h: (save_world_operation,
10210 restore_world_operation) new declarations.
10211
10212 * config/rs6000/rs6000.c: (struct rs6000_stack) new world_save_p
10213 field added.
10214 (rs6000_stack_info): Set world_save_p field.
10215 (save_world_operation): New function.
10216 (restore_world_operation): New function.
10217 (compute_save_world_info): New function.
10218 (rs6000_stack_info): Call compute_save_world_info.
10219 (rs6000_emit_prologue): Check for world_save_p and generate
10220 pattern to call save_world for saving all non-volatile and
10221 special registers.
10222 (rs6000_emit_epilogue): Check for world_save_p and generate
10223 pattern to call rest_world to restore saved registers.
10224
10225 config/rs6000/rs6000.h: macros FIRST_SAVED_ALTIVEC_REGNO,
10226 FIRST_SAVED_FP_REGNO, FIRST_SAVED_GP_REGNO defined.
10227 (rs6000_reg_names): New entries added for save_world_operation and
10228 restore_world_operation.
d62294f5 10229
790ac0e1
CT
102302004-08-18 Caroline Tice <ctice@apple.com>
10231
6aaf3dde 10232 * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add
790ac0e1
CT
10233 "-freorder-blocks-and-partition" to the flags used in second
10234 stage of profiledbootstrap.
10235 * bb-reorder.c (push_to_next_round_p): Add new variable,
10236 next_round_is_last; set and use variable to make sure, when
10237 partitioning, that the last trace construction round consists
10238 of all (and only) cold basic blocks.
10239 (rotate_loop): Don't copy blocks that end in a section
10240 crossing jump.
10241 (copy_bb): Correctly initialize "partition" of duplicated bb.
10242 (add_unlikely_executed_notes): Add a comment.
10243 (find_rarely_executed_basic_blocks_and_crossing_edges): Modify
10244 to make sure, if function contains hot blocks, that the
10245 successors of ENTRY_BLOCK_PTR are hot; also, only look for
10246 crossing edges if the architecture supports named sections.
10247 (mark_bb_for_unlikely_executed_section): Modify to always
10248 insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after
10249 the basic block note insn.
10250 (fix_crossing_unconditional_branches): Remove extra space.
10251 (fix_edges_for_rarely_executed_code): Modify to only do
10252 partitioning work if the architecture supports named sections.
10253 (reorder_basic_blocks): Modify to only add
10254 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture
10255 supports named sections.
10256 * c-common.c (handle_section_attribute): Initialize new global
10257 variable, user_defined_section_attribute, to true if user has
10258 specified one.
10259 * cfgcleanup.c (try_forward_edges): Modify to not attempt to
10260 forward edges that cross section boundaries.
10261 * cfglayout.c (fixup_reorder_chain): Modify to only fix up
10262 partitioning information if the architecture supports named
10263 sections.
10264 * cfgrtl.c (target.h): Add statement to include this.
10265 (rtl_split_block): Make sure newly created bb gets correct
10266 partition.
10267 (try_redirect_by_replacing_jump): Make sure redirection isn't
10268 attempting to cross section boundaries.
10269 (force_nonfallthru_and_redirect): Only do partition fix up if
10270 architecture supports named sections.
10271 (rtl_split_edge): Make sure newly created bb ends up in
10272 correct partition.
10273 (commit_one_edge_insertion): Remove code that incorrectly
10274 updated basic block partition; Make sure partition fix up only
10275 happens if architecture supports named sections and it's not
10276 already done.
10277 (rtl_verify_flow_info_1): Fix if-condition on test/error
10278 condition that fallthru edges are not allowed to cross section
10279 boundaries.
10280 * defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this.
10281 * final.c (final_scan_insn): Remove redundant test from if-statement;
10282 change calls to text_section into calls to function_section; add code
10283 to only to partitioning fix up if architecture supports named
10284 sections.
10285 * ifcvt.c (find_if_case_1): Make sure newly created bb has correct
10286 partition.
10287 (if_convert): Add targetm.have_named_sections to test.
10288 * output.h (unlikely_section_label): Extern declaration for new global
10289 variable.
10290 (unlikely_text_section_name): Likewise.
10291 * opts.c (decode_options): If both partitioning and DWARF debugging
10292 are turned on, issue a warning that this doesn't work, and change
10293 partitiong to basic block reordering (without hot/cold partitions).
6aaf3dde 10294 * passes.c (rest_of_handle_final): Re-set new global variable,
790ac0e1
CT
10295 user_defined_section_attribute, to false.
10296 (rest_of_compilation): Change options for calling partitioning
10297 function: Don't call if the user defined the section attribute, and
10298 don't call if DECL_ONE_ONLY is true for the current function.
10299 * predict.c (choose_function_section): Return immediately if we
10300 are doing hot/cold partitioning (i.e. let the basic block partitioning
10301 determine where the function belongs).
10302 * reg-stack.c (emit_swap_insn): Add condition to step over
10303 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
10304 * toplev.c (user_defined_section_attribute): New global variable.
89b0433e
NS
10305 * toplev.h (user_defined_section_attribute): Extern declaration
10306 for new global variable.
790ac0e1
CT
10307 * varasm.c (unlikely_section_label): New global variable.
10308 (unlikely_text_section_name): New global variable.
89b0433e
NS
10309 (unlikely_text_section): Add code to initialize
10310 unlikely_text_section_name if necessary; modify to use
10311 unlikely_text_section_name and unlikely_section_label; also to use
10312 named_section properly.
10313 (in_unlikely_text_section): Modify to work correctly with
10314 named_section and to use unlikely_text_section_name.
790ac0e1
CT
10315 (named_section): Add code to work properly with cold section.
10316 (function_section): Clean up if-statement.
89b0433e
NS
10317 * config/darwin.c (darwin_asm_named_section): Return to original
10318 code, removing use of SECTION_FORMAT_STRING.
6aaf3dde 10319 * config/arm/pe.h (switch_to_section): Add case for
790ac0e1
CT
10320 in_unlikely_executed_text to switch statement.
10321 * config/i386/cygming.h (switch_to_section): Likewise.
10322 * config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
10323 (SECTION_FORMAT_STRING): Likewise.
10324 * config/mcore/mcore.h (switch_to_section): Likewise.
10325 * config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
10326 (SECTION_FORMAT_STRING): Remove.
10327
3a4416fb
RS
103282004-08-18 Roger Sayle <roger@eyesopen.com>
10329
10330 * config/i386/i386.h (FIXED_REGISTERS): Update encoding to be
10331 -ffixed-reg safe, by preserving the meanings of zero and one.
10332 (CALL_USED_REGISTERS): Likewise.
10333 (CONDITIONAL_REGISTER_USAGE): Update to process new encodings.
10334
03904fb3
KK
103352004-08-18 Kaz Kojima <kkojima@gcc.gnu.org>
10336
10337 * config/sh/sh.c (split_branches): Check the result of
10338 next_active_insn.
10339 (sh_output_mi_thunk): Call init_flow if basic_block_info is null.
10340 Call rtl_register_cfg_hooks.
10341
389fdba0
RH
103422004-08-18 Richard Henderson <rth@redhat.com>
10343
10344 * rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
10345 * alias.c (true_dependence): Update to match new semantics.
10346 (canon_true_dependence, write_dependence_p): Likewise.
10347 (anti_dependence, output_dependence): Update write_dependence_p args.
10348 (unchanging_anti_dependence): Remove.
10349 * calls.c (purge_mem_unchanging_flag): Remove.
10350 (fixup_tail_calls): Don't call it.
10351 (expand_call): Don't add unchanging memory to function usage.
10352 * expr.c (emit_block_move_via_libcall): Likewise.
10353 (clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
10354 (get_subtarget): Don't use RTX_UNCHANGING_P.
10355 (expand_assignment, store_constructor, expand_expr_real_1): Likewise.
10356 (do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
10357 * combine.c (get_last_value_validate): Use MEM_READONLY_P.
10358 * cse.c (insert): Don't use RTX_UNCHANGING_P.
10359 (cse_insn, canon_hash): Use MEM_READONLY_P.
10360 * emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
10361 instead of RTX_UNCHANGING_P.
10362 * explow.c (maybe_set_unchanging): Remove.
10363 * expr.h (maybe_set_unchanging): Remove.
10364 * flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
10365 * function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
10366 (assign_parm_setup_reg, expand_function_start): Likewise.
10367 * integrate.c (copy_rtx_and_substitute): Likewise.
10368 * ra-rewrite.c (emit_colors): Likewise.
10369 * regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
10370 (fixup_match_1): Likewise.
10371 * reload1.c (reload, alter_reg): Likewise.
10372 * local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
10373 not RTX_UNCHANGING_P.
10374 (equiv_init_varies_p): Likewise.
10375 * loop-invariant.c (check_maybe_invariant): Likewise.
10376 * resource.c (mark_referenced_resources, mark_set_resources): Likewise.
10377 * loop.c (note_addr_stored): Likewise.
10378 (prescan_loop): Likewise. Don't check function usage for clobbered
10379 unchanging memory.
10380 * rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
6aaf3dde 10381 not RTX_UNCHANGING_P.
389fdba0
RH
10382 (rtx_varies_p, modified_between_p, modified_in_p): Likewise.
10383 * varasm.c (force_const_mem): Likewise.
10384 * stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
10385 * web.c (entry_register): Likewise.
10386 * tree-gimple.h (get_base_address): Move decl ...
10387 * tree.h: ... here.
10388 * doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
10389
10390 * config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
10391 called via for_each_rtx. Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
10392 (alpha_set_memflags): Update to match.
10393
10394 * config/darwin.c (machopic_indirect_data_reference): Set
10395 MEM_READONLY_P instead of RTX_UNCHANGING_P.
10396 (machopic_indirect_call_target): Likewise.
10397 (machopic_legitimize_pic_address): Likewise.
6aaf3dde 10398 * config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
389fdba0
RH
10399 arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
10400 * config/arm/arm.md (load_multiple, store_multiple): Likewise.
10401 * config/frv/frv.md (symGOT2reg): Likewise.
10402 * config/i386/i386.c (legitimize_pic_address,
10403 legitimize_tls_address, ix86_split_to_parts): Likewise.
10404 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
10405 * config/ia64/ia64.md (load_fptr): Likewise.
10406 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
10407 * config/m68k/m68k.c (legitimize_pic_address): Likewise.
10408 * config/mcore/mcore.c (block_move_sequence): Likewise.
10409 * config/mn10300/mn10300.md (symGOT2reg): Likewise.
10410 * config/pa/pa.c (legitimize_pic_address): Likewise.
10411 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
10412 (rs6000_emit_move): Likewise.
10413 * config/s390/s390.c (legitimize_pic_address): Likewise.
10414 (legitimize_tls_address): Likewise.
10415 * config/s390/s390.md (casesi): Likewise.
10416 * config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
10417 * config/sh/sh.md (symGOT2reg): Likewise.
10418 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
10419 * config/v850/v850.md (casesi): Likewise.
10420
10421 * config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
10422 * config/iq2000/iq2000.c (save_restore_insns): Likewise.
10423 * config/mips/mips.c (mips_restore_gp): Likewise.
10424 (mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
10425 * config/sh/sh.c (sh_reorg): Likewise.
10426
17ad5b5e
RH
104272004-08-18 Richard Henderson <rth@redhat.com>
10428
10429 * tree.h (struct tree_decl): Add gimple_formal_temp.
10430 (DECL_GIMPLE_FORMAL_TEMP_P): New.
10431 * gimplify.c (pop_gimplify_context): Clear it.
10432 (lookup_tmp_var): Set it, if is_formal.
10433 (gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
10434 Use is_gimple_val for VECTOR. Simplify return value.
10435 (gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
10436 (gimplify_expr): Likewise.
10437 * tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
10438 is_gimple_tmp_rhs for clarity. Update all callers.
10439 (is_gimple_reg_rhs): Simplify logic.
10440 (is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
10441 clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
10442 (is_gimple_formal_tmp_reg): Similarly.
10443 * tree-gimple.h: Update decls.
10444 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
10445 DECL_IGNORED_P, not DECL_ARTIFICIAL. Tidy formatting.
10446 * tree-ssa-live.c (var_union, type_var_init): Likewise.
10447
5b0eba61
PB
104482004-08-18 Paolo Bonzini <bonzini@gnu.org>
10449
10450 * c4x.c (legitimize_operands): Remove calls to
10451 preserve_subexpressions_p.
10452
07e15286
DE
104532004-08-18 David Edelsohn <edelsohn@gnu.org>
10454
10455 * varasm.c (MAX_OFILE_ALIGNMENT): Move ...
10456 * defaults.h (MAX_OFILE_ALIGNMENT): ... here.
10457
ad8c162b
ZL
104582004-08-18 Ziemowit Laski <zlaski@apple.com>
10459
10460 * gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
10461 Objective-C++ extensions.
10462 * gengtype.c (get_file_basename): Match entire subdirectory name
10463 ('cp', 'objc', 'objcp') rather than just its suffix.
10464 (get_base_file_bitmap): Allow for files to belong to more than one
10465 language.
10466 (get_output_file_with_visibility): Treat objc/objc-act.h as a header
10467 used by more than one front-end.
10468
d56993f2
RE
104692004-08-18 Richard Earnshaw <rearnsha@arm.com>
10470
10471 * arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
10472 avoid use of preserve_subexpressions_p.
10473
504c0e4f
RH
104742004-08-17 Richard Henderson <rth@redhat.com>
10475
10476 PR 17051
10477 * tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.
10478
54e9a19d
DD
104792004-08-17 DJ Delorie <dj@redhat.com>
10480
10481 * doc/extend.texi: Document new xstormy16 attribute.
10482
10483 * config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New.
10484 (xstormy16_splittable_below100_or_register): New.
10485 (combine_bnp): New.
10486 (xstormy16_reorg): New.
10487 (TARGET_MACHINE_DEPENDENT_REORG): Define.
10488
54e9a19d
DD
10489 * config/stormy16/stormy16.md (movqi_internal): Make name public.
10490 (movhi_internal): Likewise.
10491 (cbhranchhi): Likewise.
10492 (cbhranchhi_neg): Likewise.
10493 (andhi3): Only allow splittable below100 operands.
10494 (iorhi3): Likewise.
10495 (peephole2): New and/zero_extend->and peephole.
10496 (peephole2): New load/ior/save->set1 peephole.
10497 (peephole2): New load/and/save->clr1 peephole.
10498 (bclrx, bclrx2, bclr7, bclr15): New.
10499 (bsetx, bsetx2, bset7, bset15): New.
10500
10501 * config/stormy16/stormy16.c (xstormy16_print_operand): Be more
10502 liberal about acceptable 'B' masks.
10503
10504 * config/stormy16/stormy16-protos.h
10505 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
10506 xstormy16_below100_operand, xstormy16_below100_or_register,
10507 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
10508 (PREDICATE_CODES): Add new predicates.
6aaf3dde 10509
54e9a19d
DD
10510 * config/stormy16/stormy16.c
10511 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
10512 xstormy16_below100_operand, xstormy16_below100_or_register,
10513 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
10514 (xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New.
10515 (xstormy16_legitimate_address_p): Allow below100 symbols.
10516 (xstormy16_extra_constraint_p): Add 'W' for below100 operands.
10517 (xstormy16_expand_move): Leave below100 operands as-is.
10518 (xstormy16_encode_section_info): Encode below100 symbols.
10519 (xstormy16_strip_name_encoding): New.
10520 (xstormy16_print_operand): Print 'b' as shift mask.
10521 (xstormy16_attribute_table): Add below100 attributes.
10522 (xstormy16_handle_below100_attribute): New.
10523
10524 * config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100.
10525 (XSTORMY16_SECTION_FUNCTION): New.
10526 (EXTRA_SECTION_FUNCTIONS): Define using the above.
10527 (ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
10528 (ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols.
10529 (ASM_OUTPUT_LABELREF): Define.
10530
10531 * config/stormy16/stormy16.md (movqi_internal): Add below100 support.
10532 (movhi_internal): Add below100 support.
10533 (andhi3): Add below100 support.
10534 (iorhi3): Add below100 support.
10535 (iorqi3, iorqi3_internal, andqi3, andqi3_internal): New.
10536
4ef47bd8
JW
105372004-08-17 James E Wilson <wilson@specifixinc.com>
10538
10539 * config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead
10540 of VOIDmode for comparison code mode.
10541 * config/mips/mips.md: For conditional move patterns, use mode of
10542 first compare operand for comparison mode, instead of VOIDmode.
e17c734b
JW
10543
10544 * config/mips/mips.md: Add canonical nmadd and nmsub patterns for both
10545 normal and -ffast-math code.
10546
1a10290c
MM
105472004-08-17 Mark Mitchell <mark@codesourcery.com>
10548
10549 PR c++/15871
10550 * doc/invoke.texi (-fkeep-inline-functions): Update documentation.
10551
f4e736dd 105522004-08-17 Robert Bowdidge <bowdidge@apple.com>
6aaf3dde
ZW
10553
10554 * config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags.
f4e736dd 10555
13a98f14
AT
105562004-08-17 Andreas Tobler <a.tobler@schweiz.ch>
10557
10558 * config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause
10559 for non Darwin targets.
10560 (*call_value_nonlocal_darwin64): Likewise.
10561
d0b2079e
FJ
105622004-08-17 Fariborz Jahanian <fjahanian@apple.com>
10563
10564 * config/rs6000/rs6000.c (rs6000_function_value): Check for
10565 altivec mode for altivec return register.
10566
feb3dc8b
DE
105672004-08-17 David Edelsohn <edelsohn@gnu.org>
10568
10569 Revert 2004-08-16 Stan Shebs <shebs@apple.com>
ef0e2729 10570 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
feb3dc8b
DE
10571 * config/rs6000/rs6000.md: Include darwin.md.
10572 (builtin_setjmp_receiver): Add DImode case.
10573 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
10574 Darwin bits.
10575
79fe1b3b
DN
105762004-08-17 Dorit Naishlos <dorit@il.ibm.com>
10577
89b0433e
NS
10578 * tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE
10579 trees.
79fe1b3b
DN
10580 * tree-vectorizer.h: New File: Same.
10581 * Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files.
10582 * common.opt (ftree-vectorize): New flag to enable vectorization.
89b0433e
NS
10583 * timevar.def (TV_TREE_VECTORIZATION): New dump file for
10584 vectorization pass.
79fe1b3b
DN
10585 * tree-data-ref.h (init_data_ref): Additional argument.
10586 (array_base_name_differ_p): Moved to tree-data-ref.c.
10587 * tree-data-ref.c (array_base_name_differ_p): Revised.
10588 (initialize_data_dependence_relation): Call array_base_name_differ_p
10589 with an extra argument.
10590 (analyze_all_data_dependences): Same.
10591 (init_data_ref): Additional argument is_read to set DR_IS_READ.
89b0433e
NS
10592 * tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this
10593 file.
79fe1b3b
DN
10594 * tree-flow.h (vectorize_loops, empty_block_p): Add declaration.
10595 * tree-optimize.c (pass_vectorize): Schedule the vectorization pass.
6aaf3dde 10596 * tree-pass.h (tree_opt_pass pass_vectorize): Declare the new
79fe1b3b
DN
10597 vectorization pass.
10598 * tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize.
10599 (tree_ssa_loop_done): Call scev_finalize.
10600 (tree_vectorize): Define the new vectorization pass.
89b0433e
NS
10601 * defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the
10602 size of the vector they support (until support for multiple vector
10603 sizes is added to the vectorizer).
79fe1b3b
DN
10604 * config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
10605 * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
10606 * invoke.texi (fdump-tree-vect, ftree-vectorize): Add
10607 documentation.
10608
e15987c1
NS
106092004-08-17 Nathan Sidwell <nathan@codesourcery.com>
10610
10611 * objc/objc-act.c (build_protocol_initializer): Fix build_int_cst
10612 usage.
10613 (generate_protocol_list, handle_impent): Likewise.
10614
e3cadb61
RS
106152004-08-17 Roger Sayle <roger@eyesopen.com>
10616
10617 * regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to
10618 ensure that call_used_regs is a superset of both fixed_regs and
10619 call_really_used_regs.
10620
108a579c
DB
106212004-08-17 Daniel Bornstein <danfuzz@milk.com>
10622
10623 PR target/17019
10624 * arm.md (addsi3_cbranch_scratch): Correct case labels.
10625
62fc1d7d
PB
106262004-08-17 Paolo Bonzini <bonzini@gnu.org>
10627
10628 PR middle-end/17036
10629 * fold-const.c (fold): Check for integer operand when
10630 folding (A >> N) & 1 ? (1 << N) : 0. Fix from Andrew
10631 Pinski <pinskia@physics.uc.edu>.
10632
7c27e184
PB
106332004-08-17 Paolo Bonzini <bonzini@gnu.org>
10634
10635 * configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
10636 No need to check if in a cross configuration.
10637 * configure: Regenerate.
10638
10639 * calls.c (precompute_register_parameters):
10640 Inline preserve_subexpressions_p ().
10641 * expmed.c (expand_mult_const, emit_store_flag): Likewise.
10642 * optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
10643 Likewise.
10644 * expr.c (get_subtarget): Likewise.
10645 * rtl.h (preserve_subexpressions_p): Remove.
10646 * stmt.c (preserve_subexpressions_p): Remove.
10647
10648 * dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
10649 TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
10650 Abort on gimplified cases.
10651
d97c6333
JW
106522004-08-16 James E Wilson <wilson@specifixinc.com>
10653
10654 * tree.h (VECTOR_FLOAT_TYPE_P): New.
10655 (FLOAT_TYPE_P): Use it.
10656 * c-typeck.c (build_binary_op): After convert calls, check for
10657 check for ERROR_MARK operands.
10658
45c8116d
ZW
106592004-08-16 Zack Weinberg <zack@codesourcery.com>
10660
10661 * Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete.
10662 (BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update.
10663 (genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o.
10664 (genobjs static pattern rule): Remove %.c dependency.
10665 ($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o):
10666 Rename rules; delete commands; fix dependencies.
10667 (mostlyclean): Do not delete temporary source copies.
10668 * configure.ac: Delete all references to BUILD_PREFIX and
10669 BUILD_PREFIX_1.
10670 * configure: Regenerate.
10671
10672 * print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE.
10673 Do not include tree.h, real.h, flags.h, hard-reg-set.h, or
10674 basic-block.h #ifdef GENERATOR_FILE. Surround some more code
10675 with #ifndef GENERATOR_FILE so that nothing from those headers
10676 is used.
10677
10678 * rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE.
10679
4d73e20b
AN
106802004-08-16 Adam Nemet <anemet@lnxw.com>
10681
10682 * Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB).
6aaf3dde 10683
62114438
AP
106842004-08-16 Andrew Pinski <apinski@apple.com>
10685
10686 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove
10687 extraneous semicolon.
10688
8e3e233b
DP
106892004-08-16 Devang Patel <dpatel@apple.com>
10690
10691 * c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
10692 * print-tree.c (print_node): Print DECL_PRESERVE_P.
10693 * target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define.
10694 (TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED
10695 * target.h (struct gcc_target): New member, mark_decl_preserved.
45c8116d
ZW
10696 * hooks.c (hook_void_charptr): Rename to ...
10697 (hook_void_constcharptr): ... new name.
10698 * hooks.h (hook_void_charptr): Rename to ..
10699 (hook_void_constcharptr): ... new name.
8e3e233b
DP
10700 * tree.h (DECL_PRESERVE_P): New #define.
10701 (struct tree_decl): New member, preserve_flag.
10702 * varasm.c (assemble_start_function): Mark decl preserved.
10703 (assemble_variable): Same.
10704 * darwin.c (darwin_mark_decl_preserved): New function.
10705 * darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define.
10706 * darwin-protos.h (darwin_mark_decl_preserved): New decl.
10707 * doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document.
10708
580b3958
JM
107092004-08-16 Joseph S. Myers <jsm@polyomino.org.uk>
10710
10711 * c-decl.c (grokdeclarator): Allow for function definition where
10712 innermost declarator has attributes.
10713
93f90be6
FJ
107142004-08-16 Fariborz Jahanian <fjahanian@apple.com>
10715
10716 * except.c (get_exception_filter, build_post_landing_pads,
10717 dw2_build_landing_pads): Use target-specific mode for 'filter'.
10718 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): macro defined and used.
10719 * target.h (eh_return_filter_mode): New field added.
10720 * targhooks.c (default_eh_return_filter_mode): Defined.
10721 * targhooks.h (default_eh_return_filter_mode): Declared.
10722 * config/rs6000/rs6000.c (rs6000_eh_return_filter_mode): Defined.
10723
392765bf
NN
107242004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
10725
10726 * configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with
10727 ACX_NONCANONICAL_TARGET; remove now-unneeded AC_SUBST.
10728 * configure: Regenerate.
10729
49bd1d27
SS
107302004-08-16 Stan Shebs <shebs@apple.com>
10731
10732 Basic support for 64-bit Darwin.
10733 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
10734 (machopic_legitimize_pic_address): Similarly, plus use Pmode
10735 instead of SImode.
10736 * config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit.
10737 (TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro.
10738 (SUBTARGET_SWITCHES): Add -m32 and -m64 flags.
10739 (SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64.
10740 (PROCESSOR_DEFAULT64): Define.
10741 * config/rs6000/darwin.md: New file, patterns specific to 64-bit
10742 Darwin.
10743 * config/rs6000/rs6000.md: Include darwin.md.
10744 (builtin_setjmp_receiver): Add DImode case.
10745 * config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for
10746 Darwin.
10747 (TARGET_ASM_ALIGNED_DI_OP): Ditto.
10748 (rs6000_emit_move): Add DImode case to Darwin bits.
10749 (machopic_output_stub): Use .quad if 64-bit.
10750 * invoke.texi: Document -m32 and -m64.
10751
4e6e4e4c
JJ
107522004-08-16 Janis Johnson <janis187@us.ibm.com>
10753
10754 * doc/extend.texi (AltiVec builtins): Document additional differences
10755 from the Motorola AltiVec PIM.
10756
092313ae
NS
107572004-08-16 Nathan Sidwell <nathan@codesourcery.com>
10758
10759 * c-typeck.c (build_c_cast): Only copy overflow from expr nodes.
10760 * tree.h (IS_NON_TYPE_CODE_CLASS): Simplify.
10761 (struct tree_common): Update public_flag documentation.
10762
dffc9ae5
NN
107632004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
10764
10765 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
62fc1d7d 10766 Check for artificial variables, not is_gimple_tmp_var.
dffc9ae5
NN
10767 * tree-ssa-live.c (var_union): Likewise.
10768
16e9be4c
NS
107692004-08-16 Nathan Sidwell <nathan@codesourcery.com>
10770
10771 * calls.c (load_register_parameters): Remove spurious FIXME token.
10772
9a4d6480
ZL
107732004-08-15 Ziemowit Laski <zlaski@apple.com>
10774
10775 * Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h.
10776 (c-lang.o): Depend on c-objc-common.h.
45c8116d 10777 (c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and
9a4d6480
ZL
10778 c-objc-common.h; remove duplicate $(C_TREE_H) dependency.
10779 * c-lang.c: Include c-objc-common.h.
10780 (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
10781 LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
10782 LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
45c8116d
ZW
10783 LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
10784 LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
9a4d6480
ZL
10785 LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
10786 LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
45c8116d 10787 LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
9a4d6480
ZL
10788 LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
10789 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
10790 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
10791 LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
10792 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
10793 LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
10794 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
10795 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
10796 LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
10797 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
10798 LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
10799 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
10800 LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
10801 LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
10802 LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
10803 LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
10804 Move to c-objc-common.h.
10805 * c-objc-common.c: Include c-objc-common.h.
10806 * c-objc-common.h: New file.
10807
869464ba
AT
108082004-08-15 Andreas Tobler <a.tobler@schweiz.ch>
10809 Andrew Pinski <pinskia@physics.uc.edu>
10810
10811 PR target/14931
10812 * config/rs6000/darwin-tramp.asm (L_abort$stub): Change to new stub
10813 style.
10814
4a90aeeb
NS
108152004-08-15 Nathan Sidwell <nathan@codesourcery.com>
10816
10817 * tree.h (build_int_cst): New.
10818 (build_int_2): Remove.
10819 * tree.c (build_int_2): Remove.
10820 (build_int_cst): New.
10821 (make_vector_type, build_common_tree_nodes,
10822 build_common_tree_nodes_2): Use build_int_cst.
10823 * builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
10824 expand_builtin_strpbrk, expand_builtin_fputs,
10825 build_string_literal, expand_builtin_printf,
10826 expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
10827 fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
10828 fold_builtin_isdigit, simplify_builtin_strstr,
10829 simplify_builtin_strpbrk, fold_builtin_fputs,
10830 simplify_builtin_sprintf): Use build_int_cst.
10831 * c-common.c (start_fname_decls, fix_string_type,
10832 c_common_nodes_and_builtins, c_init_attributes,
10833 shorten_compare): Likewise.
10834 * c-decl.c (complete_array_type,
10835 check_bitfield_type_and_width): Likewise.
10836 * c-lex.c (interpret_integer, lex_charconst): Likewise.
10837 * c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
10838 * c-pretty-print.c (pp_c_integer_constant): Likewise.
10839 * c-typeck.c (really_start_incremental_init, push_init_level,
10840 set_nonincremental_init_from_string): Likewise.
10841 * calls.c (load_register_parameters): Likewise.
10842 * convert.c (convert_to_pointer): Likewise.
10843 * coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
10844 build_fn_info_type, build_ctr_info_value, build_gcov_info):
10845 Likewise.
10846 * except.c (init_eh, assign_filter_values, assign_filter_values):
10847 Likewise.
10848 * expmed.c (store_fixed_bit_field, extract_bit_field,
10849 extract_fixed_bit_field, extract_split_bit_field, expand_shift,
10850 expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
10851 expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
10852 * expr.c (convert_move, emit_group_load, emit_group_store,
10853 expand_assignment, store_constructor, store_field,
10854 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
10855 * fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
10856 invert_truthvalue, optimize_bit_field_compare,
10857 decode_field_reference, all_ones_mask_p, constant_boolean_node,
10858 fold_div_compare, fold, fold_read_from_constant_string,
10859 fold_negate_const, fold_abs_const, fold_not_const): Likewise.
10860 * function.c (assign_parm_setup_block): Likewise.
10861 * stmt.c (shift_return_value, expand_end_case_type,
10862 estimate_case_costs): Likewise.
10863 * stor-layout.c (layout_type, initialize_sizetypes,
10864 set_min_and_max_values_for_integral_type): Likewise.
10865 * tree-chrec.c (chrec_fold_multiply_poly_poly,
10866 reset_evolution_in_loop): Likewise.
10867 * tree-chrec.h (build_polynomial_chrec): Likewise.
10868 * tree-complex.c (build_replicated_const): Likewise.
10869 * tree-eh.c (honor_protect_cleanup_actions,
10870 lower_try_finally_onedest, lower_try_finally_copy,
10871 lower_try_finally_switch): Likewise.
10872 * tree-mudflap.c (mf_build_string, mx_register_decls,
10873 mudflap_register_call, mudflap_enqueue_constant): Likewise.
10874 * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
10875 * tree-pretty-print.c (dump_generic_node): Likewise.
10876 * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
10877 Likewise.
10878 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
10879 * tree-ssa-loop-niter.c (number_of_iterations_cond,
10880 loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
10881 Likewise.
45c8116d 10882
4a90aeeb
NS
10883 * config/alpha/alpha.c (alpha_initialize_trampoline,
10884 alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
10885 * config/arm/arm.c (arm_get_cookie_size): Likewise.
10886 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
10887 * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
10888 * config/i860/i860.c (i860_va_start): Likewise.
10889 * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
10890 * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
10891 mips_gimplify_va_arg_expr): Likewise.
10892 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
10893 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
10894 add_compiler_branch_island): Likewise.
10895 * config/s390/s390.c (s390_va_start): Likewise.
10896 * config/sh/sh.c (sh_va_start): Likewise.
10897 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
10898 Likewise.
10899 * config/xtensa/xtensa.c (xtensa_va_start,
10900 xtensa_gimplify_va_arg_expr): Likewise.
45c8116d 10901
4a90aeeb
NS
10902 * objc/objc-act.c (build_objc_string_object,
10903 build_objc_symtab_template, init_def_list, init_objc_symtab,
10904 init_module_descriptor, generate_static_references,
10905 build_selector_translation_table, get_proto_encoding,
10906 build_typed_selector_reference, build_selector_reference,
10907 build_next_objc_exception_stuff,
10908 build_method_prototype_list_template, generate_descriptor_table,
10909 generate_protocols, build_protocol_initializer,
10910 build_ivar_list_template, build_method_list_template,
10911 build_ivar_list_initializer, generate_ivars_list,
10912 generate_dispatch_table, generate_protocol_list,
10913 build_category_initializer, build_shared_structure_initializer,
10914 generate_shared_structures, handle_impent,
10915 generate_objc_image_info): Use build_int_cst.
10916
2a68a7de
BE
109172004-08-15 Ben Elliston <bje@au.ibm.com>
10918
10919 * vec.h: Comment improvements.
10920
53fb4de3
RS
109212004-08-14 Roger Sayle <roger@eyesopen.com>
10922
10923 * c-common.c (shorten_compare, pointer_int_sum,
10924 c_common_truthvalue_conversion, boolean_increment): Replace calls
10925 to build with calls to buildN.
10926 * c-decl.c (complete_array_type, grokdeclarator): Likewise.
10927 * c-gimplify.c (c_build_bind_expr, gimplify_c_loop,
10928 gimplify_switch_stmt): Likewise.
10929 * c-typeck.c (default_function_array_conversion,
10930 build_component_ref, build_array_ref, build_function_call,
10931 pointer_diff, build_unary_op, build_conditional_expr,
10932 build_compound_expr, build_modify_expr, c_finish_goto_label,
10933 c_finish_goto_ptr, c_finish_return, c_finish_loop,
10934 c_finish_bc_stmt, c_finish_stmt_expr, c_end_compound_stmt,
10935 build_binary_op): Likewise.
10936
254b17dd
SB
109372004-08-15 Steven Bosscher <stevenb@suse.de>
10938
10939 * rtl.c (note_insn_name): Add NOTE_DISABLE_SCHED_OF_BLOCK.
10940
a5252c84
JDA
109412004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10942
10943 * fixinc/inclhack.def (stdio_va_list): Also fix com_err.h, cps.h,
10944 curses.h, krb5.h, lc_core.h, pfmt.h, wchar.h and curses_colr/curses.h.
10945 * fixinc/fixincl.x: Rebuilt.
10946
96a30b18
RS
109472004-08-14 Richard Sandiford <rsandifo@redhat.com>
10948
10949 * config/mips/mips-protos.h (mips_symbolic_constant_p)
10950 (mips_atomic_symbolic_constant_p, mips_stack_address_p)
10951 (mips_small_data_pattern_p): Declare.
10952 * config/mips/mips.h (CONST_GP_P): Moved from mips.c.
10953 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
10954 * config/mips/mips.c (mips_symbolic_constant_p): Make global.
10955 (mips_atomic_symbolic_constant_p, mips_stack_address_p): New functions.
10956 (uns_arith_operand, const_arith_operand, arith_operand, sle_operand)
10957 (sleu_operand, small_int, reg_or_0_operand, const_float_1_operand)
10958 (reg_or_const_float_1_operand, hilo_operand, extend_operator)
10959 (macc_msac_operand, equality_op, cmp_op, trap_cmp_op)
10960 (pc_or_label_operand, call_insn_operand, move_operand)
10961 (consttable_operand, symbolic_operand, general_symbolic_operand)
10962 (global_got_operand, local_got_operand, stack_operand)
10963 (fp_register_operand, lo_operand, fcc_register_operand): Delete.
10964 (mips_small_data_pattern_1): Renamed from small_data_pattern_1.
10965 (mips_small_data_pattern_p): Replace previous small_data_pattern
10966 predicate. Turn into a bool () (rtx) function.
10967 * config/mips/predicates.md: New file.
10968 * config/mips/mips.md: Include it. Use the target-independent
10969 comparison_operator instead of cmp_op. Rename trap_cmp_op to
10970 trap_comparison_operator and equality_op to equality_operator.
10971 Replace uses of small_int with the equivalent const_arith_operand.
10972 Rename reg_or_const_float_1_operand to reg_or_1_operand. Rename
10973 const_float_1_operand to const_1_operand. Rename fcc_register_operand
10974 to fcc_reload_operand.
10975 * config/mips/sb1.md: Rename fp_register_operand to fpr_operand.
10976
e41c9fcb
JDA
109772004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10978
10979 PR libstdc++/17005 partial fix.
10980 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE
10981 except when generating ANSI/C89 code.
10982
af9c6659
NS
109832004-08-14 Nathan Sidwell <nathan@codesourcery.com>
10984
10985 * c-common.c (shorten_compare): Use force_fit_type directly.
10986
37de1373
GP
109872004-08-14 Gerald Pfeifer <gerald@pfeifer.com>
10988 Dimitri Papadopoulos-Orfanos <papadopo@shfj.cea.fr>
10989 Dave Korn <dk@artimi.com>
10990
10991 * doc/install.texi (Building): Avoid duplicate reference to GNU
10992 make requirement.
10993 (*-*-solaris2*): Do not recommend GNU make any longer. Simplify.
10994
06d69cd3
RH
109952004-08-14 Richard Henderson <rth@redhat.com>
10996
10997 * config/alpha/alpha.h (PROMOTE_MODE): Don't promote vector types.
10998 * config/alpha/alpha.c (function_value): Use PROMOTE_MODE.
10999
e427abbf
RH
110002004-08-13 Richard Henderson <rth@redhat.com>
11001
11002 * config/i386/i386.md (call_1, sibcall_1, call_1_rex64): Use Pmode
11003 for constant_call_address_operand.
11004 (call_value_pop_1, call_value_1): Likewise.
11005 (sibcall_value_1, call_value_1_rex64): Likewise.
11006
2b407936
JW
110072004-08-13 James E Wilson <wilson@specifixinc.com>
11008
11009 * config/mips/sb1.md (ir_sb1_divdf_2pipes, ir_sb1_divdf_1pipe):
11010 Correct mode from SFmode to DFmode.
11011
3e0d5ae2
ZL
110122004-08-13 Ziemowit Laski <zlaski@apple.com>
11013
11014 * config/darwin.h (EXTRA_SECTION_FUNCTIONS): Mark the __sel_fixup,
11015 __cstring_object and __image_info sections with the no_dead_strip
11016 attribute.
11017
e0704143
RS
110182004-08-13 Roger Sayle <roger@eyesopen.com>
11019 David Billinghurst <David.Billinghurst@riotinto.com>
11020
11021 PR libgfortran/15930
11022 * fixinc/inclhack.def (irix___generic1, irix___generic2): New.
11023 * fixinc/fixincl.x: Regenerate.
11024 * fixinc/tests/base/internal/math_core.h: New file.
11025
8768c655
RH
110262004-08-13 Richard Henderson <rth@redhat.com>
11027
11028 * dbxout.c (NO_DBX_FUNCTION_END): Default to zero.
11029 (dbxout_function_end): Remove ifdefs for it.
11030 (dbxout_begin_prologue): Protect N_BNSYM with it, and gdb extensions.
11031
201312c2
RH
110322004-08-13 Richard Henderson <rth@redhat.com>
11033
11034 * Makefile.in (insn-preds.o): Depend on TREE_H.
11035 * genpreds.c (write_insn_preds_c): Include tree.h.
11036 * config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand,
11037 reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand,
11038 const48_operand, and_operand, or_operand, mode_width_operand,
11039 mode_mask_operand, mul8_operand, const0_operand,
11040 hard_fp_register_operand, hard_int_register_operand,
11041 reg_or_cint_operand, some_operand, some_ni_operand, input_operand,
11042 samegp_function_operand, direct_call_operand, small_symbolic_operand,
45c8116d 11043 global_symbolic_operand, call_operand, symbolic_operand,
201312c2
RH
11044 dtp16_symbolic_operand, dtp32_symbolic_operand,
11045 gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand,
11046 gottp_symbolic_operand, alpha_comparison_operator,
11047 alpha_zero_comparison_operator, alpha_swapped_comparison_operator,
11048 signed_comparison_operator, alpha_fp_comparison_operator,
11049 divmod_operator, fix_operator, aligned_memory_operand,
11050 unaligned_memory_operand, reg_or_unaligned_mem_operand,
11051 any_memory_operand, reg_not_elim_operand, normal_memory_operand,
11052 reg_no_subreg_operand, addition_operation): Move to predicates.md.
11053 (reg_or_const_int_operand): Remove. Replace all users with
11054 reg_or_cint_operand.
11055 (tls_symbolic_operand_1): Export. Don't check mode or for CONST.
11056 (resolve_reload_operand): Split out of aligned_memory_operand.
11057 * config/alpha/alpha-protos.h: Update for exports.
11058 * config/alpha/alpha.h (PREDICATE_CODES): Remove.
11059 * config/alpha/alpha.md: Include predicates.md.
11060 * config/alpha/predicates.md: New file.
11061
1e9c8405
RS
110622004-08-13 Richard Sandiford <rsandifo@redhat.com>
11063
11064 * genattrtab.c (insn_ent): Replace insn_code, insn_index and lineno
11065 fields with a pointer to the instruction definition.
11066 (get_attr_value, fill_attr, make_length_attrs, remove_insn_ent)
11067 (insert_insn_ent, simplify_test_exp, optimize_attrs, write_attr_get)
11068 (write_attr_case, write_const_num_delay_slots): Update accordingly.
11069 (write_attr_case, write_const_num_delay_slots): Write the name of
11070 an insn next to its case statement.
11071 * genoutput.c (data): Add a filename field.
11072 (gen_insn, gen_peephole, gen_expand, gen_split): Set it.
11073 (output_insn_data): Print the location of each insn definition.
11074 * genrecog.c (write_action): Print the name of an insn above
11075 the statement that returns its code.
11076
1e5f1716
AP
110772004-08-12 Andrew Pinski <pinskia@physics.uc.edu>
11078
11079 * config/darwin-c.c (find_subframework_file): Fix spelling of cannot.
11080 * config/libgloss.h: Likewise.
11081 * config/arm/arm.c (arm_gen_load_multiple): Likewise.
11082 * c4x/c4x-modes.def: Likewise.
11083 * config/c4x/c4x.c (c4x_hard_regno_rename_ok): Likewise.
11084 (c4x_rptb_nop_p): Likewise.
11085 (c4x_rptb_valid_p): Likewise.
11086 (c4x_rptb_insert): Likewise.
11087 (c4x_address_conflict): Likewise.
11088 * config/c4x/c4x.md: Likewise.
11089 * config/frv/frv.md: Likewise.
11090 * config/i386/athlon.md: Likewise.
11091 * config/i386/i386.md: Likewise.
11092 * config/i386/predicates.md: Likewise.
11093 * config/ia64/ia64.c: Likewise.
11094 * config/ia64/itanium1.md: Likewise.
11095 * config/ia64/itanium2.md: Likewise.
11096 * config/iq2000/iq2000.md: Likewise.
11097 * config/mcore/mcore.c: Likewise.
11098 * config/mips/mips.c: Likewise.
11099 * config/mips/r3900.h: Likewise.
11100 * config/mips/sb1.md: Likewise.
11101 * config/pa/milli64.S: Likewise.
11102 * config/pa/pa.c: Likewise.
11103 * config/pa/pa.h: Likewise.
11104 * config/rs6000/8540.md: Likewise.
11105
9bcc9490
DB
111062004-08-13 Daniel Berlin <dberlin@dberlin.org>
11107
11108 * Makefile.in (BOOT_CFLAGS): Remove accidental addition of -dU.
11109
68fe56fc
R
111102004-08-13 J"orn Rennecke <joern.rennecke@superh.com>
11111
11112 * sh.md (cbranch define_delay) Use cond_delay_slot for
11113 non-anulled condition too.
11114
85d346f1
DE
111152004-08-12 David Edelsohn <edelsohn@gnu.org>
11116
11117 * config/rs6000/rs6000.c (any_parallel_operand): New predicate.
11118 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
11119 any_parallel_operand, lmw_operation, stmw_operation,
a688b3ac 11120 mfcr_operation, mtcrf_operation. Remove PARALLEL from any_operand.
85d346f1
DE
11121 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Use
11122 any_parallel_operand.
11123 (return_and_restore_fpregs_{si,di}): Same.
11124
47d2cee5
ZW
111252004-08-12 Zack Weinberg <zack@codesourcery.com>
11126
11127 * genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL,
11128 if pred->singleton != PARALLEL, issue a warning and pretend it was.
11129 Also issue a warning for any predicate we don't know about.
11130
8fe75e43
RH
111312004-08-12 Richard Henderson <rth@redhat.com>
11132
11133 * config/i386/i386.c (internal_label_prefix): Export.
11134 (internal_label_prefix_len, struct ix86_address,
11135 ix86_decompose_address, maybe_get_pool_constant,
11136 ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes,
11137 memory_address_length): Export.
47d2cee5 11138 (any_fp_register_operand, fp_register_operand,
8fe75e43 11139 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand,
47d2cee5 11140 x86_64_general_operand, x86_64_szext_general_operand,
8fe75e43
RH
11141 x86_64_nonmemory_operand, x86_64_movabs_operand,
11142 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
11143 x86_64_zext_immediate_operand, const_int_1_31_operand,
11144 symbolic_operand, pic_symbolic_operand, local_symbolic_operand,
11145 tls_symbolic_operand, global_dynamic_symbolic_operand,
11146 local_dynamic_symbolic_operand, initial_exec_symbolic_operand,
11147 local_exec_symbolic_operand, call_insn_operand, sibcall_insn_operand,
11148 constant_call_address_operand, const0_operand, const1_operand,
11149 const248_operand, const_0_to_3_operand, const_0_to_7_operand,
11150 const_0_to_15_operand, const_0_to_255_operand, incdec_operand,
11151 shiftdi_operand, reg_no_sp_operand, mmx_reg_operand,
11152 general_no_elim_operand, nonmemory_no_elim_operand,
11153 index_register_operand, q_regs_operand, flags_reg_operand,
11154 non_q_regs_operand, zero_extended_scalar_load_operand,
11155 vector_move_operand, no_seg_address_operand, sse_comparison_operator,
47d2cee5 11156 ix86_comparison_operator, ix86_carry_flag_operator,
8fe75e43
RH
11157 fcmov_comparison_operator, promotable_binary_operator,
11158 cmp_fp_expander_operand, ext_register_operand, binary_fp_operator,
47d2cee5 11159 mult_operator, div_operator, arith_or_logical_operator,
8fe75e43
RH
11160 memory_displacement_operand, cmpsi_operand, long_memory_operand,
11161 aligned_operand): Move to predicates.md as define_predicates.
11162 (tls_symbolic_operand_1): Remove.
11163 (x86_64_sign_extended_value): Merge into x86_64_immediate_operand.
11164 (x86_64_zero_extended_value): Merge into x86_64_zext_immediate_operand.
11165 (legitimize_address): Merge tls_symbolic_operand contents.
11166 (ix86_expand_move): Likewise.
11167 * config/i386/i386-protos.h: Update for exports.
11168 * config/i386/i386.h (EXTRA_CONSTRAINT): Update for renames.
11169 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Remove.
11170 * config/i386/i386.md: Include predicates.md.
11171 * config/i386/predicates.md: New file.
11172
ea3d83a7
MM
111732004-08-13 Mark Mitchell <mark@codesourcery.com>
11174
11175 PR c++/16924
11176 * config/i386/winnt.c (i386_pe_mark_dllexport): Set
11177 SYMBOL_REF_DECL.
11178 (i386_pe_mark_dllimport): Likewise.
11179 (i386_pe_encode_section_info): Likewise, when overriding
11180 dllimport attribute.
11181
414adbdd
GK
111822004-08-12 Geoffrey Keating <geoffk@apple.com>
11183
11184 * configure.ac: When testing for flex, nm, ar, and bison, check
11185 that they will actually be built.
11186 * configure: Regenerate.
11187
c5443745
UW
111882004-08-12 Ulrich Weigand <uweigand@de.ibm.com>
11189
11190 * config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define.
11191 (MOVE_MAX_PIECES): Define.
11192
8fa5469d
DP
111932004-08-12 Devang patel <dpatel@apple.com>
11194
11195 * dbxout.c (dbxout_begin_prologue): New function.
11196 (dbx_debug_hooks): Use new begin prologue hook.
11197 (dbxout_function_end): Emit N_ENSYM.
11198 * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs.
47d2cee5 11199
b0b343db
JJ
112002004-08-12 Janis Johnson <janis187@us.ibm.com>
11201
e390eb0a
JJ
11202 * config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first
11203 argument is float*.
11204
e34b6648
JJ
11205 * config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type
11206 for vec_dss.
11207
b0b343db
JJ
11208 * doc/extend.texi (AltiVec builtins): Fix description for recent
11209 changes. Update operation list to match current support.
11210
adf39f8f
AK
112112004-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
11212
11213 * config/s390/s390.c (struct s390_frame_layout): New struct as element
11214 of struct machine_function.
11215 (cfun->machine->frame_size): Moved into cfun->machine->frame_layout and
11216 changed all uses.
11217 (cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and
11218 changed all uses.
11219 (cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size)
11220 (cfun_set_fpr_bit, cfun_fpr_bit_p): New macros.
11221 (s390_frame_area, s390_register_info): New functions.
11222 (s390_optimize_prolog): Renamed to s390_optimize_prologue. Added check
11223 for base register.
11224 (s390_return_addr_rtx, s390_return_address_offset)
11225 (s390_va_start, s390_gimplify_va_arg)
11226 (s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack
11227 layouts.
11228 (s390_frame_info): Functionality partly moved to s390_register_info.
11229 Made adaptions for new stack layout.
11230 (save_gprs, restore_gprs): Changed meaning of second parameter and
11231 adapted all callers.
11232
11233 * config/s390/s390.h (s390_backchain_string): New global variable.
11234 (MASK_BACKCHAIN): Removed definition.
11235 (TARGET_BACKCHAIN): Changed check.
11236 (TARGET_KERNEL_BACKCHAIN): New macro.
11237 (TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain".
11238 (TARGET_OPTIONS): Added "backchain", "no-backchain" and
11239 "kernel-backchain".
11240 (DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts.
11241
11242 * config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN
11243 as condition. Adjusted for new stack layout.
11244
11245 * doc/invoke.texi: Added documentation for new option
11246 "-mkernel-backchain" and adjusted documentation of "-mbackchain" and
11247 "-mno-backchain".
11248
db151e9d
PB
112492004-08-12 Paul Brook <paul@codesourcery.com>
11250
11251 * config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
11252 (aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation.
11253
02b75262
DD
112542004-08-12 David Daney <ddaney@avtrex.com>
11255
db151e9d 11256 * java/gcj.texi: Add subsection on signal usage.
02b75262 11257
f64d6991
DE
112582004-08-12 David Edelsohn <edelsohn@gnu.org>
11259
11260 * expr.c (move_by_pieces): Set alignment for move to minimum of
11261 MOVE_MAX_PIECES mode alignment and the largest non-slow mode
11262 alignment, but not less than the original alignment.
11263 (move_by_pieces_ninsns): Same.
11264 (can_store_by_pieces): Similar for store with STORE_MAX_PIECES.
11265 (store_by_pieces_1): Same.
11266
c597ef4e
DN
112672004-08-12 Diego Novillo <dnovillo@redhat.com>
11268
11269 PR tree-optimization/16867
11270 * tree.c (is_global_var): New function.
11271 (needs_to_live_in_memory): Check for TREE_ADDRESSABLE.
11272 Call is_global_var.
11273 * tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove.
11274 Update all users.
11275 (is_global_var): Declare.
11276 * tree-dfa.c (dump_variable): Display global and addressable
11277 attributes.
11278 (add_referenced_var): Clarify documentation when marking
11279 variables call-clobbered.
11280 * tree-flow-inline.h (is_call_clobbered): Call is_global_var
11281 instead of needs_to_live_in_memory.
11282 (mark_call_clobbered): If the variable is a tag, mark it
11283 DECL_EXTERNAL.
11284 * tree-gimple.c (is_gimple_reg): Don't check for
11285 TREE_ADDRESSABLE.
11286 (is_gimple_non_addressable): Likewise.
11287 * tree-ssa-alias.c (get_nmt_for): Always check whether the tag
11288 needs to be marked call-clobbered.
11289 (setup_pointers_and_addressables): Call is_global_var instead
11290 of needs_to_live_in_memory.
11291 * tree-ssa-dce.c (need_to_preserve_store): Remove.
11292 Update all users with is_global_var.
11293 (mark_stmt_if_obviously_necessary): Fix processing of aliased
11294 stores. Don't check the virtual definitions. Rather, check
11295 whether the store is going into global memory.
11296 (find_obviously_necessary_stmts): Get the symbol from the PHI
11297 result.
11298 * tree-ssa-operands.c (get_call_expr_operands): Do not add
11299 clobbering may-defs if the call does not have side effects.
11300
ab5c8549
JJ
113012004-08-12 Jakub Jelinek <jakub@redhat.com>
11302
11303 PR c++/16276
11304 * output.h (default_function_rodata_section,
11305 default_no_function_rodata_section): New prototypes.
11306 * target.h (struct gcc_target): Add asm_out.function_rodata_section.
11307 * target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
11308 (TARGET_ASM_OUT): Add it.
11309 * varasm.c (default_function_rodata_section,
11310 default_no_function_rodata_section): New functions.
11311 * final.c (final_scan_insn): Call
11312 targetm.asm_out.function_rodata_section instead of
11313 readonly_data_section.
11314 * config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
11315 * config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
11316 * config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
11317 * config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
11318 Likewise.
11319 * config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
11320 * config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
11321 Likewise.
11322 * config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
11323 Likewise.
11324 * config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
11325 * config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
11326 * doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document.
11327
5cf58f28
PB
113282004-08-12 Paul Brook <paul@codesourcery.com>
11329
11330 * dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
11331 frame info.
11332 * doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
11333 DWARF2_UNWIND_INFO.
11334
87e184d1
BE
113352004-08-12 Ben Elliston <bje@au.ibm.com>
11336
11337 PR target/16286
11338 * config/rs6000/altivec.h: Change vector to __vector throughout.
11339 (Except for the `vector' macro itself).
11340
e543e219
ZW
113412004-08-12 Zack Weinberg <zack@codesourcery.com>
11342
11343 * genpreds.c: Add capability to generate predicate bodies as
11344 well as function prototypes. Write function prototypes for
11345 the generic predicates too.
11346 (process_define_predicate, write_tm_preds_h, write_insn_preds_c)
11347 (write_predicate_subfunction, mark_mode_tests, add_mode_tests)
11348 (write_match_code, write_predicate_expr, write_one_predicate_function)
11349 (parse_option): New functions.
11350 (output_predicate_decls): Delete.
11351 (main): Read the machine description, process DEFINE_PREDICATE or
11352 DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
11353 as appropriate.
11354
11355 * genrecog.c (struct decision_test): Replace index with
11356 struct pred_data pointer.
11357 (next_index): Remove, unused.
11358 (pred_table, preds, special_mode_pred_table): Delete.
11359 (compute_predicate_codes, process_define_predicate): New functions.
11360 (validate_pattern, add_to_sequence, write_switch): Update for
11361 new data structures.
11362 (main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
11363 Check both error_count and have_error.
11364
11365 * gensupport.c (in_fname, first_predicate): New globals.
11366 (define_pred_queue, define_pred_tail): New RTL-pattern queue.
11367 (predicate_table, last_predicate, old_pred_table)
11368 (old_special_pred_table): New statics.
11369 (hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
11370 (add_predicate, init_predicate_table): New functions.
11371 (process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
11372 (init_md_reader_args_cb): Use the global in_fname. No need to zero
11373 it or max_include_len. Call init_predicate_table.
11374 (read_rtx): Run the predicate queue after the attribute queue
11375 but before all the others.
11376 * gensupport.h (in_fname, struct pred_data, first_predicate)
11377 (lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
11378 * rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
11379 (DEFINE_SPECIAL_PREDICATE): New RTL codes.
11380 * dummy-conditions.c: Don't include bconfig.h, system.h,
11381 coretypes.h, tm.h, or system.h. Do include stddef.h.
11382 Duplicate declaration of struct c_test from gensupport.h.
11383
11384 * Makefile.in (OBJS-common): Add insn-preds.o.
11385 (STAGESTUFF, .PRECIOUS): Add insn-preds.c.
11386 (insn-preds.c, insn-preds.o): New rules.
11387 (s-preds): Also generate insn-preds.c.
11388 (dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
11389 Update dependencies.
11390 (print-rtl.o, print-rtl1.o): Correct dependencies.
11391
11392 * recog.h: Delete prototypes of predicate functions.
11393
11394 * doc/md.texi (Predicates): New section with complete
11395 documentation of operand/operator predicates. Remove some
11396 incomplete documentation of predicates from other places.
11397 * doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
11398 PREDICATE_CODES; indicate that both are deprecated in favor
11399 of define_predicate/define_special_predicate.
11400
11401 * config/ia64/ia64.c: All predicate function definitions moved
11402 to ia64.md, except
11403 (small_addr_symbolic_operand, tls_symbolic_operand): Delete.
11404 (ia64_expand_load_address, ia64_expand_move):
11405 Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.
11406
11407 * config/ia64/ia64.md: All predicates now defined here.
11408 (symbolic_operand): Is now a special predicate.
11409
11410 * config/ia64/ia64.h: Declare ia64_section_threshold.
11411 (PREDICATE_CODES): Delete.
11412
174283a3
RH
114132004-08-12 Richard Henderson <rth@redhat.com>
11414
11415 * c-common.h (STATEMENT_LIST_HAS_LABEL): New.
11416 * c-semantics.c (add_stmt): Set it.
11417 * c-decl.c (finish_decl): Use it to create a new BIND_EXPR
11418 before instantiating a variable sized type.
11419
15931954
RH
114202004-08-12 Richard Henderson <rth@redhat.com>
11421
11422 * stor-layout.c (round_up, round_down): Move ...
e543e219 11423 * fold-const.c (round_up, round_down): ... here. Use
15931954
RH
11424 multiple_of_p to avoid any arithmetic at all.
11425
57d1dd87
RH
114262004-08-12 Richard Henderson <rth@redhat.com>
11427
11428 * gimplify.c (struct gimplify_init_ctor_preeval_data): New.
11429 (gimplify_init_ctor_preeval_1): New.
11430 (gimplify_init_ctor_preeval): New.
11431 (gimplify_init_ctor_eval): New.
11432 (gimplify_init_constructor): Use them. Always gimplify the LHS
11433 object first.
11434
46e34f96
ZL
114352004-08-12 Ziemowit Laski <zlaski@apple.com>
11436
11437 (This patch is part of merge of objc-improvements-branch
11438 into mainline.)
11439
11440 * doc/frontends.texi: Mention Objective-C++ in addition to
11441 Objective-C.
11442 * doc/install.texi: Add 'obj-c++' to list of configurable
11443 languages.
11444 * doc/invoke.texi: Rename Objective-C option headings to
11445 indicate they also apply to Objective-C++. List file
11446 extensions for Objective-C++ sources. Mention that
11447 ObjC and ObjC++ compilations may also use C and C++ options,
11448 respectively. Point users to doc/standards.texi for
11449 further info on ObjC and ObjC++.
11450 * doc/sourcebuild.texi: Mention the objcp/ directory and
11451 the Objective-C++ sources it contains.
11452 * doc/standards.texi: Update link to Apple ObjC site;
11453 add link to gcc readings.html WWW doc.
11454
07f12d8b
AM
114552004-08-12 Alan Modra <amodra@bigpond.net.au>
11456
11457 * config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
11458 and 2004-07-14 changes.
11459
89aa5a20
PB
114602004-08-12 Paul Brook <paul@codesourcery.com>
11461
11462 * doc/invoke.texi: Fix typo.
11463
5079843a
DP
114642004-08-11 Devang Patel <dpatel@apple.com>
11465
11466 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
11467 and -no_dead_strip_inits_and_terms.
11468 (LINK_SPEC): Same.
11469 * doc/invoke.texi (Darwin Options): Document -dead_strip and
11470 -no_dead_strip_inits_and_terms.
e543e219 11471
876f13b0
PB
114722004-08-11 Paul Brook <paul@codesourcery.com>
11473
11474 * config/arm/arm-protos.h (arm_finalize_pic) Rename ...
11475 (arm_load_pic_register): ... to this.
11476 * config/arm/arm.c (arm_finalize_pic): Rename ...
11477 (arm_load_pic_register): ... to this. Always output insns at the
11478 current location. Load via low reg in thumb mode.
11479 (arm_expand_prologue): Call arm_load_pic_register.
11480 (thumb_expand_prologue): Ditto.
11481 * config/arm/arm.h (FINALIZE_PIC): Remove.
11482 * config/arm/arm.md (builtin_setjmp_receiver): Call
11483 arm_load_pic_register.
11484
57934c39
PB
114852004-08-11 Paul Brook <paul@codesourcery.com>
11486
11487 * arm.c (thumb_force_lr_save): Add prototype.
11488 (thumb_compute_save_reg_mask): New function.
11489 (thumb_find_work_register): New function.
11490 (arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
11491 (thumb_unexpanded_epilogue): Ditto. Remove redundant code.
11492 Don't clobber r3 when removing pretend args.
11493 (thumb_expand_prologue): Use thumb_compute_save_reg_mask.
11494 (thumb_output_function_prologue): Use new functions.
11495 (thumb_set_return_address): Use thumb_compute_save_reg_mask.
11496 * arm.h (THUMB_REG_PUSHED_P): Remove.
11497
af874237
JW
114982004-08-11 James E Wilson <wilson@specifixinc.com>
11499
11500 PR rtl-optimization/16490
11501 * cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
11502 global_live_at_end for new basic block if already set for other blocks.
11503
c1618c0c
DE
115042004-08-11 David Edelsohn <edelsohn@gnu.org>
11505
11506 * config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
11507
11508 * config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8.
11509 (mfcr rlwinm rlwinm patterns): Set length to 12.
11510
1a24f92f
AM
115112004-08-11 Andrew MacLeod <amacleod@redhat.com>
11512
11513 * tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops,
11514 get_vuse_ops,get_v_must_def_ops): Add operand structure reference.
11515 (get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct.
11516 (start_ssa_stmt_operands): Delete.
e543e219 11517 * tree-flow.h (struct stmt_ann_d): Replace operand vectors with new
1a24f92f
AM
11518 struct stmt_operands_d.
11519 (build_ssa_operands): New extern entry point.
e543e219 11520 * tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand
1a24f92f
AM
11521 building code, replace with create_ssa_artficial_load_stmt().
11522 * tree-ssa-operands.c (struct voperands_d): Delete.
11523 (allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector.
11524 (allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *).
e543e219 11525 (free_uses, free_defs, free_vuses, free_v_may_defs,
1a24f92f
AM
11526 free_v_must_defs): Remove dealloc parameter.
11527 (remove_vuses, remove_v_may_def, remove_v_must_defs): Delete.
11528 (finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs,
11529 finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand
11530 vector comparisons, ssa_name reuse, and allocations here.
11531 (verify_start_operands): Delete.
11532 (finalize_ssa_stmt_operands): Set new operands by calling finalize
11533 routines.
11534 (start_ssa_stmt_operands): Move from tree-flow-inline.h.
11535 (append_def, append_usei): Simplify to simple accumulation.
11536 (append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding
11537 duplicates and simple accumulation.
11538 (free_ssa_operands): Free vectors in a stmt_operand structure.
11539 (build_ssa_operands): New. Create a new stmt_operand structure from
e543e219 11540 a stmt and an old set of stmt_operands.
1a24f92f
AM
11541 (get_stmt_operands): Simplify and call build_ssa_operands.
11542 (get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands,
11543 get_call_expr_operands, add_stmt_operand, add_call_clobber_ops,
11544 add_call_read_ops): Don't pass prev_vops around anymore.
11545 (note_addressable): Return if no stmt annotation.
11546 (copy_virtual_operands): Access v_may_def operands through a struct.
11547 (create_ssa_artficial_load_stmt): New. Create a load stmt for DOM's
11548 hash tables without treating the stmt as a real stmt.
11549 * tree-ssa-operands.h (struct v_may_def_operand_type): New. Access
11550 v_may_def def and use through a struct instead of 2 array elements.
11551 (struct v_may_def_optype_d): Use v_may_def_operand_type.
11552 (struct stmt_operands_d): New. Struct for storing all operand vectors.
11553
a77655b1
NC
115542004-08-11 Nick Clifton <nickc@redhat.com>
11555
11556 * config/arm/arm.c (arm_is_longcall_p): Update comment describing
11557 this funciton's behaviour. Return true when the current function
11558 has a section attribute and -mlong-calls is in effect.
11559 * config/arm/arm.h (ARM_DECLARE_FUNCTION_SIZE): Do not set the
11560 short-call marker when -mlong-calls is in effect and the function
11561 has a section attribute.
11562
6f4a43e0
ZW
115632004-08-10 Zack Weinberg <zack@codesourcery.com>
11564
11565 * stmt.c (expand_return): If asked to return the RESULT_DECL,
11566 just call expand_value_return on result_rtl.
11567
1a186ec5
RH
115682004-08-10 Richard Henderson <rth@redhat.com>
11569
11570 * builtins.def (BUILT_IN_STACK_ALLOC): Remove.
11571 * builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
11572 * dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
11573 (add_location_or_const_value_attribute): ... not here. Use
11574 loc_descriptor_from_tree if possible.
11575 (loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
11576 Simplify address handling. Handle DECL_VALUE_EXPR. Handle register
11577 values specially.
11578 (loc_descriptor_from_tree): New. Update callers.
11579 * expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
11580 * gimplify.c (gimplify_decl_expr): Lower variable sized types to
11581 pointer plus dereference. Set DECL_VALUE_EXPR. Set save_stack.
11582 (gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
11583 and BUILT_IN_STACK_RESTORE.
11584 (gimplify_expr): Lower DECL_VALUE_EXPR decls.
11585 * stmt.c (expand_stack_alloc): Remove.
11586 * tree-mudflap.c (mx_register_decls): Don't look for
11587 BUILT_IN_STACK_ALLOC.
11588 * tree-nested.c (convert_local_reference): Likewise.
11589 * tree.h (DECL_VALUE_EXPR): New.
11590
7109c195
RH
115912004-08-10 Richard Henderson <rth@redhat.com>
11592
bf4ccdd6
RH
11593 * stor-layout.c (round_up): Check for 0/1 before dividing.
11594 (round_down): Likewise.
11595
7109c195
RH
11596 * tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL.
11597
b3f8d95d
MM
115982004-08-09 Mark Mitchell <mark@codesourcery.com>
11599
11600 * config.gcc (arm*-*-eabi*): New target.
11601 * defaults.h (TARGET_LIBGCC_FUNCS): New macro.
11602 (TARGET_LIB_INT_CMP_BIASED): Likewise.
11603 * expmed.c (expand_divmod): Try a two-valued divmod function as a
11604 last resort.
11605 * gthr.h: Remove bogus tokens at end of #pragma.
11606 * optabs.c (expand_twoval_binop_libfunc): New function.
11607 (prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
11608 (prepare_float_lib_cmp): Try reversing the condition.
11609 (debug_optab_libfuncs): New function.
11610 * optabs.h (expand_twoval_binop_libfunc): Declare.
11611 * config/arm/arm.c (arm_init_libfuncs): New function.
11612 (arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
11613 (TARGET_INIT_LIBFUNCS): Define it.
11614 * config/arm/arm.h (TARGET_BPABI): New macro.
11615 * config/arm/arm-protos.h
11616 (arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
11617 * config/arm/bpabi.S: New file.
11618 * config/arm/bpabi.c: Likewise.
11619 * config/arm/bpabi.h: Likewise.
11620 * config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
11621 (__aeabi_drsub): Likewise.
11622 (__aeabi_dsub): Likewise.
11623 (__aeabi_dadd): Likewise.
11624 (__aeabi_ui2d): Likewise.
11625 (__aeabi_i2d): Likewise.
11626 (__aeabi_f2d): Likewise.
11627 (__aeabi_dmul): Likewise.
11628 (__aeabi_ddiv): Likewise.
11629 (__aeabi_cdrcmple): Likewise.
11630 (__aeabi_cdcmpeq): Likewise.
11631 (__aeabi_cdcmple): Likewise.
11632 (__aeabi_dcmpeq): Likewise.
11633 (__aeabi_dcmplt): Likewise.
11634 (__aeabi_dcmple): Likewise.
11635 (__aeabi_dcmpge): Likewise.
11636 (__aeabi_dcmpgt): Likewise.
11637 (__aeabi_dcmpun): Likewise.
11638 (__aeabi_d2iz): Likewise.
11639 (__aeabi_d2uiz): Likewise.
11640 (__aeabi_d2f): Likewise.
11641 * config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
11642 (__aeabi_frsub): Likewise.
11643 (__aeabi_fsub): Likewise.
11644 (__aeabi_fadd): Likewise.
11645 (__aeabi_ui2f): Likewise.
11646 (__aeabi_i2f): Likewise.
11647 (__aeabi_fmul): Likewise.
11648 (__aeabi_fdiv): Likewise.
11649 (__aeabi_cfrcmple): Likewise.
11650 (__aeabi_cfcmpeq): Likewise.
11651 (__aeabi_cfcmple): Likewise.
11652 (__aeabi_fcmpeq): Likewise.
11653 (__aeabi_fcmplt): Likewise.
11654 (__aeabi_fcmple): Likewise.
11655 (__aeabi_fcmpge): Likewise.
11656 (__aeabi_fcmpgt): Likewise.
11657 (__aeabi_fcmpun): Likewise.
11658 (__aeabi_f2iz): Likewise.
11659 (__aeabi_f2uiz): Likewise.
11660 * config/arm/lib1funcs.asm (ARM_CALL): New macro.
11661 (__aeabi_uidivmod): New function or alias.
11662 (__aeabi_idivmod): Likewise.
11663 (__aeabi_idiv0): Likewise.
11664 (__aeabi_ldiv0): Likewise.
11665 (__aeabi_llsr): Likewise.
11666 (__aeabi_lasr): Likewise.
11667 (__aeabi_llsl): Likewise.
11668 (bpabi.S): Include it.
11669 * config/arm/libgcc-bpabi.ver: New file.
11670 * config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
11671 (LINK_SPEC): Remove.
11672 * config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
11673 __aeabi_ulcmp.
11674 * config/arm/t-bpabi: New file.
11675 * doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
11676 (TARGET_LIB_INT_CMP_BIASED): Likewise.
6f4a43e0 11677
fba73eb1
DE
116782004-08-10 David Edelsohn <edelsohn@gnu.org>
11679
11680 * config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
11681 * config/rs6000/rs6000.md (clrmemsi): New pattern.
11682 * config/rs6000/rs6000.c (expand_block_clear): New function.
11683 (expand_block_move): Convert alignment to bits. Use SImode and
11684 HImode for unaligned addresses if not STRICT_ALIGNMENT.
11685
116862004-08-10 Caroline Tice <ctice@apple.com>
c295317d
CT
11687
11688 * varasm.c (unlikely_section_label): New global variable.
11689 (unlikely_text_section_name): New global variable.
11690 (text_section): Remove alignment statement.
6f4a43e0 11691 (unlikely_text_section): Remove alignment statement; use
c295317d
CT
11692 unlikely_section_label rather than hard-coded string.
11693 (assemble_start_function): Initialize unlikely_section_label and
11694 unlikely_text_section_name; make sure cold section is properly
11695 aligned at start of function; output unlikely_section_label if
11696 appropriate.
11697
68f9c5e2
UW
116982004-08-10 Ulrich Weigand <uweigand@de.ibm.com>
11699
11700 * config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
11701 * config/s390/s390.c (s390_canonicalize_comparison): New function.
11702 * config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
11703 * config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
11704 "*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
11705 ("*tmqi_mem"): Remove SUBREG from pattern.
11706 ("*anddi3_cconly"): Prevent accidentally matching TM pattern.
11707 ("*andsi3_cconly"): Likewise.
6f4a43e0 11708
22116d84
L
117092004-08-10 H.J. Lu <hongjiu.lu@intel.com>
11710
11711 PR target/16909
11712 * config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.
11713
c75095b2
JJ
117142004-08-10 Janis Johnson <janis187@us.ibm.com>
11715
11716 * doc/sourcebuild.texi (compat testing): Document available test
11717 framework commands. Use the preferred spelling of DejaGnu.
11718
98975653
DB
117192004-08-10 Daniel Berlin <dberlin@dberlin.org>
11720
11721 * lambda.h: Add matrix type, and prototypes for remainder of
11722 matrix and vector functions.
11723 (lambda_vector_mult_const): New function.
11724 (lambda_vector_negate): Ditto.
11725 (lambda_vector_add): Ditto.
11726 (lambda_vector_add_mc): Ditto.
11727 (lambda_vector_copy): Ditto.
11728 (lambda_vector_zerop): Ditto.
11729 (lambda_vector_equal): Ditto.
11730 (lambda_vector_min_nz): Ditto.
11731 (lambda_vector_first_nz): Ditto.
11732 (lambda_vector_matrix_mult): Ditto.
11733 * lambda-mat.c: New file.
11734 * Makefile.in (lambda-mat.o): New.
11735
68b9f53b
AM
117362004-08-10 Andrew MacLeod <amacleod@redhat.com>
11737
11738 * tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
11739 after linking stmt into the program.
11740 (bsi_remove): Don't call modify_stmt.
6f4a43e0 11741 * tree-complex.c (update_complex_assignment,
68b9f53b 11742 expand_complex_comparison): Call modify_stmt after changing the stmt.
6f4a43e0 11743 * tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not
68b9f53b
AM
11744 removing the stmt.
11745 * tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
11746 the stmt, and only if needed.
11747 * tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
11748 expression.
11749 (simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
11750 (simplify_cond_and_lookup_avail_expr): Use modify_stmt.
11751 (simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
6f4a43e0 11752 (eliminate_redundant_computations): Don't pass an annotation. Call
68b9f53b
AM
11753 modify_stmt rather than setting the annotation directly.
11754 (record_equivalences_from_stmt): Remove unused local 'j'.
11755 (cprop_operand): Take a stmt rather than an annotation as a parameter.
11756 Call modify_stmt.
11757 (cprop_into_stmt): Pass stmt rather than annotation.
11758 (update_rhs_and_lookup_avail_expr): Call modify_stmt.
6f4a43e0 11759 * tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than
68b9f53b
AM
11760 modify_stmt.
11761 * tree-ssa.c (propagate_into_addr): Dont call modify_stmt.
11762
01c98570
JM
117632004-08-10 Jason Merrill <jason@redhat.com>
11764
6c9c4526 11765 PR middle-end/16948
01c98570
JM
11766 * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
11767 the RESULT_DECL.
11768
b2ddaebb
GK
117692004-08-10 Geoffrey Keating <geoffk@apple.com>
11770
11771 * tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
11772 hash function.
11773
23657388
RS
117742004-08-10 Roger Sayle <roger@eyesopen.com>
11775
11776 * config/mips/mips.md: New reciprocal square root patterns that
11777 match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.
11778
c9ca9b88
PB
117792004-08-10 Paul Brook <paul@codesourcery.com>
11780
11781 * config/arm/arm-protos.h (arm_set_return_address,
11782 thumb_set_return_address): Add prototypes.
11783 * config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
11784 * config/arm/arm.c (arm_compute_func_type,
11785 use_return_insn, arm_compute_save_reg0_reg12_mask,
11786 arm_compute_save_reg_mask, arm_output_function_prologue,
11787 arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
11788 current_function_calls_eh_return.
11789 (thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
11790 old eh code.
11791 (arm_set_return_address, thumb_set_return_address): New functions.
11792 * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
11793 ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
11794 * config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
11795 (epilogue): Use the stackadj register.
11796 (eh_return, arm_eh_return, thumb_eh_return): New pattern.
11797
45d78e7f
JJ
117982004-08-10 Jakub Jelinek <jakub@redhat.com>
11799
11800 PR target/3144
11801 * expr.c (move_by_pieces_ninsns): Add max_size argument.
11802 (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it.
11803 (CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it.
11804 (STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P,
11805 but using MOVE_RATIO.
11806 (move_by_pieces): Pass max_size to move_by_pieces_ninsns.
11807 (can_store_by_pieces): Change max_size type to unsigned int.
11808 (store_by_pieces_1): Likewise. Pass max_size to
11809 move_by_pieces_ninsns.
11810 * config/s390/s390.h (STORE_BY_PIECES_P): Define.
11811 * config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1
11812 to move_by_pieces_ninsns.
11813 (STORE_BY_PIECES_P): Define.
11814 * config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1
11815 to move_by_pieces_ninsns.
11816 * doc/tm.texi (STORE_BY_PIECES_P): Document changed default.
11817
11818 * config/i386/i386.h (CLEAR_RATIO): Define.
11819
25f3e06c
PB
118202004-08-09 Paolo Bonzini <bonzini@gnu.org>
11821
11822 * expr.c (expand_expr_real_1): Add back code that was not dead.
11823
6a3203c8
AP
118242004-08-09 Andrew Pinski <apinski@apple.com>
11825
11826 * c-common.c (c_common_get_alias_set): Set the aliasing set of the type
11827 which is found to be compatible before returning the aliasing set.
11828
b9bfca81
DJ
118292004-08-09 Daniel Jacobowitz <dan@debian.org>
11830
11831 * ggc-zone.c (struct alloc_zone): Add statistics counters.
11832 (always_collect): New flag.
11833 (ggc_alloc_zone_1): Update statistics support. Don't include
11834 overhead in allocated counter.
11835 (sweep_pages): Update allocated counter for large pages. Don'y
11836 include overhead.
11837 (ggc_collect_1): Always collect.
11838 (ggc_collect): Honor always_collect flag. Sum all zones to decide
11839 whether to collect.
11840 (SCALE, LABEL): New macros.
11841 (ggc_print_statistics): Add statistics support.
11842
fdded401
RS
118432004-08-09 Roger Sayle <roger@eyesopen.com>
11844
11845 * expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.
11846 (init_expmed): Fix potential overrun problem with "all.reg".
11847 (expand_sdiv2_pow2): Add an alternate implementation for signed
11848 division, if the target provides a suitable conditional move insn.
11849
9d8646d7
PB
118502004-08-09 Paul Brook <paul@codesourcery.com>
11851 Richard Henderson <rth@redhat.com>
11852
11853 * unwind-dw2.c (uw_install_context_1): Update target saved stack
11854 pointer.
11855
d37e6b50
GK
118562004-08-09 Geoffrey Keating <geoffk@apple.com>
11857
11858 * ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
11859 Check DATA limit only if there's no AS limit. Ignore insanely
11860 low DATA limits.
11861 (ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8,
11862 but take care that the AS limit isn't overrun.
11863 * doc/invoke.texi: Update documentation of min-heapsize parameter.
11864
56b043c8
JL
118652004-08-09 Jeff Law <law@redhat.com>
11866
11867 * Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
11868 (tree-ssa-threadupdate.o): Add dependencies.
11869 * tree-ssa-threadupdate.c: New file.
11870 * tree-flow.h (incoming_edge_threaded): New flag in block annotation.
11871 (rewrite_vars_out_of_ssa): Remove prototype.
11872 (cleanup_tree_cfg): Returns a bool.
11873 * tree.h (thread_through_all_blocks): Prototype.
11874 * tree-outof-ssa.c (SSANORM_*): Move into here.
11875 (remove_ssa_form): Now static.
11876 (rewrite_vars_out_of_ssa): Kill.
11877 * tree-ssa-live.c (register_ssa_partitions_for_vars): Kill.
11878 * tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c.
11879 (remove_ssa_form, register_partitions_for_vars): Kill declarations.
11880 * tree-cfg.c (cleanup_tree_cfg): Return a value indicating if
11881 anything was changed.
11882 * tree-phinodes.c (add_phi_arg): Get the block for the PHI
11883 from the PHI's annotation rather than the edge associated with
11884 the new argument.
11885 * tree-ssa-dom.c (redirection_edges): Kill.
11886 (redirect_edges_and_update_ssa_graph): Kill.
11887 (tree_ssa_dominator_optimize): Do not reset forwardable flag
11888 for blocks anymore. Do not initialize redirection_edges.
11889 Call thread_through_all_blocks. Simplify code for cleanup
11890 of the CFG and iterating. No longer call cleanup_tree_cfg
11891 outside the iteration loop.
11892 (thread_across_edge): No longer mess with forwardable blocks.
11893
9b305d55
ZW
118942004-08-09 Zack Weinberg <zack@codesourcery.com>
11895
11896 * explow.c (memory_address): Use memory_address_p.
11897 * recog.c (general_operand): Likewise.
11898 * regrename.c: No need to define REG_OK_STRICT.
11899
27fb79ad
SB
119002004-08-09 Steven Bosscher <stevenb@suse.de>
11901
11902 * timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
11903 New timers.
11904 * gcse.c: Include timevar.h.
11905 (const_prop_count, copy_prop_count): Rename to global_const_prop_count
11906 and global_copy_prop_count.
11907 (local_const_prop_count, local_copy_prop_count): New static globals.
11908 (gcse_main): Set the right timevar for each pass.
11909 (cprop_jump): Increment global_const_prop_count when a constant is
11910 propagated. Add "GLOBAL" to dump output.
11911 (cprop_insn): Increment global_const_prop_count when a constant is
11912 propagated, or global_copy_prop_count when a copy is propagated.
11913 (do_local_cprop): Likewise for local_const_prop_count and
11914 local_copy_prop_count.
11915 (one_cprop_pass): Initialize const/cprop counters to zero.
11916 Print out results of local and global const/cprop separately.
11917 (bypass_block): Break over-length line.
702d4b73
SB
11918 * Makefile.in (gcse.o): Add TIMEVAR_H dependency. Fix dependencies
11919 for bb-reorder.o and tracer.o.
27fb79ad 11920
7efcb746
PB
119212004-08-09 Paolo Bonzini <bonzini@gnu.org>
11922
11923 * Makefile.in (GTFILES): Remove stmt.c
11924 (stmt.o): Do not depend on gt-stmt.h.
11925 * emit-rtl.c (emit_line_note): Do not call
11926 set_file_and_line_for_stmt.
11927 * expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case
11928 do everything.
11929 * function.c (free_after_parsing): Do not free STMT field.
11930 (allocate_struct_function): Do not call init_stmt_for_function.
11931 (assign_stack_temp_for_type): Do not accept values of keep
11932 other than 0 or 1.
11933 (init_temp_slots): Do not initialize removed variables.
11934 * function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL
11935 and X_VAR_TEMP_SLOT_LEVEL fields.
11936 * rtl.h (set_file_and_line_for_stmt): Remove.
11937 * stmt.c (struct nesting, ALLOC_NESTING, POPSTACK,
11938 struct stmt_status, cond_stack, case_stack, nesting_stack,
11939 nesting_depth, emit_locus, set_file_and_line_for_stmt,
11940 same_case_target_p, init_stmt_for_function, emit_nop,
11941 expand_start_cond, expand_start_elseif, expand_start_else,
11942 expand_elseif, expand_end_cond): Remove.
11943 (preserve_subexpressions_p): Remove references to CFUN->STMT.
11944 (expand_start_case, expand_end_case_type): Remove, merge into...
11945 (expand_case): ... this one, including other bits from
11946 expand_expr_real_1. Inline same_case_target_p. Turn members
11947 of CASE_STACK into local variables.
11948 (emit_case_bit_tests): Inline same_case_target_p.
11949 (add_case_node): Add HEAD argument, return new head of the list,
11950 do not handle default label here.
11951 * tree.h (expand_start_cond, expand_end_cond, expand_start_else,
11952 expand_start_elseif, current_nesting_level, expand_start_case,
11953 expand_end_case_type, expand_end_case, add_case_node,
11954 init_stmt_for_function, expand_elseif): Remove prototypes.
11955 (expand_case): Add prototype.
11956
c4d70ce3
PB
119572004-08-09 Paolo Bonzini <bonzini@gnu.org>
11958
11959 * expr.c (expand_expr_real_1): Use optab_for_tree_code.
11960
119612004-08-09 Paolo Bonzini <bonzini@gnu.org>
e5bacf32
PB
11962
11963 * expr.c (var_rtx): Remove.
11964 (expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR,
11965 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR,
11966 TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>:
11967 Abort.
11968 (expand_expr_real_1) <COND_EXPR>: Remove most special cases.
11969 * optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove.
11970 * optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove.
11971
d72372e4
MH
119722004-08-08 Mostafa Hagog <mustafa@il.ibm.com>
11973 Ayal Zaks <zaks@il.ibm.com>
11974
11975 * common.opt (freschedule-modulo-scheduled-loops): New flag.
11976 * final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK.
11977 * modulo-sched.c (sms_schedule): Emit a note to disable scheduling
11978 when -freschedule-modulo-scheduled-loops flag is not specified.
11979 (sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps,
11980 add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts):
11981 More accurate placing of insn in row of partial schedule.
11982 (ps_insn_find_column): New function.
11983 * rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note.
11984 * sched-rgn.c (sched_is_disabled_for_current_region_p): New.
11985 (schedule_region): Use sched_is_disabled_for_current_region_p.
11986 * docs/invoke.texi: Document -freschedule-modulo-scheduled-loops.
11987
0737fbff
L
119882004-08-07 H.J. Lu <hongjiu.lu@intel.com>
11989
11990 * config/i386/i386.c (ix86_expand_clrmem): Revert the last
11991 change.
11992
11c4576f
L
119932004-08-07 H.J. Lu <hongjiu.lu@intel.com>
11994
11995 * config/i386/i386.c (ix86_expand_clrmem): Properly call
11996 gen_strset for 64bit target.
11997
34def210
OH
119982004-08-07 Olivier Hainque <hainque@act-europe.fr>
11999
12000 * config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.
12001
5201931e
JM
120022004-08-07 Jason Merrill <jason@redhat.com>
12003
cc77ae10
JM
12004 Make return in memory explicit.
12005 * function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
12006 (assign_parm_find_data_types): Remove code for old front end
12007 invisible reference handling.
12008 (assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL.
12009 (expand_function_end): Likewise.
12010 * gimplify.c (gimplify_return_expr): Handle a dereferenced
12011 RESULT_DECL.
12012 * tree-inline.c (copy_body_r): Don't bother looking for &* anymore.
12013 (declare_return_variable): Handle DECL_BY_REFERENCE.
12014 * cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL.
12015 (cp_genericize_r): Use convert_from_reference.
12016 Don't dereference a RESULT_DECL directly inside a RETURN_EXPR.
12017 (cp_genericize): Handle the RESULT_DECL. Unset TREE_ADDRESSABLE.
12018
5201931e
JM
12019 * c-common.c (c_warn_unused_result): Check TREE_USED before
12020 warning about a CALL_EXPR with an unused value.
12021
2ed9e527
MM
120222004-08-06 Mark Mitchell <mark@codesourcery.com>
12023
12024 * config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options
12025 to the compiler. Use -fshort-wchar by default.
12026
12183e0f
PH
120272004-08-06 Pat Haugen <pthaugen@us.ibm.com>
12028
12029 * params.def (PARAM_MIN_CROSSJUMP_INSNS): New.
12030 * cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match
12031 threshhold.
12032 * doc/invoke.texi (param): Document min-crossjump-insns.
12033
eaac4679
RS
120342004-08-06 Richard Sandiford <rsandifo@redhat.com>
12035
12036 PR c/13282
12037 * c.opt (Wmissing-field-initializers): New option.
12038 * c-opts.c (c_common_post_options): Make -Wextra turn it on by default.
12039 * c-typeck.c (pop_init_level): Guard the missing field warning with
12040 warn_missing_field_initializers rather than extra_warnings.
12041 * doc/invoke.texi (-Wmissing-field-initializers): Document, moving
12042 some of the explanation from...
12043 (-Wextra): ...here. Say that the missing field warning can be
12044 seperately controlled by -Wmissing-field-initializers.
12045
caad9f81
PB
120462004-08-06 Paolo Bonzini <bonzini@gnu.org>
12047
12048 * expr.c (expand_expr_real_1) <ENTRY_VALUE_EXPR>: Remove.
12049 * tree-inline.c (estimate_num_insns_1) <ENTRY_VALUE_EXPR>: Remove.
12050 * tree-pretty-print.c (dump_generic_node) <ENTRY_VALUE_EXPR>: Remove.
12051 * tree.def (ENTRY_VALUE_EXPR): Remove.
12052
6b32b628
JJ
120532004-08-06 Jakub Jelinek <jakub@redhat.com>
12054
12055 * config/i386/i386.c (ix86_expand_clrmem): Move gen_cld down to
12056 the places where it is actually needed. Don't use repz; stosb
12057 for -Os with sufficiently small constant sizes.
12058 For sufficiently small repz; stos{l,q} repeat counts use a sequence
12059 of stos{l,q} instructions instead.
12060
6797f908
ZD
120612004-08-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12062
12063 PR tree-optimization/16807
12064 * loop-iv.c (dump_iv_info): Dump invariants correctly.
12065 (iv_subreg, iv_extend): Express value of invariant purely in
12066 base field.
12067
866cf037
MM
120682004-08-06 Mark Mitchell <mark@codesourcery.com>
12069
12070 * config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums.
12071 (CC1PLUS_SPEC): Define it to be the same as CC1_SPEC.
12072
9652c531 120732004-08-06 Roman Zippel <zippel@linux-m68k.org>
9b305d55 12074
27fb79ad
SB
12075 * config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New.
12076 * config/m68k/m68k.h (PREDICATE_CODES): add post_inc_operand,
12077 pre_dec_operand.
12078 * config/m68k/m68k.md (zero_extend*2): delay the splitting of the
12079 pattern until reload is finished to allow better code generation
12080 and split them completely into separate instrunctions.
12081 (*andsi3_split): New pattern.
9652c531 12082
b2ca3702
MM
120832004-08-05 Mark Mitchell <mark@codesourcery.com>
12084
12085 * tree.c (handle_dll_attribute): Move here from i383/winnt.c.
12086 Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P. Set
12087 DECL_VISIBLITY. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
12088 * tree.h (handle_dll_attribute): Declare. Test
12089 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
12090 * c-common.h (c_determine_visibility): Declare.
12091 * c-common.c (c_determine_visibility): New function.
12092 * c-decl.c (finish_decl): Use it.
12093 (finish_function): Likewise.
12094 * defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to
12095 zero, by default. Use #if, not #ifdef, to test it.
12096 * config/arm/arm.c (arm_attribute_table): Use
12097 handle_dll_attribute. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with
12098 #if.
12099 * config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1.
12100 * config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
12101 to 1.
12102 * config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove.
12103 * config/i386/i386.c (ix86_attribute_table): Use
12104 handle_dll_attribute for dllimport/dllexport. Test
12105 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
12106 * config/i386/winnt.c (ix86_handle_dll_attribute): Remove.
12107 * config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
12108 it to 1.
12109 * config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it
12110 with #if.
12111 * config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
12112 it to 1.
12113 * doc/extend.texi (dllexport): Clarify and correct documentation.
12114 (dllimport): Likewise.
12115 * doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention
12116 handle_dll_attribute.
9b305d55 12117
c913f08a
ZD
121182004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12119
12120 * tree-ssa-loop-manip.c: New file.
12121 * Makefile.in (tree-ssa-loop-manip.o): Add.
12122 * tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa):
12123 Declare.
12124 * tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa
12125 form.
12126 (tree_ssa_loop_done): Verify loop closed ssa form.
12127 * tree-ssa-loop-im.c (move_computations): Update loop closed ssa form.
12128
d4482715
JDA
121292004-08-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12130
12131 * pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common,
12132 pa_asm_output_aligned_local): New functions.
12133 * pa-protos.h: Add prototypes for pa_asm_output_aligned_bss,
12134 pa_asm_output_aligned_common and pa_asm_output_aligned_local.
12135 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use
12136 pa_asm_output_aligned_common.
12137 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
12138 * pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro.
12139 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
12140 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
12141 * pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro.
12142 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
12143 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
12144 * som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global
12145 common data.
12146
21149a79
AP
121472004-08-05 Andrew Pinski <apinski@apple.com>
12148
12149 * objc/objc-act.c (build_objc_string_object): Mark the address
12150 expression as constant.
12151
d5861a7a
DE
121522004-08-05 David Edelsohn <edelsohn@gnu.org>
12153
12154 * config/rs6000/rs6000.c (rs6000_rtx_costs): Fix mask_operand
12155 and mask64_operand thinkos. Handle ZERO_EXTRACT. Handle
12156 SIGN_EXTEND / ZERO_EXTEND of MEM. Handle rlwinm patterns.
12157
0a2b72a6
JM
121582004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
12159
12160 * config/linux.h, config/i386/linux.h, config/sparc/linux.h:
12161 Remove definitions conditioned on USE_GNULIBC_1 or conditioned
12162 out, and associated obsolete comments.
12163
ca7a3bd7
NS
121642004-08-05 Nathan Sidwell <nathan@codesourcery.com>
12165
12166 * tree.h (force_fit_type): Return a tree, take three flags.
12167 * fold-const.c (force_fit_type): Set TREE_OVERFLOW and
12168 TREE_CONSTANT_OVERFLOW here.
12169 (int_const_binop, const_binop): Adjust.
12170 (size_int_type): Do sign extension here.
12171 (fold_convert_const, optimize_bit_field_compare,
12172 decode_field_reference, all_ones_mask_p, fold_div_compare, fold,
12173 fold_negate_const, fold_abs_const, fold_not_const): Adjust.
12174 * tree.c (size_in_bytes, int_fits_type_p): Adjust.
12175
d36837f4
ZD
121762004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12177
12178 PR tree-optimization/16864
12179 * tree-tailcall.c (eliminate_tail_call): Do not create phi nodes
12180 for ssa names without default_def.
12181
ea5f7a19
RS
121822004-08-05 Richard Sandiford <rsandifo@redhat.com>
12183
12184 * config/i386/i386.c (ix86_expand_prologue): If the function uses a
12185 frame pointer, restore eax with an ebp-relative address.
12186
0e6df31e
GK
121872004-08-04 Geoffrey Keating <geoffk@apple.com>
12188
12189 PR 14516
12190 * c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
12191 * c-common.h (make_rtl_for_local_static): Delete.
12192 * c-decl.c (shadow_tag_warned): Clean up comment.
12193 (finish_decl): Clean up spacing. Use set_user_assembler_name when
12194 appropriate. Don't pass asmspec to rest_of_decl_compilation.
12195 * c-semantics.c (make_rtl_for_local_static): Delete.
12196 * expr.c (init_block_move_fn): Use set_user_assembler_name.
12197 (init_block_clear_fn): Likewise.
12198 * passes.c (rest_of_decl_compilation): Remove asmspec parameter,
12199 expect it to be in DECL_ASSEMBLER_NAME. Update callers in many files.
12200 * toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
12201 * tree.h (make_decl_rtl): Remove second parameter.
12202 (set_user_assembler_name): New.
12203 * varasm.c (set_user_assembler_name): New.
12204 (make_decl_rtl): Remove second parameter. Update callers in many
12205 files.
12206
4f587cb0
AN
122072004-08-05 Adam Nemet <anemet@lnxw.com>
12208
12209 * config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0.
12210 (case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*. Update
12211 to LynxOS 4.0.
12212 * gthr-lynx.h: New file.
12213 * config/lynx-ng.h: Remove file.
12214 * config/lynx.h: Update to LynxOS 4.0.
12215 * config/t-lynx: New file.
12216 * config/i386/lynx-ng.h: Remove file.
12217 * config/i386/lynx.h: Update to LynxOS 4.0.
12218 * config/rs6000/lynxbase.h: Remove file.
12219 * config/rs6000/lynx.h: Update to LynxOS 4.0.
12220 * config/rs6000/t-lynx: New file.
12221 * doc/install.texi (Options specification): Remove reference to
12222 LynxOS from systems where --with-gnu-as makes a difference.
12223
85291069
JM
122242004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
12225
12226 * c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and
12227 __UINTMAX_TYPE__.
12228 * c-cppbuiltin.c (builtin_define_stdint_macros): New. Define
12229 __INTMAX_MAX__.
12230 (c_cpp_builtins): Call it.
12231 * doc/cpp.texi: Update.
12232
30a555d9
DE
122332004-08-04 David Edelsohn <edelsohn@gnu.org>
12234
12235 * config/rs6000/rs6000.c (rs6000_rtx_costs): LABEL_REFs are zero
12236 cost.
12237
878f99d2
JH
122382004-08-04 Jan Hubicka <jh@suse.cz>
12239
12240 * basic-block.h (profile_staus): New global variable.
12241 * cfg.c (profile_status): Declare.
12242 (check_bb_profile): Break out from ....; use profile_status
12243 (dump_flow_info): ... here.
12244 * cfgbuild.c (find_basic_blocks): Set profile_status.
12245 * cfgexpand.c (tree_expand_cfg): Likewise.
12246 * predict.c (estimate_probability): Likewise.
12247 * profile.c (branch_prob): Likewise.
12248 * tree-cfg.c (build_tree_cfg): Likewise.
12249 (dump_function_to_file): Use check_bb_profile.
12250 * tree-pretty-print (dump_bb_header): Likewise.
12251 * tree-profile.c (do_tree_profiling): Cleanup.
12252
7e7ec48e
ZW
122532004-08-04 Zack Weinberg <zack@codesourcery.com>
12254
12255 * Makefile.in (RTL_BASE_H, RTL_H): Correct.
12256 (BUILD_RTL): Remove $(BUILD_PREFIX) from ggc-none.o.
12257 (genobjs): Add errors.o, ggc-none.o, and min-insn-modes.o.
12258 (read-rtl.o, gensupport.o, genconfig.o, genflags.o, gencodes.o)
12259 (genconstants.o, genemit.o, genopinit.o, genrecog.o, genextract.o)
12260 (genpeep.o, genattr.o, genattrtab.o, genautomata.o, genoutput.o)
12261 (genconditions.o): Depend on $(RTL_BASE_H) not $(RTL_H).
12262 (ggc-none.o, errors.o): Move rule to generators section;
12263 correct dependencies.
12264 (min-insn-modes.o): Move rule to generators section; remove
12265 unnecessary explicit command; correct dependencies.
12266 (print-rtl.o, print-rtl1.o): Correct dependencies.
12267 ($(BUILD_PREFIX_1)errors.o. $(BUILD_PREFIX_1)ggc-none.o): Delete rule.
12268 (mostlyclean): Update.
12269
12270 * errors.c: Include bconfig.h not config.h. Correct comment.
12271 * gengtype.c, genpreds.c: Don't define NO_GENRTL_H.
12272 * ggc-none.c: Include bconfig.h; not config.h or tm.h.
12273 * print-rtl.c: Don't include tm_p.h.
12274
12275 * rtl.h: Move forward-decl of struct function down where it's
12276 needed. Include genrtl.h #ifndef GENERATOR_FILE, not
12277 #ifndef NO_GENRTL_H. Remove unnecessary #ifdef BUFSIZ statements.
12278
b0382c67
ZD
122792004-08-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12280 Jeff Law <law@redhat.com>
12281
12282 * tree-cfg.c (tree_duplicate_bb): Mark duplicated definitions.
12283 * tree-flow.h (rewrite_ssa_into_ssa): Declaration changed.
12284 * tree-into-ssa.c (rewrite_ssa_into_ssa): Use new interface to
12285 manipulate the duplicated ssa names.
12286 * tree-ssanames.c (ssa_names_to_rewrite): New variable.
12287 (marked_for_rewrite_p, any_marked_for_rewrite_p, mark_for_rewrite,
12288 unmark_all_for_rewrite, marked_ssa_names, release_ssa_name_force):
12289 New functions.
12290 (release_ssa_name): Do not release ssa names that may have multiple
12291 definitions.
12292 * tree.h (release_ssa_name_force, mark_for_rewrite,
12293 unmark_all_for_rewrite, marked_for_rewrite_p, any_marked_for_rewrite_p,
12294 marked_ssa_names): Declare.
12295 * tree-ssa-loop-ch.c (mark_defs_for_rewrite): Remove.
12296 (duplicate_blocks): Remove call to mark_defs_for_rewrite.
12297 Update call to rewrite_ssa_into_ssa.
12298
63c5b495
MM
122992004-08-04 Mark Mitchell <mark@codesourcery.com>
12300
12301 * defaults.h (TARGET_DECLSPEC): New macro.
12302 * c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC.
12303 * config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support.
b2ca3702 12304 * config/arm/symbian.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
63c5b495
MM
12305 * config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove
12306 __declspec support.
12307 (TARGET_DECLSPEC): Define.
12308 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove
12309 __declspec support.
12310 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove
12311 __declspec support.
12312 (TARGET_DECLSPEC): Define.
12313 * config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove
12314 __declspec support.
12315 * config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec
12316 support.
12317 * doc/tm.texi (TARGET_DECLSPEC): Document.
12318
12319 * doc/extend.texi: Fix typo in comment.
12320
44d10c10
PB
123212004-08-04 Paul Brook <paul@codesourcery.com>
12322
12323 * target-def.h (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
12324 (TARGET_CXX): Use it.
12325 * target.h (struct gcc_target): Add cdtor_returns_this.
12326 * config/arm/arm.c (arm_cxx_cdtor_returns_this): New function.
12327 (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
12328 * doc/tm.texi: Document TARGET_CXX_CDTOR_RETURNS_THIS.
12329
5e9754af
NS
123302004-08-03 Nathan Sidwell <nathan@codesourcery.com>
12331
12332 * c-lex.c (narrowest_unsigned_type, narrowest_signed_type): Take
12333 low/high pair. Do range checking directly.
12334 (interpret_integer): Adjust.
12335
2acc29bd
NC
123362004-08-04 Nick Clifton <nickc@redhat.com>
12337
12338 * config/sh/sh.h (TARGET_SWITCHES): Add no-renesas to select the
12339 GCC ABI.
12340 * doc/invoke.texi: Document this new switch and also the -mrenesas
12341 switch.
12342
2496942a
NS
123432004-08-04 Nathan Sidwell <nathan@codesourcery.com>
12344
12345 * cfglayout.c (insn_locators_initialize): Update the current
12346 location before initializing a location.
12347
7e2e8179
ZW
123482004-08-03 Zack Weinberg <zack@codesourcery.com>
12349
403f8503
ZW
12350 * dbxout.c (dbxout_function_decl): Always call dbxout_function_end.
12351 (dbxout_function_end): Return after emitting the "Lscope" symbol
12352 under the same conditions that this function formerly wasn't called.
12353 Add explanatory comments.
12354
bcc7f708 12355 PR 14860
ca043393
ZW
12356 * c-decl.c (record_builtin_type): Call debug_hooks->type_decl
12357 on the new decl.
12358
bcc7f708 12359 PR 13956
7e2e8179
ZW
12360 * dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
12361 functions, broken out of dbxout_block.
12362 (dbxout_block): The block at depth 0 should get LBRAC/RBRAC
12363 stabs too, if it contains symbols. Use the begin_label and
12364 the Lscope label (emitted by dbxout_function_end) for the
12365 range of this block.
12366
5d75ba94
NN
123672004-08-03 Nathanael Nerode <neroden@gcc.gnu.org>
12368
12369 * doc/install.texi: Update autoconf version requirements.
12370
2e4e72b1
ZW
123712004-08-03 Zack Weinberg <zack@codesourcery.com>
12372
12373 * defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition.
12374 * recog.c (general_operand, immediate_operand, nonmemory_operand)
12375 (asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P.
12376 * regclass.c (record_reg_classes): Likewise.
12377 * reload.c (find_reloads): Likewise.
12378 * reload1.c (reload): Likewise.
12379
f9942f4e
ZW
123802004-08-03 Zack Weinberg <zack@codesourcery.com>
12381
12382 * gensupport.c (init_md_reader_args_cb): Renamed from
12383 init_md_reader_args. Add third option, callback function for
12384 parsing program-specific options. Add diagnosis of incorrect
12385 number of input files.
12386 (init_md_reader): Fold into init_md_reader_args_cb.
12387 (init_md_reader_args): Now a thin wrapper around
12388 init_md_reader_args_cb.
12389 * gensupport.h: Update prototypes.
12390
12391 * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
12392 * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
12393 * genrecog.c: No need to diagnose lack of an input file;
12394 init_md_reader_args will handle it.
12395 * genconditions.c: Likewise, and use init_md_reader_args.
12396 * genconstants.c: Likewise, and no need to call read_md_rtx.
12397
9cbe78fb
JM
123982004-08-03 Joseph S. Myers <jsm@polyomino.org.uk>
12399
12400 * c-decl.c (implicitly_declare): Diagnose incompatible implicit
12401 declarations.
12402
3e558e80
MS
124032004-08-03 Mike Stump <mrs@apple.com>
12404
12405 * config/darwin-c.c: Don't search in "/Local/Library/Frameworks"
12406 for frameworks.
12407 * doc/invoke.texi (Darwin Options): Update to reflect above.
12408
a0fac73d
RS
124092004-08-03 Roger Sayle <roger@eyesopen.com>
12410
12411 PR middle-end/16790
12412 * fold-const.c (extract_muldiv_1) <NOP_EXPR>: Disallow local
12413 truncations, not just global truncations.
12414
cddbddb7
AP
124152004-08-03 Andrew Pinski <apinski@apple.com>
12416
12417 PR bootstrap/16865
12418 * loop-iv.c (simplify_using_assignment): Initialize lhs.
12419
bebf829d
PB
124202004-08-03 Paul Brook <paul@codesourcery.com>
12421
12422 * gcc/doc/install.texi: Document MPFR requirement.
12423
cddbddb7 124242004-08-03 Maciej W. Rozycki <macro@linux-mips.org>
3b0727a0 12425
f9942f4e
ZW
12426 * aclocal.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
12427 and mmap() explicitly instead of relying on preset autoconf cache
3b0727a0
MR
12428 variables.
12429 * configure: Regenerate.
12430
f6bc51cb
L
124312004-08-03 H.J. Lu <hongjiu.lu@intel.com>
12432
12433 PR target/16570
12434 * config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
12435 to tmake_file.
12436 (i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
12437 (i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
12438 to tmake_file.
12439
12440 * config/i386/t-gmm_malloc: New file.
12441 * config/i386/t-pmm_malloc: Likewise.
f9942f4e 12442
f6bc51cb
L
12443 * config/i386/xmmintrin.h: Include <mm_malloc.h>.
12444
124452004-08-03 H.J. Lu <hongjiu.lu@intel.com>
0ddcd94f 12446