]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
tree-cfg.c (thread_jumps_from_bb): Speed up by extracting edge information when...
[gcc.git] / gcc / ChangeLog
CommitLineData
385efa80
KH
12004-10-22 Kazu Hirata <kazu@cs.umass.edu>
2
3 * tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
4 edge information when we commit ourselves to threading a
5 particular jump.
6
afc3f396
KH
72004-10-22 Kazu Hirata <kazu@cs.umass.edu>
8
9 * tree-cfg.c (thread_jumps): Speed up by putting basic blocks
10 into worklist instead of their indexes.
11
471854f8
KH
122004-10-22 Kazu Hirata <kazu@cs.umass.edu>
13
14 * alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
15 final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
16 lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
17 pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
18 tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
19 tree-scalar-evolution.c, tree-ssa-dom.c,
20 tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
21 tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
22 tree-vectorizer.c, vec.h: Fix comment formatting.
23
279b5b3c
KH
242004-10-22 Kazu Hirata <kazu@cs.umass.edu>
25
26 * dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
27 libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
28
8638a0f8
KH
292004-10-22 Kazu Hirata <kazu@cs.umass.edu>
30
31 * config/ptx4.h, config/mcore/mcore-pe.h,
32 config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
33
cfca21cb
PB
342004-10-22 Peter Barada <peter@the-baradas.com>
35
36 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
37 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
38 renaming of non-live registers in interrupt functions.
39 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
40
26630a99
ZD
412004-10-22 Zdenek Dvorak <dvorakz@suse.cz>
42
43 * tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
44 Use integer for loop counter.
45 (num_ending_zeros): New function.
46 (number_of_iterations_cond): Use num_ending_zeros.
47
4d4cbc0e
AH
482004-10-21 Aldy Hernandez <aldyh@redhat.com>
49
50 * config.gcc: Add support for --enable-e500_double.
51
52 * config/rs6000/e500-double.h: New file.
53
54 * config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
55 TARGET_E500_DOUBLE.
56
57 * config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
58 TARGET_E500_DOUBLE.
59
60 * config/rs6000/linuxspe.h: Same.
61
62 * doc/invoke.texi (Option Summary): Document new options for
63 mfloat-gprs.
64 (RS/6000 and PowerPC Options): Same.
65
66 * config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
67 function.
68 (rs6000_override_options): Use it. Use
69 SUB3TARGET_OVERRIDE_OPTIONS.
70 Add 8548 to processor_target_table.
71 (rs6000_legitimate_address): Handle e500 doubles.
72 (rs6000_legitimize_address): Same.
73 (rs6000_legitimize_reload_address): Same.
74 (rs6000_hard_regno_nregs): Same.
75 (spe_func_has_64bit_regs_p): Same.
76 (emit_frame_save): Same.
77 (gen_frame_mem_offset): Same.
78 (rs6000_dwarf_register_span): Same.
79 (rs6000_generate_compare): Same.
80 (easy_fp_constant): Same.
81 (legitimate_offset_address_p): Same.
82
83 * config/rs6000/spe.md: (cmdfeq_gpr): New.
84 (tstdfeq_gpr): New.
85 (cmpdfgt_gpr): New.
86 (tstdfgt_gpr): New.
87 (tstdfgt_gpr): New.
88 (cmpdflt_gpr): New.
89 (tstdflt_gpr): New.
90 Add new constants.
91
a4b1eb87
GB
922004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
93
94 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
95
ac746f1d
ZW
962004-10-21 Zack Weinberg <zack@codesourcery.com>
97
98 * dbxout.c: Remove unnecessary #undefs.
99 (GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
100 (FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
101 definition into use sites.
102 (cwd): Make local to dbxout_init.
103 (dbxout_init): Restructure cwd-using logic for clarity. Use
104 IS_DIR_SEPARATOR.
105 * xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
106 STABS_GCC_MARKER folded in here.
107 * system.h: Poison now-unused macros.
108 * doc/tm.texi: Remove documentation of now-unused macros.
109
3e6da82b
AP
1102004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
111
112 PR c/17538
113 * c-opts.c (push_command_line_include): Use the current file
114 name instead of the main one.
115
943db347
AP
1162004-10-21 Andrew Pinski <pinskia@physics.uc.edu>
117
118 PR objc/17923
119 * tree.c (staticp): A CONST_DECL has static storage if either
120 TREE_STATIC or DECL_EXTERNAL is set.
121 * c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
122 have null names.
123
5bee567d
KH
1242004-10-21 Kazu Hirata <kazu@cs.umass.edu>
125
126 * expr.c (store_expr): Remove dont_store_target.
127
08445125
KH
1282004-10-21 Kazu Hirata <kazu@cs.umass.edu>
129
130 * tree-cfg.c (thread_jumps): Speed up by using a worklist.
131
072269d8
KH
1322004-10-21 Kazu Hirata <kazu@cs.umass.edu>
133
134 * tree-cfg.c (thread_jumps): Move a part of it to ...
135 (thread_jumps_from_bb): ... here.
136
0dda4eea
DE
1372004-10-21 David Edelsohn <edelsohn@gnu.org>
138
139 * dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
140 * xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
141
6f4fd16d
KH
1422004-10-21 Kazu Hirata <kazu@cs.umass.edu>
143
144 * expr.c (store_expr): Clean up by renaming want_value to
145 call_param_p.
146
cc6cea1b
KK
1472004-10-21 Kaz Kojima <kkojima@gcc.gnu.org>
148
149 * config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
150 fixup pc here.
151
28526e20
AH
1522004-10-21 Aldy Hernandez <aldyh@redhat.com>
153
154 PR 18004.
155 * expmed.c (store_bit_field): Pass original 'value' before
156 recursing.
157
6883a666
NP
1582004-10-21 Nicolas Pitre <nico@cam.org>
159
160 * config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
161 * config/arm/ieee754-df.S: Ditto.
162
3e487b21
ZW
1632004-10-20 Zack Weinberg <zack@codesourcery.com>
164
165 * dbxout.c (asmfile): Delete. All uses changed to asm_out_file.
166 (DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
167 Default to 0.
168 (dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
169 When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
170 an internal label and an N_SLINE .stabn whose value is the
171 difference between that label and the function entry label.
172 (dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
173 but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
174 label and an N_SO stab with an empty string referring to it.
175 (dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
176 of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
177 (dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
178 (dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
179 macro is never defined.
180 * sdbout.c (sdbout_source_line_counter): Delete.
181 (PUT_SDB_SRC_FILE): Delete. Uses replaced with sole definition.
182 (sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
183 only two arguments.
184 * xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
185
186 * config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
187 * config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
188 definitions (identical to default).
189 * config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
190 * config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
191 Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
192 DBX_OUTPUT_MAIN_SOURCE_FILE_END.
193 * config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
194 * config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
195 Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
196 * config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
197 * config/alpha/alpha.c: Move declaration of num_source_filenames up.
198 (alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
199 (sym_lineno): Delete.
200 (alpha_output_filename): Do not emit N_SOL stabs here. Remove
201 now-unused variable.
202 (alpha_output_lineno): Delete.
203 * config/mips/mips-protos.h: Don't prototype mips_output_lineno.
204 * config/mips/mips.c (mips_output_filename): Don't use
205 ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
206 (mips_output_lineno): Delete.
207 (mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
208 * config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
209 SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
210 * config/mips/mips.h: Likewise. Don't define ASM_OUTPUT_FILENAME.
211 * config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
212 * config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
213 * config/mmix/mmix.h: Likewise.
214 * config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
215 * config/mmix/mmix-protos.h: Don't prototype it.
216 * config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
217 no need to #undef ASM_OUTPUT_SOURCE_LINE.
218 * config/arm/aout.h: Remove RISCiX-specific definition of
219 DBX_OUTPUT_MAIN_SOURCE_FILENAME.
220 * config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
221 ASM_OUTPUT_SOURCE_LINE.
70a8019b 222 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
3e487b21
ZW
223 DBX_OUTPUT_SOURCE_LINE. Don't use current_function_func_begin_label.
224 * config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
225
226 * doc/tm.texi: Update.
227
310ff872
RH
2282004-10-20 Richard Henderson <rth@redhat.com>
229
230 * tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
231
f644cebf
KC
2322004-10-20 Kelley Cook <kcook@gcc.gnu.org>
233
234 * configure.ac: Revert my previous patch.
235 * configure: Regenerate.
236
872a65b5
BE
2372004-10-20 Ben Elliston <bje@au.ibm.com>
238
239 * config/rs6000/rs6000.c
240 (rs6000_va_start): Use build_va_arg_indirect_ref.
241 (rs6000_gimplify_va_arg): Likewise.
242
a03ea89b
BM
2432004-10-20 Bryce McKinlay <mckinlay@redhat.com>
244
245 PR java/15575
246 * configure.ac: Declare AM_LANGINFO_CODESET.
247 * aclocal.m4: Define AM_LANGINFO_CODESET.
248 * configure, config.in: Rebuilt.
249
436d948e
KH
2502004-10-20 Kazu Hirata <kazu@cs.umass.edu>
251
252 * expr.c (store_expr): Remove code that is run when
253 want_value & 1 is nonzero.
254
b235bd44
MM
2552004-10-20 Mark Mitchell <mark@codesourcery.com>
256
257 * gthr-posix.h (__gthread_active_p): Use __extension__ around cast
258 from function pointer to void *.
259
d0edbeec
KK
2602004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
261
262 PR target/18032
263 * config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
264 the frame pointer adjustment when exception handling is enabled.
265
34bc6352
KH
2662004-10-20 Kazu Hirata <kazu@cs.umass.edu>
267
268 * stor-layout.c: Fix a comment typo.
269
f45bdcd0
KH
2702004-10-20 Kazu Hirata <kazu@cs.umass.edu>
271
272 * expr.c (store_field): Remove two arguments value_mode and
273 unsignedp.
274 (expand_assignment, store_constructor_field,
275 expand_expr_real_1): Adjust calls to store_field.
276
2772004-10-18 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
278
279 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
280
281 PR target/17317
282 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
283 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
284 base and index register for loads.
285
4f8102db
RR
286 * config/arc/t-arc: Fix multilib handling.
287
b55d5746
HPN
2882004-10-20 Hans-Peter Nilsson <hp@bitrange.com>
289
9524880c
HPN
290 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
291 don't inspect BLOCK_FOR_INSN for barriers.
292 * emit-rtl.c (emit_barrier_before): Revert last change.
293 (emit_barrier_after, emit_barrier): Ditto.
294
b55d5746
HPN
295 * doc/extend.texi (Extended Asm): Warn and provide example
296 solution for using a call-clobbered asm register.
297 (Local Reg Vars): Similar. Cross-reference example.
298
d717e500
AP
2992004-10-19 Andrew Pinski <pinskia@physics.uc.edu>
300
301 * tree-cfg.c (group_case_labels): Look at the second to last
302 case statement for combing with the default case.
303
e4ca3dc3
RH
3042004-10-19 Richard Hendeson <rth@redhat.com>
305
306 PR 17962
307 * stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
308
953312a8
RH
3092004-10-19 Richard Hendeson <rth@redhat.com>
310
311 * builtins.c (expand_builtin_memmove): If fold_builtin_memmove
312 succeeds, only expand the result.
313
a8afd3ac
RH
3142004-10-19 Richard Hendeson <rth@redhat.com>
315
316 PR middle-end/17885
317 * tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
318 of INDIRECT_REF.
319
e61d7b78
KH
3202004-10-19 Kazu Hirata <kazu@cs.umass.edu>
321
322 * tree-cfg.c (thread_jumps): Use a do-while loop instead of a
323 loop with goto.
324
e836a5a2
KH
3252004-10-19 Kazu Hirata <kazu@cs.umass.edu>
326
327 * expr.c (expand_assignment): Remove the last argument.
328 Change the return type to void.
329 * expr.h: Update the prototype of expand_assignment.
330 * function.c (assign_parm_setup_reg): Update a call to
331 expand_assignment.
332 * stmt.c (expand_asm_expr): Likewise.
333
7f8adc4e
KH
3342004-10-19 Kazu Hirata <kazu@cs.umass.edu>
335
336 * expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
337 unnecessary assignments to temp. Return const0_rtx.
338
f94cef0a
KK
3392004-10-19 Kaz Kojima <kkojima@gcc.gnu.org>
340
341 * config/sh/sh.c (sh5_schedule_saves): Fix typo.
342
4c67db14
KC
3432004-10-18 Kelley Cook <kcook@gcc.gnu.org>
344
345 * configure.ac (powerpc-*-darwin*): Require assembler to support
346 .machine directive.
347 * configure: Regenerate.
348
00268eb3
KH
3492004-10-18 Kazu Hirata <kazu@cs.umass.edu>
350
351 * reload1.c (ior_hard_reg_set): Remove.
352 (finish_spills): Use IOR_HARD_REG_SET instead of
353 ior_hard_reg_set.
354
26ebd00d
KH
3552004-10-18 Kazu Hirata <kazu@cs.umass.edu>
356
357 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
358 the currently visited word to right.
359
6e7a355c
EB
3602004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
361
362 PR middle-end/18045
363 * expmed.c (expand_smod_pow2): Handle modes whose size
364 is greater than that of HOST_WIDE_INT.
365
d4de6966
ZL
3662004-10-18 Ziemowit Laski <zlaski@apple.com>
367
368 * c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
369
a494ed43 3702004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3e487b21 371 Roger Sayle <roger@eyesopen.com>
a494ed43
EB
372
373 PR middle-end/17813
374 * dojump.c (discard_pending_stack_adjust): New function.
375 (clear_pending_stack_adjust): Call it.
376 * expr.h (discard_pending_stack_adjust): Declare it.
377 * explow.c (emit_stack_save): Emit pending stack adjustments
378 before saving the stack pointer.
379 (emit_stack_restore): Discard pending stack adjustments before
380 restoring the stack pointer.
381
a2d36602
RH
3822004-10-18 Richard Henderson <rth@redhat.com>
383
3e487b21 384 * c-common.c (handle_mode_attribute): Allow scalar->vector
a2d36602
RH
385 type changes yet.
386
df9af2bb
KH
3872004-10-18 Kazu Hirata <kazu@cs.umass.edu>
388
389 * expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
390 value to expand_assignment.
391
ab51c2f0
KH
3922004-10-18 Kazu Hirata <kazu@cs.umass.edu>
393
394 * tree-cfg.c (cleanup_tree_cfg): Don't iterate on
395 thread_jumps.
396 (thread_jumps): Iterate until no new forwarder block arises.
397
78b6731d
KH
3982004-10-18 Kazu Hirata <kazu@cs.umass.edu>
399
400 * tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
401 (thread_jumps): Use forwardable as cache of
402 tree_forwarder_block_p throughout the function.
403
320b0f6a
AK
4042004-10-18 Andreas Krebbel <krebbel1@de.ibm.com>
405
406 * cfg.c (dump_flow_info): Remove redundant dump of reg life info.
407
77568960
AP
4082004-10-18 Andrew Pinski <pinskia@physics.uc.edu>
409
410 PR middle-end/15014
411 PR middle-end/16973
412 * tree-cfg.c (remove_bb): If we have a label expression in the
413 basic block and the label we have taken the address, move the
414 label expression to the basic block which is previous in the
415 linked list.
416 (tree_verify_flow_info): Fix printing out the label name of the
417 problematic label expression.
418
b757b9f8
PH
4192004-10-18 Pat Haugen <pthaugen@us.ibm.com>
420
b1c79b46 421 PR rtl-optimization/18002
b757b9f8
PH
422 * simplify-rtx.c (mode_signbit_p): Externalize function...
423 * rtl.h (mode_signbit_p): ... to here.
424 * combine.c (simplify_shift_const): Recognize PLUS signbit as
425 canonical form of XOR signbit and move to outer op.
426
1a1804c2
DN
4272004-10-18 Diego Novillo <dnovillo@redhat.com>
428
429 * tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
430 Update all callers.
431 * tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
432 Don't call fold_stmt more than once, use bsi_replace.
433
bca9e17b
DN
4342004-10-18 Diego Novillo <dnovillo@redhat.com>
435
436 PR tree-optimization/17656
437 * tree-ssa.c (replace_immediate_uses): When replacing a
438 constant, if the call to fold_stmt produced a different
439 statement, get an appropriate statement pointer by scanning
440 STMT's basic block.
441
b4992641
RH
4422004-10-18 Richard Henderson <rth@redhat.com>
443
444 * pointer-set.c (hash1): Don't use libm functions in fallback case.
445
f072a5c8 4462004-10-18 H.J. Lu <hongjiu.lu@intel.com>
3b415018
L
447
448 PR bootstrap/17684
449 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
450 (stage1-start): Remove and copy libunwind.a and
451 libunwind*$(SHLIB_EXT) instead of libunwind*.
452 (stage2-start): Likewise.
453 (stage3-start): Likewise.
454 (stage4-start): Likewise.
455 (stageprofile-start): Likewise.
456 (stagefeedback-start): Likewise.
457
458 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
459 the shared library to be created and don't remove the existing
460 shared library.
461 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
462 * config/i386/t-nwld (SHLIB_LINK): Likewise.
463 * config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
464 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
465 * config/sh/t-linux (SHLIB_LINK): Likewise.
466 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
467 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
468 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
469 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
470
471 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
472 files.
473
a2041967
KH
4742004-10-18 Kazu Hirata <kazu@cs.umass.edu>
475
476 * basic-block.h (reg_set_iterator): New.
477 (EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
478 (EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
479 (EXECUTE_IF_AND_IN_REG_SET): Likewise.
480 * caller-save.c (save_call_clobbered_regs): Adjust to the new
481 style.
482 * cfgcleanup.c (thread_jump): Likewise.
483 * cfgrtl.c (safe_insert_insn_on_edge): Likewise.
484 * conflict.c (conflict_graph_compute): Likewise.
485 * flow.c (verify_local_live_at_start, update_life_info,
486 initialize_uninitialized_subregs, propagate_one_insn,
487 init_propagate_block_info, free_propagate_block_info,
488 propagate_block, dump_regset): Likewise.
489 * global.c (global_conflicts): Likewise.
490 * graph.c (start_bb): Likewise.
491 * local-alloc.c (update_equiv_regs): Likewise.
492 * loop.c (load_mems): Likewise.
493 * reload1.c (compute_use_by_pseudos, order_regs_for_reload,
494 find_reg, finish_spills): Likewise.
495 * resource.c (mark_target_live_regs): Likewise.
496 * sched-deps.c (sched_analyze_insn): Likewise.
497 * sched-rgn.c (sched-rgn.c): Likewise.
498 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
499
ba3ed8d8
JJ
5002004-10-18 Jakub Jelinek <jakub@redhat.com>
501
502 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
503 operand 1 instead of 2
504
2cd0e9f4
KH
5052004-10-18 Kazu Hirata <kazu@cs.umass.edu>
506
507 * loop-unroll.c: Fix comment typos.
508
f37a4f14
RE
5092004-10-18 Revital Eres <eres@il.ibm.com>
510
511 * Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
512 * loop-unroll.c: Include varray.h.
513 (struct var_to_expand, struct opt_info): Rename split_ivs_info to
514 opt_info and expand it to support variable expansion.
515 (analyze_insns_in_loop): Rename analyze_ivs_to_split and
516 expand it to support variable expansion.
517 (pt_info_start_duplication): Rename si_info_start_duplication.
518 (apply_opt_in_copies): Rename split_ivs_in_copies and add support
519 to the variable expansion optimization.
520 (free_opt_info): Rename free_si_info.
521 (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
522 expand_var_during_unrolling, insert_var_expansion_initialization,
523 combine_var_copies_in_loop_exit, release_var_copies,
524 get_expansion): New functions.
525 (peel_loop_completely, unroll_loop_constant_iterations,
526 unroll_loop_runtime_iterations, peel_loop_simple,
527 unroll_loop_stupid): Change uses of struct si_info
528 to struct opt_info
529 and add uses of fvariable-expansion-in-unroller flag.
530 * params.def: Add parameter to restrict the number of expansions.
531 * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
532 the number of expansions.
3e487b21 533 * common.opt: (fvariable-expansion-in-unroller): New flag.
f37a4f14
RE
534 * doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
535
535306d0
DS
5362004-10-18 Danny Smith <dannysmith@users.sourceforge.net>
537
538 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
539 __GXX_MERGED_TYPEINFO_NAMES to 0.
540
0ca541aa
HPN
5412004-10-17 Hans-Peter Nilsson <hp@bitrange.com>
542
543 * cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
544 handle barriers in a bb by checking that it points to a NULL bb.
545 * emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
546 (emit_barrier_after, emit_barrier): Ditto.
547
7dcb0442
JM
5482004-10-18 Joseph S. Myers <jsm@polyomino.org.uk>
549
550 * doc/extend.texi (Attribute Syntax): Clarify details of
551 attributes on parameters.
552
e9472263
ZD
5532004-10-17 Zdenek Dvorak <dvorakz@suse.cz>
554
555 * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
556 loop.
557
7c672dfc
AP
5582004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
559
560 Revert:
561 2004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
562
3e487b21
ZW
563 * c-typeck.c (default_function_array_conversion): Always create
564 &a[0] for array types.
565 (build_unary_op): Do not fold &a[x] into a + x.
7c672dfc 566
ac8245fa
AP
5672004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
568
569 PR middle-end/17925
570 * cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
571 block if there is a goto with a locus.
572
caec2cfc
KH
5732004-10-17 Kazu Hirata <kazu@cs.umass.edu>
574
575 * config/elfos.h, config/gofast.h, config/interix.h,
576 config/netbsd.h, config/svr3.h, config/vxworks.h,
577 config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
578 config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
579 config/alpha/netbsd.h, config/arm/arm-modes.def,
580 config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
581 config/cris/aout.h, config/frv/frv-modes.def,
582 config/i386/beos-elf.h, config/i386/gas.h,
583 config/i386/i386-coff.h, config/i386/i386-modes.def,
584 config/i386/linux.h, config/i386/linux64.h,
585 config/i386/mingw32.h, config/i386/netbsd-elf.h,
586 config/i386/netbsd64.h, config/i386/sco5.h,
587 config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
588 config/ia64/ia64-modes.def, config/ia64/itanium1.md,
589 config/ia64/itanium2.md, config/m68k/m68k-modes.def,
590 config/mips/mips-modes.def, config/mips/sdb.h,
591 config/mips/vr.h, config/mips/vxworks.h,
592 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
593 config/pa/pa32-linux.h, config/rs6000/40x.md,
594 config/rs6000/7450.md, config/rs6000/8540.md,
595 config/rs6000/linuxspe.h, config/rs6000/power4.md,
596 config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
597 config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
598 config/s390/s390-modes.def, config/sh/elf.h,
599 config/sh/sh-modes.def, config/sh/sh64.h,
600 config/sparc/ultra1_2.md, config/sparc/ultra3.md,
601 config/stormy16/stormy16.md, config/v850/v850-protos.h,
602 config/vax/vax.md: Update copyright.
603
6c62412f
KH
6042004-10-17 Kazu Hirata <kazu@cs.umass.edu>
605
606 * expr.c (expand_expr_real_1): Remove an obsolete comment.
607
a2a877e2
AP
6082004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
609
610 * c-typeck.c (default_function_array_conversion): Always create
611 &a[0] for array types.
612 (build_unary_op): Do not fold &a[x] into a + x.
613
bc54ef99
JJ
6142004-10-17 Jakub Jelinek <jakub@redhat.com>
615
616 * pointer-set.c (hash1): Use integer part of 2^64 / phi
617 instead 2^32 / phi if long is 64-bit.
618
da5b307a
JM
6192004-10-17 Joseph S. Myers <jsm@polyomino.org.uk>
620
13ceb6d1 621 * c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
da5b307a
JM
622 RID_PTRVALUE.
623 * c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
624 declarations.
625 (reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
626 __ptrextent__, __ptrvalue and __ptrvalue__.
627 (rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
628 entries.
629
4fe52ce9
DJ
6302004-10-16 Dale Johannesen <dalej@apple.com>
631
632 * c-common.c (c_common_get_alias_set): Use GGC for type_hash_table.
633
fce22de5
ZD
6342004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
635
636 PR tree-optimization/17766
637 * basic-block.h (enum dom_state): DOM_CONS_OK removed.
638 (dom_info_available_p): Declare.
639 * cfghooks.c (split_block, make_forwarder_block): Use
640 dom_info_available_p.
641 * dominance.c (compute_dom_fast_query, calculate_dominance_info,
642 free_dominance_info, verify_dominators): Ditto.
643 (dom_info_available_p): New function.
644 * tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
645 (thread_jumps): Use dom_info_available_p.
646 * tree-complex.c (expand_complex_div_wide): Ditto.
647 * tree-mudflap.c (mf_build_check_statement_for): Ditto.
648
80cad5fa
ZD
6492004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
650
651 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
652 (find_best_candidate): Take also important candidates into account.
653 (find_optimal_iv_set): Initialize important_candidates bitmap.
654
f59b0bd4
ZD
6552004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
656
657 PR tree-optimization/17560
658 * predict.c (tree_estimate_probability): Mark irreducible
659 loops.
660
71068e31
ZD
6612004-10-16 Zdenek Dvorak <dvorakz@suse.cz>
662
663 PR rtl-optimization/17723
664 * cfgcleanup.c (merge_memattrs): Handle case when
665 MEM_SIZE == NULL_RTX.
666
29c431a1
AP
6672004-10-15 Andrew Pinski <pinskia@physics.uc.edu>
668
669 * toplev.c (dump_file_name): Change type to be const.
670
dee3cda5
JM
6712004-10-15 Joseph S. Myers <jsm@polyomino.org.uk>
672
673 * c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
674 non_lvalue to stop something being a null pointer constant.
675
b2df7d08
AH
6762004-10-15 Aldy Hernandez <aldyh@redhat.com>
677
678 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
679 available for TARGET_FPRS.
680 (FUNCTION_VALUE_REGNO_P): Same.
681
7088c6e4
GK
6822004-10-15 Geoffrey Keating <geoffk@apple.com>
683
684 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
685 -maltivec in same style as other ISA options.
686
eff41b9f
JG
6872004-10-15 Jon Grimm <jgrimm2@us.ibm.com>
688
689 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
690 definition.
691
f30278e8
KH
6922004-10-15 Kazu Hirata <kazu@cs.umass.edu>
693
694 * bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
695 collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
696 gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
697 genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
698 gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
699 gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
700 lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
701 predict.def, predict.h, protoize.c, reload.h, resource.h,
702 rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
703 tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
704 unwind-sjlj.c, value-prof.h: Update copyright.
705
ed8b7558
KH
7062004-10-15 Kazu Hirata <kazu@cs.umass.edu>
707
708 * pointer-set.c, tree-vectorizer.c: Fix comment typos.
709
e26ce7ed
DN
7102004-10-15 Diego Novillo <dnovillo@redhat.com>
711
712 * tree-optimize.c (execute_one_pass): Stop timer right after
713 executing the pass.
714
53e782e5
AP
7152004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
716
717 Revert:
718 2004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
719 PR middle-end/17967
720 Revert:
721 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
722 (remove_useless_stmts_1): Fold trees we know how to fold.
723
d2ab3e37
DE
7242004-10-14 David Edelsohn <edelsohn@gnu.org>
725
726 * configure.ac: Add .machine power4 directive when testing for
727 mfcr field.
728 * configure: Regenerate.
729
9d948a40
GK
7302004-10-14 Geoffrey Keating <geoffk@apple.com>
731
732 * config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
733
eaddbc33
AP
7342004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
735
736 * tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
737 always.
738
a6645c18
DJ
7392004-10-14 Daniel Jacobowitz <dan@codesourcery.com>
740
741 * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
742 for 'f' if !TARGET_FPRS.
743
0ba6c56d
RH
7442004-10-14 Richard Henderson <rth@redhat.com>
745
746 PR debug/14492
747 * dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
748
559f2da5
RH
7492004-10-14 Richard Henderson <rth@redhat.com>
750
751 PR c/17023
752 * c-decl.c (store_parm_decls_oldstyle): Care for parameter type
753 as error_mark_node.
754 * c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
755 instaed of current_function_decl non-null.
756
0c58f841
MA
7572004-10-14 Matt Austern <austern@apple.com>
758
759 * pointer-set.c: New file, special-purpose hash table.
760 * pointer-set.h: New file.
761 * tree.h (struct pointer_set_t): Declare as opaque type.
762 (tree_walk): Last argument is pointer_set_t* now.
763 * tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
3e487b21 764 (walk_type_fields):
0c58f841
MA
765 (walk_tree): Convert from htab_t to pointer_set_t for keeping
766 track of which nodes have already been visited.
767 (walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
768 * cgraphunit.c (cgraph_create_edges): Likewise.
769 (cgraph_characterize_statics_local): Likewise.
770 * tree-dfa.c (collect_dfa_stats): Likewise.
771 * langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
772 pointer_set_t* now.
773 * langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
774 * langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
775 of walk_subtrees is pointer_set_t* now.
776 * Makefile.in (OBJS-common): add pointer-set.o
777 (tree-inline.o): Depends on pointer-set.h
778 (tree-dfa.o): Likewise
779 (cgraphunit.o): Likewise
3e487b21 780
c4e18b1c
GK
7812004-10-14 Geoffrey Keating <geoffk@apple.com>
782
783 * config/rs6000/darwin.h (ASM_SPEC): Delete.
784 (TARGET_ASM_FILE_START): Define.
785 * config/darwin.h (ASM_SPEC): Define.
786 * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
787 -mlong-double-128, it's the default. Update comment about reason
788 for force_cpusubtype_ALL.
789 * config/rs6000/darwin-vecsave.asm: Supply .machine.
790 * config/rs6000/darwin-world.asm: Likewise.
791 * config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
792 (symbolic_operand): Delete #if 0ed code.
793
b77aa1f7
AP
7942004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
795
796 * stmt.c (add_case_node): Make sure that we have integer
797 constant before calling tree_int_cst_compare.
798
4965c163
AP
7992004-10-14 Andrew Pinski <pinskia@physics.uc.edu>
800
801 PR middle-end/17967
802 Revert:
803 * tree-cfg.c (remove_usless_stmts_cond): Fold statement.
804 (remove_useless_stmts_1): Fold trees we know how to fold.
805
b419bac7
JM
8062004-10-14 Joseph S. Myers <joseph@codesourcery.com>
807
808 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
809 config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
810 -m64.
811
d58005c7
UW
8122004-10-14 Ulrich Weigand <uweigand@de.ibm.com>
813
814 * reload.c (find_reloads): When reloading a PLUS with constant
815 operand, make sure the constant is pushed to the constant pool
816 if required.
817 * config/s390/s390.c (s390_secondary_input_reload_class): Remove
818 reload bug workaround.
819 (s390_expand_plus_operand): Likewise.
820
3020563a
DE
8212004-10-14 David Edelsohn <edelsohn@gnu.org>
822
823 * opts.c (common_handle_option): Do not enable
824 flag_speculative_prefetching for -fprofile-generate/use.
825
0ecf0d5f
DP
8262004-10-14 Devang Patel <dpatel@apple.com>
827
828 PR 17635
829 * tree-if-conv.c (process_phi_nodes): Process latch block.
830 (combine_blocks): Process latch block and update loop structure.
3e487b21 831
a023975e
OG
8322004-10-14 Olga Golovanevsky <olga@il.ibm.com>
833
834 * tree-vectorizer.c (vect_generate_tmps_on_preheader):
835 (vect_update_ivs_after_vectorizer):
836 (vect_transform_for_unknown_loop_bound):
837 (tree_duplicate_loop_to_edge):
838 (allocate_new_names):
839 (rename_use_op):
840 (rename_def_op):
841 (rename_variables_in_bb):
842 (free_new_names):
843 (rename_variables_in_loop):
844 (copy_phi_nodes):
845 (update_phis_for_duplicate_loop):
846 (update_phi_nodes_for_guard):
847 (make_loop_iterate_ntimes):
848 (tree_duplicate_loop_to_edge_cfg):
849 (add_loop_guard):
850 (vect_analyze_loop_with_symbolic_num_of_iters):
3e487b21 851 (verify_loop_for_duplication):
a023975e
OG
852 (vect_gen_niters_for_prolog_loop):
853 (vect_update_niters_after_peeling):
854 (vect_update_inits_of_dr):
855 (vect_update_inits_of_drs):
856 (vect_build_loop_niters):
857 (vect_do_peeling_for_alignment): New functions.
858 (vect_transform_loop): Add unknown and known but indivisible loop
3e487b21 859 bound support; add peeling for unalignment support.
a023975e
OG
860 (vect_analyze_loop_form): Support symbolic number of iterations.
861 (vect_transform_loop_bound): New input parameter.
862 (vect_get_loop_niters): Change input parameter type.
863 (new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
864 (vectorizable_store): Allow unaligned access.
865 (vectorize_loops): Add rewrite_into_loop_closed_ssa.
866 (vect_analyze_data_refs_alignment): Allowed one unaligned
867 store.
3e487b21 868 * tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
a023975e
OG
869 to use tree.
870 (LOOP_VINFO_INT_NITERS): New macro.
871 (MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
872 (do_peeling_for_alignment):
873 (unaligned_drs): New members of _loop_vec_info.
874 (LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
875
7238c5ec
RM
8762004-10-14 Ranjit Mathew <rmathew@hotmail.com>
877
878 * tree.h (TREE_STRING_POINTER): Wrap in "const char *".
879 (struct tree_string): Remove "const" qualifier for "str".
880
322ae40b
IR
8812004-10-14 Ira Rosen <irar@il.ibm.com>
882
883 * tree-vectorizer.c (vect_analyze_data_refs): Call
884 vect_get_base_and_bit_offset to get memory tag for array ref.
885 (vect_create_addr_base_for_vector_ref): Remove redundant checks.
886
b79187bb
RE
8872004-10-14 Richard Earnshaw <rearnsha@arm.com>
888
889 * configure.ac: Use $LN_S for creating symlinks (not $LN).
890 * configure: Regenerate.
891
c7525a64
KG
8922004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
893
894 * doc/install.texi (*-*-solaris2*): Update with info about kernel
895 patches to solve spurious testsuite failures.
896
f0923257
DN
8972004-10-14 Dorit Naishlos <dorit@il.bim.com>
898
899 * tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
900 Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
901 (vect_analyze_operations): Make sure the vectorization factor > 1. Add
902 gcc_assert under ENABLE_CHECKING.
903 (vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
904 get_vectype_for_scalar_type).
905
906 (vect_get_vec_def_for_operand): Remove redundant variables.
907 (vect_transform_loop): Likewise.
908
a2503645
RS
9092004-10-14 Richard Sandiford <rsandifo@redhat.com>
910
911 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
912 global for -mcaller-super-interworking.
913 (CALLER_INTERWORKING_SLOT_SIZE): New macro.
914 * config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
915 CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
916 not need a frame pointer.
917 (arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
918 the soft frame pointer offset.
919 (thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
920 * config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
921 _interwork_{r7,r11}_call_via_rN if some arguments are passed on
922 the stack. Use frame_pointer_needed to choose between them.
923 * config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
924 (interwork_with_frame): New macro.
925 (interwork): Add _interwork_{r7,r11}_call_via_rN().
926
ef9af077
BE
9272004-10-14 Ben Elliston <bje@au.ibm.com>
928
929 PR other/17900
930 * diagnostic.c (trim_filename): Fix logic bug in walking backwards
931 up the filename looking for a previous directory separator.
932
81da229b
JM
9332004-10-14 Joseph S. Myers <jsm@polyomino.org.uk>
934
935 * c-tree.h (enum c_typespec_kind, struct c_typespec,
936 parser_xref_tag): New.
937 (struct c_declspecs): Add tag_defined_p. Adjust definition of
938 typedef_p.
939 (declspecs_add_type): Adjust prototypes.
940 * c-parse.in (%union): Add tstype.
941 (typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
942 typespec_reserved_attr, typespec_nonreserved_nonattr,
943 structsp_attr, structsp_nonattr): Change to tstype. Update
944 actions.
945 * c-decl.c (build_null_declspecs): Initialize tag_defined_p.
946 (declspecs_add_type): Update to take struct c_typespec argument.
947 Set tag_defined_p and typedef_p as appropriate.
948 (xref_tag): Rename to parser_xref_tag and replace by wrapper.
949 Update to return struct c_typespec.
950 (shadow_tag_warned): Don't let empty declarations with qualifiers
951 or storage class specifiers redeclare a tag if a previous
952 declaration is visible.
953
d8cb0614
RH
9542004-10-13 Richard Henderson <rth@redhat.com>
955
956 PR debug/15860
957 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
958 for DECL_INCOMING_RTL.
959
bf6ac87c
HPN
9602004-10-14 Hans-Peter Nilsson <hp@axis.com>
961
962 PR target/17984
963 * config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
964 trunc_int_for_mode for constants used in shortened mode.
965
61f03aba
RH
9662004-10-13 Richard Henderson <rth@redhat.com>
967
3e487b21
ZW
968 PR c/17384
969 * c-common.c (handle_mode_attribute): Disallow mode changes that
970 alter the CODE of the top-level type.
971
972 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
973 integer from internal limits macros.
974 * config/i386/mm3dnow.h (__v2sf): Fix base type.
61f03aba 975
32e66afd 9762004-10-13 Richard Henderson <rth@redhat.com>
3e487b21
ZW
977
978 PR debug/13841
979 * function.c (instantiate_decl): Recurse for CONCAT.
32e66afd 980
520308bc
DE
9812004-10-13 David Edelsohn <edelsohn@gnu.org>
982
983 * config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
984 andi./andis.
985 (anddi3): Same.
9a3c428b
DE
986 (extzvdi_internal1): Add attribute "compare".
987 (extzvdi_internal2): Same.
520308bc 988
090359d6
TT
9892004-10-12 Tom Tromey <tromey@redhat.com>
990
991 * doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
992
2f59e40e
DJ
9932004-10-13 Dale Johannesen <dalej@apple.com>
994
995 * doc/extend.texi (Extended Asm): Rewrite asm volatile description.
996
ccab73c3
FCE
9972004-10-13 Frank Ch. Eigler <fche@redhat.com>
998
999 * toplev.c (compile_file): Call mudflap_finish_file from here ...
1000 * c-decl.c (c_write_global_declarations): ... instead of here ...
1001 * cp/decl.c (cp_finish_file): ... and here.
1002 * tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
1003
163075a0
AP
10042004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
1005
1006 * tree-ssa-dom.c (record_range): Free the element if we are not
1007 going to use it.
1008
e89f2821
TT
10092004-10-13 Tom Tromey <tromey@redhat.com>
1010
1011 PR java/15578:
1012 * gcc.c (option_map): Added --extdirs and --encoding.
1013
b9bf58e5
EB
10142004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
1015
1016 PR target/14454
1017 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
1018 sparc_can_output_mi_thunk.
1019 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
1020 handling of vcall offset.
1021 (sparc_can_output_mi_thunk): New predicate.
1022 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
1023 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
1024 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
1025
1026 * config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
1027
1028 * config/sparc/sparc.md (movdi): Remove redundant test.
1029
2a10039c
PB
10302004-10-13 Paolo Bonzini <bonzini@gnu.org>
1031
1032 * tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
1033 TDF_IPA from -fdump-tree-*-all.
1034
fe013435
PB
10352004-10-13 Paul Brook <paul@codesourcery.com>
1036
1037 * config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
1038 * config/arm/arm.c (thumb_find_work_register): Update comments.
1039 (arm_load_pic_register): Add argument for scratch register.
1040 (arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
1041 * config/arm/arm.md (builtin_setjmp_receiver): Ditto.
1042
50300b4c
KH
10432004-10-13 Kazu Hirata <kazu@cs.umass.edu>
1044
1045 * tree-data-ref.c: Fix comment typos.
1046
69d49802
JJ
10472004-10-13 Jakub Jelinek <jakub@redhat.com>
1048 Zdenek Dvorak <dvorakz@suse.cz>
1049
1050 PR tree-optimization/17724
1051 * tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
1052
13c62176
DN
10532004-10-13 Dorit Naishlos <dorit@il.ibm.com>
1054
1055 * rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
1056 (altivec_builtin_mask_for_store): Likewise.
1057 (altivec_init_builtins): Use lang_hooks.builtin_function to
1058 create the decls for builtin_altivec_mask_for_load/store.
1059
1ce3d58a
NC
10602004-10-13 Nick Clifton <nickc@redhat.com>
1061
1062 * config/c4x/c4x.c: Remove inclusion of loop.h.
1063
f76ccf60
BE
10642004-10-12 Ben Elliston <bje@au.ibm.com>
1065
1066 * basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
1067 (ei_container): New; renamed.
1068 (ei_start, ei_last): New macros.
1069 (ei_start_1, ei_last_1): Renamed from ei_start.
1070 (ei_last_1, ei_end_p): Use ei_container() where applicable.
1071 (ei_one_before_end_p, ei_next, ei_edge): Likewise.
1072 * gcse.c (remove_reachable_equiv_notes): Use ei_container().
1073
86df10e3 10742004-10-11 Sebastian Pop <pop@cri.ensmp.fr>
fe013435 1075
86df10e3
SP
1076 * Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
1077 * cfgloop.c (initialize_loops_parallel_p): New.
3e487b21 1078 (flow_loops_find): Initialize the parallel_p field to true for all
86df10e3
SP
1079 the loops.
1080 * tree-ssa-loop-niter.c: Include "tree-data-ref.h".
3e487b21 1081 (estimate_numbers_of_iterations_loop): Infers the loop bounds from
86df10e3 1082 the size of the data accessed in the loop.
3e487b21 1083 (struct nb_iter_bound): Moved...
86df10e3
SP
1084 * cfgloop.h (struct nb_iter_bound): ... here.
1085 (estimated_nb_iterations, parallel_p): New fields in struct loop.
1086 (record_estimate): Declare extern here.
1087 * tree-chrec.c: Fix comments.
1088 (nb_vars_in_chrec): New function.
1089 * tree-chrec.h (nb_vars_in_chrec): Declared here.
3e487b21 1090 * tree-data-ref.c: Don't include lambda.h, that is already included
86df10e3
SP
1091 in tree-data-ref.h.
1092 (tree_fold_divides_p): Don't check for integer_onep.
1093 (tree_fold_bezout): Removed.
1094 (gcd): New static duplicated function.
1095 (int_divides_p, dump_subscript): New.
1096 (dump_data_dependence_relation): Use dump_subscript.
3e487b21 1097 (dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
86df10e3 1098 estimate_niter_from_size_of_data): New.
3e487b21
ZW
1099 (analyze_array_indexes, analyze_array): Call
1100 estimate_niter_from_size_of_data during the detection of array
1101 references. Pass in a pointer to the statement that contains the
86df10e3
SP
1102 array reference.
1103 (all_chrecs_equal_p): New.
1104 (compute_distance_vector): Renamed compute_subscript_distance.
1105 Deal with multivariate conflict functions.
3e487b21 1106 (initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
86df10e3
SP
1107 DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
1108 (non_affine_dependence_relation): New.
3e487b21
ZW
1109 (analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
1110 analyze_siv_subscript, analyze_miv_subscript,
1111 analyze_overlapping_iterations, subscript_dependence_tester):
86df10e3
SP
1112 Initialize and return last_conflicts function.
1113 (initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
1114 compute_overlap_steps_for_affine_1_2): New.
1115 (analyze_siv_subscript_affine_cst): Removed.
3e487b21
ZW
1116 (analyze_subscript_affine_affine): Disprove dependences based on the
1117 iteration domains. Solve the univariate dependence case as before,
86df10e3
SP
1118 but use lambda_matrix_right_hermite instead of tree_fold_bezout.
1119 Implement the multivariate case of 2 versus 1 variables.
3e487b21 1120 (build_classic_dist_vector, build_classic_dir_vector): Implement some
86df10e3 1121 unhandled cases.
3e487b21 1122 (find_data_references_in_loop): Compute and initialize
86df10e3
SP
1123 loop->estimated_nb_iterations and loop->parallel_p.
1124 (analyze_all_data_dependences): Modify the debug dump order.
1125 * tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
1126 subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
3e487b21 1127 (SUB_LAST_CONFLICT, subscript->last_conflict,
86df10e3
SP
1128 data_dependence_relation->affine_p, data_dependence_relation->size_vect,
1129 DDR_AFFINE_P, DDR_SIZE_VECT): New.
1130 (find_data_references_in_loop, initialize_data_dependence_relation,
1131 dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
1132
06c3418c
KC
11332004-10-12 Kelley Cook <kcook@gcc.gnu.org>
1134
1135 * configure: Regenerate.
1136
01d8c00b
FJ
11372004-10-12 Fariborz Jahanian <fjahanian@apple.com>
1138
1139 PR 17892
1140 * tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
1141 (simplify_rhs_and_lookup_avail_expr): Disallow associativity
3e487b21 1142 and constant folding of floating point MULT_EXPR/PLUS_EXPR
01d8c00b
FJ
1143 expressions.
1144
967af719
UW
11452004-10-12 Ulrich Weigand <uweigand@de.ibm.com>
1146
1147 * config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
1148 (s390_gimplify_va_arg): Likewise.
1149
888d2cd6
DJ
11502004-10-12 Daniel Jacobowitz <dan@debian.org>
1151
1152 * defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
1153 (MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
1154 (REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
1155 * regclass.c (record_address_regs): Remove ifdef. Use
1156 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
1157 * regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
1158 definition.
1159 (scan_rtx_address, replace_oldest_value_addr): Use
1160 REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
1161 * reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
1162 unnecessary definitions.
1163 (find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
1164 and MODE_BASE_REG_REG_CLASS.
1165 * config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
1166 (MODE_BASE_REG_REG_CLASS): Define.
1167 (REGNO_MODE_OK_FOR_REG_BASE_P): Define.
1168 (REG_MODE_OK_FOR_REG_BASE_P): Define.
1169 * doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
1170 REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
1171
7dcdacad
DB
11722004-10-12 Daniel Berlin <dberlin@dberlin.org>
1173
1174 * tree-ssa-alias.c (verify_name_tags): New function.
1175 (verify_flow_sensitive_alias_info): Remove code that used to check name tags.
1176 (verify_alias_info): Call verify_name_tags.
1177
c271ba77
KH
11782004-10-12 Kazu Hirata <kazu@cs.umass.edu>
1179
1180 PR rtl-optimization/17931
1181 * config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
1182 ZERO_EXTRACT in it.
1183
22de4c3d
RE
11842004-10-12 Richard Earnshaw <rearnsha@arm.com>
1185
1186 * arm.c (arm_print_operand): Use output_operand_lossage where possible
1187 rather than aborting.
1188
fa91adc6
PB
11892004-10-12 Paul Brook <paul@coudesourcery.com>
1190
1191 * config.gcc: Add armv6{k,z,zk}
1192 * config/arm/arm-cores.def: Add arm1176 and mpcore.
1193 * config/arm/tune.md: Regenerate.
1194 * config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
1195 Define.
1196 (all_architectures): Add armv6k, armv6z, armv6zk.
1197 * config/arm/lib1funcs.asm: Recognise new arm arcitectures.
1198 * doc/invoke.texi: Document new arch and cpu values.
1199
a3702807
PB
12002004-10-12 Paul Brook <paul@coodesourcery.com>
1201
1202 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
1203 meabi=4.
1204
49dee49c
PB
12052004-10-12 Paul Brook <paul@codesourcery.com>
1206
1207 * config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
1208 Handle negative constants.
1209
3789b316
JM
12102004-10-12 Joseph S. Myers <jsm@polyomino.org.uk>
1211
1212 PR c/17301
1213 * c-typeck.c (convert_arguments): Return error_mark_node if there
1214 are too few arguments.
1215 (build_function_call): Handle error_mark_node return from
1216 convert_arguments.
1217
35f06ae4
PB
12182004-10-06 Paolo Bonzini <bonzini@gnu.org>
1219
1220 * configure.ac (symbolic_link): Replace with $LN_S.
1221 (Assembler/Linker): Hard link from gas and binutils trees.
1222 * aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
1223 * configure: Regenerate.
1224
21addcd9
PB
12252004-10-12 Paul Brook <paul@codesourcery.com>
1226
1227 * configure.ac: Don't look for host assembler when building a canadian
1228 cross.
1229 * configure: Regenerate.
1230
afd85c1a
RS
12312004-10-11 Roger Sayle <roger@eyesopen.com>
1232
1233 PR other/17361
1234 * c-opts.c (permit_fortran_options): Delete/obsolete global variable.
1235 (c_common_init_options): Remove #ifdef CL_F77 code. Scan command
1236 line options for "-lang-asm" and if found allow any of the C-family
1237 front-end options.
1238 (c_common_handle_option): Remove last use of permit_fortran_options.
1239
fc0ea003
UW
12402004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
1241
1242 * config/s390/s390.c (print_operand): Support 'S' format flag.
1243 * config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
1244 ("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
1245 ("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
1246 ("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
1247 ("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
1248 ("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
1249 ("*movstricthi"): Likewise.
1250 ("*load_multiple_di", "*load_multiple_si"): Likewise.
1251 ("*store_multiple_di", "*store_multiple_si"): Likewise.
1252 ("*sethiqisi", "*sethihisi"): Likewise.
1253 ("*sethiqidi_64", "*sethiqidi_31"): Likewise.
1254 ("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
1255 ("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
1256 ("*xorqi3", "*xc", "*xc_zero"): Likewise.
1257 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
1258
1259 ("*tmhi_full"): Fix incorrect op_type attribute.
1260
1261 ("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
1262 ("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
1263 ("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
1264 ("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
1265
c94b5e7f
AP
12662004-10-11 Andrew Pinski <pinskia@physics.uc.edu
1267
1268 PR middle-end/16266
1269 * function.c (temp_slots_at_level): Fix typo which creates too
1270 many temp stack slots levels.
1271
cadc42db
UW
12722004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
1273
1274 * config/s390/s390.c (s390_trampoline_template): Generate shorter
1275 trampoline code.
1276 (s390_trampoline_instantiate): Adapt.
1277 * config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
1278
eb172681
RS
12792004-10-11 Roger Sayle <roger@eyesopen.com>
1280
1281 PR middle-end/17657
1282 * stmt.c (add_case_node): Add additional type argument. Declare
1283 as static to match prototype. Convert the upper and lower bounds
3e487b21 1284 to the specified index type. Optimize away case ranges/values
eb172681
RS
1285 that are outside the index type's bounds. Truncate case ranges
1286 that span the index type's bounds.
1287 (expand_case): Avoid unnessary computation and memory allocation
1288 when index type is error_mark_node. Pass index_type as required
1289 by change to add_case_node API. No need to convert case range
1290 bounds to index_type, this is now done by add_case_node.
1291
19b63d8e
UW
12922004-10-11 Ulrich Weigand <uweigand@de.ibm.com>
1293
1294 * config/s390/s390-protos.h (s390_offset_p): Add prototype.
1295 * config/s390/s390.c (s390_offset_p): New function.
1296 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
1297 "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
1298 transform Q->Q alternatives to *clc pattern.
1299 ("*clc"): Move.
1300 ("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
1301 "*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
1302 to transform Q->Q alternatives to *mvc pattern.
1303 ("*mvc"): Move. Add peephole to merge adjacent MVCs.
1304 ("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
1305 "*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
1306 transform Q->Q alternatives to *nc pattern.
1307 ("*nc"): New insn. New peephole to merge adjacent NCs.
1308 ("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
1309 "*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
1310 transform Q->Q alternatives to *oc pattern.
1311 ("*oc"): New insn. New peephole to merge adjacent OCs.
1312 ("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
1313 transform Q->Q alternatives to *xc pattern.
1314 ("*xc"): New insn. New peephole to merge adjacent XCs.
1315 ("*xc_zero"): Move. Add peephole to merge adjacent XCs.
1316
d775bc45
AP
13172004-10-11 Andrew Pinski <pinskia@physics.uc.edu>
1318
1319 * gimplify.c (gimple_push_condition): Make sure that we don't
1320 have any saved condition cleanup if we were at the top level.
1321
6b34e55e
RS
13222004-10-11 Richard Sandiford <rsandifo@redhat.com>
1323
1324 * config/frv/frv.md (*adddi3_internal): Change name to...
1325 (adddi3): ...replacing the exisiting define_expand. Combine
1326 alternatives. Fix the range of the constant constraints ('J' instead
1327 of 'NOP'). Remove bogus operands[2] check. Use simplify_gen_subreg
1328 to extract the lower and upper halves of the DImode operands.
1329 Always use addi3_lower and adddi3_upper, not the subdi3 forms.
1330 (adddi3_lower): Fix the range of the constant constraints and
1331 remove the bogus operands[2] check.
1332 (adddi3_upper): Use gpr_or_int10_operand as the predicate for
1333 operand 2. Use addxi to handle constant operands.
1334 (subdi3_lower, subdi3_upper): Don't handle constant operands.
1335
422d9921
NS
13362004-10-11 Nathan Sidwell <nathan@codesourcery.com>
1337
1338 * gengtype-lex.l: Add commented } & ) characters to unconfuse
1339 editor's paren matching. Allow #define inside a struct.
1340
0ad28dde
AP
13412004-10-10 Andrew Pinski <pinskia@physics.uc.edu>
1342
1343 PR middle-end/17703
1344 part of PR c++/17657
1345 * fold-const.c (fold_build_cleanup_point_expr): New function.
1346 * tree.h (fold_build_cleanup_point_expr): Prototype.
1347
5c70192c
EC
13482004-10-10 Eric Christopher <echristo@redhat.com>
1349
1350 * dwarf2out.c: Move attribute to subprogram declaration
1351 instead of subroutine type.
1352
9b1f72c4
KH
13532004-10-10 Kazu Hirata <kazu@cs.umass.edu>
1354
1355 * basic-block.h: Remove the prototypes for can_hoist_insn_p,
1356 hoist_insn_after, and hoist_insn_to_edge.
1357 * rtl.h: Remove the prototypes for reg_referenced_between_p,
1358 no_jumps_between_p, and insn_dependent_p.
1359 * rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
1360 insn_dependent_p, insn_dependent_p_1, hoist_test_store,
1361 can_hoist_insn_p, hoist_update_store, hoist_insn_after,
1362 hoist_insn_to_edge): Remove.
1363
bba5733f
JM
13642004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
1365
1366 PR c/17881
1367 * c-decl.c (grokparms): Don't warn for parameters of incomplete
1368 type in declarations that are not definitions except for the case
1369 of parameters of void type.
1370
f0b698c1
KH
13712004-10-10 Kazu Hirata <kazu@cs.umass.edu>
1372
1373 * tree-cfg.c: Fix comment typos.
1374
c69c9b36
JM
13752004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
1376
1377 PR c/17301
1378 * builtins.c (expand_builtin_va_start): Check for too few
1379 arguments to va_start.
1380
216a5f1b
JM
13812004-10-10 Joseph S. Myers <jsm@polyomino.org.uk>
1382
1383 PR c/17189
1384 * c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
1385 fields a pedwarn. Pedwarn here for unnamed structs/unions if
1386 pedantic.
1387 * c-parse.in (component_decl): Don't pedwarn here for unnamed
1388 fields.
1389
3d5c655f
ZD
13902004-10-09 Zdenek Dvorak <dvorakz@suse.cz>
1391
1392 PR tree-optimization/17906
1393 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
1394 copy non-gimple reg arguments.
1395
fc7ca5fd
RS
13962004-10-09 Roger Sayle <roger@eyesopen.com>
1397
1398 PR rtl-optimization/17853
1399 * simplify-rtx.c (simplify_relational_operation): Correct comment.
1400 Reorganize handling of comparison operations with floating point
1401 results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
1402 Likewise, introduce support for comparison operations with vector
1403 result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
1404
1405 * doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
1406 * doc/tm.texi: Likewise.
1407
35ed0a93
SB
14082004-10-09 Steven Bosscher <stevenb@suse.de>
1409
1410 * regs.h (struct reg_info_def): Remove the last_node_uid and
1411 changes_mode fields.
1412 (REGNO_LAST_NOTE_UID): Don't define.
1413 * regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
1414 * regmove.c (copy_src_to_dest): Likewise.
1415
d2e74f6f
RS
14162004-10-09 Roger Sayle <roger@eyesopen.com>
1417
1418 PR middle-end/17894
1419 * fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
1420 relational comparison operator op needs to be swapped/reversed when
1421 C1 is negative. i.e. X/-10 < 1 becomes X >= -9, not X < -9.
1422
227c4bc7
AP
14232004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
1424
1425 PR tree-opt/17902
1426 * tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
1427 instead of bsi_start.
1428 (value_replacement): Likewise.
1429 (abs_replacement): Likewise
1430
b7211528
SB
14312004-10-09 Steven Bosscher <stevenb@suse.de>
1432
1433 * cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
1434 (expand_gimple_cond_expr, expand_gimple_tailcall,
1435 expand_gimple_basic_block): Use it to dump RTL for each stmt.
1436 (tree_expand_cfg): Announce full RTL function dump.
1437 * tree-optimize.c (execute_one_pass): Use normal RTL printing,
1438 not the graph version.
1439 * tree-pretty-print.c (dump_generic_node): Allow empty statements
1440 in the arms of a COND_EXPR for lowered nodes.
1441
538e3964
JM
14422004-10-08 Joseph S. Myers <joseph@codesourcery.com>
1443
1444 * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
1445 atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
1446 strtoufix16, strtoufix32, strtoufix64): Declare.
1447
6d84156b
JM
14482004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
1449
1450 * c-lex.c (interpret_float): Give a pedwarn rather than a warning
1451 for an out-of-range floating point constant.
1452 * builtins.c (fold_builtin_inf): Give a pedwarn rather than a
1453 warning if the target format does not support infinities.
1454
971e29f6
KH
14552004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1456
1457 * emit-rtl.c (last_label_num, base_label_num): Remove.
1458 (max_label_num): Always return label_num.
1459 (set_new_last_label_num, restore_emit_status): Remove.
1460 (init_emit): Don't initialize last_label_num.
1461 * function.c (pop_function_context_from): Don't call
1462 restore_emit_status.
1463 * function.h: Remove the prototype for restore_emit_status.
1464 * rtl.h: Remove the prototype for set_new_last_label_num.
1465
f5bb9a23
KH
14662004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1467
1468 * stmt.c (expand_decl_init): Remove.
1469 * tree.h: Remove the corresponding prototype.
1470
2a9772e3
KH
14712004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1472
1473 * integrate.c (try_constants, subst_constants, mark_stores):
1474 Remove.
1475 * integrate.h: Remove the prototype for try_constants.
1476
6dcc04b0
JM
14772004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
1478
1479 * c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
1480 (convert_for_assignment): Handle ic_argpass_nonproto. Add
1481 comments about its relevance to errors.
1482 (c_convert_parm_for_inlining): Use ic_argpass_nonproto.
1483
14788775
AP
14842004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
1485
1486 PR c/16999
1487 * c-ppoutput.c (cb_ident): Don't quote string as it is already
1488 quoted.
1489
6048b706
DN
14902004-10-08 Diego Novillo <dnovillo@redhat.com>
1491
1492 * tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
1493 reference_node_pool.
1494
b986ebf3
KH
14952004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1496
1497 * tree-cfg.c: Fix a comment typo.
1498
8a512b77
AK
14992004-10-08 Andreas Krebbel <krebbel1@de.ibm.com>
1500
5c70192c 1501 * config/s390/s390.c (s390_register_info): Don't save fprs for
8a512b77
AK
1502 -msoft-float.
1503 (s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
1504
064e93c2
UW
15052004-10-08 Ulrich Weigand <uweigand@de.ibm.com>
1506
1507 * config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
1508 (TARGET_DEFAULT): Use symbolic values.
1509 * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
1510 (TARGET_DEFAULT): Use symbolic values.
1511 * config/s390/s390.c (s390_backchain_string): Initialize to
1512 TARGET_DEFAULT_BACKCHAIN.
1513
559837f7
KG
15142004-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1515
4d9ef6a9
KG
1516 * builtins.c (expand_builtin_mempcpy): Move tree handling code to
1517 fold_builtin_mempcpy. Accept a type parameter. Delete duplicate
1518 code.
1519 (expand_builtin_strcat): Accept a type parameter.
1520 (fold_builtin_mempcpy): Accept a type and endp parameter.
1521
559837f7
KG
1522 * builtins.c (expand_builtin_strncpy): Delete duplicate code.
1523 Accept an `exp' instead of an `arglist'.
1524
a58eeb31
NS
15252004-10-08 Nathan Sidwell <nathan@codesourcery.com>
1526
1527 * tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
1528 reverting my 2004-09-07 patch to use build_int_cst.
1529
39ba2f92
EB
15302004-10-08 Eric Botcazou <ebotcazou@libertysurf.fr>
1531
1532 PR target/17245
1533 * config/sparc/sparc.c (input_operand): Remove redundant code
1534 for handling LO_SUM.
1535 (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
1536 <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
1537 Otherwise only accept it for TFmode if quad move insns are available.
1538
10a52335
KH
15392004-10-08 Kazu Hirata <kazu@cs.umass.edu>
1540
1541 * tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
1542 common cases will be caught earlier than others.
1543
a252f3e8
MM
15442004-10-08 Michael Matz <matz@suse.de>
1545
1546 * loop-doloop.c (doloop_optimize): Extend count.
1547
07ea92d3
KK
15482004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
1549
1550 * config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
1551 (prefetch): Convert to expander.
1552
15532004-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
1554
1555 * config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
1556 first argument of CALL.
1557 (tls_local_dynamic): Likewise.
1558
2ac2f164
JM
15592004-10-08 Joseph S. Myers <jsm@polyomino.org.uk>
1560
1561 * c-typeck.c (enum impl_conv): New.
1562 (convert_for_assignment): Use it. Take tree for function called
1563 instead of its name. Handle ObjC selectors for diagnostics at
1564 start of function. Select diagnostic text within the function
1565 using full sentences for diagnsotics. Use %qE to name functions
1566 in diagnostics.
1567 (convert_arguments, build_modify_expr,
1568 c_convert_parm_for_inlining, digest_init, c_finish_return): Update
1569 callers to convert_for_assignment.
1570 (warn_for_assignment): Remove.
1571
da06f1ae
NC
15722004-10-08 Nick Clifton <nickc@redhat.com>
1573
1574 * config/sh/symbian.c (symbian_possibly_export_base_class):
1575 Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
1576 TYPE_CONTAINS_VPTR_P.
1577
69a53ee8
KI
15782004-10-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1579
1580 * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
1581 fixed registers form all_used_regs. Update call_really_used_regs.
1582 (CALL_REALLY_USED_REGISTERS): Define.
1583 * config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
1584 with call_really_used_regs.
1585
29ef8952
AM
15862004-10-08 Alan Modra <amodra@bigpond.net.au>
1587
1588 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
1589 for -profile as well as -p and -pg.
1590
4a750a6d
AP
15912004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
1592
1593 * libgcc2.c (__moddi3): Cast &w to UDWtype*.
1594
52ea044e
KH
15952004-10-07 Kazu Hirata <kazu@cs.umass.edu>
1596
1597 * tree-cfg.c (tree_block_forwards_to): Remove.
1598 * tree-flow.h: Remove the corresponding prototype.
1599
d7d086f0
KH
16002004-10-07 Kazu Hirata <kazu@cs.umass.edu>
1601
1602 * tree-flow-inline.h (phi_nodes): Remove an unnecessary check
1603 for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
1604
add2402e
GK
16052004-10-07 Geoffrey Keating <geoffk@apple.com>
1606
1607 Radar 3813796
1608 * config/rs6000/rs6000.c (rs6000_generate_compare): When
1609 flag_trapping_math is in effect, don't generate subtract
1610 instructions.
1611
0dfa6c5e
UW
16122004-10-07 Ulrich Weigand <uweigand@de.ibm.com>
1613
1614 * config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
1615 * config/s390/s390.c (s390_narrow_logical_operator): New function.
1616 (s390_extra_constraint_str): Add 'A' constraints.
1617 (s390_const_ok_for_constraint_p): Add 'Nx' constraints.
1618 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
1619 (CONSTRAINT_LEN): Likewise.
1620 * config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
1621 ("*andsi3_zarch", "*andsi3_esa"): Likewise.
1622 ("*andhi3_zarch", "*andhi3_esa"): Likewise.
1623 ("*iordi3"): Add OI alternative and splitter.
1624 ("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
1625 ("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
1626 ("*xordi3"): Add XI alternative and splitter.
1627 ("*xorsi3", "*xorhi3"): Likewise.
1628
94b9aa66
RS
16292004-10-07 Richard Sandiford <rsandifo@redhat.com>
1630
1631 * config/mips/mips.c (mips_function_rodata_section): New function.
1632 (TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
1633
21213b4c
DP
16342004-10-07 Devang Patel <dpatel@apple.com>
1635
b7211528
SB
1636 * rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
1637 UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
1638 UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
1639 UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
1640 UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
5c70192c 1641 UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
21213b4c 1642 UNSPEC_VCONDU_V16QI): New constant defines.
b7211528 1643 (vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
21213b4c 1644 vconduv16qi): New patterns.
b7211528
SB
1645 * rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
1646 * rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
1647 (get_vec_cmp_insn): Same.
1648 (get_vsel_insn): Same.
1649 (rs6000_emit_vector_compare): Same.
1650 (rs6000_emit_vector_select): Same.
21213b4c 1651 (INSN_NOT_AVAILABLE): New.
5c70192c 1652
14de86fa
ZD
16532004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
1654
1655 PR tree-optimization/17749
1656 * tree-tailcall.c (find_tail_calls): Check that parameter is
1657 a gimple_reg.
1658
93348822
KH
16592004-10-07 Kazu Hirata <kazu@cs.umass.edu>
1660
1661 * config/ia64/ia64.c: Fix a comment typo.
1662
224edf72
EB
16632004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1664
1665 * doc/install.texi (*-*-solaris2*): Fix marker for URL.
1666
09ebcffa
GB
16672004-10-07 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1668
1669 PR c++/17115
1670 * tree-inline.c (expand_call_inline): Do not warn for functions
1671 marked with attribute noinline.
1672
22d66adf
EB
16732004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1674
1675 PR target/17862
1676 * config/sparc/sparc.c (sparc_output_mi_thunk): Set
1677 current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
1678
1679 * config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
1680 of 0 as 4th argument to pass_by_reference.
1681 Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
1682
29832164
EC
16832004-10-06 Eric Christopher <echristo@redhat.com>
1684
1685 * config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
1686 attribute.
1687
ac6b57e5
RS
16882004-10-07 Richard Sandiford <rsandifo@redhat.com>
1689
1690 PR target/17770
1691 * config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
1692
a82bbcbb
ZD
16932004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
1694
1695 PR rtl-optimization/17791
1696 * loop-doloop.c (doloop_modify): Take number of iterations as
1697 argument.
1698 (doloop_optimize): Extend or shorten the number of iterations
1699 when changing mode of counter register.
1700 * loop-iv.c (lowpart_subreg): Export.
1701 * rtl.h (lowpart_subreg): Declare.
1702
a746fd8c
ZD
17032004-10-07 Zdenek Dvorak <dvorakz@suse.cz>
1704
1705 PR tree-optimization/17806
1706 * cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
1707 * cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
1708 flags moved to split_edge.
1709
38636eac
EB
17102004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1711
176f9629 1712 PR middle-end/17835
38636eac
EB
1713 * expmed.c (expand_sdiv_pow2): Force a stack adjustment
1714 before tentatively building the conditional move sequence.
1715
ae8c9754
RS
17162004-10-07 Richard Sandiford <rsandifo@redhat.com>
1717
1718 PR target/16815
1719 * function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
1720 check.
1721 * config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
1722 function_arg_padding.
1723
ed00ab95
RS
17242004-10-07 Richard Sandiford <rsandifo@redhat.com>
1725
1726 PR bootstrap/17857
1727 * Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
1728
5ac6107c
KH
17292004-10-07 Kazu Hirata <kazu@cs.umass.edu>
1730
1731 * hooks.c (hook_int_void_1, hook_void_int): Remove.
1732 * hooks.h: Remove the corresponding prototypes.
1733
a3ed9870
AP
17342004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
1735
1736 PR middle-end/17849
1737 * tree-nested.c (walk_stmt_info): Add changed field.
1738 (convert_nonlocal_reference): Set changed to when we
1739 change a decl to unnested decl.
1740 <case ADDR_EXPR>: Instead of checking if the immediate part
1741 of the ADDR_EXPR changed, check the field changed.
1742 Use recompute_tree_invarant_for_addr_expr instead of unsetting
1743 TREE_INVARIANT.
1744 (convert_local_reference): Set changed to when we
1745 change a decl to unnested decl.
1746 <case ADDR_EXPR>: Instead of checking if the immediate part
1747 of the ADDR_EXPR changed, check the field changed.
1748 Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
1749
9e749a8b
KH
17502004-10-06 Kazu Hirata <kazu@cs.umass.edu>
1751
1752 * defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
1753 * dwarf2out.c (dwarf2out_init): Remove references to
1754 DWARF2_GENERATE_TEXT_SECTION_LABEL.
1755 * system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
1756 * doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
1757
03dafa61
JM
17582004-10-06 Joseph S. Myers <jsm@polyomino.org.uk>
1759
1760 * c-typeck.c (convert_arguments): Take expression for called
1761 function rather than its name. Handle ObjC selectors directly
1762 rather than relying on warn_for_assignment to do so. Call warning
1763 directly rather than warn_for_assignment. Use %qE in diagnostics.
1764 Say "argument" rather than "arg" in diagnostics.
1765 (build_function_call): Update call to convert_arguments.
1766
75917fc0
AP
17672004-10-06 Andrew Pinski <pinskia@physics.uc.edu>
1768
1769 PR debug/17787
1770 * dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
1771 ENUMs specially instead of just saying we do.
1772
df7d2d80
EC
17732004-10-06 Eric Christopher <echristo@redhat.com>
1774
1775 * dwarf2.h: Sync with include/elf/dwarf2.h
1776
55e9452e
DB
17772004-10-06 Daniel Berlin <dberlin@dberlin.org>
1778
1779 * tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
df7d2d80 1780 and TREE_VEC nodes.
55e9452e 1781
44301a59
DB
17822004-10-06 Daniel Berlin <dberlin@dberlin.org>
1783
1784 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
1785 to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
df7d2d80 1786
44301a59
DB
17872004-10-06 Daniel Berlin <dberlin@dberlin.org>
1788
1789 * lambda-code.c (compute_nest_using_fourier_motzkin): New
1790 function.
1791 (lambda_compute_auxillary_space): Split from here.
1792
17932004-10-06 Daniel Berlin <dberlin@dberlin.org>
1794
1795 * tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
1796 * tree-flow.h: Add prototype.
1797 * lambda-code.c (invariant_in_loop_and_outer_loops): Use
df7d2d80 1798 expr_invariant_in_loop.
44301a59 1799
4c1d660f
KH
18002004-10-06 Kazu Hirata <kazu@cs.umass.edu>
1801
1802 * tree-cfg.c (thread_jumps): Remove a duplicate check for
1803 EXIT_BLOCK_PTR.
1804
575f7c2b
UW
18052004-10-06 Ulrich Weigand <uweigand@de.ibm.com>
1806
1807 * config/s390/s390-protos.h (s_imm_operand): Remove.
1808 (s390_pool_operand): Add prototype.
1809 * config/s390/s390.c (general_s_operand): Remove.
1810 (s_imm_operand): Remove.
1811 (s_operand): Merge contents of general_s_operand.
1812 (s390_pool_operand): New function.
1813 * config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
1814 * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
1815 ("*cmpdi_ccu"): Merge Q->Q alternative.
1816 ("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
1817 ("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
1818 ("*cli"): Remove.
1819 ("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
1820 ("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
1821 ("*movstricthi"): Use memory_operand instead of s_imm_operand.
1822
d13256a3
SE
18232004-10-06 Steve Ellcey <sje@cup.hp.com>
1824
1825 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
1826 call ia64_function_arg_boundary.
1827 * config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
1828 * config/ia64/ia64.c (ia64_function_arg_boundary): New.
1829 (ia64_function_arg_advance): Do not put 128 bit floats into
1830 FP registers.
1831
609ae0e2
KG
18322004-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1833
1834 * builtins.c (expand_builtin_strcpy): Delete duplicate code.
1835 Accept an expression instead of an arglist.
1836 (expand_builtin_stpcpy): Accept an expression instead of an
1837 arglist.
1838
51e9a60c
EB
18392004-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
1840
1841 PR target/16007
1842 * doc/install.texi (*-*-solaris2*): Mention potential problem
1843 with Sun assembler + GNU linker and C++ programs.
1844 Document status of binutils 2.15 release.
1845
490e9629
JH
18462004-10-06 Jan Hubicka <jh@suse.cz>
1847
1848 * cse.c (cse_main): Kill push/pop context.
1849
d5706a1e
ZW
18502004-10-05 Zack Weinberg <zack@codesourcery.com>
1851
1852 * pretty-print.c: Include tree.h.
1853 (pp_base_prepare_to_format): New function, logic from
1854 text_specifies_location.
1855 (pp_base_format_text): Use gcc_assert.
1856 * pretty-print.h (pp_prepare_to_format): New macro.
1857 (pp_base_prepare_to_format): Prototype.
1858 * diagnostic.c (text_specifies_location): Delete.
1859 (bug_report_request): Delete.
1860 (diagnostic_set_info): Don't call text_specifies_location.
1861 (diagnostic_action_after_output): Put text from
1862 bug_report_request inline here. Use gcc_unreachable.
1863 (diagnostic_report_current_function): Fix comment.
1864 (diagnostic_report_diagnostic): Clarify logic for error recursion.
1865 Call pp_prepare_to_format before diagnostic_starter.
1866 (trim_filename): Use IS_DIR_SEPARATOR.
1867 (fatal_error, internal_error): Use gcc_unreachable.
1868 (error_recursion): Call diagnostic_action_after_output to
1869 issue the bug_report_request message and exit.
1870 * Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
1871
1872 * c-parse.in: Add list of diagnostic messages to insulate
1873 translation template from version of yacc/bison used to
1874 compile the grammar.
1875
743eeb5a
AM
18762004-10-06 Alan Modra <amodra@bigpond.net.au>
1877
1878 PR 16406
1879 * doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
1880
7922a3bb
KH
18812004-10-05 Kazu Hirata <kazu@cs.umass.edu>
1882
1883 * basic-block.h: Remove the prototype for
1884 flow_preorder_transversal_compute.
1885 * cfganal.c (dfst_node): Remove.
1886 (flow_preorder_transversal_compute): Likewise.
1887 * rtl.h: Remove the prototype for get_jump_table_offset.
1888 * rtlanal.c (get_jump_table_offset): Remove.
1889
9ec9d82b
RH
18902004-10-05 Richard Henderson <rth@redhat.com>
1891
1892 PR 17756
1893 * tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
1894
19361834
KC
18952004-10-05 Kelley Cook <kcook@gcc.gnu.org>
1896
1897 PR bootstrap/17817
1898 * Makefile.in: Stage the build directory too.
1899
2a2e3f05
AH
19002004-10-05 Aldy Hernandez <aldyh@redhat.com>
1901
1902 * config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
1903
1904 * config/frv/frv-protos.h (frv_legitimize_address): Protoize.
1905 (frv_emit_move): Same.
1906
1907 * config/frv/frv.c (frv_emit_move): New.
1908 (frv_legitimize_address): New.
1909
1910 * config/frv/frv.md ("movsi"): Call frv_emit_move.
1911 ("movqi"): Same.
1912 ("movhi"): Same.
1913 ("movdi"): Same.
1914 ("movsf"): Same.
1915 ("movdf"): Same.
1916
7fdc3e09
JM
19172004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
1918
1919 * c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
1920 system headers.
1921
1b36c818
JM
19222004-10-05 Joseph S. Myers <jsm@polyomino.org.uk>
1923
1924 * c-decl.c (pushdecl): When an extern declaration at block scope
1925 refers to a visible entity with internal linkage, use the old DECL
1926 rather than the new one.
1927
95740bfc
KH
19282004-10-05 Kazu Hirata <kazu@cs.umass.edu>
1929
1930 * tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
1931 comments.
1932
20d400c3
KH
19332004-10-05 Kazu Hirata <kazu@cs.umass.edu>
1934
1935 * tree-cfg.c (thread_jumps): Remove a duplicate check for
1936 an infinite loop.
1937
2abacef0
KH
19382004-10-05 Kazu Hirata <kazu@cs.umass.edu>
1939
1940 * tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
1941 of FOR_BB_BETWEEN. Remove a useless check for unreachable
1942 blocks.
1943
09fa81db
KH
19442004-10-05 Kazu Hirata <kazu@cs.umass.edu>
1945
1946 * tree-cfg.c (cleanup_tree_cfg): Don't call
1947 delete_unreachable_blosk() after thread_jumps().
1948 (thread_jumps): Always remove basic blocks as they become
1949 unreachable.
1950
1111ad78
KH
19512004-10-05 Kazu Hirata <kazu@cs.umass.edu>
1952
1953 * tree-cfg.c (cleanup_tree_cfg): Remove variable
1954 something_changed. Simplify the while loop.
1955
fdd5d9e2
KG
19562004-10-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1957
1958 * builtins.c (expand_builtin_memmove): Delete duplicate code
1959 and accept a tree type for the result.
1960 (expand_builtin_bcopy): Accept a tree type for the result.
1961 (fold_builtin_memmove): Accept an arglist and tree type for
1962 the result.
1963
9bb86f41
UW
19642004-10-05 Ulrich Weigand <uweigand@de.ibm.com>
1965
1966 * config/s390/s390.c (s390_dump_pool): Remove return value.
1967 Use gen_pool_align, gen_pool_section_start/end instead of
1968 gen_pool_start/end_31/64.
1969 * config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
1970 (UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
1971 ("pool_start_31", "pool_end_31"): Remove.
1972 ("pool_start_64", "pool_end_64"): Likewise.
1973 ("pool_align", "pool_section_start", "pool_section_end": New insns.
1974
1975 * config/s390/s390.c (s390_cannot_copy_insn_p): New function.
1976 (TARGET_CANNOT_COPY_INSN_P): Define.
1977 (s390_cannot_force_const_mem): Handle UNSPEC_INSN.
1978 (struct constant_pool): New member 'execute'.
1979 (s390_add_execute, s390_find_execute): New functions.
1980 (s390_execute_label, s390_execute_target): Likewise.
1981 (s390_dump_pool): Output in-pool execute target templates.
1982 (s390_dump_execute): New function.
1983 (s390_alloc_pool, s390_free_pool): Handle execute templates.
1984 (s390_mainpool_start, s390_mainpool_finish): Likewise.
1985 (s390_chunkify_start, s390_chunkify_finish): Likewise.
1986 * config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
1987 ("*execute"): New insn pattern.
1988 ("movmem_short", "*movmem_short"): Use splitters to generate
1989 explicit execute pattern, remove embedded execute.
1990 ("clrmem_short", "*clrmem_short"): Likewise.
1991 ("cmpmem_short", "*cmpmem_short"): Likewise.
1992
af16db69
DB
19932004-10-05 Daniel Berlin <dberlin@dberlin.org>
1994
1995 * tree-ssa.c (verify_ssa): Verify phi arguments only
1996 contain renamed names.
1997
c4ad648e
AM
19982004-10-05 Alan Modra <amodra@bigpond.net.au>
1999
2000 * config/rs6000/linux.h: Formatting, whitespace.
2001 * config/rs6000/linux64.h: Likewise.
2002 * config/rs6000/rs6000-protos.h: Likewise.
2003 * config/rs6000/rs6000.c: Likewise.
2004 (easy_vector_splat_const): Add fall thru comments.
2005 (output_vec_const_move): Likewise.
2006
406176be
KC
20072004-10-05 Kelley Cook <kcook@gcc.gnu.org>
2008
2009 * Makefile.in: Update -Wno-error exceptions for move to build dir.
2010
d840bfd3
CF
20112004-10-05 Chao-Ying Fu <fu@mips.com>
2012 Richard Sandiford <rsandifo@redhat.com>
2013
2014 * doc/invoke.texi (-mpaired-single): Link to the new description of the
2015 built-in functions. Document dependencies.
2016 (-mips3d): Add link here too.
2017 * doc/extend.texi (MIPS Paired-Single Support): New section.
2018
a4a82723
CF
20192004-10-04 Chao-ying Fu <fu@mips.com>
2020
2021 * config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
2022
fded8de7
DN
20232004-10-04 Diego Novillo <dnovillo@redhat.com>
2024
2025 * tree-ssa-dom.c (tree_ssa_dominator_optimize):
2026 Initialize OPT_STATS to 0.
2027
59c4456e
KH
20282004-10-04 Kazu Hirata <kazu@cs.umass.edu>
2029
2030 * tree-data-ref.c: Fix comment typos.
2031
68b26d5c
SP
20322004-10-04 Sebastian Pop <pop@cri.ensmp.fr>
2033
2034 * tree-data-ref.c (array_base_name_differ_p): Fix comments. When
2035 the predicate cannot be computed, don't initialize the result to
2036 false.
2037
b9e6959b
EC
20382004-10-01 Eric Christopher <echristo@redhat.com>
2039
2040 * dwarf2.h (dwarf_calling_convention): Add GNU prefix to
2041 locally defined enum.
2042 * dwarf2out.c (add_calling_convention_attribute): Don't
2043 emit DW_CC_normal.
2044
29128154
AP
20452004-10-03 Andrew Pinski <pinskia@physics.uc.edu>
2046
2047 PR c/17178, PR c/17820
2048 * c-decl.c (pop_scope): Do not warn about unused static
2049 variables as they warned in the middle-end.
2050
ef7eaebf
KG
20512004-10-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2052
2053 * builtins.c (expand_builtin_memcpy): Delete duplicate code
2054 and make the first parameter the expression not the arglist.
2055
103b83ea
UW
20562004-10-03 Ulrich Weigand <uweigand@de.ibm.com>
2057
2058 * expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
2059 as valid modes to expand address expressions.
2060
3f75a254
JM
20612004-10-03 Joseph S. Myers <jsm@polyomino.org.uk>
2062
2063 * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
2064 c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
2065 c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
2066 code formatting conventions.
2067
57c1f13e
RS
20682004-10-03 Richard Sandiford <rsandifo@redhat.com>
2069
2070 * config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
2071
24109c9f
KH
20722004-10-03 Kazu Hirata <kazu@cs.umass.edu>
2073
807e955b 2074 PR tree-optimization/16632
24109c9f
KH
2075 * fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
2076 fold (A & C) == D into 0, fold ~C. Similarly, for the case
2077 where | is used instead of &.
2078
d3471d77
KH
20792004-10-03 Kazu Hirata <kazu@cs.umass.edu>
2080
2081 * ginclude/stddef.h: Fix a comment typo.
2082
fe7378d2
EB
20832004-10-03 Eric Botcazou <ebotcazou@libertysurf.fr>
2084
2085 PR target/17443
2086 * config.gcc (i?86-*-solaris2*): Restore correct logic
2087 for --enable-threads option.
2088 (sparc64-*-solaris2*): Likewise.
2089 (sparc-*-solaris2*): Likewise.
2090
bf276e5c
AM
20912004-10-03 Alan Modra <amodra@bigpond.net.au>
2092
2093 * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
2094 (OS_MISSING_POWERPC64): Move, and comment.
2095 * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
2096 (OS_MISSING_POWERPC64): Move, and comment.
2097
07ec3810
ILT
20982004-10-02 Ian Lance Taylor <ian@wasabisystems.com>
2099
2100 * arm.c (output_call_mem): Add missing \t.
2101
3e6b6386
KG
21022004-10-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2103
2104 * builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
2105 expand_builtin_strncmp): Delete duplicate code.
2106
fefbfa21
FCE
21072004-10-02 Frank Ch. Eigler <fche@redhat.com>
2108
2109 * tree-mudflap.c (mf_build_check_statement_for): Reorganize to
2110 take check-base and -limit arguments.
2111 (mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
2112 check ranges for ARRAY_REF and COMPONENT_REF.
2113 (execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
2114 instrumentation.
2115
7848dfca
JM
21162004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
2117
2118 * c-objc-common.c (c_tree_printer): Correct description of %E.
2119 Don't fall through after printing an expression.
2120
66efeafc
KH
21212004-10-02 Kazu Hirata <kazu@cs.umass.edu>
2122
2123 * tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
2124
26d4492f
KH
21252004-10-02 Kazu Hirata <kazu@cs.umass.edu>
2126
2127 * tree-cfg.c (cleanup_tree_cfg): Speed up by calling
2128 delete_unrechable_blocks() only when necessary.
2129
ee0f32f4
D
21302004-10-02 P.J. Darcy <darcypj@us.ibm.com>
2131
2132 * gthr-tpf.h (__gthread_recursive_mutex_t): New type.
2133 (__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
2134 (__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
2135 __gthread_recursive_mutex_unlock): New functions.
2136
3ff688aa
D
21372004-10-02 P.J. Darcy <darcypj@us.ibm.com>
2138
2139 * config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
2140 * config/s390/tpf-eh.c: Remove file.
2141 * config/s390/tpf-unwind.h: New file.
2142 * config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
2143 (MD_UNWIND_SUPPORT): Define.
2144
36262a4c
JM
21452004-10-02 Joseph S. Myers <jsm@polyomino.org.uk>
2146
2147 * c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
2148
5b022de5
UW
21492004-10-01 Ulrich Weigand <uweigand@de.ibm.com>
2150
2151 * config/s390/s390-protos.h (s390_comparison): Add prototype.
2152 * config/s390/s390.c (s390_comparison): New function.
2153 (s390_branch_condition_mask): Return -1 for invalid comparisons.
2154 (s390_branch_condition_mnemonic): Assert valid comparison.
2155 * config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
2156 * config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
2157 "*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
2158 s390_comparison instead of comparison_operator.
2159
2160 * config/s390/s390.md (UNSPEC_CMPINT): New constant.
2161 ("cmpmemdi"): Remove.
2162 ("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
2163 ("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
2164 ("cmpint_si"): Rename to ...
2165 ("*cmpint_si"): ... this. Use UNSPEC_CMPINT.
2166 ("cmpint_di", "*cmpint_di"): Likewise.
2167 * config/s390/s390.c (s390_canonicalize_comparison): Remove
2168 redundant UNSPEC_CMPINT conversions.
2169 (s390_expand_cmpmem): Adapt to cmpint pattern changes.
2170
b89dc911
KH
21712004-10-01 Kazu Hirata <kazu@cs.umass.edu>
2172
2173 * collect2.c (COLLECT_PARSE_FLAG): Remove.
2174 (main): Remove a reference to COLLECT_PARSE_FLAG
2175 * system.h: Poison COLLECT_PARSE_FLAG.
2176 * doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
2177
e367a231
PB
21782004-10-01 Paul Brook <paul@codesourcery.com>
2179
2180 * config/arm/crti.asm: Give _init and _fini function type.
2181
47bcd07d
ZD
21822004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
2183
2184 * common.opt (ftree-loop-ivcanon): Enable by default.
2185 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
2186 Enable complete loop unrolling.
2187 (canonicalize_induction_variables, tree_unroll_loops_completely):
2188 Reset scev info.
2189
e367a231 21902004-10-01 Paul Brook <paul@codesourcery.com>
c73d282d
PB
2191
2192 * config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
2193 not register number.
2194 (thumb_find_work_register): Search full register range.
2195
29c4d22b
AP
21962004-10-01 Andrew Pinski <pinskia@physics.uc.edu>
2197
2198 PR tree-opt/17343
2199 * tree-cfg.c (group_case_labels): Get the label and not
2200 the case expr for the default case.
2201 When the label we looking at is the default, decrement the
2202 new_size.
2203
0f0377f6
JH
22042004-10-01 Jan Hubicka <jh@suse.cz>
2205
2206 * c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
2207 * cgraphunit.c (cgraph_build_static_cdtor): Likewise.
2208 * toplev.h (tree_rest_of_compilation): Update prototype.
2209 * tree-optimize.c (tree_rest_of_compilation): Kill nested_p argument.
2210
8f28be81
KH
22112004-10-01 Kazu Hirata <kazu@cs.umass.edu>
2212
2213 * tree-cfg.c (cleanup_tree_cfg): Pull a call to
2214 cleanup_control_flow() out of the while loop.
2215
02ca1718
PB
22162004-10-01 Paolo Bonzini <bonzini@gnu.org>
2217
2218 * tree-vectorizer.c (vectorizable_operation): Fail unless
2219 the mode for the vector type is indeed a vector mode.
2220
e6845c23
ZD
22212004-10-01 Zdenek Dvorak <dvorakz@suse.cz>
2222
2223 * tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
2224 chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
02ca1718 2225 of convert.
e6845c23
ZD
2226 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
2227 add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
2228 follow_ssa_edge_in_rhs): Ditto.
2229 * tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
2230 (dump_iv): Dump base_object.
2231 (dump_use, dump_cand): Use dump_iv.
2232 (determine_base_object): New function.
2233 (alloc_iv): Initialize base_object field.
2234 (record_use): Clear the ssa_name field of iv.
2235 (get_computation_cost_at): Do not use difference of addresses of
2236 two different objects.
2237 (may_eliminate_iv): Do not require the loop to have just single exit.
2238 * tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
2239 (nonzero_p): New function.
2240 (inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
2241 tree_simplify_using_condition, simplify_using_initial_conditions,
2242 loop_niter_by_eval, find_loop_niter_by_eval,
2243 estimate_numbers_of_iterations_loop, compare_trees,
2244 upper_bound_in_type, lower_bound_in_type,
2245 can_count_iv_in_wider_type_bound): Use buildN instead of build. Use
2246 fold_convert or build_int_cst_type instead of convert. Use (non)zero_p
2247 instead of integer_(non)zerop.
2248
5496b36f
JJ
22492004-10-01 Jakub Jelinek <jakub@redhat.com>
2250
2251 Revert
2252 2004-09-29 Jakub Jelinek <jakub@redhat.com>
2253
2254 * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
2255 and TI_VA_LIST_FPR_COUNTER_FIELD.
2256 (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
2257 * tree-pass.h (pass_stdarg): Add.
2258 * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
2259 * tree-stdarg.c: New file.
2260 * Makefile.in (OBJS-common): Add tree-stdarg.o.
2261 (tree-stdarg.o): Add dependencies.
2262 * function.h (struct function): Add va_list_gpr_size and
2263 va_list_fpr_size fields.
2264 * function.c (allocate_struct_function): Initialize them.
2265
2266 * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
2267 va_list_{g,f}pr_counter_field.
2268 (ix86_setup_incoming_varargs): Don't do anything if reg_save
2269 area will not be used. Only save registers that tree-stdarg.c
2270 detected they need saving.
2271 (ix86_va_start): Don't set up fields that won't be used.
2272
2273 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
2274 va_list_{g,f}pr_counter_field.
2275 (setup_incoming_varargs): Don't do anything if reg_save
2276 area will not be used. Only save registers that tree-stdarg.c
2277 detected they need saving.
2278 (rs6000_va_start): Don't set up fields that won't be used.
2279
a1c496cb
EC
22802004-09-30 Eric Christopher <echristo@redhat.com>
2281
2282 * dwarf2.h (dwarf_calling_convention): Add enum for renesas
2283 sh abi.
2284 * dwarf2out.c (add_calling_convention_attribute): New function.
2285 (gen_subroutine_type_die): Use.
2286 * target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
2287 * target.h (gcc_target): Add dwarf_calling_convention.
2288 * hooks.c (hook_int_tree_0): New function.
2289 * hooks.h: Prototype.
2290 * config/sh/sh.c: Include dwarf2.h.
2291 (sh_dwarf_calling_convention): New function.
2292 (TARGET_DWARF_CALLING_CONVENTION): Use.
2293 * doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
2294
bd042dbb
KG
22952004-09-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2296
2297 * builtins.c (expand_builtin_strstr, expand_builtin_strchr,
2298 expand_builtin_strrchr, expand_builtin_strpbrk,
2299 expand_builtin_strncat, expand_builtin_strspn,
2300 expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
2301 code.
2302
8cb66696
UW
23032004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
2304
2305 * config/s390/s390-protos.h (s390_expand_logical_operator): Add
2306 prototype.
2307 (s390_logical_operator_ok_p): Likewise.
2308 * config/s390/s390.c (s390_expand_logical_operator): New function.
2309 (s390_logical_operator_ok_p): Likewise.
2310 * config/s390/s390.md ("anddi3"): New expander.
2311 ("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
2312 ("*anddi3_ss", "*anddi3_ss_inv"): Remove.
2313 ("andsi3"): Use s390_expand_logical_operator.
2314 ("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
2315 ("*andsi3_ss", "*andsi3_ss_inv"): Remove.
2316 ("andhi3"): New expander.
2317 ("*andhi3_zarch", "*andhi3_esa"): New patterns.
2318 ("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
2319 ("andqi3"): New expander.
2320 ("*andqi3_zarch", "*andqi3_esa"): New patterns.
2321 ("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
2322 ("iordi3"): New expander.
2323 ("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
2324 ("*iordi3_ss", "*iordi3_ss_inv"): Remove.
2325 ("iorsi3"): Use s390_expand_logical_operator.
2326 ("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
2327 ("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
2328 ("iorhi3"): New expiorer.
2329 ("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
2330 ("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
2331 ("iorqi3"): New expiorer.
2332 ("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
2333 ("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
2334 ("xordi3"): New expander.
2335 ("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
2336 ("*xordi3_ss", "*xordi3_ss_inv"): Remove.
2337 ("xorsi3"): New expander.
2338 ("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
2339 ("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
2340 ("xorhi3"): New expander.
2341 ("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
2342 ("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
2343 ("xorqi3"): New expander.
2344 ("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
2345 ("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
2346
7d103eb5
RS
23472004-09-30 Roger Sayle <roger@eyesopen.com>
2348
2349 * combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
2350 (AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
2351 machine mode as the result.
2352
dc4f06d9
BE
23532004-09-30 Ben Elliston <bje@au.ibm.com>
2354
2355 PR bootstrap/17761
2356 * lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
2357 FOR_EACH_EDGE macros.
2358
9bf24266
JM
23592004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
2360
2361 * c-tree.h (readonly_error): Remove.
2362 * c-typeck (enum lvalue_use): New.
2363 (lvalue_or_else, readonly_error): Use it. All callers changed.
2364 (readonly_error): Make static.
2365
a7102479
JH
23662004-09-30 Jan Hubicka <jh@suse.cz>
2367
2368 PR debug/13974
2369 * cfgrtl.c (try_redirect_by_replacing_jump,
2370 force_nonfallthru_and_redirect, commit_one_edge_insertion,
2371 cfg_layout_merge_blocks): Do not attach any line number information
2372 to newly inserted instructions.
2373 * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
2374 emit_insn_*_noloc.
2375 (emit_*insn_before, emit_insn*_after): New.
2376 (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
2377 existing locators.
2378 * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
2379 (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
2380
91086990
UW
23812004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
2382
2383 * config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
2384 (s390_return_address_offset): Remove.
2385 (s390_can_eliminate): Add prototype.
2386 (s390_initial_elimination_offset): Add prototype.
2387 * config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
2388 (INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
2389 * config/s390/s390.c (s390_arg_frame_offset): Remove.
2390 (s390_return_address_offset): Remove.
2391 (s390_can_eliminate, s390_initial_elimination_offset): New functions.
2392 (struct machine_function): New member split_branches_pending_p.
2393 (s390_mainpool_start): Allow nonexistant pool insn for empty pool.
2394 (s390_mainpool_finish): Likewise. Clear base_reg if pool empty.
2395 (s390_optimize_prologue): Remove base_used argument. Call
2396 s390_update_frame_layout instead of s390_register_info. Handle
2397 prologue/epilogue insns that touch only RETURN_REGNUM.
2398 (s390_reorg): Remove base_used. Clear split_branches_pending_p.
a1c496cb 2399 (s390_register_info): Remove base_used and return_addr_used
91086990
UW
2400 arguments, compute special register usage inline. Return live
2401 register data to caller.
2402 (s390_frame_info): Remove arguments, do not call s390_register_info.
2403 (s390_init_frame_layout): New function.
2404 (s390_update_frame_layout): Likewise.
2405 (s390_emit_prologue): Call s390_update_frame_layout; some code
2406 move to there. Do not emit pool placeholder insn if unnecessary.
2407
13c025c1
UW
24082004-09-30 Ulrich Weigand <uweigand@de.ibm.com>
2409
2410 * config/s390/s390.c (legitimate_reload_constant_p): Remove
2411 floating point constant workaround.
2412 (s390_secondary_input_reload_class): Handle PLUS reloads
2413 with too-large constant.
2414 (s390_expand_plus_operand): Likewise.
2415 * config/s390/s390.md ("movdi"): Do not call force_const_mem.
2416 ("movsi"): Likewise. Also, remove workaround for non-general
2417 operands.
2418 ("movdf"): Do not call force_const_mem.
2419 ("movsf"): Likewise. Merge expander with *movsf insn.
2420 ("*movsf"): Remove, merge with movsf expander.
2421
99b2692a
PB
24222004-09-30 Paul Brook <paul@codesourcery.com>
2423
2424 * config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
2425 (ENDFILE_SPEC): Define.
2426 * config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
2427
3ac7c0f2
RH
24282004-09-30 Richard Henderson <rth@redhat.com>
2429
2430 * config/alpha/qrnnd.asm: Mark for noexecstack.
2431
75b80704
KH
24322004-09-30 Kazu Hirata <kazu@cs.umass.edu>
2433
2434 * protoize.c, tree-cfg.c: Fix comment typos.
2435
254ac10c
JM
24362004-09-30 Joseph S. Myers <jsm@polyomino.org.uk>
2437
2438 PR c/17730
2439 * c-typeck.c (lvalue_or_else): Pass msgid directly to error.
2440
20c16b36
DN
24412004-09-30 Diego Novillo <dnovillo@redhat.com>
2442
2443 * tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
2444 expressions...
2445 (add_pointed_to_expr): ... here.
2446 Call add_pointed_to_expr for variables with DECL_INITIAL set.
2447 * tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
2448 pointer variable, if set.
2449
8b0add27
KH
24502004-09-30 Kazu Hirata <kazu@cs.umass.edu>
2451
2452 * config/sh/sh.c: Follow spelling conventions.
2453
282efe1c
RH
24542004-09-29 Richard Henderson <rth@redhat.com>
2455
2456 * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
2457 * doc/tm.texi (DWARF_ZERO_REG): New.
2458
2459 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
2460 alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
2461 * config/alpha/alpha.h (DWARF_ZERO_REG): New.
2462
7ce3fc8f
UW
24632004-09-29 Ulrich Weigand <uweigand@de.ibm.com>
2464
2465 * builtins.c (expand_builtin_strlen): Do not call emit_move_insn
2466 with a PLUS as source operand.
2467 (expand_movstr): Likewise.
2468 (expand_builtin_stpcpy): Likewise.
2469
e670d9e4
RH
24702004-09-29 Richard Henderson <rth@redhat.com>
2471
2472 PR 17739
2473 * tree-gimple.c (is_gimple_reg): Reject hard registers.
2474 (is_gimple_asm_val): New.
2475 * tree-gimple.h (is_gimple_asm_val): Declare.
2476 * gimplify.c (gimplify_asm_expr): Use it.
2477 * tree-pretty-print.c (print_declaration): Dump hard regs.
2478 * tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
2479 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
2480 * tree-ssa-pre.c (is_undefined_value): Likewise.
2481 * tree-ssa-copy.c (may_propagate_copy): Likewise.
2482 (may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
2483 * tree-ssa.c (warn_uninit): Likewise.
2484 * tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
2485
2587f865
FJ
24862004-09-29 Fariborz Jahanian <fjahanian@apple.com>
2487
2488 * c-decl.c (merge_decls): Use comptype when comparing
2489 types to decide on DECL_SIZE save of olddecl.
2490
1b096a0a
DB
24912004-09-29 Daniel Berlin <dberlin@dberlin.org>
2492
2493 * tree.h (INDIRECT_REF_P): New macro.
2494 * alias.c (get_alias_set): Use it
2495 (nonoverlapping_memrefs_p): Ditto.
2496 * emit-rtl.c (mem_expr_equal_p): Ditto.
2497 (set_mem_attributes_minus_bitpos): Ditto.
2498 (is_gimple_addressable): Ditto.
2499 (get_base_address): Ditto.
2500 * tree-ssa-alias.c (find_ptr_derefernece): Ditto.
2501 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
2502 * tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
2503 * tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
2504 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
2505 (add_address_candidates): Ditto.
2506 (rewrite_address_base): Ditto.
2507
2a7cd686
BE
25082004-09-30 Ben Elliston <bje@au.ibm.com>
2509
2510 * tree-flow.h (struct bb_ann_d): Remove num_preds member.
2511 * tree-into-ssa.c (rewrite_into_ssa): Don't set it.
2512 (rewrite_ssa_into_ssa): Likewise.
2513 * tree-phinodes.c (create_phi_node): Access the number of
2514 predecessor edges using EDGE_COUNT() and not num_preds.
2515
302a2cc5
JM
25162004-09-29 Joseph S. Myers <jsm@polyomino.org.uk>
2517
2518 PR c/7425
2519 * c-decl.c (merge_decls): Merge TREE_DEPRECATED.
2520
3e6688a7
EC
25212004-09-29 Eric Christopher <echristo@redhat.com>
2522
2523 * fold-const.c (tree_swap_operands_p): Remove duplicated code.
2524
8820e4be
HPN
25252004-09-29 Hans-Peter Nilsson <hp@axis.com>
2526
2527 * config/cris/cris.md (moverside, movemside): With MEM, make sure
2528 the address is (plus reg mem).
2529
d962e7ad
DE
25302004-09-29 David Edelsohn <edelsohn@gnu.org>
2531
2532 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
2533
c4b3f0eb
NS
25342004-09-29 Nathan Sidwell <nathan@codesourcery.com>
2535
2536 * tree.c (make_node_stat): Fix uninitialized warning. Replace
2537 cascaded if ... else if with a switch.
2538
b4f69040
AL
25392004-09-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2540
2541 * read-rtl.c (apply_macro_to_string): Replace index with strchr.
2542
58c8adc1
JJ
25432004-09-29 Jakub Jelinek <jakub@redhat.com>
2544
2545 * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
2546 and TI_VA_LIST_FPR_COUNTER_FIELD.
2547 (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
2548 * tree-pass.h (pass_stdarg): Add.
2549 * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
2550 * tree-stdarg.c: New file.
2551 * Makefile.in (OBJS-common): Add tree-stdarg.o.
2552 (tree-stdarg.o): Add dependencies.
2553 * function.h (struct function): Add va_list_gpr_size and
2554 va_list_fpr_size fields.
2555 * function.c (allocate_struct_function): Initialize them.
2556
2557 * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
2558 va_list_{g,f}pr_counter_field.
2559 (ix86_setup_incoming_varargs): Don't do anything if reg_save
2560 area will not be used. Only save registers that tree-stdarg.c
2561 detected they need saving.
2562 (ix86_va_start): Don't set up fields that won't be used.
2563
2564 * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
2565 va_list_{g,f}pr_counter_field.
2566 (setup_incoming_varargs): Don't do anything if reg_save
2567 area will not be used. Only save registers that tree-stdarg.c
2568 detected they need saving.
2569 (rs6000_va_start): Don't set up fields that won't be used.
2570
0d5b215c
JJ
25712004-09-29 Jakub Jelinek <jakub@redhat.com>
2572
2573 * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
2574 BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
2575 BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
2576 BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
2577 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
2578 ATTR_NONNULL_1_4): New.
2579
a7d6ba24
JJ
25802004-09-29 Jakub Jelinek <jakub@redhat.com>
2581
2582 PR tree-optimization/17697
2583 * tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
2584 cfg if needed.
2585
50fd1c97
PB
25862004-09-28 Per Bothner <per@bothner.com>
2587
ac973ace 2588 * profile.c (branch_prob): Pass correct value to output_location,
50fd1c97
PB
2589 even when USE_MAPPED_LOCATION. Fixes bug from 09-11.
2590
aa24864c
RH
25912004-09-28 Richard Henderson <rth@redhat.com>
2592
2593 PR 15089
2594 * tree-ssa-copy.c (may_propagate_copy_into_asm): New.
2595 * tree-flow.h (may_propagate_copy_into_asm): Declare.
2596 * tree-ssa-ccp.c (replace_uses_in): Use it.
2597 * tree-ssa-dom.c (cprop_operand): Likewise.
2598
e376fe58
JL
25992004-09-28 Jeff Law <law@redhat.com>
2600
2601 * tree-ssa-threadupdate.c (create_block_for_threading): Request
2602 that no outgoing edges be left in the duplicate block. Do no
2603 update information on outgoing edges or PHI nodes in target
2604 blocks here.
2605 (remove_ctrl_stmt_and_useless_edges): Renamed from
2606 remove_last_stmt_and_useless_edges. Handle case where the
2607 block is empty or has no control statements. Do not update edge
2608 flags here.
2609 (thread_block): Create a template block rather than copying the
2610 original block every time. Create outgoing edges from the
2611 duplicate blocks and update PHIs at the target of the outgoing
2612 edges here. Fix edge flags for the original block if necessary.
2613 * cfghooks (duplicate_block): No longer assert that the original
2614 block has incoming edges.
2615
805c33df
HPN
26162004-09-29 Hans-Peter Nilsson <hp@bitrange.com>
2617
2618 * doc/extend.texi (Extended Asm): Add blurb about using Explicit
2619 Reg Vars to enforce register allocation with general constraints.
2620 (Explicit Reg Vars): Clarify relation to asm statements.
2621 (Local Reg Vars): Similar.
2622
dcda8480
UW
26232004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
2624
2625 * sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
2626 TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
2627 build_control_flow, new_edge): Remove.
2628 (schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
2629 (bitlst, bitlst_table_last, bitlst_table): Remove.
2630 (bblst): Store basic_block pointer instead of block index.
2631 (bblst_table): Likewise.
2632 (edgelst): Store edge pointer instead of edge index.
2633 (edgelst_table, edgelst_last): New variables.
2634 (extract_bitlst): Rename to ...
2635 (extract_edgelst): ... this. Return edge pointers, not indices.
2636 (split_edges): Update call.
2637 (rgn_edges): Store edge pointers instead of indices.
2638 (edge_to_bit): Remove.
2639 (EDGE_TO_BIT): Store per-region edge index in edge->aux.
2640 (SET_EDGE_TO_BIT): New macro.
2641 (is_cfg_nonregular): Check for simple cases of unreachable blocks.
2642 (find_rgns): Remove edge_list parameter. Traverse standard CFG
2643 data structures instead of haifa_edge et al. Use edge pointers
2644 instead of edge indices everywhere.
2645 (compute_dom_prob_ps): Use standard CFG data structures. Account
2646 for exit edges.
2647 (compute_trg_info): Likewise.
2648 (propagate_deps): Likewise.
2649 (debug_candidate): Account for bblst data structure change.
2650 (check_live_1, update_live_1, is_pfree): Likewise.
2651 (IS_REACHABLE): Use standard CFG data structures.
2652 (init_ready_list): Update bblst_table/edgelst_table allocation.
2653 (schedule_region): Update alloc/cleanup code to data structure
2654 changes. Use edge->aux to store per-region edge index.
2655 (init_regions): No longer call build_control_flow. Do not
2656 create edge list any more.
2657
2f39b6ca
UW
26582004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
2659
2660 * cse.c (cse_insn): Avoid creating direct non-local jumps.
2661 * combine.c (can_combine_p): Likewise.
2662 * local-alloc. (update_equiv_regs): Likewise.
2663
b0b324b0
RH
26642004-09-28 Richard Henderson <rth@redhat.com>
2665
2666 PR 17531
2667 * expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
2668 Don't check VOIDmode here. Force PLUS operands to common type.
2669 (expand_expr_addr_expr): Do VOIDmode check earlier. Force use of
2670 Pmode if given a non pointer type.
2671
26722004-09-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2673
2674 PR 17531
2675 * optabs.c (expand_binop): Force constants to the correct mode.
2676
ea77e738
UW
26772004-09-28 Ulrich Weigand <uweigand@de.ibm.com>
2678
2679 * config/s390/s390.c (s390_adjust_cost): Remove.
2680 (TARGET_SCHED_ADJUST_COST): Do not redefine.
2681 (s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
3e6688a7 2682 * config/s390/s390.md ("main_pool"): Use "larl" type
ea77e738
UW
2683 attribute if TARGET_CPU_ZARCH.
2684
9924d7d8
JJ
26852004-09-28 Jakub Jelinek <jakub@redhat.com>
2686
2687 * config/ia64/ia64.c (ia64_expand_prologue): Declare ei
2688 variable.
2689
81842e1b
DN
26902004-09-28 Diego Novillo <dnovillo@redhat.com>
2691
2692 * tree-ssa-loop.c (pass_record_bounds): Do not assign a
2693 name to the pass.
2694
21ef99b8
SB
26952004-09-28 Steven Bosscher <stevenb@suse.de>
2696
2697 * common.opt (flag_gcse_sm): Disable by default.
2698 (flag_gcse_las): Likewise.
2699 (flag_web): Likewise. Create from this file.
2700 * flags.h: Remove flag_web declaration.
2701 * toplev.c (flag_web): Likewise.
2702 (process_options): Never set flag_web.
2703
78492bf5
SB
27042004-09-28 Steven Bosscher <stevenb@suse.de>
2705
2706 * Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
2707 * tree-ssa-propagate.c: Include vec.h.
2708 (interesting_ssa_edges, varying_ssa_edges): Make these VECs
2709 instead of varrays.
2710 (cfg_blocks_add): Assert the block is not already in the worklist.
2711 Update uses of interesting_ssa_edges and varying_ssa_edges.
2712 (process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
2713 ssa_propagate): Likewise.
2714
ef787822
JM
27152004-09-28 Joseph S. Myers <jsm@polyomino.org.uk>
2716
2717 PR c/16409
2718 * c-decl.c (start_decl): Check for initializing incomplete array
2719 of VLAs.
2720 (build_compound_literal): Check for TYPE being error_mark_node.
2721 * c-parse.in (primary): Check for VLA compound literals.
2722
c3b8e9aa
DN
27232004-09-28 Diego Novillo <dnovillo@redhat.com>
2724
2725 * tree-ssa-live.c (calculate_live_on_entry): Fix warnings
2726 with --disable-checking.
2727
56bac5af
DP
27282004-09-28 Devang Patel <dpatel@apple.com>
2729
2730 * tree-pretty-print.c (dump_generic_node): Print vector types.
3e6688a7 2731
cc15e98f
NC
27322004-09-28 Nick Clifton <nickc@redhat.com>
2733
2734 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Replace with an
2735 invocation of the function sh_init_cumulative_args.
2736 (INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
2737 (INIT_CUMULATIVE_INCOMING_ARGS): Delete.
2738 * config/sh/sh-protos.h: Prototype sh_init_cumulative_args.
2739 * config/sh/sh.c (sh_init_cumulative_args): New function based
2740 on the contents of the old INIT_CUMULATIVE_ARGS macro but with a
2741 heuristic added to determine the setting of force_mem when a
2742 library function is being called.
2743
ee1f0fb0
DN
27442004-09-28 Diego Novillo <dnovillo@redhat.com>
2745
2746 * tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
2747 Skip constant arguments.
2748
38e05395
DN
27492004-09-28 Diego Novillo <dnovillo@redhat.com>
2750
2751 * tree-ssa-alias.c (create_name_tags): If PTR points to a
2752 volatile type, mark the tag volatile.
2753 (get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
2754 volatile.
2755
45fbb186
AP
27562004-09-28 Andrew Pinski <pinskia@physics.uc.edu>
2757
2758 * tree.def (vec_cond_expr): Fix. Change 'e'
2759 to tcc_expression.
2760
c2b7c2d8
KH
27612004-09-28 Kazu Hirata <kazu@cs.umass.edu>
2762
2763 * basic-block.h: Fix a comment typo.
2764
6dbd43ba
KH
27652004-09-28 Kazu Hirata <kazu@cs.umass.edu>
2766
2767 * optabs.c, optabs.h: Fix comment typos.
2768
ecaa611b
EB
27692004-09-28 Eric Botcazou <ebotcazou@act-europe.fr>
2770
2771 * config/sparc/sparc.md (call_address_struct_value_sp32):
2772 Properly mask the immediate field of the 'unimp' instruction.
2773 (call_symbolic_struct_value_sp32): Likewise.
2774
2a7cd686 27752004-09-28 Ben Elliston <bje@au.ibm.com>
628f6a4e
BE
2776 Steven Bosscher <stevenb@suse.de>
2777 Andrew Pinski <pinskia@physics.uc.edu>
2778
2779 Merge from edge-vector-branch:
2780 * basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
2781 (struct edge_def): Remove pred_next, succ_next members.
2782 (struct basic_block_def): Remove pred, succ members. Add preds
2783 and succs members of type VEC(edge).
2784 (FALLTHRU_EDGE): Redefine using EDGE_SUCC.
2785 (BRANCH_EDGE): Likewise.
2786 (EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
2787 (EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
2788 (edge_iterator): New.
2789 (ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
2790 (ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
2791 (FOR_EACH_EDGE): New.
2792 * bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
2793 where applicable.
2794 (rotate_loop): Likewise.
2795 (find_traces_1_route): Likewise.
2796 (bb_to_key): Likewise.
2797 (connect_traces): Likewise.
2798 (copy_bb_p): Likewise.
2799 (find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
2800 (add_labels_and_missing_jumps): Likewise.
2801 (fix_up_fall_thru_edges): Likewise.
2802 (find_jump_block): Likewise.
2803 (fix_crossing_conditional_branches): Likewise.
2804 (fix_crossing_unconditional_branches): Likewise.
2805 (add_reg_crossing_jump_notes): Likewise.
2806 * bt-load.c (augment_live_range): Likewise.
2807 * cfg.c (clear_edges): Likewise.
2808 (unchecked_make_edge): Likewise.
2809 (cached_make_edge): Likewise.
2810 (make_single_succ_edge): Likewise.
2811 (remove_edge): Likewise.
2812 (redirect_edge_succ_nodup): Likewise.
2813 (check_bb_profile): Likewise.
2814 (dump_flow_info): Likewise.
2815 (alloc_aux_for_edges): Likewise.
2816 (clear_aux_for_edges): Likewise.
2817 (dump_cfg_bb_info): Likewise.
2818 * cfganal.c (forwarder_block_p): Likewise.
2819 (can_fallthru): Likewise.
2820 (could_fall_through): Likewise.
2821 (mark_dfs_back_edges): Likewise.
2822 (set_edge_can_fallthru_flag): Likewise.
2823 (find_unreachable_blocks): Likewise.
2824 (create_edge_list): Likewise.
2825 (verify_edge_list): Likewise.
2826 (add_noreturn_fake_exit_edges): Likewise.
2827 (connect_infinite_loops_to_exit): Likewise.
2828 (flow_reverse_top_sort_order_compute): Likewise.
2829 (flow_depth_first_order_compute): Likewise.
2830 (flow_preorder_transversal_compute): Likewise.
2831 (flow_dfs_compute_reverse_execute): Likewise.
2832 (dfs_enumerate_from): Likewise.
2833 (compute_dominance_frontiers_1): Likewise.
2834 * cfgbuild.c (make_edges): Likewise.
2835 (compute_outgoing_frequencies): Likewise.
2836 (find_many_sub_basic_blocks): Likewise.
2837 (find_sub_basic_blocks): Likewise.
2838 * cfgcleanup.c (try_simplify_condjump): Likewise.
2839 (thread_jump): Likewise.
2840 (try_forward_edges): Likewise.
2841 (merge_blocks_move): Likewise.
2842 (outgoing_edges_match): Likewise.
2843 (try_crossjump_to_edge): Likewise.
2844 (try_crossjump_bb): Likewise.
2845 (try_optimize_cfg): Likewise.
2846 (merge_seq_blocks): Likewise.
2847 * cfgexpand.c (expand_gimple_tailcall): Likewise.
2848 (expand_gimple_basic_block): Likewise.
2849 (construct_init_block): Likewise.
2850 (construct_exit_block): Likewise.
2851 * cfghooks.c (verify_flow_info): Likewise.
2852 (dump_bb): Likewise.
2853 (delete_basic_block): Likewise.
2854 (split_edge): Likewise.
2855 (merge_blocks): Likewise.
2856 (make_forwarder_block): Likewise.
2857 (tidy_fallthru_edges): Likewise.
2858 (can_duplicate_block_p): Likewise.
2859 (duplicate_block): Likewise.
2860 * cfglayout.c (fixup_reorder_chain): Likewise.
2861 (fixup_fallthru_exit_predecessor): Likewise.
2862 (can_copy_bbs_p): Likewise.
2863 (copy_bbs): Likewise.
2864 * cfgloop.c (flow_loops_cfg_dump): Likewise.
2865 (flow_loop_entry_edges_find): Likewise.
2866 (flow_loop_exit_edges_find): Likewise.
2867 (flow_loop_nodes_find): Likewise.
2868 (mark_single_exit_loops): Likewise.
2869 (flow_loop_pre_header_scan): Likewise.
2870 (flow_loop_pre_header_find): Likewise.
2871 (update_latch_info): Likewise.
2872 (canonicalize_loop_headers): Likewise.
2873 (flow_loops_find): Likewise.
2874 (get_loop_body_in_bfs_order): Likewise.
2875 (get_loop_exit_edges): Likewise.
2876 (num_loop_branches): Likewise.
2877 (verify_loop_structure): Likewise.
2878 (loop_latch_edge): Likewise.
2879 (loop_preheader_edge): Likewise.
2880 * cfgloopanal.c (mark_irreducible_loops): Likewise.
2881 (expected_loop_iterations): Likewise.
2882 * cfgloopmanip.c (remove_bbs): Likewise.
2883 (fix_bb_placement): Likewise.
2884 (fix_irreducible_loops): Likewise.
2885 (remove_path): Likewise.
2886 (scale_bbs_frequencies): Likewise.
2887 (loopify): Likewise.
2888 (unloop): Likewise.
2889 (fix_loop_placement): Likewise.
2890 (loop_delete_branch_edge): Likewise.
2891 (duplicate_loop_to_header_edge): Likewise.
2892 (mfb_keep_just): Likewise.
2893 (create_preheader): Likewise.
2894 (force_single_succ_latches): Likewise.
2895 (loop_split_edge_with): Likewise.
2896 (create_loop_notes): Likewise.
2897 * cfgrtl.c (rtl_split_block): Likewise.
2898 (rtl_merge_blocks): Likewise.
2899 (rtl_can_merge_blocks): Likewise.
2900 (try_redirect_by_replacing_jump): Likewise.
2901 (force_nonfallthru_and_redirect): Likewise.
2902 (rtl_tidy_fallthru_edge): Likewise.
2903 (commit_one_edge_insertion): Likewise.
2904 (commit_edge_insertions): Likewise.
2905 (commit_edge_insertions_watch_calls): Likewise.
2906 (rtl_verify_flow_info_1): Likewise.
2907 (rtl_verify_flow_info): Likewise.
2908 (purge_dead_edges): Likewise.
2909 (cfg_layout_redirect_edge_and_branch): Likewise.
2910 (cfg_layout_can_merge_blocks_p): Likewise.
2911 (rtl_flow_call_edges_add): Likewise.
2912 * cse.c (cse_cc_succs): Likewise.
2913 * df.c (hybrid_search): Likewise.
2914 * dominance.c (calc_dfs_tree_nonrec): Likewise.
2915 (calc_dfs_tree): Likewise.
2916 (calc_idoms): Likewise.
2917 (recount_dominator): Likewise.
2918 * domwalk.c (walk_dominator_tree): Likewise.
2919 * except.c (emit_to_new_bb_before): Likewise.
2920 (connect_post_landing_pads): Likewise.
2921 (sjlj_emit_function_enter): Likewise.
2922 (sjlj_emit_function_exit): Likewise.
2923 (finish_eh_generation): Likewise.
2924 * final.c (compute_alignments): Likewise.
2925 * flow.c (calculate_global_regs_live): Likewise.
2926 (initialize_uninitialized_subregs): Likewise.
2927 (init_propagate_block_info): Likewise.
2928 * function.c (thread_prologue_and_epilogue_insns): Likewise.
2929 * gcse.c (find_implicit_sets): Likewise.
2930 (bypass_block): Likewise.
2931 (bypass_conditional_jumps): Likewise.
2932 (compute_pre_data): Likewise.
2933 (insert_insn_end_bb): Likewise.
2934 (insert_store): Likewise.
2935 (remove_reachable_equiv_notes): Likewise.
2936 * global.c (global_conflicts): Likewise.
2937 (calculate_reg_pav): Likewise.
2938 * graph.c (print_rtl_graph_with_bb): Likewise.
2939 * ifcvt.c (mark_loop_exit_edges): Likewise.
2940 (merge_if_block): Likewise.
2941 (find_if_header): Likewise.
2942 (block_jumps_and_fallthru_p): Likewise.
2943 (find_if_block): Likewise.
2944 (find_cond_trap): Likewise.
2945 (block_has_only_trap): Likewise.
2946 (find_if_case1): Likewise.
2947 (find_if_case_2): Likewise.
2948 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
2949 (perfect_nestify): Likewise.
2950 * lcm.c (compute_antinout_edge): Likewise.
2951 (compute_laterin): Likewise.
2952 (compute_available): Likewise.
2953 (compute_nearerout): Likewise.
2954 * loop-doloop.c (doloop_modify): Likewise.
2955 * loop-init.c (loop_optimizer_init): Likewise.
2956 * loop-invariant.c (find_exits): Likewise.
2957 * loop-iv.c (simplify_using_initial_values): Likewise.
2958 (check_simple_exit): Likewise.
2959 (find_simple_exit): Likewise.
2960 * loop-unroll.c (peel_loop_completely): Likewise.
2961 (unroll_loop_constant_iterations): Likewise.
2962 (unroll_loop_runtime_iterations): Likewise.
2963 * loop-unswitch.c (may_unswitch_on): Likewise.
2964 (unswitch_loop): Likewise.
2965 * modulo-sched.c (generate_prolog_epilog): Likewise.
2966 (sms_schedule): Likewise.
2967 * postreload-gcse.c (eliminate_partially_redundant_load):
2968 Likewise.
2969 * predict.c (can_predict_insn_p): Likewise.
2970 (set_even_probabilities): Likewise.
2971 (combine_predictions_for_bb): Likewise.
2972 (predict_loops): Likewise.
2973 (estimate_probability): Likewise.
2974 (tree_predict_by_opcode): Likewise.
2975 (tree_estimate_probability): Likewise.
2976 (last_basic_block_p): Likewise.
2977 (propagate_freq): Likewise.
2978 (estimate_loops_at_level): Likewise.
2979 (estimate_bb_frequencies): Likewise.
2980 * profile.c (instrument_edges): Likewise.
2981 (get_exec_counts): Likewise.
2982 (compute_branch_probabilities): Likewise.
2983 (branch_prob): Likewise.
2984 * ra-build.c (live_in): Likewise.
2985 * ra-rewrite.c (rewrite_program2): Likewise.
2986 * ra.c (reg_alloc): Likewise.
2987 * reg-stack.c (reg_to_stack): Likewise.
2988 (convert_regs_entry): Likewise.
2989 (compensate_edge): Likewise.
2990 (convert_regs_1): Likewise,
2991 (convert_regs_2): Likewise.
2992 (convert_regs): Likewise.
2993 * regrename.c (copyprop_hardreg_forward): Likewise.
2994 * reload1.c (fixup_abnormal_edges): Likewise.
2995 * sbitmap.c (sbitmap_intersection_of_succs): Likewise.
2996 (sbitmap_insersection_of_preds): Likewise.
2997 (sbitmap_union_of_succs): Likewise.
2998 (sbitmap_union_of_preds): Likewise.
2999 * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
3000 (fix_basic_block_boundaries): Likewise.
3001 (sched_ebbs): Likewise.
3002 * sched-rgn.c (build_control_flow): Likewise.
3003 (find_rgns): Likewise.
3004 * tracer.c (find_best_successor): Likewise.
3005 (find_best_predecessor): Likewise.
3006 (tail_duplicate): Likewise.
3007 * tree-cfg.c (make_edges): Likewise.
3008 (make_ctrl_stmt_edges): Likewise.
3009 (make_goto_expr_edges): Likewise.
3010 (tree_can_merge_blocks_p): Likewise.
3011 (tree_merge_blocks): Likewise.
3012 (cfg_remove_useless_stmts_bb): Likewise.
3013 (remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
3014 (tree_block_forwards_to): Likewise.
3015 (cleanup_control_expr_graph): Likewise.
3016 (find_taken_edge): Likewise.
3017 (dump_cfg_stats): Likewise.
3018 (tree_cfg2vcg): Likewise.
3019 (disband_implicit_edges): Likewise.
3020 (tree_find_edge_insert_loc): Likewise.
3021 (bsi_commit_edge_inserts): Likewise.
3022 (tree_split_edge): Likewise.
3023 (tree_verify_flow_info): Likewise.
3024 (tree_make_forwarder_block): Likewise.
3025 (tree_forwarder_block_p): Likewise.
3026 (thread_jumps): Likewise.
3027 (tree_try_redirect_by_replacing_jump): Likewise.
3028 (tree_split_block): Likewise.
3029 (add_phi_args_after_copy_bb): Likewise.
3030 (rewrite_to_new_ssa_names_bb): Likewise.
3031 (dump_function_to_file): Likewise.
3032 (print_pred_bbs): Likewise.
3033 (print_loop): Likewise.
3034 (tree_flow_call_edges_add): Likewise.
3035 (split_critical_edges): Likewise.
3036 (execute_warn_function_return): Likewise.
3037 (extract_true_false_edges_from_block): Likewise.
3038 * tree-if-conv.c (tree_if_conversion): Likewise.
3039 (if_convertable_bb_p): Likewise.
3040 (find_phi_replacement_condition): Likewise.
3041 (combine_blocks): Likewise.
3042 * tree-into-ssa.c (compute_global_livein): Likewise.
3043 (ssa_mark_phi_uses): Likewise.
3044 (ssa_rewrite_initialize_block): Likewise.
3045 (rewrite_add_phi_arguments): Likewise.
3046 (ssa_rewrite_phi_arguments): Likewise.
3047 (insert_phi_nodes_for): Likewise.
3048 (rewrite_into_ssa): Likewise.
3049 (rewrite_ssa_into_ssa): Likewise.
3050 * tree-mudflap.c (mf_build_check_statement_for): Likewise.
3051 * tree-outof-ssa.c (coalesce_abnormal_edges): Likewise.
3052 (rewrite_trees): Likewise.
3053 * tree-pretty-print.c (dump_bb_header): Likewise.
3054 (dump_implicit_edges): Likewise.
3055 * tree-sra.c (insert_edge_copies): Likewise.
3056 (find_obviously_necessary_stmts): Likewise.
3057 (remove_data_stmt): Likewise.
3058 * tree-ssa-dom.c (thread_across_edge): Likewise.
3059 (dom_opt_finalize_block): Likewise.
3060 (single_incoming_edge_ignoring_loop_edges): Likewise.
3061 (record_equivalences_from_incoming_edges): Likewise.
3062 (cprop_into_successor_phis): Likewise.
3063 * tree-ssa-live.c (live_worklist): Likewise.
3064 (calculate_live_on_entry): Likewise.
3065 (calculate_live_on_exit): Likewise.
3066 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
3067 (copy_loop_headers): Likewise.
3068 * tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
3069 (fill_always_executed_in): Likewise.
3070 * tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
3071 * tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise.
3072 (compute_phi_arg_on_exit): Likewise.
3073 * tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise.
3074 (get_loops_exit): Likewise.
3075 (split_loop_exit_edge): Likewise.
3076 (ip_normal_pos): Likewise.
3077 * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
3078 Likewise.
3079 * tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise.
3080 (replace_phi_with_stmt): Likewise.
3081 (value_replacement): Likewise.
3082 * tree-ssa-pre.c (compute_antic_aux): Likewise.
3083 (insert_aux): Likewise.
3084 (init_pre): Likewise.
3085 * tree-ssa-propagate.c (simulate_stmt): Likewise.
3086 (simulate_block): Likewise.
3087 (ssa_prop_init): Likewise.
3e6688a7 3088 * tree-ssa-threadupdate.c (thread_block): Likewise.
628f6a4e
BE
3089 (create_block_for_threading): Likewise.
3090 (remove_last_stmt_and_useless_edges): Likewise.
3091 * tree-ssa.c (verify_phi_args): Likewise.
3092 (verify_ssa): Likewise.
3093 * tree_tailcall.c (independent_of_stmt_p): Likewise.
3094 (find_tail_calls): Likewise.
3095 (eliminate_tail_call): Likewise.
3096 (tree_optimize_tail_calls_1): Likewise.
3097 * tree-vectorizer.c (vect_transform_loop): Likewise.
3098 * var-tracking.c (prologue_stack_adjust): Likewise.
3099 (vt_stack_adjustments): Likewise.
3100 (vt_find_locations): Likewise.
3101 * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
3102 * config/i386/i386.c (ix86_pad_returns): Likewise.
3103 * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
3104 * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
3105
5be9b7a1
EB
31062004-09-28 Eric Botcazou <ebotcazou@libertysurf.fr>
3107
3108 PR target/16532
3109 * config/sparc/sparc.c (struct machine_function): New field
3110 'leaf_function_p' and 'prologue_data_valid_p'.
3111 (sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro
3112 to conveniently access the above fields.
3113 (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete.
3114 (eligible_for_return_delay): Use 'sparc_leaf_function_p' instead
3115 of the generic flavor 'current_function_uses_only_leaf_regs'.
3116 (eligible_for_sibcall_delay): Likewise.
3117 (sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set
3118 'sparc_prologue_data_valid_p'. Use 'sparc_leaf_function_p'.
3119 (sparc_asm_function_prologue): Add sanity check for the assumption
3120 made in 'sparc_expand_prologue'. Use 'sparc_leaf_function_p'.
3121 (sparc_can_use_return_insn_p): New function.
3122 (sparc_expand_epilogue): Use 'sparc_leaf_function_p'.
3123 (output_restore): Likewise.
3124 (output_sibcall): Likewise.
3125 (sparc_output_mi_thunk): Likewise.
3126 * config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare.
3127 * config/sparc/sparc.md (return): New expander.
3128
3129 * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak.
3130
455f19cb
MM
31312004-09-27 Mark Mitchell <mark@codesourcery.com>
3132
3133 PR c++/17642
3134 * stor-layout.c (layout_decl): Use fold_convert, not convert.
3135 (bit_from_pos): Likewise.
3136 (byte_from_pos): Likewise.
3137 (pos_from_bit): Likewise.
3138 (normalize_offset): Likewise.
3139 (place_field): Likewise.
3140 (finalize_type_size): Likewise.
3141 (layout_type): Likewise.
3142 * tree.c (build_index_type): Likewise.
3143
7ce67fbe
DP
31442004-09-27 Devang Patel <dpatel@apple.com>
3145
3146 * expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
3147 * genopinit.c (optabs): New entry for vcond_gen_code and
3148 vcondu_gen_code.
3149 * optabs.c (vcond_gen_code, vcondu_gen_code): New optabs.
3150 (get_rtx_code): New function.
3151 (vector_compare_rtx): New function.
3152 (init_optabs): Initialize vcond_gen_code and vcondu_gen_code.
3153 (expand_vec_cond_expr_p): New function.
3154 (expand_vec_cond_expr): New function.
3155 (get_vcond_icode): New function.
3156 * optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs.
3157 (vcond_gen_code, vcondu_gen_code): Same.
3158
55040e7a
KC
31592004-09-27 Kelley Cook <kcook@gcc.gnu.org>
3160
3161 * Makefile.in (STAGESTUFF): Split into ...
3162 (STAGECOPYSTUFF, STAGEMOVESTUFF): ... these.
3163 (mostlyclean): Update.
3164 (stage1-start, stage2-start, stage3-start, stage4-start,
3165 stageprofile-start, stagefeedback-start): Copy the STAGECOPYSTUFF.
3166 Move the STAGEMOVESTUFF.
3167
f6260033
EB
31682004-09-27 Eric Botcazou <ebotcazou@libertysurf.fr>
3169
3170 * system.h (getpagesize): Return 'int' instead of 'long'.
3171
49f41d06
MM
31722004-09-27 Michael Matz <matz@suse.de>
3173
3174 PR bootstrap/17698
3175 PR bootstrap/17702
3176 * bitmap.h (bmp_iter_single_init, bmp_iter_and_not_init,
3177 bmp_iter_and_init): Shift by bit_in_word.
3178
a62322c4
KC
31792004-09-27 Kelley Cook <kcook@gcc.gnu.org>
3180
3181 * aclocal.m4: Quote m4_includes. Include ../config/gcc-lib-path.m4.
3182 * configure.ac: Don't sinclude it here.
3183 * configure: Regenerate.
3184
850e8d3d
DN
31852004-09-27 Dorit Naishlos <dorit@il.ibm.com>
3186
3187 * config/rs6000/rs6000.c (rs6000_legitimate_address, print_operand):
3188 Handle AND pattern
3189
5e9bda65
JM
31902004-09-27 Joseph S. Myers <jsm@polyomino.org.uk>
3191
3192 PR c/13804
3193 * c-typeck.c (build_component_ref): Name type involved in
3194 diagnostic for structure or union without a member of the given
3195 name.
3196
43f51151
DD
31972004-09-27 DJ Delorie <dj@redhat.com>
3198
3199 * config/stormy16/stormy16.c (xstormy16_asm_output_aligned_common):
3200 .comm alignment is bytes, not bits.
3201
6337c1a2
DP
32022004-09-27 Devang Patel <dpatel@apple.com>
3203
3204 * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
3205 (print_call_name): Do not print VEC_COND_EXPR.
6337c1a2 3206
7e200b50
DP
32072004-09-27 Devang Patel <dpatel@apple.com>
3208
3209 * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
3e6688a7 3210
8c1e80e9
JH
32112004-09-27 Jan Hubicka <jh@suse.cz>
3212
3213 * i386.c (athlon_cost, k8_cost): Set BRANCH_COST to 5.
3214
75e50bd2
KH
32152004-09-27 Kazu Hirata <kazu@cs.umass.edu>
3216
3217 * bitmap.h: Fix a comment typo.
3218
94c1e7ac
AL
32192004-09-27 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
3220
3221 * libgcc2.c (getpagesize): Change type of return value to int.
3222
772299b3
MA
32232004-09-26 Matt Austern <austern@apple.com>
3224
3225 * ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're
3226 using mmap.
3e6688a7 3227
87c476a2
ZD
32282004-09-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3229
3230 * bitmap.h (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_COMPL_IN_BITMAP,
3231 EXECUTE_IF_AND_IN_BITMAP): Changed to iterator style.
3232 (bitmap_iterator): New type.
3233 (bmp_iter_common_next_1, bmp_iter_single_next_1, bmp_iter_single_init,
3234 bmp_iter_end_p, bmp_iter_single_next, bmp_iter_and_not_next_1,
3235 bmp_iter_and_not_init, bmp_iter_and_not_next, bmp_iter_and_next_1,
3236 bmp_iter_and_init, bmp_iter_and_next): New functions.
3237 * basic-block.h (EXECUTE_IF_SET_IN_REG_SET,
3238 EXECUTE_IF_AND_COMPL_IN_REG_SET, EXECUTE_IF_AND_IN_REG_SET): Changed to
3239 use iterator-style EXECUTE_IF_IN_BITMAP macros.
3240 * bitmap.c (bitmap_print): Ditto.
3241 * bt-load.c (clear_btr_from_live_range, add_btr_to_live_range,
3242 btr_def_live_range): Ditto.
3243 * cfganal.c (compute_dominance_frontiers_1) Ditto.
3244 * cgraphunit.c (convert_UIDs_in_bitmap, cgraph_characterize_statics):
3245 Ditto.
3246 * ddg.c (build_inter_loop_deps): Ditto.
3247 * df.c (FOR_EACH_BB_IN_BITMAP, df_bb_reg_info_compute, df_refs_update):
3248 Ditto.
3249 * except.c (remove_eh_handler): Ditto.
3250 * flow.c (reg_set_to_hard_reg_set): Ditto.
3251 * gcse.c (clear_modify_mem_tables): Ditto.
3252 * global.c (build_insn_chain): Ditto.
3253 * ifcvt.c (dead_or_predicable): Ditto.
3254 * loop-invariant.c (get_inv_cost, set_move_mark, move_invariant_reg):
3255 Ditto.
3256 * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Ditto.
3257 * ra-rewrite.c (reloads_to_loads, rewrite_program2,
3258 detect_web_parts_to_rebuild, delete_useless_defs, actual_spill): Ditto.
3259 * tree-cfg.c (allocate_ssa_names, tree_duplicate_sese_region,
3260 tree_purge_all_dead_eh_edges): Ditto.
3261 * tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
3262 insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags,
3263 rewrite_ssa_into_ssa): Ditto.
3264 * tree-outof-ssa.c (find_replaceable_exprs): Ditto.
3265 * tree-sra.c (scan_function, decide_instantiations, scalarize_parms):
3266 Ditto.
3267 * tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape,
3268 compute_flow_sensitive_aliasing, maybe_create_global_var,
3269 dump_points_to_info_for): Ditto.
3270 * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Ditto.
3271 * tree-ssa-dse.c (dse_finalize_block): Ditto.
3272 * tree-ssa-live.c (live_worklist, calculate_live_on_entry,
3273 calculate_live_on_exit, build_tree_conflict_graph, dump_live_info):
3274 Ditto.
3275 * tree-ssa-loop-ivopts.c (find_induction_variables,
3276 find_interesting_uses, add_old_ivs_candidates, alloc_use_cost_map,
3277 determine_use_iv_costs, determine_set_costs, find_best_candidate,
3278 set_cost_up_to, create_new_ivs, remove_unused_ivs, free_loop_data):
3279 Ditto.
3280 * tree-ssa-loop-manip.c (add_exit_phis_var, add_exit_phis): Ditto.
3281 * tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
3282 add_call_read_ops): Ditto.
3283 * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Ditto.
3284
69049ba0
JDA
32852004-09-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3286
3287 * pa.c (print_operand): Use non-trapping completers for UNLE, UNLT,
3288 UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons.
3289
6cbaec9e
UW
32902004-09-26 Ulrich Weigand <uweigand@de.ibm.com>
3291
3292 * builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
3293 reflect size of memory regions being compared.
3294
931e6c29
UW
32952004-09-26 Ulrich Weigand <uweigand@de.ibm.com>
3296
3297 * builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR
3298 expressions. Always clear MEM_SIZE and alias set.
3299
897f610b
RS
33002004-09-26 Roger Sayle <roger@eyesopen.com>
3301 Giovanni Bajo <giovannibajo@gcc.gnu.org>
3302
3303 PR middle-end/17112
3304 * stor-layout.c (compute_record_mode): For records with a single
3305 field, only use the field's mode if its size matches what we'd
3306 have choosen for the record ourselves. This forces the use of
3307 BLKmode for packed records that don't completely fill a mode.
3308
5c8c573a
RS
33092004-09-26 Roger Sayle <roger@eyesopen.com>
3310
3311 PR middle-end/17151
3312 * combine.c (force_to_mode): Remove dubious early return test that
3313 inhibits further optimization.
3314
628f3b63
KH
33152004-09-26 Kazu Hirata <kazu@cs.umass.edu>
3316
3317 * profile.c: Fix a comment typo.
3318
be35cf60
ZD
33192004-09-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3320
3321 PR bootstrap/17591
3322 * tree-ssa-loop-im.c (for_each_index): Call callback for component_refs
3323 with varying offset.
3324 * tree-ssa-loop-ivopts.c (abnormal_ssa_name_p): New function.
3325 (idx_contains_abnormal_ssa_name_p): Scan step and lower bound for
3326 ARRAY_REFS.
3327 (expr_invariant_in_loop_p): New function.
3328 (idx_find_step): Handle step and lower bound for ARRAY_REFs. Handle
3329 component_ref_field_offset for COMPONENT_REFs. Do not allow
3330 ALIGN_INDIRECT_REFs and MISALIGNED_INDIRECT_REFs.
3331 (add_address_candidates): Do not handle ALIGN_INDIRECT_REFs and
3332 MISALIGNED_INDIRECT_REFs.
3333 (idx_remove_ssa_names): Handle step and lower bound for ARRAY_REFs.
3334 (rewrite_address_base): Do not handle ALIGN_INDIRECT_REFs and
3335 MISALIGNED_INDIRECT_REFs.
3336
34096b92
JM
33372004-09-26 Joseph S. Myers <jsm@polyomino.org.uk>
3338
3339 PR c/11459
3340 * gcc.c (cpp_options, cc1_options): Preserve relative order of
3341 -std and -ansi options.
3342
5db0241f
JH
33432004-09-26 Jan Hubicka <jh@suse.cz>
3344
1168d30f
JH
3345 * dwarf2out.c (dwarf2out_finish): Set parent to comp_unit_die
3346 for nested functions whose proper parent has not been output.
3347
5db0241f
JH
3348 * profile.c (compute_branch_probabilities): Use REG_BR_PROB notes
3349 when re-constructing profile previously invalidated by loop.
3350
bfe0d06b
DJ
33512004-09-25 Dale Johannesen <dalej@apple.com>
3352
3353 * tree-gimple.c: Move GIMPLE definition...
3354 * doc/tree-ssa.texi: here.
3355
601d18c6
KH
33562004-09-25 Kazu Hirata <kazu@cs.umass.edu>
3357
3358 * tree-vectorizer.c: Fix a comment typo.
3359
ea4b7848
KH
33602004-09-25 Kazu Hirata <kazu@cs.umass.edu>
3361
3362 * c-typeck.c, defaults.h, dwarf.h, dwarf2out.c, fold-const.c,
3363 gthr-dce.h, gthr-posix.h, gthr-solaris.h, gthr-win32.h,
3364 lambda-code.c, lambda-mat.c, libgcc2.c, stmt.c,
3365 tree-ssa-pre.c, tree-vn.c, tree.h: Fix comment formatting.
3366
e75220c8
KH
33672004-09-25 Kazu Hirata <kazu@cs.umass.edu>
3368
3369 * tree-ssa-loop-unswitch.c: Fix a comment typo.
3370
87880c12
KH
33712004-09-25 Kazu Hirata <kazu@cs.umass.edu>
3372
3373 * doc/passes.texi: Fix a typo.
3374
f3cd574f
ZD
33752004-09-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3376
3377 * tree-optimize.c (init_tree_optimization_passes): Add
3378 pass_record_bounds.
3379 * tree-pass.h (pass_record_bounds): Declare.
3380 * tree-ssa-loop.c (tree_ssa_loop_bounds, pass_record_bounds):
3381 New pass.
3382
f34fa464
ZD
33832004-09-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3384
3385 PR tree-optimization/17474
3386 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Determine
3387 offset of the field correctly when DECL_FIELD_BIT_OFFSET != 0.
3388
70f3cc30
JH
33892004-09-25 Jan Hubicka <jh@suse.cz>
3390
f34fa464 3391 * predict.c (counts_to_freqs): Make global.
bbd236a1
JH
3392 * predict.h (counts_to_freqa): Declare.
3393 * profile.c (compute_branch_probabilities): Compute frequencies
3394 * tree-profile.c (do_tree_profiling): Refine conditional on when
3395 tree profiling pass is needed.
3396
70f3cc30
JH
3397 * passes.c (rest_of_handle_cfg): Disable const/pure function
3398 detection when doing tree based profiling.
3399
3400 * tree-inline.c (expand_call_inline): Fix incorrectly reversed
3401 conditional.
3402
b11a9d5f
RS
34032004-09-25 Richard Sandiford <rsandifo@redhat.com>
3404
3405 * config/mips/mips.h (struct mips_args): Clarify comments.
3406 * config/mips/mips.c (struct mips_arg_info): Likewise.
3407 (mips_arg_info): Don't allow fpr_p to affect the register or
3408 stack alignment. Remove o64 silliness.
3409 (function_arg): Deal with the o32 float,float case specially.
3410
03eccdc8
RS
34112004-09-25 Richard Sandiford <rsandifo@redhat.com>
3412
3413 * config/mips/mips.md (loadx, storex): Define for V2SF.
3414
ef44a6ff
UW
34152004-09-25 Ulrich Weigand <uweigand@de.ibm.com>
3416
3417 * config/s390/s390-protos.h (s390_back_chain_rtx): Add prototype.
3418 * config/s390/s390.c (s390_back_chain_rtx): New function.
3419 * config/s390/s390.md ("allocate_stack"): Use s390_back_chain_rtx.
3420 Call anti_adjust_stack.
3421 ("restore_stack_block"): Use s390_back_chain_rtx. Enable pattern
3422 only if compiling with back chain.
3423 ("save_stack_nonlocal", "restore_stack_nonlocal"): Save/restore
3424 back chain only if back chain enabled. Use s390_back_chain_rtx.
3e6688a7 3425
60ae6360
JM
34262004-09-25 Joseph S. Myers <jsm@polyomino.org.uk>
3427
3428 * doc/trouble.texi: Remove obsolete information. Update
3429 information on how to regenerate fixincluded headers.
3430
b99cfc22
JM
34312004-09-25 Joseph S. Myers <jsm@polyomino.org.uk>
3432
3433 PR c/12951
3434 * doc/invoke.texi: Document that
3435 -Wno-error-implicit-function-declaration is not accepted.
3436
e2ea71ea
RH
34372004-09-24 Richard Henderson <rth@redhat.com>
3438
3439 * config/alpha/alpha.h (UNITS_PER_SIMD_WORD): New.
3440 * config/alpha/alpha.c (alpha_vector_mode_supported_p): Don't depend
3441 on TARGET_MAX.
3442 (alpha_expand_mov): Allow unaligned vectors.
3443 (alpha_expand_unaligned_store): Use CONST0_RTX.
3444 (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
3445
b8545fbf
JL
34462004-09-24 Jeff Law <law@redhat.com>
3447
3448 * tree-ssa-dom.c (dom_opt_finalize_block): Fix violation of strict
3449 aliasing rules.
3450 (simplify_cond_and_lookup_avail_expr): Likewise.
3451
2fbebc71
JM
34522004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
3453
3454 PR c/12802
3455 * doc/extend.texi (Unnamed Fields): Remove "." from end of long
3456 title. Document interaction with -fms-extensions.
3457 * doc/invoke.texi (-fms-extensions): Refer to Unnamed Fields
3458 section.
3459
2e9522f4
JM
34602004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
3461
3462 PR c/12713
3463 * doc/extend.texi: Document interaction of attribute noreturn and
3464 longjmp.
3465
41bf2a8b
RH
34662004-09-24 Richard Henderson <rth@redhat.com>
3467
3468 PR rtl-opt/17503
3469 * regclass.c (subregs_of_mode): Turn into an htab. Make static.
3470 (som_hash, som_eq): New.
3471 (init_subregs_of_mode, record_subregs_of_mode): New.
3472 (cannot_change_mode_set_regs): Rewrite for htab implementation.
3473 (invalid_mode_change_p): Likewise.
3474 * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
3475 * flow.c (mark_used_regs): Likewise.
3476 (life_analysis): Use init_subregs_of_mode.
3477 * regs.h (subregs_of_mode): Remove.
3478 * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
3479
84f7a28c
AP
34802004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
3481
3482 * tree-ssa-phiopt.c (conditional_replacement): Use the correct
3483 type with the copy of the conditional.
3484
532c67ca
AP
34852004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
3486
3487 PR tree-opt/16954
3488 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
3489 Prevent renaming if the aliasing sets of the type which the
3490 pointer points to are different.
3491
085e33aa
JM
34922004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
3493
3494 PR c/17188
3495 * c-decl.c (diagnose_mismatched_decls): Check for duplicate
3496 declarations of enumerators.
3497 (start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
3498 for redefinition. Check for nested redefinition.
3499 (finish_struct): Don't check for nested redefinition.
3500 (start_enum): Check for nested redefinition.
3501
a2159c4c
DP
35022004-09-24 Devang Patel <dpatel@apple.com>
3503
3504 * tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable
3505 only when necesssary.
3506 (combine_blocks): Combine loop header and exit block.
3e6688a7 3507
55e74277
PB
35082004-09-24 Paolo Bonzini <bonzini@gnu.org>
3509
3510 * hooks.c (hook_tree_tree_bool_null): New.
3511 * hooks.h (hook_tree_tree_bool_null): Declare it.
3512 * target-def.c (TARGET_FOLD_BUILTIN): Point to it.
3513 * targhooks.c (default_fold_builtin): Remove.
3514 * targhooks.h (default_fold_builtin): Remove.
3515
30d3fc60
ZD
35162004-09-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3517
3518 PR rtl-optimization/17625
3519 * loop-doloop.c (doloop_modify): Unshare rtl before emitting it.
3520
54e075fe
AP
35212004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
3522
3523 PR tree-opt/17624
3524 * tree-ssa-forwprop.c (record_single_argument_cond_exprs):
3525 Reject if any of the operands occur in an abnormal PHI.
3526
4a198dea
AS
35272004-09-24 Andreas Schwab <schwab@suse.de>
3528
3529 * tree-ssa-dom.c (record_range): Fix violation of strict aliasing
3530 rules.
3531
5d865dac
EB
35322004-09-24 Eric Botcazou <ebotcazou@libertysurf.fr>
3533
3534 * config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
3535 if the GNU assembler is used.
3536 (sparc-*-solaris2*): Likewise.
3537 * dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
3538 (dbxout_function_end): Protect N_ENSYM with it.
3539 (dbxout_begin_prologue): Protect N_BNSYM with it.
3540 * doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
3541 * config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
3542 * config/sparc/sol2-gas.h: New file.
3543
4c4a5bbc
L
35442004-09-23 H.J. Lu <hongjiu.lu@intel.com>
3545
3546 PR bootstrap/17369
3547 * Makefile.in (@set_gcc_lib_path@): Added.
3548
3549 * configure.ac: Include ../config/gcc-lib-path.m4. Use
3550 TL_AC_GNU_MAKE_GCC_LIB_PATH.
3551 * configure: Regenerated.
3552
ff80e49f
JM
35532004-09-24 Joseph S. Myers <jsm@polyomino.org.uk>
3554
3555 PR c/6980
3556 * c-typeck.c (build_c_cast): Improve wording of
3557 -Wbad-function-cast diagnostic.
3558
e758023d
HPN
35592004-09-23 Hans-Peter Nilsson <hp@axis.com>
3560
3561 PR target/17626
3562 * config/cris/cris.md (moverside, movemside): Rename variable
3563 "reg" to "otherop". To generate canonical RTX, check that otherop
3564 isn't constant instead of checking that operand 1 is a register.
3565
31d66fa9
JJ
35662004-09-23 Jakub Jelinek <jakub@redhat.com>
3567
3568 * tree-ssa-propagate.c (set_rhs): Fail if EXPR is COMPOUND_EXPR.
3569
b28b1600
JJ
35702004-09-23 Diego Novillo <dnovillo@redhat.com>
3571 Jakub Jelinek <jakub@redhat.com>
3572
3573 * tree-flow.h (find_new_referenced_vars): Add prototype.
3574 * tree-sra.c (find_new_referenced_vars_1, find_new_referenced_vars):
3575 Move to...
3576 * tree-dfa.c (find_new_referenced_vars_1, find_new_referenced_vars):
3577 ... here.
3578 (mark_new_vars_to_rename): Walk through all operands.
3579 * tree-ssa-ccp.c (convert_to_gimple_builtin): New function.
3580 (execute_fold_all_builtins): Use it.
3581 (pass_fold_builtins): Add TODO_rename_vars to todo_flags_finish.
3582
512baaea
D
35832004-09-23 P.J. Darcy <darcypj@us.ibm.com>
3584
3585 * gthr-tpf.h: New file.
3586 * config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
3587 * gthr.h: Use gthr-tpf.h on TPF OS.
3588
3aecd08b
JL
35892004-09-23 Jeff Law <law@redhat.com>
3590
3591 * tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather
3592 than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
3593 (substitute_and_fold): Likewise.
3594 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything
3595 except invariants from SSA_NAME_VALUE.
3596 (thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV
3597 and SET_SSA_NAME_EQUIV.
3598 (restore_vars_to_original_value, record_const_or_copy): Likewise.
3599 (record_equivalences_from_phis, record_const_or_copy_1): Likewise.
3600 (record_equality, cprop_into_successor_phis): Likewise.
3601 (record_equivalences_from_stmt, cprop_operand): Likewise.
3602 (lookup_avail_expr): Likewise.
3603 * tree-ssa-pre.c (fini_pre): Remove everything except invariants
3604 from SSA_NAME_VALUE.
3605 * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill.
3606 (struct tree_ssa_name): Kill EQUIV field. Remove GGC skip
3607 annotation from the VALUE_HANDLE field.
3608
037cc9c5 36092004-09-21 Fariborz Jahanian <fjahanian@apple.com>
23fad16e 3610
037cc9c5
FJ
3611 PR c++/13989
3612 PR c++/9844
037cc9c5 3613 * tree.c (reconstruct_complex_type): Remove extra "this".
3e6688a7 3614 * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
037cc9c5
FJ
3615 Add V4SFmode to case statement.
3616
e6e931b7
JM
36172004-09-23 Joseph S. Myers <jsm@polyomino.org.uk>
3618
3619 PR c/16833
3620 * doc/extend.texi, doc/invoke.texi: Document interaction of
3621 -fno-builtin with format checks. Note that built-in functions
3622 have effects beyond generating code that avoids calls to those
3623 functions.
3624
df485d80
FCE
36252004-09-23 Frank Ch. Eigler <fche@redhat.com>
3626
3627 PR tree-optimization/17533
3628 * dominance.c (verify_dominators): Tolerate even more incorrect
3629 dominance data during error message printing.
3630 * tree-mudflap.c (mf_build_check_statement_for): Build basic blocks
3631 and edges more correctly.
3e6688a7 3632
7ccf35ed
DN
36332004-09-23 Dorit Naishlos <dorit@il.ibm.com>
3634
a834e70b
SB
3635 * tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
3636 New tree-codes.
3637 * tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
3638 MISALIGNED_INDIRECT_REF.
3639 * alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.
3640 * emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos):
3641 Likewise.
3642 * expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base)
3643 (find_interesting_uses_address): Likewise.
3644 * fold-const.c (non_lvalue, operand_equal_p): Likewise.
3645 (build_fold_addr_expr_with_type): Likewise.
3646 * gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise.
3647 * print-rtl.c (print_mem_expr): Likewise.
3648 * tree-dump.c (dequeue_and_dump): Likewise.
3649 * tree-eh.c (tree_could_trap_p): Likewise.
3650 * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
3651 * tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise.
3652 * tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by):
3653 Likewise.
3654 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
3655 * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
3656 * tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise.
3657 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
3658 (add_address_candidates, rewrite_address_base): Likewise.
3659 * tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands):
3660 Likewise.
3661 * tree.c (staticp, build1_stat): Likewise.
3662
3663 * tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes.
3664 * tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR.
3665 * tree-ssa-operands.c (get_expr_operands): Likewise.
3666 * expr.c (expand_expr_real_1): Likewise.
3667
3668 * optabs.h (vec_realign_store_optab, vec_realign_load_optab): New
3669 optabs.
3670 (OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values
3671 for the new optabs.
3672 (expand_ternary_op): New function.
3673 * genopinit.c (optabs): Handle the new optabs.
3674 * optabs.c (optab_for_tree_code): Add cases for the new tree-codes.
3675 (init_optabs): Initialize vec_realign_load_optab.
3676 (expand_ternary_op): New functions.
3677
3678 * target-def.h (TARGET_VECTORIZE): New member for struct gcc_target.
3679 (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize.
3680 (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise.
3681 (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise.
3682 * target.h (struct vectorize): New member for struct gcc_target.
3683 (misaligned_mem_ok): New member for targetm.vectorize.
3684 (builtin_mask_for_load): Likewise.
3685 (builtin_mask_for_store): Likewise.
3686 * targethooks.c (default_vect_misaligned_mem_ok): New function.
3687 * targethooks.h (default_vect_misaligned_mem_ok): New function.
3688
3689 * config/rs6000/altivec.md (build_vector_mask_for_load): New
3690 define_expand.
3691 (vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi)
3692 (vec_realign_load_v16qi): New define_insn.
3693 * config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD):
3694 (ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins.
3695 * config/rs6000/rs6000.c (altivec_builtin_mask_for_load):
3696 (altivec_builtin_mask_for_store): New variables.
3697 (rs6000_builtin_mask_for_load): New function. Implements
3698 TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD.
3699 (rs6000_builtin_mask_for_store): New function. Implements
3700 TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE.
3701 (rs6000_expand_builtin): Expand the target builtins
3702 builtin_mask_for_load and builtin_mask_for_store.
3703 (altivec_init_builtins): Initialize the new target builtins.
3704 * config/i386/i386.c (ix86_misaligned_mem_ok): New function.
3705 Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK.
3706
3707 * tree-vectorizer.c (vect_create_data_ref): Renamed to
3708 vect_create_data_ref_ptr. Returns a pointer instead of an array-ref.
3709 (vect_create_addr_base_for_vector_ref): Additional argument (offset).
3710 (vectorizable_store): Call vect_create_data_ref_ptr with additional
3711 arguments, and create an indirect_ref with its return value data_ref.
3712 Check aligned_access_p.
3713 (vectorizable_load): Handle misaligned loads, using software-pipelined
3714 scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if
3715 vec_realign_load_optab is supported, or using a scheme without
3716 software-pipelining with MISALIGNED_INDIRECT_REF if the target hook
3717 misaligned_mem_ok is supported.
3718
3719 (vect_finish_stmt_generation): Typo.
3720 (vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info.
3721 (vect_analyze_data_refs_alignment): Don't fail vectorization in the
3722 presence of misaligned loads.
3723 (vect_analyze_data_ref_access): Add check for constant init.
3724 (vect_get_symbl_and_dr): Remove duplicate line.
3725 * tree-vectorizer.h (DR_MISALIGNMENT): Add comment.
7ccf35ed 3726
d31012b7
KH
37272004-09-23 Kazu Hirata <kazu@cs.umass.edu>
3728
3729 * builtins.c: Fix a comment typo.
3730
aa26df17
JH
37312004-09-23 Jan Hubicka <jh@suse.cz>
3732
3733 * profile.c (branch_prob): Do not verify flow info in the middle of the
3734 pass.
3735
92fc4a2f
ZD
37362004-09-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3737
3738 * cfgloop.h (update_single_exits_after_duplication): Declare.
3739 (loopify, split_loop_bb): Declaration changed.
3740 * cfgloopmanip.c (split_loop_bb): Take void * as an argument instead
3741 of rtx.
3742 (loopify): Added redirect_all_edges argument.
3743 (update_single_exits_after_duplication): Export.
3744 * loop-unswitch.c (unswitch_loop): Changed due to loopify change.
3745 * tree-flow.h (tree_duplicate_loop_to_header_edge,
3746 tree_ssa_loop_version): Declare.
3747 * tree-ssa-loop-manip.c (copy_phi_node_args, rename_variables,
3748 set_phi_def_stmts, tree_duplicate_loop_to_header_edge,
3749 lv_adjust_loop_header_phi, lv_adjust_loop_entry_edge,
3750 lv_update_pending_stmts, tree_ssa_loop_version): New functions.
3751
3752 * tree-ssa-loop-unswitch.c: New file.
3753 * Makefile.in (tree-ssa-loop-unswitch.o): Add.
3754 * timevar.def (TV_TREE_LOOP_UNSWITCH): New timevar.
3755 * tree-flow.h (tree_ssa_unswitch_loops): Declare.
3756 * tree-optimize.c (init_tree_optimization_passes): Add pass_unswitch.
3757 * tree-pass.h (pass_unswitch): Declare.
3758 * tree-ssa-loop.c (tree_ssa_loop_unswitch,
3759 gate_tree_ssa_loop_unswitch, pass_unswitch): New pass.
3760 * doc/passes.texi: Documen tree level loop unswitching.
3761
d7e9e62a
KH
37622004-09-23 Kazu Hirata <kazu@cs.umass.edu>
3763
3764 * cfgexpand.c, config/s390/tpf-eh.c: Fix comment typos.
3765
d3147f64
EC
37662004-09-22 Eric Christopher <echristo@redhat.com>
3767
3768 * builtins.c (simplify_builtin_va_start): Remove.
3769 (simplify_builtin): Ditto.
3770 (fold_builtin_strchr): Ditto.
3771 (simplify_builtin_*): Rename remainders to fold_builtin_*.
3772 (expand_builtin): Fix up for above changes.
3773 (fold_builtin_1): Add new folders. Change for above.
3774 (expand_builtin_va_start): Call fold_builtin_next_arg.
3775 * gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
3776 * tree.h: Remove prototype for simplify_builtin.
3777
e53de54d
JH
37782004-09-23 Jan Hubicka <jh@suse.cz>
3779
60108d34
JH
3780 PR debug/17389
3781 * dwarf2out.c (dwarf2out_finish): Deal with nested functions
3782 of fully inlined functions.
3783 * tree-inline.c (inline_forbidden_p_1): Nested functions can be
3784 inlined.
3785
e53de54d
JH
3786 * cfgexpand.c (add_reg_br_prob_note): New function.
3787 (expand_gimple_cond_expr): Use it.
3788 (tree_expand_cfg): No longer kill the profile.
3789 * cfgrt.c (rtl_verify_flow_info_1): Check profile consistency
3790 only if it is present.
3791 * passes.c (rest_of_handle_loop_optimize): Kill the profile.
3792 * predict.c (combine_predictions_for_insn): Set the probabilities
3793 based on REG_BR_PROB note if present.
3794 * predict.c (branch_prob): Profile is read only with
3795 flag_branch_probabilities.
3796
dfb77e37
KC
37972004-09-22 Kelley Cook <kcook@gcc.gnu.org>
3798
3799 * aclocal.m4: Add in gettext's m4 includes.
3800 (AC_ICONV, AC_LCMESSAGES, GCC_PATH_PROG): Remove.
a9db2a29 3801 * configure.ac: Add in check for iconv.h
dfb77e37 3802 * configure: Regenerate.
d3147f64 3803
88fa57d7
KC
38042004-09-22 Kelley Cook <kcook@gcc.gnu.org>
3805
3806 * aclocal.m4: Update for rename of gettext-sister.m4.
3807
8eee3528
DB
38082004-09-22 Daniel Berlin <dberlin@dberlin.org>
3809
3810 Fix PR tree-optimization/17587
3811 * tree-ssa-pre.c (fini_pre): Commit edge inserts here.
3812 (insert_aux): Instead of here.
3813
c04f07f4
DN
38142004-09-22 Diego Novillo <dnovillo@redhat.com>
3815
3816 PR tree-optimization/16721
3817 * tree-dfa.c (dump_variable): Show TREE_THIS_VOLATILE.
3818 * tree-ssa-alias.c (create_memory_tag): Move setting of
3819 TREE_THIS_VOLATILE ...
3820 (get_tmt_for): ... here.
3821
ba652ba9
EB
38222004-09-22 Eric Botcazou <ebotcazou@libertysurf.fr>
3823
3824 * config/sparc/sparc.md (cmove splitter): Fix formatting.
3825 (conditional_trap expander): Reject inappropriate CCmodes.
8db6bcda 3826 (conditional trap insn): Use V9 syntax if possible.
ba652ba9 3827
588d1952
JM
38282004-09-22 Joseph S. Myers <jsm@polyomino.org.uk>
3829
3830 PR c/16566
3831 * c-typeck.c (build_component_ref): Don't special-case
3832 COMPOUND_EXPR.
3833
08fb229e
FCE
38342004-09-22 Frank Ch. Eigler <fche@redhat.com>
3835
3836 * dominance.c (verify_dominators): Don't SEGV if recount_dominator
3837 returns NULL.
3838
9b270cce
KH
38392004-09-22 Kazu Hirata <kazu@cs.umass.edu>
3840
3841 * doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR,
3842 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
3843 TRUTH_XOR_EXPR): Mention the restriction on types.
3844
8739ed59
MA
38452004-09-22 Matt Austern <austern@apple.com>
3846
8921359e 3847 * config/darwin.c (darwin_make_decl_one_only):
8739ed59 3848 Allow coalesced symbol to appear in static archive's table of contents
d3147f64 3849
a338ab5a
KH
38502004-09-22 Kazu Hirata <kazu@cs.umass.edu>
3851
3852 PR tree-optimization/17512
3853 * convert.c (convert_to_integer): Don't handle TRUTH_*_EXPR as
3854 special cases.
3855
39cf49a1
DE
38562004-09-22 David Edelsohn <edelsohn@gnu.org>
3857
3858 * dbxout.c (get_lang_number): Do not define if
3859 DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined.
3860
d1c343cb
RC
38612004-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3862
1afd063a 3863 PR target/15583
d1c343cb
RC
3864 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
3865 builtin_define ("__USE_INIT_FINI__").
3866
4798630c
D
38672004-09-22 P.J. Darcy <darcypj@us.ibm.com>
3868
3869 * config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
3870 * config/s390/s390.c (s390_emit_tpf_eh_return): New function.
3871 * config/s390/s390.h (TARGET_TPF): New macro.
3872 * config/s390/s390.md ("eh_return"): New expander.
3873 * config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than
3874 unwind-dw2-fde-glibc.c. Add config/s390/tpf-eh.c.
3875 (LIB2ADDEHDEP): Remove unwind-dw2-fde.c.
3876 * config/s390/tpf.h (TARGET_TPF): Define to 1.
3877 (STACK_POINTER_OFFSET): Increase to 448.
3878 (TARGET_DEFAULT): Set -mtpf-trace on as default.
3879 (TPF_LOC_DIFF_OFFSET): New macro.
3880 (ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute
3881 encoding.
3882 (__isPATrange): Add prototype.
3883 (MD_FALLBACK_FRAME_STATE_FOR): Define.
3884 * config/s390/tpf-eh.c: New file.
3885
6a97296a
DN
38862004-09-22 Diego Novillo <dnovillo@redhat.com>
3887
3888 * fold-const.c (fold): Avoid non INTEGER_TYPEs when widening
3889 operands in an integer comparison.
3890 * tree-cfg.c (find_taken_edge): Call fold() to determine
3891 whether the predicate is known.
3892
3b620440
KC
38932004-09-22 Kelley Cook <kcook@gcc.gnu.org>
3894
3895 * aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
3896 * configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O.
3897 Create build and doc directories along with the language directories.
3898 Don't create doc directory separately.
3899 * configure: Regenerate.
3900 * Makefile.in: Create all object and executables files built
3901 with the build compiler in a build/ directory.
3902 (genobjnames): Add missing build objects.
3903 (STAGESTUFF): Don't stage the gen* programs.
3904 (ggc-none.o): Define dependencies for the target compiler.
3905 (build-print-rtl.o): Rename to build/print-rtl.o.
3906 (build-errors.o): Rename to build/errors.o.
3907 (build-varray.o): Rename to build/varray.o.
3908 (maintainerclean): Delete the contents of the build directory.
3909 ($(genobjs): %.o): Explicitly use -o.
3910 (build/insn-conditions.o): Delete specfic rule to use generic rule.
3911 (build/gengtype-lex.o): Likewise.
3912 (build/gengtype-yacc.o): Likewise.
3913 (build/gcov-iov.o): Likewise.
3914
0e64e323
NS
39152004-09-22 Nathan Sidwell <nathan@codesourcery.com>
3916
3917 * vec.h (VEC_space): Return true if there _is_ space.
3918 (VEC_reserve): Adjust.
3919
e1aeeae9
RS
39202004-09-22 Richard Sandiford <rsandifo@redhat.com>
3921
3922 * config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
3923 use FPRs for scalar, complex and vector types only.
3924
195da47b
JL
39252004-09-21 Jeff Law <law@redhat.com>
3926
23530866
JL
3927 * tree-ssa-dom.c (opt_stats): Move so that it lives just after
3928 the opt_stats_d structure.
3929 (vrp_data): Change from a varray into a hash table.
3930 (vrp_hash_elt): New structure for elements in the vrp hash table.
3931 (vrp_hash, vrp_eq):New functions for hashing and testing equality
3932 in the vrp hash table.
3933 (tree_ssa_dominator_optimize): Initialize VRP_DATA. Reorganize
3934 initialization slightly to make it easier to read. No longer need
3935 to grow/clear the varray. Instead empty and delete the hash table.
3936 (dom_opt_finalize_block): Update due to change of VRP_DATA from
3937 a varray to a hash table.
3938 (simplify_cond_and_loop_avail_expr, record_range): Similarly.
3939
195da47b
JL
3940 * tree-ssa-ccp.c (get_default_value): If we have a constant
3941 value recorded for an SSA_NAME, then use that constant as
3942 the initial lattice value.
3943 (substitute_and_fold): Transfer equivalences discovered into
3944 SSA_NAME_EQUIV.
d3147f64 3945
195da47b
JL
3946 * tree.h (SSA_NAME_EQUIV): Add comments.
3947 (SET_SSA_NAME_EQUIV): Similarly.
3948
0a4f0294
DE
39492004-09-21 David Edelsohn <edelsohn@gnu.org>
3950
3951 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.
3952
3953 * config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used.
3954
1ae57298
MM
39552004-09-21 Mark Mitchell <mark@codesourcery.com>
3956
3957 * c-decl.c (implicityl_declare): Call maybe_apply_renaming_pragma.
3958 (finish_decl): Likewise.
3959
ad9f20cb
DP
39602004-09-21 Devang Patel <dpatel@apple.com>
3961
3962 * tree.def (VEC_COND_EXPR): New tree node.
3963 * tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
d3147f64 3964
76419821
SS
39652004-09-21 Stan Shebs <shebs@apple.com>
3966
3967 * config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
3968 * config/rs6000/darwin-world.asm: Likewise.
d3147f64 3969
7bab95ba
DB
39702004-09-21 Daniel Berlin <dberlin@dberlin.org>
3971
3972 * tree-ssa.c (verify_def): Use print_generic_stmt,
3973 not debug_generic_stmt.
3974 (verify_use): Ditto.
3975 (verify_phi_args): Ditto.
3976 (verify_ssa): Ditto.
3977
a13fd905
PB
39782004-09-21 Paul Brook <paul@codesourcery.com>
3979
3980 * varasm.c (default_assemble_integer): Return false for values wider
3981 than the target word size. Works around GAS bug.
3982
52c5701b
ZW
39832004-09-21 Zack Weinberg <zack@codesourcery.com>
3984
3985 * reg-notes.def (REG_DEP_TRUE): New entry, place first so it
3986 gets value 0.
3987 * print-rtl.c (print_rtx): Print the name of a REG_NOTE even
3988 if it has value 0.
3989
f0c721ad 39902004-09-21 Daniel Berlin <dberlin@dberlin.org>
52c5701b 3991
f0c721ad
DB
3992 * c-typeck.c (build_function_call): Give name of object
3993 we are attempting to call in error message.
3994 * c-objc-common.c (c_tree_printer): Call pp_expression,
3995 not return false, for 'E' case.
3996
c93320c4
SB
39972004-09-21 Steven Bosscher <stevenb@suse.de>
3998
3999 PR rtl-optimization/17482
4000 * postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
4001 load_killed_in_block_p): Clarify comments.
4002 (record_last_reg_set_info): Make static inline.
4003 (mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
4004 (record_opr_changes): New function to replace the above.
4005 (compute_hash_table): Clarify comments. Use record_opr_changes.
4006 (reg_set_between_after_reload_p): Clean up.
4007 (reg_used_between_after_reload_p): Likewise.
4008 (eliminate_partially_redundant_load): Clarify comments.
4009
15ee342b
EB
40102004-09-21 Eric Botcazou <ebotcazou@libertysurf.fr>
4011
4012 PR rtl-optimization/17266
4013 * regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.
4014
79b82df3
UB
40152004-09-21 Uros Bizjak <uros@kss-loka.si>
4016
4017 PR rtl-optimization/14851
4018 * rtlanal.c (commutative_operand_precedence): Calculate
4019 precedence of stripped constant.
4020
6f2aec07 40212004-09-20 Jeff Law <law@redhat.com>
52c5701b 4022 Jan Hubicka <jh@suse.cz>
6f2aec07
JL
4023
4024 * tree-ssanames.c (make_ssa_name): No longer need to clear, then
4025 initialize key elements here.
4026 (release_ssa_name): Zero the released SSA_NAME here.
4027 * tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
4028 (struct tree_ssa_name): Add new "equiv" field.
4029 * tree-ssa-dom.c (const_and_copies): Kill the global varray.
4030 (tree_ssa_dominator_optimize): No longer allocate, resize or
4031 clear CONST_AND_COPIES.
4032 (get_value_for, set_value_for): Kill.
4033 (thread_across_edge): Get/set the equivalency using
4034 SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
4035 (restore_vars_to_original_value): Likewise.
4036 (record_equivalences_from_phis): Likewise.
4037 (record_dominating_conditions): Likewise.
4038 (record_const_or_copy, record_equality): Likewise.
4039 (lookup_avail_expr): Likewise.
4040 (record_equivalences_from_stmt, cprop_operand): Likewise.
4041 (cprop_into_successor_phis): No longer need to pass around
4042 CONST_AND_COPIES. Callers updated. Get equivalences via
4043 SSA_NAME_EQUIV.
4044 (cprop_into_phis): Likewise.
4045
c162c75e
MA
40462004-09-20 Matt Austern <austern@apple.com>
4047 Zack Weinberg <zack@codesourcery.com>
4048
4049 * c-common.c (fix_string_type): Build the unqualified array
4050 type unconditionally, then use c_build_qualified_type to get
4051 the proper const-qualified variant, and set its
4052 TYPE_MAIN_VARIANT to refer to the unqualified type.
4053 * c-lex.c (c_lex_return_raw_string): New global.
4054 (c_lex_with_flags): Honor it.
4055 * c-pragma.h: Declare it.
4056
5cfa8766
DB
40572004-09-20 Daniel Berlin <dberlin@dberlin.org>
4058
4059 * Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
4060
d21bede3
JH
40612004-09-21 Jan Hubicka <jh@suse.cz>
4062
4063 PR middle-end/17126
4064 * tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
4065 (tree_rest_of_compilation): Cleanup.
4066
37337e55
UW
40672004-09-20 Ulrich Weigand <uweigand@de.ibm.com>
4068
4069 * config/s390/s390.c (s390_select_rtx_section): Remove.
4070 (TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.
4071
455786b6
KK
40722004-09-20 Kaz Kojima <kkojima@gcc.gnu.org>
4073
4074 * config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
4075 note to pretend a direct save from the original register when an
4076 intermediate register is used for the save.
4077
2c82eecc
KG
40782004-09-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4079
4080 * tsystem.h (alloca): Provide a default definition.
4081
4082 Revert:
4083 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4084 * unwind-dw2.c: Call __builtin_alloca, not alloca.
4085
b1940f0c
AP
40862004-09-20 Andrew Pinski <pinskia@physics.uc.edu>
4087
4088 PR tree-opt/17558
4089 * tree-ssa-copy.c (may_propagate_copy): Only allow if the
4090 aliasing sets are the same rather than just conflicting.
4091
8f235343
JH
40922004-09-20 Jan Hubicka <jh@suse.cz>
4093
4094 PR middle-end/16460
4095
4096 * cgraph.c (cgraph_unnest_node): New function.
4097 (c_finalize): Rename to ....
4098 (c_warn_unused_result_recursivly): ... this one; do only the warning
4099 (finish_function): Finalize the toplevel function; do not lower nested tree.
4100 * cgraph.h (cgraph_unnest_node): Declare.
4101 * cgraphunit.c (decide_is_function_needed): Do not use cgraph
4102 nestedness datastructure.
4103 * cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
4104 * reload1.c (set_label_offsets): Fix call of set_label_offsets.
4105 * tree-nested.c (finlize_nesting_tree_1): Use un-nesting code.
4106
04161e2b
RH
41072004-09-20 Richard Henderson <rth@redhat.com>
4108
4109 * config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
4110 from some_small_symbolic_operand_1; export.
4111 (some_small_symbolic_operand): Remove.
4112 * config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
4113 extra C check.
4114 * config/alpha/predicates.md (some_small_symbolic_operand): New.
4115
bb033fd8
JH
41162004-09-20 Jan Hubicka <jh@suse.cz>
4117
4118 * predict.c (return_prediction): New function.
4119 (apply_return_prediction): Likewise.
4120 (tree_bb_level_predictions): Likewise.
4121 (tree_estimate_probability): Add noreturn exit edges; call
4122 bb_level_predictions; fix logic of return heuristics.
4123 (predict_paths_leading_to): Rescuesce from old CVS version of
4124 process_note_prediction function.
4125 * predict.def (PRED_TREE_EARLY_RETURN): New predictor.
4126
ea506297
AK
41272004-09-20 Andreas Krebbel <krebbel1@de.ibm.com>
4128
4129 * config/s390/s390.c (s390_frame_info): Added alignment statement for
4130 floating point register area on stack.
4131
096759eb
JJ
41322004-09-20 Jakub Jelinek <jakub@redhat.com>
4133
4134 * predict.c (expr_expected_value): Use *_CLASS_P macros.
4135
d6fd4b8d
DB
41362004-09-20 Daniel Berlin <dberlin@dberlin.org>
4137
c162c75e 4138 * tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
d6fd4b8d
DB
4139 generating useless garbage.
4140
c2dda19b
PB
41412004-09-20 Paolo Bonzini <bonzini@gnu.org>
4142
4143 * builtins.c (fold_builtin): Call the new omonymous
4144 target hook for machine-dependent built-ins.
4145 * target-def.h (TARGET_FOLD_BUILTIN): New.
4146 * target.h (struct gcc_target): Add the fold_builtin hook.
4147 * targhooks.c (default_fold_builtin): New.
4148 * targhooks.h (default_fold_builtin): Declare it.
4149
d4a9b3a3
KH
41502004-09-20 Kazu Hirata <kazu@cs.umass.edu>
4151
4152 * cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
4153 comment typos.
4154
073cbad3
RS
41552004-09-20 Richard Sandiford <rsandifo@redhat.com>
4156
4157 PR target/17565
4158 * config/mips/mips.md (define_asm_attributes): Set can_delay to no.
4159
58016611
JH
41602004-09-20 Jan Hubicka <jh@suse.cz>
4161
4162 * predict.c (estimate_probability): Remove unnecesary code.
4163
6775f1f3
IR
41642004-09-19 Ira Rosen <irar@il.ibm.com>
4165
4166 * tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.
4167 (STMT_VINFO_VECT_DR_BASE): Declare.
4168 (VECT_SMODULO): Declare.
4169 * tree-vectorizer.c (vect_compute_array_ref_alignment): New function.
4170 (vect_compute_array_base_alignment): New function.
4171 (vect_analyze_data_ref_access): Check array indices. Remove one
4172 dimensional arrays restriction.
4173 (vect_get_ptr_offset): New function.
4174 (vect_get_symbl_and_dr): New function.
4175 (vect_get_base_and_bit_offset): Support additional data refs. Renamed
4176 (former name vect_get_base_decl_and_bit_offset).
4177 (vect_create_index_for_array_ref): Removed.
4178 (vect_create_index_for_vector_ref): New function.
4179 (vect_create_addr_base_for_vector_ref): New function.
4180 (vect_create_data_ref): Handle additional data refs. Call
4181 vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref.
4182 (vect_compute_data_ref_alignment): Support the changes. Call
4183 vect_get_base_and_bit_offset.
4184 (vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional
4185 data refs. Store vect_dr_base.
4186 (vect_analyze_data_ref_accesses): Support nonconstant init.
4187 (new_stmt_vec_info): Initialize vect_dr_base field.
4188 (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
4189 (get_vectype_for_scalar_type): Check for BLKmode.
4190 * tree-chrec.h (initial_condition_in_loop_num): Declare.
4191 * tree-chrec.c (initial_condition_in_loop_num): New function.
4192 (chrec_component_in_loop_num): New function.
4193 (evolution_part_in_loop_num): Call chrec_component_in_loop_num.
4194 * tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns)
4195 to be pointer to varray_type.
4196
15db5571
JH
41972004-09-19 Jan Hubicka <jh@suse.cz>
4198
4199 * basic-block.h (update_bb_profile_after_threading): Declare.
4200 * cfg.c (update_bb_profile_after_threading): Break out from ...
4201 * cfgcleanup.c (try_forward_edges): ... here; use it.
4202 * tree-ssa-dom.c (thread_across_edge): Use it.
4203 * tree-ssa-threadupdate.c (create_block_for_threading): Zero out
4204 profile of the new BB.
4205
97141338
DB
42062004-09-19 Daniel Berlin <dberlin@dberlin.org>
4207
4208 * tree-ssa-pre.c (insert_into_set): Don't put
4209 is_gimple_min_invariant values into the set.
4210
76fd4fd7
AJ
42112004-09-19 Andreas Jaeger <aj@suse.de>
4212
4213 * tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix
4214 prototype.
4215
938688cd
KH
42162004-09-18 Kazu Hirata <kazu@cs.umass.edu>
4217
4218 * config/cris/cris.h: Preserve the original spelling in a
4219 quote.
4220
fdabe5c2
JL
42212004-09-18 Jeff Law <law@redhat.com>
4222
4223 * tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New
4224 global varrays to replace the block local varrays.
4225 (struct dom_walk_block_data): Remove, no longer used.
4226 (get_eq_expr_value): No longer need to pass around pointers to local
4227 varrays. Callers updated. Unused markers added to unused parameters.
4228 (record_range, record_equivalences_from_stmt): Likewise.
4229 (record_equivalences_from_incoming_edge): Likewise.
4230 (record_var_is_nonzero): Likewise. Update now that we have a
4231 single global varray of SSA_NAMEs that need restoring.
4232 (dom_opt_initialize_block_local_data): Kill, no longer used.
4233 (tree_ssa_dominator_optimize): Initialize new global varrays.
4234 Update callbacks in dominator walker structure.
4235 (dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and
4236 VRP_VARIABLES_STACK.
4237 (restore_nonzero_vars_to_original_value): Update now that we have
4238 a single global varray of SSA_NAMEs that need restoring.
4239 (dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK.
4240 Remove unused variables.
4241 (optimize_stmt): Remove unused variable.
4242
0eac5feb
JH
42432004-09-18 Jan Hubicka <jh@suse.cz>
4244
4d539f68
JH
4245 * tree-cfg.c (thread_jumps): Fix updating of the profile.
4246
0eac5feb
JH
4247 * tree-optimize.c (tree_rest_of_compilation): Kill forgotten
4248 verify_cgraph call.
4249
454ff5cb
KH
42502004-09-18 Kazu Hirata <kazu@cs.umass.edu>
4251
4252 * alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c,
4253 gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c,
4254 optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c,
4255 tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c,
4256 tree-ssa-operands.c, tree-ssa-phiopt.c,
4257 tree-ssa-threadupdate.c: Fix comment typos.
4258
112cdef5
KH
42592004-09-18 Kazu Hirata <kazu@cs.umass.edu>
4260
4261 * config/darwin-c.c, config/arc/arc.c, config/arc/arc.md,
4262 config/arm/README-interworking, config/arm/arm-cores.def,
4263 config/arm/arm.c, config/arm/arm.h, config/arm/pe.c,
4264 config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h,
4265 config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c,
4266 config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c,
4267 config/frv/frv.md, config/i386/winnt.c,
4268 config/ia64/unwind-ia64.c, config/iq2000/iq2000.c,
4269 config/iq2000/iq2000.h, config/m68hc11/m68hc11.c,
4270 config/m68hc11/m68hc11.md, config/m68k/m68k.c,
4271 config/mcore/mcore.c, config/mips/mips.h,
4272 config/mn10300/mn10300.md, config/pa/pa.c,
4273 config/pa/pa64-regs.h, config/pdp11/pdp11.c,
4274 config/rs6000/rs6000.c, config/sh/symbian.c,
4275 config/sparc/sparc.h: Fix comment typos. Follow spelling
4276 conventions.
4277
ad97f4be
JM
42782004-09-18 Joseph S. Myers <jsm@polyomino.org.uk>
4279
4280 PR c/17424
4281 * c-typeck.c (c_expr_sizeof_expr): Check for error_mark_node.
4282
57e28d7d
DN
42832004-09-18 Diego Novillo <dnovillo@redhat.com>
4284
4285 * tree-ssa-alias.c (setup_pointers_and_addressables): Don't
4286 remove TREE_ADDRESSABLE from RESULT_DECL.
4287
d804d490
DN
42882004-09-18 Diego Novillo <dnovillo@redhat.com>
4289
4290 * tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs.
4291
8b547e44
JH
42922004-09-18 Jan Hubicka <jh@suse.cz>
4293
4294 * tree-into-ssa.c (rewrite_ssa_into_ssa): Expect ssa_name to return
4295 NULL.
4296 * tree-ssa-alias.c (init_alias_info): Likewise.
4297 * tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
4298 (verify_ssa): Likewise.
4299 * tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.
4300
b8771ace
JH
43012004-09-18 Jan Hubicka <jh@suse.cz>
4302
4303 * i386.c (legitimize_pic_address): Fix splitting of PLUS with
4304 huge offset.
4305
f4966f8c
KK
43062004-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
4307
4308 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
4309 * config/sh/sh.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
4310 DW_EH_PE_sdata* for data.
4311 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
4312
a396f8ae
GK
43132004-09-17 Geoffrey Keating <geoffk@apple.com>
4314
4315 * tree-inline.c (copy_tree_r): Don't duplicate constants, they're
4316 shared anyway.
4317
4318 PR pch/13361
4319 * c-typeck.c (constructor_asmspec): Delete.
4320 (struct initializer_stack): Delete field 'asmspec'.
4321 (start_init): Delete saving of asmspec.
4322 (finish_init): Don't update constructor_asmspec.
4323 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
4324 * stmt.c (expand_asm): Duplicate strings from tree.
4325 (expand_asm_operands): Likewise.
4326 * tree.c (tree_size): Update computation of size of STRING_CST.
4327 (make_node): Don't make STRING_CST nodes.
4328 (build_string): Allocate string with tree node.
4329 (tree_code_size): Clean up assertions, don't allow requests
4330 for "the size of a STRING_CST".
4331 * tree.def (STRING_CST): Update comment.
4332 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
4333 (tree_string): Place contents of string in tree node.
4334 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
4335 from tree.
4336
9aa44508
ZW
43372004-09-17 Zack Weinberg <zack@codesourcery.com>
4338
4339 * Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H).
4340 * objc/Make-lang.in (objc/objc-parse.o): Likewise.
4341
bf3b7cd3
JD
43422004-09-17 Jones Desougi <jones@ingate.com>
4343
4344 * configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
4345 * configure, config.in: Regenerate.
4346
b85e3643
ZW
43472004-09-17 Zack Weinberg <zack@codesourcery.com>
4348
4349 * tree.c, tree.h (tree_class_strings): Make array const.
4350 Reindent per coding convention. Move asterisk to proper place
4351 per coding convention.
4352
6e336333
AS
43532004-09-18 Andreas Schwab <schwab@suse.de>
4354
4355 * Makefile.in (gimple-low.o): Depend on $(EXPR_H).
4356 (tree-vectorizer.o): Likewise.
4357 (targhooks.o): Likewise.
4358
6615c446
JO
43592004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
4360 Zack Weinberg <zack@codesourcery.com>
4361
4362 * alias.c (find_base_decl): Remove unreachable case '3' block.
4363 * expr.c (safe_from_p): Abort if passed a type.
4364 * tree-gimple.c (recalculate_side_effects): Abort if passed
4365 anything other than an expression.
4366 * tree-ssa-pre.c (phi_translate): Return expr immediately if
4367 is_gimple_min_invariant is true for it. Reorder cases for clarity.
4368 Abort on un-handled tree classes.
4369 (valid_in_set): Likewise.
4370 * tree.c (tree_code_class_strings): New static data.
4371
4372 * tree.h (enum tree_code_class): New.
4373 (tree_code_class_strings): Declare.
4374 (TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
4375 (REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
4376 (STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
4377 (TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
4378 (checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
4379
4380 * tree.def, c-common.def, objc/objc-tree.def: Use
4381 tree_code_class enumeration constants instead of code letters.
4382
4383 * alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
4384 * c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
4385 * emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
4386 * langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
4387 * tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
4388 * tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
4389 * tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
4390 * tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
4391 * tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
4392 * tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
4393 * tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
4394 * config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
4395 * config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
4396 Update to match.
4397
4398 * LANGUAGES: Add note about change.
4399
823f0809
DN
44002004-09-17 Diego Novillo <dnovillo@redhat.com>
4401
4402 PR tree-optimization/17319
4403 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Also
4404 examine pointers on the LHS of an assignment.
4405 (collect_points_to_info_r): Handle RETURN_EXPR.
4406
b5fefcf6
JL
44072004-09-17 Jeff Law <law@redhat.com>
4408
4409 * tree-ssa-dom.c (const_and_copies_stack): New.
4410 (dom_walk_block_data): Remove const_and_copies field.
4411 (record_const_or_copy): No longer need to pass in varray_type *.
4412 Use CONST_AND_COPIES_STACK rather than passed in block local stack.
4413 Callers updated.
4414 (record_equality): Similarly.
4415 (restore_vars_to_original_value): Similarly. Revamp to use new
4416 single global stack rather than per-block stacks.
4417 (tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK.
4418 (thread_across_edge): Remove now unused parameters.
4419 (dom_opt_initialize_block_local_data): No longer test the block
4420 local CONST_AND_COPIES.
4421 (dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK.
4422
2c459e74
JH
44232004-09-17 Jan Hubicka <jh@suse.cz>
4424
4425 PR tree-optimization/17509
4426 * tree-optimize.c (update_inlined_to_pointers): New function.
4427 (tree_rest_of_compilation): Use it.
4428
0456cbf6
DP
44292004-09-17 Devang Patel <dpatel@apple.com>
4430
4431 * dbxout.c (get_lang_number): New.
4432 (dbxout_init): Include lang number in N_SO stab.
4433 * dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
4434 N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.
6615c446 4435
7eae8eb2
DN
44362004-09-17 Diego Novillo <dnovillo@redhat.com>
4437
4438 PR tree-optimization/17273
4439 * tree-ssa.c (replace_immediate_uses): Call fold_stmt if the
4440 replacement is a constant.
4441
98c3a782
JM
44422004-09-17 Joseph S. Myers <jsm@polyomino.org.uk>
4443
4444 * c-tree.h (enum c_typespec_keyword): New.
4445 (struct c_declspecs): Adjust description of "type". Remove
4446 specbits, explicit_int_p and explicit_char_p. Rename
4447 typedef_signed_p to explicit_signed_p. Add default_int_p, long_p,
4448 short_p, signed_p, unsigned_p and complex_p.
4449 (finish_declspecs): New.
4450 * c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
4451 typename): Call finish_declspecs.
4452 * c-decl.c (finish_declspecs): New.
4453 (declspecs_add_type): Check for combinations which cannot occur in
4454 valid specifier lists. Update comments.
4455 (shadow_tag_warned): Remove checks done in finish_declspecs.
4456 Don't report useless type name if type defaulted to int.
4457 (grokdeclarator): Remove checks and actions done in
4458 finish_declspecs. Don't allow for type being NULL. Update for
4459 datastructures changes. Initialize decl_attr.
4460 (build_null_declspecs, quals_from_declspecs): Update for
4461 datastructures changes.
4462
254ea84c
SP
44632004-09-17 Sylvain Pion <Sylvain.Pion@sophia.inria.fr>
4464
6615c446 4465 * doc/extend.texi: Fix duplicated word.
254ea84c 4466
fa151acf
TM
44672004-09-17 Toon Moene <toon@moene.indiv.nluug.nl>
4468
4469 * doc/invoke.texi: Remove stray explanation on
4470 -freduce-all-givs and -fmove-all-movables.
4471
cd1a8088
JM
44722004-09-17 James Morrison <phython@gcc.gnu.org>
4473
4474 * doc/cfg.texi: Use @smallexample.
4475 * doc/md.texi: Likewise.
4476 * doc/tree-ssa.texi: Likewise.
4477 * doc/extend.texi: Likewise. Use @r{} in comments.
4478 * doc/trouble.texi: Use @r{} in comments.
4479
58ea87a9
HPN
44802004-09-17 Hans-Peter Nilsson <hp@bitrange.com>
4481
4482 * configure.ac (gcc_cv_gld_version): Handle whitespace before
4483 "VERSION=".
4484 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto.
4485 * configure: Regenerate.
4486
788bb47d
JR
44872004-09-17 J"orn Rennecke <joern.rennecke@superh.com>
4488
4489 * sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
4490 (sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug.
4491 * t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g .
4492 * t-sh64 (MULTILIB_CPU_DIRS): Likewise. Match dashes and trailing
4493 slashes in substitutions.
4494 (MULTILIB_DIRNAMES): Remove defunct removal of /media32.
4495
b01d837f
KH
44962004-09-17 Kazu Hirata <kazu@cs.umass.edu>
4497
4498 * basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
4499 gimplify.c, lambda-code.c, optabs.c, predict.c,
4500 tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
4501 tree-ssa.c, vec.h: Fix comment typos. Follow spelling
4502 conventions.
4503
4ec7afd7
KH
45042004-09-17 Kazu Hirata <kazu@cs.umass.edu>
4505
4506 * doc/compat.texi, doc/cpp.texi, doc/cppopts.texi,
4507 doc/extend.texi, doc/install.texi, doc/invoke.texi,
4508 doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi,
4509 doc/trouble.texi: Use @option around options.
4510
6eab2bc3
RS
45112004-09-17 Richard Sandiford <rsandifo@redhat.com>
4512
4513 * Makefile.in (gen-protos.o): Depend on errors.h.
4514
275a4187
SB
45152004-09-17 Steven Bosscher <stevenb@suse.de>
4516
6615c446 4517 PR tree-optimization/17513
275a4187
SB
4518 * cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE
4519 for successors of the entry block.
4520
b355f222
UB
45212004-09-17 Uros Bizjak <uros@kss-loka.si>
4522
4523 PR rtl-optimization/15187
4524 * ifcvt.c (noce_try_cmove_arith): Exit early if total
4525 insn_rtx_cost of both branches > BRANCH_COST
4526
7a116211
DN
45272004-09-16 Diego Novillo <dnovillo@redhat.com>
4528
4529 PR tree-optimization/17528
4530 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
4531 erase the may-alias set for a tag when merging it with
4532 another.
4533
e57450ce
KK
45342004-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
4535
4536 * config/sh/sh.md (call): Extend 32-bit addresses to DImode
4537 for 32-bit TARGET_SHMEDIA.
4538 (call_value): Likewise.
4539
1800536a
DN
45402004-09-16 Diego Novillo <dnovillo@redhat.com>
4541
4542 * tree-ssa-operands.c (add_call_clobber_ops): Make read-only
4543 test apply only to TREE_STATIC and DECL_EXTERNAL.
4544
42759f1e
ZD
45452004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4546
4547 * Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
4548 * basic-block.h (get_dominated_by_region): Declare.
4549 * dominance.c (get_dominated_by_region): New function.
4550 * tree-cfg.c: Include cfglayout.h.
4551 (tree_duplicate_bb): Duplicate also phi nodes.
4552 (struct ssa_name_map_entry): New type.
4553 (add_phi_args_after_copy_bb, add_phi_args_after_copy,
4554 ssa_name_map_entry_hash, ssa_name_map_entry_eq,
4555 allocate_ssa_names, rewrite_to_new_ssa_names_def,
4556 rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
4557 rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
4558 * tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
4559 add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
4560 rewrite_to_new_ssa_names, allocate_ssa_names,
4561 rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
4562 * tree-ssa-loop-ch.c (duplicate_blocks): Removed.
4563 (copy_loop_headers): Use tree_duplicate_sese_region.
4564
2731cf24
FCE
45652004-09-16 Frank Ch. Eigler <fche@redhat.com>
4566
4567 * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
4568
9fae925b
JL
45692004-09-16 Jeff Law <law@redhat.com>
4570
4571 * tree-into-ssa.c (block_defs_stack): New toplevel varray.
4572 (rewrite_block_data): Remove, no longer used.
4573 (rewrite_initialize_block_local_data): Remove, no longer used.
4574 (rewrite_initialize_block): Mark parameters as unused as needed.
4575 Change references to the block local block_defs to be block_defs_stack.
4576 Push a marker onto the block_defs_stack.
4577 (ssa_rewrite_initialize_block): Similarly.
4578 (rewrite_stmt, ssa_rewrite_stmt): Similarly.
4579 (ssa_register_new_def): No longer needs varray argument. Use
4580 block_defs_stack instead. No longer handle possibly null block_defs
4581 varray. Reverse order of items we push on the stack to make it
4582 easier to identify our marker.
4583 (register_new_def): No longer handle possibly null block_defs
4584 varray.
4585 (rewrite_finalize_block): Revamp to look for markers in the global
4586 block_defs_stack varray rather than wiping a block local varray.
4587 Mark arguments as unused as needed.
4588 (ssa_rewrite_finalize_block): Similarly.
4589 (rewrite_into_ssa): Update initialization of dom walker structure
4590 to reflect that we don't need block local data anymore. Initialize
4591 the block_defs_stack varray.
4592 (rewrite_ssa_into_ssa): Similarly.
4593 * tree-ssa-dom.c (block_defs_stack): New toplevel varray.
4594 (struct dom_walk_data): Kill block_defs field.
4595 (tree_ssa_dominator_optimize): Initialize block_defs_stack.
4596 (thread_across_edge): Use the global block_defs_stack instead of
4597 the old block_defs varray.
4598 (dom_opt_initialize_block_local_data): Update now that we don't have
4599 block_defs field to check anymore.
4600 (dom_opt_initialize_block): Push a marker onto block_defs_stack.
4601 (restore_currdefs_to_original_value): Use the new block_defs_stack
4602 instead of a block local varray.
4603 (dom_opt_finalize_block): Similarly.
4604 (record_equivalencs_from_phis): Similarly.
4605 (optimize_stmt, register_definitions_for_stmt): Similarly.
4606
49f48e9f
AM
46072004-09-16 Andrew MacLeod <amacleod@redhat.com>
4608
4609 PR tree-optimization/17517
6615c446 4610 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
49f48e9f
AM
4611 coalesce same-root variables without checking for abnormal PHI usage.
4612
f67d92e9 46132004-09-16 Daniel Berlin <dberlin@dberlin.org>
6615c446 4614
f67d92e9
DB
4615 * cfgloop.h (duplicate_loop): Add prototype.
4616 * cfgloopmanip.c (duplicate_loop): Make non-static.
4617 * lambda-code.c (perfect_nestify): Factor out test whether
4618 we can handle this loop into separate function.
4619 Call it.
4620 (can_convert_to_perfect_nest): New function.
4621 (replace_uses_of_x_with_y): Add modify_stmt call.
4622 * tree-loop-linear.c (linear_transform_loops): Call
4623 rewrite_into_loop_closed_ssa and free_df.
4624
46252004-09-16 Daniel Berlin <dberlin@dberlin.org>
4626
4627 * lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
4628 loop invariant as well.
4629 (perfect_nestify): new function.
4630 (gcc_loop_to_lambda_loop): New parameters to track lower bounds,
6615c446 4631 upper bounds, and steps.
f67d92e9
DB
4632 Set outerinductionvar properly.
4633 (gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
4634 parameters.
4635 Return NULL if we need a perfect loop and can't make one.
4636 (lambda_loopnest_to_gcc_loopnest): Correct algorithm.
4637 (not_interesting_stmt): New function.
4638 (phi_loop_edge_uses_def): Ditto.
4639 (stmt_uses_phi_result): Ditto.
4640 (stmt_is_bumper_for_loop): Ditto.
4641 (perfect_nest_p): Ditto.
4642 (nestify_update_pending_stmts): Ditto.
4643 (replace_uses_of_x_with_y): Ditto.
4644 (stmt_uses_op): Ditto.
4645 (perfect_nestify): Ditto.
4646 * lambda-mat.c (lambda_matrix_id_p): New function.
4647 * lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
4648 * lambda.h: Update prototypes.
4649 * tree-loop-linear (linear_transform_loop): Use new
4650 perfect_nest_p. Detect and ignore identity transform.
4651 * tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.
4652
46532004-09-16 Sebastian Pop <pop@cri.ensmp.fr>
4654
4655 * tree-loop-linear.c (gather_interchange_stats): Add more comments.
6615c446 4656 Gather also strides of accessed data. Pass in the data references
f67d92e9 4657 array.
6615c446 4658 (try_interchange_loops): Add a new heuristic for handling the temporal
f67d92e9
DB
4659 locality. Pass in the data references array.
4660 (linear_transform_loops): Pass the data references array to
4661 try_interchange_loops.
4662
83c99486
KH
46632004-09-16 Kazu Hirata <kazu@cs.umass.edu>
4664
4665 * doc/invoke.texi: Fix typos. Follow spelling conventions.
4666
4b30ad7e
NS
46672004-09-16 Nathan Sidwell <nathan@codesourcery.com>
4668
4669 * doc/c-tree.texi (Classes): Remove index entries for
4670 TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
4671
2f4675b4
ZD
46722004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4673
4674 * fold-const.c (fold): Fold difference of addresses.
4675 (ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
4676 get_inner_reference.
4677 * tree-ssa-loop-ivopts.c (peel_address): Removed.
4678 (ptr_difference_const): Moved to fold-const.c.
4679 (split_address_cost): Use get_inner_reference instead of peel_address.
4680 (ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
4681 * tree.h (ptr_difference_const): Export.
4682
4683 * tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
4684 variable type to the dump. Fix indentation.
4685 (idx_find_step): Handle nonconstant array_ref_element_size and
4686 array_ref_low_bound.
4687 (idx_record_use): Handle array_ref_element_size and
4688 array_ref_low_bound.
4689 (find_interesting_uses_stmt): Handle memory = nontrivial_expression
4690 statements correctly.
4691 (get_computation_at, iv_value): Do not unshare expressions here.
4692 (rewrite_use_outer): Unshare the expression before it is emitted
4693 to code.
4694 * tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
4695 Moved to tree.c.
4696 * tree.c (unsigned_type_for, signed_type_for): Moved from
4697 tree-ssa-loop-niter.c. Use langhooks.
4698 * tree.h (signed_type_for): Export.
4699
8210e4c4
DE
47002004-09-16 David Edelsohn <edelsohn@gnu.org>
4701
4702 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
4703 prototype.
4704
3dd53121
AP
47052004-09-15 Andrew Pinski <pinskia@physics.uc.edu>
4706
4707 PR target/11572
4708 * c-incpath.h (target_c_incpath_s): Add extra_pre_includes.
4709 Add two parameters to extra_includes.
4710 (C_INCPATH_INIT): Remove.
4711 * c-incpath.c (register_include_chains): Call extra_pre_includes
4712 before adding the standard include directory.
4713 Update call to extra_includes.
4714 (!defined TARGET_EXTRA_INCLUDES): Update
4715 hook_void_charptr_charptr_int and add !define
4716 TARGET_EXTRA_PRE_INCLUDES.
4717 (!define TARGET_EXTRA_INCLUDES): Define as
4718 hook_void_charptr_charptr_int.
4719 (!define TARGET_EXTRA_PRE_INCLUDES): Likewise.
4720 (target_c_incpath): Always declare.
4721 * fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a
4722 empty function.
4723 (define TARGET_EXTRA_PRE_INCLUDES): Likewise.
4724 * config/darwin.h: (darwin_register_frameworks): Update for
4725 the two new parameters.
4726 (darwin_register_objc_includes): Add prototype.
4727 (TARGET_EXTRA_PRE_INCLUDES): Define.
4728 * config/darwin-c.c (darwin_register_objc_includes): New function.
4729 (darwin_register_frameworks): Update for the two new parameters.
4730 (target_c_incpath): Remove.
4731 * config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to
4732 the compile line.
4733 * doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new
4734 parameters.
4735 (TARGET_EXTRA_PRE_INCLUDES): Document.
4736
4737 * gcc.c (spec_function): Add replace-outfile.
4738 (replace_outfile_spec_function): New function.
4739 * config/darwin.h (LINK_SPEC): Add replace
4740 -lobjc with -lobjc-gnu if -fgnu-runtime is
4741 supplied.
4742 * invoke.texi (replace-outfile): Document.
4743
42f97fd2
JH
47442004-09-13 Jan Hubicka <jh@suse.cz>
4745
4746 * predict.c (expr_expected_value, strip_builtin_expect): New function.
4747 (tree_predict_by_opcode): Use it.
4748 (tree_estimate_probability): Add, for now disabled,
4749 strip_builtin_expect call.
4750
097f3d48
JW
47512004-09-15 James E Wilson <wilson@specifixinc.com>
4752
4753 PR target/17455
4754 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
4755 if current_function_decl is a sibcall.
4756
04a75188
MM
47572004-09-15 Mark Mitchell <mark@codesourcery.com>
4758
4759 * varasm.c (default_function_rdodata_section): Make sure to pass
4760 along a decl for a link-once section.
4761
e776368b
RH
47622004-09-15 Richard Henderson <rth@redhat.com>
4763
4764 * tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
4765 warning with code disable. Fix formatting.
4766
c7f90219
SB
47672004-09-15 Steven Bosscher <stevenb@suse.de>
4768
4769 * Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
4770 * tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
6615c446 4771 after propagating into an ADDR_EXPR.
c7f90219 4772
2f021b67
AP
47732004-09-15 Andrew Pinski <apinski@apple.com>
4774
4775 PR rtl-opt/17427
4776 * gcse.c (process_insert_insn): insn_invalid_p has side effects.
4777 Move it out of gcc_assert.
4778
971801ff
JM
47792004-09-15 Joseph S. Myers <jsm@polyomino.org.uk>
4780
4781 * attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
4782 except.c, fold-const.c, function.c, langhooks.c, params.c,
4783 reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
4784 tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
4785 for quoting in diagnostics going through pretty-print.c. Use ''
4786 for quoting in other diagnostic text.
4787 * langhooks.c: Include intl.h. Mark text locating diagnostics for
4788 translation.
4789 * Makefile.in (langhooks.o): Update dependencies.
4790 * pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
4791 formats.
4792
c18a5b6c
MM
47932004-09-15 Mark Mitchell <mark@codesourcery.com>
4794
4795 * configure.ac: Check for COMDAT support. Robustify check for
4796 SHF_MERGE support.
4797 * configure: Regenerated.
4798 * config.in: Likewise.
4799 * langhooks-def.h (lhd_comdat_group): New function.
4800 (LANG_HOOKS_COMDAT_GROUP): New macro.
4801 (LANG_HOOKS_DECLS): Use it.
4802 * langhooks.c (lhd_comdat_group): Define.
4803 * langhooks.h (lang_hooks_for_decls): Add comdat_group.
4804 * output.h (named_section_flags): Make it a macro.
4805 (named_section_real): New function.
4806 (default_no_named_section): Add decl parameter.
4807 (default_elf_asm_named_section): Likewise.
4808 (default_coff_asm_named_section): Likewise.
4809 (default_pe_asm_named_section): Likewise.
4810 * target.h (gcc_target): Adjust type of named_section.
4811 * varasm.c (named_section_flags): Rename to named_section_real.
4812 Add decl parameter.
4813 (default_no_named_section): Add decl parameter.
4814 (default_elf_asm_named_section): Use COMDAT, if available. Deal
4815 with the case that ASM_COMMENT_START is "@".
4816 (default_coff_asm_named_section): Add decl parameter.
4817 (default_pe_asm_named_section): Likewise.
4818 * config/alpha/alpha.c (vms_asm_named_section): Add decl
4819 parameter.
4820 (unicosmk_asm_named_section): Likewise.
4821 * config/arm/arm.c (arm_elf_asm_named_section): Remove.
4822 * config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
4823 * config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
4824 * config/cris/cris-protos.h (cris_target_asm_named_section):
4825 Likewise.
4826 * config/cris/cris.c (cris_target_asm_named_section):
4827 Likewise.
4828 * config/darwin/darwin-protos.h (darwin_asm_named_section):
4829 Likewise.
4830 * config/darwin/darwin.c (darwin_asm_named_section): Likewise.
4831 * config/h8300/h8300.c (h8300_asm_named_section): Likewise.
4832 * config/i386/i386-protos.h (i386_pe_asm_named_section):
4833 Likewise.
4834 * config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
4835 * config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
4836 * config/mcore/mcore.c (mcore_asm_named_section): Likewise.
4837 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
4838 Likewise.
4839 * config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
4840 * cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define.
4841 * cp/cp-tree.h (cxx_comdat_group): Declare.
4842 * cp/decl.c (cxx_comdat_group): New function.
4843
fe7139ac
JH
48442004-09-15 Jan Hubicka <jh@suse.cz>
4845
87527e4b
JH
4846 * tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
4847 * tree-tailcall.c (eliminate_tail_call): Release SSA name.
4848
fe7139ac
JH
4849 * tree-cfg.c (remove_bb): Release SSA defs.
4850
1a141fe1
KH
48512004-09-15 Kazu Hirata <kazu@cs.umass.edu>
4852
4853 * doc/tm.texi: Follow spelling conventions.
4854
b3a27618
KH
48552004-09-15 Kazu Hirata <kazu@cs.umass.edu>
4856
4857 * tree-ssa-dom.c: Fix comment typos.
4858
43e7c6a4
AM
48592004-09-15 Alan Modra <amodra@bigpond.net.au>
4860
4861 * config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
4862 include ccr.
4863 (ppc_fallback_frame_state): Save location of CR.
4864
9a520f40
JJ
48652004-09-15 Jakub Jelinek <jakub@redhat.com>
4866
a45f71f5
JJ
4867 * expr.c (string_constant): Handle also read-only variables
4868 initialized to string literals.
4869
9a520f40
JJ
4870 * builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
4871 into memcpy (x, y, 1) if memcpy can be expanded inline.
4872
b1d16eff
ZD
48732004-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4874
4875 PR tree-optimization/17468
4876 * tree-ssa.c (verify_use, verify_phi_args, verify_ssa): Verify that
4877 definition inside a block precede uses.
4878 * tree-tailcall.c (adjust_return_value): Emit statements in the
4879 correct order.
4880
36579192
RS
48812004-09-15 Richard Sandiford <rsandifo@redhat.com>
4882
4883 * config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
4884
7c2f2b41
EB
48852004-09-15 Eric Botcazou <ebotcazou@libertysurf.fr>
4886
4887 * doc/install.texi (sparc-sun-solaris2*): Properly format warning.
4888
a5c965c1
JL
48892004-09-14 Jeff Law <law@redhat.com>
4890
48732f23
JL
4891 * tree-ssa-dom.c (avail_exprs_stack): New global varray.
4892 (struct dom_walk_block_data): Remove avail_exprs member.
4893 (tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
4894 (lookup_avail_expr): No longer need to pass in address of
4895 the block local available exprs stack. All callers changed.
4896 (simplify_cond_and_lookup_avail_expr): Similarly.
4897 (simplify_switch_and_lookup_avail_expr): Similarly.
4898 (get_eq_expr_value, record_cond): Likewise.
4899 (record_dominating_conditions): Likewise.
4900 (update_rhs_and_lookup_avail_expr): Likewise.
4901 (record_equivalences_from_stmt): Likewise.
4902 (dom_opt_initialize_block_local_data): No longer test state of
4903 block local avail_exprs.
4904 (dom_opt_initialize_block): Mark unwind point in the global
4905 avail_expr stack.
4906 (remove_expressions_from_table): Update to unwind to the
4907 most recent unwind marker in the global avail_expr stack.
4908 All callers changed.
4909 (dom_opt_finalize_block): Mark unwind point in the global
4910 avail_expr stack as needed.
4911 (record_cond): Push elements into the global avail_exprs stack.
4912
a5c965c1
JL
4913 * tree-dfa.c (free_df_for_stmt): No longer static.
4914 (free_df): Update comments.
4915 * tree-flow.h (free_df_for_stmt): Prototype.
4916 * tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt. Also
4917 call release_defs.
4918
391f9afb
DN
49192004-09-14 Diego Novillo <dnovillo@redhat.com>
4920
4921 PR tree-optimization/17252
4922 * tree-ssa-alias.c (may_alias_p): Don't assume that a
4923 pointer may not point to itself when using relaxed
4924 aliasing rules.
4925
67f23620
RH
49262004-09-14 Richard Henderson <rth@redhat.com>
4927
4928 PR middle-end/17397
4929 * gimplify.c (gimplify_addr_expr): Don't inadvertently change types
4930 while folding <ADDR_EXPR <INDIRECT_REF X>>.
4931
5ffcd779
AP
49322004-09-14 Andrew Pinski <apinski@apple.com>
4933
4934 * tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
4935 sets of the pointers but the aliasing sets of what they point to.
4936
f6ae6c51
RS
49372004-09-14 Roger Sayle <roger@eyesopen.com>
4938
4939 PR rtl-optimization/9771
4940 * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
4941 conditional compilation in init_reg_sets_1.
4942 (init_reg_sets_1): Let global_regs[i] take priority over the frame
4943 (but not stack) pointer exceptions to regs_invalidated_by_call.
4944 (globalize_reg): Globalizing a fixed register may need to update
4945 regs_invalidated_by_call.
4946
1810f6ed
DN
49472004-09-14 Diego Novillo <dnovillo@redhat.com>
4948
4949 PR tree-optimization/15262
4950 * tree-dfa.c (dump_variable): Also print the type of the
4951 variable.
4952 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
4953 memory tags are of conflicting alias sets but have no aliased
4954 symbols in common, add one tag to the alias set of the other.
4955 (setup_pointers_and_addressables): Remove hack to deal with
4956 programs with no aliased symbols.
4957 (may_alias_p): Don't special case aggregate types.
4958
0e6d31fb
JM
49592004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
4960
4961 PR c/15498
4962 * doc/invoke.texi (Environment Variables): Correct example locale.
4963
ab3b6795
JH
49642004-09-14 Jan Hubicka <jh@suse.cz>
4965
4966 * cfg.c (expunge_block): Revert previous change adding ggc_free call.
4967
0c0f8409
MM
49682004-09-14 Mark Mitchell <mark@codesourcery.com>
4969
4970 * config.gcc: Do not build a shared libgcc for arm-none-eabi.
4971
3b53cddc
JM
49722004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
4973
4974 * c-tree.h (struct c_declspecs): Add const_p, volatile_p and
4975 restrict_p.
4976 (struct c_declarator): Change u.array.quals and pointer_quals to
4977 int. Add u.array.attrs.
4978 (quals_from_declspecs): New.
4979 * c-decl.c (quals_from_declspecs): New.
4980 (shadow_tag_warned): Give more specific message for useless type
4981 qualifiers.
4982 (build_array_declarator, set_array_declarator_inner,
4983 grokdeclarator, make_pointer_declarator, build_null_declspecs,
4984 declspecs_add_qual): Update for changed structures.
4985
a6e1aa26
JL
49862004-09-14 Jeff Law <law@redhat.com>
4987
4988 * tree-ssa-dom.c (stmts_to_rescan): Move from a block-local
6615c446 4989 to a global varray.
a6e1aa26
JL
4990 (tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
4991 (dom_opt_initialize_block_local_data): No longer test state
4992 of stmts_to_rescan.
4993 (dom_opt_finalize_block): Update due to change in scope of
4994 stmts_to_rescan.
4995 (optimize_stmt): Similarly.
4996
8e3c61c5
KH
49972004-09-14 Kazu Hirata <kazu@cs.umass.edu>
4998
4999 * cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
5000 lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
5001 comment typos. Follow spelling conventions.
5002
0e40b5f2
KH
50032004-09-14 Kazu Hirata <kazu@cs.umass.edu>
5004
5005 * config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
5006 config/i386/predicates.md, config/sparc/sparc.c: Follow
5007 spelling conventions.
5008
113d659a
ZD
50092004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5010 Steven Bosscher <stevenb@suse.de>
5011
5012 * Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
5013 * basic-block.h (struct reorder_block_def): Add copy_number field.
5014 * cfgloop.h (biv_p): Declare.
5015 * cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
5016 * common.opt (fsplit-ivs-in-unroller): New flag.
5017 * loop-iv.c (biv_p): New function.
5018 * loop-unroll.c: Include hashtab.h and recog.h.
5019 (struct iv_to_split, struct split_ivs_info): New types.
5020 (analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
5021 free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
5022 determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
5023 insert_base_initialization, split_iv): New functions.
5024 (peel_loop_completely, unroll_loop_constant_iterations,
5025 unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
5026 Use them.
5027 * doc/invoke.texi (-fsplit-ivs-in-unroller): Document.
5028
d840495b
ZD
50292004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5030
5031 * tree-cfg.c (thread_jumps): Update dominators correctly in
5032 case destination of threaded edge dominates its source.
5033
c94583fe
ZD
50342004-09-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5035
5036 * unroll.c: Removed.
5037 * loop.h: Removed.
5038 * Makefile.in (LOOP_H, unroll.o): Removed.
5039 (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
5040 dependency.
5041 * alias.c (init_alias_analysis): Remove flag_old_unroll_loops
5042 reference.
5043 * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
5044 * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
5045 * loop.c: Do not include loop.h.
5046 (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
5047 REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
5048 struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
5049 REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
5050 struct loop_regs, struct loop_movables, struct loop_info): Moved
5051 from loop.h.
5052 (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
5053 reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
5054 find_common_reg_term, loop_iterations, final_giv_value): Moved
5055 from unroll.c.
5056 (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
5057 loop_dump_stream, for_each_insn_in_loop, express_from,
5058 extend_value_for_giv, loop_iv_add_mult_emit_before,
5059 loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
5060 loop_insn_first_p, get_condition_for_loop,
5061 loop_insn_emit_before, loop_insn_hoist,
5062 loop_insn_sink): Made static.
5063 (loop_invariant_p): Made static. Removed flag_old_unroll_loops
5064 reference.
5065 (strength_reduce): Do not call unroller.
5066 (record_giv): Do not initialize unrolled field.
5067 (prescan_loop): Do not set loop_info->preconditioned.
5068 * passes.c: Do not include loop.h.
5069 (rest_of_handle_loop_optimize): Do not call unroller.
5070 * predict.c: Do not include loop.h.
5071 * rtl.h (NOTE_PRECONDITIONED): Removed.
5072 * stmt.c: Do not include loop.h.
5073 * toplev.c: Do not include loop.h.
5074 (process_options): Do not handle flag_old_unroll_loops.
5075
5076 * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
5077 Documentation removed.
5078 * doc/passes.texi (unroll.c, loop.h): Documentation removed.
5079
03261822
NS
50802004-09-14 Nathan Sidwell <nathan@codesourcery.com>
5081
5082 * Makefile.in (STAGE1_CHECKING): New variable.
5083 (stage1_build): Use it.
5084 * tree-ssa.c (verify_ssa): Preserve state of dominance
5085 information.
5086
869d095e
UB
50872004-09-14 Uros Bizjak <uros@kss-loka.si>
5088
5089 * config/i386/i386.c (output_fp_compare): Add generation
5090 of ftst instruction.
5091 * config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
5092 Use output_fp_compare () function.
5093 (cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
5094 (fix_truncdi_memory): Remove operands[5] copy.
5095
19525b57
KH
50962004-09-14 Kazu Hirata <kazu@cs.umass.edu>
5097
5098 * config/m32r/m32r.md, config/m68k/m68kelf.h,
5099 config/mcore/mcore.md, config/rs6000/linux64.h,
5100 config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
5101 typos.
5102
a140c081
JW
51032004-09-13 James E Wilson <wilson@specifixinc.com>
5104
5105 * Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
5106 * gen-protos.c: Include errors.h.
5107 (progname): Delete.
5108
b6acab32
JH
51092004-09-14 Jan Hubicka <jh@suse.cz>
5110
5111 * Makefile.in (predict.o): Depend on tree-scalar-evolution.h
5112 * predict.c: Include tree-scalar-evolution.h and cfgloop.h
5113 (predict_loops): Use number_of_iterations_exit to predict
5114 number of iterations on trees.
5115
c1bbfd3c
DJ
51162004-09-13 Dale Johannesen <dalej@apple.com>
5117
5118 PR 17408
5119 PR 17409
5120 * c-decl.c (start_decl): Repair TREE_STATIC for initialized
5121 objects declared extern.
5122
b9705a21
PB
51232004-09-14 Paul Brook <paul@codesourcery.com>
5124
5125 * config/arm/arm.c (arm_expand_prologue): Make args_to_push a
5126 HOST_WIDE_INT.
5127
b9193259
DJ
51282004-09-13 Daniel Jacobowitz <dan@debian.org>
5129
5130 * fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
5131 Only use TYPE_BINFO for aggregates.
5132
3ab0f290
DJ
51332004-09-13 Daniel Jacobowitz <dan@debian.org>
5134
5135 * expmed.c (synth_mult): Initialize latency. Check cost before
5136 checking ops count.
5137
fa9be75f 51382004-09-13 Kenneth Zadeck <Kenneth.Zadeck@NaturalBridge.com>
6674a6ce 5139
6674a6ce
KZ
5140 * tree-ssa-operands.c (get_call_expr_operands): Added parm to
5141 add_call_clobber_ops and add_call_read_ops.
5142 (add_call_clobber_ops, add_call_read_ops): Added code to reduce
5143 the number of vdefs and vuses inserted based on analysis of global
5144 variables across calls. * tree-dfa.c (find_referenced_vars):
5145 Needed to reset static var maps before each function is compiled.
5146 * cgraphunit.c:
5147 (static_vars_to_consider_by_tree,static_vars_to_consider_by_uid,
5148 static_vars_info,functions_to_static_vars_info,module_statics_escape,
5149 all_module_statics,searchc_env,dfs_info): New fields to support
5150 analysis of static global variables.
5151 (print_order, convert_UIDs_in_bitmap, new_static_vars_info,
5152 cgraph_reset_static_var_maps, get_global_static_vars_info,
5153 get_global_statics_not_read, get_global_statics_not_written,
5154 searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis,
5155 check_rhs_var, check_lhs_var, get_asm_expr_operands,
5156 process_call_for_static_vars, scan_for_static_refs,
5157 cgraph_characterize_statics_local, cgraph_get_static_name_by_uid,
5158 clear_static_vars_maps, cgraph_propagate_bits,
5159 cgraph_characterize_statics): New. Functions to support analysis
5160 of static global variables.
5161 (cgraph_mark_local_and_external_functions): Renamed from:
5162 (cgraph_mark_local_functions)
5163 (cgraph_expand_all_functions): Remove call to
5164 cgraph_mark_local_and_external_functions.
5165 (cgraph_optimize): Added driver to analyze static variables whose
5166 scope is within the compilation unit. * cgraph.h (struct
5167 cgraph_local_info, GTY): Added statics_read, statics_written,
5168 local, calls_read_all, calls_write_all, for_functions_valid.
5169 (struct cgraph_node): Added next_cycle. * cgraph.c
5170 (dump_cgraph_node): Added print routines for new fields. *
5171 makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc
5172 list.
5173
61f4f1cc
JM
51742004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
5175
5176 * c-decl.c (grokdeclarator): Correct comments about where storage
5177 class specifiers are rejected by grammar and add corresponding
5178 asserts. Diagnose typedefs and parameters declared inline.
5179 Change warning for inline main to a pedwarn. Only diagnose inline
5180 main if hosted.
5181 (declspecs_add_scspec): Allow duplicate "inline".
5182
88ed5ef5
SE
51832004-09-13 Steve Ellcey <sje@cup.hp.com>
5184
5185 * config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
5186 (TARGET_SCALAR_MODE_SUPPORTED_P): New.
5187
a5bfe141
RH
51882004-09-13 Richard Henderson <rth@redhat.com>
5189
5190 PR 17436
5191 * tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
5192 (tree_type): Replace spare with contains_placeholder_bits.
5193 (type_contains_placeholder_1): Rename from type_contains_placeholder_p,
5194 make static. Remove seen_types list.
5195 (type_contains_placeholder_p): New.
5196
1823bf53
JW
51972004-09-13 James E Wilson <wilson@specifixinc.com>
5198
5199 * config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
5200 (sb1_bdesc, bdesc_map, bdesc_arrays): New.
5201 (mips_expand_builtin): Add SB-1 support. Use bdesc_map and
5202 bdesc_arrays instead of mips_bdesc.
5203 (mips_init_builtins): Likewise.
5204 * config/mips/mips.h (TARGET_SB1): New.
5205 (HAVE_SQRT_P): Delete.
5206 * config/mips/mips.md (divide_condition): Support V2SF.
5207 (sqrt_condition, recip_condition): New.
5208 (div<mode>3): Use ANYF instead of SCALARF.
5209 (*div<mode>3): Use ANYF instead of SCALARF. Use UNITMODE instead of
5210 MODE.
5211 (*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
5212 instead of ISA_HAS_FP4. Use ANYF instead of SCALARF. Use UNITMODE
5213 instead of MODE.
5214 (sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P. Use ANYF
5215 instead of SCALARF. Use UNITMODE instead of MODE.
5216
c8a52525
ZW
52172004-09-13 Zack Weinberg <zack@codesourcery.com>
5218
5219 * config.in: Regenerate after removal of libbanshee.
5220
a78e238e
AM
52212004-09-13 Andrew MacLeod <amacleod@redhat.com>
5222
5223 PR tree-optimization/17400
5224 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
5225 coalesce partitions when one occurs in an abnormal PHI.
6615c446 5226
5547b982
AP
52272004-09-13 Andrew Pinski <apinski@apple.com>
5228
5229 * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
5230 name to _new_size.
5231
0d87c765 52322004-09-13 Richard Henderson <rth@redhat.com>
c8a52525 5233
c892972f
SB
5234 PR inline-asm/6806
5235 * cselib.c (cselib_invalidate_rtx): Export. Remove unused args.
5236 (cselib_invalidate_rtx_note_stores): New.
5237 (cselib_record_sets, cselib_process_insn): Update to match.
5238 * cselib.h (cselib_invalidate_rtx): Declare.
5239 * postreload.c (reload_cse_simplify): Invalidate asm clobbers.
0d87c765 5240
84cce55d
RH
52412004-09-13 Richard Henderson <rth@redhat.com>
5242
5243 PR tree-opt/10528
5244 * tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
5245 after copying its argument.
5246
bda67431
JM
52472004-09-13 Joseph S. Myers <jsm@polyomino.org.uk>
5248
5249 * c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
5250 c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
5251 in diagnostics. Use %' for English apostrophes.
5252 * c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
5253 (pedwarn_c90, pedwarn_c99): Use it.
5254 * c-decl.c (lookup_label): Quote label name in diagnostic.
5255 * c-parse.in (yyprint): Use ' instead of ` for left quote.
5256 * c-typeck.c (warn_for_assignment): Likewise.
5257
ad7b96a9
JH
52582004-09-13 Jan Hubicka <jh@suse.cz>
5259
5260 * i386.c (x86_schedule): New global variable.
5261 (override_options): Disable scheduling when not supported.
5262 * i386.h (x86_schedule): Declare.
5263 (TARGET_SCHEDULE): New macro.
5264
373c0e7f
RH
52652004-09-12 Richard Henderson <rth@redhat.com>
5266
5267 PR c++/16254
5268 * fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
5269 * tree.c, tree.h (has_cleanups): Remove.
5270
7fac6722
ZD
52712004-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5272
5273 * tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
5274 arguments of the phi nodes correctly.
5275
85914593
JH
52762004-09-12 Jan Hubicka <jh@suse.cz>
5277
5278 * ggc-common.c (cmp_statistics): Fix sorting.
5279
3d520aaf
DE
52802004-09-12 David Edelsohn <edelsohn@gnu.org>
5281
5282 PR target/16795
5283 * expmed.c (expand_divmod): If cheap power of 2 divide is
5284 available, use it for negative constant as well.
5285
8f8ccdf3
AP
52862004-09-12 Andrew Pinski <apinski@apple.com>
5287
c92d8761
AP
5288 * darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
5289 size of 0.
5290
8f8ccdf3
AP
5291 * tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
5292
93330ea1
RH
52932004-09-12 Richard Henderson <rth@redhat.com>
5294
5295 * config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
5296 or minus one.
5297 (ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
5298 post-reload, and scratch NULL.
5299 * config/i386/i386.md (testqi_1): Use FLAGS_REG name.
5300 (x86_shift_adj_2): Use ix86_expand_clear.
5301 (ashldi3): Remove CMOVE expansion difference.
5302 (ashldi3_1): Remove.
5303 (*ashldi3_1): Rename from *ashldi3_2. Use reg_or_pm1_operand and
5304 add constraints for immediates. New peephole for split-with-temp.
5305 Run splitter after peep2 pass.
5306 (ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
5307 (lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
5308 (setcc_2): Rename with *.
5309 * config/i386/predicates.md (reg_or_pm1_operand): New.
5310 (ashldi_input_operand): New.
5311
21076c8e
RH
53122004-09-12 Richard Henderson <rth@redhat.com
5313
5314 * print-rtl.c (print_decl_name): New.
5315 (print_mem_expr): Use it.
5316
f6a41d17
RH
53172004-09-12 Richard Henderson <rth@redhat.com
5318
c892972f
SB
5319 PR 17186, part deux
5320 * except.c (sjlj_emit_function_exit): Fix logic locating
5321 sjlj_exit_after in final block.
f6a41d17 5322
a924fe34
TM
53232004-09-12 Toon Moene <toon@moene.indiv.nluug.nl>
5324
5325 * common.opt: Remove flags -fmove-all-movables and
5326 -freduce-all-givs.
5327 * loop-invariant.c (find_invariants_to_move):
5328 Remove all uses of flag_move_all_movables.
5329 * loop.c (move_movables): Remove all uses of
5330 flag_move_all_movables.
5331 (strength_reduce): Remove all uses of
5332 flag_reduce_all_givs.
5333 * doc/invoke.texi: Remove documentation of flags
5334 -fremove-all-movables and -freduce-all-givs.
5335
ec76a0e0
RS
53362004-09-11 Roger Sayle <roger@eyesopen.com>
5337
5338 PR middle-end/17411
5339 * tree-sra.c (generate_element_zero): Revert recent build_int_cst
5340 change. elt->type may be a floating point type, so use fold_convert.
5341
ca472546
GK
53422004-09-11 Geoffrey Keating <geoffk@apple.com>
5343
5344 * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
5345 the thing referenced as used, not the stub itself.
5346
9a26d6ee
JM
53472004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
5348
5349 * c-tree.h (enum c_storage_class): New.
5350 (struct c_declspecs): Add storage_class, inline_p and thread_p.
5351 * c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
5352 declarations and "auto" or "register" in file scope empty
5353 declarations. Give more specific warnings for other cases of
5354 storage class specifiers in empty declarations.
5355 (grokdeclarator): Update for new structures. Don't check for
5356 multiple storage classes. Diagnose file-scope "register" if
5357 pedantic.
5358 (build_null_declspecs): Update.
5359 (declspecs_add_scspec): Update. Diagnose multiple storage class
5360 specifiers and invalid uses of "__thread".
5361
a38b644b
ZW
53622004-09-11 Zack Weinberg <zack@codesourcery.com>
5363
5364 * tree.c (tree_code_size): New function, bulk of code from tree_size.
5365 (tree_size, make_node): Use it.
5366 * tree-ssa-pre.c (init_pre): Use it.
5367 * tree.h: Prototype it.
5368
30d396e3
ZD
53692004-09-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5370
5371 * tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
5372 * tree-dfa.c (compute_immediate_uses, add_immediate_use,
5373 redirect_immediate_use): Use PHI_DF.
5374 * tree-flow-inline.h (stmt_ann): Abort on phi nodes.
5375 (bb_for_stmt): Use PHI_BB.
5376 (get_immediate_uses): Use PHI_DF.
5377 * tree-ssa-dse.c (max_stmt_uid): New variable.
5378 (get_stmt_uid): New function.
5379 (dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
5380 node annotations.
5381 * tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
5382 (max_uid): Renamed to max_stmt_uid.
5383 (get_stmt_uid): New function.
5384 (maybe_queue_var, single_reachable_address, determine_lsm): Do not use
5385 phi node annotations.
5386 * tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
5387 * tree.h (PHI_BB, PHI_DF): New accessor functions.
5388 (struct tree_phi_node): Add bb and df fields.
5389
f4a6d54e
RH
53902004-09-11 Richard Henderson <rth@redhat.com>
5391
5392 PR middle-end/17416
5393 * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
5394 in conflict loop.
5395
f43329a5
JH
53962004-09-11 Jan Hubicka <jh@suse.cz>
5397
1d1df0df
JH
5398 * i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
5399 (EMIT_MODE_SET): UNINITIALIZED mode needs no set.
5400 * i386.md (i387_cw): Add 'uninitialized' mode.
5401
f43329a5
JH
5402 * profile.c (BB_TO_GCOV_INDEX): move more to the front.
5403 (output_location): Break out from ....
5404 (branch_prob): ... here; handle gcov output on trees.
5405 * toplev.c (process_options): No longer be sorry about coverage for
5406 trees.
5407
05cf561d
SB
54082004-09-11 Steven Bosscher <stevenb@suse.de>
5409
5410 PR c++/17412
5411 * fold-const.c (fold): Do not try to fold the operand of a
5412 CLEANUP_POINT_EXPR if that operand does itself not have any
5413 operands.
5414
5415 PR middle-end/17417
5416 * langhooks.c (lhd_decl_printable_name): Make sure that this
5417 function is called with is a decl node that has an identifier.
5418 * tree-pretty-print.c (dump_function_name): New function to
5419 wrap PRINT_FUNCTION_NAME and dump_decl_name.
5420 (print_call_name): Use it.
5421
547d057d
ME
54222004-09-11 Mohan Embar <gnustuff@thisiscool.com>
5423
5424 * ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE,
5425 "config.h" if not.
5426
a17ea89b
JJ
54272004-09-11 Jakub Jelinek <jakub@redhat.com>
5428
5429 * tree-ssa-alias.c (collect_points_to_info_r): Handle
5430 pointing to PTR + OFFSET as PTR, not as pointing to PTR or pointing
5431 to OFFSET.
5432
70bb498a
RH
54332004-09-11 Richard Henderson <rth@redhat.com>
5434
5435 * expr.c (expand_expr_addr_expr_1) Rename from expand_expr_addr_expr.
5436 (expand_expr_addr_expr): New function. Take ADDR_EXPR instead of the
5437 operand of the ADDR_EXPR.
5438 (expand_expr_real_1): Update to match.
5439
0c94cda4
DE
54402004-09-11 David Edelsohn <edelsohn@gnu.org>
5441
d1909f7b 5442 PR target/17277
0c94cda4
DE
5443 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
5444 choose 64-bit version.
5445
5e55f99d
RH
54462004-09-11 Richard Henderson <rth@redhat.com>
5447
5448 PR c/17396
5449 * c-typeck.c (build_unary_op): Add legacy offsetof hack.
5450
431ae0bf
KH
54512004-09-11 Kazu Hirata <kazu@cs.umass.edu>
5452
5453 * doc/cfg.texi, doc/hostconfig.texi, doc/install.texi,
5454 doc/invoke.texi, doc/md.texi, doc/tm.texi, doc/tree-ssa.texi:
5455 Insert @: after i.e. or e.g.
5456
70601cc2
GK
54572004-09-10 Geoffrey Keating <geoffk@apple.com>
5458
5459 * tree-pretty-print.c (dump_decl_name): Print unnamed decls as
5460 D.xxx rather than <Dxxx>.
5461
a38b644b 54622004-09-10 Adam Nemet <anemet@lnxw.com>
8a45d680
AN
5463
5464 * configure.ac (AC_MSG_CHECKING(what linker to use)):
5465 in_tree_ld_is_elf should be true for LynxOS.
a38b644b 5466 * configure: Regenerate.
8a45d680 5467
ecc50d72
AN
54682004-09-10 Adam Nemet <anemet@lnxw.com>
5469
5470 * Makefile.in (all.cross): Add srcextra.
5471
3ae472c2
RS
54722004-09-10 Roger Sayle <roger@eyesopen.com>
5473
5474 PR middle-end/17024
5475 * fold-const.c (fold_cond_expr_with_comparison): Handle unordered
5476 floating point comparison operators. Change aborts to gcc_asserts.
5477
dc9d0b14
GK
54782004-09-10 Geoffrey Keating <geoffk@apple.com>
5479
5480 * final.c (output_asm_insn): Correct problem with -fverbose-asm.
5481
a73b091d
JW
54822004-09-10 James E Wilson <wilson@specifixinc.com>
5483
1c8c309b
JW
5484 * Makefile.in (LIBGCC_DEPS): Delete duplicate stmp-int-hdrs reference.
5485 (stmp-fixproto): Change stmp-int-headers to stmp-int-hdrs in comment.
5486
273d67e7
JW
5487 * convert.c (convert_to_vector): Replace recursive call with
5488 error_mark_node.
5489
a73b091d
JW
5490 * emit-rtl.c (gen_const_vector): Renamed from gen_const_vector_0.
5491 Add integer argument named constant. Use const_tiny_rtx instead of
5492 CONST0_RTX.
5493 (gen_rtx_CONST_VECTOR): Rewrite to handle checks for both CONST0_RTX
5494 and CONST1_RTX.
5495 (init_emit_once): Fix users of gen_const_vector. Set CONST1_RTX for
5496 vector types.
5497 * expr.c (const_vector_from_tree): Call gen_rtx_CONST_VECTOR instead
5498 of gen_rtx_raw_CONST_VECTOR.
5499
110fce11
EC
55002004-09-10 Eric Christopher <echristo@redhat.com>
5501
5502 PR c/16046
5503 * c-parse.in (attribute): Add NULL_TREE for error case
5504 for error recovery.
5505
5d709b00
ZW
55062004-09-10 Zack Weinberg <zack@codesourcery.com>
5507
5508 * c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
5509 (extract_interface_info): Delete prototype.
5510 * c-decl.c (extract_interface_info): Delete stub.
5511 * c-lex.c (get_fileinfo): Initialize file_info_tree here, if
5512 it's not already been done ...
5513 (init_c_lex): ... not here.
110fce11
EC
5514 (fe_file_change): Don't call extract_interface_info.
5515
616aeba2
JM
55162004-09-11 Joseph S. Myers <jsm@polyomino.org.uk>
5517
5518 * c-tree.h (struct c_declspecs): Remove typedef_decl. Add
5519 typedef_p and typedef_signed_p.
5520 * c-decl.c (shadow_tag_warned): Check typedef_p, not typedef_decl.
5521 (grokdeclarator): Don't use typedef_decl for warn_deprecated_use.
5522 Check typedef_p and typedef_signed_p, not typedef_decl.
5523 (grokfield): Check typedef_p, not typedef_decl.
5524 (build_null_declspecs): Initialize typedef_p and typedef_signed_p,
5525 not typedef_decl.
5526 (declspecs_add_type): Set typedef_p and typedef_signed_p, not
5527 typedef_decl.
5528
a8508d51
KH
55292004-09-10 Kazu Hirata <kazu@cs.umass.edu>
5530
5531 * doc/tm.texi, doc/tree-ssa.texi: Fix typos.
5532
18b3a02a
GK
55332004-09-10 Geoffrey Keating <geoffk@apple.com>
5534
769da818
GK
5535 * gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless
5536 temporary variables.
5537
375d2edc
GK
5538 * dbxout.c (dbxout_block): Update for
5539 current_function_func_begin_label a string.
5540 * dwarf2out.c (dwarf2out_begin_prologue): Likewise.
5541 * except.c (dw2_output_call_site_table): Likewise.
5542 * toplev.c (current_function_func_begin_label): Likewise.
5543 * tree.h (current_function_func_begin_label): Likewise.
5544 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Likewise.
5545
c383c15f
GK
5546 * final.c (output_asm_insn): Use strtoul instead of atoi, save a
5547 loop.
5548
1adaa117
GK
5549 * config/darwin.c: Include target.h.
5550 (struct machopic_indirection): Make ptr_name a string.
5551 (machopic_indirection_hash): Update for ptr_name a string.
5552 (machopic_indirection_eq): Likewise.
5553 (machopic_indirection_name): Likewise.
5554 (machopic_output_indirection): Likewise.
5555 (machopic_validate_stub_or_non_lazy_ptr): Update for ptr_name a
5556 string. Don't expect stub names to be in the identifier hash table.
5557 Do call strip_name_encoding before looking up entry in ID hash table.
5558 * config/t-darwin (darwin.o): Add target.h to dependencies.
5d709b00 5559
fb5c67a7
GK
5560 * gcc/config/rs6000/rs6000.c (print_operand): Use fputs instead
5561 of fprintf for register names.
5d709b00 5562
5f11bc8b
GK
5563 * output.h (unlikely_section_label): Delete declaration.
5564 (unlikely_text_section_name): Likewise.
5565 * varasm.c (unlikely_section_label_printed): Make static.
5566 (unlikely_section_label): Likewise.
5567 (unlikely_text_section_name): Likewise.
5568 (assemble_start_function): Use reconcat.
5569
18b3a02a
GK
5570 * rtl.def (REG): Add comment to describe third field.
5571
76f60aa5
AP
55722004-09-10 Andrew Pinski <apinski@apple.com>
5573
5574 * config/darwin.c (machopic_mcount_stub_name): Call
5575 machopic_indirection_name instead of making the string
5576 ourselves.
5577
e30b0ae2
DN
55782004-09-10 Diego Novillo <dnovillo@redhat.com>
5579
5580 Revert
5581
5582 2004-09-08 Jie Zhang <zhangjie@magima.com.cn>
5583
5584 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
5585 memory tag is call clobbered, so are its aliases.
5586 (group_aliases): When two memory tags being grouped, if one is
5587 call clobbered, so are the other and its aliases.
5588 (add_may_alias): Remove call-clobbering stuff.
5589 (replace_may_alias): Likewise.
5590 (merge_pointed_to_info): Merge pt_global_mem
5591
89dbed81
KH
55922004-09-10 Kazu Hirata <kazu@cs.umass.edu>
5593
5594 * bb-reorder.c, c-common.c, c-incpath.c, c-typeck.c,
5595 genrecog.c, lambda-code.c, mips-tdump.c, mips-tfile.c,
5596 passes.c, tree-data-ref.c, tree-data-ref.h, tree-mudflap.c,
5597 tree-scalar-evolution.c, tree-ssa-copyrename.c,
5598 tree-ssa-live.c, tree-ssa-live.h: Fix comment typos.
5599
094e84fa
RS
56002004-09-10 Richard Sandiford <rsandifo@redhat.com>
5601
5602 * config/frv/frv.md (UNSPEC_MASACCS, UNSPEC_MDASACCS): New constants.
5603 (maddaccs, msubaccs, *maddacc): Turn operand 0 into a single ACC/ACCG
5604 pair. Remove match_dup from inputs. Remove masaccs handling.
5605 (mdaddaccs, mdsubaccs, *mdaddacc): Likewise a dual ACC/ACCG pair.
5606 (masaccs, mdasaccs): Turn into define_insns.
5607
85d62520
RS
56082004-09-10 Richard Sandiford <rsandifo@redhat.com>
5609
5610 * tree-tailcall.c (process_assignment): Only do accumulator transforms
5611 for floating-point types if flag_unsafe_math_optimizations.
5612
c112cf2b
KH
56132004-09-10 Kazu Hirata <kazu@cs.umass.edu>
5614
5615 * config/darwin.c, config/alpha/alpha.h, config/arm/arm.c,
5616 config/arm/arm.h, config/arm/arm.md, config/arm/bpabi.h,
5617 config/arm/predicates.md, config/frv/frv.c, config/frv/frv.md,
5618 config/h8300/h8300.md, config/i386/gmm_malloc.h,
5619 config/ia64/ia64.md, config/ip2k/libgcc.S,
5620 config/mips/mips-ps-3d.md, config/mips/mips.c,
5621 config/rs6000/rs6000.c, config/s390/s390.c,
5622 config/sh/symbian.c: Fix comment typos.
5623
2790879f
AK
56242004-09-10 Andreas Krebbel <krebbel1@de.ibm.com>
5625
5626 * config/s390/s390.c (s390_emit_prologue): Added missing
5627 "{}" brackets.
5628
27ef2cdd
KH
56292004-09-10 Kazu Hirata <kazu@cs.umass.edu>
5630
5631 * doc/extend.texi, doc/invoke.texi, doc/passes.texi: Fix
5632 typos. Follow spelling conventions.
5633
108ebf88
JM
56342004-09-10 Joseph S. Myers <jsm@polyomino.org.uk>
5635
5636 * toplev.c (warn_deprecated_use): Correct logic for saying "type"
5637 in diagnostic. Don't dereference NULL TYPE_NAME.
5638
6cb38cd4
KH
56392004-09-10 Kazu Hirata <kazu@cs.umass.edu>
5640
5641 * c-common.c, c-pch.c, defaults.h, lambda-code.c, passes.c,
5642 tree-data-ref.c, tree-flow.h, tree-ssa-operands.c,
5643 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
5644 value-prof.c: Fix comment typos. Follow spelling conventions.
5645
b829f3fa
JH
56462004-09-10 Jan Hubicka <jh@suse.cz>
5647
5648 * tree-ssa-dce.c (remove_dead_stmt): Update profile.
5649 * tree-split_edge.c (tree_split_edge): Likewise.
5650 (thread_jumps): Likewise.
5651
229031d0
KH
56522004-09-10 Kazu Hirata <kazu@cs.umass.edu>
5653
5654 * cgraphunit.c, predict.c, tree-ssa-loop-ivopts.c: Fix comment
5655 typos.
5656
9b3e897d
PB
56572004-09-10 Paolo Bonzini <bonzini@gnu.org>
5658
5659 * cgraph.h (cgraph_dump_file): Do not declare.
5660 * cgraphunit.c (cgraph_dump_file): Declare as static.
5661 (init_cgraph): New.
5662 * toplev.c (cgraph_dump_file): Do not declare.
5663 (compile_file): Call init_cgraph.
5664 * tree-dump.c (dump_files): Add IPA dump file, remove
5665 XML dump of call graph.
5666 (get_dump_file_name): Support IPA dump file naming scheme.
5667 * tree.h (enum tree_dump_index): Add IPA dump file, remove
5668 XML dump of call graph.
5669 * doc/invoke.texi (Debugging Options): Document the new options.
5670
c3ee0579
RS
56712004-09-10 Richard Sandiford <rsandifo@redhat.com>
5672
5673 * doc/extend.texi: Document the FR-V built-in functions.
5674
236f9832
JW
56752004-09-09 James E Wilson <wilson@specifixinc.com>
5676
5677 * doc/sourcebuild.texi: Delete libbanshee reference.
5678
5a29def1
KC
56792004-09-10 Kelley Cook <kcook@gcc.gnu.org>
5680
5681 * Makefile.in (s-gtype): Add $(build_exeext) to gengtype command.
5682
3274deff
JW
56832004-09-09 James E Wilson <wilson@specifixinc.com>
5684
5685 * c-typeck.c (convert_for_assignment): Check that rhs has VECTOR_TYPE
5686 before calling vector_types_convertible_p.
5687 (digest_init): Check that inside_init has VECTOR_TYPE before calling
5688 vector_types_convertible_p. Don't give another error if
5689 convert_for_assignment returns error_mark_node.
5690
049e524f
RS
56912004-09-09 Roger Sayle <roger@eyesopen.com>
5692
5693 PR middle-end/17055
5694 * fold-const.c (build_zero_vector): New function to construct a
5695 vector (either floating point or integer) of zeros.
5696 (fold_convert): Internally, enable conversions of integer zero
5697 to arbitrary vector types, using the new build_zero_vector.
5698
1b83d209
RS
56992004-09-09 Roger Sayle <roger@eyesopen.com>
5700
5701 * config/i386/i386.c (ix86_expand_ashlsi3_const): New function to
5702 expand a left shift by an immediate constant as either an ashl or
5703 a sequence of additions.
5704 (ix86_split_ashldi): Use new ix86_expand_ashlsi3_const function
5705 instead of calling gen_ashlsi3 with a constant directly.
5706
903a5059
RS
57072004-09-09 Roger Sayle <roger@eyesopen.com>
5708
5709 * config/i386/i386.c (ix86_split_long_move): When optimizing for
5710 size, and the low and high parts of a DImode constant are equal,
5711 copy one register to another instead of loading the same immediate
5712 value twice.
5713
469c26f1
RH
57142004-09-09 Richard Henderson <rth@redhat.com>
5715
5716 PR middle-end/17367
5717 * function.c (assign_parm_setup_block): Only put PARALLELs into
5718 a register if use_register_for_decl.
5719
1aee688e
EC
57202004-09-09 Eric Christopher <echristo@redhat.com>
5721
5722 * ra-colorize.c (reset_lists): Move variable declaration inside
5723 ENABLE_CHECKING to avoid unused variable warnings when
5724 not --enable-checking.
5725 (check_colors): Ditto.
5726
89029cd4
MS
57272004-09-09 Mike Stump <mrs@apple.com>
5728
5729 * version.c (version_string): Bump to 4.0.0.
693ff889 5730 * doc/include/gcc-common.texi (version-GCC): Likewise.
89029cd4 5731
3f3174b6
JJ
57322004-09-10 Jakub Jelinek <jakub@redhat.com>
5733
5734 * doc/extend.texi (nothrow attribute): The attribute is not
5735 implemented in 3.2 and earlier.
5736
4c80d5ac
SE
57372004-09-09 Steve Ellcey <sje@cup.hp.com>
5738
5739 * genrecog.c (compute_predicate_codes): Use op0_codes
5740 instead of codes.
5741
2ec3ab99
UW
57422004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
5743
5744 * ra-colorize.c (hardregset_to_string): Adapt to HARD_REG_SET
5745 implementation changes.
5746
0b21d1dc
UW
57472004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
5748
5749 * combine.c (try_combine): When swapping i2 and i3, newi2pat may be
5750 a PARALLEL instead of a SET due to added clobbers.
5751
7bb09d15
UW
57522004-09-09 Ulrich Weigand <uweigand@de.ibm.com>
5753
1aee688e 5754 * reload.c (find_reloads_address): Pass correct operand to
7bb09d15
UW
5755 maybe_memory_address_p.
5756
0a050485
DB
57572004-09-09 Daniel Berlin <dberlin@dberlin.org>
5758
5759 * Makefile.in: Remove libbanshee, tree-alias-*.
5760 Remove tree-alias-common.h dependencies.
5761 * common.opt: Remove -ftree-points-to.
5762 * configure.ac: Remove libbanshee.
5763 * flags.h: Remove pta_type, flag_tree_points_to.
5764 * gengtype.c (open_base_files): Remove tree-alias-type.h.
5765 * opts.c (OPT_ftree_points_to): Remove.
5766 * toplev.c: Remove tree-alias-common.h, flag_tree_points_to.
5767 * tree-dfa.c: Remove tree-alias-common.h
5768 * tree-into-ssa.c: Ditto.
5769 * tree-outof-ssa.c: Ditto.
5770 * tree-ssa-copyrename.c: Ditto.
5771 * tree-ssa-live.c: Ditto.
5772 * tree-optimize.c: Ditto.
5773 * tree-ssa.c: Ditto.
5774 Remove pass_build_pta, pass_del_pta.
5775 * tree-pass.h: Ditto.
5776 * tree-ssa-alias.c: Remove tree-alias-common.h.
5777 (struct alias_stats_d): Remove pta_queries, pta_resolved.
5778 (pass_may_alias): Remove PROP_pta requirement.
5779 (may_alias_p): Remove pta_queries, pta_resolved, use of andersens.
5780 (get_tmt_for): Ditto.
5781 (dump_alias_stats): Ditto.
5782 * doc/passes.texi: Remove blurb about points-to analysis.
5783 * fortran/Make-lang.in: Remove tree-alias-*.o.
1aee688e 5784
c1a404bd
RS
57852004-09-09 Richard Sandiford <rsandifo@redhat.com>
5786
5787 * genattrtab.c (write_insn_cases): New function, split out from
5788 write_attr_case. Correctly handle define_peepholes when printing
5789 the instruction name.
5790 (write_attr_case, write_const_num_delay_slots): Use write_insn_cases.
5791
b2416742
HPN
57922004-09-09 Hans-Peter Nilsson <hp@axis.com>
5793
5794 PR target/17377
5795 * config/cris/cris-protos.h (cris_return_address_on_stack): Declare.
5796 * config/cris/cris.c (cris_return_address_on_stack): New function.
5797 * config/cris/cris.md ("return"): For location of return address,
5798 also check cris_return_address_on_stack.
5799
b49ce401
DN
58002004-09-09 Diego Novillo <dnovillo@redhat.com>
5801
5802 * tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in
5803 calling phi_ssa_name_p.
5804
116df786
RH
58052004-09-09 Richard Henderson <rth@redhat.com>
5806
5807 PR c/17322
5808 * c-typeck.c (valid_compound_expr_initializer): Use only
5809 initializer_constant_valid_p, and not TREE_CONSTANT.
5810 (digest_init): Likewise.
5811 (output_init_element): Likewise.
5812
41374e13
NS
58132004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
5814
5815 * ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
5816 live_out_1, prune_hardregs_for_mode, init_one_web_common,
5817 reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
5818 record_conflict, compare_and_free_webs, init_webs_defs_uses,
5819 parts_to_webs_1, parts_to_webs, reset_conflicts,
5820 check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
5821 ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
5822 * ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
5823 put_move, remove_move, combine, select_spill, colorize_one_web,
5824 try_recolor_web, insert_coalesced_conflicts, check_colors,
5825 break_precolored_alias, restore_conflicts_from_coalesce,
5826 sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
5827 * ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
5828 reloads_to_loads, rewrite_program2, emit_colors): Likewise.
5829 * ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
5830 check_df): Likewise.
5831 * real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
5832 real_arithmetic, real_compare, real_exponent, real_ldexp,
5833 real_identical, real_to_integer, real_to_integer2, real_to_decimal,
5834 real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
5835 real_digit, real_nan, real_maxval, round_for_format, real_convert,
5836 real_to_target, real_from_target, real_hash, encode_ieee_single,
5837 encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
5838 encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
5839 encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
5840 * recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
5841 extract_insn, peep2_next_insn, peep2_reg_dead_p,
5842 peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
5843 if_test_bypass_p): Likewise.
5844 * reg-stack.c (record_label_references, get_asm_operand_n_inputs,
5845 stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
5846 emit_swap_insn, swap_to_top, move_for_stack_reg,
5847 subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
5848 compensate_edge, convert_regs_1): Likewise.
5849 * regclass.c (init_reg_sets, init_reg_sets_1,
5850 memory_move_secondary_cost): Likewise.
5851 * regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
5852 Likewise.
5853 * reload.c (push_secondary_reload, find_valid_class, push_reload,
5854 operands_match_p, decompose, immune_p, find_reloads,
5855 find_reloads_toplev, find_reloads_address_1, subst_reloads,
5856 copy_replacements, refers_to_regno_for_reload_p,
5857 reg_overlap_mentioned_for_reload_p): Likewise.
5858 * reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
5859 count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
5860 verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
5861 reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
5862 choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
5863 do_output_reload, fixup_abnormal_edges): Likewise.
5864 * reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
5865 fill_slots_from_thread, relax_delay_slots): Likewise.
5866 * resource.c (mark_referenced_resources, mark_set_resources):
5867 Likewise.
5868 * rtl.c (copy_rtx, rtx_equal_p): Likewise.
5869 * rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
5870 dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
5871 subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
5872 find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
5873 hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
5874 * rtlhooks.c (gen_lowpart_general): Likewise.
5875 * sbitmap.c (sbitmap_difference): Likewise.
5876 * sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
5877 sched_analyze, add_forward_dependence): Likewise.
5878 * sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
5879 * sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
5880 schedule_insns): Likewise.
5881 * sched-vis.c (print_pattern): Likewise.
5882 * sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
5883 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
5884 simplify_const_relational_operation, simplify_ternary_operation,
5885 simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
5886 Likewise.
5887 * sreal.c (copy, sreal_sub, sreal_div): Likewise.
5888 * stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
5889 resolve_operand_name_1, expand_return, expand_decl,
5890 expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
5891 * stor-layout.c (put_pending_size, smallest_mode_for_size,
5892 int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
5893 set_sizetype, get_mode_bounds): Likewise.
5894
15072eb1
ZW
58952004-09-09 Zack Weinberg <zack@codesourcery.com>
5896
5897 * defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
5898 * config/arm/pecoff.h, config/i386/beos-elf.h
5899 * config/i386/cygming.h, config/i386/i386-interix.h:
5900 Define MULTIPLE_SYMBOL_SPACES to 1, not nothing. Remove
5901 comment cloned from manual.
5902 * doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES.
5903
c2433d7d
FCE
59042004-09-09 Frank Ch. Eigler <fche@redhat.com>
5905
5906 * builtins.c (build_va_arg_indirect_ref): New function.
5907 (std_gimplify_va_arg_expr): Call it instead of mudflap check and
5908 build_fold_indirect_ref.
5909 * config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
5910 * config/ia64/ia64.c (ia64_gimplify_va_arg): Ditto.
5911 * tree.h: Declare new function.
5912
41374e13 59132004-09-09 Nathan Sidwell <nathan@codesourcery.com>
1a2caa7a
NS
5914
5915 * cgraphunit.c (cgraph_mark_functions_to_output): Renable node
5916 dumping for development builds.
5917 * emit-rtl.c (verify_rtx_sharing): Give verbose failure for
5918 development builds only.
5919 * genattrtab.c (write_eligible_delay): Fix typo in previous
5920 commit.
5921 * tree.c (iterative_hash_expr): Replace gcc_unreachable with
5922 gcc_assert.
5923
41374e13 59242004-09-09 Nathan Sidwell <nathan@codesourcery.com>
282899df
NS
5925
5926 * gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
5927 cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
5928 process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
5929 hoist_code, extract_mentioned_regs_helper, compute_store_table,
5930 insert_store): Use gcc_assert and gcc_unreachable.
5931 * ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
5932 gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
5933 ggc_record_overhead): Likewise.
5934 * ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
5935 init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
5936 ggc_pop_context, clear_marks, validate_free_objects,
5937 ggc_pch_read): Likewise.
5938 * ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
5939 ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
5940 ggc_push_context, check_cookies, ggc_collect,
5941 ggc_print_statistics): Likewise.
5942 * gimple-low.c (lower_function_body, lower_stmt,
5943 lower_bind_expr): Likewise.
5944 * gimplify.c (gimple_tree_eq, push_gimplify_context,
5945 pop_gimplify_context, gimple_pop_condition, create_tmp_var,
5946 declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
5947 mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
5948 gimplify_case_label_expr, gimplify_exit_block_expr,
5949 canonicalize_component_ref, gimplify_compound_lval,
5950 gimplify_self_mod_expr, gimplify_call_expr,
5951 gimplify_init_ctor_eval, gimplify_init_constructor,
5952 gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
5953 gimplify_expr, check_pointer_types_r,
5954 force_gimple_operand): Likewise.
5955 * global.c (global_alloc, build_insn_chain): Likewise.
5956 * graph.c (clean_graph_dump_file,
5957 finish_graph_dump_file): Likewise.
5958 gcov-io.c (gcov_open): Use GCOV_CHECK.
5959
2a88ebca
RS
59602004-09-09 Richard Sandiford <rsandifo@redhat.com>
5961
5962 * config/frv/frv.c (acc_operand, accg_operand): Use REGNO.
5963
34132917
JH
59642004-09-09 Jan Hubicka <jh@suse.cz>
5965
5966 middle-end/17128
282899df
NS
5967 * tree-inline.c (expand_call_inline): Make overactive sanity check
5968 happy.
34132917 5969
9f7aa952
JH
59702004-09-09 Jan Hubicka <jh@suse.cz>
5971
5972 * tree-ssa-loop-ivopts.c (peel_address): Fix abort on
5973 VIEW_CONVERT_EXPR.
5974
b2d59f6f
NS
59752004-09-09 Nathan Sidwell <nathan@codesourcery.com>
5976
5977 * Makefile.in (gengtype): Use $(BUILD_ERRORS).
5978 (gengtype.o): Depend on errors.h.
5979 * genattrtab.c (strcmp_check): Use gcc_assert and gcc_unreachable.
5980 (attr_rtx_1, attr_printf, attr_copy_rtx, evaluate_eq_attr,
5981 attr_alt_subset_p, attr_alt_subset_of_compl_p,
5982 attr_alt_intersection, attr_alt_union, optimize_attrs, gen_insn,
5983 write_test_expr, write_attr_value, write_eligible_delay,
5984 make_internal_attr, make_numeric_value): Likewise.
5985 * genautomata.c (regexp_name, get_str_vect,
5986 gen_presence_absence_set, automaton_decl_hash,
5987 automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash,
5988 decl_eq_p, process_regexp, loop_in_regexp, check_loops_in_regexps,
5989 process_regexp_cycles, reserv_sets_cmp, set_unit_reserv,
5990 test_unit_reserv, it_is_empty_reserv_sets,
5991 reserv_sets_are_intersected, reserv_sets_shift, reserv_sets_or,
5992 reserv_sets_and, output_cycle_reservs, get_free_state,
5993 intersected_state_reservs_p, states_union, remove_arc,
5994 copy_insn_regexp, transform_1, transform_2, transform_3,
5995 regexp_transform_func, store_alt_unit_usage,
5996 check_regexp_units_distribution, process_seq_for_forming_states,
5997 process_alts_for_forming_states, make_automaton,
5998 form_arcs_marked_by_insn, create_composed_state,
5999 set_out_arc_insns_equiv_num, partition_equiv_class,
6000 process_insn_equiv_class, set_insn_equiv_classes,
6001 units_to_automata_heuristic_distr, form_regexp,
6002 longest_path_length, output_dfa_max_issue_rate, add_vect,
6003 out_state_arcs_num, add_vect_el, output_trans_table,
6004 output_state_alts_table, output_dead_lock_vect,
6005 output_max_insn_queue_index_def,
6006 output_min_insn_conflict_delay_func,
6007 output_internal_insn_latency_func, output_print_reservation_func,
6008 output_cpu_unit_reservation_p, output_state_arcs,
6009 make_insn_alts_attr, make_internal_dfa_insn_code_attr,
6010 make_default_insn_latency_attr,
6011 form_important_insn_automata_lists): Likewise.
6012 * genemit.c (gen_exp, output_add_clobbers,
6013 output_added_clobbers_hard_reg_p): Likewise.
6014 * genextract.c (print_path, main): Likewise.
6015 * genflags.c (gen_macro): Likewise.
6016 * gengenrtl.c: Include errors.h
6017 (type_from_format, accessor_from_format): Likewise.
6018 * gengtype.c (get_file_basename, output_mangled_typename,
6019 walk_type, write_types_process_field,
6020 write_types_local_process_field): Likewise.
6021 * genmodes.c (complete_mode): Likewise.
6022 * genopinit.c (gen_insn): Likewise.
6023 * genoutput.c (output_insn_data, check_constraint_len,
6024 constraint_len): Likewise.
6025 * genpreds.c (add_mode_tests):Likewise.
6026 * gen-protos.c (add_hash): Likewise.
6027 * genrecog.c (find_operand, find_matching_operand,
6028 validate_pattern, add_to_sequence, maybe_both_true,
6029 nodes_identical_1, merge_trees, write_switch, write_cond,
6030 write_action, is_unconditional, make_insn_sequence,
6031 debug_decision_2): Likewise.
6032 * gensupport.c (is_predicable, collect_insn_data,
6033 alter_predicate_for_insn, maybe_eval_c_test): Likewise.
6034
87022a6b
JH
60352004-09-09 Jan Hubicka <jh@suse.cz>
6036
6037 * basic-block.h (guess_outgoing_edge_probabilities): Declare.
b2d59f6f
NS
6038 * cfgbuild.c (compute_outgoing_frequencies): When probability is
6039 missing, guess it.
6040 (find_many_sub_basic_blocks): Do update profile only when it is
6041 present.
87022a6b 6042 * predict.c (set_even_probabilities): Break out from ...
b2d59f6f
NS
6043 (combine_predictions_for_insn): ... here; deal with
6044 !can_predict_insn_p insns.
87022a6b
JH
6045 (combine_predictions_for_bb): Use set_even_probabilities.
6046 (bb_estimate_probability_locally): Break out from ....
6047 (estimate_probability): ... here.
6048 (guess_outgoing_edge_probabilities): New entry point.
6049
e1537934
NS
60502004-09-09 Nathan Sidwell <nathan@codesourcery.com>
6051
3b5edfee
NS
6052 * gcc.c (add_sysrooted_prefix, execute, do_self_spec, do_spec_1,
6053 handle_braces, process_brace_body, main, used_arg,
6054 set_multilib_dir, print_multilib_info): Use fatal, not abort.
6055
d73d4593
NS
6056 * tree-nested.c (create_tmp_var_for): Correct missinverted assert.
6057
e1537934
NS
6058 * tree-outof-ssa.c (free_temp_expr_table): Add missed assert.
6059 * tree-ssa-ccp.c (set_lattice_value): Correct missapplied de
6060 Morgan's theorem in last checkin.
6061
1e128c5f
GB
60622004-09-09 Giovanni Bajo <giovannibajo@gcc.gnu.org>
6063 Nathan Sidwell <nathan@codesourcery.com>
6064
6065 * targhooks.c (default_unwind_emit, default_scalar_mode_supported_p):
6066 Use gcc_assert, gcc_unreachable & internal_error instead of abort.
6067 * timevar.c (timevar_push, timevar_pop, timevar_start,
6068 timevar_stop): Likewise.
6069 * toplev.c (default_pch_valid_p): Likewise.
6070 * tracer.c (tail_duplicate): Likewise.
6071 * tree-alias-common.c (get_alias_var_decl,
6072 get_values_from_constructor, create_alias_var, delete_alias_vars,
6073 empty_points_to_set, same_points_to_set, ptr_may_alias_var):
6074 Likewise.
6075 * tree.c (tree_size, make_node_stat, copy_node_stat,
6076 build_int_cst_wide, integer_all_onesp, list_length, chainon,
6077 tree_node_structure, type_contains_placeholder_p, substitute_in_expr,
6078 substitute_placeholder_in_expr, tabilize_reference_1, build0_stat,
6079 build1_stat, build2_stat, build3_stat, build4_stat, is_attribute_p,
6080 lookup_attribute, type_hash_canon, host_integerp, iterative_hash_expr,
6081 build_method_type_directly, decl_type_context, get_callee_fndecl,
6082 get_set_constructor_bits, build_vector_type_for_mode, int_cst_value,
6083 tree_fold_gcd): Likewise.
6084 * tree-cfg.c (create_bb, make_ctrl_stmt_edges, make_exit_edges,
6085 make_cond_expr_edges, group_case_labels, tree_merge_blocks,
6086 cleanup_control_expr_graph, find_taken_edge,
6087 find_taken_edge_switch_expr, phi_alternatives_equal,
6088 is_ctrl_altering_stmt, disband_implicit_edges, set_bb_for_stmt,
6089 stmt_for_bsi, tree_find_edge_insert_loc, bsi_insert_on_edge_immediate,
6090 tree_split_edge, tree_verify_flow_info, thread_jumps,
6091 tree_redirect_edge_and_branch, tree_flow_call_edges_add): Likewise.
6092 * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
6093 chrec_fold_multiply_poly_poly): Likewise.
6094 * tree-complex.c (extract_component, expand_complex_division,
6095 expand_complex_comparison, expand_complex_operations_1,
6096 build_replicated_const, expand_vector_operations_1): Likewise.
6097 * tree-data-ref.c (tree_fold_bezout, build_classic_dist_vector,
6098 build_classic_dir_vector): Likewise.
6099 * tree-dfa.c (compute_immediate_uses_for_phi,
6100 compute_immediate_uses_for_stmt, create_var_ann, create_stmt_ann,
6101 create_tree_ann, collect_dfa_stats, get_virtual_var): Likewise.
6102 * tree-dump.c (dequeue_and_dump): Likewise.
6103 * tree-eh.c (record_stmt_eh_region, add_stmt_to_eh_region,
6104 record_in_finally_tree, replace_goto_queue_1,
6105 maybe_record_in_goto_queue, verify_norecord_switch_expr,
6106 do_return_redirection): Likewise.
6107 * tree-if-conv.c (tree_if_convert_stmt, tree_if_convert_cond_expr,
6108 add_to_dst_predicate_list, find_phi_replacement_condition,
6109 replace_phi_with_cond_modify_expr, get_loop_body_in_if_conv_order):
6110 Likewise.
6111 * tree-inline.c (remap_decl, remap_type, remap_decls, copy_body_r,
6112 initialize_inlined_parameters, declare_return_variable,
6113 estimate_num_insns_1, expand_call_inline, expand_calls_inline,
6114 optimize_inline_calls, copy_tree_r): Likewise.
6115 * tree-into-ssa.c (rewrite_initialize_block_local_data, rewrite_stmt,
6116 ssa_rewrite_stmt, rewrite_into_ssa): Likewise.
6117 * tree-iterator.c (alloc_stmt_list, tsi_link_before, tsi_link_after,
6118 tsi_split_statement_list_after, tsi_split_statement_list_before):
6119 Likewise.
6120 * tree-mudflap.c (mf_varname_tree): Likewise.
6121 * tree-nested.c (create_tmp_var_for, lookup_field_for_decl,
6122 lookup_tramp_for_decl, convert_all_function_calls): Likewise.
6123 * tree-optimize.c (tree_rest_of_compilation): Likewise.
6124 * tree-outof-ssa.c (create_temp, eliminate_build, eliminate_phi,
6125 coalesce_abnormal_edges, coalesce_ssa_name, eliminate_virtual_phis,
6126 free_temp_expr_table, add_dependance, finish_expr, rewrite_trees):
6127 Likewise.
6128 * tree-phinodes.c (resize_phi_node, add_phi_arg,
6129 remove_all_phi_nodes_for): Likewise.
6130 * tree-pretty-print.c (op_prio, print_call_name): Likewise.
6131 * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
6132 tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Likewise.
6133 * tree-sra.c (type_can_instantiate_all_elements, sra_hash_tree,
6134 sra_elt_eq, sra_walk_expr, instantiate_missing_elements,
6135 generate_one_element_ref, generate_element_copy,
6136 generate_element_zero, scalarize_copy, scalarize_init,
6137 scalarize_ldst): Likewise.
6138 * tree-ssa-alias.c (delete_alias_info, group_aliases, may_alias_p,
6139 add_may_alias, add_pointed_to_expr, add_pointed_to_var,
6140 collect_points_to_info_r, get_tmt_for, get_ptr_info): Likewise.
6141 * tree-ssa.c (walk_use_def_chains, check_phi_redundancy): Likewise.
6142 * tree-ssa-ccp.c (dump_lattice_value, get_default_value, get_value,
6143 set_lattice_value, likely_value, ccp_visit_phi_node, visit_assignment,
6144 widen_bitfield, ccp_fold_builtin): Likewise.
6145 * tree-ssa-copy.c (may_propagate_copy, merge_alias_info,
6146 replace_exp_1, propagate_tree_value): Likewise.
6147 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
6148 * tree-ssa-dce.c (set_control_dependence_map_bit,
6149 find_control_dependence, find_pdom, mark_operand_necessary,
6150 mark_stmt_if_obviously_necessary,
6151 mark_control_dependent_edges_necessary, remove_dead_stmt): Likewise.
6152 * tree-ssa-dom.c (dom_opt_initialize_block_local_data,
6153 simplify_switch_and_lookup_avail_expr, cprop_into_successor_phis,
6154 eliminate_redundant_computations, avail_expr_eq): Likewise.
6155 * tree-ssa-dse.c (fix_stmt_v_may_defs): Likewise.
6156 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
6157 duplicate_blocks): Likewise.
6158 * tree-ssa-loop-im.c (for_each_index, set_level,
6159 is_call_clobbered_ref): Likewise.
6160 * tree-ssa-loop-ivopts.c (dump_use, divide, stmt_after_ip_normal_pos,
6161 stmt_after_increment, set_iv, contains_abnormal_ssa_name_p,
6162 find_interesting_uses_outer_or_nonlin, add_derived_ivs_candidates,
6163 peel_address, ptr_difference_cost, may_replace_final_value,
6164 determine_use_iv_cost, rewrite_use_nonlinear_expr, rewrite_use_outer,
6165 rewrite_use, rewrite_uses): Likewise.
6166 * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
6167 check_loop_closed_ssa_use): Likewise.
6168 * tree-ssanames.c (make_ssa_name): Likewise.
6169 * tree-ssa-operands.c (finalize_ssa_defs, finalize_ssa_uses,
6170 finalize_ssa_v_must_defs, finalize_ssa_stmt_operands,
6171 get_stmt_operands, get_expr_operands, get_asm_expr_operands,
6172 get_indirect_ref_operands, add_stmt_operand): Likewise.
6173 * tree-ssa-pre.c (value_exists_in_set_bitmap,
6174 value_remove_from_set_bitmap, bitmap_insert_into_set, insert_into_set,
6175 phi_translate, valid_in_set, compute_antic,
6176 find_or_generate_expression, create_expression_by_pieces, insert_aux,
6177 create_value_expr_from, eliminate): Likewise.
6178 * tree-ssa-propagate.c (cfg_blocks_get): Likewise.
6179 * tree-ssa-threadupdate.c (remove_last_stmt_and_useless_edges):
6180 Likewise.
6181 * tree-tailcall.c (independent_of_stmt_p, adjust_return_value,
6182 eliminate_tail_call): Likewise.
6183 * tree-vectorizer.c (vect_create_index_for_array_ref,
6184 vect_align_data_ref, vect_create_data_ref,
6185 vect_create_destination_var, vect_get_vec_def_for_operand,
6186 vect_finish_stmt_generation, vect_transform_stmt,
6187 vect_transform_loop_bound, vect_transform_loop,
6188 vect_analyze_operations): Likewise.
6189 * tree-vn.c (vn_compute, set_value_handle, get_value_handle):
6190 Likewise.
6191 * tree-flow-inline.h (var_ann, get_var_ann, get_def_from_ptr,
6192 get_use_op_ptr, immediate_use, phi_ssa_name_p, bsi_start,
6193 bsi_after_labels, bsi_last): Likewise.
6194 * tree-ssa-live.c (var_union, change_partition_var,
6195 create_ssa_var_map, calculate_live_on_entry, root_var_init,
6196 type_var_init, add_coalesce, sort_coalesce_list, pop_best_coalesce):
6197 Likewise.
6198 * tree-ssa-live.h (partition_is_global, live_entry_blocks,
6199 tpa_find_tree): Likewise.
6200 (register_ssa_partition_check): Declare.
6201 (register_ssa_partition): use it.
6202 * tree-ssa-live.c: Include errors.h.
6203 (register_ssa_partition_check): New.
6204 * tree-ssa-operands.c: Include errors.h.
6205 * Makefile.in (tree-ssa-operands.o): Depend on errors.h.
6206
c557edf4
RS
62072004-09-09 Richard Sandiford <rsandifo@redhat.com>
6208 Catherine Moore <clm@redhat.com>
6209
6210 * config/frv/frv-protos.h (FRV_CPU_FR550, FRV_CPU_FR450)
6211 (FRV_CPU_FR405): New processor enums.
6212 (frv_issue_rate, frv_acc_group): Declare.
6213 * config/frv/frv.h (CPP_SPEC, CPP_FRV_SPEC, CPP_FR500_SPEC): Delete.
6214 (CPP_FR400_SPEC, CPP_SIMPLE_SPEC): Delete.
6215 (MASK_DEFAULT_FR550, MASK_DEFAULT_FR450): New macros.
6216 (SUBTARGET_EXTRA_SPECS, EXTRA_SPECS, CPP_CPU_DEFAULT_SPEC): Delete.
6217 (TARGET_CPU_CPP_BUILTINS): Define the macros that were previously
6218 handled by CPP_SPEC.
6219 (MASK_LONG_CALLS, TARGET_LONG_CALLS): New macros.
6220 (MASK_ALIGN_LABELS, TARGET_ALIGN_LABELS): New macros.
6221 (ACC_MASK): New macro.
6222 (TARGET_MEDIA_REV2): Include FRV_CPU_{FR405,FR450,FR550}.
6223 (TARGET_MEDIA_FR450): New macro.
6224 (TARGET_FR500_FR550_BUILTINS, TARGET_FR405_BUILTINS): New macros.
6225 (TARGET_SWITCHES): Add -m{no-,}align-labels and -m{no-,}long-calls.
6226 (LABEL_ALIGN_AFTER_BARRIER): Define.
6227 (ACC_LAST, ACCG_LAST): Add four new accumulator registers.
6228 (IACC_FIRST, IACC_LAST): New pair of SPRs.
6229 (ACCG_FIRST, AP_FIRST, SPR_FIRST, SPR_LAST): Adjust accordingly.
6230 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
6231 (REGISTER_NAMES): Add entries for new registers.
6232 (REG_CLASS_CONTENTS): Update for new register ranges.
6233 (EXTRA_CONSTRAINT_FOR_S): Redefine in terms of call_operand.
6234 (ISSUE_RATE, CLEAR_VLIW_START, SET_VLIW_START): Delete.
6235 (PACKING_FLAG_USED_P): Delete.
6236 (FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQSLLHI)
6237 (FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_SMUL, FRV_BUILTIN_UMUL)
6238 (FRV_BUILTIN_PREFETCH0, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_SMASS)
6239 (FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SCUTSS)
6240 (FRV_BUILTIN_ADDSS, FRV_BUILTIN_SUBSS, FRV_BUILTIN_SLASS)
6241 (FRV_BUILTIN_IACCread{l,ll}, FRV_BUILTIN_IACCset{ll,l})
6242 (FRV_BUILTIN_SCAN): New members of frv_builtin_enum.
6243 (FRV_BUILTIN_FIRST_NONMEDIA): New macro.
6244 (CPU_UNITS_QUERY): Define to 1.
6245 * config/frv/frv.c: Include gt-frv.h
6246 (NUM_NOP_PATTERNS, NTH_UNIT, UNIT_NUMBER, PACKING_FLAG_P): New macros.
6247 (SET_PACKING_FLAG, CLEAR_PACKING_FLAG, FOR_EACH_REGNO): New macros.
6248 (frv_insn_group): New enumeration.
6249 (frv_unit_names, frv_unit_groups, frv_unit_codes): New variables.
6250 (frv_type_to_unit, frv_nops, frv_num_nops): New variables.
6251 (REGSTATE_DEAD, REGSTATE_LIVE, REGSTATE_UNUSED, REGSTATE_MASK)
6252 (REGSTATE_CONDJUMP): Delete. Shuffle other numbers to cover the
6253 gap left by REGSTATE_LIVE.
6254 (regstate_t): New typedef.
6255 (TARGET_MACHINE_DEPENDENT_REORG): Define.
6256 (frv_default_flags_for_cpu): Handle FRV_CPU_{FR550,FR450,FR405}.
6257 (frv_override_options): Check for -mcpu={fr550,fr450,fr405}.
6258 Initialize frv_unit_codes[] and frv_type_to_unit[].
6259 (frv_conditional_register_usage): Remove redundant fixing of
6260 accumulator registers.
6261 (frv_insn_packing_flag): Update specification.
6262 (frv_function_prologue): Don't set frv_insn_packing_flag here.
6263 Zero out frv_nops[].
6264 (frv_expand_epilogue): Remove comments about the no-longer-present
6265 SIBCALL_P argument.
6266 (frv_asm_output_mi_thunk): Check frv_issue_rate() rather than
6267 PACKING_FLAG_USED_P() when deciding whether to pack instructions.
6268 (frv_asm_output_opcode, frv_final_prescan_insn): Simplify in light
6269 of the new meaning of frv_insn_packing_flag. Emit an mnop.p if
6270 packing is disabled and if INSN can only issue to M1.
6271 (call_operand): Check TARGET_LONG_CALLS.
6272 (acc_operand, even_acc_operand, quad_acc_operand)
6273 (accg_operand): Simplify. Don't accept pseudo registers.
6274 (output_move_single): Handle SPR<-zero moves.
6275 (frv_issue_rate): Make non-static. Handle FRV_CPU_{FR550,FR450,FR405}.
6276 (frv_registers_update, frv_registers_used_p): Delete.
6277 (frv_registers_set_p): Delete.
6278 (frv_acc_group_1, frv_acc_group, frv_insn_unit): New functions.
6279 (frv_issues_to_branch_unit_p): New function.
6280 (frv_packet): New structure.
6281 (frv_cond_flags, frv_regstate_conflict_p): New functions.
6282 (frv_registers_conflict_p_1, frv_registers_conflict_p): New functions.
6283 (frv_registers_update_1, frv_registers_update): New functions.
6284 (frv_start_packet, frv_start_packet_block, frv_finish_packet)
6285 (frv_pack_insn_p, frv_add_insn_to_packet, frv_insert_nop_in_packet)
6286 (frv_for_each_packet, frv_sort_insn_group_1, frv_compare_insns)
6287 (frv_sort_insn_group, frv_reorder_packet): New functions.
6288 (frv_pack_insns): Use frv_reorder_packet.
6289 (frv_packet_address): New variable.
6290 (frv_fill_unused_units, frv_align_label, frv_reorg_packet)
6291 (frv_register_nop, frv_reorg): New functions.
6292 (bdesc_1arg): Add __SCUTSS.
6293 (bdesc_2arg): Add __MQLCLRHS, __MQLMTHS, __SMUL, __UMUL, __ADDSS,
6294 __SUBSS, __SLASS and __SCAN.
6295 (bdesc_2argimm): Add __MQSLLHI and __MQSRAHI.
6296 (bdesc_int_void2arg, bdesc_prefetches): New arrays.
6297 (frv_init_builtins): Register the above builtins.
6298 (frv_int_to_acc): Use ACC_MASK to check for valid accumulator
15072eb1 6299 registers. Turn the referenced accumulators into global registers.
c557edf4
RS
6300 (frv_read_iacc_argument): New function.
6301 (frv_expand_int_void2arg, frv_expand_prefetches): New functions.
6302 (frv_split_iacc_move): New function.
6303 (frv_expand_builtin): Handle the new builtins.
6304 * config/frv/frv.md: Replace old schedulers with new order-independent
6305 ones. Add schedulers for the FR405, FR450 and FR550. Describe new
6306 packing algorithm.
6307 (cpu): Add fr550, fr450 and fr405.
6308 (type): Add macc, scan, cut, fnop, fscmp, fdcmp, mnop, mqlimh and
6309 mqshift. Replace fmas with fsmadd and fmad with fdmadd. Delete m7.
6310 (*muladd[sd]f4, *mulsub[sd]f4): Fix types.
6311 (*cmp[sd]f_cc_fp): Use new f[sd]cmp types.
6312 (fnop, mnop): New patterns.
6313 (UNSPEC_MQLCLRHS, UNSPEC_MQLMTHS, UNSPEC_MQSLLHI, UNSPEC_MQSRAHI):
6314 New constants.
6315 (mexpdhw, *cond_exec_mexpdhw): Fix destination operands.
6316 (mclracca8): Use ACC_MASK to determine the upper set of accumulator
6317 registers.
6318 (mqlclrhs, mqlmths, mqsllhi, mqsrahi): New patterns.
6319 (UNSPEC_SMUL, UNSPEC_UMUL, UNSPEC_SMU, UNSPEC_ADDSS, UNSPEC_SUBSS)
6320 (UNSPEC_SLASS, UNSPEC_SCAN, UNSPEC_INTSS, UNSPEC_SCUTSS)
6321 (UNSPEC_PREFETCH0, UNSPEC_PREFETCH, UNSPEC_IACCreadll)
6322 (UNSPEC_IACCreadl, UNSPEC_IACCsetll, UNSPEC_IACCsetl, UNSPEC_SMASS)
6323 (UNSPEC_SMSSS, UNSPEC_IMUL, IACC0_REG): New constants.
6324 (smul, umul, smass, smsss, smu, addss, subss, slass, scan, scutss)
6325 (frv_prefetch0, frv_prefetch): New patterns.
6326 * config/frv/t-frv (MULTILIB_OPTIONS): Remove -mcpu=frv and
6327 -mcpu=simple. Add -mcpu=fr550.
6328 (MULTILIB_DIRNAMES): Update accordingly.
6329 (MULTILIB_MATCHES): Use the fr400 multilibs for -mcpu=fr405 and
6330 -mcpu=fr450.
6331 * doc/invoke.texi: Document the new -mcpu={fr550,fr450,fr405},
6332 -mlong-calls and -malign-labels options for FR-V.
6333
deb176fa
JM
63342004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
6335
6336 PR c/8420
6337 * c-tree.h (struct c_declspecs): New.
6338 (struct c_declarator, struct c_type_name, struct c_parm): Update
6339 element types.
6340 (build_array_declarator, grokfield, shadow_tag, shadow_tag_warned,
6341 start_function, start_decl, build_c_parm,
6342 make_pointer_declarator): Update prototypes.
6343 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
6344 declspecs_add_scspec, declspecs_add_attrs): New.
6345 (split_specs_attrs): Remove.
6346 * c-parse.in (%union): Add dsptype.
6347 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
6348 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
6349 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
6350 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
6351 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
6352 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
6353 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
6354 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
6355 declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
6356 declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
6357 maybe_type_quals_attrs): Change to dsptype.
6358 (struct c_declspec_stack): New.
6359 (current_declspecs, declspec_stack): Change type.
6360 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): Update to new
6361 structures.
6362 (extdefs): Likewise.
6363 (setspecs): Likewise.
6364 (fndef): Use current_declspecs for empty declspecs list.
6365 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
6366 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
6367 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
6368 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
6369 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
6370 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
6371 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
6372 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea): Update to new
6373 structures and helper functions. Update comments.
6374 (typespec_nonattr): Correct comment.
6375 (maybe_type_quals_attrs, typename): Update to new structures.
6376 * c-decl.c (grokdeclarator, build_array_declarator, grokfield,
6377 shadow_tag, shadow_tag_warned, start_function, start_decl,
6378 build_c_parm, make_pointer_declarator,
6379 set_array_declarator_inner, groktypename): Update to new
6380 structures.
6381 (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
6382 declspecs_add_scspec, declspecs_add_attrs): New.
6383 (split_specs_attrs): Remove.
6384 (shadow_tag_warned): Make warning for useless type names a
6385 pedwarn. Give hard error for long, short, signed, unsigned or
6386 _Complex used with struct, union or enum in empty declaration.
6387 Make found_tag a bool.
6388 (grokdeclarator): Remove checks now done at parse time.
6389
f8893e47
JM
63902004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
6391
6392 * c-tree.h (enum c_declarator_kind, struct c_arg_info, struct
6393 c_declarator, struct c_type_name, struct c_parm): New.
6394 (build_array_declarator, set_array_declarator_inner,
6395 get_parm_info, grokfield, groktypename, grokparm, push_parm_decl,
6396 start_function, start_decl, build_c_parm, build_attrs_declarator,
6397 build_function_declarator, make_pointer_declarator, c_cast_expr,
6398 store_parm_decls_newstyle, c_expr_sizeof_type): Update prototypes.
6399 (build_id_declarator): New.
6400 * c-typeck.c (c_cast_expr, c_expr_sizeof_type): Update to new
6401 structures.
6402 * c-decl.c (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES,
6403 ARG_INFO_OTHERS): Remove.
6404 (build_id_declarator): New.
6405 (build_array_declarator, set_array_declarator_inner, groktypename,
6406 start_decl, grokparm, push_parm_decl, grokparms, get_parm_info,
6407 grokfield, start_function, store_parm_decls_newstyle,
6408 store_parm_decls_oldstyle, store_parm_decls,
6409 build_c_parm, build_attrs_declarator, build_function_declarator,
6410 make_pointer_declarator, grokdeclarator): Update to new
6411 structures.
6412 * c-parse.in (%union): Add arginfotype, dtrtype, typenametype and
6413 parmtype.
6414 (declarator, notype_declarator, after_type_declarator,
6415 parm_declarator, parm_declarator_starttypename,
6416 parm_declarator_nostarttypename, array_declarator, typename,
6417 absdcl, absdcl1, absdcl1_ea, absdcl1_noea, direct_absdcl1,
6418 absdcl_maybe_attribute, parm, firstparm, parms, parmlist,
6419 parmlist_1, parmlist_2, parmlist_or_identifiers,
6420 parmlist_or_identifiers_1): Use these types.
6421 (primary, after_type_declarator, parm_declarator_starttypename,
6422 notype_declarator, component_decl, component_declarator,
6423 component_notype_declarator, typename, absdcl,
6424 absdcl_maybe_attribute, absdcl1_ea, direct_absdcl1, parmlist_1,
6425 parmlist_2, parmlist_or_identifiers_1): Update to new structures.
6426
bc4b653b
JM
64272004-09-09 Joseph S. Myers <jsm@polyomino.org.uk>
6428
6429 * c-tree.h (C_DECL_USED, parser_obstack, in_alignof, in_sizeof,
6430 in_typeof, record_maybe_used_decl, pop_maybe_used,
6431 c_expr_sizeof_expr, c_expr_sizeof_type): New.
6432 * c-decl.c (parser_obstack): New.
6433 (c_init_decl_processing): Initialize parser_obstack.
6434 (c_write_global_declarations_1): Check for used but undefined
6435 static functions.
6436 * c-parse.in (%union): Add otype.
6437 (save_obstack_position): New.
6438 (extdefs): Use it.
6439 (unary_expr): Update in_sizeof and in_alignof. Use
6440 c_expr_sizeof_expr and c_expr_sizeof_type.
6441 (sizeof): Update in_sizeof.
6442 (alignof): Update in_alignof.
6443 (typeof): Update in_typeof.
6444 (typespec_nonreserved_nonattr): Call pop_maybe_used.
6445 * c-typeck.c (in_alignof, in_sizeof, in_typeof, struct
6446 maybe_used_decl, maybe_used_decls, record_maybe_used_decl,
6447 pop_maybe_used, c_expr_sizeof_expr, c_expr_sizeof_type): New.
6448 (build_external_ref): Set C_DECL_USED or call
6449 record_maybe_used_decl if appropriate.
6450 * toplev.c (check_global_declarations): Check TREE_NO_WARNING.
6451
f838cd94
EC
64522004-09-08 Eric Christopher <echristo@redhat.com>
6453
6454 * builtins.c: Fix prototype for fold_builtin_atan.
6455
667bbbbb
EC
64562004-09-08 Eric Christopher <echristo@redhat.com>
6457
6458 * builtins.c (fold_builtin_strlen, fold_builtin_sqrt, fold_builtin_cbrt,
6459 fold_builtin_pow, fold_builtin_sin, fold_builtin_cos, fold_builtin_tan,
6460 fold_builtin_atan): New functions. Migrate function bodies...
6461 (fold_builtin_1): ... from here.
6462
64045029
AM
64632004-09-09 Alan Modra <amodra@bigpond.net.au>
6464
6465 * config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
6466 save_size.
6467
f0259218
DE
64682004-09-08 David Edelsohn <edelsohn@gnu.org>
6469
6470 * config/rs6000/power4.md (power4-lmul): du4 feeds iu1.
6471 * config/rs6000/power5.md (power5-lmul): Same.
6472
609c3937
RH
64732004-09-08 Richard Henderson <rth@redhat.com>
6474
6475 PR rtl-opt/17186
6476 * function.c (expand_function_end): Have fall-off-the-end
6477 return path jump around return register setup.
6478
4e5b002b
EB
64792004-09-08 Eric Botcazou <ebotcazou@libertysurf.fr>
6480
6481 * config/sparc/sparc.c (sparc_indent_opcode): New variable.
6482 (output_return): Do not test for the presence of the 'unimp' insn.
6483 Use 'current_function_uses_only_leaf_regs' and 'final_sequence'
6484 as predicates instead of custom ones. Return raw strings when
6485 possible.
6486 (output_sibcall): Likewise. Concatenate strings.
6487 (output_ubranch): Remove kludge for TurboSPARC.
6488 (output_cbranch): Remove 'noop' parameter. Do not output 'nop'.
6489 (output_v9branch): Likewise.
6490 (print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'.
6491 <#>: Set sparc_indent_opcode if the delay slot is filled.
6492 <(>: Likewise.
6493 <)>: New operand to emit the displacement from the saved PC on return.
6494 <@>: Remove.
6495 * config/sparc/sparc.h (sparc_indent_opcode): Declare it.
6496 (ASM_OUTPUT_OPCODE): New macro.
6497 (PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'.
6498 * config/sparc/sparc.md (normal_branch, inverted_branch,
6499 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
6500 inverted_fpe_branch): Adjust call to output_cbranch.
6501 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust
6502 call to output_v9branch.
6503 * config/sparc/sparc-protos.h (output_cbranch): Adjust.
6504 (output_v9branch): Likewise.
6505
5826770c
DP
65062004-09-08 Devang Patel <dpatel@apple.com>
6507
6508 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr,
6509 -segs_read_only_addr and -segs_read_write_addr.
6510 (WORD_SWITCH_TAKES_ARG): Same.
6511 (LINK_SPEC): Same.
6512 * doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
6513 -segs_read_write_addr.
6514
6cdd5672
RH
65152004-09-08 Richard Henderson <rth@redhat.com>
6516
6517 * function.c (reference_callee_copied): New.
6518 (assign_parm_setup_reg): Use it.
6519 * calls.c (initialize_argument_information): Likewise.
6520 (emit_library_call_value_1): Likewise.
6521 * function.h (reference_callee_copied): Declare.
6522
6523 * target.h (struct gcc_target): Add callee_copies.
6524 * target-def.h (TARGET_CALLEE_COPIES): New.
6525 (TARGET_PASS_BY_REFERENCE): Update default.
6526 * expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6527 * targhooks.c (hook_callee_copies_named): New.
6528 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from
6529 hook_pass_by_reference_false.
6530 (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New.
6531 * targhooks.h: Update decls.
6532 * config/arc/arc.c (TARGET_CALLEE_COPIES): New.
6533 * config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6534 * config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove.
6535 * config/frv/frv.c (frv_function_arg_callee_copies): Remove.
6536 * config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6537 * config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New.
6538 * config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6539 * config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New.
6540 * config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6541 * config/mips/mips.c (TARGET_CALLEE_COPIES): New.
6542 (mips_callee_copies): New.
6543 * config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6544 * config/mmix/mmix.c (TARGET_CALLEE_COPIES): New.
6545 * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6546 * config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New.
6547 * config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6548 * config/pa/pa.c (TARGET_CALLEE_COPIES): New.
6549 * config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6550 * config/sh/sh.c (sh_callee_copies): New.
6551 (TARGET_CALLEE_COPIES): New.
6552 * config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6553 * config/v850/v850.c (TARGET_CALLEE_COPIES): New.
6554 * config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
6555 * doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation
6556 for FUNCTION_ARG_CALLEE_COPIES.
6557 * doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update.
6558
7f7e0703
DP
65592004-09-08 Devang Patel <dpatel@apple.com>
6560
6cdd5672
RH
6561 * tree-if-conv.c (find_phi_replacement_condition): Return true
6562 edge block.
6563 (replace_phi_with_cond_modify_expr): Select conditional expr args
6564 based on true edge basic block.
667bbbbb 6565
ed7f7d85
JH
65662004-09-08 Jan Hubicka <jh@suse.cz>
6567
6568 * tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for
6569 variables being alias set.
6570
0bccc606
NS
65712004-09-08 Nathan Sidwell <nathan@codesourcery.com>
6572
6573 * final.c (shorten_branches, final, get_insn_template,
6574 output_alternate_entry_point, final_scan_insn, alter_subreg,
6575 alter_cond, output_operand, asm_fprintf, final_forward_branch_p,
6576 leaf_renumber_regs_insn): Use gcc_assert and gcc_unreachable.
6577 * fix-header.c (lookup_std_proto): Likewise.
6578 * flow.c (first_insn_after_basic_block_note, verify_wide_reg,
6579 verify_local_live_at_start, update_life_info, mark_reg,
6580 calculate_global_regs_live, allocate_reg_life_data,
6581 init_propagate_block_info, mark_set_regs, flush_reg_cond_reg_1,
6582 ior_reg_cond, not_reg_cond, and_reg_cond, elim_reg_cond,
6583 attempt_auto_inc, mark_used_reg, mark_used_regs): Likewise.
6584 * fold-const.c (force_fit_type, div_and_round_double,
6585 may_negate_without_overflow_p, int_const_binop, const_binop,
6586 size_binop, size_diffop, fold_convert_const, fold_convert,
6587 invert_tree_comparison, swap_tree_comparison,
6588 comparison_to_compcode, compcode_to_comparison, invert_truthvalue,
6589 range_binop, make_range, fold_cond_expr_with_comparison,
6590 fold_div_compare, fold, fold_checksum_tree, fold_negate_const,
6591 fold_abs_const, fold_not_const, fold_relational_const, round_up,
6592 round_down): Likewise.
6593 * function.c (find_function_data, assign_stack_temp_for_type,
6594 instantiate_virtual_regs_lossage, aggregate_value_p,
6595 assign_parm_find_entry_rtl, assign_parm_setup_block,
6596 expand_function_start, expand_function_end, keep_stack_depressed,
6597 handle_epilogue_set, thread_prologue_and_epilogue_insns): Likewise.
6598
599eabdb
DB
65992004-09-08 Daniel Berlin <dberlin@dberlin.org>
6600
6601 * Makefile.in (tree-loop-linear.o): Added.
6602 (OBJS-common): Add tree-loop-linear.o
6603 * common.opt: New flag, ftree-loop-linear.
6604 * timevar.def: New timevar, TV_TREE_LOOP_LINEAR.
6605 * tree-flow.h: Add prototype for linear_transform_loops.
6606 * tree-optimize.c: Add linear transform after vectorization.
6607 * tree-pass.h: Add struct pass_linear_transform.
6608 * tree-ssa-loop.c: Add pass_linear_transform.
6609 * tree-loop-linear.c: New file.
6610 * lambda-code.c: gcc_assertify.
6611 (gcc_loop_to_lambda_loop): Handle all exit tests.
6612 Handle case where we have (invariant >= induction var).
6613 (find_induction_var_from_exit_cond): Ditto.
667bbbbb 6614
13f5595a
JZ
66152004-09-08 Jie Zhang <zhangjie@magima.com.cn>
6616
6617 * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
6618 memory tag is call clobbered, so are its aliases.
6619 (group_aliases): When two memory tags being grouped, if one is
6620 call clobbered, so are the other and its aliases.
6621 (add_may_alias): Remove call-clobbering stuff.
6622 (replace_may_alias): Likewise.
6623 (merge_pointed_to_info): Merge pt_global_mem
6624
89480522
JH
66252004-09-08 Jan Hubicka <jh@suse.cz>
6626
6627 * cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
6628 * cgraphunit.c (verify_cgraph): Don't verify on syntax errors.
6629 (cgraph_expand_function): Remove stale cgraph edges of currently
6630 compiled function; fix non-unit-at-a-time code copying function
6631 node for later reuse.
6632
4c254e68
NS
66332004-09-08 Nathan Sidwell <nathan@codesourcery.com>
6634
6635 * vec.c (vec_p_reserve, vec_o_reserve): Rename to ...
6636 (vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to
6637 (vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust.
6638 (vec_gc_free, vec_heap_free): New.
6639 * vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New.
6640 (DEF_VEC_P): Add allocator argument. Adjust.
6641 (DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New.
6642 (DEF_VEC_O): Add allocator argument. Adjust.
6643 (VEC(free)): New.
6644
6645 * tree.h (tree): Define a GC'd vector.
6646 * lamba-code.c (lambda_loop): Likewise.
6647 * value-prof.h (histogram_value): Likewise.
4c254e68 6648
5b0264cb
NS
66492004-09-08 Nathan Sidwell <nathan@codesourcery.com>
6650
6651 * emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable.
6652 (gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno,
6653 gen_lowpart_common, gen_highpart, gen_highpart_mode,
6654 subreg_highpart_offset, operand_subword, operand_subword_force,
6655 mem_expr_equal_p, set_mem_attributes_minus_bitpos,
6656 set_mem_alias_set, change_address_1, verify_rtx_sharing,
6657 copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter,
6658 try_split, add_insn_after, add_insn_before, remove_insn,
6659 remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before,
6660 emit_call_insn_before, emit_insn_after, emit_jump_insn_after,
6661 emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn,
6662 set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1,
6663 gen_const_vector_0, emit_copy_of_insn_after): Likewise.
6664 * et-forest.c (set_prev, set_next, et_check_occ_sanity,
6665 record_path_before_1, check_path_after_1, check_path_after): Likewise.
6666 * except.c (gen_eh_region, resolve_one_fixup_region,
6667 remove_unreachable_regions, convert_from_eh_region_ranges_1,
6668 add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads,
6669 connect_post_landing_pads, sjlj_emit_function_exit,
6670 remove_exception_handler_label, remove_eh_handler,
6671 reachable_next_level, collect_one_action_chain,
6672 output_function_exception_table): Likewise.
6673 * explow.c (trunc_int_for_mode, copy_to_mode_reg,
6674 optimize_save_area_alloca, allocate_dynamic_stack_space,
6675 probe_stack_range, hard_function_value): Likewise.
6676 * expmed.c (mode_for_extraction, store_bit_field,
6677 store_fixed_bit_field, extract_bit_field, expand_shift,
6678 expand_mult_const, expand_mult, choose_multiplier,
6679 expand_mult_highpart, expand_divmod, emit_store_flag,
6680 do_cmp_and_jump): Likewise.
6681 * expr.c (convert_move, convert_modes, move_by_pieces,
6682 move_by_pieces_ninsns, move_by_pieces_1, emit_block_move,
6683 move_block_from_reg, gen_group_rtx, emit_group_load,
6684 emit_group_move, emit_group_store, use_reg, use_regs,
6685 can_store_by_pieces, store_by_pieces, store_by_pieces_1,
6686 emit_move_insn, emit_move_insn_1, emit_push_insn,
6687 expand_assignment, store_expr, count_type_elements,
6688 store_constructor, store_field, safe_from_p, expand_var,
6689 expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise.
6690
ced3f397
NS
66912004-09-08 Nathan Sidwell <nathan@codesourcery.com>
6692
6693 * dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
6694 gcc_assert and gcc_unreachable.
6695 * ddg.c (create_ddg_dependence, add_deps_for_def,
6696 add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
6697 * df.c (df_ref_unlink, df_ref_record, df_uses_record,
6698 df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
6699 df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
6700 df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
6701 df_bb_reg_live_end_p, df_bb_regs_lives_compare,
6702 df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
6703 dataflow_set_copy, hybrid_search, diagnostic.c,
6704 diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
6705 * dojump.c (do_jump): Likewise.
6706 * dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
6707 compute_dom_fast_query, calculate_dominance_info,
6708 free_dominance_info, get_immediate_dominator,
6709 set_immediate_dominator, get_dominated_by,
6710 redirect_immediate_dominators, nearest_common_dominator,
6711 dominated_by_p, verify_dominators, recount_dominator,
6712 iterate_fix_dominators, add_to_dominance_info,
6713 delete_from_dominance_info): Likewise.
6714 * dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
6715 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
6716 dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
6717 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
6718 initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
6719 flush_queued_reg_saves, dwarf2out_frame_debug_expr,
6720 dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
6721 output_call_frame_info, output_loc_operands, build_cfa_loc,
6722 decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
6723 AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
6724 AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
6725 splice_child_die, attr_checksum, same_dw_val_p,
6726 break_out_includes, build_abbrev_table, size_of_die, mark_dies,
6727 unmark_dies, value_format, output_loc_list, output_die,
6728 output_pubnames, output_aranges, base_type_die, is_base_type,
6729 modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
6730 mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
6731 field_byte_offset, add_data_member_location_attribute,
6732 add_const_value_attribute, rtl_for_decl_location,
6733 add_location_or_const_value_attribute, add_byte_size_attribute,
6734 add_bit_offset_attribute, add_bit_size_attribute,
6735 add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
6736 decl_start_label, gen_formal_parameter_die,
6737 gen_type_die_for_member, gen_subprogram_die, gen_label_die,
6738 gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
6739 force_decl_die, force_type_die, gen_decl_die,
6740 dwarf2out_imported_module_or_decl, prune_unused_types_prune,
6741 dwarf2out_finish): Likewise.
6742
faaaf610
AT
67432004-09-08 Andreas Tobler <toa@pop.agri.ch>
6744
6745 * Makefile.in (builtins.o): Depend on tree-mudflap.h.
6746 * builtins.c: Include tree-mudflap.h.
6747
45c8c47f
UB
67482004-09-08 Uros Bizjak <uros@kss-loka.si>
6749
6750 * config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
6751 force operand 0.0 into register in XFmode. Also do not force
6752 operand 0.0 into register if !TARGET_CMOVE.
6753 * config/i386/i386.md (*cmpfp_0): Delete. Remove comment.
667bbbbb 6754 (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to
45c8c47f
UB
6755 implement ftst x87 instruction.
6756 (*fp_jcc_7): New insn pattern. Change corresponding split
6757 pattern to handle "general_operand" instead of
6758 "nonimmediate_operand".
6759
70d5fb1c
BE
67602004-09-08 Ben Elliston <bje@au.ibm.com>
6761
6762 * doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.
6763
4882ad24
FCE
67642004-09-07 Frank Ch. Eigler <fche@redhat.com>
6765
6766 * builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes
6767 generated from standard va_arg expansion.
6768 * tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from
6769 marked nodes.
6770 (mf_varname_tree, mf_file_function_line_tree): Add some support
6771 for column numbers if compiled with USE_MAPPED_LOCATION.
6772
06f624ba
ZL
67732004-09-07 Ziemowit Laski <zlaski@apple.com>
6774
6775 * c-decl.c (groktypename_in_parm_context): Remove function.
6776 * c-tree.h (groktypename_in_parm_context): Remove prototype.
6777
6408ef33
ZL
67782004-09-07 Ziemowit Laski <zlaski@apple.com>
6779
6780 * Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
6781 * c-parse.in: Include c-common.h instead of objc-act.h.
6782 (ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
6783 myparms, myparm): Remove %type declarations.
6784 (methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
6785 objc_typename, objc_try_catch_stmt, optellipsis): Add %type
6786 declarations.
6787 (objc_inherit_code, objc_public_flag): Remove.
6788 (typespec_nonreserved_nonattr): Call
6789 objc_get_protocol_qualified_type() instead of get_static_reference()
6790 and get_protocol_reference().
6791 (stmt_nocomp): Call grokparm() on @catch parameter.
6792 (objcdef): Move semantic action to objc_finish_implementation().
6793 (classdef): Move semantic action to objc_start_class_interface(),
6794 objc_continue_interface(), objc_finish_interface(),
6795 objc_start_class_implementation(), objc_continue_implementation(),
6796 objc_start_category_interface() and
6797 objc_start_category_implementation().
6798 (protocoldef): Move semantic actions to objc_start_protocol() and
6799 objc_finish_interface().
6800 (ivar_decl_list): Remove nonterminal.
6801 (visibility_spec): Move semantic actions to objc_set_visibility().
6802 (ivar_decls): Remove assignment to $$.
6803 (ivar_decl): Rephrase in terms of component_decl; call
6804 objc_add_instance_variable().
6805 (ivars, ivar_declarator): Remove nonterminals.
6806 (opt_semi): New nonterminal.
6807 (methodtype): Remove semantic actions.
6808 (methoddef): Move semantic actions to objc_set_method_type(),
6809 objc_start_method_definition() and objc_finish_method_definition().
6810 (methodproto): Move semantic actions to objc_set_method_type() and
6811 objc_add_method_declaration().
6812 (methoddecl): Use objc_typename instead of typename; move semantic
6813 actions to objc_build_method_signature().
6814 (optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
6815 (optparmlist): Express in terms of optparms and optellipsis.
6816 (optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
6817 nonterminals.
6818 (keyworddecl): Use objc_typename instead of typename.
6819 (rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
6820 and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
6821
8662eb14
AM
68222004-09-08 Alan Modra <amodra@bigpond.net.au>
6823
6824 * doc/tm.texi (MD_UNWIND_SUPPORT): Document.
6825 (MD_FALLBACK_FRAME_STATE_FOR): Update.
6826 * unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined.
6827 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
6828 (MD_FROB_UPDATE_CONTEXT): Remove default.
6829 (uw_update_context_1): Instead #ifdef invocation.
6830 * config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined.
6831 (uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
6832 * config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef.
6833 (MD_UNWIND_SUPPORT): Undefine this instead.
6834 * config/i386/gnu.h: Likewise.
6835 * config/alpha/linux-unwind.h: New file, macro converted to
6836 function, extracted from..
6837 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this.
6838 (MD_UNWIND_SUPPORT): Define.
6839 * config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise.
6840 * config/i386/linux-unwind.h, config/i386/linux.h,
6841 config/i386/linux64.h: Likewise.
6842 * config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise.
6843 MD_HANDLE_UNWABI too.
6844 * config/mips/linux-unwind.h, config/mips/linux.h: Likewise.
6845 * config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise.
6846 * config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise.
6847 * config/s390/linux-unwind.h, config/s390/linux.h: Likewise.
6848 * config/sparc/linux-unwind.h, config/sparc/linux.h,
6849 config/sparc/linux64.h: Likewise.
6850 * config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge
6851 SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state.
6852 * config/rs6000/linux-unwind.h, config/rs6000/linux.h,
6853 config/rs6000/linux64.h: Likewise. Split out get_sigcontext
6854 function. Use ARG_POINTER_REGNUM for 32-bit temp reg too.
6855
c4817ba6
JH
68562004-09-07 Jan Hubicka <jh@suse.cz>
6857
ec666d23
JH
6858 * cse.c (fold_rtx): Avoid building of
6859 (CONST (MINUS (CONST_INT) (SYMBOL_REF)))
6860
c4817ba6
JH
6861 * tree-ssa-pre.c (grand_bitmap_obstack): New.
6862 (value_insert_into_set_bitmap, bitmap_set_new): Use the obstack.
6863 (init_pre): Initialize obstack.
6864 (fini_pre): Free obstack.
6865
9f0df97a
DD
68662004-09-07 David Daney <ddaney@avtrex.com>
6867
6868 * config.gcc: Added support for --with-divide=[breaks|traps] for
6869 mips targets.
6870 * config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit.
6871 (TARGET_DIVIDE_TRAPS): New macro.
6872 (TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks.
6873 (OPTION_DEFAULT_SPECS): Added --with-divide= support.
6874 * config/mips/mips.c (mips_idiv_insns): Generate proper count on
6875 GENERATE_DIVIDE_TRAPS.
6876 (mips_output_division): Emit conditional trap if
6877 GENERATE_DIVIDE_TRAPS is set.
6878 * doc/install.texi: Document --with-divide.
6879 * doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks.
6880
9beb1c84
CT
68812004-09-07 Caroline Tice <ctice@apple.com>
6882
6883 * cfgrtl.c (rtl_verify_flow_info_1): Add new edge flag,
6884 EDGE_CROSSING, to flags test case.
667bbbbb 6885
1905940f
JH
68862004-09-07 Jan Hubicka <jh@suse.cz>
6887
6888 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<'
6889 class too.
6890
341c100f
NS
68912004-09-07 Nathan Sidwell <nathan@codesourcery.com>
6892
6893 * cfganal.c (flow_depth_first_order_compute, dfs_enumerate_from,
6894 cfgbuild.c, inside_basic_block_p, control_flow_insn_p,
6895 make_label_edge, make_edges, find_basic_blocks_1): Use gcc_assert
6896 or gcc_unreachable.
6897 * cfg.c (clear_edges, initialize_bb_rbi, compact_blocks,
6898 remove_edge, alloc_aux_for_blocks, free_aux_for_blocks,
6899 alloc_aux_for_edges, free_aux_for_edges): Likewise.
6900 * cfgcleanup.c (try_forward_edges,
6901 merge_blocks_move_predecessor_nojumps,
6902 merge_blocks_move_successor_nojumps): Likewise.
6903 * cfgexpand.c (expand_gimple_cond_expr,
6904 expand_gimple_tailcall): Likewise.
6905 * cfghooks.c (duplicate_block): Likewise.
6906 * cfglayout.c (record_effective_endpoints,
6907 insn_locators_initialize, change_scope, fixup_reorder_chain,
6908 verify_insn_chain, fixup_fallthru_exit_predecessor,
6909 duplicate_insn_chain, cfg_layout_finalize): Likewise.
6910 * cfgloopanal.c (check_irred): Likewise.
6911 * cfgloop.c (superloop_at_depth, flow_loops_free,
6912 flow_loop_entry_edges_find, flow_loops_find,
6913 flow_loop_outside_edge_p, get_loop_body,
6914 get_loop_body_in_dom_order, get_loop_body_in_bfs_order,
6915 get_loop_exit_edges, num_loop_branches, cancel_loop,
6916 verify_loop_structure): Likewise.
6917 cfgloopmanip.c (find_path, remove_path, loop_delete_branch_edge,
6918 duplicate_loop_to_header_edge, create_preheader,
6919 create_loop_notes): Likewise.
6920 * cfgrtl.c (delete_insn, try_redirect_by_replacing_jump,
6921 edirect_branch_edge, force_nonfallthru_and_redirect,
6922 rtl_split_edge, insert_insn_on_edge, commit_one_edge_insertion,
6923 commit_edge_insertions, commit_edge_insertions_watch_calls,
6924 purge_dead_edges, cfg_layout_redirect_edge_and_branch,
6925 cfg_layout_redirect_edge_and_branch_force,
6926 cfg_layout_merge_blocks, rtl_flow_call_edges_add): Likewise.
6927 * cgraph.c (cgraph_node, cgraph_create_edge, cgraph_remove_edge,
6928 cgraph_redirect_edge_callee, cgraph_global_info, cgraph_rtl_info,
6929 cgraph_varpool_node): Likewise.
6930 * cgraphunit.c (cgraph_finalize_function,
6931 cgraph_finalize_compilation_unit, cgraph_mark_functions_to_output,
6932 cgraph_expand_function, cgraph_remove_unreachable_nodes,
6933 cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
6934 cgraph_mark_inline, cgraph_expand_all_functions,
6935 cgraph_build_static_cdtor): Likewise.
6936 * combine.c (do_SUBST, try_combine, subst, combine_simplify_rtx,
6937 simplify_logical, distribute_notes, insn_cuid): Likewise.
6938 * conflict.c (conflict_graph_add, print_conflict): Likewise.
6939 * coverage.c (rtl_coverage_counter_ref, tree_coverage_counter_ref,
6940 coverage_checksum_string): Likewise.
6941 * cse.c (make_new_qty, make_regs_eqv, insert, invalidate,
6942 hash_rtx, exp_equiv_p, cse_basic_block, count_reg_usage,
6943 cse_cc_succs, cse_condition_code_reg): Likewise.
6944 * cselib.c (entry_and_rtx_equal_p, remove_useless_values,
6945 rtx_equal_for_cselib_p, wrap_constant, cselib_hash_rtx,
6946 new_cselib_val, cselib_subst_to_values, cselib_invalidate_regno,
6947 cselib_record_set): Likewise.
6948
6b094f38
JH
69492004-09-07 Jan Hubicka <jh@suse.cz>
6950
6951 * tree-ssa-loop-ivopts.c (iv_value): Avoid invalid sharing on niter.
6952
5212068f
NS
69532004-09-07 Nathan Sidwell <nathan@codesourcery.com>
6954
6955 * builtins.c (fold_builtin_strchr): Use build_int_cst, not
6956 fold_convert.
6957 (fold_builtin_strpbrk): Likewise.
6958 * expr.c (array_ref_low_bound): Likewise.
6959 * tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
6960 interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
6961 * tree-sra.c (generate_element_zero): Likewise.
6962 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
6963 * tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
6964 add_old_iv_candidates, add_iv_candidates): Likewise.
6965 * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
6966
366de0ce
NS
69672004-09-07 Nathan Sidwell <nathan@codesourcery.com>
6968
6969 * c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
6970 * c-common.c (c_type_hash, c_common_nodes_and_builtins,
6971 c_expand_expr, boolean_increment, nonnull_check_p,
6972 check_function_arguments_recurse, fold_offsetof_1): Likewise.
6973 * c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros,
6974 builtin_define_type_max): Likewise.
6975 * c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level,
6976 implicit_decl_warning, builtin_function, build_compound_literal,
6977 complete_array_type, grokdeclarator, get_parm_info,
6978 start_function, store_parm_decls_oldstyle,
6979 c_write_global_declarations): Likewise.
6980 * c-format.c (get_constant, decode_format_attr,
6981 maybe_read_dollar_number, get_flag_spec, check_format_arg,
6982 check_format_types, format_type_warning,
6983 find_char_info_specifier_index, init_dynamic_asm_fprintf_info,
6984 init_dynamic_diag_info, handle_format_attribute): Likewise.
667bbbbb 6985 * c-gimplify.c (push_context, pop_context, finish_bc_block):
366de0ce
NS
6986 * c-lex.c (c_lex_with_flags, lex_string): Likewise.
6987 * c-objc-common.c (c_tree_printer): Likewise.
6988 * c-pch.c (pch_init): Likewise.
6989 * c-pragma.c (maybe_apply_pragma_weak): Likewise.
6990 * c-pretty-print.c (pp_c_tree_decl_identifier): Likewise.
6991 * c-typeck.c (c_incomplete_type_error, composite_type,
6992 common_pointer_type, common_type, same_translation_unit_p,
6993 tagged_types_tu_compatible_p, finish_init, pop_init_level,
6994 set_designator, set_nonincremental_init_from_string,
6995 process_init_element, c_finish_if_stmt): Likewise.
6996 * caller-save.c (init_caller_save, save_call_clobbered_regs,
6997 insert_restore, insert_save, insert_one_insn): Likewise.
6998 * calls.c (emit_call_1, compute_argument_block_size,
6999 precompute_arguments, expand_call, emit_library_call_value_1,
7000 store_one_arg): Likewise.
7001
e1bbfc5c
NS
70022004-09-07 Nathan Sidwell <nathan@codesourcery.com>
7003
7004 * configure.ac (enable-checking): Add release option. Reorganize
7005 to avoid repetition.
7006 * configure: Rebuilt.
7007 * doc/install.texi (enable-checking): Amend documentation.
7008
e64dc647
L
70092004-09-06 H.J. Lu <hongjiu.lu@intel.com>
7010
7011 PR bootstrap/17313
7012 * Makefile.in (specs.ready): Depend on cc1$(exeext).
7013
d3a583b1
JW
70142004-09-06 James E Wilson <wilson@specifixinc.com>
7015
cfd8e493
JW
7016 * config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit,
7017 movdf_hardfloat_32bit): Split fG into two alternatives.
7018 (movv2sf_hardfloat_64bit): Split fYG into two alternatives.
7019
d3a583b1
JW
7020 * emit-rtl.c (try_split): Check INSN_P before may_trap_p call.
7021
ff8cea7e
EB
70222004-09-06 Eric Botcazou <ebotcazou@libertysurf.fr>
7023
7024 * final.c (output_in_slot): Delete.
7025 (final_scan_insn): Revert 2004-09-03 change.
7026 (output_asm_insn): Likewise.
7027 * config/sparc/sparc.c (output_return): Likewise.
7028 (output_sibcall): Likewise.
7029
8679c649
JH
70302004-09-06 Jan Hubicka <jh@suse.cz>
7031
7032 * loop.c (loop_dump_aux): Do not print RTL when not available.
7033 * tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use
7034 frontend specific type nodes.
7035 (produce_memory_decl_rtl): Break out from ...
7036 (prepare_decl_rtl): ... here. Handle ADDR_EXPR correctly.
7037 (get_computation_at): Avoid random tree sharing.
7038 (tree_ssa_iv_optimize): Verify tree sharing; dump loops.
7039
93f8bd9e
ZW
70402004-09-06 Zack Weinberg <zack@codesourcery.com>
7041
7042 * Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove
7043 unnecessary commands.
7044
c802a859
ME
70452004-09-06 Mohan Embar <gnustuff@thisiscool.com>
7046
7047 * Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
7048 (bitmap.o): Likewise.
7049
9f8628ba
PB
70502004-09-06 Paolo Bonzini <bonzini@gnu.org>
7051
7052 Unify the management of RTL and tree-level dump files.
7053
7054 * cfgexpand.c (tree_expand_cfg): Fix incorrect comment.
7055 Don't print function name to the dump file, the pass manager
7056 would do this for us. Add code from the top of
7057 rest_of_compilation, up to the initial RTL dump.
7058 * passes.c (rest_of_handle_jump): Call fixup_tail_calls and
7059 close the DFI_sibling dump file.
7060 (rest_of_compilation): Don't do that here. Remove code up to the
7061 initial RTL dump.
7062 (init_optimization_passes): Remove.
7063 (pass_rest_of_compilation): Change pass name to NULL.
7064 * toplev.c (lang_dependent_init): Do not use an empty dump file prefix.
7065 Do not call init_optimization_passes.
7066 * toplev.h (init_optimization_passes): Remove.
7067
7068 * graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
7069 finish_graph_dump_file): Remove SUFFIX parameter.
7070 * graph.h (print_rtl_graph_with_bb, clean_graph_dump_file,
7071 finish_graph_dump_file): Likewise.
7072
7073 * tree-pass.h (struct tree_opt_pass): Add `letter' field.
7074 * cfgexpand.c (pass_expand): Adjust.
7075 * gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust.
7076 * passes.c (pass_rest_of_compilation): Adjust.
7077 * predict.c (pass_profile): Adjust.
7078 * tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust.
7079 * tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts,
7080 pass_split_crit_edges, pass_warn_function_return): Adjust.
7081 * tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust.
7082 * tree-dfa.c (pass_referenced_vars): Adjust.
7083 * tree-eh.c (pass_lower_eh): Adjust.
7084 * tree-if-conv.c (pass_build_ssa): Adjust.
7085 * tree-into-ssa.c (pass_build_ssa): Adjust.
7086 * tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
7087 * tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
7088 * tree-nrv.c (pass_nrv): Adjust.
7089 * tree-optimize.c (pass_gimple, pass_all_optimizations,
7090 pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
7091 pass_init_datastructures): Adjust.
7092 * tree-outof-ssa.c (pass_del_ssa): Adjust.
7093 * tree-profile.c (pass_tree_profile): Adjust.
7094 * tree-sra.c (pass_sra): Adjust.
7095 * tree-ssa-alias.c (pass_may_alias): Adjust.
7096 * tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust.
7097 * tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust.
7098 * tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust.
7099 * tree-ssa-dom.c (pass_dominator): Adjust.
7100 * tree-ssa-dse.c (pass_dse): Adjust.
7101 * tree-ssa-forwprop.c (pass_forwprop): Adjust.
7102 * tree-ssa-if-conv.c (pass_if_conversion): Adjust.
7103 * tree-ssa-loop-ch.c (pass_ch): Adjust.
7104 * tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim,
7105 pass_loop_done, pass_complete_unroll, pass_iv_canon,
7106 pass_iv_optimize, pass_vectorize): Adjust.
7107 * tree-ssa-phiopt.c (pass_phiopt): Adjust.
7108 * tree-ssa-pre.c (pass_pre, pass_fre): Adjust.
7109 * tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized,
7110 pass_late_warn_uninnitialized): Adjust.
7111 * tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust.
7112
7113 * Makefile.in (tree-dump.o): Add new dependencies.
7114 * cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all.
7115 * cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize):
7116 Likewise.
7117 * toplev.c (dump_file_name): New.
7118 * tree-dump.c (dump_enable_all): Add LETTER parameter.
7119 (struct dump_file_info): Add NUM and LETTER fields.
7120 (dump_files): Adjust and add RTL dump files.
7121 (dump_register): Add NUM and LETTER fields.
7122 (get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New.
7123 (dump_begin): Use get_dump_file_name.
7124 (dump_switch_p_1): Adjust call to dump_enable_all.
7125 * tree-dump.h (dump_register): Adjust prototype.
7126 * tree-optimize.c (register_one_dump_file): Take dump file index.
7127 Support flags for RTL dumps.
7128 (register_dump_files): Fill in NUM field of struct dump_file_info.
7129 Track properties both when the gate is executed and when it is not.
7130 (execute_todo): Dump RTL. Add PROPERTIES parameter.
7131 (execute_one_pass): Pass properties to execute_todo. Handle VCG
7132 dumps of RTL.
7133 * tree-pass.h (dump_file_name): New.
7134 * tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p):
7135 New.
7136
7137 * Makefile.in (passes.o): Add new dependencies.
7138 * passes.c (struct dump_file_info, enum dump_file_index,
7139 dump_file_tbl, init_optimization_passes): Remove.
7140 (open_dump_file, close_dump_file): Use tree-dumping infrastructure.
7141 (rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use
7142 dump_enabled_p.
7143 (finish_optimization_passes): Update finish_graph_dump_file loop.
7144 (enable_rtl_dump_file): Remove.
7145 * tree-dump.c (dump_files): Adjust and add RTL dump files.
7146 (enable_rtl_dump_file): Add here.
7147 * tree.h (enum tree_dump_index): Add RTL dump file indices.
7148 * doc/invoke.texi (Debugging options): Document new RTL debugging
7149 options. Update.
7150
8c27b7d4
KH
71512004-09-05 Kazu Hirata <kazu@cs.umass.edu>
7152
7153 * c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
7154 gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
7155 stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
7156 tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
7157 tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
7158 tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
7159 tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
7160 vec.h: Fix comment formatting.
7161
2a7e31df
KH
71622004-09-05 Kazu Hirata <kazu@cs.umass.edu>
7163
7164 * c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
7165 et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
7166 hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
7167 tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
7168 tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
7169 tree-ssa-loop-niter.c, tree-ssa-operands.c,
7170 tree-ssa-operands.h, tree-ssa-propagate.c,
7171 tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
7172 vec.c, vec.h: Fix comment typos. Follow spelling conventions.
7173
2addf926
DN
71742004-09-05 Diego Novillo <dnovillo@redhat.com>
7175
7176 * tree-if-conv.c (gate_tree_if_conversion): Enable only if the
7177 vectorizer is enabled.
7178
61b5f210
AJ
71792004-09-05 Andreas Jaeger <aj@suse.de>
7180
7181 * tree-if-conv.c: Spell check comments and clean up whitespace.
7182
8b11a64c
ZD
71832004-09-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7184
7185 * tree-ssa-loop-ivopts.c: New file.
7186 * Makefile.in (tree-ssa-loop-ivopts.c): Add.
7187 * cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
7188 target_pres_cost, target_spill_cost): Declare.
7189 * cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
7190 spill_cost): Renamed to ...
7191 (target_avail_regs, target_res_regs, target_small_cost,
7192 target_pres_cost, target_spill_cost): ... and exported.
7193 (init_set_costs, global_cost_for_size): Work with renamed variables.
7194 * common.opt (flag_ivopts): New flag.
7195 * expr.c (expand_expr_real_1): Handle SSA_NAME case. Handle
7196 REF_ORIGINAL.
7197 * gimplify.c (struct gimplify_ctx): Add into_ssa field.
7198 (internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
7199 generating SSA form.
7200 (force_gimple_operand): New function.
7201 * timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
7202 * tree-cfg.c (stmt_bsi): New function.
7203 * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
7204 PARAM_IV_MAX_CONSIDERED_USES): New.
7205 * tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
7206 bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
7207 ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.
7208 * tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names.
7209 * tree-nested.c (build_addr): Export.
7210 * tree-optimize.c (init_tree_optimization_passes): Add
7211 pass_iv_optimize.
7212 * tree-pass.h (pass_iv_optimize): Declare.
7213 * tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and
7214 IMAGPART_EXPR.
7215 * tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable
7216 as a phi node argument.
7217 (split_loop_exit_edge, bsi_insert_on_edge_immediate_loop,
7218 ip_end_pos, ip_normal_pos, standard_iv_increment_position): New
7219 functions.
7220 * tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export.
7221 * tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts,
7222 pass_iv_optimize): New pass.
7223 * tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL.
7224 * tree-ssanames.c (release_ssa_name): Allow calling with var = NULL.
7225 * tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions.
7226 * tree.h (REF_ORIGINAL): New macro.
7227 (build_int_cst_type, unsigned_type_for, zero_p,
7228 cst_and_fits_in_hwi, build_addr): Declare.
7229 * doc/invoke.texi (-fivopts): Document.
7230 (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
7231 PARAM_IV_MAX_CONSIDERED_USES): Document.
7232 * doc/passes.texi: Document induction variable optimizations pass.
7233
254986c7
KG
72342004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7235
7236 * builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
7237 * builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
7238 * c-common.c (c_common_attribute_table): Accept parameters to
7239 sentinel attribute.
7240 (check_function_sentinel, handle_sentinel_attribute): Likewise.
7241 * doc/extend.texi: Update accordingly.
7242
3d091dac
KG
72432004-09-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7244
7245 * builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
7246 New.
7247 * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
7248 attribute.
7249 * c-common.c (handle_sentinel_attribute, check_function_sentinel):
7250 New functions.
7251 (c_common_attribute_table): Add `sentinel' attribute.
7252 (check_function_arguments): Handle `sentinel' attribute.
7253 * doc/extend.texi: Document `sentinel' attribute.
8f1529e6 7254
44269c40 72552004-09-04 H.J. Lu <hongjiu.lu@intel.com>
a60749f5 7256
3d091dac
KG
7257 * configure: Regenerated.
7258
44269c40
KG
72592004-09-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7260
875803a0
RK
7261 * gimplify.c (internal_get_tmp_var): Remove unused var CLASS.
7262
c51c248f
RK
7263 * tree.c (save_expr): No longer TREE_READONLY.
7264
8d168c24
JH
72652004-09-04 Jan Hubicka <jh@suse.cz>
7266
7267 * passes.c (rest_of_clean_state): Fix merge conflict made during
7268 commiting the patch.
7269
0a9aeefd
JH
72702004-09-04 Jan Hubicka <jh@suse.cz>
7271
7272 * passes.c (rest_of_clean_state): Decompose the instruction stream.
7273
273a2526
RS
72742004-09-04 Richard Sandiford <rsandifo@redhat.com>
7275
7276 * doc/md.texi (shift patterns): New anchor. Add reference to
7277 TARGET_SHIFT_TRUNCATION_MASK.
7278 * doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document.
7279 * target.h (shift_truncation_mask): New target hook.
7280 * targhook.h (default_shift_truncation_mask): Declare.
7281 * targhook.c (default_shift_truncation_mask): Define.
7282 * target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define.
7283 (TARGET_INITIALIZER): Include it.
7284 * simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT
7285 and LSHIFTRT cases. Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise
7286 reject all out-of-range values. Fix sign-extension code for modes
7287 whose width is smaller than HOST_BITS_PER_WIDE_INT.
7288 * optabs.c (simplify_expand_binop, force_expand_binop): New functions.
7289 (expand_superword_shift, expand_subword_shift): Likewise.
7290 (expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise.
7291 (expand_binop): Use them to implement double-word shifts.
7292 * config/arm/arm.c (arm_shift_truncation_mask): New function.
7293 (TARGET_SHIFT_TRUNCATION_MASK): Define.
7294
caf29de7
JH
72952004-09-04 Jan Hubicka <jh@suse.cz>
7296
7297 * tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
7298 (mix): New macro copied from hashtab.c
7299 (iterative_hash_hashval_t, iterative_hash_pointer,
7300 iterative_hash_host_wide_int): New functions based on hashtab.c
7301 implementation.
7302
e83adf94
RS
73032004-09-04 Richard Sandiford <rsandifo@redhat.com>
7304
7305 * config/mips/mips.md (mask): New mode attribute.
7306 (zero_extendsidi2): Add memory alternative.
7307 (*zero_extendsidi2_mem): Delete.
7308 (zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT. Use
7309 memory_operand in the TARGET_MIPS16 check.
7310 (*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns.
7311 Redefine using :GPR and :SHORT.
7312 (zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check.
7313
edeacc14
UB
73142004-09-04 Uros Bizjak <uros@kss-loka.si>
7315
7316 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L}
7317 using rint_optab.
7318 (expand_builtin): Expand BUILT_IN_RINT{,F,L} using
7319 expand_builtin_mathfn.
7320 * genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use
7321 btrunc?f patterns for btrunc_optab. Implement rint_optab using
7322 rint?f patterns.
7323 * optabs.c (init_optabs): Initialize rint_optab.
7324 * optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc.
7325 Add new OTI_rint.
7326 (btrunc_optab): Rename macro from trunc_optab.
7327 (rint_optab): Define corresponding macro.
7328
7329 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR,
7330 UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM.
7331
7332 * config/i386/i386-protos.h (emit_i387_cw_initialization):
7333 Change prototype. Add new int parameter.
7334 * config/i386/i386.c (emit_i387_cw_initialization):
7335 Handle new rounding modes.
7336
7337 * config/i386/i386.h (enum fp_cw_mode): Delete.
c9996000 7338 (MODE_NEEDED): Handle new rounding modes.
edeacc14
UB
7339 (EMIT_MODE_SET): Change condition to handle new rounding modes.
7340
7341 * config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL,
7342 UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to
7343 represent different rounding modes of frndint insn.
7344 (type): Add frndint type.
7345 (i387, length, memory): Handle this type.
7346 (i387_cw): New attribute definition.
7347 (*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory,
7348 *fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory,
7349 *fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory):
7350 Add "i387_cw" attribute defined to "trunc".
7351 (x86_fnstcw_1): Remove comment.
7352 (*frndintxf2): Rename insn definition to frndintxf2. Move
7353 insn definition near rint?f2 expanders.
7354 (rintdf2, rintsf2, rintxf2): New expanders to implement rint,
7355 rintf and rintl built-ins as inline x87 intrinsics.
7356 (frndintxf2_floor): New pattern to implement floor rounding
7357 mode with frndint x87 instruction.
7358 (floordf2, floorsf2, floorxf2): New expanders to implement floor,
7359 floorf and floorl built-ins as inline x87 intrinsics.
7360 (frndintxf2_ceil): New pattern to implement ceil rounding
7361 mode with frndint x87 instruction.
7362 (ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil,
7363 ceilf and ceill built-ins as inline x87 intrinsics.
7364 (frndintxf2_trunc): New pattern to implement trunc rounding
7365 mode with frndint x87 instruction.
7366 (btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc,
7367 truncf and truncl built-ins as inline x87 intrinsics.
7368 (frndintxf2_mask_pm): New pattern to implement rounding
7369 mode with exceptions with frndint x87 instruction.
7370 (nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to
7371 implement nearbyint, nearbyintf and nearbyintl built-ins as
7372 inline x87 intrinsics.
7373
183f019b
RS
73742004-09-04 Richard Sandiford <rsandifo@redhat.com>
7375
7376 * config/mips/mips.md (SHORT): New mode macro.
7377 (size): New mode attribute.
7378 (extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.
7379 (*extend[qh]i[sd]i2): New define_insn_and_split, combining previous
7380 *extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns. Use only if
7381 !ISA_HAS_SEB_SEH.
7382 (*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous
7383 *extend[qh]isi2_hw patterns and extending them to di.
7384 (extendqihi2): Implement as define_insn_and_split that produces
7385 extendqisi2 after reload.
7386
40923b20
DP
73872004-09-03 Devang Patel <dpatel@apple.com>
7388
7389 * Makefile.in (OBJS-common): Add tree-if-conv.o
7390 (tree-if-conv.o): New rule.
7391 * cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag.
7392 (get_loop_body_in_bfs_order): New.
7393 * cfgloop.h (get_loop_body_in_bfs_order): New.
7394 * tree-flow.h (enum move_pos): Move here from ..
7395 * tree-ssa-loop-im.c (enum move_pos): here.
7396 (movement_possibility): Make externally visible.
7397 * tree-optimize.c (init_tree_optimization_passes): New entry for
7398 if conversion pass.
7399 * tree-pass.h (pass_if_conversion): New.
7400 * tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR.
7401 * tree-if-conv.c: New file.
7402 * doc/passes.texi: Document tree if-conversion pass.
c9996000 7403 * doc/tree-ssa.texi: Same.
40923b20 7404
443728bb
L
74052004-09-03 H.J. Lu <hongjiu.lu@intel.com>
7406
7407 PR target/14925:
7408 Makefile.in (LIB2ADDEHSTATIC): New.
7409 (LIB2ADDEHSHARED): New.
7410 (LIBUNWIND): New.
7411 (LIBUNWINDDEP): New.
7412 (SHLIBUNWIND_LINK): New.
7413 (SHLIBUNWIND_INSTALL): New.
7414 (libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
7415 LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
7416 (clean): Remove libunwind*
7417 (stage1-start): Remove and copy stage1/libunwind*.
7418 (stage2-start): Remove and copy stage2/libunwind*.
7419 (stage3-start): Remove and copy stage3/libunwind*.
7420 (stage4-start): Remove and copy stage4/libunwind*.
7421 (stageprofile-start): Remove and copy stageprofile/libunwind*.
7422 (stagefeedback-start): Remove and copy stagefeedback/libunwind*.
7423
7424 * config.gcc (ia64*-*-linux*): Always add t-libunwind to
7425 tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
7426 tmake_file if --with-system-libunwind isn't used.
7427
7428 * config/ia64/t-glibc-libunwind: New file.
7429 * config/t-libunwind-elf: Likewise.
7430 * unwind-compat.c: Likewise.
7431 * unwind-compat.h: Likewise.
7432 * unwind-dw2-fde-compat.c: Likewise.
7433
7434 * config/ia64/t-glibc (LIB2ADDEH): Updated.
7435 * config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
7436
7437 * config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
7438 aliases if needed.
7439 * unwind-dw2-fde-glibc.c: Likewise.
7440 * unwind-dw2.c: Likewise.
7441
7442 * config/t-libunwind (LIB2ADDEH): Updated.
7443 (LIB2ADDEHSTATIC): New.
7444 (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
7445 (TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
7446
7447 * configure.ac: Change --enable-libunwind-exceptions to
7448 --with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
7449 * configure: Regenerated.
7450 * config.in: Updated.
7451
7452 * doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
7453 above and mention --with-system-libunwind.
7454 (ia64-*-hpux*): Mention --enable-libunwind-exceptions is
7455 removed in gcc 3.4.3 and later.
7456
7457 * gcc.c (init_spec): Add -lunwind to -lgcc_s if
7458 USE_LIBUNWIND_EXCEPTIONS is defined.
7459
7460 * mklibgcc.in: Support libunwind.
7461
d20bf446
L
74622004-09-03 H.J. Lu <hongjiu.lu@intel.com>
7463
7464 * config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and
7465 m_NOCONA.
7466
1f6d3a08
RH
74672004-09-03 Richard Henderson <rth@redhat.com>
7468
93f8bd9e
ZW
7469 PR middle-end/9997
7470 * cfgexpand.c (LOCAL_ALIGNMENT): Provide default.
7471 (STACK_ALIGNMENT_NEEDED, FRAME_GROWS_DOWNWARD): Likewise.
7472 (struct stack_var, EOC, stack_vars, stack_vars_alloc, stack_vars_num,
7473 stack_vars_sorted, stack_vars_conflict, stack_vars_conflict_alloc,
7474 frame_phase, get_decl_align_unit, add_stack_var, triangular_index,
7475 resize_stack_vars_conflict, add_stack_var_conflict,
7476 stack_var_conflict_p, add_alias_set_conflicts, stack_var_size_cmp,
7477 union_stack_vars, partition_stack_vars, dump_stack_var_partition,
7478 expand_one_stack_var_at, expand_stack_vars, expand_one_stack_var,
1f6d3a08
RH
7479 expand_one_static_var, expand_one_hard_reg_var,
7480 expand_one_register_var, expand_one_error_var, defer_stack_allocation,
7481 expand_one_var, expand_used_vars_for_block, clear_tree_used): New.
93f8bd9e 7482 (expand_used_vars): Rewrite.
1f6d3a08
RH
7483 * Makefile.in (cfgexpand.o): Update dependencies.
7484
80d8221e
JH
74852004-09-04 Jan Hubicka <jh@suse.cz>
7486
7487 * cfg.c (free_edge): Use ggc_free.
7488 (expunge_block): Use ggc_free.
7489 * passes.c (rest_of_clean_state): Free after compilation.
7490 * tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs
7491 * tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments.
7492
bb1058e4
JW
74932004-09-03 James E Wilson <wilson@specifixinc.com>
7494
7495 * tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
7496 DECL_EXTERNAL check.
7497
ca83de6b
EB
74982004-09-03 Eric Botcazou <ebotcazou@libertysurf.fr>
7499
7500 * final.c (output_in_slot): New global variable.
7501 (final_scan_insn): Add new state '2' to the 'nopeepholes' parameter.
7502 Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE. Set
7503 'output_in_slot' before invoking output_asm_insn.
7504 (output_asm_insn): Add a space after the tab if 'output_in_slot'
7505 is set.
7506 * config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to
7507 final_scan_insn.
7508 (output_sibcall): Likewise.
7509
1e3e17d3
JH
75102004-09-03 Jan Hubicka <jh@suse.cz>
7511
7512 * tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
7513 * tree-ssanames (init_ssanames): Likewise.
7514
c41e5f27
ZL
75152004-09-03 Ziemowit Laski <zlaski@apple.com>
7516
7517 * stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class,
7518 objc_declare_protocols, objc_start_protocol,
7519 objc_start_class_interface, objc_start_category_interface,
7520 objc_continue_interface, objc_finish_interface,
7521 objc_add_instance_variable, objc_set_visibility, objc_set_method_type,
7522 objc_start_class_implementation, objc_start_category_implementation,
7523 objc_continue_implementation, objc_finish_implementation,
7524 objc_add_method_declaration, objc_start_method_definition,
7525 objc_finish_method_definition, objc_build_keyword_decl,
7526 objc_build_method_signature, objc_build_encode_expr,
7527 objc_build_protocol_expr, objc_build_selector_expr,
7528 objc_build_message_expr, objc_build_string_object,
7529 objc_get_class_reference, objc_get_protocol_qualified_type,
7530 objc_static_init_needed_p, objc_generate_static_init_call): New stubs.
7531
b30d77c4
JW
75322004-09-03 James E Wilson <wilson@specifixinc.com>
7533
7534 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d.
7535
7536 * config/mips/generic.md (generic_frecip_fsqrt_step): New.
7537 * config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type.
7538 (mips_rsqrt2_<fmt>): Use frsqrt2 type.
7539 (mips_recip1_<fmt>): Use frdiv1 type.
7540 (mips_recip2_<fmt>): Use frdiv2 type.
7541 * config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2.
7542 * config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1
7543 and frsqrt1.
7544 (ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New.
7545
87cda9d6
DJ
75462004-09-03 Daniel Jacobowitz <dan@debian.org>
7547
7548 * reload.c (find_reloads): Swap operand_loc pointers for
7549 find_dummy_reload if we have swapped two operands.
7550
f671762a
HPN
75512004-09-03 Hans-Peter Nilsson <hp@axis.com>
7552
7553 * config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn
7554 to get the tablejump-insn before the jump-table label.
7555
a45bcfb2
ZL
75562004-09-03 Ziemowit Laski <zlaski@apple.com>
7557
7558 * c-common.h (objc_is_id, objc_declare_alias, objc_declare_class,
7559 objc_declare_protocols, objc_build_message_expr,
7560 objc_finish_message_expr, objc_build_selector_expr,
7561 objc_build_protocol_expr, objc_build_encode_expr,
7562 objc_build_string_object, objc_get_protocol_qualified_type,
7563 objc_get_class_reference, objc_get_class_ivars,
7564 objc_start_class_interface, objc_start_category_interface,
7565 objc_start_protocol, objc_continue_interface, objc_finish_interface,
7566 objc_start_class_implementation, objc_start_category_implementation,
7567 objc_continue_implementation, objc_finish_implementation,
7568 objc_set_visibility, objc_set_method_type, objc_build_method_signature,
7569 objc_add_method_declaration, objc_start_method_definition,
7570 objc_finish_method_definition, objc_add_instance_variable,
7571 objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt,
7572 objc_finish_try_stmt, objc_begin_catch_clause,
7573 objc_finish_catch_clause, objc_build_finally_clause,
7574 objc_build_synchronized, objc_static_init_needed_p,
7575 objc_generate_static_init_call): New prototypes.
7576
9dec91d4
SE
75772004-09-03 Steve Ellcey <sje@cup.hp.com>
7578
7579 * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there
7580 is only one reg.
7581 (ia64_function_value): Ditto.
7582
61fec9ff
JB
75832004-09-03 Jan Beulich <jbeulich@novell.com>
7584
7585 * config.gcc: Resurrect NetWare as a target. Handle special case of
7586 Novell linker to be used (specified through --with-ld=) and threading
7587 model of either Posix (default) or NKS.
7588 * config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
7589 of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
7590 * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
7591 * config/i386/netware.c, config/i386/netware.h: New.
7592 * config/i386/nwld.c, config/i386/nwld.h: New.
7593 * config/i386/netware-crt0.c: New.
7594 * config/i386/netware-libgcc.c: New.
7595 * config/i386/netware-libgcc.def: New.
7596 * config/i386/netware-libgcc.exp: New.
7597 * config/i386/t-netware, config/i386/t-nwld: New.
7598 * gthr-nks.h: New.
7599 * doc/install.texi: Document NKS threading model.
7600
467cecf3
JB
76012004-09-03 Jan Beulich <jbeulich@novell.com>
7602
7603 PR c/7054
7604 * defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default.
7605 * tree.h (initial_max_fld_align): Declare
7606 * stor-layout.c (initial_max_fld_align): Define and initialize.
7607 (maximum_field_alignment): Initialize to the same value.
7608 * common.opt: Add -fpack-struct= variant of switch.
7609 * opts.c: Handle -fpack-struct= variant of switch.
7610 * c-pragma.c: Change #pragma pack() handling so that it becomes
7611 compatible to other compilers: accept individual 'push' argument,
7612 make final pop restore (command line) default, correct interaction
7613 of push/pop and sole specification of a new alignment (so that the
7614 sequence #pragma pack(push) - #pragma pack(<n>) becomes identical
7615 to #pragma pack(push, <n>).
7616 * doc/extend.texi: New node "Structure-Packing Pragmas" under
7617 "Pragmas", describing #pragma pack.
7618 * doc/invoke.texi: Document -fpack-struct=<n> variant of switch.
7619 * doc/tm.texi: Adjust description for HANDLE_PRAGMA_PACK_PUSH_POP.
7620 Document new TARGET_DEFAULT_PACK_STRUCT.
7621
90300b8c
DP
76222004-09-03 Devang Patel <dpatel@apple.com>
7623
7624 * dwarf2out.c (gen_field_die). Equate decl number to die.
c9996000 7625
d6df6ae2
VM
76262004-09-03 Vladimir Makarov <vmakarov@redhat.com>
7627
7628 PR target/15832
7629 * global.c (modify_reg_pav): New function.
7630 (make_accurate_live_analysis): Call the new function. Move pavin
7631 modification by earlyclobber set into the new function.
7632
25c99d8f
AS
76332004-09-03 Andreas Schwab <schwab@suse.de>
7634
7635 * config/m68k/m68k.c (output_andsi3): Use -1 instead of
7636 (HOST_WIDE_INT)0xffffffff since CONST_INT value are always sign
7637 extended.
7638
7f148c2f
JB
76392004-09-02 Jan Beulich <jbeulich@novell.com>
7640
7641 * Makefile.in (LIB2ADDEHDEP): Add unwind.h and unwind-pe.h.
7642 * mklibgcc.in (libgcc_dep): New, covering general dependencies, but
7643 not unwind code specific ones.
7644 (libgcc2_c_dep): Replace general dependencies with use of libgcc_dep.
7645 Remove unwind code specific dependencies.
7646 (libgcov_c_dep): Replace general dependencies with use of libgcc_dep.
7647 Remove gbl-ctors.h.
7648 Add libgcc_dep to output generated for LIB2ADD, LIB2ADDEH, and
7649 LIB2ADD_ST. Add LIB2ADDEHDEP to output generated for LIB2ADDEH.
7650 * tsystem.h: Declare memcpy and memset when inhibit_libc.
7651
9e42ab3e 76522004-09-02 Roman Zippel <zippel@linux-m68k.org>
c9996000 7653
9e42ab3e
RZ
7654 * combine.c (try_combine): Delay modifying of insns which cannot
7655 be easily undone.
7656
1b08d87d
DB
76572004-09-02 Daniel Berlin <dberlin@dberlin.org>
7658
7659 * gcc/common.opt: Rename ivcanon to tree-loop-ivcanon, tree-lim to
7660 tree-loop-im.
7661 * gcc/tree-ssa-loop.c: Ditto
7662 * gcc/tree-ssa-loop-ivcanon.c: Ditto
7663 * gcc/doc/invoke.texi: Ditto.
7664
d4e43dff
ZL
76652004-09-02 Ziemowit Laski <zlaski@apple.com>
7666
7667 * c-decl.c (store_parm_decls_newstyle): Make static.
7668 (store_parm_decls_from): New function.
7669 * c-tree.h (store_parm_decls_newstyle): Remove prototype.
7670 (store_parm_decls_from): New prototype.
7671
cd7d9ca4
DE
76722004-09-02 David Edelsohn <edelsohn@gnu.org>
7673
7674 * config/rs6000/rs6000.c (expand_block_move): Use SImode and
7675 HImode with STRICT_ALIGNMENT.
7676
40a1c5cb
MM
76772004-09-02 Mark Mitchell <mark@codesourcery.com>
7678
7679 * config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
7680 (TARGET_OS_CPP_BUILTINS): Likewise.
7681 * config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Include
7682 TARGET_BPABI_CPP_BUILTINS.
7683
b54567e2 76842004-09-02 Roman Zippel <zippel@linux-m68k.org>
c9996000 7685
b54567e2
RZ
7686 * combine.c (distribute_notes): Don't add REG_LABEL to jump insn.
7687
5906d013
EC
76882004-09-02 Eric Christopher <echristo@redhat.com>
7689
7690 * builtins.c (expand_builtin_cabs): Delete.
7691 (expand_builtin): If unable to fold the values do a normal
7692 library call for builtin_cab*.
7693 (fold_builtin_cabs): Depend on optimize and optimize_size.
7694 * optabs.c (expand_cmplxdiv_straight): Delete.
7695 (expand_cmplxdiv_wide): Ditto.
7696 (expand_vector_binop): Ditto.
7697 (expand_vector_unop): Ditto.
7698 (expand_complex_abs): Delete.
7699 (expand_binop): Remove calls to above functions.
7700 Remove open coding of complex arithmetic.
7701 (expand_unop): Ditto.
7702 * optabs.h: Remove prototypes.
7703
3041390d
ZL
77042004-09-02 Ziemowit Laski <zlaski@apple.com>
7705
7706 * c-decl.c (store_parm_decls_newstyle): Make externally visible.
7707 * c-tree.h (store_parm_decls_newstyle): New prototype.
7708
5514620a
GK
77092004-09-02 Geoffrey Keating <geoffk@apple.com>
7710
7711 * config/rs6000/rs6000.c (expand_block_clear): Use vector
7712 instructions if available.
7713 (expand_block_move): Likewise.
7714
02f14c38
JH
77152004-09-03 Jan Hubicka <jh@suse.cz>
7716
7717 * rtl.def (RANGE_INFO, RANGE_REG, RANGE_VAR, RANGE_LIVE): Kill.
7718
19dc705e
MM
77192004-09-02 Mark Mitchell <mark@codesourcery.com>
7720
7721 * config/arm/symbian.h (LIB_SPEC): Define to empty.
7722 * config/arm/t-symbian (SHLIB_LC): Likewise.
7723
24112ed0
PB
77242004-09-02 Paul Brook <paul@codesourcery.com>
7725
7726 * config/arm/bpabi.c (__aeabi_ul2d, __aeabi_ul2f): Remove.
7727
7ad769fe
RS
77282004-09-02 Richard Sandiford <rsandifo@redhat.com>
7729
7730 * config/mips/mips.c (mips_classify_symbol, mips_fetch_insns):
7731 (mips_restore_gp, mips_set_return_address, mips_expand_prologue)
7732 (mips16_fp_args, mips_avoid_hazard): Replace abort with gcc_assert.
7733 (build_mips16_call_stub): Likewise. Remove daft CALL_INSN checks.
7734 (mips_issue_rate): Remove unreachable abort.
7735 (mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns)
7736 (mips_output_move, mips_relational_operand_ok_p, mips_arg_info)
7737 (mips_block_move_straight, print_operand_address, mips_file_start)
7738 (mips_initial_elimination_offset, mips16_fp_args, dump_constants_1)
7739 (mips_output_conditional_branch, mips_expand_builtin_direct)
7740 (mips_expand_builtin_compare): Replace abort with gcc_unreachable.
7741 * config/mips/mips.md (rotr<mode>3, consttable_float): Replace abort
7742 with gcc_assert.
7743
9f09b415
RS
77442004-09-02 Richard Sandiford <rsandifo@redhat.com>
7745
7746 * config/mips/mips.md (*lea_high64): Change split condition to
7747 flow2_completed. Add a peephole2 to generate a more parallel version.
7748
07724022
JH
77492004-09-02 Jan Hubicka <jh@suse.cz>
7750
7751 * gimplify.c (gimplify_compound_lval): Move "stack" varray out of
7752 GGC.
7753
7754 * ggc-page.c: include tree-flow.h.
7755 (extra_order_size_table): Add stmt_ann_d.
7756 (STAT_LABEL): Rename from ....
7757 (LABEL): ... this one.
7758 * Makefile.in (ggc-page.o): Add dependency.
7759
7760 * ggc-common.c (ggc_force_collect): New global variable.
7761 (loc_description): Add fields "freed", "collected"
7762 (ptr_hash): New static hash
7763 (ptr_hash_entry): New structure.
7764 (hash_ptr,eq_ptr,ggc_prune_ptr): New static functions.
7765 (ggc_record_overhead): Take ptr argument, record it
7766 (ggc_prune_overhead_list, ggc_free_overhead): New functions.
7767 (cmp_statistics): Imrove sorting.
7768 (dump_ggc_loc_statistics): Output newly collected statistics
7769 * ggc-page.c (ggc_alloc): Update call of ggc_record_overhead
7770 (ggc_free): Call ggc_free_overhead.
7771 (ggc_collect): Force collection when asked to be forced.
7772 (ggc_collect): Call ggc_prune_overhead_list.
7773 * ggc.h (ggc_force_collect): Declare
7774 (ggc_record_overhead): Update prototype.
7775 (ggc_free_overhead, ggc_prune_overhead_list): Declare.
7776
10060b83
JW
77772004-09-02 James E Wilson <wilson@specifixinc.com>
7778
7779 * common.opt (ftrapping-math): Default to on.
7780
9d2da95b
RE
77812004-09-02 Richard Earnshaw <rearnsha@arm.com>
7782
7783 * arm/predicates.md (arm_reload_memory_operand): Allow MEM.
7784
3f1f9228
DC
77852004-09-02 Denis Chertykov <denisc@overta.ru>
7786
7787 PR target/16884
7788 * config/avr/avr.md ("movmemhi"): Substitute match_dup to
7789 match_scratch.
7790 (*movmemqi_insn): Likewise.
7791 (*movmemhi): Likewise.
7792 (clrmemhi): Likewise.
7793 (*clrmemqi): Likewise.
7794 (*clrmemhi): Likewise.
7795
e6fc6c9b
PB
77962004-09-02 Paul Brook <paul@codesourcery.com>
7797
7798 * config.gcc (arm*-*-eabi* | arm*-*-symbianelf*): Set
7799 default_use_cxa_atexit=yes.
7800
d86c1b91
AM
78012004-09-02 Alan Modra <amodra@bigpond.net.au>
7802
7803 * config/rs6000/linux64.h: Don't include signal.h or sys/ucontext.h.
7804 (struct kernel_old_ucontext): Delete.
7805 (struct gcc_pt_regs, gcc_sigcontext, gcc_ucontext): New.
7806 (MD_FALLBACK_FRAME_STATE_FOR): Use gcc_* structs. Only define
7807 when IN_LIGGCC2.
7808
3806400d
RS
78092004-09-02 Richard Sandiford <rsandifo@redhat.com>
7810
7811 * toplev.c (process_options): Fix typo.
7812
9969aaf6
RH
78132004-09-01 Richard Henderson <rth@redhat.com>
7814
7815 PR middle-end/17258
7816 * calls.c (initialize_argument_information): Tighten pass-through
7817 conditions for pass-by-reference. Remove dead TARGET_EXPR code.
7818 Use build_fold_addr_expr.
7819 (emit_library_call_value_1): Use build_fold_addr_expr. Remove code
7820 that assumes ADDR_EXPR allocates stack space.
7821 * fold-const.c (build_fold_addr_expr_with_type): Look through
7822 WITH_SIZE_EXPR.
7823
1e8964cf
DN
78242004-09-01 Dan Nicolaescu <dann@ics.uci.edu>
7825
7826 * gengenrtl.c (gendef): Use rtx_alloc, don't do PUT_CODE.
7827 * ggc.h (ggc_alloc_rtx): Delete.
7828
26276705
RS
78292004-09-01 Roger Sayle <roger@eyesopen.com>
7830
7831 * expmed.c (enum alg_code): Remove long unused enumeration values.
7f148c2f 7832 (struct mult_cost): New structure to hold the "score" of a synthetic
26276705
RS
7833 multiply sequence, including both a rtx_cost and a latency field.
7834 (MULT_COST_LESS): New macro to compare mult_cost to a constant.
7835 (CHEAPER_MULT_COST): New macro to compare two mult_costs.
7836 (struct algorithm): Change type of cost field to be mult_cost.
7837 (synth_mult): Change type of cost_limit argument to be a
7838 pointer to a mult_cost. Update all cost comparisons to use the
5906d013 7839 new mult_cost infrastructure. For alg_add_factor and
26276705
RS
7840 alg_sub_factor operations, latency is lower than the rtx_cost.
7841 (choose_mult_variant): Update calls to synth_mult. Perform
7842 cost comparisons using the new mult_cost infrastructure.
7843 (expand_mult_highpart): Use alg.cost.cost instead of alg.cost
7844 to optain the total rtx_cost of a synth_mult "algorithm".
7845
594a3565
DE
78462004-09-01 David Edelsohn <edelsohn@gnu.org>
7847
7848 * config/rs6000/power4.md: Increase store latency to 12.
7849 * config/rs6000/power5.md: Same.
7850
130d5426
JW
78512004-09-01 James E Wilson <wilson@specifixinc.com>
7852
7853 PR target/14064
7854 * config/avr/avr.c (avr_unique_section): Delete prototype and
7855 definition.
7856 (TARGET_ASM_UNIQUE_SECTION): Delete.
7857
57a6af27
ZL
78582004-09-01 Ziemowit Laski <zlaski@apple.com>
7859
7860 * c-parse.in (primary): Call objc_build_message_expr(),
7861 objc_build_selector_expr(), objc_build_protocol_expr(),
7862 objc_build_encode_expr() and objc_build_string_object() instead of
7863 build_message_expr(), build_selector_expr(), build_protocol_expr(),
7864 build_encode_expr() and build_objc_string_object(), respectively.
7865 (component_decl_list2): Call objc_get_class_ivars() instead of
7866 get_class_ivars_from_name().
7867 (keyworddecl): Call objc_build_keyword_decl() instead of
7868 build_keyword_decl().
7869 (receiver): Call objc_get_class_reference() instead of
7870 get_class_reference().
7871 (reswords): Add blank line before @@ifobjc section, for clarity.
7872
5ec214fc
FJ
78732002-09-01 Fariborz Jahanian <fjahanian@apple.com>
7874
7875 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Restrict alignment
7876 to Altivec vetors.
7877
40219f96
WY
78782004-09-01 Wu Yongwei <adah@sh163.net>
7879 Danny Smith <dannysmith@users.sourceforge.net>
7880
7881 * gthr-win32.h (__gthread_recursive_mutex_t): Use 'unsigned long',
7882 not Windows 'DWORD'.
7883 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Correct typo.
7884 (__GTHREAD_RECURSIVE_MUTEX_INIT_DEFAULT): Likewise.
7885 (__gthr_win32_recursive_mutex_init_function): Add prototype for
7886 __GTHREAD_HIDE_WIN32API case..
7887 (__gthr_win32_recursive_mutex_lock): Likewise.
7888 (__gthr_win32_recursive_mutex_trylock): Likewise.
7889 (__gthr_win32_recursive_mutex_unlock): Likewise.
7890 (__gthread_recursive_mutex_init_function); Add definition for
7891 __GTHREAD_HIDE_WIN32API case.
7892 (__gthread_recursive_mutex_lock): Correct call to InterlockedDecrement.
7893 * config/i386/grthr-win32.c (__gthread_recursive_mutex_lock): Correct
7894 call to InterlockedDecrement.
7895
78ad8fbe
RK
78962004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7897
ba2e294d
RK
7898 * tree-tailcall.c (find_tail_calls): Also fail is statement has
7899 volatile operands.
7900
0705d602
RK
7901 * tree-ssa.c (propagate_into_addr): Properly test for LHR.
7902
78ad8fbe
RK
7903 * doc/c-tree.texi: Document new operands for ARRAY_REF and
7904 COMPONENT_REF.
7905
6d9901e7
ZD
79062004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7907
7908 * Makefile.in (rtl-profile.o, value-prof.o): Add GCC_H dependency.
7909 * common.opt (fspeculative-prefetching): New.
7910 * flags.h (flag_speculative_prefetching_set): Declare.
7911 * gcov-io.c (gcov_write_counter, gcov_read_counter): Allow negative
7912 values.
7913 * opts.c (flag_sepculative_prefetching_set): New variable.
7914 (common_handle_option): Handle -fspeculative-prefetching.
7915 * passes.c (rest_of_compilation): Ditto.
7916 * profile.c (instrument_values, compute_value_histograms, branch_prob):
7917 Use vectors instead of arrays.
7918 * toplev.c (process_options): Handle -fspeculative-prefetching.
7919 * rtl-profile.c: Include ggc.h.
7920 (rtl_gen_interval_profiler, rtl_gen_pow2_profiler,
7921 rtl_gen_one_value_profiler_no_edge_manipulation,
7922 rtl_gen_one_value_profiler, rtl_gen_const_delta_profiler): Type of
7923 argument changed.
7924 * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
7925 tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Type of
7926 argument changed.
7927 * value-prof.c: Include ggc.h.
7928 (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX): New
7929 macros.
7930 (insn_prefetch_values_to_profile, find_mem_reference_1,
7931 find_mem_reference_2, find_mem_reference, gen_speculative_prefetch,
7932 speculative_prefetching_transform): New.
7933 (value_profile_transformations): Call speculative_prefetching_transform.
7934 (insn_values_to_profile): Call insn_prefetch_values_to_profile.
7935 (insn_divmod_values_to_profile, rtl_find_values_to_profile,
7936 tree_find_values_to_profile, find_values to profile): Use vectors
7937 instead of arrays.
7938 (free_profiled_values): Removed.
7939 * value-prof.h (struct histogram_value): Renamed to
7940 struct histogram_value_t.
7941 (histogram_value, histogram_values): New types.
7942 (find_values_to_profile): Declaration changed.
7943 (free_profiled_values): Removed.
7944 (struct profile_hooks): Type of argument of the hooks changed to
7945 histogram_value.
7946 * doc/invoke.texi (-fspeculative-prefetching): Document.
7947
d7fe1183
ZD
79482004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7949
7950 PR rtl-optimization/16408
7951 * gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
7952
938e234b
RH
79532004-09-01 Richard Henderson <rth@redhat.com>
7954
7f148c2f
JB
7955 * config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
7956 (TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
938e234b 7957
d0879c98
JJ
79582004-09-01 Jakub Jelinek <jakub@redhat.com>
7959
7960 * libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
7961
156a126c
MS
79622004-09-01 Mike Stump <mrs@apple.com>
7963
7964 * config/darwin.c (machopic_symbol_defined_p): In addition to
7965 being SYMBOL_REF_LOCAL_P, a symbol must also be
7966 ! SYMBOL_REF_EXTERNAL_P, as only those are _always_ locally
7967 defined in this output file, or translation unit in the case
7968 of IMA not being used.
7969 (machopic_output_indirection): SYMBOL_REF_LOCAL_P symbols
7970 never need .indirect_symbol when indirecting.
7971
a5d8b097
JJ
79722004-09-01 Jakub Jelinek <jakub@redhat.com>
7973
7974 * Makefile.in (bb-reorder.o): Add several dependencies.
7975
266bff3a
JJ
79762004-09-01 Jakub Jelinek <jakub@redhat.com>
7977
7978 * fold-const.c (operand_equal_p): Require equal sign also for
7979 FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR.
7980
32078532
RE
79812004-09-01 Richard Earnshaw <rearnsha@arm.com>
7982
7983 * config.gcc (--with-cpu on ARM): Preserve the canonical cpu name
7984 for use in configargs.h. Put the cname in a separate variable. Use
7985 that to set target_cpu_default2.
7986
c0311627
R
79872004-09-01 J"orn Rennecke <joern.rennecke@superh.com>
7988 Nick Clifton <nickc@redhat.com>
7989
7990 * config/sh/sh.md ("length"): Increase branch length when
7991 SH1 pic code to 18: 12 bytes of instructions, 4 byte for the
7992 constant, 2 byte for aligning the constant.
7993
d98a72fd
RE
79942004-09-01 Richard Earnshaw <rearnsha@arm.com>
7995
7996 * arm/arm-cores.def (ARM_CORE): Add new field for the real name of the
7997 CPU.
7998 (arm7tdmi-s): New CPU name.
7999 * arm/arm.c (ARM_CORE): Update for new format.
8000 * arm/arm.h (ARM_CORE): Likewise.
8001 * arm/gentune.sh: Update for extra field.
8002 * config.gcc: Likewise.
8003 * arm/arm-tune.md: Regenerate.
8004 * doc/invoke.texi: Document the real processor names for ARM cpus.
8005
0a1aa867
RE
80062004-09-01 Richard Earnshaw <rearnsha@arm.com>
8007
8008 * arm/ieee754-df.S (aeabi_ul2d, aeabi_l2d, floatundidf)
8009 (floatdidf): New functions.
8010 * arm/ieee754-sf.S (aeabi_ul2f, aeabi_l2f, floatundisf)
8011 (floatdisf): New functions.
8012 * t-arm-elf: Use them.
8013
bc095846
ZL
80142004-09-01 Ziemowit Laski <zlaski@apple.com>
8015
8016 * c-common.h (lookup_interface): Remove prototype.
8017 (is_class_name): Rename to objc_is_class_name.
8018 (lookup_objc_ivar): Rename to objc_lookup_ivar.
8019 (get_current_scope): Rename to objc_get_current_scope.
8020 * c-decl.c (get_current_scope): Rename to objc_get_current_scope.
8021 * c-parse.in (parmlist_or_identifiers_1): Get rid of unused variable.
8022 (yylexname): Call objc_is_class_name() instead of is_class_name().
8023 * c-typeck.c (build_external_ref): Call objc_lookup_ivar()
8024 instead of lookup_objc_ivar().
8025 * stub-objc.c (lookup_interface): Remove stub.
8026 (is_class_name): Rename to objc_is_class_name.
8027 (lookup_objc_ivar): Rename to objc_lookup_ivar.
8028
14945fe6
MM
80292004-08-31 Mark Mitchell <mark@codesourcery.com>
8030
8031 * config.gcc (arm*-*-symbianelf*): Do not include t-bpabi.
8032 * config/arm/lib1funcs.asm: Do not include supplemental .S files
8033 when compiling for Symbian.
8034 * config/arm/symbian.h (RENAME_LIBRARY): New macro.
8035 (TARGET_OS_CPP_BUILTINS): Likewise.
8036 * config/arm/t-symbian (LIB1ASMFUNCS): Define.
8037
93415288
SS
80382004-08-31 Stan Shebs <shebs@apple.com>
8039
8040 * toplev.c (process_options): Ensure debug_hooks is initialized.
8041
505970fc
MM
80422004-08-31 Mark Mitchell <mark@codesourcery.com>
8043
8044 * target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA.
8045 * target.h (cxx): Add export_class_data.
8046 * config/arm/arm.c (arm_cxx_export_class_data): New function.
8047 (TARGET_CXX_EXPORT_CLASS_DATA): Use it.
dc40803a 8048 * doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Document it.
5906d013 8049
bee9efbc
KK
80502004-08-31 Kaz Kojima <kkojima@gcc.gnu.org>
8051
8052 * config/sh/sh.c (output_branch): Check the insn length possibly
8053 in the delayed slot.
8054
a4e9ffe5
RK
80552004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8056
a0ca8e0c
RK
8057 * tree-pretty-print.c (dump_generic_node, case CONVERT_EXPR): Add
8058 blank after ')'.
8059 (op_symbol, case *_{DIV,MOD}_EXPR): Say what rounding is being used.
8060
a4e9ffe5
RK
8061 * c-common.c (c_alignof_expr): Use DECL_ALIGN_UNIT and TYPE_ALIGN_UNIT.
8062 (c_sizeof_of_alignof_type): Likewise.
8063 * expr.c (array_ref_element_size): Likewise.
8064 (highest_pow2_factor_for_target): Likewise.
8065 * gimplify.c (canonicalize_addr_expr): Likewise.
8066 (gimplify_compound_lval): Likewise.
8067 * stor-layout.c (finalize_record_size, finalize_type_size): Likewise.
8068 * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
8069 * varasm.c (assemble_variable): Likewise.
8070 (output_constant_def_contents): Alignments are unsigned.
8071
631b67ce
RK
80722004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8073 Jeff Law <law@redhat.com>
8074
8075 * tree-cfg.c (cfg_remove_useless_stmts_bb): Also invalidate if VAL
8076 gets modified.
8077
af287697
MM
80782004-08-31 Mark Mitchell <mark@codesourcery.com>
8079
8080 * hooks.c (hook_bool_void_true): New function.
8081 * hooks.h (hook_bool_void_true): Declare.
8082 * target-def.h (TARGET_CXX): Add
8083 TARGET_CXX_KEY_METHOD_MAY_BE_INLINE.
8084 * target.h (struct cxx): Add key_method_may_be_inline.
8085 * config/arm/arm.c (arm_cxx_key_method_may_be_inline): New
8086 function.
8087 (TARGET_CXX_KEY_METHOD_MAY_BE_INLINE): New macro.
8088 * config/arm/bpabi.h: Use __THUMB_INTERWORK__ instead of
8089 __THUMB_INTERWORK.
5906d013 8090
678584fc
DC
80912004-08-31 Denis Chertykov <denisc@overta.ru>
8092
8093 PR target/15417
8094 * config/avr/avr.c (avr_hard_regno_mode_ok): Enable usage of
8095 frame pointer register only in Pmode while reload in progress.
8096
c4c9b76e
SC
80972004-08-31 Stephane Carrez <stcarrez@nerim.fr>
8098
8099 PR target/15334
8100 * config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
8101 because it breaks the 32-bit shift patterns that rely on a match_dup.
8102
c61eceeb
MA
81032004-08-31 Matt Austern <austern@apple.com>
8104
8105 * config/darwin.c (darwin_make_decl_one_only): Allocate section
8106 names once per compilation, instead of once per symbol.
5906d013 8107
71b5d516
PB
81082004-08-31 Paolo Bonzini <bonzini@gnu.org>
8109
8110 * Makefile.in (build_subdir): New substitution.
8111 (fixinc.sh): Simplify heavily since fixincludes is already built.
8112 (stmp-fixinc): Depend on specs.ready.
8113 (install-mkheaders): Use new location of fixincludes.
8114 (clean): Do not descend into fixinc.
8115 (FORBUILD): Replace with ../$(build_subdir).
8116 * configure.ac (build_subdir): Substitute.
8117 (FORBUILD): Do not set.
8118 (all_outputs): Remove fixinc/Makefile.
8119 (default commands): Do not create links in fixinc.
8120 * mkfixinc.sh: New, from fixinc/mkfixinc.sh without
8121 the fixincludes configuration steps and substituting
8122 @FIXINCL@ in fixinc.in.
8123 * fixinc.in: New, from fixinc/fixincl.sh.
8124
8125 * fixinc/*: Removed.
5906d013 8126
f7b0fb68
JM
81272004-08-31 Joseph S. Myers <jsm@polyomino.org.uk>
8128
8129 * attribs.c (strip_attrs): Remove.
8130 (split_specs_attrs): Move ...
8131 * c-decl.c: ... to here.
8132 * tree.h (split_specs_attrs, strip_attrs): Remove.
8133 * c-tree.h (split_specs_attrs): Declare.
8134
f51a38b9
RS
81352004-08-31 Richard Sandiford <rsandifo@redhat.com>
8136
8137 * read-rtl.c: Disable RTL checking.
8138 (apply_macro_to_rtx): Use XTMPL to access 'T' fields.
8139
34ebf755
RS
81402004-08-31 Richard Sandiford <rsandifo@redhat.com>
8141
8142 * config/mips/mips.md (fcond): New code macro and attribute.
8143 (sunordered_[sd]f, suneq_[sd]f, sunlt_[sd]f, sunle_[sd]f)
8144 (seq_[sd]f, slt_[sd]f, sle_[sd]f): Redefine using :SCALARF and fcond.
8145 (sgt_[sd]f, sge_[sd]f): Redefine using :SCALARF.
8146
9b76aa3b
MM
81472004-08-30 Mark Mitchell <mark@codesourcery.com>
8148
8149 Revert:
8150 2004-08-29 Mark Mitchell <mark@codesourcery.com>
8151 PR rtl-optimization/16590
8152 * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
8153
99fa8911
AP
81542004-08-30 Andrew Pinski <apinski@apple.com>
8155
5906d013 8156 * hard-reg-set.h:
992c944c
AP
8157 s/HOST_BITS_PER_WIDES_FAST_INT/HOST_BITS_PER_WIDEST_FAST_INT.
8158 * ChangeLog: Fix previous ChangeLog entry.
8159
99fa8911 8160 PR rtl-opt/13987
5906d013 8161 * config.host (use_long_long_for_widest_fast_int): New, default is
99fa8911
AP
8162 off.
8163 (ia64-*-hpux*): Enable use_long_long_for_widest_fast_int.
8164 * configure.ac: If use_long_long_for_widest_fast_int, then
8165 define USE_LONG_LONG_FOR_WIDEST_FAST_INT.
8166 * configure: Regenerate.
8167 * config.in: Regenerate.
8168 * hwint.h (HOST_WIDEST_FAST_INT, HOST_BITS_PER_WIDEST_FAST_INT):
8169 New: widest integer type supported efficiently in hardware for the
8170 host.
8171 * sbitmap.h (SBITMAP_ELT_BITS): Define based on
8172 HOST_BITS_PER_WIDEST_FAST_INT.
8173 (SBITMAP_ELT_TYPE): Define based on HOST_WIDEST_FAST_INT.
5906d013 8174 * hard-reg-set.h (HARD_REG_ELT_TYPE): Define based on
99fa8911
AP
8175 HOST_WIDEST_FAST_INT
8176 instead of HOST_WIDE_INT.
8177 (HARD_REG_SET_LONGS): Likewise.
8178 (UHOST_BITS_PER_WIDE_INT): Likewise.
8179 Change the checks for the fast cases to be based on
992c944c 8180 HOST_BITS_PER_WIDEST_FAST_INT instead of HOST_BITS_PER_WIDE_INT.
99fa8911 8181
f4c0250b
SB
81822004-08-30 Steven Bosscher <stevenb@suse.de>
8183
8184 * cfgcleanup.c (merge_memattrs): Look at the value of MEM_SIZE,
8185 not the pointers.
8186
ff164b22
GK
81872004-08-30 Geoffrey Keating <geoffk@apple.com>
8188
8189 PR 12738
8190 PR 17205
8191 Radar 3460526
8192 Radar 3775729
8193 * c-decl.c (grokdeclarator): Produce error for 'static' on local
8194 function declaration.
8195
bc482be4
RH
81962004-08-30 Richard Henderson <rth@redhat.com>
8197
8198 * expr.c (array_ref_element_size): Force aligned_size back to
8199 sizetype.
8200 (component_ref_field_offset): Similarly for aligned_offset.
8201 * tree.c (recompute_tree_invarant_for_addr_expr): Mark raw
8202 low-bound, element-size, field-offset fields rather than
8203 computed values.
8204
21611613
JM
82052004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
8206
8207 * c-parse.in (parmlist_or_identifiers_1): Remove unreachable and
8208 redundant code.
8209
7b112487
JM
82102004-08-30 Joseph S. Myers <jsm@polyomino.org.uk>
8211
8212 * c-tree.h (struct language_function): Add arg_info element.
8213 * c-decl.c (current_function_arg_info): New.
8214 (grokdeclarator, store_parm_decls): Use it instead of
8215 DECL_ARGUMENTS.
8216 (c_push_function_context, c_pop_function_context): Save and
8217 restore it.
8218
5cc200fc
RH
82192004-08-30 Richard Henderson <rth@redhat.com>
8220
5906d013 8221 * c-typeck.c (build_unary_op): Don't expand ADDR_EXPR of a
5cc200fc
RH
8222 COMPONENT_REF to pointer arithmetic.
8223 * varasm.c (initializer_constant_valid_p): Allow "&(*c).f", for
8224 constant "c" as a valid constant initializer. Allow narrowing of
8225 differences against the same base object, for any base object.
8226
6377bb9a
RH
82272004-08-30 Richard Henderson <rth@redhat.com>
8228
8229 * expr.c (expand_expr_addr_expr): New.
8230 (expand_expr_real_1) <case ADDR_EXPR>: Use it.
8231
308cd611
RS
82322004-08-30 Richard Sandiford <rsandifo@redhat.com>
8233
8234 * config/mips/mips.c (MIPS_FP_CONDITIONS): New macro.
8235 (mips_fp_condition): New enum.
8236 (mips_fp_conditions): New array.
8237 (print_fcc_operand): Delete.
8238 (print_operand): Remove %V, %v and %Q. Redefine %Z so that it prints
8239 the operand and comma if and only if ISA_HAS_8CC. Add %Y.
8240 (builtin_description): Add "cond" field.
8241 (DIRECT_BUILTIN): Initialize it.
8242 (CMP_{SCALAR,PS,4S}_BUILTINS, MOVTF_BUILTINS): Split INSN parameter
8243 into INSN and CODE. Initialize the "cond" field.
8244 (CMP_BUILTINS): Update accordingly.
8245 (mips_bdesc): Use MIPS_FP_CONDITIONS to invoke CMP_BUILTINS.
8246 (mips_expand_builtin_movtf, mips_expand_builtin_compare): Take the
8247 mips_fp_condition as argument. Make it the final operand of the
8248 comparison instruction.
8249 (mips_expand_builtin): Update accordingly.
8250 * config/mips/mips.md (UNSPEC_C_*, UNSPEC_CABS_*): Delete.
8251 (UNSPEC_C, UNSPEC_CABS): New constants. Shuffle others to fill
8252 the gaps.
8253 * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps, bc1any[24][ft]):
8254 Don't use the 'Q' operand prefix; just print the operand normally.
8255 (mips_cabs_*, mips_c_*): Delete, replacing with...
8256 (mips_c_cond_{ps,4s}, mips_cabs_cond_{s,d,ps,4s}): ...these new
8257 patterns. Split the 4s versions into 2 ps patterns after reload.
8258
88f19756
RH
82592004-08-30 Richard Henderson <rth@redhat.com>
8260
8261 * fold-const.c (tree_expr_nonzero_p): Use get_base_address before
8262 assuming an ADDR_EXPR is non-null.
8263
70008293
JM
82642004-08-30 Jason Merrill <jason@redhat.com>
8265
d92a3b38 8266 * gthr-posix.h, gthr-dce.h: Add #pragma weaks.
70008293 8267
8ce16ed6
NS
82682004-08-30 Nathan Sidwell <nathan@codesourcery.com>
8269
8270 * alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset,
8271 record_set, rtx_equal_for_memref_p, init_alias_analysis): Use
8272 gcc_assert and gcc_unreachable instead of abort.
8273 * alloc-pool.c (abort, fancy_abort): Remove.
8274 (create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use
8275 gcc_assert or gcc_unreachable.
8276 * attribs.c (init_attributes, decl_attributes): Likewise.
8277 * bb-reorder.c (FREE, find_traces_1_round, copy_bb,
8278 mark_bb_for_unlikely_executed_section,
8279 add_labels_and_missing_jumps, fix_crossing_conditional_branches,
8280 fix_crossing_unconditional_branches): Likewise.
8281 * bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit,
8282 bitmap_operation): Likewise.
8283 * bt-load.c (insn_sets_btr_p, augment_live_range,
8284 move_btr_def): Likewise.
8285 * builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size,
8286 apply_result_size, expand_builtin_apply, expand_builtin_mathfn,
8287 expand_builtin_mathfn_2, expand_builtin_mathfn_3,
8288 builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy,
8289 expand_builtin_memcmp, expand_builtin_args_info,
8290 std_gimplify_va_arg_expr, expand_builtin_unop,
8291 expand_builtin_fputs, expand_builtin_profile_func,
8292 expand_builtin_fork_or_exec, fold_builtin_bitop,
8293 fold_builtin_classify, fold_builtin_fputs): Likewise.
8294
fc6633e0
NS
82952004-08-30 Nathan Sidwell <nathan@codesourcery.com>
8296
e0448193
NS
8297 * gcov-io.c (GCOV_CHECK): Use gcc_assert when available.
8298 * gcov.c (abort): Remove undef.
8299
fc6633e0
NS
8300 * tree.h (BINFO_PRIMARY_BASE_OF): Remove.
8301 (struct tree_binfo): Remove primary field.
8302
89b8abbf
PB
83032004-08-30 Paolo Bonzini <bonzini@gnu.org>
8304
8305 * fixinc/Makefile.in (machname.h): Remove.
8306 (fixincl.x): Do not pass $@ to genfixes.
8307 * fixinc/genfixes: Remove code to produce machname.h.
8308 * fixinc/fixincl.sh: Move it here instead.
8309 * fixinc/fixlib.c: Do not conditionalize on MN_NAME_PAT's presence,
8310 instead check if pz_mn_name_pat is NULL. Make mn_get_regexps
8311 return a bool indicating whether pz_mn_name_pat is NULL.
8312 * fixinc/fixlib.h: Do not conditionalize on MN_NAME_PAT's presence.
8313 Declare extern C variables for the ENV_TABLE.
8314 * fixinc/fixfixes.c: Do not conditionalize on MN_NAME_PAT's presence,
8315 instead use the result of mn_get_regexps.
8316 * fixinc/fixtests.c: Likewise.
8317
39880d37
PB
83182004-08-30 Paolo Bonzini <bonzini@gnu.org>
8319
8320 * configure.ac: Do not run fixincludes after stage1 during
8321 toplevel bootstrap.
8322 * configure: Regenerate.
8323
a8b3643c
RE
83242004-08-30 Richard Earnshaw <rearnsha@arm.com>
8325
8326 * sched-deps.c (get_condition): Partially revert previous, by never
8327 trying to extract the condition from a condjump.
8328
fc6633e0
NS
83292004-08-30 Nathan Sidwell <nathan@codesourcery.com>
8330
8331 * c-common.c (c_sizeof_or_alignof_type): Use gcc_assert.
8332 (handle_visibility_attribute, c_determine_visibility): Likewise.
8333 * c-common.h (my_friendly_assert): Remove.
8334
afa396ff
RS
83352004-08-30 Richard Sandiford <rsandifo@redhat.com>
8336
8337 * config/mips/mips.md (UNSPEC_{RSQRT,RECIP}[12]_{S,D,PS}): Delete.
8338 (UNSPEC_{RSQRT,RECIP}[12]): New constants.
8339 (UNSPEC_MOVE_TF_PS): Renumber to avoid gaps.
8340 * config/mips/mips-ps-3d.md (*movcc_v2sf_[sd]i): Use :GPR.
8341 (mips_{rsqrt,recip}[12]_{s,d,ps}): Use :ANYF.
8342
ef6379fd
DN
83432004-08-30 Diego Novillo <dnovillo@redhat.com>
8344
8345 * tree-pretty-print.c (dump_generic_node): Handle VALUE_HANDLE
8346 in COMPONENT_REF nodes.
8347
7783b402
GDR
83482004-08-29 Gabriel Dos Reis <gdr@integrable-solutions.net>
8349
8350 PR c++/15378
8351 * c-opts.c (c_common_handle_option): <case OPT_Werror> set
8352 global_dc->warning_as_error_requested.
8353 * diagnostic.c (diagnostic_initialize): Tidy.
8354 * diagnostic.h (diagnostic_context::x_data): Remove
8355 (diagnostic_context::issue_warnings_are_errors_message): Rename
8356 from warnings_are_errors_message.
8357 (diagnostic_context::warning_as_error_requested): New.
8358
adf968c7
RE
83592004-08-30 Richard Earnshaw <rearnsha@arm.com>
8360
8361 * sched-deps.c (get_condition): Fix breakage in previous patch.
8362
999f4d5e
PB
83632004-08-30 Paul Brook <paul@codesourcery.com>
8364
8365 * doc/install.texi: Fix broken mpfr link.
8366
5a0c2304
DB
83672004-08-29 David O'Brien <obrien@FreeBSD.org>
8368
8369 * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
8370 other FreeBSD platforms.
8371
880873be
RE
83722004-08-29 Richard Earnshaw <rearnsha@arm.com>
8373
8374 * arm.h (REVERSE_CONDITION): Define.
8375 (REVERSIBLE_CC_MODE): All comparisons are now reversible.
8376
15dce812
RE
83772004-08-29 Richard Earnshaw <rearnsha@arm.com>
8378
8379 * flow.c (REVERSE_CONDEXEC_PREDICATES_P): Use the whole comparison, not
8380 just the codes, call reversed_comparison_code ().
8381 (ior_reg_cond): Update arguments to REVERSE_CONDEXEC_PREDICATES_P.
8382 (not_reg_cond): Use reversed_comparison_code.
8383 (and_reg_cond): Likewise.
8384 * ifcvt.c (cond_exec_process_if_block): Likewise.
8385 * doc/tm.texi (REVERSE_CONDEXEC_PREDICATES_P): Update documentation.
8386
6903ecd4
RE
83872004-08-29 Richard Earnshaw <rearnsha@arm.com>
8388
8389 * sched-deps.c (get_condition): Rewrite using jump support functions.
8390 Use reversed_comparison_code.
8391 (conditions_mutex_p): Use reversed_comparison_code.
8392
ea9bfbf2
RS
83932004-08-29 Richard Sandiford <rsandifo@redhat.com>
8394
8395 * config/mips/mips.c (override_options): Disable hot/cold partitioning
8396 for MIPS16.
8397
4ca1f68f
RS
83982004-08-29 Richard Sandiford <rsandifo@redhat.com>
8399
8400 * config/mips/mips.h (mips_builtins, mips_cmp_choice): Delete.
8401 (mips_function_type): Move to mips.c.
8402 * config/mips/mips.c (mips_builtin_type): New enum.
8403 (builtin_description): Replace code and ftype with builtin_type
8404 and function_type.
8405 (DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS, CMP_4S_BUILTINS)
8406 (MOVTF_BUILTINS, CMP_BUILTINS): New macros.
8407 (CODE_FOR_mips_abs_ps): Define.
8408 (mips_bdesc): Use new macros.
8409 (mips_expand_builtin): Use builtin_type. Update calls to subroutines.
8410 (mips_init_builtins): Use the mips_bdesc[] index as the function code.
8411 (mips_expand_builtin_direct): New function.
8412 (mips_expand_builtin_movtf): Renamed from mips_expand_ps_cond_move_
8413 builtin. Replace boolean parameter with builtin_type.
8414 (mips_expand_compare_builtin, mips_expand_scalar_compare_builtin)
8415 (mips_expand_4s_compare_builtin): Delete, replacing with...
8416 (mips_expand_builtin_compare): ...this new function.
8417
5e9f78cc
MM
84182004-08-29 Mark Mitchell <mark@codesourcery.com>
8419
8420 PR rtl-optimization/16590
8421 * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
8422
766ff1b1
DN
84232004-08-29 Diego Novillo <dnovillo@redhat.com>
8424
8425 * tree-ssa-ccp.c (ccp_visit_stmt): Remove #if 0 guards.
8426 * tree-ssa-propagate.c: Fix documentation.
8427
2435c4c1
RS
84282004-08-29 Richard Sandiford <rsandifo@redhat.com>
8429
8430 * config/mips/mips.md (*mov[sd]f_on_*): Redefine using :SCALARF.
8431 (mov[sd]fcc): Likewise.
8432
53d9ac3b
RS
84332004-08-29 Richard Sandiford <rsandifo@redhat.com>
8434
8435 * config/mips/mips.md (cmp[sd]f): Redefine using :SCALARF.
8436
93898c8b
RS
84372004-08-29 Richard Sandiford <rsandifo@redhat.com>
8438
8439 * config/mips/mips.md (divide_condition): New mode attribute.
8440 (div[sd]f3, *div[sd]f3): Use it. Redefine using :SCALARF.
8441 (sqrt[sd]f3): Redefine using SCALARF.
8442 (*recip[sd]f3, *rsqrt<mode>[ab]): Likewise. Name formerly unnamed
8443 patterns.
8444
aae0609c
RS
84452004-08-29 Richard Sandiford <rsandifo@redhat.com>
8446
8447 * config/mips/mips.md (ANYF, SCALARF): New mode macros.
8448 (loadx, storex, fmt, UNITMODE): New mode attributes.
8449 (add{sf,df,v2sf}3, sub{sf,df,v2sf}3): Redefine using :ANYF.
8450 (mul[sd]f3): Redefine using :SCALARF.
8451 (*mul[sd]f3): Renamed from mul[sd]f3_internal. Use :SCALARF.
8452 (*mul[sd]3_r4300): Likewise mul[sd]f3_r4300.
8453 (*m{add,sub}{sf,df,v2sf}3): Name formerly unnamed patterns. Use :ANYF.
8454 Check TARGET_FUSED_MADD for V2SF too.
8455 (*nm{add,sub}{sf,df,v2sf}3{,_fastmath}): Likewise, except v2sf patterns
8456 were already named.
8457 (abs{sf,df,v2sf}3, neg{sf,df,v2sf}3): Redefine using :ANYF.
8458 (*[sl][wd]xc1_[sd]i): Redefine using :ANYF.
8459
74fc61d1
RS
84602004-08-29 Richard Sandiford <rsandifo@redhat.com>
8461
8462 * config/mips/mips.c (mips_init_builtins): Simplify. Only create
8463 V2SF_type_node if it will be needed.
8464
ff55fb9c
RS
84652004-08-29 Richard Sandiford <rsandifo@redhat.com>
8466
8467 * config/mips/mips.h (MIPS_CMP_MOVT, MIPS_CMP_MOVF): Delete.
8468 * config/mips/mips.c (mips_prepare_builtin_arg): New function.
8469 (mips_prepare_builtin_target): New function.
8470 (mips_expand_builtin): Use them. Update calls to subroutines.
8471 (mips_expand_ps_cond_move_builtin): Use the new functions. Replace
8472 cmp_choice with a boolean argument to select between movt and movf.
8473 Take the comparison's icode as an argument, not the function's fcode.
8474 (mips_expand_compare_builtin): New function. Rename existing function
8475 to mips_expand_scalar_compare_builtin.
8476 (mips_expand_scalar_compare_builtin, mips_expand_4s_compare_builtin)
8477 (mips_expand_ps_compare_builtin): Use the new functions. Take the
8478 comparison's icode as an argument, not the builtin's fcode.
8479
f691c4e3
RS
84802004-08-29 Richard Sandiford <rsandifo@redhat.com>
8481
8482 * config/mips/mips.c (print_operand): Remove '%Y' and '%y'.
8483 (mips_expand_4s_compare_builtin): Redefine CCV4 to be 0 if all
8484 registers are false and -1 if all registers are true.
8485 (mips_expand_ps_compare_builtin): Likewise CCV2. Use subregs for
8486 MIPS_CMP_UPPER and MIPS_CMP_LOWER.
8487 * config/mips/mips.md (mips_cond_move_tf_ps): Use %Q rather than %y.
8488 (bc1any4t, bc1any4f): Adjust for new CCV4 interpretation.
8489 (bc1any2t, bc1any2f): Likewise CCV2.
8490 (bc1upper2t, bc1lower2t, bc1upper2f, bc1lower2f): Delete.
8491
49135706
RS
84922004-08-29 Richard Sandiford <rsandifo@redhat.com>
8493
8494 * config/mips/mips.md (UNSPEC_MOVE_TF_PS): New.
8495 * config/mips/mips-ps-3d.md (mips_cond_move_tf_ps): Express as an
8496 UNSPEC rather than an IF_THEN_ELSE.
8497 * config/mips/mips.c (mips_expand_ps_cond_move_builtin): Emit
8498 mips_cond_move_tf_ps by name.
8499
06a4ab70
CF
85002004-08-29 Chao-ying Fu <fu@mips.com>
8501 James E Wilson <wilson@specifixinc.com>
5906d013 8502
06a4ab70
CF
8503 * config/mips/mips-modes.def (V2SF, CCV2, CCV4): New modes. Give CCV2
8504 8 byte size and alignment. Give CCV4 16 byte size and alignment.
8505 * config/mips/mips-ps-3d.md: New file.
8506 * config/mips/mips.c (TARGET_VECTOR_MODE_SUPPORTED_P,
8507 TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
8508 (mips_const_insns): Handle CONST_VECTOR the same as CONST_DOUBLE.
8509 (mips_output_move): Emit "mov.ps" for V2SFmode.
8510 (mips_arg_info): Add checks for VECTOR_FLOAT_TYPE_P and
8511 MODE_VECTOR_FLOAT.
8512 (override_options): Check if TARGET_MIPS3D and there was an explicit
8513 !TARGET_PAIRED_SINGLE_FLOAT. Set MASK_PAIRED_SINGLE, if TARGET_MIPS3D.
8514 Check if TARGET_FLOAT64 and TARGET_HARD_FLOAT are both true, when
8515 TARGET_PAIRED_SINGLE_FLOAT is true. Check if the ISA supports
8516 TARGET_PAIRED_SINGLE_FLOAT. Allow MODE_VECTOR_FLOAT in fp registers,
8517 and allow CCV2 and CCV4 to occupy two and four CC registers.
8518 (print_fcc_operand): New function.
8519 (print_operand): Add %Y, %y, %V, %v, %Q for CCV2, CCV4, CC. Modify
8520 %Z to call print_fcc_operand.
8521 (mips_function_value): Handle MODE_VECTOR_FLOAT.
8522 (mips_class_max_nregs): Check for ST_REGS, and handle CCmodes.
8523 (mips_vector_mode_supported_p): New function.
8524 (mips_hard_regno_nregs): Check for ST_REG_P, and handle CCmodes.
8525 (builtin_description): New struct.
8526 (mips_bdesc): New array of struct builtin_description.
8527 (mips_expand_builtin, mips_init_builtins,
8528 mips_expand_ps_cond_move_builtin, mips_expand_4s_compare_builtin,
8529 mips_expand_compare_builtin, mips_expand_ps_compare_builtin): New
8530 functions.
8531 * config/mips/mips.h (MASK_PAIRED_SINGLE, MASK_MIPS3D): New defines.
8532 (TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D): New defines.
8533 (TARGET_CPU_CPP_BUILTINS): Add __mips_paired_single_float.
8534 (TARGET_SWITCHES): Added "-mpaired-single", "-mno-paired-single",
8535 "-mips3d", and "-mno-mips3d".
8536 (ASM_SPEC): Map -mips3d to -mips3d in gas.
8537 (EXTRA_CONSTRAINT_Y): New macro.
8538 (EXTRA_CONSTRAINT_STR): Renamed from EXTRA_CONSTRAINT. Add new
8539 multi-letter constraint 'Y'.
8540 (CONSTRAINT_LEN): New macro.
8541 (enum mips_builtins): New for MIPS builtin functions.
8542 (enum mips_function_type): New for the types of MIPS builtin functions.
8543 (enum mips_cmp_choice): New for the MIPS comparison builtin functions.
5906d013 8544 * config/mips/mips.md: New constants for paired single and MIPS-3D
06a4ab70
CF
8545 instructions. Include the new mips-ps-3d.md file.
8546 (addv2sf3, subv2sf3, mulv2sf3, absv2sf2, negv2sf2, movv2sf,
8547 movv2sf_hardfloat_64bit): New named patterns.
8548 (madd.ps, msub.ps, nmaddv2sf, nmaddv2sf_fastmath, nmsubv2sf,
8549 nmsubv2sf_fastmath, ldxc1_v2sf_si, ldxc1_v2sf_di, sdxc1_v2sf_si,
8550 sdxc1_v2sf_di): New unnamed patterns.
8551 * config/mips/predicates.md (const_0_operand, const_1_operand): Add
8552 const_vector support.
8553 (const_0_or_1_operand): New predicate.
8554 * doc/invoke.texi (MIPS Options): Add -mpaired-single and -mips3d.
8555
750628d8
DN
85562004-08-29 Diego Novillo <dnovillo@redhat.com>
8557
8558 * Makefile.in (OBJS-common): Add tree-ssa-propagate.o
8559 (tree-ssa-propagate.o): New rule.
8560 (GTFILES): Add tree-ssa-propagate.c.
8561 * tree-flow.h (struct stmt_ann_d): Remove field
8562 in_ccp_worklist.
8563 * tree-ssa-propagate.c: New file.
8564 * tree-ssa-propagate.h: New file.
8565 * tree-ssa-ccp.c: Re-write to use the routines from
8566 tree-ssa-propagate.c.
8567
f108270b
AP
85682004-08-28 Andrew Pinski <apinski@apple.com>
8569
8570 * tree-ssa-loop.c: Remove extra include of basic-block.h.
8571
e5a002e3
ZL
85722004-08-28 Ziemowit Laski <zlaski@apple.com>
8573
8574 * c-common.h: Update comments about ObjC/ObjC++ entry points.
8575 (objc_is_reserved_word): New prototype.
8576 (get_current_scope, objc_mark_locals_volatile): Move prototypes to
8577 separate section; these are call-backs.
8578 * c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect
8579 ObjC/ObjC++ "@" keywords.
8580 * c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove
8581 prototypes; they already live in c-common.h.
8582 * stub-objc.c: Update copyright notice.
8583 (objc_is_reserved_word): New stub.
8584
2c46a62f
NS
85852004-08-28 Nathan Sidwell <nathan@codesourcery.com>
8586
8587 * system.h (gcc_assert): Remove __builtin_expect. Evaluate EXPR
8588 even when not checking.
8589
40aac948
JM
85902004-08-27 Jason Merrill <jason@redhat.com>
8591
8592 PR c++/13684
8593 * gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
8594 (gimple_push_cleanup): Add eh_only parm.
8595 (gimplify_target_expr): Pass it.
8596 * c.opt (-fno-threadsafe-statics): New option.
8597 * c-opts.c (c_common_handle_option): Handle it.
8598 * c-common.h (flag_threadsafe_statics): Declare it.
8599 * c-common.c (flag_threadsafe_statics): Record it.
8600 * doc/invoke.texi: Document it.
8601 * tsystem.h (_GNU_SOURCE): Define.
8602 * gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
8603 (__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
8604 (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
8605 (__gthread_recursive_mutex_init_function): New fn.
8606 (__gthread_recursive_mutex_lock): New fn.
8607 (__gthread_recursive_mutex_trylock): New fn.
8608 (__gthread_recursive_mutex_unlock): New fn.
8609 * gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
8610 * gthr-win32.h, gthr-vxworks.h: Likewise.
8611 * gthr.h: Document.
8612
1494c534
DE
86132004-08-27 David Edelsohn <edelsohn@gnu.org>
8614
8615 * config/rs6000/rs6000.c (rs6000_override_options): Increase
8616 maximum skip to 15. Set function alignment, jump alignment, and
8617 loop alignment to 16 for processors that form dispatch groups.
03e9c50a 8618 (rs6000_rtx_costs): outer_code is used.
1494c534 8619
ce552f75
NS
86202004-08-27 Nathan Sidwell <nathan@codesourcery.com>
8621
e3861d2a
NS
8622 * stor-layout.c (sizetype_set): Remove.
8623 (set_sizetype): Don't test or set it.
8624
ce552f75
NS
8625 * tree.h (size_int_type): Remove.
8626 * fold-const.c: Do not #include gt-fold-const.h.
8627 (size_htab_hash, size_htab_eq): Remove.
8628 (size_int_kind): Use build_int_cst.
8629 (new_const, size_htab): Remove.
8630 (size_int_type): Remove.
8631 (round_up): Use build_int_cst.
8632 (round_down): Likewise. Remove spurious constant build.
8633
06c37c96
NS
86342004-08-27 Nathan Sidwell <nathan@codesourcery.com>
8635
8636 * configure.ac: Add ENABLE_ASSERT_CHECKING control.
8637 Add is_release variable, use it for --enable-werror and
8638 --enable-checking defaults.
8639 * system.h (gcc_assert, gcc_unreachable): New.
8640 * doc/install.texi (--enable-checking): Update.
8641 * configure, config.in: Rebuilt.
8642
57406c63
RS
86432004-08-26 Richard Sandiford <rsandifo@redhat.com>
8644
8645 * rtl.h (read_rtx): Change prototype.
8646 * read-rtl.c (read_rtx): Provide the caller with both an rtx and a
8647 line number. Return true on success.
8648 * gensupport.c (process_include, init_md_reader_args_cb): Adjust
8649 callers accordingly.
8650
ee8a6a3e
RH
86512004-08-26 Richard Henderson <rth@redhat.com>
8652
8653 * c-typeck.c (build_offsetof): Remove.
8654 * c-tree.h (build_offsetof): Remove.
8655 * c-common.c (fold_offsetof_1, fold_offsetof): New.
8656 * c-common.h (fold_offsetof): Declare.
8657 * c-parse.in (offsetof_base): New.
8658 (offsetof_member_designator): Use it. Build references, not just
8659 a tree list.
8660 (primary): Use fold_offsetof, not build_offsetof.
8661
525c6bf5
RH
86622004-08-26 Richard Henderson <rth@redhat.com>
8663
8664 * tree.c (staticp): Return the static object.
8665 * tree.h (staticp): Update decl.
8666 * langhooks.h (struct lang_hooks): Change staticp return type to tree.
8667 * langhooks.c (lhd_staticp): Return NULL_TREE.
8668 * langhooks-def.h (lhd_staticp): Update decl.
8669 * c-common.c (c_staticp): Return the static object.
8670 * c-common.h (c_staticp): Update decl.
8671
d416c0b3
RH
86722004-08-26 Richard Henderson <rth@redhat.com>
8673
8674 * config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
8675 modes.
8676
0b410f0b
JM
86772004-08-26 Joseph S. Myers <jsm@polyomino.org.uk>
8678
8679 PR c/13801
8680 * c-decl.c (struct c_binding): Add type and inner_comp fields.
8681 (bind): Set type and inner_comp fields.
8682 (pop_scope): Restore type of decl to the correct type from an
8683 outer scope. Give error when popping file scope for incomplete
8684 arrays completed incompatibly with default initialization in an
8685 inner scope.
8686 (diagnose_mismatched_decls): Handle externs with initializers at
8687 block scope.
8688 (pushdecl): Set type of external declaration at block scope based
8689 only on the visible declarations. Save type when changing the
8690 type of a declaration. Merge an external declaration at block
8691 scope with a visible static declaration at file scope.
8692 (implicitly_declare): Give recycled old declaration the new type
8693 except for incompatible declarations of built-in functions, saving
8694 the old type.
8695
b77c7437
ZL
86962004-08-26 Ziemowit Laski <zlaski@apple.com>
8697
8698 * c-parse.in (OBJC_TYPE_QUAL): New %token for ObjC use.
8699
a228baff
DB
87002004-08-26 Daniel Berlin <dberlin@dberlin.org>
8701
8702 * tree-alias-common.c (gate_pta): New function.
8703 (pass_build_pta): Use it.
8704 (pass_del_pta): Use it.
8705 (delete_alias_vars): Don't check flag_tree_points_to.
8706
2e6c9641
FJ
87072004-08-26 Fariborz Jahanian <fjahanian@apple.com>
8708
5906d013 8709 * config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Added
2e6c9641
FJ
8710 TFmode as additional register mode cloberred by call.
8711
87122004-08-26 Fariborz Jahanian <fjahanian@apple.com>
8713
8714 * config/rs6000/rs6000.c (rs6000_libcall_value): Generate
8715 parallel pattern for library call returning DImode in
8716 mixed mode.
8717
87182004-08-26 Fariborz Jahanian <fjahanian@apple.com>
8719
8720 * config/rs6000/rs6000.c (function_arg): Generate parallel
8721 pattern for more split args.
8722
87232004-08-26 Fariborz Jahanian <fjahanian@apple.com>
8724
8725 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Call
8726 either gen_movdi_di_update or gen_movdi_si_update depending on
8727 target mode.
8728 * config/rs6000/rs6000.md (movdi_update): Changed to movdi_<mode>_update,
8729 to generate two versions.
5906d013 8730
36d59cf7
DB
87312004-08-26 Daniel Berlin <dberlin@dberlin.org>
8732
8733 * Makefile.in (lambda-code.o): New.
8734 (lambda-trans.o): Ditto.
8735 (TREE_DATA_REF_H): Ditto.
8736 (LAMBDA_H): Ditto.
8737 (lambda-mat.o): Use LAMBDA_H.
8738 (tree-data-ref.o): Ditto.
8739 * lambda-code.c: New file. Lambda code generation algorithm.
8740 * lambda-trans.c: Ditto. Lambda transformation matrix support.
8741 * lambda.h: Add lambda loop structures.
8742 Add lambda loopnest structures.
8743 Add lambda body vector structure.
8744 Add lambda linear expression structures.
8745 Add prototypes for functions in new files.
8746 * lambda-mat.c: Include tree.h
8747
87482004-08-26 Daniel Berlin <dberlin@dberlin.org>
5906d013
EC
8749 Sebastian Pop <pop@cri.ensmp.fr>
8750
8751 * tree-data-ref.h: Include lambda.h
36d59cf7 8752 (free_dependence_relation): Declared here.
5906d013 8753 (free_dependence_relations): Ditto.
36d59cf7
DB
8754 (free_data_refs): Ditto.
8755 * tree-data-ref.c (free_dependence_relation): New function.
8756 (free_dependence_relations): Ditto.
8757 (free_data_refs): Ditot.
8758 (analyze_all_data_dependences): Free datarefs and dependence_relations.
8759 (build_classic_dist_vector): Store in the dependence_relations the
8760 information. Each arc in the dependence_relations graph is labelled
8761 with the distance and direction vectors.
8762 (build_classic_dir_vector): Ditto.
8763 (compute_rw_wr_ww_dependences): Renamed again compute_all_dependences.
8764 Now computes again the whole dependence graph including read-read
8765 relations.
8766 (compute_data_dependences_for_loop): Now dependence_relations contains
8767 all the data, and thus it doesn't need to initialize the classic_dir
8768 and classic_dist vectors.
8769 (analyze_all_data_dependences): Adjusted for using the new interface of
8770 compute_data_dependences_for_loop. Remove the statistics dump.
5906d013 8771
a46bbb5a
BW
87722004-08-26 Bob Wilson <bob.wilson@acm.org>
8773
8774 * config/xtensa/xtensa.c (xtensa_ld_opcodes, xtensa_st_opcodes): Delete.
8775 (xtensa_expand_block_move): Update comment.
8776 (override_options): Remove initialization of xtensa_{ld,st}_opcodes.
8777
52351a5e
RE
87782004-08026 Richard Earnshaw <rearnsha@arm.com>
8779
8780 PR target/13506
8781 * toplev.c (crash_signal): If we crashed while emitting
8782 a user asm, then die more gracefully.
8783
b72e46f0
NC
87842004-08-26 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
8785
8786 PR target/17119.
8787 * config/m32r.c (gen_compare): Use reg_or_int16_operand when
8788 checking for a valid constant, regardless of sign.
8789
fd9363bf
RH
87902004-08-25 Richard Henderson <rth@redhat.com>
8791
d416c0b3
RH
8792 PR target/16974
8793 * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
8794 if the constant satisfies add_operand.
fd9363bf 8795
45f413e4 87962004-08-25 Richard Henderson <rth@redhat.com>
5906d013 8797
d416c0b3
RH
8798 PR debug/10695
8799 * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
8800 (alpha_expand_prologue): Handle >32-bit frames. Generate proper
8801 unwind info for >16-bit frames.
45f413e4 8802
7e233208
RK
88032004-08-25 Richard B. Kreckel <richard.kreckel@framatome-anp.com>
8804
8805 PR target/17171
8806 * config/i386/gas.h (ASM_COMMENT_START): Define to "#".
8807
04886dc0
RH
88082004-08-25 Richard Henderson <rth@redhat.com>
8809
d416c0b3
RH
8810 * config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
8811 (TARGET_CANNOT_FORCE_CONST_MEM): New.
04886dc0 8812
aca2bd7c
AM
88132004-08-25 Andrew MacLeod <amacleod@redhat.com>
8814
8815 * doc/tree-ssa.texi: Document new operand iterator.
8816
0423421f
AM
88172004-08-26 Alan Modra <amodra@bigpond.net.au>
8818
8819 PR target/16480
8820 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
8821 on "(mem (symbol_ref ..))" rtl. Look at LO_SUM base regs as well
8822 as PLUS base regs.
8823
e4dc702c
PB
88242005-08-28 Paul Brook <paul@codesourcery.com>
8825
8826 * config/arm/symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to
8827 -mfpu=vfp -march=armv5t
37d5a9a5 8828 * config/arm/t-symbian: Change multilib to mfloat-abi=softfp.
e4dc702c 8829
6dd53648
RH
88302004-08-25 Richard Henderson <rth@redhat.com>
8831
8832 * target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.
8833 * target.h (struct gcc_target): Add scalar_mode_supported_p.
8834 * targhooks.c (default_scalar_mode_supported_p): New.
8835 * targhooks.h (default_scalar_mode_supported_p): Declare.
8836 * doc/tm.texi (TARGET_SCALAR_MODE_SUPPORTED_P): Document.
8837
8838 * c-common.c (handle_mode_attribute): Query scalar_mode_supported_p
8839 before attempting to create types. Tidy.
8840 * expr.c (vector_mode_valid_p): Use scalar_mode_supported_p.
8841
8842 * config/alpha/alpha.c (alpha_scalar_mode_supported_p): New.
8843 (TARGET_SCALAR_MODE_SUPPORTED_P): New.
8844
bab2b22b
RH
88452004-08-25 Richard Henderson <rth@redhat.com>
8846
8847 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
8848 set REAL_MODE_FORMAT for TFmode.
8849
c34be55e
ZL
88502004-08-25 Ziemowit Laski <zlaski@apple.com>
8851
8852 * c-decl.c (grokparm): New function.
8853 * c-tree.h (grokparm): New prototype.
8854
4c124b4c
AM
88552004-08-25 Andrew MacLeod <amacleod@redhat.com>
8856
8857 * tree-ssa-operands.h (struct ssa_operand_iterator_d): New. SSA operand
8858 iterator controlling structure.
8859 (SSA_OP_USE, SSA_OP_DEF, SSA_OP_VUSE, SSA_OP_VMAYUSE, SSA_OP_VMAYDEF,
8860 SSA_OP_VMUSTDEF, SSA_OP_VIRTUAL_USES, SSA_OP_VIRTUAL_DEFS,
8861 SSA_OP_ALL_USES, SSA_OP_ALL_DEFS, SSA_OP_ALL_OPERANDS): New. Operand
8862 iterator flags.
8863 (FOR_EACH_SSA_TREE_OPERAND): New. Iterate over operands as trees.
8864 (FOR_EACH_SSA_USE_OPERAND): New. Iterate over operands as uses.
8865 (FOR_EACH_SSA_DEF_OPERAND): New. Iterate over operands as defs.
8866 (FOR_EACH_SSA_MAYDEF_OPERAND): New. Iterate over V_MAY_DEFs.
5906d013 8867 * tree-ssa-operands.c (NULL_DEF_OPERAND_P, NULL_USE_OPERAND_P): New.
4c124b4c
AM
8868 Empty operand pointers.
8869 * tree-flow-inline.h (op_iter_done): New. Return true if finished.
8870 (op_iter_next_use): New. Return next use_operand_p.
8871 (op_iter_next_def): New. Return next def_operand_p.
8872 (op_iter_next_tree): New. Return next operands as a tree.
8873 (op_iter_init): New. Initialize an iterator structure.
8874 (op_iter_init_use): New. Initialize structure and get the first use.
8875 (op_iter_init_def): New. Initialize structure and get the first def.
8876 (op_iter_init_tree): New. Initialize structure and get the first tree.
8877 (op_iter_next_maydef): New. Return next V_MAY_DEF operands.
5906d013 8878 (op_iter_init_maydef): New. Initialize structure and get the first
4c124b4c
AM
8879 V_MAY_DEF operands.
8880 * tree-cfg.c (tree_duplicate_bb): Use new operand iterator.
5906d013 8881 * tree-dfa.c (compute_immediate_uses_for_stmt,
4c124b4c
AM
8882 redirect_immediate_uses): Use new operand iterator.
8883 (v_may_defs_disappeared_p, v_must_defs_disappeared_p): Delete.
8884 (mark_new_vars_to_rename): Use new operand iterator. Count virtual
8885 operands instead of using *_disappeared_p routines.
8886 * tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites, rewrite_stmt,
8887 ssa_rewrite_stmt): Use new operand iterator.
8888 * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
8889 rewrite_trees): Use new operand iterator.
8890 * tree-pretty-print.c (dump_vops): Use new operand iterator.
8891 * tree-sra.c (mark_all_v_defs): Use new operand iterator.
5906d013 8892 * tree-ssa-alias.c (compute_points_to_and_addr_escape,
4c124b4c 8893 dump_points_to_info): Use new operand iterator.
5906d013
EC
8894 * tree-ssa-ccp.c (cp_lattice_meet, visit_stmt, initialize,
8895 replace_uses_in, replace_vuse_in, likely_value, set_rhs): Use new
4c124b4c 8896 operand iterator.
5906d013 8897 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary,
4c124b4c
AM
8898 propagate_necessity): Use new operand iterator.
8899 * tree-ssa-dom.c (cprop_into_stmt, optimize_stmt): Use operand iterator.
8900 (register_definitions_for_stmt): Use new operand iterator. Take stmt as
8901 a parameter instead of a stmt_ann_t.
8902 * tree-ssa-live.c (create_ssa_var_map, calculate_live_on_entry,
8903 build_tree_conflict_graph): Use new operand iterator.
8904 * tree-ssa-loop-im.c (determine_max_movement, single_reachable_address,
8905 rewrite_mem_refs): Use new operand iterator.
5906d013 8906 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt,
4c124b4c
AM
8907 check_loop_closed_ssa_use): Use new operand iterator.
8908 * tree-ssa.c (verify_ssa, replace_immediate_uses): Use operand iterator.
8909 * tree-ssanames.c (release_defs): Use new operand iterator.
8910 * tree-vectorizer.c (vect_create_data_ref): Use new operand iterator.
8911
4185f1ce
AN
89122004-08-25 Adam Nemet <anemet@lnxw.com>
8913
8914 * tlink.c (initial_cwd): New variable.
8915 (tlink_init): Initialize it.
8916 (recompile_files): Use tlink_execute() instead of system(). Don't
8917 duplicate verbose output of collect_execute. Restore initial_cwd.
8918 Update comment before the function.
8919
700686fa
ZL
89202004-08-25 Ziemowit Laski <zlaski@apple.com>
8921
8922 * c-typeck.c (build_c_cast): In ObjC, always preserve (and silently
8923 accept) a cast from one Objective-C pointer type to another.
8924
7fb654ef
PC
89252004-08-25 Paolo Carlini <pcarlini@suse.de>
8926
8927 * doc/install.texi: Document that libstdc++-v3 requires
8928 now automake 1.9.1.
8929
8e8d5162
CT
89302004-08-25 Caroline Tice <ctice@apple.com>
8931
8932 * bb-reorder.c (partition_hot_cold_basic_blocks): Add more details
8933 to comments at start of function.
8934 * cfgbuild.c (make_edges): Add more details to hot/cold partitioning
8935 comment.
5906d013
EC
8936 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
8937 merge_blocks_move_predecessor_nojumps,
8938 merge_blocks_move_successor_nojumps, merge_blocks_move,
8e8d5162
CT
8939 try_crossjump_to_edge, try_crossjump_bb): Likewise.
8940 * cfglayout.c (fixup_reorder_chain): Likewise.
8941 * cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump,
8942 cfg_layout_can_merge_blocks_p): Likewise.
8943 * ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
5906d013 8944 * passes.c (rest_of_compilation): Update comments for calling
8e8d5162 8945 optimization that partitions hot/cold basic blocks.
5906d013 8946 * doc/invoke.texi: Update documentation of
8e8d5162 8947 freorder-blocks-and-partition flag.
5906d013 8948
41a21e1d
RS
89492004-08-25 Richard Sandiford <rsandifo@redhat.com>
8950
8951 * config/mips/mips.md (reg): Renamed mode attribute from ccreg.
8952 (*mov*_on_*): Adjust accordingly. Add an explicit MOVECC: prefix.
8953
e5f14571
RS
89542004-08-25 Richard Sandiford <rsandifo@redhat.com>
8955
8956 * config/mips/mips.md (any_shift): New code macro.
8957 (optab, insn): New code attributes.
8958 ({ashl,ashr,lshr}[sd]i3): Redefine using :GPR and any_shift.
8959 Use the standard rather than internal patterns for the MIPS16
8960 double-shift optimization.
8961 (*{ashl,ashr,lshr}[sd]i3): New names for the non-mips16 shift patterns.
8962 Redefine using :GPR and any_shift.
8963 (*{ashl,ashr,lshr}si3_extend): Generalize ashlsi3_internal1_extend
8964 to cover all three shifts.
8965 (*{ashl,ashr,lshr}si3_mips16): New names for the mips16 SImode shifts.
8966 Redefine using any_shift. Use :GPR and any_shift to combine splitters.
8967 (*{ashl,ashr,lshr}di3_mips16): New names for the mips16 DImode shifts.
8968
bbbb79d4
GK
89692004-08-24 Geoffrey Keating <geoffk@apple.com>
8970
8971 * gimplify.c (lookup_tmp_var): Separate temporaries when not
8972 optimizing.
8973
d711cf67
JDA
89742004-08-25 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8975
8976 PR libstdc++/17005 (fix for HP-UX 11.11)
8977 * config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2.
8978 (hppa*-*-hpux*): Consolidate hppa1.0-*-* code. Rework handling of
5906d013 8979 tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate.
d711cf67
JDA
8980 * config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files.
8981 * config/pa/pa-hpux.h (TARGET_HPUX): Define.
8982 (LINK_SPEC): Handle march=1.0 option.
8983 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
8984 and _XOPEN_SOURCE_EXTENDED for UNIX 95.
8985 (SUBTARGET_OPTIONS): New define.
8986 (LINK_SPEC): Handle march=1.0 option.
8987 (STARTFILE_SPEC): New define.
8988 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
8989 and _XOPEN_SOURCE_EXTENDED for UNIX 95. Additionally, predefine
8990 _INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98.
8991 (SUBTARGET_OPTIONS): New define.
8992 (LINK_SPEC): Handle march=1.0 option.
8993 (STARTFILE_SPEC): New define.
8994 * config/pa/pa.c (override_options): Add code to process -munix= option.
8995 * config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare.
8996 (TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default
8997 defines.
8998 (TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list.
8999 (SUBTARGET_OPTIONS): Provide default define.
9000 * config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1,
9001 STANDARD_STARTFILE_PREFIX_2): New defines.
9002 (STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary.
9003 (ENDFILE_SPEC): Use %O.
9004 * doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas.
9005 Mention issue caused by changing namespace and runtime to UNIX 95/98.
9006 * doc/invoke.texi (HPPA options): Move misplaced text to FRV options.
9007 Document -munix=std option.
9008
5affca01
SB
90092004-08-25 Steven Bosscher <stevenb@suse.de>
9010
9011 * cse.c (cse_around_loop, cse_check_loop_start,
9012 cse_set_around_loop): Remove.
9013 (cse_basic_block): Remove the around_loop argument.
9014 (cse_end_of_basic_block): Remove the after_loop argument.
9015 (cse_main): Likewise.
9016 * rtl.h (cse_main): Update prototype.
9017 * passes.c (rest_of_handle_cse, rest_of_handle_cse2,
9018 rest_of_handle_gcse): Update cse_main calls.
9019
7d60be94
NS
90202004-08-25 Nathan Sidwell <nathan@codesourcery.com>
9021
9022 * tree.h (build_int_cst): New, sign extended constant.
9023 (build_int_cstu): New, zero extended constant.
9024 (build_int_cst_wide): Renamed from build_int_cst.
9025 * tree.c (build_int_cst, build_int_cstu): New.
9026 (build_int_cst_wide): Renamed from build_int_cst.
9027 (make_vector_type, build_common_tree_nodes,
9028 build_common_tree_nodes_2): Adjust build_int_cst calls.
9029 * builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
9030 expand_builtin_strpbrk, expand_builtin_fputs,
9031 build_string_literal, expand_builtin_printf,
9032 expand_builtin_sprintf, fold_builtin_classify_type,
9033 fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
9034 fold_builtin_toascii, fold_builtin_isdigit,
9035 simplify_builtin_strstr, simplify_builtin_strpbrk,
9036 fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
9037 * c-common.c (start_fname_decls, fix_string_type, shorten_compare,
9038 DEF_ATTR_INT): Likewise.
9039 * c-decl.c (complete_array_type, check_bitfield_type_and_width):
9040 Likewise.
9041 * c-lex.c (interpret_integer, lex_charconst): Likewise.
9042 * c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
9043 * c-pretty-print.c (pp_c_integer_constant): Likewise.
9044 * c-typeck.c (really_start_incremental_init, push_init_level,
9045 set_nonincremental_init_from_string): Likewise.
9046 * calls.c (load_register_parameters): Likewise.
9047 convert.c (convert_to_pointer): Likewise.
9048 coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
9049 build_fn_info_type, build_fn_info_value, build_ctr_info_value,
9050 build_gcov_info): Likewise.
9051 * except.c (init_eh, assign_filter_values): Likewise.
9052 * expmed.c (store_fixed_bit_field, extract_bit_field,
9053 extract_fixed_bit_field, extract_split_bit_field, expand_shift,
9054 expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
9055 expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
9056 * expr.c (convert_move, emit_group_load, emit_group_store,
9057 expand_assignment, store_constructor, store_field,
9058 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
9059 fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
9060 invert_truthvalue, optimize_bit_field_compare,
9061 decode_field_reference, all_ones_mask_p, constant_boolean_node,
9062 fold_div_compare, fold, fold_read_from_constant_string,
9063 fold_negate_const, fold_abs_const, fold_not_const, round_up,
9064 round_down): Likewise.
9065 * function.c (assign_parm_setup_block): Likewise.
9066 * stmt.c (shift_return_value, expand_case, estimate_case_costs):
9067 Likewise.
9068 * stor-layout.c (layout_type, initialize_sizetypes,
9069 set_min_and_max_values_for_integral_type): Likewise.
9070 * tree-chrec.c (chrec_fold_multiply_poly_poly,
9071 reset_evolution_in_loop): Likewise.
9072 * tree-chrec.h (build_polynomial_chrec): Likewise.
9073 * tree-complex.c (build_replicated_const): Likewise.
9074 * tree-eh.c (honor_protect_cleanup_actions,
9075 lower_try_finally_onedest, lower_try_finally_copy,
9076 lower_try_finally_switch): Likewise.
9077 * tree-mudflap.c (mf_build_string, mx_register_decls,
9078 mudflap_register_call, mudflap_enqueue_constant): Likewise.
9079 * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
9080 * tree-pretty-print.c (dump_generic_node): Likewise.
9081 * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
9082 Likewise.
9083 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
9084 * tree-ssa-loop-niter.c (number_of_iterations_cond,
9085 loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
9086 Likewise.
9087 * tree-ssa-loop-ivcanon.c (create_canonical_iv,
9088 canonicalize_loop_induction_variables): Likewise.
9089 * tree-vectorizer.c (vect_create_index_for_array_ref,
9090 vect_transform_loop_bound, vect_compute_data_ref_alignment):
9091 Likewise.
9092
9093 * config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
9094 alpha_gimplify_va_arg_1): Likewise.
9095 * config/arm/arm.c (arm_get_cookie_size): Likewise.
9096 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
9097 * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
9098 * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
9099 * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
9100 mips_gimplify_va_arg_expr): Likewise.
9101 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
9102 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
9103 add_compiler_branch_island): Likewise.
9104 * config/s390/s390.c (s390_va_start): Likewise.
9105 * config/sh/sh.c (sh_va_start): Likewise.
9106 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
9107 Likewise.
9108 * config/xtensa/xtensa.c (xtensa_va_start,
9109 xtensa_gimplify_va_arg_expr): Likewise.
5906d013 9110
7d60be94
NS
9111 * objc/objc-act.c (build_objc_string_object,
9112 build_objc_symtab_template, init_def_list, init_objc_symtab,
9113 init_module_descriptor, generate_static_references,
9114 build_selector_translation_table, get_proto_encoding,
9115 build_typed_selector_reference, build_selector_reference,
9116 build_next_objc_exception_stuff,
9117 build_method_prototype_list_template, generate_descriptor_table,
9118 generate_protocols, build_protocol_initializer,
9119 build_ivar_list_template, build_method_list_template,
9120 build_ivar_list_initializer, generate_ivars_list,
9121 generate_dispatch_table, generate_protocol_list,
9122 build_category_initializer, build_shared_structure_initializer,
9123 generate_shared_structures, handle_impent,
9124 generate_objc_image_info): Likewise.
9125
8b63d0e5
PB
91262004-04-25 Paolo Bonzini <bonzini@gnu.org>
9127
9128 * cfglayout.c (duplicate_insn_chain): Remove references to
9129 NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
9130 * cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
9131 * cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
9132 * final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
9133 and NOTE_INSN_LOOP_CONT.
9134 * insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
9135 * jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
9136 and NOTE_INSN_LOOP_CONT.
9137 * loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
9138 check_dbra_loop, loop_dump_aux): Remove references to removed notes
9139 and fields.
9140 * reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
9141 * unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
9142 references to removed notes and fields.
9143 (subtract_reg_term, ujump_to_loop_cont): Remove.
9144
078e3ffe
PB
91452004-08-25 Paolo Bonzini <bonzini@gnu.org>
9146
8b63d0e5 9147 * doc/install.texi: Document that libcpp does not require
078e3ffe
PB
9148 Automake any longer. Document that Automake 1.9.1 should
9149 work everywhere.
9150
f8ca7e49
ZW
91512004-08-25 Zack Weinberg <zack@codesourcery.com>
9152
9153 * flags.h (enum debug_info_type): Remove DWARF_DEBUG.
9154 * defaults.h (PREFERRED_DEBUGGING_TYPE): Remove check for
9155 DWARF_DEBUGGING_INFO from choice-of-definition chain;
9156 restructure using C89 features (#elif, #error).
9157 * c-lex.c, final.c, opts.c, config/cris/cris.c, config/frv/frv.c
9158 * config/sh/sh.h: Remove references to DWARF_DEBUG.
9159 * doc/invoke.texi: Remove references to DWARF version 1;
9160 clarify why -gdwarf-2<n> doesn't work.
9161
51a904c9
ZW
91622004-08-25 Zack Weinberg <zack@codesourcery.com>
9163
9164 * basic-block.h (BB_SET_PARTITION): Clear old value first.
9165 * cfg.c (clear_bb_flags): Don't clear partition setting.
69b9b0d2 9166 * ifcvt.c (find_if_case_1): Remove ??? comment.
51a904c9 9167
e548ead9
AM
91682004-08-25 Alan Modra <amodra@bigpond.net.au>
9169
9170 PR target/17052
9171 * config/rs6000/rs6000.h (machine_function): Remove sysv_varargs_p.
9172 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
9173 current_function_stdarg in place of sysv_varargs_p.
9174 * config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
9175 sysv_varargs_p.
9176
1e19ac74
RH
91772004-08-24 Richard Henderson <rth@redhat.com>
9178
9179 PR target/16298
9180 * config/i386/i386.c (legitimate_constant_p): Rework to not accept
9181 random codes within CONST.
9182
c61225e7
JW
91832004-08-24 James E Wilson <wilson@specifixinc.com>
9184
9185 * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS): Remove
9186 -freorder-blocks-and-partition.
9187
37840132
JDA
91882004-08-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9189
9190 PR middle-end/17044
9191 * tree-ssa-threadupdate.c (redirection_data): Make static.
9192 (thread_block): Use ggc_alloc_cleared to allocate struct
9193 redirection_data. Don't free elements in redirection_data.
9194
cf1d880b
RS
91952004-08-24 Richard Sandiford <rsandifo@redhat.com>
9196
9197 * config/mips/predicates.md (small_data_pattern): Match prefetches.
9198
b3393f1f
ZD
91992004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9200
9201 PR tree-optimization/17016
9202 * tree-ssa-loop-niter.c (number_of_iterations_cond,
9203 number_of_iterations_exit): Use POINTER_TYPE_P instead
9204 of testing for POINTER_TYPE.
9205
82b85a85
ZD
92062004-08-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9207
9208 * tree-ssa-loop-ivcanon.c: New file.
9209 * tree-ssa-loop-manip.c (create_iv): New function.
9210 * Makefile.in (tree-ssa-loop-ivcanon.o): Add.
9211 (tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
9212 * cfgloop.c (mark_single_exit_loops): New function.
9213 (verify_loop_structure): Verify single-exit loops.
9214 * cfgloop.h (struct loop): Add single_exit field.
9215 (LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
9216 (mark_single_exit_loops): Declare.
9217 (tree_num_loop_insns): Declare.
9218 * cfgloopmanip.c (update_single_exits_after_duplication): New function.
9219 (duplicate_loop_to_header_edge): Use it.
9220 * common.opt (fivcanon): New flag.
9221 * timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
9222 * tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
9223 (bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
9224 (bsi_insert_on_edge_immediate): New function.
9225 * tree-flow.h (bsi_insert_on_edge_immediate,
9226 canonicalize_induction_variables, tree_unroll_loops_completely,
9227 create_iv): Declare.
9228 * tree-optimize.c (init_tree_optimization_passes): Add
9229 pass_iv_canon and pass_complete_unroll.
9230 * tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
9231 * tree-scalar-evolution.c (get_loop_exit_condition,
9232 get_exit_conditions_rec, number_of_iterations_in_loop,
9233 scev_initialize): Use single_exit information.
9234 * tree-ssa-loop-niter.c (number_of_iterations_cond): Record
9235 missing assumptions.
9236 (loop_niter_by_eval): Return number of iterations as unsigned
9237 int.
9238 * tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
9239 (tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
9240 tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
9241 New passes.
9242 (tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
9243 * tree-ssanames.c (make_ssa_name): Allow creating ssa name before
9244 the defining statement is ready.
9245 * tree-vectorizer.c (vect_create_iv_simple): Removed.
9246 (vect_create_index_for_array_ref, vect_transform_loop_bound):
9247 Use create_iv.
9248 (vect_transform_loop_bound): Use single_exit information.
9249 (vect_analyze_loop_form): Cleanup bogus tests.
9250 (vectorize_loops): Do not call flow_loop_scan.
9251 * tree.h (may_negate_without_overflow_p): Declare.
9252 * fold-const.c (may_negate_without_overflow_p): Split out from ...
9253 (negate_expr_p): ... this function.
9254 (tree_expr_nonzero_p): Handle overflowed constants correctly.
9255 * doc/invoke.texi (-fivcanon): Document.
9256 * doc/passes.texi: Document canonical induction variable creation.
9257
b3c90666
RS
92582004-08-24 Richard Sandiford <rsandifo@redhat.com>
9259
9260 * config/mips/mips.h (ISA_HAS_INT_CONDMOVE): Delete.
9261 * config/mips/mips.c (print_operand): Fold %B/%b handling into %T/%t,
9262 using the mode of the operand to decide between them.
9263 * config/mips/mips.md (MOVECC): New mode macro.
9264 (ccreg): New mode attribute.
9265 (*mov{si,di,sf,df}_on_{cc,si,di}): Name formerly unnamed patterns.
9266 Redefine using :GPR and :MOVECC. Use %T and %t for the condition.
9267 (mov[sd]icc): Redefine using :GPR.
9268
4767c570
RS
92692004-08-24 Richard Sandiford <rsandifo@redhat.com>
9270
04550232
RS
9271 * config/mips/mips-protos.h (mips_emit_prefetch): Delete.
9272 (mips_prefetch_cookie): New function.
9273 * config/mips/mips.c (print_operand_address): Fix handling of
9274 ADDRESS_CONST_INT.
9275 (mips_emit_prefetch): Delete.
9276 (mips_prefetch_cookie): New function.
9277 * config/mips/mips.md (prefetch): Turn into a define_insn. Use a
9278 mode of QImode for the address_operand. Use mips_prefetch_cookie
9279 to calculate the first "pref" operand.
9280 (prefetch_[sd]i, prefetch_[sd]i_address): Delete.
9281 (prefetch_indexed_[sd]i): Redefine using :P. Use mips_prefetch_cookie.
4767c570 9282
a657c98a
RE
92832004-08-24 Richard Earnshaw <rearnsha@arm.com>
9284
9285 * arm.md: Include predicates.md.
9286 * predicates.md: New file.
9287 * arm.c (s_register_operand, arm_hard_register_operand)
9288 (arm_general_register_operand, f_register_operand, reg_or_int_operand)
9289 (arm_immediate_operand, arm_neg_immediate_operand)
9290 (arm_not_immediate_operand, arm_rhs_operand, arm_rhsm_operand)
9291 (arm_add_operand, arm_addimm_operand, arm_not_operand)
9292 (offsettable_memory_operand, alignable_memory_operand)
9293 (arm_reload_memory_operand, arm_float_rhs_operand)
9294 (arm_float_add_operand, vfp_compare_operand, arm_float_compare_operand)
9295 (index_operand, shiftable_operator, logical_binary_operator)
9296 (shift_operator, equality_operator, arm_comparison_operator)
9297 (minmax_operator, cc_register, dominant_cc_register)
9298 (arm_extendqisi_mem_op, power_of_two_operand, nonimmediate_di_operand)
9299 (di_operand, nonimmediate_soft_df_operand, soft_df_operand)
9300 (const_shift_operand, load_multiple_operation)
9301 (store_multiple_operation, multi_register_push, thumb_cmp_operand)
9302 (thumb_cmpneg_operand, thumb_cbrch_target_operand)
9303 (cirrus_register_operand, cirrus_fp_register)
9304 (cirrus_shift_const): Delete, replaced with equivalents in
9305 predicates.md.
9306 (shift_op): Handle ROTATE.
9307 * arm-protos.h: Delete declarations for above.
9308 * arm.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
9309 * t-arm (MD_INCLUDES): Add predicates.md.
9310 (s-preds): Depends on MD_INCLUDES.
9311
886ce862
RS
93122004-08-24 Richard Sandiford <rsandifo@redhat.com>
9313
9314 * config/mips/mips.c (mips_gen_conditional_trap): Fix mode.
9315 * config/mips/mips.md (*conditional_trap[sd]i): Name previously unnamed
9316 patterns. Redefine using :GPR. Give the match_operator a mode.
9317 Use '%2' rather than '%z2' for operand 2.
9318
be659abd
RS
93192004-08-24 Richard Sandiford <rsandifo@redhat.com>
9320
9321 * config/mips/mips.md (load_call[sd]i): Redefine using :P. Add mode
9322 attribute.
9323
92dcb882
RS
93242004-08-24 Richard Sandiford <rsandifo@redhat.com>
9325
9326 * config/mips/mips.md (indirect_jump): Use force_reg. Adjust names
9327 of internal patterns.
9328 (indirect_jump[sd]i): Renamed from indirect_jump_internal[12].
9329 Redefine using :P.
9330 (tablejump): Use expand_binop to calculate address. Adjust names
9331 of internal patterns.
9332 (tablejump[sd]i): Renamed from tablejump_internal[12].
9333 Redefine using :P.
9334 (tablejump_mips16[12]): Delete.
9335
a0160289
RS
93362004-08-24 Richard Sandiford <rsandifo@redhat.com>
9337
9338 * config/mips/mips.md (*seq_[sd]i, *seq_[sd]i_mips16, *sne_[sd]i)
9339 (*sgt_[sd]i, *sgt_[sd]i_mips16, *sge_[sd]i, *slt_[sd]i)
9340 (*slt_[sd]i_mips16, *sle_[sd]i, *sle_[sd]i_mips16, *sgtu_[sd]i)
9341 (*sgtu_[sd]i_mips16, *sge_[sd]i, *sltu_[sd]i, *sltu_[sd]i_mips16)
9342 (*sleu_[sd]i, *sleu_[sd]i_mips16): Redefine using :GPR.
9343
2c4402f4
RS
93442004-08-24 Richard Sandiford <rsandifo@redhat.com>
9345
9346 * config/mips/mips.md (cmpsi, cmpdi): Redefine using :GPR.
9347 (*branch_zero[sd]i): Renamed from branch_zero{,_di}. Redefine
9348 using :GPR.
9349 (*branch_zero[sd]i_inverted): Likewise branch_zero{,_di}_inverted.
9350 (*branch_equality[sd]i): Likewise branch_equality{,_di}.
9351 (*branch_equality[sd]i_inverted): Likewise
9352 branch_equality{,_di}_inverted.
9353 (*branch_equality[sd]i_mips16): Name formerly unnamed patterns.
9354 Redefine using :GPR.
9355
b5c2f1d1
ZW
93562004-08-24 Zack Weinberg <zack@codesourcery.com>
9357
9358 * rtl.def: Reorganize, placing all codes used only in machine
9359 descriptions at the end.
9360
9e995780
ZW
9361 * rtl.def: Wrap MD-only codes in #ifdef GENERATOR_FILE.
9362 * gengtype.c: Don't include rtl.h. Define enum rtx_code and
9363 rtx_name, rtx_format arrays by direct reference to rtl.def,
9364 first undefining GENERATOR_FILE. Define enum insn_note and
9365 note_insn_name array by direct reference to insn-notes.def.
9366 (adjust_field_rtx_def): Remove local definition of rtx_name.
9367 Use symbolic names for insn notes.
9368 * Makefile.in (gengtype.o): Update dependencies.
9369
076c7ab8
ZW
93702004-08-24 Zack Weinberg <zack@codesourcery.com>
9371
9372 * basic-block.h (struct basic_block_def): Reorder fields to
9373 eliminate interior padding. Remove 'partition' field.
9374 (BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION)
9375 (BB_UNPARTITIONED, BB_PARTITION, BB_SET_PARTITION)
9376 (BB_COPY_PARTITION): New macros.
9377 * bb-reorder.c, cfgcleanup.c, cfglayout.c, cfgrtl.c, ifcvt.c
9378 Replace all references to the 'partition' field of a basic
9379 block with new macros.
9380
9381 * insn-notes.def: Delete NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
9382 * final.c (final_scan_insn): Don't handle it.
9383 * modulo-sched.c: Set BB_DISABLE_SCHEDULE flag on g->bb
9384 instead of emitting a NOTE_INSN_DISABLE_SCHED_OF_BLOCK note.
9385 * sched-rgn.c (sched_is_disabled_for_current_region_p):
9386 Look for a BB_DISABLE_SCHEDULE flag on the block instead of a note.
9387
8c1d6d62
NS
93882004-08-24 Nathan Sidwell <nathan@codesourcery.com>
9389
9390 * c-decl.c (c_init_decl_processing): Adjust
9391 build_common_tree_nodes call.
9392 * expmed.c (const_mult_add_overflow_p): Use
9393 build_distinct_type_copy.
9394 * stor-layout.c (early_type_list): Remove.
9395 (layout_type): Don't append to early_type_list.
9396 (initialize_sizetypes): Add signed_p argument.
9397 (set_sizetype): Overwrite the stub type nodes directly.
9398 * tree.c (copy_node_stat): Clear a type's value cache here ...
9399 (build_distinct_type): ... not here.
9400 (build_common_tree_nodes): Add signed_sizetype argument. Adjust.
9401 * tree.h (initialize_sizetypes): Add signed_p argument.
9402 (build_common_tree_nodes): Likewise.
9403
9404 * objc/objc-act.c (get_static_reference): Use
9405 build_variant_type_copy.
9406 (get_protocol_reference): Likewise.
9407 * objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE.
9408
97dc04b3 94092004-08-24 Richard Henderson <rth@redhat.com>
076c7ab8 9410 Andrew Pinski <apinski@apple.com>
97dc04b3
RH
9411
9412 * gimplify.c (gimplify_array_ref_to_plus): Delete.
9413 (gimplify_addr_expr): Do not call gimplify_array_ref_to_plus
9414 for ARRAY_REF.
9415
9416 * config/rs6000/rs6000.c (altivec_expand_builtin): Go passed
9417 ARRAY_REF also to get to the STRING_CST.
9418
72cdc543
PB
94192004-08-24 Paul Brook <paul@codesourcery.com>
9420
9421 * config/arm/arm.c (arm_override_options): Update error message.
9422 * config/arm/arm.h (TARGET_HARD_FLOAT): Rename to
9423 TARGET_HARD_FLOAT_ABI.
9424 (TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT.
9425 (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI.
9426
bd5ca07e
NC
94272004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
9428
9429 PR target/17093
9430 * config/m32r.md (movsi_sda): Add SI mode specification to
9431 UNSPEC.
9432
94332004-08-24 Nick Clifton <nickc@redhat.com>
9434
9435 * config/m32r/m32r.h (PREDICATE_CODES): Remove duplicate definition
9436 of seth_add3_operand.
9437
d46cd2be
NS
94382004-08-24 Nathan Sidwell <nathan@codesourcery.com>
9439
9440 * Makefile.in (PROTO_OBJS): Add errors.o.
9441 * protoize.c (fancy_abort): Remove.
9442 * mips-tfile.c (fancy_abort): Add parameters.
9443
748fa294
JW
94442004-08-24 Jonathan Wakely <redi@gcc.gnu.org>
9445
9446 * doc/trouble.texi (C++ misunderstandings): Fix example code.
9447
4505f099
AT
94482004-08-24 Andreas Tobler <a.tobler@schweiz.ch>
9449
9450 * Makefile.in (HOOKS_H): Add dependency on MACHMODE_H.
9451 (host-default.o): Add dependency on HOOKS_H.
9452 * config/x-linux: Likewise.
9453 * config/x-solaris: Likewise.
9454 * config/i386/x-mingw32: Likewise.
9455 * config/rs6000/x-darwin: Likewise.
9456
a2fe1975
JW
94572004-08-23 James E Wilson <wilson@specifixinc.com>
9458
9459 * reg-notes.def (REG_NOTE): In comment, change DEF_INSN_NOTE to
9460 DEF_REG_NOTE.
9461
c3f216e2
MM
94622004-08-23 Mark Mitchell <mark@codesourcery.com>
9463
9464 PR c/14492
9465 * dwarf2out.c (loc_descriptor_from_tree): Robustify.
9466
2e6ae27f
DN
94672004-08-23 Diego Novillo <dnovillo@redhat.com>
9468
9469 * cfg.c (check_bb_profile): Fix typos.
9470 * function.c (assign_parm_is_stack_parm): Likewise.
9471 * tree-nested.c: Likewise.
9472
d685c974
DJ
94732004-08-23 Daniel Jacobowitz <dan@debian.org>
9474
9475 * ggc-zone.c (struc alloc_chunk): Rearrange flag bits and SIZE.
9476 Remove TYPECODE.
9477 (ggc_alloc_zone_1): Mark TYPE as unused. Don't save it in the chunk.
9478
f676971a
EC
94792004-08-23 Eric Christopher <echristo@redhat.com>
9480
9481 * defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
9482 * system.h (VECTOR_MODE_SUPPORTED_P): Poison.
9483 * target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
9484 * target.h: Ditto.
9485 * hooks.h: Include machmode.h.
9486 (hook_bool_mode_false): Declare.
9487 * hooks.c (hook_bool_mode_false): Define.
9488 * expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
9489 * stor-layout.c (layout_type): Ditto.
9490 * config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
9491 Define to target macro.
9492 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
9493 * config/arm/arm.c: Ditto. Use.
9494 * config/arm/arm.h: Ditto.
9495 * config/arm/arm-protos.h: Ditto.
9496 * config/i386/i386.c: Ditto.
9497 * config/i386/i386.h: Ditto.
9498 * config/rs6000/rs6000.c: Ditto.
9499 * config/rs6000/rs6000.h: Ditto.
9500 * config/sh/sh.c: Ditto.
9501 * config/sh/sh.h: Ditto.
9502 * config/sh/sh-protos.h: Ditto.
9503 * config/sh/sh.md: Use.
9504 * doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
9505 to TARGET_VECTOR_MODE_SUPPORTED_P.
9506
8dd16ecc
NS
95072004-08-23 Nathan Sidwell <nathan@codesourcery.com>
9508
b3d1f5b4
NS
9509 * Makefile.in (BUILD_ERRORS): Set to build-errors.
9510 (errors.o): New target for host.
9511 (build-errors.o): New target for build.
9512 (genobjs): Replace errors.o with build-errors.
9513 (gengenrtl$(buildexeext)): Add $(BUILD_ERRORS).
9514 (GCOV_OBJS, GCOV_DUMP_OBJS): Add errors.o.
9515 (fix-headers$(build_exeext)): Add $(BUILD_ERRORS).
9516 (fix-header.o): Add errors.h
9517 * collect2.c (fancy_abort): Add parameters.
9518 * collect2.h (fancy_abort): Don't declare.
9519 * errors.h (fancy_abort): Don't declare.
9520 * errors.c: Include either bconfig.h or config.h.
9521 (fancy_abort): Trim filename.
9522 * fix-header.c (v_fatal, fatal): Remove.
9523 (progname): Remove definition.
9524 (main): Set progname here.
9525 * gcc.c (fancy_abort): Add parameters.
9526 * gcc.h (fancy_abort): Remove declaration.
9527 * gcov.c (fancy_abort): Remove.
9528 * rtl.h (fancy_abort): Don't declare.
9529 (abort): Don't define.
9530 * tree.h (fancy_abort): Don't declare.
9531 (abort): Don't define.
9532 * system.h (fancy_abort): Declare.
9533 (abort): Define to fancy_abort.
9534 * fixinc/Makefile.in (ALLOBJ): Add ../build-errors.o
9535
be88a628
NS
9536 * tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE.
9537 (usize_type, ubitsizetype): Remove.
9538 * stor-layout.c (set_sizetype): Don't initialize usizetype,
9539 ubitsizetype.
9540 * fold-const.c (size_diffop): TYPE can never be ubitsizetype.
9541
8dd16ecc
NS
9542 * tree.h (build_distinct_type_copy): New.
9543 (build_type_copy): ... here. Rename to ...
9544 (build_variant_type_copy): ... here.
9545 * tree.c (build_qualified_type): Rename build_type_copy call.
9546 (build_distinct_type_copy): New, broken out of ...
9547 (build_type_copy): ... here. Rename to ...
9548 (build_variant_type_copy): ... here. Use
9549 build_distinct_type_copy.
9550 (build_common_tree_nodes_2): Rename build_type_copy call.
9551 * c-common.c (c_common_nodes_and_builtins): Rename build_type_copy
9552 call.
9553 (handle_packed_attribute, handle_unused_attribute,
9554 handle_transparanet_union_attribute, handle_aligned_attribute,
9555 handle_deprecated_attribute): Likewise.
9556 * c-decl.c (clone_underlying_type, store_parm_decls_oldstyle):
9557 Likewise.
9558 * config/arm/arm.c (arm_handle_isr_attribyte): Likewise.
9559 * config/rs6000/rs6000.c (rs6000_init_builtins): Use
9560 build_distinct_type_copy.
9561
e8bf0f3b
RS
95622004-08-23 Richard Sandiford <rsandifo@redhat.com>
9563
9564 * config/mips/mips.md (mfhilo_[sd]i): Redefine using :GPR. Add mode
9565 attribute.
9566
4d06ed0a
RS
95672004-08-23 Richard Sandiford <rsandifo@redhat.com>
9568
9569 * config/mips/mips.md (length): Don't use mips_fetch_insns for indexed
9570 loads and stores.
9571 (*lwxc1_<mode>, *ldxc1_<mode>, *swxc1_<mode>, *sdxc1_<mode>): Name
9572 formerly unnamed patterns. Redefine using :P for the address. Remove
9573 explicit length attributes.
9574
a3631d97
ZD
95752004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9576
9577 * tree-ssa-loop-im.c (fem_single_reachable_address, for_each_memref):
9578 New functions.
9579 (single_reachable_address): Use them.
9580 (schedule_sm): Add dump.
9581 (is_call_clobbered_ref): New function.
9582 (determine_lsm_reg): Check whether the reference is call clobbered.
9583 Only work for gimple_reg_type values.
9584
b1f58428
RS
95852004-08-23 Richard Sandiford <rsandifo@redhat.com>
9586
9587 * config/mips/mips.md (*mov<mode>_ra): Name previously unnamed MIPS16
9588 $31 store insns. Redefine using :GPR.
9589
237b301e
RS
95902004-08-23 Richard Sandiford <rsandifo@redhat.com>
9591
9592 * config/mips/mips.md (P): New mode macro.
9593 (*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i)
9594 (*load_got[sd]i, *low[sd]i, *low[sd]i_mips16): Redefine using :P.
9595 Add mode attributes.
9596
c9081a92
RS
95972004-08-23 Richard Sandiford <rsandifo@redhat.com>
9598
9599 * config/mips/mips.md (UNSPEC_[LS][WD][LR]): Delete in favor of...
9600 (UNSPEC_{LOAD,STORE}_{LEFT,RIGHT}): ...these new constants. Shuffle
9601 later constants to cover the gap.
9602 (load, store): New mode attributes.
9603 (mov_l[wd]l, mov_l[wd]r, mov_s[wd]l, mov_s[wd]r): Redefine using :GPR.
9604 Use new unspec constants.
9605
3d1f285d
RS
96062004-08-23 Richard Sandiford <rsandifo@redhat.com>
9607
9608 * config/mips/mips.md (one_cmpl[sd]i2): Redefine using :GPR.
9609 (and[sd]3, ior[sd]i3, xor[sd]i3): Likewise. Change 32-bit patterns
9610 to use register_operand rather than uns_arith_operand as the predicate
9611 for operand 1. Remove redundant MIPS16 force_reg() for operand 1.
9612 (*and[sd]i3, *ior[sd]i3, *xor[sd]i3): Name formerly unnamed patterns.
9613 Redefine using :GPR. Make same predicate change here. Extend the
9614 commutativity of operands 1 and 2 from the SImode version to the
9615 DImode one.
9616 (*and[sd]i3_mips16, *ior[sd]i3_mips16, *xor[sd]i3_mips16): Likewise,
9617 but with no predicate changes.
9618 (*nor[sd]i3): Redefine using :GPR.
9619
c0e1b12f
ZD
96202004-08-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9621
9622 * tree-ssa-operands.c (get_call_expr_operands): Add VUSE operands for
9623 noreturn functions.
9624
400a9325
RS
96252004-08-23 Richard Sandiford <rsandifo@redhat.com>
9626
9627 * config/mips/mips.h (ISA_HAS_DCLZ_DCLO): Delete.
9628 * config/mips/mips.md (abs[sd]i2): Redefine using :GPR. Only use
9629 branch-likely insns for absdi2 if GENERATE_BRANCHLIKELY. Use "%."
9630 rather than "%z2" (with a fake const0_rtx for operand 2).
9631 (ffs[sd]i2): Redefine using :GPR.
9632 (clz[sd]i2): Likewise. Use ISA_HAS_CLO_CLZ for the 64-bit case.
9633
2222da3a
RS
96342004-08-23 Richard Sandiford <rsandifo@redhat.com>
9635
9636 * config/mips/mips.md ({,u}divmod[sd]i4): Redefine using :GPR.
9637
15ac4ccf
RS
96382004-08-23 Richard Sandiford <rsandifo@redhat.com>
9639
9640 * config/mips/mips.md (any_extend): New code macro.
9641 (u, su): New code attributes.
9642 ({,u}mulsidi3, {,u}mulsidi3_32bit_internal, {,u}mulsidi3_32bit_r4000)
9643 ({u,s}mulsi3_highpart, {u,s}mulsi3_highpart_internal)
9644 ({u,s}mulsi3_highpart_mulhi_internal, {s,u}muldi3_highpart)
9645 (*{s,u}mul_acc_di): Redefine using any_extend.
9646 (*{,u}muls_di, *{s,u}msac_di): Likewise. Change names of patterns
9647 to reflect real insn names.
9648 (*mulsidi3_64bit, *mulsidi3_64bit_parts): Replace use of match_operator
9649 with an any_extend template.
9650 ({u,s}mulsi3_highpart_neg_mulhi_internal): Redefine using any_extend.
9651 Add '*' to name.
9652
d46c971d
RS
96532004-08-23 Richard Sandiford <rsandifo@redhat.com>
9654
9655 * config/mips/mips.h (GENERATE_MULT3_SI): Check TARGET_MAD.
9656 * config/mips/mips.md (mul[sd]i3, mul[sd]i3_internal)
9657 (mul[sd]i3_r4000): Redefine using :GPR.
9658 (mulsi3_mult3): Don't check TARGET_MAD separately.
9659 (muldi3_mult3): Moved after mulsi_mult3.
9660
5811cb27
RS
96612004-08-23 Richard Sandiford <rsandifo@redhat.com>
9662
9663 * config.gcc (mips-*-*): Remove definitions of MASK_GAS and
9664 OBJECT_FORMAT_ELF. Set MASK_SPLIT_ADDR by default if using GNU ld.
9665 * config/mips/mips.h (MASK_GAS): Delete. Shuffle later masks down.
9666 (TARGET_GAS, TARGET_MIPS_AS): Delete.
9667 (TARGET_GPWORD): Define to true for n32 on IRIX.
9668 (TARGET_SWITCHES): Remove -mmips-as. Turn -mgas into a no-op.
9669 (MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
9670 (GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
9671 (ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
9672 (MDEBUG_ASM_SPEC): Delete, folding into...
9673 (SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
9674 (ASM_SPEC): Inline old GAS_ASM_SPEC. Use GNU names for ABI switches.
9675 (EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
9676 subtarget_mips_as_asm_spec, mdebug_asm_spec. Use MULTILIB_ABI_DEFAULT
9677 to define asm_abi_default_spec.
9678 (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
9679 (TARGET_ASM_SELECT_SECTION): Delete.
9680 * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
9681 for non-mips16 code, removing previous workaround for SGI assemblers.
9682 (TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
9683 (TARGET_ASM_ALIGNED_DI_OP): Define this instead.
9684 (override_options): Remove !TARGET_GAS and !have_named_sections code.
9685 (print_operand): Fold TARGET_GAS conditionals into asm strings.
9686 (mips_output_filename): Remove !TARGET_GAS code. Replace use of
9687 ASM_STABS_OP and ASM_STABN_OP.
9688 (mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
9689 (mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
9690 (mips_output_function_prologue): Remove !TARGET_GAS code.
9691 (mips_select_rtx_section): Remove !have_named_sections code.
9692 (mips_select_section): Delete.
9693 * config/mips/mips.md (trap): Remove !TARGET_GAS check.
9694 * config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
9695 * config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
9696 (PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
9697 * config/mips/vxworks.h (ASM_SPEC): As for mips.h.
9698 * config/mips/windiss.h (ASM_SPEC): Likewise.
9699
032e8348
RS
97002004-08-23 Richard Sandiford <rsandifo@redhat.com>
9701
9702 * read-rtl.c (map_value, mapping, macro_group): New structures.
9703 (BELLWETHER_CODE): New macro.
9704 (modes, codes, bellwether_codes): New variables.
9705 (find_mode, uses_mode_macro_p, apply_mode_macro, find_code)
9706 (uses_code_macro_p, apply_code_macro, apply_macro_to_string)
9707 (apply_macro_to_rtx, uses_macro_p, add_condition_to_string)
9708 (add_condition_to_rtx, apply_macro_traverse, add_mapping)
9709 (add_map_value, initialize_macros): New functions.
9710 (def_hash, def_hash_eq_p): Generalize to anything that points to,
9711 or starts with, a char * field.
9712 (find_macro, read_mapping, check_code_macro): New functions.
9713 (read_rtx_1): New, split out from read_rtx. Handle the new
9714 define_{mode,code}_{macro,attr} constructs. Use find_macro
9715 to parse the name of a code or mode. Use BELLWETHER_CODE to
9716 extract the format and to choose a suitable code for rtx_alloc.
9717 Modify recursive invocations to use read_rtx_1.
9718 (read_rtx): Call initialize_macros. Apply code and mode macros
9719 to the rtx returned by read_rtx_1. Cache everything after the
9720 first macro expansion for subsequent read_rtx calls.
9721 * doc/md.texi: Document new .md constructs.
9722 * config/mips/mips.md (GPR): New mode macro.
9723 (d, si8_di5): New mode attributes.
9724 (any_cond): New code macro.
9725 (add[sd]i3): Redefine using :GPR.
9726 (*add[sd]i3): Likewise, renaming from add[sd]i3_internal.
9727 (*add[sd]i3_sp[12], *add<mode>3_mips16): Redefine using :GPR, naming
9728 previously unnamed MIPS16 patterns.
9729 (*addsi3_extended): Renamed from addsi3_internal_2. Fix overly long
9730 lines. Don't match (plus (const_int 0) ...).
9731 (*addsi3_extended_mips16): Name previously unnamed MIPS16 pattern.
9732 Use a define_split to generate the addition.
9733 (sub[sd]i3): Redefine using :GPR. Turn subsi3 into a define_insn.
9734 (subsi3_internal): Delete.
9735 (*subsi3_extended): Renamed from subsi3_internal_2.
9736 (bunordered, bordered, bunlt, bunge, buneq, bltgt, bunle, bungt)
9737 (beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Redefine
9738 using an any_cond template.
9739
ecce923e
RS
97402004-08-23 Richard Sandiford <rsandifo@redhat.com>
9741
9742 * read-rtl.c (read_rtx): Tidy use of format_ptr.
9743
a269d6c8
RS
97442004-08-23 Richard Sandiford <rsandifo@redhat.com>
9745
9746 * read-rtl.c (string_obstack): New file-scope variable.
9747 (read_string, read_quoted_string, read_braced_string)
9748 (read_escape): Remove obstack parameter and use string_obstack instead.
9749 (read_rtx): Remove function-local rtl_obstack and initialize
9750 string_obstack instead. Update call to read_string.
9751
9fc3b39a
AP
97522004-08-22 Andrew Pinski <apinski@apple.com>
9753
9754 PR c/15262
9755 * c-typeck.c (build_unary_op): Use &a.b if the foldded lowered
9756 expression is not constant.
9757 (c_finish_return): Do not go through INDIRECT_REF when looking
9758 for the inner expression of an ADDR_EXPR for warning about.
9759
cea49550
RH
97602004-08-22 Richard Henderson <rth@redhat.com>
9761
9762 PR 17075
9763 * cfgexpand.c (expand_gimple_tailcall): Detect when we can both
9764 create new blocks and fall through.
9765 (expand_gimple_basic_block): Update to match.
9766
0b540f12
UW
97672004-08-22 Ulrich Weigand <uweigand@de.ibm.com>
9768
9769 * reload.c (find_reloads_address): Make return value tri-state.
9770 Return -1 if LEGITIMIZE_RELOAD_ADDRESS succeeded.
9771 (find_reloads): Assume that reloaded addresses match 'o' or
9772 EXTRA_MEMORY_CONSTRAINT constraints only if find_reloads_address
9773 returned 1 (not -1). Omit optional reloads for address operands
9774 only if find_reloads_address returned 1 (not -1).
9775
9776 * config/s390/s390.c (legitimize_reload_address): New function.
9777 * config/s390/s390-protos.h (legitimize_reload_address): Declare.
9778 * config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Define. Call
9779 legitimize_reload_address.
9780
7f5e6307
RH
97812004-08-22 Richard Hendersion <rth@redhat.com>
9782
9783 * tree.h (SAVE_EXPR_RESOLVED_P): New.
9784 * gimplify.c (gimplify_save_expr): Use it.
9785 * expr.c (expand_expr_real_1): Likewise. Also set DECL_IGNORED_P
9786 on the temporary variable.
9787
efd610a6
AP
97882004-08-22 Andrew Pinski <pinskia@physics.uc.edu>
9789
9790 * fold-const.c (rtl_expr_nonnegative_p): Delete.
9791 * tree.h (rtl_expr_nonnegative_p): Remove.
9792
324a6c95
SB
97932004-08-22 Steven Bosscher <stevenb@suse.de>
9794
9795 * config/i386/ppro.md (ppro_complex_insn): Add missing check
9796 for cpu==pentiumpro.
9797
9798 * combine.c (struct reg_stat): Fix comment typo.
9799
41db8425
JM
98002004-08-22 Joseph S. Myers <jsm@polyomino.org.uk>
9801
9802 * c-tree.h (c_sizeof_nowarn): Remove.
9803
00325bce
JM
98042004-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
9805
9806 * c-decl.c (set_array_declarator_type): Rename to
9807 set_array_declarator_inner.
9808 (build_c_parm, build_attrs_declarator, build_function_declarator):
9809 New functions.
9810 (make_pointer_declarator): Call build_attrs_declarator.
9811 * c-tree.h (set_array_declarator_type): Rename to
9812 set_array_declarator_inner.
9813 (build_c_parm, build_attrs_declarator, build_function_declarator):
9814 New prototypes.
9815 * c-parse.in (after_type_declarator,
9816 parm_declarator_starttypename, parm_declarator_nostarttypename,
9817 notype_declarator, absdcl_maybe_attribute, direct_absdcl1, parm,
9818 firstparm): Use these functions
9819
60919bce
JM
98202004-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
9821
9822 * c-decl.c (build_array_declarator, set_array_declarator_type,
9823 start_decl, grokdeclarator, grokparms): Change boolean parameters
9824 to type bool.
9825 * c-tree.h (build_array_declarator, set_array_declarator_type,
9826 start_decl): Update prototypes.
9827 * c-decl.c, c-parse.in: All callers changed.
9828
bdfd0ed4
MS
98292004-08-21 Mike Stump <mrs@apple.com>
9830
9831 * config/rs6000/darwin.h (SUBTARGET_OPTIONS): Move from here, to...
9832 (darwin_fix_and_continue): Likewise.
9833 (darwin_fix_and_continue_switch): Likewise.
9834 * config/darwin.h (SUBTARGET_OPTIONS): ...here, to fix -mone-byte-bool.
9835 (darwin_fix_and_continue): Likewise.
9836 (darwin_fix_and_continue_switch): Likewise.
9837
35da8b56 98382004-08-21 Danny Smith <dannysmith@users.sourceforge.net>
23d34220
DS
9839
9840 PR c++/16030
9841 * config/i386/winnt/c (gen_stdcall_suffix, gen_fastcall_suffix):
9842 Remove, merging into ...
9843 (gen_stdcall_or_fastcall_suffix): New function, returning tree
9844 rather than const char*, and accepting additional parameter.
9845 Don't add suffix to '*'-prefixed symbols or variadic functions.
9846 (i386_pe_encode_section_info): Adjust for call to new function.
9847 Call change_decl_assembler_name.
9848
828a4fe4
MS
98492004-08-20 Mike Stump <mrs@apple.com>
9850
9851 * config/darwin.c (machopic_indirect_data_reference): Mark
9852 stubs as defined.
9853 * config/386/386.c (darwin_local_data_pic): Add.
9854 (legitimate_constant_p): Reorder so that PLUS handling runs
9855 before darwin_local_data_pic to match the ordering in
9856 legitimate_pic_address_disp_p and so that MINUS runs after
9857 darwin_local_data_pic as otherwise the darwin_local_data_pic
9858 logic can be skipped, which would be very bad.
9859 (legitimate_pic_address_disp_p): Move from from here to
9860 darwin_local_data_pic so it can be reused.
9861
85b776df
AM
98622004-08-21 Alan Modra <amodra@bigpond.net.au>
9863
9864 * config/rs6000/linux64.h (DOT_SYMBOLS): Define.
9865 (CRT_CALL_STATIC_FUNCTION): Define !DOT_SYMBOLS version.
9866 (ASM_DECLARE_FUNCTION_SIZE): Modify for !DOT_SYMBOLS.
9867 (ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Likewise.
9868 (RS6000_ABI_NAME): Define as "linux".
9869 (SUBSUBTARGET_OVERRIDE_OPTIONS): Set dot_symbols.
9870 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Select
9871 ABI_AIX when rs6000_abi_name is "linux" and TARGET_64BIT.
9872 * config/rs6000/rs6000-protos.h (rs6000_output_function_entry): Decl.
9873 * config/rs6000/rs6000.c (dot_symbols): New global var.
9874 (rs6000_output_function_entry): New function, modified for
9875 !DOT_SYMBOLS..
9876 (print_operand <case 'z'>): ..extracted from here.
9877 (rs6000_assemble_visibility): Modify for !DOT_SYMBOLS.
9878 (rs6000_output_function_epilogue): Likewise.
9879 (rs6000_elf_declare_function_name): Likewise.
9880 * config/rs6000/rs6000.h (DOT_SYMBOLS): Define.
9881 (ASM_WEAKEN_DECL, ASM_OUTPUT_DEF_FROM_DECLS): Modify for !DOT_SYMBOLS.
9882 * configure.ac (HAVE_LD_NO_DOT_SYMS): Add new AC_DEFINE.
9883 * configure: Regenerate.
9884 * config.in: Regenerate.
9885
14d3dc34
MM
98862004-08-20 Mark Mitchell <mark@codesourcery.com>
9887
0e544c37
MM
9888 * reload.c (find_reloads_address): Fix thinko in previous change.
9889
14d3dc34
MM
9890 * reload.c (find_reloads_address): Reload the sum of a LO_SUM and
9891 a CONST_INT.
9892
f3b2657c
JJ
98932004-08-20 Jakub Jelinek <jakub@redhat.com>
9894
9895 PR rtl-optimization/17099
9896 * combine.c (force_to_mode): Check if inner_mask has any bits set
9897 outside of GET_MODE (x) instead of op_mode.
9898
d2294baa
MM
98992004-08-20 Mark Mitchell <mark@codesourcery.com>
9900
9901 * config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile
9902 fragment.
9903 * config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo.
9904 (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler.
9905 * config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5
9906 architecture.
9907 (SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float
9908 configurations.
9909 * config/arm/t-symbian: New file.
9910
753d0efa
AP
99112004-08-20 Andrew Pinski <apinski@apple.com>
9912
9913 * regrename.c (kill_value_regno): ANSIfy.
9914
627b6fe2
DJ
99152004-08-20 Dale Johannesen <dalej@apple.com>
9916
324a6c95 9917 * config/rs6000/rs6000.c (rs6000_rtx_costs): Improve DIV/MOD.
627b6fe2 9918
d64d5e80
DJ
99192004-08-20 Daniel Jacobowitz <dan@debian.org>
9920
9921 * regrename.c (kill_value_one_regno): Renamed from kill_value_regno.
9922 (kill_value_regno): New function, derived from kill_value.
9923 (kill_value): Update.
9924 (copyprop_hardreg_forward_1): Update call to kill_value_regno.
9925
af75a7ea 99262004-08-20 Daniel Berlin <dberlin@dberlin.org>
f676971a 9927
af75a7ea
DB
9928 Fix PR tree-optimization/17111
9929 * tree-ssa-pre.c (create_value_expr_from): Don't change the types
9930 of non-value_handles.
9931 (bitmap_set_contains): All constants are in every set.
9932
0a936b12
NS
99332004-08-20 Nathan Sidwell <nathan@codesourcery.com>
9934
9935 * fold-const.c (round_up, round_down): Use build_int_cst.
9936 Optimize common case.
9937
774acadf
ZW
99382004-08-20 Zack Weinberg <zack@codesourcery.com>
9939 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9940
324a6c95 9941 * config/pa/pa-protos.h (readonly_data, one_only_readonly_data_section,
774acadf
ZW
9942 one_only_data_section): Rename to som_readonly_data_section,
9943 som_one_only_readonly_data_section and som_one_only_data_section.
324a6c95 9944 * config/pa/pa.c (ONE_ONLY_TEXT_SECTION_ASM_OP,
0a936b12
NS
9945 NEW_TEXT_SECTION_ASM_OP, DEFAULT_TEXT_SECTION_ASM_OP): Delete
9946 conditional defines.
774acadf
ZW
9947 (som_text_section_asm_op): Replace ONE_ONLY_TEXT_SECTION_ASM_OP,
9948 NEW_TEXT_SECTION_ASM_OP and DEFAULT_TEXT_SECTION_ASM_OP with actual
9949 string values.
9950 (pa_select_section): Use renamed section functions.
9951 * config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
324a6c95 9952 SOM_READONLY_DATA_SECTION_FUNCTION,
774acadf 9953 SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
324a6c95
SB
9954 SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION):
9955 Define here ...
9956 * config/pa/som.h: ... not here.
9957 (DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
774acadf
ZW
9958 ONE_ONLY_TEXT_SECTION_ASM_OP, READONLY_DATA_ASM_OP,
9959 ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
324a6c95
SB
9960 ONE_ONLY_DATA_SECTION_ASM_OP): Delete.
9961 (READONLY_DATA_SECTION): Use som_readonly_data_section.
774acadf 9962
3224bead
NS
99632004-08-20 Nathan Sidwell <nathan@codesourcery.com>
9964
fabead06
NS
9965 * fold-const.c (int_const_binop): Don't generate non-overflowing
9966 size-types specially.
9967 (fold_convert_const): Likewise.
9968
3224bead
NS
9969 * stor-layout.c (initialize_sizetypes): Set SIZETYPE earlier,
9970 clear cache on copied sizetype.
9971
fb38008e
BE
99722004-08-20 Ben Elliston <bje@au.ibm.com>
9973
9974 * configure.ac: Don't escape apostrophe in --enable-coverage help.
9975 * configure: Regenerate.
9976
a9024779
DS
99772004-08-20 Danny Smith <dannysmith@users.sourceforge.net>
9978
9979 PR 5620
9980 * gcc.c (struct stat input_stat): Don't define if
9981 HOST_LACKS_INODE_NUMBERS
9982 (do_spec_1): If HOST_LACKS_INODE_NUMBERS, use lrealpath rather
9983 than stat to determine if temp file is same as input file.
9984 * doc/hostconfig.texi: Document HOST_LACKS_INODE_NUMBERS.
9985 * config/i386/xm-mingw32.h: Define HOST_LACKS_INODE_NUMBERS
9986
82563d35
RS
99872004-08-20 Richard Sandiford <rsandifo@redhat.com>
9988
9989 * configure.ac (mips*-*-*): Print an error if not using GAS.
9990 * configure: Regenerated.
9991 * doc/install.texi: Remove irix5 bullet from --with-gnu-as. Remove
9992 comments about buggy MIPSpro assemblers.
9993 * config.gcc (mips-sgi-irix[56]*): Combine stanzas. Include elfos.h
9994 before mips.h and iris.h after it. Use t-iris and t-slibgcc-irix.
9995 Use iris5.h only for IRIX 5 configs. Use iris6.h and t-iris6 for
9996 IRIX 6 configs. Define IRIX_USING_GNU_LD if using GNU ld.
9997 * config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
9998 (DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
9999 (NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
10000 (TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
10001 (WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
10002 of more general IRIX 6 definitions.
10003 (OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
10004 (HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
10005 (TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
10006 (LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
10007 (ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
10008 (PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
10009 (LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
10010 (TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
10011 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
10012 (SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
10013 (LINK_SPEC): Move most of definition to iris.h.
10014 (SUBTARGET_LINK_SPEC): New macro.
10015 (IRIX_STARTFILE_SPEC): Fold into...
10016 (STARTFILE_SPEC): ...here.
10017 (IRIX_ENDFILE_SPEC): Fold into...
10018 (ENDFILE_SPEC): ...here.
10019 * config/mips/iris6.h (TARGET_IRIX5): Remove override.
10020 (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
10021 (DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
10022 (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
10023 (ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
10024 (TARGET_OS_CPP_BUILTINS): Likewise. Guard IRIX6-specific bits.
10025 (DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
10026 (SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
10027 (PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
10028 (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
10029 (FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
10030 (POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
10031 (SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
10032 (BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
10033 (EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
10034 (DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
10035 (ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
10036 (ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
10037 (TARGET_IRIX6): Define to 1.
10038 (DRIVER_SELF_SPECS): Define.
10039 (DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
10040 (SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
10041 (SUBTARGET_LINK_SPEC): New macro.
10042 (IRIX_STARTFILE_SPEC): Fold into...
10043 (STARTFILE_SPEC): ...here. Remove !mabi=* case.
10044 (SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
10045 (LIB_SPEC, LIBGCC_SPEC): Use them.
10046 (LIB_SPEC): Remove !mabi=* case.
10047 (IRIX_ENDFILE_SPEC): Fold into...
10048 (ENDFILE_SPEC): ...here. Remove !mabi=* case.
10049 * config/mips/mips-protos.h (irix_output_external_libcall): Delete.
10050 * config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
10051 (TARGET_IRIX6): New macro.
10052 (ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
10053 (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
10054 (LABEL_AFTER_LOC): Delete.
10055 * config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
10056 (TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
10057 (mips_build_builtin_va_list): Check TARGET_IRIX6.
10058 (override_options): Remove TARGET_SGI_O32_AS-related code.
10059 (irix_output_external_libcall): Make static.
10060 (mips_output_filename): Avoid use of SET_FILE_NUMBER and
10061 LABEL_AFTER_LOC.
10062 (mips_file_start): Tidy guard for ABI sections. Remove use of
10063 ABICALLS_ASM_OP; use .abicalls instead.
10064 (mips_output_aligned_decl_common, mips_declare_object_name)
10065 (mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
10066 (mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
10067 .globl foo .text directives.
10068 (irix_asm_named_section_1, irix_asm_named_section)
10069 (irix_section_align_entry, irix_section_align_htab)
10070 (irix_orig_asm_out_file, irix_section_align_entry_eq)
10071 (irix_section_align_entry_hash, irix_asm_output_align)
10072 (irix_file_start, irix_section_align_1, copy_file_data)
10073 (irix_file_end, irix_section_type_flags): Delete.
10074 * config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
10075 Use standard section syntax. Remove protective "jr $31".
10076 (__gcc_fini): Likewise .gcc_fini.
10077 * config/mips/irix-crtn.asm: Adjust sections accordingly.
10078 * config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
10079 iris5gas.h.
10080 * config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
10081 from t-irix-gld.
10082 (EXTRA_MULTILIB_PARTS): Define.
10083 * config/mips/t-iris6: Remove bogus comment.
10084 (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
10085 * config/mips/iris5gas.h, config/mips/iris5gld.h,
10086 config/mips/iris6gas.h, config/mips/iris6gld.h,
10087 config/mips/t-iris5-as, config/mips/t-iris5-gas
10088 config/mips/t-irix-gld: Delete.
10089 * config/mips/iris.h: New file.
10090 * config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
10091
c4cdb8e1
RE
100922004-08-20 Richard Earnshaw <rearnsha@arm.com>
10093
10094 * postreload.c (reload_cse_move2add): Allow any condjump, but check
10095 that the implicit set isn't clobbered in the jump insn.
10096
d55ab31d
MM
100972004-08-19 Mark Mitchell <mark@codesourcery.com>
10098
10099 * defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove.
10100 * optabs.c (init_optabs): Don't check it.
10101 * config/arm/bpabi.h (TARGET_LIBGCC_LIBFUNCS): Do not define.
10102 * doc/tm.texi (TARGET_LIBGCC_FUNCS): Remove.
10103
d75f90f1
AK
101042004-08-18 Andreas Krebbel <krebbel1@de.ibm.com>
10105
10106 * config/s390/s390.md (s390_warn_framesize_string)
10107 (s390_warn_dynamic_string, s390_stack_size_string)
10108 (s390_stack_guard_string): New global string variables.
10109 (s390_warn_framesize, s390_warn_dynamicstack_p, s390_stack_size)
10110 (s390_stack_guard): New global variables.
10111 (override_options): Added checks for the new options.
10112 (s390_emit_prologue): Emit stack check and trap code and perform
10113 compile time stack size checking.
f676971a
EC
10114
10115 * config/s390/s390.h (TARGET_OPTIONS): Added new options
d75f90f1
AK
10116 "warn-framesize", "warn-dynamicstack", "stack-size" and
10117 "stack-guard".
10118
10119 * doc/invoke.texi: Added documentation for the new options.
10120
ca29916b
UW
101212004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
10122
10123 * unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen
10124 to eliminate warning.
10125 (linear_search_fdes): Declare p as unsigned.
10126 (binary_search_mixed_encoding_fdes): Likewise.
10127 * unwind-dw2.c (get_cie_encoding): Cast argument to strlen
10128 to eliminate warning.
10129 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing
10130 type cast.
10131
e1d5ee28
UW
101322004-08-19 Ulrich Weigand <uweigand@de.ibm.com>
10133
10134 * config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype.
10135 * config/s390/s390.c (preferred_la_operand_p): Accept two operands
10136 instead of one. Check for strictly legitimate address.
10137 * config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call
10138 to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate.
10139
19114537
EC
101402004-08-19 Eric Christopher <echristo@redhat.com>
10141
10142 * langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
10143 * langhooks.h (unsave_expr_now): Ditto.
10144 * tree.h (unsave_expr_1): Remove prototype.
10145 (lhd_unsave_expr_now): Rename to unsave_expr_now.
10146 * tree-inline.c (unsave_expr_1): Move here
10147 from tree.c. Make static.
10148 (unsave_expr_now): Rename from lhd_unsave_expr_now.
10149 * tree-sra.c: Fix up for rename.
10150 * tree-ssa-copy.c: Ditto.
10151 * tree-eh.c: Ditto.
10152 * tree.c (unsave_expr_1): Move to tree-inline.c.
10153
d5bfecf2
CT
101542004-08-19 Caroline Tice <ctice@apple.com>
10155
324a6c95
SB
10156 * config/i386/cygming.h (switch_to_section): Fix typo (change
10157 in_unlikely_text_section to in_unlikely_executed_text).
19114537 10158
58152808
DB
101592004-08-19 Daniel Berlin <dberlin@dberlin.org>
10160
10161 * vec.h (VEC_lower_bound): New macro.
19114537 10162
ae043003
RS
101632004-08-19 Richard Sandiford <rsandifo@redhat.com>
10164
10165 PR target/16446
10166 * config/mips/mips.c (struct mips_arg_info): Delete num_bytes.
10167 (mips_arg_info): Update accordingly. Remove common treatment of fpr_p;
10168 treat each ABI separately. Deal with n32/n64 complex float arguments.
10169 (function_arg): Add associated complex handling here.
10170
50ed9cea
RH
101712004-08-19 Richard Henderson <rth@redhat.com>
10172
10173 * config/arm/arm.c (arm_gen_load_multiple): Use
10174 adjust_automodify_address. Take base memory and offset instead
10175 of unchanging/struct/scalar bits.
10176 (arm_gen_store_multiple): Likewise.
10177 (arm_gen_movmemqi): Use adjust_automodify_address.
10178 * config/arm/arm-protos.h: Update decls.
10179 * config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call.
10180 (store_multiple): Similarly.
10181
74ae207d
R
101822004-08-19 J"orn Rennecke <joern.rennecke@superh.com>
10183
10184 * regclass.c (globalize_reg): Update call_really_used_regs.
10185
89b0433e
NS
101862004-08-19 Nathan Sidwell <nathan@codesourcery.com>
10187
31ebd7c8
NS
10188 * doc/invoke.texi (integer-share-limit): Document.
10189
89b0433e
NS
10190 * tree.h (TYPE_CACHED_VALUES_P): New.
10191 (TYPE_CACHED_VALUES): New.
10192 (TYPE_ORIG_SIZE_TYPE): Adjust.
10193 * tree.def (INTEGER_CST): Update documentation.
10194 * tree.c: Inlcude params.h.
10195 (build_int_cst): Cache small values.
10196 (build_type_copy): Do not copy the value cache.
10197 * c-common.c (c_common_nodes_and_builtins): Add comment, remove
10198 unneeded zeroing.
10199 * c-typeck.c (build_c_cast): Add comment about OVERFLOW setting.
10200 * expmed.c (const_mult_add_overflow_p): Clear type copy's value
10201 cache.
10202 * fold-const.c (force_fit_type): Copy value when setting
10203 overflows.
10204 (int_const_binop): Likewise.
10205 * stor-layout.c: Include params.h
10206 (set_sizetype): Create values cache.
10207 (fixup_unsigned_type): Set UNSIGNED_P before caching any values.
10208 * params.def (PARAM_INTEGER_SHARE_LIMIT): New.
10209 * params.h (INTEGER_SHARE_LIMIT): New.
10210 * Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H.
19114537 10211
c2504783
PB
102122004-08-19 Paolo Bonzini <bonzini@gnu.org>
10213
10214 * gimplify.c (gimplify_minimax_expr): Remove.
10215 (gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling.
10216
7a8554ce
DN
102172004-08-19 Dorit Naishlos <dorit@il.ibm.com>
10218
19114537 10219 * tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
7a8554ce
DN
10220 STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
10221
1905f33d
MM
102222004-08-19 Mark Mitchell <mark@codesourcery.com>
10223
10224 * bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
10225
f1732751
AP
102262004-08-18 Andrew Pinski <apinski@apple.com>
10227
10228 * varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
10229
8c78a388
MM
102302004-08-18 Mark Mitchell <mark@codesourcery.com>
10231
10232 * config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility.
10233 (__aeabi_ul2f): Likewise.
10234
7eda7cda
RH
102352004-08-18 Richard Henderson <rth@redhat.com>
10236
10237 * config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block
10238 move to rtl completely.
10239 (struct meminsnbuf, xtensa_emit_block_move): Remove.
10240 (xtensa_find_mode_for_size): Remove.
10241 * config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove.
10242 * config/xtensa/xtensa.md (movmemsi_internal): Remove.
10243
88042663
RH
102442004-08-18 Richard Henderson <rth@redhat.com>
10245
10246 * config/mcore/mcore.c (mode_from_align): Remove DImode.
10247 (block_move_sequence): Rewrite to use adjust_address.
10248 (mcore_expand_block_move): Cleanup logic. Accept only operands.
10249 Return boolean indicating success/failure.
10250 * config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl.
10251 * config/mcore/mcore.md (movmemsi): Update to match.
10252
699c914a
MS
102532004-08-18 Mike Stump <mrs@apple.com>
10254
10255 * doc/invoke.texi (-mfix-and-continue): Add support for
10256 fast turn around debugging.
10257 (-ffix-and-continue): Likewise.
10258 (-mindirect-data): Likewise.
10259 (-findirect-data): Likewise.
10260 * config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise.
10261 (indirect_data): Likewise.
10262 (machopic_data_defined_p): Likewise.
10263 (machopic_output_indirection): Likewise.
10264 (darwin_encode_section_info): Likewise.
10265 (darwin_fix_and_continue): Likewise.
10266 (darwin_fix_and_continue_switch): Likewise.
10267 * config/darwin.h (MACHO_SYMBOL_STATIC): Likewise.
10268 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
10269 (SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise.
10270 (SUBTARGET_OPTIONS): Likewise.
10271 (darwin_fix_and_continue): Likewise.
10272 (darwin_fix_and_continue_switch): Likewise.
10273 (TARGET_FIX_AND_CONTINUE): Likewise.
10274 * config/rs6000.c (rs6000_emit_prologue): Likewise.
10275
102762004-08-19 Steven Bosscher <stevenb@suse.de>
bd454efd
SB
10277
10278 * basic-block.h (struct edge_def): Remove crossing_edge.
10279 (EDGE_CROSSING): New define.
10280 (EDGE_ALL_FLAGS): Update.
10281 * bb-reorder.c (find_traces_1_round, better_edge_p,
10282 find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges,
10283 find_jump_block, fix_crossing_conditional_branches,
10284 fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
10285 Replace all occurences of crossing_edge with an edge flag check
10286 or set/reset.
10287 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
10288 try_crossjump_bb): Likewise.
10289 * cfglayout.c (fixup_reorder_chain): Likewise.
10290 * cfgrtl.c (force_nonfallthru_and_redirect,
10291 commit_one_edge_insertion): Likewise.
10292
10293 * Makefile.in (cfganal.o): Depend on TIMEVAR_H.
10294 * tree-flow.h (compute_dominance_frontiers): Move prototype...
10295 * basic-block.h: ...here.
10296 * tree-cfg.c (compute_dominance_frontiers_1,
10297 compute_dominance_frontiers): Move from here...
10298 * cfganal.c: ...to here. Include timevar.h.
10299
9ff6992e
JW
103002004-08-18 James E Wilson <wilson@specifixinc.com>
10301
c831f54b 10302 * config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=.
a1627d80
JW
10303 * config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes.
10304
9ff6992e
JW
10305 * config/mips/mips.md (type): Add frdiv.
10306 (divsf3+1, divsf3+2): Change type to frdiv.
10307 * config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe,
10308 ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New.
19114537 10309
9ff6992e
JW
10310 * config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv.
10311 * config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise.
10312 * config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise.
10313 * config/mips/5000.md (r5k_fdiv_single): Likewise.
10314 * config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise.
10315 * config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise.
10316 * config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise.
10317 * config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise.
10318 * config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise.
10319 * config/mips/generic.md (generic_fdiv_single, generic_fdiv_double):
10320 Likewise.
10321 * config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise.
10322
c16eb900
RB
103232004-08-18 Robert Bowdidge <bowdidge@apple.com>
10324
10325 * config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to
324a6c95 10326 get regression tester working again.
c16eb900 10327
826c9564
ZW
103282004-08-18 Zack Weinberg <zack@codesourcery.com>
10329
10330 * insn-notes.def, reg-notes.def: New files.
10331 * rtl.h: Use them to define enum insn_note and enum reg_note.
10332 * rtl.c: Use them to define note_insn_name and reg_note_name.
4b179e92 10333 * Makefile.in (RTL_BASE_H): Update.
826c9564
ZW
10334
10335 * modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK
10336 renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
10337
21b5653c
RE
103382004-08-18 Richard Earnshaw <rearnsha@arm.com>
10339
10340 * arm.c (arm_size_rtx_costs): New function.
10341 (arm_override_options): Use it if optimizing for space.
10342
542a8afa
RH
103432004-08-18 Richard Henderson <rth@redhat.com>
10344
10345 * emit-rtl.c (gen_const_mem): New.
10346 * rtl.h (gen_const_mem): Declare.
10347 * expr.c (do_tablejump): Use it.
10348 * varasm.c (force_const_mem): Likewise.
10349 * config/darwin.c (machopic_indirect_data_reference): Likewise.
10350 (machopic_legitimize_pic_address): Likewise.
10351 * config/arm/arm.c (legitimize_pic_address): Likewise.
10352 * config/i386/i386.c (legitimize_pic_address): Likewise.
10353 (legitimize_tls_address): Likewise.
10354 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
10355 * config/ia64/ia64.md (load_fptr): Likewise.
10356 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
10357 * config/pa/pa.c (legitimize_pic_address): Likewise.
10358 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
10359 (rs6000_emit_move): Likewise.
10360 * config/s390/s390.c (legitimize_pic_address): Likewise.
10361 (legitimize_tls_address): Likewise.
10362 * config/s390/s390.md (casesi): Likewise.
10363 * config/sh/sh.c (sh_reorg): Likewise.
10364 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
10365 * config/v850/v850.md (casesi): Likewise.
10366
10367 * config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P.
10368 * config/sh/sh.c (prepare_move_operands): Remove incorrect
10369 use of MEM_READONLY_P.
10370
0516f6fe
SB
103712004-08-18 Steven Bosscher <stevenb@suse.de>
10372
10373 * Makefile.in (OBJS-common): Add postreload-gcse.c.
10374 Add new postreload-gcse.o.
10375 * cse.c (SAFE_HASH): Define as wrapper around safe_hash.
10376 (lookup_as_function, insert, rehash_using_reg, use_related_value,
10377 equiv_constant): Use SAFE_HASH instead of safe_hash.
10378 (exp_equiv_p): Export. Add for_gcse argument when comparing
10379 for GCSE.
10380 (lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
10381 find_comparison_args, fold_rtx, cse_insn): Update callers.
10382 (hash_rtx): New function derived from old canon_hash and bits
10383 from gcse.c hash_expr_1.
10384 (canon_hash_string): Rename to hash_rtx_string.
10385 (canon_hash, safe_hash): Make static inline. Call hash_rtx.
10386 * cselib.c (hash_rtx): Rename to cselib_hash_rtx.
10387 (cselib_lookup): Update this caller.
10388 * gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
10389 Make static.
10390 (hash_expr): Call hash_rtx.
10391 (ldst_entry): Likewise.
10392 (expr_equiv_p): Call exp_equiv_p.
10393 (struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
10394 reg_used_on_edge, reg_set_between_after_reload_p,
10395 reg_used_between_after_reload_p, get_avail_load_store_reg,
10396 is_jump_table_basic_block, bb_has_well_behaved_predecessors,
10397 get_bb_avail_insn, hash_scan_set_after_reload,
10398 compute_hash_table_after_reload,
10399 eliminate_partially_redundant_loads, gcse_after_reload,
10400 get_bb_avail_insn, gcse_after_reload_main): Remove.
10401 * postreload-gcse.c: New file, reincarnating most of the above.
10402 * rtl.h (exp_equiv_p, hash_rtx): New prototypes.
10403 (gcse_after_reload_main): Update prototype.
10404 * timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
10405 * passes.c (rest_of_handle_gcse2): Use it.
10406
95013377
DN
104072004-08-18 Diego Novillo <dnovillo@redhat.com>
10408
10409 * tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
10410 (pass_loop_done): Likewise.
10411
ac9e2cff
AP
104122004-08-18 Andrew Pinski <apinski@apple.com>
10413
826c9564 10414 * config/rs6000/darwin.md: Delete the altivec patterns which are
ac9e2cff
AP
10415 handled differently now.
10416 (load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT
10417 (macho_correct_pic_di): Likewise.
10418 (call_indirect_nonlocal_darwin64): Likewise.
10419 Delete the save world/saveFP/saveVec patterns.
826c9564 10420
ac9e2cff 10421 Revert the reversion of: 2004-08-16 Stan Shebs <shebs@apple.com>
826c9564
ZW
10422 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
10423 * config/rs6000/rs6000.md: Include darwin.md.
10424 (builtin_setjmp_receiver): Add DImode case.
10425 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
10426 Darwin bits.
ac9e2cff 10427
92b9a671
MA
104282004-08-18 Matt Austern <austern@apple.com>
10429
10430 Dead code stripping
10431 * darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped.
10432 * darwin.c (darwin_file_end): Mark file as potentially strippable.
826c9564 10433
4766261d
RH
104342004-08-18 Richard Henderson <rth@redhat.com>
10435
10436 * alias.c (readonly_fields_p): Remove.
10437 (objects_must_conflict_p): Don't call it.
10438 * tree.h (readonly_fields_p): Remove.
10439 * langhooks.h (struct lang_hooks): Remove honor_readonly.
10440 * langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove.
10441
50dc9a88
DN
104422004-08-18 Diego Novillo <dnovillo@redhat.com>
10443
10444 * tree-dfa.c (add_referenced_var): Only global variables are
10445 call-clobbered.
10446 * tree-flow.h (struct ptr_info_def): Add field pt_global_mem.
10447 * tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark
10448 all pointers dereferenced if the statement dereferences them.
10449 (create_name_tags): Do not create memory tags for pointers
10450 that have PT_ANYTHING set.
10451 Also check if PT_VARS is not empty before creating a name tag.
10452 (compute_flow_sensitive_aliasing): Don't mark call-clobbered
10453 variables that share the same alias set with a pointer that
10454 may point anywhere.
10455 (add_may_alias): Add FIXME comment to remove clobbering
10456 aliased variables and tags.
10457 (replace_may_alias): Likewise.
10458 (set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED.
10459 (merge_pointed_to_info): If the original variable has not
10460 points-to information, call set_pt_anything.
10461 (add_pointed_to_var): Do not prevent adding a pointed-to
10462 variable if the pointers is PT_ANYTHING.
10463 If the variable is a global, set PT_GLOBAL_MEM.
10464 (collect_points_to_info_r): Don't assume that PLUS_EXPRs of
10465 pointer type only come in PTR+OFFSET flavours.
10466 Always call merge_pointed_to_info on PHI arguments that are
10467 SSA_NAMEs.
10468 (get_nmt_for): Mark call-clobbered tags whose pointer points
10469 to global memory.
10470 * tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch
10471 values.
10472 (get_indirect_ref_operands): Always clear OPF_KILL_DEF from
10473 FLAGS.
10474 (add_stmt_operand): Abort if the caller tried to add a killing
10475 definition for a memory tag.
10476 * tree-ssa.c (verify_flow_sensitive_alias_info): Remove
10477 unnecessary checks.
10478
62164eb4
R
104792004-08-18 J"orn Rennecke <joern.rennecke@superh.com>
10480
10481 * sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers
10482 from call_used_regs. Update call_really_used_regs.
10483 (CALL_REALLY_USED_REGISTERS): Define.
10484 * sh.c (output_stack_adjust, shmedia_target_regs_stack_space):
10485 Replace call_used_regs with call_really_used_regs.
10486 (calc_live_regs, sh_media_register_for_return): Likewise.
10487 (sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise.
10488 * sh.md (return_media): Likewise.
10489
f9b0ac3b
AP
104902004-08-18 Andrew Pinski <apinski@apple.com>
10491
826c9564 10492 * config/darwin.c (machopic_legitimize_pic_address): Only set
ac9e2cff 10493 MEM_READONLY_P in the non TARGET_TOC case.
f9b0ac3b 10494
f822d252
ZW
104952004-08-18 Zack Weinberg <zack@codesourcery.com>
10496
10497 * rtl.def (NIL): Delete.
10498 * read-rtl.c (read_rtx): Handle (nil) like (define_constants).
10499 Tighten the syntax a little.
10500
10501 * cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
10502 * config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
10503 * config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
10504 * config/i386/predicates.md, config/m32r/m32r.h
10505 * config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
10506 * config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
10507 * config/sparc/sparc.h, doc/tm.texi:
10508 Replace all occurrences of NIL with UNKNOWN.
10509
6aaf3dde
ZW
105102004-08-18 Zack Weinberg <zack@codesourcery.com>
10511
10512 * dojump.c (do_jump <unordered_bcc>): Do not recursively call
10513 self with a TRUTH_ORIF_EXPR; generate the appropriate jump
10514 sequence inline. Move drop_through_label code into this
10515 block, being the only place it is used. Adjust comments.
10516
d62294f5
FJ
105172004-08-18 Fariborz Jahanian <fjahanian@apple.com>
10518
6aaf3dde
ZW
10519 * config/rs6000/altivec.md: Add new patterns for calls to
10520 save_world/rest_world functions.
10521
10522 * config/rs6000/rs6000-protos.h: (save_world_operation,
10523 restore_world_operation) new declarations.
10524
10525 * config/rs6000/rs6000.c: (struct rs6000_stack) new world_save_p
10526 field added.
10527 (rs6000_stack_info): Set world_save_p field.
10528 (save_world_operation): New function.
10529 (restore_world_operation): New function.
10530 (compute_save_world_info): New function.
10531 (rs6000_stack_info): Call compute_save_world_info.
10532 (rs6000_emit_prologue): Check for world_save_p and generate
10533 pattern to call save_world for saving all non-volatile and
10534 special registers.
10535 (rs6000_emit_epilogue): Check for world_save_p and generate
10536 pattern to call rest_world to restore saved registers.
10537
10538 config/rs6000/rs6000.h: macros FIRST_SAVED_ALTIVEC_REGNO,
10539 FIRST_SAVED_FP_REGNO, FIRST_SAVED_GP_REGNO defined.
10540 (rs6000_reg_names): New entries added for save_world_operation and
10541 restore_world_operation.
d62294f5 10542
790ac0e1
CT
105432004-08-18 Caroline Tice <ctice@apple.com>
10544
6aaf3dde 10545 * Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add
790ac0e1
CT
10546 "-freorder-blocks-and-partition" to the flags used in second
10547 stage of profiledbootstrap.
10548 * bb-reorder.c (push_to_next_round_p): Add new variable,
10549 next_round_is_last; set and use variable to make sure, when
10550 partitioning, that the last trace construction round consists
10551 of all (and only) cold basic blocks.
10552 (rotate_loop): Don't copy blocks that end in a section
10553 crossing jump.
10554 (copy_bb): Correctly initialize "partition" of duplicated bb.
10555 (add_unlikely_executed_notes): Add a comment.
10556 (find_rarely_executed_basic_blocks_and_crossing_edges): Modify
10557 to make sure, if function contains hot blocks, that the
10558 successors of ENTRY_BLOCK_PTR are hot; also, only look for
10559 crossing edges if the architecture supports named sections.
10560 (mark_bb_for_unlikely_executed_section): Modify to always
10561 insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after
10562 the basic block note insn.
10563 (fix_crossing_unconditional_branches): Remove extra space.
10564 (fix_edges_for_rarely_executed_code): Modify to only do
10565 partitioning work if the architecture supports named sections.
10566 (reorder_basic_blocks): Modify to only add
10567 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture
10568 supports named sections.
10569 * c-common.c (handle_section_attribute): Initialize new global
10570 variable, user_defined_section_attribute, to true if user has
10571 specified one.
10572 * cfgcleanup.c (try_forward_edges): Modify to not attempt to
10573 forward edges that cross section boundaries.
10574 * cfglayout.c (fixup_reorder_chain): Modify to only fix up
10575 partitioning information if the architecture supports named
10576 sections.
10577 * cfgrtl.c (target.h): Add statement to include this.
10578 (rtl_split_block): Make sure newly created bb gets correct
10579 partition.
10580 (try_redirect_by_replacing_jump): Make sure redirection isn't
10581 attempting to cross section boundaries.
10582 (force_nonfallthru_and_redirect): Only do partition fix up if
10583 architecture supports named sections.
10584 (rtl_split_edge): Make sure newly created bb ends up in
10585 correct partition.
10586 (commit_one_edge_insertion): Remove code that incorrectly
10587 updated basic block partition; Make sure partition fix up only
10588 happens if architecture supports named sections and it's not
10589 already done.
10590 (rtl_verify_flow_info_1): Fix if-condition on test/error
10591 condition that fallthru edges are not allowed to cross section
10592 boundaries.
10593 * defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this.
10594 * final.c (final_scan_insn): Remove redundant test from if-statement;
10595 change calls to text_section into calls to function_section; add code
10596 to only to partitioning fix up if architecture supports named
10597 sections.
10598 * ifcvt.c (find_if_case_1): Make sure newly created bb has correct
10599 partition.
10600 (if_convert): Add targetm.have_named_sections to test.
10601 * output.h (unlikely_section_label): Extern declaration for new global
10602 variable.
10603 (unlikely_text_section_name): Likewise.
10604 * opts.c (decode_options): If both partitioning and DWARF debugging
10605 are turned on, issue a warning that this doesn't work, and change
10606 partitiong to basic block reordering (without hot/cold partitions).
6aaf3dde 10607 * passes.c (rest_of_handle_final): Re-set new global variable,
790ac0e1
CT
10608 user_defined_section_attribute, to false.
10609 (rest_of_compilation): Change options for calling partitioning
10610 function: Don't call if the user defined the section attribute, and
10611 don't call if DECL_ONE_ONLY is true for the current function.
10612 * predict.c (choose_function_section): Return immediately if we
10613 are doing hot/cold partitioning (i.e. let the basic block partitioning
10614 determine where the function belongs).
10615 * reg-stack.c (emit_swap_insn): Add condition to step over
10616 NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
10617 * toplev.c (user_defined_section_attribute): New global variable.
89b0433e
NS
10618 * toplev.h (user_defined_section_attribute): Extern declaration
10619 for new global variable.
790ac0e1
CT
10620 * varasm.c (unlikely_section_label): New global variable.
10621 (unlikely_text_section_name): New global variable.
89b0433e
NS
10622 (unlikely_text_section): Add code to initialize
10623 unlikely_text_section_name if necessary; modify to use
10624 unlikely_text_section_name and unlikely_section_label; also to use
10625 named_section properly.
10626 (in_unlikely_text_section): Modify to work correctly with
10627 named_section and to use unlikely_text_section_name.
790ac0e1
CT
10628 (named_section): Add code to work properly with cold section.
10629 (function_section): Clean up if-statement.
89b0433e
NS
10630 * config/darwin.c (darwin_asm_named_section): Return to original
10631 code, removing use of SECTION_FORMAT_STRING.
6aaf3dde 10632 * config/arm/pe.h (switch_to_section): Add case for
790ac0e1
CT
10633 in_unlikely_executed_text to switch statement.
10634 * config/i386/cygming.h (switch_to_section): Likewise.
10635 * config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
10636 (SECTION_FORMAT_STRING): Likewise.
10637 * config/mcore/mcore.h (switch_to_section): Likewise.
10638 * config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
10639 (SECTION_FORMAT_STRING): Remove.
10640
3a4416fb
RS
106412004-08-18 Roger Sayle <roger@eyesopen.com>
10642
10643 * config/i386/i386.h (FIXED_REGISTERS): Update encoding to be
10644 -ffixed-reg safe, by preserving the meanings of zero and one.
10645 (CALL_USED_REGISTERS): Likewise.
10646 (CONDITIONAL_REGISTER_USAGE): Update to process new encodings.
10647
03904fb3
KK
106482004-08-18 Kaz Kojima <kkojima@gcc.gnu.org>
10649
10650 * config/sh/sh.c (split_branches): Check the result of
10651 next_active_insn.
10652 (sh_output_mi_thunk): Call init_flow if basic_block_info is null.
10653 Call rtl_register_cfg_hooks.
10654
389fdba0
RH
106552004-08-18 Richard Henderson <rth@redhat.com>
10656
10657 * rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
10658 * alias.c (true_dependence): Update to match new semantics.
10659 (canon_true_dependence, write_dependence_p): Likewise.
10660 (anti_dependence, output_dependence): Update write_dependence_p args.
10661 (unchanging_anti_dependence): Remove.
10662 * calls.c (purge_mem_unchanging_flag): Remove.
10663 (fixup_tail_calls): Don't call it.
10664 (expand_call): Don't add unchanging memory to function usage.
10665 * expr.c (emit_block_move_via_libcall): Likewise.
10666 (clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
10667 (get_subtarget): Don't use RTX_UNCHANGING_P.
10668 (expand_assignment, store_constructor, expand_expr_real_1): Likewise.
10669 (do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
10670 * combine.c (get_last_value_validate): Use MEM_READONLY_P.
10671 * cse.c (insert): Don't use RTX_UNCHANGING_P.
10672 (cse_insn, canon_hash): Use MEM_READONLY_P.
10673 * emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
10674 instead of RTX_UNCHANGING_P.
10675 * explow.c (maybe_set_unchanging): Remove.
10676 * expr.h (maybe_set_unchanging): Remove.
10677 * flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
10678 * function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
10679 (assign_parm_setup_reg, expand_function_start): Likewise.
10680 * integrate.c (copy_rtx_and_substitute): Likewise.
10681 * ra-rewrite.c (emit_colors): Likewise.
10682 * regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
10683 (fixup_match_1): Likewise.
10684 * reload1.c (reload, alter_reg): Likewise.
10685 * local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
10686 not RTX_UNCHANGING_P.
10687 (equiv_init_varies_p): Likewise.
10688 * loop-invariant.c (check_maybe_invariant): Likewise.
10689 * resource.c (mark_referenced_resources, mark_set_resources): Likewise.
10690 * loop.c (note_addr_stored): Likewise.
10691 (prescan_loop): Likewise. Don't check function usage for clobbered
10692 unchanging memory.
10693 * rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
6aaf3dde 10694 not RTX_UNCHANGING_P.
389fdba0
RH
10695 (rtx_varies_p, modified_between_p, modified_in_p): Likewise.
10696 * varasm.c (force_const_mem): Likewise.
10697 * stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
10698 * web.c (entry_register): Likewise.
10699 * tree-gimple.h (get_base_address): Move decl ...
10700 * tree.h: ... here.
10701 * doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
10702
10703 * config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
10704 called via for_each_rtx. Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
10705 (alpha_set_memflags): Update to match.
10706
10707 * config/darwin.c (machopic_indirect_data_reference): Set
10708 MEM_READONLY_P instead of RTX_UNCHANGING_P.
10709 (machopic_indirect_call_target): Likewise.
10710 (machopic_legitimize_pic_address): Likewise.
6aaf3dde 10711 * config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
389fdba0
RH
10712 arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
10713 * config/arm/arm.md (load_multiple, store_multiple): Likewise.
10714 * config/frv/frv.md (symGOT2reg): Likewise.
10715 * config/i386/i386.c (legitimize_pic_address,
10716 legitimize_tls_address, ix86_split_to_parts): Likewise.
10717 * config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
10718 * config/ia64/ia64.md (load_fptr): Likewise.
10719 * config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
10720 * config/m68k/m68k.c (legitimize_pic_address): Likewise.
10721 * config/mcore/mcore.c (block_move_sequence): Likewise.
10722 * config/mn10300/mn10300.md (symGOT2reg): Likewise.
10723 * config/pa/pa.c (legitimize_pic_address): Likewise.
10724 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
10725 (rs6000_emit_move): Likewise.
10726 * config/s390/s390.c (legitimize_pic_address): Likewise.
10727 (legitimize_tls_address): Likewise.
10728 * config/s390/s390.md (casesi): Likewise.
10729 * config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
10730 * config/sh/sh.md (symGOT2reg): Likewise.
10731 * config/sparc/sparc.c (legitimize_pic_address): Likewise.
10732 * config/v850/v850.md (casesi): Likewise.
10733
10734 * config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
10735 * config/iq2000/iq2000.c (save_restore_insns): Likewise.
10736 * config/mips/mips.c (mips_restore_gp): Likewise.
10737 (mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
10738 * config/sh/sh.c (sh_reorg): Likewise.
10739
17ad5b5e
RH
107402004-08-18 Richard Henderson <rth@redhat.com>
10741
10742 * tree.h (struct tree_decl): Add gimple_formal_temp.
10743 (DECL_GIMPLE_FORMAL_TEMP_P): New.
10744 * gimplify.c (pop_gimplify_context): Clear it.
10745 (lookup_tmp_var): Set it, if is_formal.
10746 (gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
10747 Use is_gimple_val for VECTOR. Simplify return value.
10748 (gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
10749 (gimplify_expr): Likewise.
10750 * tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
10751 is_gimple_tmp_rhs for clarity. Update all callers.
10752 (is_gimple_reg_rhs): Simplify logic.
10753 (is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
10754 clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
10755 (is_gimple_formal_tmp_reg): Similarly.
10756 * tree-gimple.h: Update decls.
10757 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
10758 DECL_IGNORED_P, not DECL_ARTIFICIAL. Tidy formatting.
10759 * tree-ssa-live.c (var_union, type_var_init): Likewise.
10760
5b0eba61
PB
107612004-08-18 Paolo Bonzini <bonzini@gnu.org>
10762
10763 * c4x.c (legitimize_operands): Remove calls to
10764 preserve_subexpressions_p.
10765
07e15286
DE
107662004-08-18 David Edelsohn <edelsohn@gnu.org>
10767
10768 * varasm.c (MAX_OFILE_ALIGNMENT): Move ...
10769 * defaults.h (MAX_OFILE_ALIGNMENT): ... here.
10770
ad8c162b
ZL
107712004-08-18 Ziemowit Laski <zlaski@apple.com>
10772
10773 * gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
10774 Objective-C++ extensions.
10775 * gengtype.c (get_file_basename): Match entire subdirectory name
10776 ('cp', 'objc', 'objcp') rather than just its suffix.
10777 (get_base_file_bitmap): Allow for files to belong to more than one
10778 language.
10779 (get_output_file_with_visibility): Treat objc/objc-act.h as a header
10780 used by more than one front-end.
10781
d56993f2
RE
107822004-08-18 Richard Earnshaw <rearnsha@arm.com>
10783
10784 * arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
10785 avoid use of preserve_subexpressions_p.
10786
504c0e4f
RH
107872004-08-17 Richard Henderson <rth@redhat.com>
10788
10789 PR 17051
10790 * tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.
10791
54e9a19d
DD
107922004-08-17 DJ Delorie <dj@redhat.com>
10793
10794 * doc/extend.texi: Document new xstormy16 attribute.
10795
10796 * config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New.
10797 (xstormy16_splittable_below100_or_register): New.
10798 (combine_bnp): New.
10799 (xstormy16_reorg): New.
10800 (TARGET_MACHINE_DEPENDENT_REORG): Define.
10801
54e9a19d
DD
10802 * config/stormy16/stormy16.md (movqi_internal): Make name public.
10803 (movhi_internal): Likewise.
10804 (cbhranchhi): Likewise.
10805 (cbhranchhi_neg): Likewise.
10806 (andhi3): Only allow splittable below100 operands.
10807 (iorhi3): Likewise.
10808 (peephole2): New and/zero_extend->and peephole.
10809 (peephole2): New load/ior/save->set1 peephole.
10810 (peephole2): New load/and/save->clr1 peephole.
10811 (bclrx, bclrx2, bclr7, bclr15): New.
10812 (bsetx, bsetx2, bset7, bset15): New.
10813
10814 * config/stormy16/stormy16.c (xstormy16_print_operand): Be more
10815 liberal about acceptable 'B' masks.
10816
10817 * config/stormy16/stormy16-protos.h
10818 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
10819 xstormy16_below100_operand, xstormy16_below100_or_register,
10820 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
10821 (PREDICATE_CODES): Add new predicates.
6aaf3dde 10822
54e9a19d
DD
10823 * config/stormy16/stormy16.c
10824 (xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
10825 xstormy16_below100_operand, xstormy16_below100_or_register,
10826 xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
10827 (xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New.
10828 (xstormy16_legitimate_address_p): Allow below100 symbols.
10829 (xstormy16_extra_constraint_p): Add 'W' for below100 operands.
10830 (xstormy16_expand_move): Leave below100 operands as-is.
10831 (xstormy16_encode_section_info): Encode below100 symbols.
10832 (xstormy16_strip_name_encoding): New.
10833 (xstormy16_print_operand): Print 'b' as shift mask.
10834 (xstormy16_attribute_table): Add below100 attributes.
10835 (xstormy16_handle_below100_attribute): New.
10836
10837 * config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100.
10838 (XSTORMY16_SECTION_FUNCTION): New.
10839 (EXTRA_SECTION_FUNCTIONS): Define using the above.
10840 (ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
10841 (ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols.
10842 (ASM_OUTPUT_LABELREF): Define.
10843
10844 * config/stormy16/stormy16.md (movqi_internal): Add below100 support.
10845 (movhi_internal): Add below100 support.
10846 (andhi3): Add below100 support.
10847 (iorhi3): Add below100 support.
10848 (iorqi3, iorqi3_internal, andqi3, andqi3_internal): New.
10849
4ef47bd8
JW
108502004-08-17 James E Wilson <wilson@specifixinc.com>
10851
10852 * config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead
10853 of VOIDmode for comparison code mode.
10854 * config/mips/mips.md: For conditional move patterns, use mode of
10855 first compare operand for comparison mode, instead of VOIDmode.
e17c734b
JW
10856
10857 * config/mips/mips.md: Add canonical nmadd and nmsub patterns for both
10858 normal and -ffast-math code.
10859
1a10290c
MM
108602004-08-17 Mark Mitchell <mark@codesourcery.com>
10861
10862 PR c++/15871
10863 * doc/invoke.texi (-fkeep-inline-functions): Update documentation.
10864
f4e736dd 108652004-08-17 Robert Bowdidge <bowdidge@apple.com>
6aaf3dde
ZW
10866
10867 * config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags.
f4e736dd 10868
13a98f14
AT
108692004-08-17 Andreas Tobler <a.tobler@schweiz.ch>
10870
10871 * config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause
10872 for non Darwin targets.
10873 (*call_value_nonlocal_darwin64): Likewise.
10874
d0b2079e
FJ
108752004-08-17 Fariborz Jahanian <fjahanian@apple.com>
10876
10877 * config/rs6000/rs6000.c (rs6000_function_value): Check for
10878 altivec mode for altivec return register.
10879
feb3dc8b
DE
108802004-08-17 David Edelsohn <edelsohn@gnu.org>
10881
10882 Revert 2004-08-16 Stan Shebs <shebs@apple.com>
ef0e2729 10883 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
feb3dc8b
DE
10884 * config/rs6000/rs6000.md: Include darwin.md.
10885 (builtin_setjmp_receiver): Add DImode case.
10886 * config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
10887 Darwin bits.
10888
79fe1b3b
DN
108892004-08-17 Dorit Naishlos <dorit@il.ibm.com>
10890
89b0433e
NS
10891 * tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE
10892 trees.
79fe1b3b
DN
10893 * tree-vectorizer.h: New File: Same.
10894 * Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files.
10895 * common.opt (ftree-vectorize): New flag to enable vectorization.
89b0433e
NS
10896 * timevar.def (TV_TREE_VECTORIZATION): New dump file for
10897 vectorization pass.
79fe1b3b
DN
10898 * tree-data-ref.h (init_data_ref): Additional argument.
10899 (array_base_name_differ_p): Moved to tree-data-ref.c.
10900 * tree-data-ref.c (array_base_name_differ_p): Revised.
10901 (initialize_data_dependence_relation): Call array_base_name_differ_p
10902 with an extra argument.
10903 (analyze_all_data_dependences): Same.
10904 (init_data_ref): Additional argument is_read to set DR_IS_READ.
89b0433e
NS
10905 * tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this
10906 file.
79fe1b3b
DN
10907 * tree-flow.h (vectorize_loops, empty_block_p): Add declaration.
10908 * tree-optimize.c (pass_vectorize): Schedule the vectorization pass.
6aaf3dde 10909 * tree-pass.h (tree_opt_pass pass_vectorize): Declare the new
79fe1b3b
DN
10910 vectorization pass.
10911 * tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize.
10912 (tree_ssa_loop_done): Call scev_finalize.
10913 (tree_vectorize): Define the new vectorization pass.
89b0433e
NS
10914 * defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the
10915 size of the vector they support (until support for multiple vector
10916 sizes is added to the vectorizer).
79fe1b3b
DN
10917 * config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
10918 * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
10919 * invoke.texi (fdump-tree-vect, ftree-vectorize): Add
10920 documentation.
10921
e15987c1
NS
109222004-08-17 Nathan Sidwell <nathan@codesourcery.com>
10923
10924 * objc/objc-act.c (build_protocol_initializer): Fix build_int_cst
10925 usage.
10926 (generate_protocol_list, handle_impent): Likewise.
10927
e3cadb61
RS
109282004-08-17 Roger Sayle <roger@eyesopen.com>
10929
10930 * regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to
10931 ensure that call_used_regs is a superset of both fixed_regs and
10932 call_really_used_regs.
10933
108a579c
DB
109342004-08-17 Daniel Bornstein <danfuzz@milk.com>
10935
10936 PR target/17019
10937 * arm.md (addsi3_cbranch_scratch): Correct case labels.
10938
62fc1d7d
PB
109392004-08-17 Paolo Bonzini <bonzini@gnu.org>
10940
10941 PR middle-end/17036
10942 * fold-const.c (fold): Check for integer operand when
10943 folding (A >> N) & 1 ? (1 << N) : 0. Fix from Andrew
10944 Pinski <pinskia@physics.uc.edu>.
10945
7c27e184
PB
109462004-08-17 Paolo Bonzini <bonzini@gnu.org>
10947
10948 * configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
10949 No need to check if in a cross configuration.
10950 * configure: Regenerate.
10951
10952 * calls.c (precompute_register_parameters):
10953 Inline preserve_subexpressions_p ().
10954 * expmed.c (expand_mult_const, emit_store_flag): Likewise.
10955 * optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
10956 Likewise.
10957 * expr.c (get_subtarget): Likewise.
10958 * rtl.h (preserve_subexpressions_p): Remove.
10959 * stmt.c (preserve_subexpressions_p): Remove.
10960
10961 * dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
10962 TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
10963 Abort on gimplified cases.
10964
d97c6333
JW
109652004-08-16 James E Wilson <wilson@specifixinc.com>
10966
10967 * tree.h (VECTOR_FLOAT_TYPE_P): New.
10968 (FLOAT_TYPE_P): Use it.
10969 * c-typeck.c (build_binary_op): After convert calls, check for
10970 check for ERROR_MARK operands.
10971
45c8116d
ZW
109722004-08-16 Zack Weinberg <zack@codesourcery.com>
10973
10974 * Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete.
10975 (BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update.
10976 (genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o.
10977 (genobjs static pattern rule): Remove %.c dependency.
10978 ($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o):
10979 Rename rules; delete commands; fix dependencies.
10980 (mostlyclean): Do not delete temporary source copies.
10981 * configure.ac: Delete all references to BUILD_PREFIX and
10982 BUILD_PREFIX_1.
10983 * configure: Regenerate.
10984
10985 * print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE.
10986 Do not include tree.h, real.h, flags.h, hard-reg-set.h, or
10987 basic-block.h #ifdef GENERATOR_FILE. Surround some more code
10988 with #ifndef GENERATOR_FILE so that nothing from those headers
10989 is used.
10990
10991 * rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE.
10992
4d73e20b
AN
109932004-08-16 Adam Nemet <anemet@lnxw.com>
10994
10995 * Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB).
6aaf3dde 10996
62114438
AP
109972004-08-16 Andrew Pinski <apinski@apple.com>
10998
10999 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove
11000 extraneous semicolon.
11001
8e3e233b
DP
110022004-08-16 Devang Patel <dpatel@apple.com>
11003
11004 * c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
11005 * print-tree.c (print_node): Print DECL_PRESERVE_P.
11006 * target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define.
11007 (TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED
11008 * target.h (struct gcc_target): New member, mark_decl_preserved.
45c8116d
ZW
11009 * hooks.c (hook_void_charptr): Rename to ...
11010 (hook_void_constcharptr): ... new name.
11011 * hooks.h (hook_void_charptr): Rename to ..
11012 (hook_void_constcharptr): ... new name.
8e3e233b
DP
11013 * tree.h (DECL_PRESERVE_P): New #define.
11014 (struct tree_decl): New member, preserve_flag.
11015 * varasm.c (assemble_start_function): Mark decl preserved.
11016 (assemble_variable): Same.
11017 * darwin.c (darwin_mark_decl_preserved): New function.
11018 * darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define.
11019 * darwin-protos.h (darwin_mark_decl_preserved): New decl.
11020 * doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document.
11021
580b3958
JM
110222004-08-16 Joseph S. Myers <jsm@polyomino.org.uk>
11023
11024 * c-decl.c (grokdeclarator): Allow for function definition where
11025 innermost declarator has attributes.
11026
93f90be6
FJ
110272004-08-16 Fariborz Jahanian <fjahanian@apple.com>
11028
11029 * except.c (get_exception_filter, build_post_landing_pads,
11030 dw2_build_landing_pads): Use target-specific mode for 'filter'.
11031 * target-def.h (TARGET_EH_RETURN_FILTER_MODE): macro defined and used.
11032 * target.h (eh_return_filter_mode): New field added.
11033 * targhooks.c (default_eh_return_filter_mode): Defined.
11034 * targhooks.h (default_eh_return_filter_mode): Declared.
11035 * config/rs6000/rs6000.c (rs6000_eh_return_filter_mode): Defined.
11036
392765bf
NN
110372004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
11038
11039 * configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with
11040 ACX_NONCANONICAL_TARGET; remove now-unneeded AC_SUBST.
11041 * configure: Regenerate.
11042
49bd1d27
SS
110432004-08-16 Stan Shebs <shebs@apple.com>
11044
11045 Basic support for 64-bit Darwin.
11046 * config/darwin.c (macho_indirect_data_reference): Add DImode case.
11047 (machopic_legitimize_pic_address): Similarly, plus use Pmode
11048 instead of SImode.
11049 * config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit.
11050 (TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro.
11051 (SUBTARGET_SWITCHES): Add -m32 and -m64 flags.
11052 (SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64.
11053 (PROCESSOR_DEFAULT64): Define.
11054 * config/rs6000/darwin.md: New file, patterns specific to 64-bit
11055 Darwin.
11056 * config/rs6000/rs6000.md: Include darwin.md.
11057 (builtin_setjmp_receiver): Add DImode case.
11058 * config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for
11059 Darwin.
11060 (TARGET_ASM_ALIGNED_DI_OP): Ditto.
11061 (rs6000_emit_move): Add DImode case to Darwin bits.
11062 (machopic_output_stub): Use .quad if 64-bit.
11063 * invoke.texi: Document -m32 and -m64.
11064
4e6e4e4c
JJ
110652004-08-16 Janis Johnson <janis187@us.ibm.com>
11066
11067 * doc/extend.texi (AltiVec builtins): Document additional differences
11068 from the Motorola AltiVec PIM.
11069
092313ae
NS
110702004-08-16 Nathan Sidwell <nathan@codesourcery.com>
11071
11072 * c-typeck.c (build_c_cast): Only copy overflow from expr nodes.
11073 * tree.h (IS_NON_TYPE_CODE_CLASS): Simplify.
11074 (struct tree_common): Update public_flag documentation.
11075
dffc9ae5
NN
110762004-08-16 Nathanael Nerode <neroden@gcc.gnu.org>
11077
11078 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
62fc1d7d 11079 Check for artificial variables, not is_gimple_tmp_var.
dffc9ae5
NN
11080 * tree-ssa-live.c (var_union): Likewise.
11081
16e9be4c
NS
110822004-08-16 Nathan Sidwell <nathan@codesourcery.com>
11083
11084 * calls.c (load_register_parameters): Remove spurious FIXME token.
11085
9a4d6480
ZL
110862004-08-15 Ziemowit Laski <zlaski@apple.com>
11087
11088 * Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h.
11089 (c-lang.o): Depend on c-objc-common.h.
45c8116d 11090 (c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and
9a4d6480
ZL
11091 c-objc-common.h; remove duplicate $(C_TREE_H) dependency.
11092 * c-lang.c: Include c-objc-common.h.
11093 (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
11094 LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
11095 LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
45c8116d
ZW
11096 LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
11097 LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
9a4d6480
ZL
11098 LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
11099 LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
45c8116d 11100 LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
9a4d6480
ZL
11101 LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
11102 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
11103 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
11104 LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
11105 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
11106 LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
11107 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
11108 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
11109 LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
11110 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
11111 LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
11112 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
11113 LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
11114 LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
11115 LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
11116 LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
11117 Move to c-objc-common.h.
11118 * c-objc-common.c: Include c-objc-common.h.
11119 * c-objc-common.h: New file.
11120
869464ba
AT
111212004-08-15 Andreas Tobler <a.tobler@schweiz.ch>
11122 Andrew Pinski <pinskia@physics.uc.edu>
11123
11124 PR target/14931
11125 * config/rs6000/darwin-tramp.asm (L_abort$stub): Change to new stub
11126 style.
11127
4a90aeeb
NS
111282004-08-15 Nathan Sidwell <nathan@codesourcery.com>
11129
11130 * tree.h (build_int_cst): New.
11131 (build_int_2): Remove.
11132 * tree.c (build_int_2): Remove.
11133 (build_int_cst): New.
11134 (make_vector_type, build_common_tree_nodes,
11135 build_common_tree_nodes_2): Use build_int_cst.
11136 * builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
11137 expand_builtin_strpbrk, expand_builtin_fputs,
11138 build_string_literal, expand_builtin_printf,
11139 expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
11140 fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
11141 fold_builtin_isdigit, simplify_builtin_strstr,
11142 simplify_builtin_strpbrk, fold_builtin_fputs,
11143 simplify_builtin_sprintf): Use build_int_cst.
11144 * c-common.c (start_fname_decls, fix_string_type,
11145 c_common_nodes_and_builtins, c_init_attributes,
11146 shorten_compare): Likewise.
11147 * c-decl.c (complete_array_type,
11148 check_bitfield_type_and_width): Likewise.
11149 * c-lex.c (interpret_integer, lex_charconst): Likewise.
11150 * c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
11151 * c-pretty-print.c (pp_c_integer_constant): Likewise.
11152 * c-typeck.c (really_start_incremental_init, push_init_level,
11153 set_nonincremental_init_from_string): Likewise.
11154 * calls.c (load_register_parameters): Likewise.
11155 * convert.c (convert_to_pointer): Likewise.
11156 * coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
11157 build_fn_info_type, build_ctr_info_value, build_gcov_info):
11158 Likewise.
11159 * except.c (init_eh, assign_filter_values, assign_filter_values):
11160 Likewise.
11161 * expmed.c (store_fixed_bit_field, extract_bit_field,
11162 extract_fixed_bit_field, extract_split_bit_field, expand_shift,
11163 expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
11164 expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
11165 * expr.c (convert_move, emit_group_load, emit_group_store,
11166 expand_assignment, store_constructor, store_field,
11167 expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
11168 * fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
11169 invert_truthvalue, optimize_bit_field_compare,
11170 decode_field_reference, all_ones_mask_p, constant_boolean_node,
11171 fold_div_compare, fold, fold_read_from_constant_string,
11172 fold_negate_const, fold_abs_const, fold_not_const): Likewise.
11173 * function.c (assign_parm_setup_block): Likewise.
11174 * stmt.c (shift_return_value, expand_end_case_type,
11175 estimate_case_costs): Likewise.
11176 * stor-layout.c (layout_type, initialize_sizetypes,
11177 set_min_and_max_values_for_integral_type): Likewise.
11178 * tree-chrec.c (chrec_fold_multiply_poly_poly,
11179 reset_evolution_in_loop): Likewise.
11180 * tree-chrec.h (build_polynomial_chrec): Likewise.
11181 * tree-complex.c (build_replicated_const): Likewise.
11182 * tree-eh.c (honor_protect_cleanup_actions,
11183 lower_try_finally_onedest, lower_try_finally_copy,
11184 lower_try_finally_switch): Likewise.
11185 * tree-mudflap.c (mf_build_string, mx_register_decls,
11186 mudflap_register_call, mudflap_enqueue_constant): Likewise.
11187 * tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
11188 * tree-pretty-print.c (dump_generic_node): Likewise.
11189 * tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
11190 Likewise.
11191 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
11192 * tree-ssa-loop-niter.c (number_of_iterations_cond,
11193 loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
11194 Likewise.
45c8116d 11195
4a90aeeb
NS
11196 * config/alpha/alpha.c (alpha_initialize_trampoline,
11197 alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
11198 * config/arm/arm.c (arm_get_cookie_size): Likewise.
11199 * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
11200 * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
11201 * config/i860/i860.c (i860_va_start): Likewise.
11202 * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
11203 * config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
11204 mips_gimplify_va_arg_expr): Likewise.
11205 * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
11206 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
11207 add_compiler_branch_island): Likewise.
11208 * config/s390/s390.c (s390_va_start): Likewise.
11209 * config/sh/sh.c (sh_va_start): Likewise.
11210 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
11211 Likewise.
11212 * config/xtensa/xtensa.c (xtensa_va_start,
11213 xtensa_gimplify_va_arg_expr): Likewise.
45c8116d 11214
4a90aeeb
NS
11215 * objc/objc-act.c (build_objc_string_object,
11216 build_objc_symtab_template, init_def_list, init_objc_symtab,
11217 init_module_descriptor, generate_static_references,
11218 build_selector_translation_table, get_proto_encoding,
11219 build_typed_selector_reference, build_selector_reference,
11220 build_next_objc_exception_stuff,
11221 build_method_prototype_list_template, generate_descriptor_table,
11222 generate_protocols, build_protocol_initializer,
11223 build_ivar_list_template, build_method_list_template,
11224 build_ivar_list_initializer, generate_ivars_list,
11225 generate_dispatch_table, generate_protocol_list,
11226 build_category_initializer, build_shared_structure_initializer,
11227 generate_shared_structures, handle_impent,
11228 generate_objc_image_info): Use build_int_cst.
11229
2a68a7de
BE
112302004-08-15 Ben Elliston <bje@au.ibm.com>
11231
11232 * vec.h: Comment improvements.
11233
53fb4de3
RS
112342004-08-14 Roger Sayle <roger@eyesopen.com>
11235
11236 * c-common.c (shorten_compare, pointer_int_sum,
11237 c_common_truthvalue_conversion, boolean_increment): Replace calls
11238 to build with calls to buildN.
11239 * c-decl.c (complete_array_type, grokdeclarator): Likewise.
11240 * c-gimplify.c (c_build_bind_expr, gimplify_c_loop,
11241 gimplify_switch_stmt): Likewise.
11242 * c-typeck.c (default_function_array_conversion,
11243 build_component_ref, build_array_ref, build_function_call,
11244 pointer_diff, build_unary_op, build_conditional_expr,
11245 build_compound_expr, build_modify_expr, c_finish_goto_label,
11246 c_finish_goto_ptr, c_finish_return, c_finish_loop,
11247 c_finish_bc_stmt, c_finish_stmt_expr, c_end_compound_stmt,
11248 build_binary_op): Likewise.
11249
254b17dd
SB
112502004-08-15 Steven Bosscher <stevenb@suse.de>
11251
11252 * rtl.c (note_insn_name): Add NOTE_DISABLE_SCHED_OF_BLOCK.
11253
a5252c84
JDA
112542004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11255
11256 * fixinc/inclhack.def (stdio_va_list): Also fix com_err.h, cps.h,
11257 curses.h, krb5.h, lc_core.h, pfmt.h, wchar.h and curses_colr/curses.h.
11258 * fixinc/fixincl.x: Rebuilt.
11259
96a30b18
RS
112602004-08-14 Richard Sandiford <rsandifo@redhat.com>
11261
11262 * config/mips/mips-protos.h (mips_symbolic_constant_p)
11263 (mips_atomic_symbolic_constant_p, mips_stack_address_p)
11264 (mips_small_data_pattern_p): Declare.
11265 * config/mips/mips.h (CONST_GP_P): Moved from mips.c.
11266 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
11267 * config/mips/mips.c (mips_symbolic_constant_p): Make global.
11268 (mips_atomic_symbolic_constant_p, mips_stack_address_p): New functions.
11269 (uns_arith_operand, const_arith_operand, arith_operand, sle_operand)
11270 (sleu_operand, small_int, reg_or_0_operand, const_float_1_operand)
11271 (reg_or_const_float_1_operand, hilo_operand, extend_operator)
11272 (macc_msac_operand, equality_op, cmp_op, trap_cmp_op)
11273 (pc_or_label_operand, call_insn_operand, move_operand)
11274 (consttable_operand, symbolic_operand, general_symbolic_operand)
11275 (global_got_operand, local_got_operand, stack_operand)
11276 (fp_register_operand, lo_operand, fcc_register_operand): Delete.
11277 (mips_small_data_pattern_1): Renamed from small_data_pattern_1.
11278 (mips_small_data_pattern_p): Replace previous small_data_pattern
11279 predicate. Turn into a bool () (rtx) function.
11280 * config/mips/predicates.md: New file.
11281 * config/mips/mips.md: Include it. Use the target-independent
11282 comparison_operator instead of cmp_op. Rename trap_cmp_op to
11283 trap_comparison_operator and equality_op to equality_operator.
11284 Replace uses of small_int with the equivalent const_arith_operand.
11285 Rename reg_or_const_float_1_operand to reg_or_1_operand. Rename
11286 const_float_1_operand to const_1_operand. Rename fcc_register_operand
11287 to fcc_reload_operand.
11288 * config/mips/sb1.md: Rename fp_register_operand to fpr_operand.
11289
e41c9fcb
JDA
112902004-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11291
11292 PR libstdc++/17005 partial fix.
11293 * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE
11294 except when generating ANSI/C89 code.
11295
af9c6659
NS
112962004-08-14 Nathan Sidwell <nathan@codesourcery.com>
11297
11298 * c-common.c (shorten_compare): Use force_fit_type directly.
11299
37de1373
GP
113002004-08-14 Gerald Pfeifer <gerald@pfeifer.com>
11301 Dimitri Papadopoulos-Orfanos <papadopo@shfj.cea.fr>
11302 Dave Korn <dk@artimi.com>
11303
11304 * doc/install.texi (Building): Avoid duplicate reference to GNU
11305 make requirement.
11306 (*-*-solaris2*): Do not recommend GNU make any longer. Simplify.
11307
06d69cd3
RH
113082004-08-14 Richard Henderson <rth@redhat.com>
11309
11310 * config/alpha/alpha.h (PROMOTE_MODE): Don't promote vector types.
11311 * config/alpha/alpha.c (function_value): Use PROMOTE_MODE.
11312
e427abbf
RH
113132004-08-13 Richard Henderson <rth@redhat.com>
11314
11315 * config/i386/i386.md (call_1, sibcall_1, call_1_rex64): Use Pmode
11316 for constant_call_address_operand.
11317 (call_value_pop_1, call_value_1): Likewise.
11318 (sibcall_value_1, call_value_1_rex64): Likewise.
11319
2b407936
JW
113202004-08-13 James E Wilson <wilson@specifixinc.com>
11321
11322 * config/mips/sb1.md (ir_sb1_divdf_2pipes, ir_sb1_divdf_1pipe):
11323 Correct mode from SFmode to DFmode.
11324
3e0d5ae2
ZL
113252004-08-13 Ziemowit Laski <zlaski@apple.com>
11326
11327 * config/darwin.h (EXTRA_SECTION_FUNCTIONS): Mark the __sel_fixup,
11328 __cstring_object and __image_info sections with the no_dead_strip
11329 attribute.
11330
e0704143
RS
113312004-08-13 Roger Sayle <roger@eyesopen.com>
11332 David Billinghurst <David.Billinghurst@riotinto.com>
11333
11334 PR libgfortran/15930
11335 * fixinc/inclhack.def (irix___generic1, irix___generic2): New.
11336 * fixinc/fixincl.x: Regenerate.
11337 * fixinc/tests/base/internal/math_core.h: New file.
11338
8768c655
RH
113392004-08-13 Richard Henderson <rth@redhat.com>
11340
11341 * dbxout.c (NO_DBX_FUNCTION_END): Default to zero.
11342 (dbxout_function_end): Remove ifdefs for it.
11343 (dbxout_begin_prologue): Protect N_BNSYM with it, and gdb extensions.
11344
201312c2
RH
113452004-08-13 Richard Henderson <rth@redhat.com>
11346
11347 * Makefile.in (insn-preds.o): Depend on TREE_H.
11348 * genpreds.c (write_insn_preds_c): Include tree.h.
11349 * config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand,
11350 reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand,
11351 const48_operand, and_operand, or_operand, mode_width_operand,
11352 mode_mask_operand, mul8_operand, const0_operand,
11353 hard_fp_register_operand, hard_int_register_operand,
11354 reg_or_cint_operand, some_operand, some_ni_operand, input_operand,
11355 samegp_function_operand, direct_call_operand, small_symbolic_operand,
45c8116d 11356 global_symbolic_operand, call_operand, symbolic_operand,
201312c2
RH
11357 dtp16_symbolic_operand, dtp32_symbolic_operand,
11358 gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand,
11359 gottp_symbolic_operand, alpha_comparison_operator,
11360 alpha_zero_comparison_operator, alpha_swapped_comparison_operator,
11361 signed_comparison_operator, alpha_fp_comparison_operator,
11362 divmod_operator, fix_operator, aligned_memory_operand,
11363 unaligned_memory_operand, reg_or_unaligned_mem_operand,
11364 any_memory_operand, reg_not_elim_operand, normal_memory_operand,
11365 reg_no_subreg_operand, addition_operation): Move to predicates.md.
11366 (reg_or_const_int_operand): Remove. Replace all users with
11367 reg_or_cint_operand.
11368 (tls_symbolic_operand_1): Export. Don't check mode or for CONST.
11369 (resolve_reload_operand): Split out of aligned_memory_operand.
11370 * config/alpha/alpha-protos.h: Update for exports.
11371 * config/alpha/alpha.h (PREDICATE_CODES): Remove.
11372 * config/alpha/alpha.md: Include predicates.md.
11373 * config/alpha/predicates.md: New file.
11374
1e9c8405
RS
113752004-08-13 Richard Sandiford <rsandifo@redhat.com>
11376
11377 * genattrtab.c (insn_ent): Replace insn_code, insn_index and lineno
11378 fields with a pointer to the instruction definition.
11379 (get_attr_value, fill_attr, make_length_attrs, remove_insn_ent)
11380 (insert_insn_ent, simplify_test_exp, optimize_attrs, write_attr_get)
11381 (write_attr_case, write_const_num_delay_slots): Update accordingly.
11382 (write_attr_case, write_const_num_delay_slots): Write the name of
11383 an insn next to its case statement.
11384 * genoutput.c (data): Add a filename field.
11385 (gen_insn, gen_peephole, gen_expand, gen_split): Set it.
11386 (output_insn_data): Print the location of each insn definition.
11387 * genrecog.c (write_action): Print the name of an insn above
11388 the statement that returns its code.
11389
1e5f1716
AP
113902004-08-12 Andrew Pinski <pinskia@physics.uc.edu>
11391
11392 * config/darwin-c.c (find_subframework_file): Fix spelling of cannot.
11393 * config/libgloss.h: Likewise.
11394 * config/arm/arm.c (arm_gen_load_multiple): Likewise.
11395 * c4x/c4x-modes.def: Likewise.
11396 * config/c4x/c4x.c (c4x_hard_regno_rename_ok): Likewise.
11397 (c4x_rptb_nop_p): Likewise.
11398 (c4x_rptb_valid_p): Likewise.
11399 (c4x_rptb_insert): Likewise.
11400 (c4x_address_conflict): Likewise.
11401 * config/c4x/c4x.md: Likewise.
11402 * config/frv/frv.md: Likewise.
11403 * config/i386/athlon.md: Likewise.
11404 * config/i386/i386.md: Likewise.
11405 * config/i386/predicates.md: Likewise.
11406 * config/ia64/ia64.c: Likewise.
11407 * config/ia64/itanium1.md: Likewise.
11408 * config/ia64/itanium2.md: Likewise.
11409 * config/iq2000/iq2000.md: Likewise.
11410 * config/mcore/mcore.c: Likewise.
11411 * config/mips/mips.c: Likewise.
11412 * config/mips/r3900.h: Likewise.
11413 * config/mips/sb1.md: Likewise.
11414 * config/pa/milli64.S: Likewise.
11415 * config/pa/pa.c: Likewise.
11416 * config/pa/pa.h: Likewise.
11417 * config/rs6000/8540.md: Likewise.
11418
9bcc9490
DB
114192004-08-13 Daniel Berlin <dberlin@dberlin.org>
11420
11421 * Makefile.in (BOOT_CFLAGS): Remove accidental addition of -dU.
11422
68fe56fc
R
114232004-08-13 J"orn Rennecke <joern.rennecke@superh.com>
11424
11425 * sh.md (cbranch define_delay) Use cond_delay_slot for
11426 non-anulled condition too.
11427
85d346f1
DE
114282004-08-12 David Edelsohn <edelsohn@gnu.org>
11429
11430 * config/rs6000/rs6000.c (any_parallel_operand): New predicate.
11431 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
11432 any_parallel_operand, lmw_operation, stmw_operation,
a688b3ac 11433 mfcr_operation, mtcrf_operation. Remove PARALLEL from any_operand.
85d346f1
DE
11434 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Use
11435 any_parallel_operand.
11436 (return_and_restore_fpregs_{si,di}): Same.
11437
47d2cee5
ZW
114382004-08-12 Zack Weinberg <zack@codesourcery.com>
11439
11440 * genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL,
11441 if pred->singleton != PARALLEL, issue a warning and pretend it was.
11442 Also issue a warning for any predicate we don't know about.
11443
8fe75e43
RH
114442004-08-12 Richard Henderson <rth@redhat.com>
11445
11446 * config/i386/i386.c (internal_label_prefix): Export.
11447 (internal_label_prefix_len, struct ix86_address,
11448 ix86_decompose_address, maybe_get_pool_constant,
11449 ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes,
11450 memory_address_length): Export.
47d2cee5 11451 (any_fp_register_operand, fp_register_operand,
8fe75e43 11452 register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand,
47d2cee5 11453 x86_64_general_operand, x86_64_szext_general_operand,
8fe75e43
RH
11454 x86_64_nonmemory_operand, x86_64_movabs_operand,
11455 x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
11456 x86_64_zext_immediate_operand, const_int_1_31_operand,
11457 symbolic_operand, pic_symbolic_operand, local_symbolic_operand,
11458 tls_symbolic_operand, global_dynamic_symbolic_operand,
11459 local_dynamic_symbolic_operand, initial_exec_symbolic_operand,
11460 local_exec_symbolic_operand, call_insn_operand, sibcall_insn_operand,
11461 constant_call_address_operand, const0_operand, const1_operand,
11462 const248_operand, const_0_to_3_operand, const_0_to_7_operand,
11463 const_0_to_15_operand, const_0_to_255_operand, incdec_operand,
11464 shiftdi_operand, reg_no_sp_operand, mmx_reg_operand,
11465 general_no_elim_operand, nonmemory_no_elim_operand,
11466 index_register_operand, q_regs_operand, flags_reg_operand,
11467 non_q_regs_operand, zero_extended_scalar_load_operand,
11468 vector_move_operand, no_seg_address_operand, sse_comparison_operator,
47d2cee5 11469 ix86_comparison_operator, ix86_carry_flag_operator,
8fe75e43
RH
11470 fcmov_comparison_operator, promotable_binary_operator,
11471 cmp_fp_expander_operand, ext_register_operand, binary_fp_operator,
47d2cee5 11472 mult_operator, div_operator, arith_or_logical_operator,
8fe75e43
RH
11473 memory_displacement_operand, cmpsi_operand, long_memory_operand,
11474 aligned_operand): Move to predicates.md as define_predicates.
11475 (tls_symbolic_operand_1): Remove.
11476 (x86_64_sign_extended_value): Merge into x86_64_immediate_operand.
11477 (x86_64_zero_extended_value): Merge into x86_64_zext_immediate_operand.
11478 (legitimize_address): Merge tls_symbolic_operand contents.
11479 (ix86_expand_move): Likewise.
11480 * config/i386/i386-protos.h: Update for exports.
11481 * config/i386/i386.h (EXTRA_CONSTRAINT): Update for renames.
11482 (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Remove.
11483 * config/i386/i386.md: Include predicates.md.
11484 * config/i386/predicates.md: New file.
11485
ea3d83a7
MM
114862004-08-13 Mark Mitchell <mark@codesourcery.com>
11487
11488 PR c++/16924
11489 * config/i386/winnt.c (i386_pe_mark_dllexport): Set
11490 SYMBOL_REF_DECL.
11491 (i386_pe_mark_dllimport): Likewise.
11492 (i386_pe_encode_section_info): Likewise, when overriding
11493 dllimport attribute.
11494
414adbdd
GK
114952004-08-12 Geoffrey Keating <geoffk@apple.com>
11496
11497 * configure.ac: When testing for flex, nm, ar, and bison, check
11498 that they will actually be built.
11499 * configure: Regenerate.
11500
c5443745
UW
115012004-08-12 Ulrich Weigand <uweigand@de.ibm.com>
11502
11503 * config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define.
11504 (MOVE_MAX_PIECES): Define.
11505
8fa5469d
DP
115062004-08-12 Devang patel <dpatel@apple.com>
11507
11508 * dbxout.c (dbxout_begin_prologue): New function.
11509 (dbx_debug_hooks): Use new begin prologue hook.
11510 (dbxout_function_end): Emit N_ENSYM.
11511 * stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs.
47d2cee5 11512
b0b343db
JJ
115132004-08-12 Janis Johnson <janis187@us.ibm.com>
11514
e390eb0a
JJ
11515 * config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first
11516 argument is float*.
11517
e34b6648
JJ
11518 * config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type
11519 for vec_dss.
11520
b0b343db
JJ
11521 * doc/extend.texi (AltiVec builtins): Fix description for recent
11522 changes. Update operation list to match current support.
11523
adf39f8f
AK
115242004-08-12 Andreas Krebbel <krebbel1@de.ibm.com>
11525
11526 * config/s390/s390.c (struct s390_frame_layout): New struct as element
11527 of struct machine_function.
11528 (cfun->machine->frame_size): Moved into cfun->machine->frame_layout and
11529 changed all uses.
11530 (cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and
11531 changed all uses.
11532 (cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size)
11533 (cfun_set_fpr_bit, cfun_fpr_bit_p): New macros.
11534 (s390_frame_area, s390_register_info): New functions.
11535 (s390_optimize_prolog): Renamed to s390_optimize_prologue. Added check
11536 for base register.
11537 (s390_return_addr_rtx, s390_return_address_offset)
11538 (s390_va_start, s390_gimplify_va_arg)
11539 (s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack
11540 layouts.
11541 (s390_frame_info): Functionality partly moved to s390_register_info.
11542 Made adaptions for new stack layout.
11543 (save_gprs, restore_gprs): Changed meaning of second parameter and
11544 adapted all callers.
11545
11546 * config/s390/s390.h (s390_backchain_string): New global variable.
11547 (MASK_BACKCHAIN): Removed definition.
11548 (TARGET_BACKCHAIN): Changed check.
11549 (TARGET_KERNEL_BACKCHAIN): New macro.
11550 (TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain".
11551 (TARGET_OPTIONS): Added "backchain", "no-backchain" and
11552 "kernel-backchain".
11553 (DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts.
11554
11555 * config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN
11556 as condition. Adjusted for new stack layout.
11557
11558 * doc/invoke.texi: Added documentation for new option
11559 "-mkernel-backchain" and adjusted documentation of "-mbackchain" and
11560 "-mno-backchain".
11561
db151e9d
PB
115622004-08-12 Paul Brook <paul@codesourcery.com>
11563
11564 * config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
11565 (aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation.
11566
02b75262
DD
115672004-08-12 David Daney <ddaney@avtrex.com>
11568
db151e9d 11569 * java/gcj.texi: Add subsection on signal usage.
02b75262 11570
f64d6991
DE
115712004-08-12 David Edelsohn <edelsohn@gnu.org>
11572
11573 * expr.c (move_by_pieces): Set alignment for move to minimum of
11574 MOVE_MAX_PIECES mode alignment and the largest non-slow mode
11575 alignment, but not less than the original alignment.
11576 (move_by_pieces_ninsns): Same.
11577 (can_store_by_pieces): Similar for store with STORE_MAX_PIECES.
11578 (store_by_pieces_1): Same.
11579
c597ef4e
DN
115802004-08-12 Diego Novillo <dnovillo@redhat.com>
11581
11582 PR tree-optimization/16867
11583 * tree.c (is_global_var): New function.
11584 (needs_to_live_in_memory): Check for TREE_ADDRESSABLE.
11585 Call is_global_var.
11586 * tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove.
11587 Update all users.
11588 (is_global_var): Declare.
11589 * tree-dfa.c (dump_variable): Display global and addressable
11590 attributes.
11591 (add_referenced_var): Clarify documentation when marking
11592 variables call-clobbered.
11593 * tree-flow-inline.h (is_call_clobbered): Call is_global_var
11594 instead of needs_to_live_in_memory.
11595 (mark_call_clobbered): If the variable is a tag, mark it
11596 DECL_EXTERNAL.
11597 * tree-gimple.c (is_gimple_reg): Don't check for
11598 TREE_ADDRESSABLE.
11599 (is_gimple_non_addressable): Likewise.
11600 * tree-ssa-alias.c (get_nmt_for): Always check whether the tag
11601 needs to be marked call-clobbered.
11602 (setup_pointers_and_addressables): Call is_global_var instead
11603 of needs_to_live_in_memory.
11604 * tree-ssa-dce.c (need_to_preserve_store): Remove.
11605 Update all users with is_global_var.
11606 (mark_stmt_if_obviously_necessary): Fix processing of aliased
11607 stores. Don't check the virtual definitions. Rather, check
11608 whether the store is going into global memory.
11609 (find_obviously_necessary_stmts): Get the symbol from the PHI
11610 result.
11611 * tree-ssa-operands.c (get_call_expr_operands): Do not add
11612 clobbering may-defs if the call does not have side effects.
11613
ab5c8549
JJ
116142004-08-12 Jakub Jelinek <jakub@redhat.com>
11615
11616 PR c++/16276
11617 * output.h (default_function_rodata_section,
11618 default_no_function_rodata_section): New prototypes.
11619 * target.h (struct gcc_target): Add asm_out.function_rodata_section.
11620 * target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
11621 (TARGET_ASM_OUT): Add it.
11622 * varasm.c (default_function_rodata_section,
11623 default_no_function_rodata_section): New functions.
11624 * final.c (final_scan_insn): Call
11625 targetm.asm_out.function_rodata_section instead of
11626 readonly_data_section.
11627 * config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
11628 * config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
11629 * config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
11630 * config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
11631 Likewise.
11632 * config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
11633 * config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
11634 Likewise.
11635 * config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
11636 Likewise.
11637 * config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
11638 * config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
11639 * doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document.
11640
5cf58f28
PB
116412004-08-12 Paul Brook <paul@codesourcery.com>
11642
11643 * dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
11644 frame info.
11645 * doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
11646 DWARF2_UNWIND_INFO.
11647
87e184d1
BE
116482004-08-12 Ben Elliston <bje@au.ibm.com>
11649
11650 PR target/16286
11651 * config/rs6000/altivec.h: Change vector to __vector throughout.
11652 (Except for the `vector' macro itself).
11653
e543e219
ZW
116542004-08-12 Zack Weinberg <zack@codesourcery.com>
11655
11656 * genpreds.c: Add capability to generate predicate bodies as
11657 well as function prototypes. Write function prototypes for
11658 the generic predicates too.
11659 (process_define_predicate, write_tm_preds_h, write_insn_preds_c)
11660 (write_predicate_subfunction, mark_mode_tests, add_mode_tests)
11661 (write_match_code, write_predicate_expr, write_one_predicate_function)
11662 (parse_option): New functions.
11663 (output_predicate_decls): Delete.
11664 (main): Read the machine description, process DEFINE_PREDICATE or
11665 DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
11666 as appropriate.
11667
11668 * genrecog.c (struct decision_test): Replace index with
11669 struct pred_data pointer.
11670 (next_index): Remove, unused.
11671 (pred_table, preds, special_mode_pred_table): Delete.
11672 (compute_predicate_codes, process_define_predicate): New functions.
11673 (validate_pattern, add_to_sequence, write_switch): Update for
11674 new data structures.
11675 (main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
11676 Check both error_count and have_error.
11677
11678 * gensupport.c (in_fname, first_predicate): New globals.
11679 (define_pred_queue, define_pred_tail): New RTL-pattern queue.
11680 (predicate_table, last_predicate, old_pred_table)
11681 (old_special_pred_table): New statics.
11682 (hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
11683 (add_predicate, init_predicate_table): New functions.
11684 (process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
11685 (init_md_reader_args_cb): Use the global in_fname. No need to zero
11686 it or max_include_len. Call init_predicate_table.
11687 (read_rtx): Run the predicate queue after the attribute queue
11688 but before all the others.
11689 * gensupport.h (in_fname, struct pred_data, first_predicate)
11690 (lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
11691 * rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
11692 (DEFINE_SPECIAL_PREDICATE): New RTL codes.
11693 * dummy-conditions.c: Don't include bconfig.h, system.h,
11694 coretypes.h, tm.h, or system.h. Do include stddef.h.
11695 Duplicate declaration of struct c_test from gensupport.h.
11696
11697 * Makefile.in (OBJS-common): Add insn-preds.o.
11698 (STAGESTUFF, .PRECIOUS): Add insn-preds.c.
11699 (insn-preds.c, insn-preds.o): New rules.
11700 (s-preds): Also generate insn-preds.c.
11701 (dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
11702 Update dependencies.
11703 (print-rtl.o, print-rtl1.o): Correct dependencies.
11704
11705 * recog.h: Delete prototypes of predicate functions.
11706
11707 * doc/md.texi (Predicates): New section with complete
11708 documentation of operand/operator predicates. Remove some
11709 incomplete documentation of predicates from other places.
11710 * doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
11711 PREDICATE_CODES; indicate that both are deprecated in favor
11712 of define_predicate/define_special_predicate.
11713
11714 * config/ia64/ia64.c: All predicate function definitions moved
11715 to ia64.md, except
11716 (small_addr_symbolic_operand, tls_symbolic_operand): Delete.
11717 (ia64_expand_load_address, ia64_expand_move):
11718 Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.
11719
11720 * config/ia64/ia64.md: All predicates now defined here.
11721 (symbolic_operand): Is now a special predicate.
11722
11723 * config/ia64/ia64.h: Declare ia64_section_threshold.
11724 (PREDICATE_CODES): Delete.
11725
174283a3
RH
117262004-08-12 Richard Henderson <rth@redhat.com>
11727
11728 * c-common.h (STATEMENT_LIST_HAS_LABEL): New.
11729 * c-semantics.c (add_stmt): Set it.
11730 * c-decl.c (finish_decl): Use it to create a new BIND_EXPR
11731 before instantiating a variable sized type.
11732
15931954
RH
117332004-08-12 Richard Henderson <rth@redhat.com>
11734
11735 * stor-layout.c (round_up, round_down): Move ...
e543e219 11736 * fold-const.c (round_up, round_down): ... here. Use
15931954
RH
11737 multiple_of_p to avoid any arithmetic at all.
11738
57d1dd87
RH
117392004-08-12 Richard Henderson <rth@redhat.com>
11740
11741 * gimplify.c (struct gimplify_init_ctor_preeval_data): New.
11742 (gimplify_init_ctor_preeval_1): New.
11743 (gimplify_init_ctor_preeval): New.
11744 (gimplify_init_ctor_eval): New.
11745 (gimplify_init_constructor): Use them. Always gimplify the LHS
11746 object first.
11747
46e34f96
ZL
117482004-08-12 Ziemowit Laski <zlaski@apple.com>
11749
11750 (This patch is part of merge of objc-improvements-branch
11751 into mainline.)
11752
11753 * doc/frontends.texi: Mention Objective-C++ in addition to
11754 Objective-C.
11755 * doc/install.texi: Add 'obj-c++' to list of configurable
11756 languages.
11757 * doc/invoke.texi: Rename Objective-C option headings to
11758 indicate they also apply to Objective-C++. List file
11759 extensions for Objective-C++ sources. Mention that
11760 ObjC and ObjC++ compilations may also use C and C++ options,
11761 respectively. Point users to doc/standards.texi for
11762 further info on ObjC and ObjC++.
11763 * doc/sourcebuild.texi: Mention the objcp/ directory and
11764 the Objective-C++ sources it contains.
11765 * doc/standards.texi: Update link to Apple ObjC site;
11766 add link to gcc readings.html WWW doc.
11767
07f12d8b
AM
117682004-08-12 Alan Modra <amodra@bigpond.net.au>
11769
11770 * config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
11771 and 2004-07-14 changes.
11772
89aa5a20
PB
117732004-08-12 Paul Brook <paul@codesourcery.com>
11774
11775 * doc/invoke.texi: Fix typo.
11776
5079843a
DP
117772004-08-11 Devang Patel <dpatel@apple.com>
11778
11779 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
11780 and -no_dead_strip_inits_and_terms.
11781 (LINK_SPEC): Same.
11782 * doc/invoke.texi (Darwin Options): Document -dead_strip and
11783 -no_dead_strip_inits_and_terms.
e543e219 11784
876f13b0
PB
117852004-08-11 Paul Brook <paul@codesourcery.com>
11786
11787 * config/arm/arm-protos.h (arm_finalize_pic) Rename ...
11788 (arm_load_pic_register): ... to this.
11789 * config/arm/arm.c (arm_finalize_pic): Rename ...
11790 (arm_load_pic_register): ... to this. Always output insns at the
11791 current location. Load via low reg in thumb mode.
11792 (arm_expand_prologue): Call arm_load_pic_register.
11793 (thumb_expand_prologue): Ditto.
11794 * config/arm/arm.h (FINALIZE_PIC): Remove.
11795 * config/arm/arm.md (builtin_setjmp_receiver): Call
11796 arm_load_pic_register.
11797
57934c39
PB
117982004-08-11 Paul Brook <paul@codesourcery.com>
11799
11800 * arm.c (thumb_force_lr_save): Add prototype.
11801 (thumb_compute_save_reg_mask): New function.
11802 (thumb_find_work_register): New function.
11803 (arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
11804 (thumb_unexpanded_epilogue): Ditto. Remove redundant code.
11805 Don't clobber r3 when removing pretend args.
11806 (thumb_expand_prologue): Use thumb_compute_save_reg_mask.
11807 (thumb_output_function_prologue): Use new functions.
11808 (thumb_set_return_address): Use thumb_compute_save_reg_mask.
11809 * arm.h (THUMB_REG_PUSHED_P): Remove.
11810
af874237
JW
118112004-08-11 James E Wilson <wilson@specifixinc.com>
11812
11813 PR rtl-optimization/16490
11814 * cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
11815 global_live_at_end for new basic block if already set for other blocks.
11816
c1618c0c
DE
118172004-08-11 David Edelsohn <edelsohn@gnu.org>
11818
11819 * config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
11820
11821 * config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8.
11822 (mfcr rlwinm rlwinm patterns): Set length to 12.
11823
1a24f92f
AM
118242004-08-11 Andrew MacLeod <amacleod@redhat.com>
11825
11826 * tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops,
11827 get_vuse_ops,get_v_must_def_ops): Add operand structure reference.
11828 (get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct.
11829 (start_ssa_stmt_operands): Delete.
e543e219 11830 * tree-flow.h (struct stmt_ann_d): Replace operand vectors with new
1a24f92f
AM
11831 struct stmt_operands_d.
11832 (build_ssa_operands): New extern entry point.
e543e219 11833 * tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand
1a24f92f
AM
11834 building code, replace with create_ssa_artficial_load_stmt().
11835 * tree-ssa-operands.c (struct voperands_d): Delete.
11836 (allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector.
11837 (allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *).
e543e219 11838 (free_uses, free_defs, free_vuses, free_v_may_defs,
1a24f92f
AM
11839 free_v_must_defs): Remove dealloc parameter.
11840 (remove_vuses, remove_v_may_def, remove_v_must_defs): Delete.
11841 (finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs,
11842 finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand
11843 vector comparisons, ssa_name reuse, and allocations here.
11844 (verify_start_operands): Delete.
11845 (finalize_ssa_stmt_operands): Set new operands by calling finalize
11846 routines.
11847 (start_ssa_stmt_operands): Move from tree-flow-inline.h.
11848 (append_def, append_usei): Simplify to simple accumulation.
11849 (append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding
11850 duplicates and simple accumulation.
11851 (free_ssa_operands): Free vectors in a stmt_operand structure.
11852 (build_ssa_operands): New. Create a new stmt_operand structure from
e543e219 11853 a stmt and an old set of stmt_operands.
1a24f92f
AM
11854 (get_stmt_operands): Simplify and call build_ssa_operands.
11855 (get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands,
11856 get_call_expr_operands, add_stmt_operand, add_call_clobber_ops,
11857 add_call_read_ops): Don't pass prev_vops around anymore.
11858 (note_addressable): Return if no stmt annotation.
11859 (copy_virtual_operands): Access v_may_def operands through a struct.
11860 (create_ssa_artficial_load_stmt): New. Create a load stmt for DOM's
11861 hash tables without treating the stmt as a real stmt.
11862 * tree-ssa-operands.h (struct v_may_def_operand_type): New. Access
11863 v_may_def def and use through a struct instead of 2 array elements.
11864 (struct v_may_def_optype_d): Use v_may_def_operand_type.
11865 (struct stmt_operands_d): New. Struct for storing all operand vectors.
11866
a77655b1
NC
118672004-08-11 Nick Clifton <nickc@redhat.com>
11868
11869 * config/arm/arm.c (arm_is_longcall_p): Update comment describing
11870 this funciton's behaviour. Return true when the current function
11871 has a section attribute and -mlong-calls is in effect.
11872 * config/arm/arm.h (ARM_DECLARE_FUNCTION_SIZE): Do not set the
11873 short-call marker when -mlong-calls is in effect and the function
11874 has a section attribute.
11875
6f4a43e0
ZW
118762004-08-10 Zack Weinberg <zack@codesourcery.com>
11877
11878 * stmt.c (expand_return): If asked to return the RESULT_DECL,
11879 just call expand_value_return on result_rtl.
11880
1a186ec5
RH
118812004-08-10 Richard Henderson <rth@redhat.com>
11882
11883 * builtins.def (BUILT_IN_STACK_ALLOC): Remove.
11884 * builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
11885 * dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
11886 (add_location_or_const_value_attribute): ... not here. Use
11887 loc_descriptor_from_tree if possible.
11888 (loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
11889 Simplify address handling. Handle DECL_VALUE_EXPR. Handle register
11890 values specially.
11891 (loc_descriptor_from_tree): New. Update callers.
11892 * expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
11893 * gimplify.c (gimplify_decl_expr): Lower variable sized types to
11894 pointer plus dereference. Set DECL_VALUE_EXPR. Set save_stack.
11895 (gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
11896 and BUILT_IN_STACK_RESTORE.
11897 (gimplify_expr): Lower DECL_VALUE_EXPR decls.
11898 * stmt.c (expand_stack_alloc): Remove.
11899 * tree-mudflap.c (mx_register_decls): Don't look for
11900 BUILT_IN_STACK_ALLOC.
11901 * tree-nested.c (convert_local_reference): Likewise.
11902 * tree.h (DECL_VALUE_EXPR): New.
11903
7109c195
RH
119042004-08-10 Richard Henderson <rth@redhat.com>
11905
bf4ccdd6
RH
11906 * stor-layout.c (round_up): Check for 0/1 before dividing.
11907 (round_down): Likewise.
11908
7109c195
RH
11909 * tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL.
11910
b3f8d95d
MM
119112004-08-09 Mark Mitchell <mark@codesourcery.com>
11912
11913 * config.gcc (arm*-*-eabi*): New target.
11914 * defaults.h (TARGET_LIBGCC_FUNCS): New macro.
11915 (TARGET_LIB_INT_CMP_BIASED): Likewise.
11916 * expmed.c (expand_divmod): Try a two-valued divmod function as a
11917 last resort.
11918 * gthr.h: Remove bogus tokens at end of #pragma.
11919 * optabs.c (expand_twoval_binop_libfunc): New function.
11920 (prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
11921 (prepare_float_lib_cmp): Try reversing the condition.
11922 (debug_optab_libfuncs): New function.
11923 * optabs.h (expand_twoval_binop_libfunc): Declare.
11924 * config/arm/arm.c (arm_init_libfuncs): New function.
11925 (arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
11926 (TARGET_INIT_LIBFUNCS): Define it.
11927 * config/arm/arm.h (TARGET_BPABI): New macro.
11928 * config/arm/arm-protos.h
11929 (arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
11930 * config/arm/bpabi.S: New file.
11931 * config/arm/bpabi.c: Likewise.
11932 * config/arm/bpabi.h: Likewise.
11933 * config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
11934 (__aeabi_drsub): Likewise.
11935 (__aeabi_dsub): Likewise.
11936 (__aeabi_dadd): Likewise.
11937 (__aeabi_ui2d): Likewise.
11938 (__aeabi_i2d): Likewise.
11939 (__aeabi_f2d): Likewise.
11940 (__aeabi_dmul): Likewise.
11941 (__aeabi_ddiv): Likewise.
11942 (__aeabi_cdrcmple): Likewise.
11943 (__aeabi_cdcmpeq): Likewise.
11944 (__aeabi_cdcmple): Likewise.
11945 (__aeabi_dcmpeq): Likewise.
11946 (__aeabi_dcmplt): Likewise.
11947 (__aeabi_dcmple): Likewise.
11948 (__aeabi_dcmpge): Likewise.
11949 (__aeabi_dcmpgt): Likewise.
11950 (__aeabi_dcmpun): Likewise.
11951 (__aeabi_d2iz): Likewise.
11952 (__aeabi_d2uiz): Likewise.
11953 (__aeabi_d2f): Likewise.
11954 * config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
11955 (__aeabi_frsub): Likewise.
11956 (__aeabi_fsub): Likewise.
11957 (__aeabi_fadd): Likewise.
11958 (__aeabi_ui2f): Likewise.
11959 (__aeabi_i2f): Likewise.
11960 (__aeabi_fmul): Likewise.
11961 (__aeabi_fdiv): Likewise.
11962 (__aeabi_cfrcmple): Likewise.
11963 (__aeabi_cfcmpeq): Likewise.
11964 (__aeabi_cfcmple): Likewise.
11965 (__aeabi_fcmpeq): Likewise.
11966 (__aeabi_fcmplt): Likewise.
11967 (__aeabi_fcmple): Likewise.
11968 (__aeabi_fcmpge): Likewise.
11969 (__aeabi_fcmpgt): Likewise.
11970 (__aeabi_fcmpun): Likewise.
11971 (__aeabi_f2iz): Likewise.
11972 (__aeabi_f2uiz): Likewise.
11973 * config/arm/lib1funcs.asm (ARM_CALL): New macro.
11974 (__aeabi_uidivmod): New function or alias.
11975 (__aeabi_idivmod): Likewise.
11976 (__aeabi_idiv0): Likewise.
11977 (__aeabi_ldiv0): Likewise.
11978 (__aeabi_llsr): Likewise.
11979 (__aeabi_lasr): Likewise.
11980 (__aeabi_llsl): Likewise.
11981 (bpabi.S): Include it.
11982 * config/arm/libgcc-bpabi.ver: New file.
11983 * config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
11984 (LINK_SPEC): Remove.
11985 * config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
11986 __aeabi_ulcmp.
11987 * config/arm/t-bpabi: New file.
11988 * doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
11989 (TARGET_LIB_INT_CMP_BIASED): Likewise.
6f4a43e0 11990
fba73eb1
DE
119912004-08-10 David Edelsohn <edelsohn@gnu.org>
11992
11993 * config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
11994 * config/rs6000/rs6000.md (clrmemsi): New pattern.
11995 * config/rs6000/rs6000.c (expand_block_clear): New function.
11996 (expand_block_move): Convert alignment to bits. Use SImode and
11997 HImode for unaligned addresses if not STRICT_ALIGNMENT.
11998
119992004-08-10 Caroline Tice <ctice@apple.com>
c295317d
CT
12000
12001 * varasm.c (unlikely_section_label): New global variable.
12002 (unlikely_text_section_name): New global variable.
12003 (text_section): Remove alignment statement.
6f4a43e0 12004 (unlikely_text_section): Remove alignment statement; use
c295317d
CT
12005 unlikely_section_label rather than hard-coded string.
12006 (assemble_start_function): Initialize unlikely_section_label and
12007 unlikely_text_section_name; make sure cold section is properly
12008 aligned at start of function; output unlikely_section_label if
12009 appropriate.
12010
68f9c5e2
UW
120112004-08-10 Ulrich Weigand <uweigand@de.ibm.com>
12012
12013 * config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
12014 * config/s390/s390.c (s390_canonicalize_comparison): New function.
12015 * config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
12016 * config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
12017 "*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
12018 ("*tmqi_mem"): Remove SUBREG from pattern.
12019 ("*anddi3_cconly"): Prevent accidentally matching TM pattern.
12020 ("*andsi3_cconly"): Likewise.
6f4a43e0 12021
22116d84
L
120222004-08-10 H.J. Lu <hongjiu.lu@intel.com>
12023
12024 PR target/16909
12025 * config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.
12026
c75095b2
JJ
120272004-08-10 Janis Johnson <janis187@us.ibm.com>
12028
12029 * doc/sourcebuild.texi (compat testing): Document available test
12030 framework commands. Use the preferred spelling of DejaGnu.
12031
98975653
DB
120322004-08-10 Daniel Berlin <dberlin@dberlin.org>
12033
12034 * lambda.h: Add matrix type, and prototypes for remainder of
12035 matrix and vector functions.
12036 (lambda_vector_mult_const): New function.
12037 (lambda_vector_negate): Ditto.
12038 (lambda_vector_add): Ditto.
12039 (lambda_vector_add_mc): Ditto.
12040 (lambda_vector_copy): Ditto.
12041 (lambda_vector_zerop): Ditto.
12042 (lambda_vector_equal): Ditto.
12043 (lambda_vector_min_nz): Ditto.
12044 (lambda_vector_first_nz): Ditto.
12045 (lambda_vector_matrix_mult): Ditto.
12046 * lambda-mat.c: New file.
12047 * Makefile.in (lambda-mat.o): New.
12048
68b9f53b
AM
120492004-08-10 Andrew MacLeod <amacleod@redhat.com>
12050
12051 * tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
12052 after linking stmt into the program.
12053 (bsi_remove): Don't call modify_stmt.
6f4a43e0 12054 * tree-complex.c (update_complex_assignment,
68b9f53b 12055 expand_complex_comparison): Call modify_stmt after changing the stmt.
6f4a43e0 12056 * tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not
68b9f53b
AM
12057 removing the stmt.
12058 * tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
12059 the stmt, and only if needed.
12060 * tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
12061 expression.
12062 (simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
12063 (simplify_cond_and_lookup_avail_expr): Use modify_stmt.
12064 (simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
6f4a43e0 12065 (eliminate_redundant_computations): Don't pass an annotation. Call
68b9f53b
AM
12066 modify_stmt rather than setting the annotation directly.
12067 (record_equivalences_from_stmt): Remove unused local 'j'.
12068 (cprop_operand): Take a stmt rather than an annotation as a parameter.
12069 Call modify_stmt.
12070 (cprop_into_stmt): Pass stmt rather than annotation.
12071 (update_rhs_and_lookup_avail_expr): Call modify_stmt.
6f4a43e0 12072 * tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than
68b9f53b
AM
12073 modify_stmt.
12074 * tree-ssa.c (propagate_into_addr): Dont call modify_stmt.
12075
01c98570
JM
120762004-08-10 Jason Merrill <jason@redhat.com>
12077
6c9c4526 12078 PR middle-end/16948
01c98570
JM
12079 * function.c (expand_function_start): Handle DECL_BY_REFERENCE on
12080 the RESULT_DECL.
12081
b2ddaebb
GK
120822004-08-10 Geoffrey Keating <geoffk@apple.com>
12083
12084 * tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
12085 hash function.
12086
23657388
RS
120872004-08-10 Roger Sayle <roger@eyesopen.com>
12088
12089 * config/mips/mips.md: New reciprocal square root patterns that
12090 match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.
12091
c9ca9b88
PB
120922004-08-10 Paul Brook <paul@codesourcery.com>
12093
12094 * config/arm/arm-protos.h (arm_set_return_address,
12095 thumb_set_return_address): Add prototypes.
12096 * config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
12097 * config/arm/arm.c (arm_compute_func_type,
12098 use_return_insn, arm_compute_save_reg0_reg12_mask,
12099 arm_compute_save_reg_mask, arm_output_function_prologue,
12100 arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
12101 current_function_calls_eh_return.
12102 (thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
12103 old eh code.
12104 (arm_set_return_address, thumb_set_return_address): New functions.
12105 * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
12106 ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
12107 * config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
12108 (epilogue): Use the stackadj register.
12109 (eh_return, arm_eh_return, thumb_eh_return): New pattern.
12110
45d78e7f
JJ
121112004-08-10 Jakub Jelinek <jakub@redhat.com>
12112
12113 PR target/3144
12114 * expr.c (move_by_pieces_ninsns): Add max_size argument.
12115 (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it.
12116 (CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it.
12117 (STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P,
12118 but using MOVE_RATIO.
12119 (move_by_pieces): Pass max_size to move_by_pieces_ninsns.
12120 (can_store_by_pieces): Change max_size type to unsigned int.
12121 (store_by_pieces_1): Likewise. Pass max_size to
12122 move_by_pieces_ninsns.
12123 * config/s390/s390.h (STORE_BY_PIECES_P): Define.
12124 * config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1
12125 to move_by_pieces_ninsns.
12126 (STORE_BY_PIECES_P): Define.
12127 * config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1
12128 to move_by_pieces_ninsns.
12129 * doc/tm.texi (STORE_BY_PIECES_P): Document changed default.
12130
12131 * config/i386/i386.h (CLEAR_RATIO): Define.
12132
25f3e06c
PB
121332004-08-09 Paolo Bonzini <bonzini@gnu.org>
12134
12135 * expr.c (expand_expr_real_1): Add back code that was not dead.
12136
6a3203c8
AP
121372004-08-09 Andrew Pinski <apinski@apple.com>
12138
12139 * c-common.c (c_common_get_alias_set): Set the aliasing set of the type
12140 which is found to be compatible before returning the aliasing set.
12141
b9bfca81
DJ
121422004-08-09 Daniel Jacobowitz <dan@debian.org>
12143
12144 * ggc-zone.c (struct alloc_zone): Add statistics counters.
12145 (always_collect): New flag.
12146 (ggc_alloc_zone_1): Update statistics support. Don't include
12147 overhead in allocated counter.
12148 (sweep_pages): Update allocated counter for large pages. Don'y
12149 include overhead.
12150 (ggc_collect_1): Always collect.
12151 (ggc_collect): Honor always_collect flag. Sum all zones to decide
12152 whether to collect.
12153 (SCALE, LABEL): New macros.
12154 (ggc_print_statistics): Add statistics support.
12155
fdded401
RS
121562004-08-09 Roger Sayle <roger@eyesopen.com>
12157
12158 * expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.
12159 (init_expmed): Fix potential overrun problem with "all.reg".
12160 (expand_sdiv2_pow2): Add an alternate implementation for signed
12161 division, if the target provides a suitable conditional move insn.
12162
9d8646d7
PB
121632004-08-09 Paul Brook <paul@codesourcery.com>
12164 Richard Henderson <rth@redhat.com>
12165
12166 * unwind-dw2.c (uw_install_context_1): Update target saved stack
12167 pointer.
12168
d37e6b50
GK
121692004-08-09 Geoffrey Keating <geoffk@apple.com>
12170
12171 * ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
12172 Check DATA limit only if there's no AS limit. Ignore insanely
12173 low DATA limits.
12174 (ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8,
12175 but take care that the AS limit isn't overrun.
12176 * doc/invoke.texi: Update documentation of min-heapsize parameter.
12177
56b043c8
JL
121782004-08-09 Jeff Law <law@redhat.com>
12179
12180 * Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
12181 (tree-ssa-threadupdate.o): Add dependencies.
12182 * tree-ssa-threadupdate.c: New file.
12183 * tree-flow.h (incoming_edge_threaded): New flag in block annotation.
12184 (rewrite_vars_out_of_ssa): Remove prototype.
12185 (cleanup_tree_cfg): Returns a bool.
12186 * tree.h (thread_through_all_blocks): Prototype.
12187 * tree-outof-ssa.c (SSANORM_*): Move into here.
12188 (remove_ssa_form): Now static.
12189 (rewrite_vars_out_of_ssa): Kill.
12190 * tree-ssa-live.c (register_ssa_partitions_for_vars): Kill.
12191 * tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c.
12192 (remove_ssa_form, register_partitions_for_vars): Kill declarations.
12193 * tree-cfg.c (cleanup_tree_cfg): Return a value indicating if
12194 anything was changed.
12195 * tree-phinodes.c (add_phi_arg): Get the block for the PHI
12196 from the PHI's annotation rather than the edge associated with
12197 the new argument.
12198 * tree-ssa-dom.c (redirection_edges): Kill.
12199 (redirect_edges_and_update_ssa_graph): Kill.
12200 (tree_ssa_dominator_optimize): Do not reset forwardable flag
12201 for blocks anymore. Do not initialize redirection_edges.
12202 Call thread_through_all_blocks. Simplify code for cleanup
12203 of the CFG and iterating. No longer call cleanup_tree_cfg
12204 outside the iteration loop.
12205 (thread_across_edge): No longer mess with forwardable blocks.
12206
9b305d55
ZW
122072004-08-09 Zack Weinberg <zack@codesourcery.com>
12208
12209 * explow.c (memory_address): Use memory_address_p.
12210 * recog.c (general_operand): Likewise.
12211 * regrename.c: No need to define REG_OK_STRICT.
12212
27fb79ad
SB
122132004-08-09 Steven Bosscher <stevenb@suse.de>
12214
12215 * timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
12216 New timers.
12217 * gcse.c: Include timevar.h.
12218 (const_prop_count, copy_prop_count): Rename to global_const_prop_count
12219 and global_copy_prop_count.
12220 (local_const_prop_count, local_copy_prop_count): New static globals.
12221 (gcse_main): Set the right timevar for each pass.
12222 (cprop_jump): Increment global_const_prop_count when a constant is
12223 propagated. Add "GLOBAL" to dump output.
12224 (cprop_insn): Increment global_const_prop_count when a constant is
12225 propagated, or global_copy_prop_count when a copy is propagated.
12226 (do_local_cprop): Likewise for local_const_prop_count and
12227 local_copy_prop_count.
12228 (one_cprop_pass): Initialize const/cprop counters to zero.
12229 Print out results of local and global const/cprop separately.
12230 (bypass_block): Break over-length line.
702d4b73
SB
12231 * Makefile.in (gcse.o): Add TIMEVAR_H dependency. Fix dependencies
12232 for bb-reorder.o and tracer.o.
27fb79ad 12233
7efcb746
PB
122342004-08-09 Paolo Bonzini <bonzini@gnu.org>
12235
12236 * Makefile.in (GTFILES): Remove stmt.c
12237 (stmt.o): Do not depend on gt-stmt.h.
12238 * emit-rtl.c (emit_line_note): Do not call
12239 set_file_and_line_for_stmt.
12240 * expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case
12241 do everything.
12242 * function.c (free_after_parsing): Do not free STMT field.
12243 (allocate_struct_function): Do not call init_stmt_for_function.
12244 (assign_stack_temp_for_type): Do not accept values of keep
12245 other than 0 or 1.
12246 (init_temp_slots): Do not initialize removed variables.
12247 * function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL
12248 and X_VAR_TEMP_SLOT_LEVEL fields.
12249 * rtl.h (set_file_and_line_for_stmt): Remove.
12250 * stmt.c (struct nesting, ALLOC_NESTING, POPSTACK,
12251 struct stmt_status, cond_stack, case_stack, nesting_stack,
12252 nesting_depth, emit_locus, set_file_and_line_for_stmt,
12253 same_case_target_p, init_stmt_for_function, emit_nop,
12254 expand_start_cond, expand_start_elseif, expand_start_else,
12255 expand_elseif, expand_end_cond): Remove.
12256 (preserve_subexpressions_p): Remove references to CFUN->STMT.
12257 (expand_start_case, expand_end_case_type): Remove, merge into...
12258 (expand_case): ... this one, including other bits from
12259 expand_expr_real_1. Inline same_case_target_p. Turn members
12260 of CASE_STACK into local variables.
12261 (emit_case_bit_tests): Inline same_case_target_p.
12262 (add_case_node): Add HEAD argument, return new head of the list,
12263 do not handle default label here.
12264 * tree.h (expand_start_cond, expand_end_cond, expand_start_else,
12265 expand_start_elseif, current_nesting_level, expand_start_case,
12266 expand_end_case_type, expand_end_case, add_case_node,
12267 init_stmt_for_function, expand_elseif): Remove prototypes.
12268 (expand_case): Add prototype.
12269
c4d70ce3
PB
122702004-08-09 Paolo Bonzini <bonzini@gnu.org>
12271
12272 * expr.c (expand_expr_real_1): Use optab_for_tree_code.
12273
122742004-08-09 Paolo Bonzini <bonzini@gnu.org>
e5bacf32
PB
12275
12276 * expr.c (var_rtx): Remove.
12277 (expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR,
12278 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR,
12279 TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>:
12280 Abort.
12281 (expand_expr_real_1) <COND_EXPR>: Remove most special cases.
12282 * optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove.
12283 * optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove.
12284
d72372e4
MH
122852004-08-08 Mostafa Hagog <mustafa@il.ibm.com>
12286 Ayal Zaks <zaks@il.ibm.com>
12287
12288 * common.opt (freschedule-modulo-scheduled-loops): New flag.
12289 * final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK.
12290 * modulo-sched.c (sms_schedule): Emit a note to disable scheduling
12291 when -freschedule-modulo-scheduled-loops flag is not specified.
12292 (sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps,
12293 add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts):
12294 More accurate placing of insn in row of partial schedule.
12295 (ps_insn_find_column): New function.
12296 * rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note.
12297 * sched-rgn.c (sched_is_disabled_for_current_region_p): New.
12298 (schedule_region): Use sched_is_disabled_for_current_region_p.
12299 * docs/invoke.texi: Document -freschedule-modulo-scheduled-loops.
12300
0737fbff
L
123012004-08-07 H.J. Lu <hongjiu.lu@intel.com>
12302
12303 * config/i386/i386.c (ix86_expand_clrmem): Revert the last
12304 change.
12305
11c4576f
L
123062004-08-07 H.J. Lu <hongjiu.lu@intel.com>
12307
12308 * config/i386/i386.c (ix86_expand_clrmem): Properly call
12309 gen_strset for 64bit target.
12310
34def210
OH
123112004-08-07 Olivier Hainque <hainque@act-europe.fr>
12312
12313 * config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.
12314
5201931e
JM
123152004-08-07 Jason Merrill <jason@redhat.com>
12316
cc77ae10
JM
12317 Make return in memory explicit.
12318 * function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
12319 (assign_parm_find_data_types): Remove code for old front end
12320 invisible reference handling.
12321 (assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL.
12322 (expand_function_end): Likewise.
12323 * gimplify.c (gimplify_return_expr): Handle a dereferenced
12324 RESULT_DECL.
12325 * tree-inline.c (copy_body_r): Don't bother looking for &* anymore.
12326 (declare_return_variable): Handle DECL_BY_REFERENCE.
12327 * cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL.
12328 (cp_genericize_r): Use convert_from_reference.
12329 Don't dereference a RESULT_DECL directly inside a RETURN_EXPR.
12330 (cp_genericize): Handle the RESULT_DECL. Unset TREE_ADDRESSABLE.
12331
5201931e
JM
12332 * c-common.c (c_warn_unused_result): Check TREE_USED before
12333 warning about a CALL_EXPR with an unused value.
12334
2ed9e527
MM
123352004-08-06 Mark Mitchell <mark@codesourcery.com>
12336
12337 * config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options
12338 to the compiler. Use -fshort-wchar by default.
12339
12183e0f
PH
123402004-08-06 Pat Haugen <pthaugen@us.ibm.com>
12341
12342 * params.def (PARAM_MIN_CROSSJUMP_INSNS): New.
12343 * cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match
12344 threshhold.
12345 * doc/invoke.texi (param): Document min-crossjump-insns.
12346
eaac4679
RS
123472004-08-06 Richard Sandiford <rsandifo@redhat.com>
12348
12349 PR c/13282
12350 * c.opt (Wmissing-field-initializers): New option.
12351 * c-opts.c (c_common_post_options): Make -Wextra turn it on by default.
12352 * c-typeck.c (pop_init_level): Guard the missing field warning with
12353 warn_missing_field_initializers rather than extra_warnings.
12354 * doc/invoke.texi (-Wmissing-field-initializers): Document, moving
12355 some of the explanation from...
12356 (-Wextra): ...here. Say that the missing field warning can be
12357 seperately controlled by -Wmissing-field-initializers.
12358
caad9f81
PB
123592004-08-06 Paolo Bonzini <bonzini@gnu.org>
12360
12361 * expr.c (expand_expr_real_1) <ENTRY_VALUE_EXPR>: Remove.
12362 * tree-inline.c (estimate_num_insns_1) <ENTRY_VALUE_EXPR>: Remove.
12363 * tree-pretty-print.c (dump_generic_node) <ENTRY_VALUE_EXPR>: Remove.
12364 * tree.def (ENTRY_VALUE_EXPR): Remove.
12365
6b32b628
JJ
123662004-08-06 Jakub Jelinek <jakub@redhat.com>
12367
12368 * config/i386/i386.c (ix86_expand_clrmem): Move gen_cld down to
12369 the places where it is actually needed. Don't use repz; stosb
12370 for -Os with sufficiently small constant sizes.
12371 For sufficiently small repz; stos{l,q} repeat counts use a sequence
12372 of stos{l,q} instructions instead.
12373
6797f908
ZD
123742004-08-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12375
12376 PR tree-optimization/16807
12377 * loop-iv.c (dump_iv_info): Dump invariants correctly.
12378 (iv_subreg, iv_extend): Express value of invariant purely in
12379 base field.
12380
866cf037
MM
123812004-08-06 Mark Mitchell <mark@codesourcery.com>
12382
12383 * config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums.
12384 (CC1PLUS_SPEC): Define it to be the same as CC1_SPEC.
12385
9652c531 123862004-08-06 Roman Zippel <zippel@linux-m68k.org>
9b305d55 12387
27fb79ad
SB
12388 * config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New.
12389 * config/m68k/m68k.h (PREDICATE_CODES): add post_inc_operand,
12390 pre_dec_operand.
12391 * config/m68k/m68k.md (zero_extend*2): delay the splitting of the
12392 pattern until reload is finished to allow better code generation
12393 and split them completely into separate instrunctions.
12394 (*andsi3_split): New pattern.
9652c531 12395
b2ca3702
MM
123962004-08-05 Mark Mitchell <mark@codesourcery.com>
12397
12398 * tree.c (handle_dll_attribute): Move here from i383/winnt.c.
12399 Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P. Set
12400 DECL_VISIBLITY. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
12401 * tree.h (handle_dll_attribute): Declare. Test
12402 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
12403 * c-common.h (c_determine_visibility): Declare.
12404 * c-common.c (c_determine_visibility): New function.
12405 * c-decl.c (finish_decl): Use it.
12406 (finish_function): Likewise.
12407 * defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to
12408 zero, by default. Use #if, not #ifdef, to test it.
12409 * config/arm/arm.c (arm_attribute_table): Use
12410 handle_dll_attribute. Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with
12411 #if.
12412 * config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1.
12413 * config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
12414 to 1.
12415 * config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove.
12416 * config/i386/i386.c (ix86_attribute_table): Use
12417 handle_dll_attribute for dllimport/dllexport. Test
12418 TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
12419 * config/i386/winnt.c (ix86_handle_dll_attribute): Remove.
12420 * config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
12421 it to 1.
12422 * config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it
12423 with #if.
12424 * config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
12425 it to 1.
12426 * doc/extend.texi (dllexport): Clarify and correct documentation.
12427 (dllimport): Likewise.
12428 * doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention
12429 handle_dll_attribute.
9b305d55 12430
c913f08a
ZD
124312004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12432
12433 * tree-ssa-loop-manip.c: New file.
12434 * Makefile.in (tree-ssa-loop-manip.o): Add.
12435 * tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa):
12436 Declare.
12437 * tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa
12438 form.
12439 (tree_ssa_loop_done): Verify loop closed ssa form.
12440 * tree-ssa-loop-im.c (move_computations): Update loop closed ssa form.
12441
d4482715
JDA
124422004-08-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12443
12444 * pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common,
12445 pa_asm_output_aligned_local): New functions.
12446 * pa-protos.h: Add prototypes for pa_asm_output_aligned_bss,
12447 pa_asm_output_aligned_common and pa_asm_output_aligned_local.
12448 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use
12449 pa_asm_output_aligned_common.
12450 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
12451 * pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro.
12452 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
12453 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
12454 * pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro.
12455 (ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
12456 (ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
12457 * som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global
12458 common data.
12459
21149a79
AP
124602004-08-05 Andrew Pinski <apinski@apple.com>
12461
12462 * objc/objc-act.c (build_objc_string_object): Mark the address
12463 expression as constant.
12464
d5861a7a
DE
124652004-08-05 David Edelsohn <edelsohn@gnu.org>
12466
12467 * config/rs6000/rs6000.c (rs6000_rtx_costs): Fix mask_operand
12468 and mask64_operand thinkos. Handle ZERO_EXTRACT. Handle
12469 SIGN_EXTEND / ZERO_EXTEND of MEM. Handle rlwinm patterns.
12470
0a2b72a6
JM
124712004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
12472
12473 * config/linux.h, config/i386/linux.h, config/sparc/linux.h:
12474 Remove definitions conditioned on USE_GNULIBC_1 or conditioned
12475 out, and associated obsolete comments.
12476
ca7a3bd7
NS
124772004-08-05 Nathan Sidwell <nathan@codesourcery.com>
12478
12479 * tree.h (force_fit_type): Return a tree, take three flags.
12480 * fold-const.c (force_fit_type): Set TREE_OVERFLOW and
12481 TREE_CONSTANT_OVERFLOW here.
12482 (int_const_binop, const_binop): Adjust.
12483 (size_int_type): Do sign extension here.
12484 (fold_convert_const, optimize_bit_field_compare,
12485 decode_field_reference, all_ones_mask_p, fold_div_compare, fold,
12486 fold_negate_const, fold_abs_const, fold_not_const): Adjust.
12487 * tree.c (size_in_bytes, int_fits_type_p): Adjust.
12488
d36837f4
ZD
124892004-08-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12490
12491 PR tree-optimization/16864
12492 * tree-tailcall.c (eliminate_tail_call): Do not create phi nodes
12493 for ssa names without default_def.
12494
ea5f7a19
RS
124952004-08-05 Richard Sandiford <rsandifo@redhat.com>
12496
12497 * config/i386/i386.c (ix86_expand_prologue): If the function uses a
12498 frame pointer, restore eax with an ebp-relative address.
12499
0e6df31e
GK
125002004-08-04 Geoffrey Keating <geoffk@apple.com>
12501
12502 PR 14516
12503 * c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
12504 * c-common.h (make_rtl_for_local_static): Delete.
12505 * c-decl.c (shadow_tag_warned): Clean up comment.
12506 (finish_decl): Clean up spacing. Use set_user_assembler_name when
12507 appropriate. Don't pass asmspec to rest_of_decl_compilation.
12508 * c-semantics.c (make_rtl_for_local_static): Delete.
12509 * expr.c (init_block_move_fn): Use set_user_assembler_name.
12510 (init_block_clear_fn): Likewise.
12511 * passes.c (rest_of_decl_compilation): Remove asmspec parameter,
12512 expect it to be in DECL_ASSEMBLER_NAME. Update callers in many files.
12513 * toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
12514 * tree.h (make_decl_rtl): Remove second parameter.
12515 (set_user_assembler_name): New.
12516 * varasm.c (set_user_assembler_name): New.
12517 (make_decl_rtl): Remove second parameter. Update callers in many
12518 files.
12519
4f587cb0
AN
125202004-08-05 Adam Nemet <anemet@lnxw.com>
12521
12522 * config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0.
12523 (case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*. Update
12524 to LynxOS 4.0.
12525 * gthr-lynx.h: New file.
12526 * config/lynx-ng.h: Remove file.
12527 * config/lynx.h: Update to LynxOS 4.0.
12528 * config/t-lynx: New file.
12529 * config/i386/lynx-ng.h: Remove file.
12530 * config/i386/lynx.h: Update to LynxOS 4.0.
12531 * config/rs6000/lynxbase.h: Remove file.
12532 * config/rs6000/lynx.h: Update to LynxOS 4.0.
12533 * config/rs6000/t-lynx: New file.
12534 * doc/install.texi (Options specification): Remove reference to
12535 LynxOS from systems where --with-gnu-as makes a difference.
12536
85291069
JM
125372004-08-05 Joseph S. Myers <jsm@polyomino.org.uk>
12538
12539 * c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and
12540 __UINTMAX_TYPE__.
12541 * c-cppbuiltin.c (builtin_define_stdint_macros): New. Define
12542 __INTMAX_MAX__.
12543 (c_cpp_builtins): Call it.
12544 * doc/cpp.texi: Update.
12545
30a555d9
DE
125462004-08-04 David Edelsohn <edelsohn@gnu.org>
12547
12548 * config/rs6000/rs6000.c (rs6000_rtx_costs): LABEL_REFs are zero
12549 cost.
12550
878f99d2
JH
125512004-08-04 Jan Hubicka <jh@suse.cz>
12552
12553 * basic-block.h (profile_staus): New global variable.
12554 * cfg.c (profile_status): Declare.
12555 (check_bb_profile): Break out from ....; use profile_status
12556 (dump_flow_info): ... here.
12557 * cfgbuild.c (find_basic_blocks): Set profile_status.
12558 * cfgexpand.c (tree_expand_cfg): Likewise.
12559 * predict.c (estimate_probability): Likewise.
12560 * profile.c (branch_prob): Likewise.
12561 * tree-cfg.c (build_tree_cfg): Likewise.
12562 (dump_function_to_file): Use check_bb_profile.
12563 * tree-pretty-print (dump_bb_header): Likewise.
12564 * tree-profile.c (do_tree_profiling): Cleanup.
12565
7e7ec48e
ZW
125662004-08-04 Zack Weinberg <zack@codesourcery.com>
12567
12568 * Makefile.in (RTL_BASE_H, RTL_H): Correct.
12569 (BUILD_RTL): Remove $(BUILD_PREFIX) from ggc-none.o.
12570 (genobjs): Add errors.o, ggc-none.o, and min-insn-modes.o.
12571 (read-rtl.o, gensupport.o, genconfig.o, genflags.o, gencodes.o)
12572 (genconstants.o, genemit.o, genopinit.o, genrecog.o, genextract.o)
12573 (genpeep.o, genattr.o, genattrtab.o, genautomata.o, genoutput.o)
12574 (genconditions.o): Depend on $(RTL_BASE_H) not $(RTL_H).
12575 (ggc-none.o, errors.o): Move rule to generators section;
12576 correct dependencies.
12577 (min-insn-modes.o): Move rule to generators section; remove
12578 unnecessary explicit command; correct dependencies.
12579 (print-rtl.o, print-rtl1.o): Correct dependencies.
12580 ($(BUILD_PREFIX_1)errors.o. $(BUILD_PREFIX_1)ggc-none.o): Delete rule.
12581 (mostlyclean): Update.
12582
12583 * errors.c: Include bconfig.h not config.h. Correct comment.
12584 * gengtype.c, genpreds.c: Don't define NO_GENRTL_H.
12585 * ggc-none.c: Include bconfig.h; not config.h or tm.h.
12586 * print-rtl.c: Don't include tm_p.h.
12587
12588 * rtl.h: Move forward-decl of struct function down where it's
12589 needed. Include genrtl.h #ifndef GENERATOR_FILE, not
12590 #ifndef NO_GENRTL_H. Remove unnecessary #ifdef BUFSIZ statements.
12591
b0382c67
ZD
125922004-08-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12593 Jeff Law <law@redhat.com>
12594
12595 * tree-cfg.c (tree_duplicate_bb): Mark duplicated definitions.
12596 * tree-flow.h (rewrite_ssa_into_ssa): Declaration changed.
12597 * tree-into-ssa.c (rewrite_ssa_into_ssa): Use new interface to
12598 manipulate the duplicated ssa names.
12599 * tree-ssanames.c (ssa_names_to_rewrite): New variable.
12600 (marked_for_rewrite_p, any_marked_for_rewrite_p, mark_for_rewrite,
12601 unmark_all_for_rewrite, marked_ssa_names, release_ssa_name_force):
12602 New functions.
12603 (release_ssa_name): Do not release ssa names that may have multiple
12604 definitions.
12605 * tree.h (release_ssa_name_force, mark_for_rewrite,
12606 unmark_all_for_rewrite, marked_for_rewrite_p, any_marked_for_rewrite_p,
12607 marked_ssa_names): Declare.
12608 * tree-ssa-loop-ch.c (mark_defs_for_rewrite): Remove.
12609 (duplicate_blocks): Remove call to mark_defs_for_rewrite.
12610 Update call to rewrite_ssa_into_ssa.
12611
63c5b495
MM
126122004-08-04 Mark Mitchell <mark@codesourcery.com>
12613
12614 * defaults.h (TARGET_DECLSPEC): New macro.
12615 * c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC.
12616 * config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support.
b2ca3702 12617 * config/arm/symbian.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
63c5b495
MM
12618 * config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove
12619 __declspec support.
12620 (TARGET_DECLSPEC): Define.
12621 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove
12622 __declspec support.
12623 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove
12624 __declspec support.
12625 (TARGET_DECLSPEC): Define.
12626 * config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove
12627 __declspec support.
12628 * config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec
12629 support.
12630 * doc/tm.texi (TARGET_DECLSPEC): Document.
12631
12632 * doc/extend.texi: Fix typo in comment.
12633
44d10c10
PB
126342004-08-04 Paul Brook <paul@codesourcery.com>
12635
12636 * target-def.h (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
12637 (TARGET_CXX): Use it.
12638 * target.h (struct gcc_target): Add cdtor_returns_this.
12639 * config/arm/arm.c (arm_cxx_cdtor_returns_this): New function.
12640 (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
12641 * doc/tm.texi: Document TARGET_CXX_CDTOR_RETURNS_THIS.
12642
5e9754af
NS
126432004-08-03 Nathan Sidwell <nathan@codesourcery.com>
12644
12645 * c-lex.c (narrowest_unsigned_type, narrowest_signed_type): Take
12646 low/high pair. Do range checking directly.
12647 (interpret_integer): Adjust.
12648
2acc29bd
NC
126492004-08-04 Nick Clifton <nickc@redhat.com>
12650
12651 * config/sh/sh.h (TARGET_SWITCHES): Add no-renesas to select the
12652 GCC ABI.
12653 * doc/invoke.texi: Document this new switch and also the -mrenesas
12654 switch.
12655
2496942a
NS
126562004-08-04 Nathan Sidwell <nathan@codesourcery.com>
12657
12658 * cfglayout.c (insn_locators_initialize): Update the current
12659 location before initializing a location.
12660
7e2e8179
ZW
126612004-08-03 Zack Weinberg <zack@codesourcery.com>
12662
403f8503
ZW
12663 * dbxout.c (dbxout_function_decl): Always call dbxout_function_end.
12664 (dbxout_function_end): Return after emitting the "Lscope" symbol
12665 under the same conditions that this function formerly wasn't called.
12666 Add explanatory comments.
12667
bcc7f708 12668 PR 14860
ca043393
ZW
12669 * c-decl.c (record_builtin_type): Call debug_hooks->type_decl
12670 on the new decl.
12671
bcc7f708 12672 PR 13956
7e2e8179
ZW
12673 * dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
12674 functions, broken out of dbxout_block.
12675 (dbxout_block): The block at depth 0 should get LBRAC/RBRAC
12676 stabs too, if it contains symbols. Use the begin_label and
12677 the Lscope label (emitted by dbxout_function_end) for the
12678 range of this block.
12679
5d75ba94
NN
126802004-08-03 Nathanael Nerode <neroden@gcc.gnu.org>
12681
12682 * doc/install.texi: Update autoconf version requirements.
12683
2e4e72b1
ZW
126842004-08-03 Zack Weinberg <zack@codesourcery.com>
12685
12686 * defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition.
12687 * recog.c (general_operand, immediate_operand, nonmemory_operand)
12688 (asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P.
12689 * regclass.c (record_reg_classes): Likewise.
12690 * reload.c (find_reloads): Likewise.
12691 * reload1.c (reload): Likewise.
12692
f9942f4e
ZW
126932004-08-03 Zack Weinberg <zack@codesourcery.com>
12694
12695 * gensupport.c (init_md_reader_args_cb): Renamed from
12696 init_md_reader_args. Add third option, callback function for
12697 parsing program-specific options. Add diagnosis of incorrect
12698 number of input files.
12699 (init_md_reader): Fold into init_md_reader_args_cb.
12700 (init_md_reader_args): Now a thin wrapper around
12701 init_md_reader_args_cb.
12702 * gensupport.h: Update prototypes.
12703
12704 * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
12705 * genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
12706 * genrecog.c: No need to diagnose lack of an input file;
12707 init_md_reader_args will handle it.
12708 * genconditions.c: Likewise, and use init_md_reader_args.
12709 * genconstants.c: Likewise, and no need to call read_md_rtx.
12710
9cbe78fb
JM
127112004-08-03 Joseph S. Myers <jsm@polyomino.org.uk>
12712
12713 * c-decl.c (implicitly_declare): Diagnose incompatible implicit
12714 declarations.
12715
3e558e80
MS
127162004-08-03 Mike Stump <mrs@apple.com>
12717
12718 * config/darwin-c.c: Don't search in "/Local/Library/Frameworks"
12719 for frameworks.
12720 * doc/invoke.texi (Darwin Options): Update to reflect above.
12721
a0fac73d
RS
127222004-08-03 Roger Sayle <roger@eyesopen.com>
12723
12724 PR middle-end/16790
12725 * fold-const.c (extract_muldiv_1) <NOP_EXPR>: Disallow local
12726 truncations, not just global truncations.
12727
cddbddb7
AP
127282004-08-03 Andrew Pinski <apinski@apple.com>
12729
12730 PR bootstrap/16865
12731 * loop-iv.c (simplify_using_assignment): Initialize lhs.
12732
bebf829d
PB
127332004-08-03 Paul Brook <paul@codesourcery.com>
12734
12735 * gcc/doc/install.texi: Document MPFR requirement.
12736
cddbddb7 127372004-08-03 Maciej W. Rozycki <macro@linux-mips.org>
3b0727a0 12738
f9942f4e
ZW
12739 * aclocal.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
12740 and mmap() explicitly instead of relying on preset autoconf cache
3b0727a0
MR
12741 variables.
12742 * configure: Regenerate.
12743
f6bc51cb
L
127442004-08-03 H.J. Lu <hongjiu.lu@intel.com>
12745
12746 PR target/16570
12747 * config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
12748 to tmake_file.
12749 (i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
12750 (i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
12751 to tmake_file.
12752
12753 * config/i386/t-gmm_malloc: New file.
12754 * config/i386/t-pmm_malloc: Likewise.
f9942f4e 12755
f6bc51cb
L
12756 * config/i386/xmmintrin.h: Include <mm_malloc.h>.
12757
127582004-08-03 H.J. Lu <hongjiu.lu@intel.com>
0ddcd94f 12759