1 2002-07-15 Zack Weinberg <zack@codesourcery.com>
3 * ginclude/varargs.h: Replace with stub which issues #error.
4 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
7 * builtins.def (BUILT_IN_VARARGS_START): Delete.
8 (BUILT_IN_VA_START): New.
9 * builtins.c (expand_builtin_va_start): Eliminate first
10 argument and code to implement pre-ISO varargs.
11 (std_expand_builtin_va_start): Ignore first argument; it is
13 (expand_builtin): Handle BUILT_IN_VA_START and
14 BUILT_IN_STDARG_START identically. Delete
15 BUILT_IN_VARARGS_START case.
17 * function.c (assign_parms): Delete hide_last_arg and all
19 (mark_varargs): Delete function.
20 * function.h (struct function): Delete 'varargs' bit.
21 (current_function_varargs): Delete macro.
22 * tree.h: Don't declare mark_varargs.
24 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
25 (c_expand_body): Don't call mark_varargs.
26 * c-objc-common.c: Handle BUILT_IN_VA_START and
27 BUILT_IN_STDARG_START identically. Delete
28 BUILT_IN_VARARGS_START case.
29 * c-tree.h: Don't declare c_mark_varargs.
30 * c-parse.in: Remove grammar rules for '&...' (which has been
31 commented out since before 2.7.2) and for '...' in K+R
32 argument declarations.
34 * builtins.c, function.c, integrate.c, sibcall.c,
35 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
36 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
37 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
38 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
39 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
40 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
41 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
42 config/stormy16/stormy16.c: Delete all references to
43 current_function_varargs, and code predicated on that flag.
45 * config/alpha/alpha.c (alpha_va_start),
46 config/arc/arc.c (arc_va_start),
47 config/i386/i386.c (ix86_va_start),
48 config/mips/mips.c (mips_va_start),
49 config/mn10300/mn10300.c (mn10300_va_start),
50 config/rs6000/rs6000.c (rs6000_va_start),
51 config/s390/s390.c (s390_va_start),
52 config/sh/sh.c (sh_va_start),
53 Ignore first argument; it is always 1.
55 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
56 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
57 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
58 Delete m68hc11_va_start.
59 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
60 No need to define EXPAND_BUILTIN_VA_START.
62 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
63 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
65 2002-07-15 Eric Botcazou <ebotcazou@multimania.com>
68 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
69 dies in more than one insn.
71 2002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
73 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
75 2002-07-15 Michael Matz <matz@suse.de>,
76 Daniel Berlin <dberlin@dberlin.org>,
77 Denis Chertykov <denisc@overta.ru>
79 Add a new register allocator.
83 * ra-build.c: New file.
84 * ra-colorize.c: New file.
85 * ra-debug.c: New file.
86 * ra-rewrite.c: New file.
88 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
89 (ra-rewrite.o): New .o files for libbackend.a.
90 (GTFILES): Add basic-block.h.
92 * toplev.c (flag_new_regalloc): New.
93 (f_options): New option "new-ra".
94 (rest_of_compilation): Call initialize_uninitialized_subregs()
95 only for the old allocator. If flag_new_regalloc is set, call
96 new allocator, instead of local_alloc(), global_alloc() and
99 * doc/invoke.texi: Document -fnew-ra.
100 * basic-block.h (FOR_ALL_BB): New.
101 * config/rs6000/rs6000.c (print_operand): Write small constants
104 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
105 (df_reg_table_realloc): Make size at least as large as max_reg_num().
106 (df_insn_table_realloc): Size argument now is absolute, not relative.
109 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
110 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
112 2002-06-20 Michael Matz <matz@suse.de>
114 * df.h (struct ref.id): Make unsigned.
115 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
117 2002-06-13 Michael Matz <matz@suse.de>
119 * df.h (DF_REF_MODE_CHANGE): New flag.
120 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
121 involving subregs with invalid mode changes, when
122 CLASS_CANNOT_CHANGE_MODE is defined.
124 2002-05-07 Michael Matz <matz@suse.de>
126 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
128 2002-05-03 Michael Matz <matz@suse.de>
130 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
132 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
134 * regclass.c (regclass): Work with all regs which have sets or
136 (reg_scan_mark_refs): Count regs inside (clobber ...).
138 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
140 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
141 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
143 (df_bb_refs_update): Don't clear insns_modified here, ...
144 (df_analyse): ... but here.
146 * sbitmap.c (dump_sbitmap_file): New.
147 (debug_sbitmap): Use it.
149 * sbitmap.h (dump_sbitmap_file): Add prototype.
151 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
153 * df.c (df_insn_modify): Grow the UID table if necessary, rather
154 than assume all emits go through df_insns_modify.
156 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
158 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
159 increase REG_N_REFS (like flow does), so that regclass doesn't
160 think a reg is useless, and thus, not calculate a class, when it
163 2001-01-28 Daniel Berlin <dberlin@redhat.com>
165 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
168 2002-07-15 Jakub Jelinek <jakub@redhat.com>
171 * config/i386/i386.c (const_int_1_31_operand): New.
172 * config/i386/i386.h (PREDICATE_CODES): Add it.
173 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
174 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
175 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
177 2002-07-14 Alan Modra <amodra@bigpond.net.au>
180 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
181 (floatunssidf2): Likewise.
182 (floatsidf_ppc64): New insn_and_split.
183 (floatunssidf_ppc64): Likewise.
185 2002-07-14 Andreas Jaeger <aj@suse.de>
187 * config.gcc (sh64): Remove unused
188 target_requires_64bit_host_wide_int.
190 2002-07-12 Roger Sayle <roger@eyesopen.com>
192 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
193 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
194 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
195 whether clear_by_pieces should be used to clear storage.
196 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
198 * doc/tm.texi: Document these two new target macros.
200 2002-07-12 Stephane Carrez <stcarrez@nerim.fr>
202 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
203 the scratch register.
204 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
205 of it, forbid reload to use it.
207 2002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
209 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
210 usage on 64-bit hosts, return value was truncated to 32 bits.
212 Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
214 * simplify-rtx.c (simplify_subreg): Handle floating point
215 CONST_DOUBLEs. When an integer subreg of a smaller mode than
216 the element mode is requested, compute a subreg with an
217 integer mode of the same size as the element mode first.
219 Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
221 * combine.c (try_combine): When converting a paradoxical subreg
222 to an extension, take LOAD_EXTEND_OP into account.
224 2002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
226 * config.gcc (mips-sgi-irix6*o32): New configuration.
228 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
230 * configure: Regenerate.
232 * config/mips/iris6-o32-as.h: New file.
233 * config/mips/iris6-o32.h: New file.
235 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
237 (HAVE_AS_SHF_MERGE): Undefine.
239 * config/mips/t-iris5-as: New file.
240 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
242 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
243 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
244 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
245 dp-bit.c, fp-bit.c): Move ...
246 * config/mips/t-iris5-6: ... here.
247 New file, shared by IRIX 5 and IRIX 6.
248 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
249 mips-sgi-irix5*): Use it.
251 * config/mips/iris6.h: Remove duplicate comment.
253 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
254 !TARGET_IRIX6]: Define.
255 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
257 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
259 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
261 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
262 and delete code to force constant to register.
263 * pa-protos.h (adddi3_operand): Add prototype.
264 * pa.c (adddi3_operand): New function.
266 2002-07-11 Roger Sayle <roger@eyesopen.com>
268 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
269 non-ANSI builtin functions.
271 Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
273 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
274 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
275 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
276 (gen_const_vector_0): Use it.
278 2002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
280 * pa.md (adddi3): For 32-bit targets, force constants to a register
281 if they don't fit in an 11-bit immediate. Change insn predicate to
282 arith11_operand. Remove comment.
283 * pa.c (cint_ok_for_move): Fix comment.
284 (emit_move_sequence): Don't directly split DImode constants on 32-bit
287 2002-07-11 Tim Josling <tej@melbpc.org.au>
289 Remove front end hard coding from gengtype.c.
292 (STAGESTUFF): add gtyp-gen.h
293 (GTFILES): Remove front end specific files.
294 (GTFILES_FILES_LANGS): New, from configure..
295 (GTFILES_FILES_FILES): Likewise.
296 (GTFILES_LANG_DIR_NAMES): Likewise.
297 (GTFILES_SRCDIR): Likewise.
298 (gtyp-gen.h): Build from configure information.
299 (s-gtype): Remove command line parameters from gengtype.
300 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
301 (mostlyclean): Delete files generated by and for gengtype.
303 * c-config-lang.in: New file.
305 * configure.in (all_gtfiles_files_langs): New. Accumulate files
307 (all_gtfiles_files_files): New. Accumulate language for each file
309 (gtfiles): Pick up value for C.
310 (srcdir): AC-SUBST this variable.
311 (all_gtfiles_files_langs): AC-SUBST this variable.
312 (all_gtfiles_files_files): AC-SUBST this variable.
314 * configure: Regenerate.
316 * gengtype-lex.l (parse_file): Make parameter const.
318 * gengtype.c (toplevel): include gtyp-gen.h.
319 (BASE_FILE_<language> unnamed enum): Delete.
320 (lang_names): Delete (replaced by gtyp-gen.h)
321 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
324 (NUM_LANG_FILES): New.
326 (NUM_BASE_FILES): Change calculation.
327 (open_base_files): Change prototype to avoid warning.
328 (startswith): Delete.
329 (get_file_basename): Iterate through generated language list not
331 (get_base_file_bitmap): Use generated list of files and languages.
332 (close_output_files): Add prototype to rmove warning.
333 (main): Iterate through list of generated files from gtyp-gen.h
334 rather than command line paramaters. Ignore duplicated file
337 * gengtype.h (parse_file): Amend prototype for const parameter.
339 * doc/sourcebuild.texi: Document gtfiles variable.
341 * doc/gty.texi: Document changes to gtfiles variable for front
344 * objc/config-lang.in (gtfiles): Add files needed for objc front
347 2002-07-10 Roger Sayle <roger@eyesopen.com>
350 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
351 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
353 2002-07-10 Roger Sayle <roger@eyesopen.com>
354 Zack Weinberg <zack@codesourcery.com>
356 * builtins.def: Make the argument types of abort and exit
357 independent of the front-end.
359 2002-07-11 Alan Modra <amodra@bigpond.net.au>
361 * config/rs6000/linux64.h (ASM_SPEC): Define.
363 2002-07-10 Aldy Hernandez <aldyh@redhat.com>
365 * config/rs6000/rs6000.c (emit_frame_save): New.
366 (rs6000_frame_related): Replace reg2 before reg.
367 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
368 and eh_return registers.
370 2002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
372 Revert all patches for optimization of Complex .op. Real.
373 * complex_part_zero_p: Remove
374 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
376 * expand_cmplxdiv_wide: Ditto.
377 * expand_binop: Ditto.
379 2002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
381 * config/avr/avr.md: Fix two 0x80000000 constants to make them
382 negative also on 64-bit hosts.
384 Default to -fno-reorder-blocks when optimizing for size.
385 * config/avr/avr-protos.h (avr_optimization_options): Declare.
386 * config/avr/avr.c (avr_optimization_options): New function.
387 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
389 Optimize returning from simple functions.
390 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
391 * config/avr/avr.c (avr_simple_epilogue): New function.
392 * config/avr/avr.md (return): New insn.
394 2002-07-10 Douglas B Rupp <rupp@gnat.com>
396 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
397 HAS_INIT_SECTION to protection.
399 2002-07-10 Mark Mitchell <mark@codesourcery.com>
401 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
404 Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
406 * combine.c (gen_lowpart_for_combine): Handle vector modes.
407 Supply non-VOID mode to simplify_gen_subreg.
409 Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
411 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
413 2002-07-10 Jeffrey A Law <law@redhat.com>
415 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
418 * mn10200.c (expand_epilogue): Fix test to determine which scratch
421 Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
423 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
425 If simplify_gen_subreg fails, try next equivalent.
427 2002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
429 * diagnostic.h: #include location.h
430 (location_t): Move definition to..
431 * location.h: ... here. New file.
432 * tree.h: #include location.h
433 (DECL_SOURCE_LOCATION): New macro.
434 (DECL_SOURCE_FILE): Use.
435 (DECL_SOURCE_LINE): Likewise.
436 (struct tree_decl): REplace filename and linenum with locus.
437 * Makefile.in (TREE_H): add location.h
438 (diagnostic.o): Depends on gt-location.h
439 (gt-location.h): Depends on s-gtype
441 2002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
443 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
444 TARGET_OS_CPP_BUILTINS.
445 * config/rs6000/aix31.h: Likewise.
446 * config/rs6000/aix41.h: Likewise.
447 * config/rs6000/aix43.h: Likewise.
448 * config/rs6000/aix51.h: Likewise.
449 * config/rs6000/beos.h: Likewise.
450 * config/rs6000/darwin.h: Likewise.
451 * config/rs6000/eabi.h: Likewise.
452 * config/rs6000/eabisim.h: Likewise.
453 * config/rs6000/linux.h: Likewise.
454 * config/rs6000/linux64.h: Likewise.
455 * config/rs6000/lynx.h: Likewise.
456 * config/rs6000/mach.h: Likewise.
457 * config/rs6000/rtems.h: Likewise.
458 * config/rs6000/sysv4.h: Likewise.
459 * config/rs6000/vxppc.h: Likewise.
461 2002-07-09 Devang Patel <dpatel@apple.com>
462 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
463 Do not allow ObjC objects as a parameter type for Objective-C methods.
464 My previous patch restricted 'struct' also.
466 2002-07-09 Neil Booth <neil@daikokuya.co.uk>
468 * cpperror.c (cpp_error): Default to directive_line within
470 * cppexp.c (cpp_interpret_integer): Only use traditional
471 number semantics in directives.
472 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
473 (do_include_common): Similarly.
474 * cpptrad.c (scan_out_logical_line): Implement accurate
475 quoting of <> in #include.
476 * doc/cpp.texi: Update.
478 Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
479 J"orn Rennecke <joern.rennecke@superh.com>
481 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
482 * sh.md (attribute issues): Replace with:
483 (attribute pipe_model). All users changed.
484 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
486 (function units sh5issue, sh5fds): New.
487 (attribute is_mac_media): New.
488 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
489 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
490 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
491 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
492 (call_media, call_value_media, sibcall_media): Likewise.
493 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
494 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
495 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
496 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
497 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
498 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
499 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
500 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
501 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
502 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
503 (truncdfsf2_media): Likewise.
504 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
505 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
507 Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
509 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
510 * sh.c (general_extend_operand, inqhi_operand): New functions.
511 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
512 alternatives using 'N' modifier. Add type.
513 (adddi3z_media): Likewise. Enable generator function generation.
514 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
515 exact predicates / constraints. Add type.
516 (subsi3): Allow 0 for SHMEDIA.
517 (udivsi3_i4_media): Use match_operand for input values
518 rather than hard registers.
519 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
520 unnecessarily through hard registers. Keep copies of pseudo
521 registers outside of the libcall sequence.
522 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
523 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
524 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
525 (extendhidi2, extendqidi2): Likewise.
526 (andsi3_compact): Name.
527 (andcdi3): Enable generator function generation.
528 (zero_extendhisi2, zero_extendqisi2): Rename to
529 (zero_extendhisi2_compact, zero_extendqisi2_compact).
530 (extendhisi2, extendqisi2): Rename to
531 (extendhisi2_compact, extendqisi2_compact).
532 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
533 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
534 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
535 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
536 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
537 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
538 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
539 (shmedia32_initialize_trampoline_big): Likewise.
540 (shmedia32_initialize_trampoline_little): Likewise.
541 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
542 (negdi2): Remove spurious T clobber.
543 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
544 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
545 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
546 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
547 (ic_invalidate_line_media): Write back data cache before invalidating
548 instruction cache. Add type.
549 (movsf_media): Sign-extend when the destination is a general
550 purpose register. Add type.
551 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
552 (casesi_worker_0+1): Only increment ref count for proper label.
553 (casesi_worker_0+2): Likewise.
555 2002-07-09 Mark Mitchell <mark@codesourcery.com>
557 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
559 2002-07-09 Steve Ellcey <sje@cup.hp.com>
561 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
562 from Pmode to ptr_mode.
563 (get_exception_pointer): Ditto.
564 (connect_post_landing_pads): Ditto.
565 (dw2_build_landing_pads): Ditto.
567 2002-07-08 Steve Ellcey <sje@cup.hp.com>
568 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
569 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
570 (handle_pragma_redefine_extname): Change to use new function.
572 2002-07-08 Roger Sayle <roger@eyesopen.com>
574 * combine.c (combine_simplify_rtx): Add an explicit cast
575 to avoid signed/unsigned comparison warning.
576 (simplify_if_then_else): Likewise.
577 (extended_count): Likewise.
578 (simplify_shift_const): Likewise.
579 (simplify_comparison): Likewise.
581 2002-07-08 Richard Sandiford <rsandifo@redhat.com>
583 * config/mips/mips.md: Add imadd type. Update scheduler description
584 to use imadd as well as imul.
585 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
586 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
587 (*mul_sub_si): Likewise for first alternative. Change second
588 alternative from imul to multi.
590 2002-07-07 Neil Booth <neil@daikokuya.co.uk>
592 * c-common.c (c_common_post_options): Update prototype;
593 don't init backends if preprocessing only.
594 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
595 * langhooks.h (struct lang_hooks): Update post_options to
597 * toplev.c (parse_options_and_default_flags, do_compile,
598 lang_independent_init): Update prototypes. Allow the
599 front end to specify that there is no need to initialize
601 (general_init): Move call to hex_init here...
602 (toplev_main): ...from here. Pass flag for back end init
605 Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
607 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
608 (PREDICATE_CODES): Add entries for equality_comparison_operator,
609 greater_comparison_operator and less_comparison_operator.
610 * sh.c (print_operand): Add '\'' code. Make 'o' handle
612 (equality_comparison_operator): New function.
613 (greater_comparison_operator, less_comparison_operator): Likewise.
614 * sh.md (beq_media_i): Disable generator function generation.
615 Use match_operator to handle a whole class of comparisons. Add
616 modifier in output template to provide branch prediction. Add type.
617 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
618 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
619 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
620 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
622 2002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
624 Emit MMIX function prologue and epilogue as rtl.
625 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
626 not unprototyped get_hard_reg_initial_val.
627 ("call_value", "nonlocal_goto_receiver"): Ditto.
628 ("return"): Make define_expand. Move real insn to...
629 ("*expanded_return"): New pattern.
630 ("prologue", "epilogue"): New define_expands.
631 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
632 (struct machine_function): New member in_prologue.
633 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
634 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
635 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
636 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
637 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
638 (LOCAL_REGNO): Define. Adjust comment.
639 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
640 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
642 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
644 (mmix_target_asm_function_prologue): Make static. Just mark that
645 the prologue is being emitted. Move guts to...
646 (mmix_expand_prologue): New function. Adjust for emitting
647 prologue as rtl. For sizes, use HOST_WIDE_INT only.
648 (mmix_target_asm_function_epilogue): Make static. Simply emit a
650 (mmix_expand_epilogue): New function. Adjust for emitting
651 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
652 (mmix_target_asm_function_end_prologue): Mark that the prologue
654 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
655 (mmix_conditional_register_usage): Improve comments.
656 (mmix_local_regno): New function.
657 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
658 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
659 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
660 (mmix_get_hard_reg_initial_val): Ditto.
662 2002-07-06 Andreas Jaeger <aj@suse.de>
664 * toplev.c (set_fast_math_flags): Don't use ISO C style function
666 * gengtype.c (open_base_files): Likewise.
667 (close_output_files): Likewise.
668 * tracer.c (find_best_predecessor): Likewise.
669 (find_best_successor): Likewise.
670 (ignore_bb_p): Likewise.
672 2002-07-05 Roger Sayle <roger@eyesopen.com>
675 * builtin-attrs.def: Define new attribute lists for use in
677 * builtins.def [DEF_BUILTIN]: Modify to take an additional
678 ATTRS argument, an enumerated value defined in builtin-attrs.def
679 that represents the attribute list for the builtins. Modify
680 all builtin functions to pass an appropriate attribute list.
681 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
682 their required noreturn attributes.
683 * tree.h (enum_builtin_function): Ignore the additional parameter
685 * builtins.c (built_in_names): Likewise.
686 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
687 argument with a tree representing the functions attribute list.
688 Pass this "attrs" argument to builtin_function. No longer handle
689 the noreturn_p processing manually.
690 (built_in_attributes): Move the definitions from builtin-attrs.def
691 before c_common_nodes_and_builtins.
692 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
693 DEF_BUILTIN, passing it to both builtin_function and the changed
696 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
697 __builtin__exit and __builtin__Exit.
699 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
701 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
702 QI mode registers in soft registers.
703 ("zero_extendqihi2"): Do not take into account soft registers
704 for register allocation (use '*' constraint).
706 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
708 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
710 ("*ashrsi3"): Likewise.
711 ("*lshrsi3"): Likewise.
713 2002-07-05 Vladimir Makarov <vmakarov@redhat.com>
715 * genautomata.c (output_max_insn_queue_index_def): Take latencies
718 2002-07-05 Stephane Carrez <stcarrez@nerim.fr>
720 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
721 address computation and memory moves.
723 2002-07-03 Mark Mitchell <mark@codesourcery.com>
726 * dwarfout.c (output_reg_number): Fix warning message.
727 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
730 2002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
732 * gcc/gcc.c (asm_debug): Move initialization ...
733 (init_spec): ... here.
735 2002-07-05 Nathan Sidwell <nathan@codesourcery.com>
737 * c-parse.in (extdef): Append ';'.
738 (old_style_parm_decls): Append ';'.
740 2002-07-04 Daniel Jacobowitz <drow@mvista.com>
742 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
743 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
744 to gcc_cv_as_gstabs_flag.
745 * configure: Rebuilt.
747 2002-07-04 Geoffrey Keating <geoffk@redhat.com>
749 * ggc.h (ggc_add_root): Document as obsolete.
751 Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
753 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
754 (mshflo_w): Likewise.
756 Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
758 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
759 vector mode subregs of constants to finding integer mode
760 subregs of constants.
761 * cse.c (cse_insn): Use simplify_gen_subreg.
762 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
763 From a vector mode expression of different size than the
766 2002-07-03 Eric Christopher <echristo@redhat.com>
768 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
769 * config/mips/mips.h: Remove deprecated -m<processor> options
770 and cc1_cpu_spec associated.
771 (CONSTANT_ADDRESS_P): Fix last patch.
772 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
773 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
776 2002-07-03 Stan Shebs <shebs@apple.com>
778 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
779 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
780 (CPP_SPEC): Remove insertion of APPLE_CC definition.
782 2002-07-03 Roger Sayle <roger@eyesopen.com>
784 * combine.c (struct_undo): Change types of recorded substitutions
785 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
786 (do_SUBST_INT): Change types of the substitution from unsigned int
787 to int, to avoid compilation warning from SUBST_INT's only caller.
789 (make_extraction): Add cast to avoid compilation warning.
790 (force_to_mode): Remove cast to avoid compilation warning.
792 2002-07-03 Eric Botcazou <ebotcazou@multimania.com>
793 Jeff Law <law@redhat.com>
795 * i386.md (length_immediate attribute): Fix typo.
796 (length_address attribute): Likewise.
797 (modrm attribute): Set it to 0 for immediate call instructions.
798 (jcc_1 pattern): Set modrm attribute to 0.
799 (jcc_2 pattern ): Likewise.
800 (jump pattern): Likewise.
801 (doloop_end_internal pattern): Explicitly set length.
802 (leave pattern): Fix typo.
803 (leave_rex64 pattern): Likewise.
805 2002-07-03 David Edelsohn <edelsohn@gnu.org>
807 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
808 in FPR as preference.
810 (floatdidf2, fix_truncdfdi2): Same.
811 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
813 (floatsitf2, fix_trunctfsi2): SImode in GPR.
814 (ctrdi): Remove FPR alternative and splitter.
816 2002-07-03 Will Cohen <wcohen@redhat.com>
818 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
820 Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
822 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
823 than UNITS_PER_WORD, unless this is little endian and the first unit
824 in this word. Let extract_bit_field decide how to load an element.
825 Force arguments to matching mode.
826 (expand_vector_unop): Likewise.
828 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
829 consist of word_mode elements.
830 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
831 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
832 (build_unary_op): Allow vector types for BIT_NOT_EPR.
833 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
835 * optabs.c (expand_vector_binop): Try to perform operation in
836 smaller vector modes with same inner size. Add handling of AND, IOR
837 and XOR. Reject expansion to inner-mode sized scalars when using
838 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
839 (expand_vector_unop): Try to perform operation in smaller vector
840 modes with same inner size. Add handling of one's complement.
841 When there is no vector negate operation, try a vector subtract
842 operation. Use simplify_gen_subreg on constants.
843 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
844 constants into smaller vectors with same inner mode, and to
845 integer CONST_DOUBLEs.
847 2002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
849 * c-parse.in (parsing_iso_function_signature): New variable.
850 (extdef_1): New, copied from...
851 (extdef): ... here. Reset parsing_iso_function_signature.
852 (old_style_parm_decls): Reset parsing_iso_function_signature.
853 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
854 Warn about ISO C style function definitions.
855 (nested_function, notype_nested_function): Reset
856 parsing_iso_function_signature.
857 (parmlist_2): Set parsing_iso_function_signature.
859 * doc/invoke.texi (-Wtraditional): Document new behavior.
861 2002-07-02 Chris Demetriou <cgd@broadcom.com>
863 * config.gcc (mips*el-*-*): Use tm_defines to set
864 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
865 * config/mips/little.h: Remove.
867 2002-07-02 Devang Patel <dpatel@apple.com>
869 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
870 object as parameter. Prevent something like 'NSObject' to be
871 used as the type for a method argument.
873 2002-07-03 Neil Booth <neil@daikokuya.co.uk>
875 * cpptrad.c: Update comment.
877 2002-07-02 Neil Booth <neil@daikokuya.co.uk>
879 * doc/cpp.texi: Update for traditional preprocessing changes.
880 * goc/cppopts.texi: Similarly.
882 2002-07-02 Ziemowit Laski <zlaski@apple.com>
884 * c-parse.in (designator): Enable designated initializers if ObjC.
885 (objcmessageexpr): Remove references to objc_receiver_context.
886 * objc/objc-act.h (objc_receiver_context): Remove decl.
887 * objc/objc-act.c (objc_receiver_context): Remove.
888 (lookup_objc_ivar): Test objc_method_context instead of
889 objc_receiver_context.
891 Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
893 * sh.c (print_operand, case 'N'): Allow zero vector.
894 (arith_reg_or_0_operand): Likewise.
895 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
896 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
897 IOR, XOR, PLUS and SET and take their respective constant
899 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
900 * sh.md (subdi3, subdi3_media): Allow zero operand.
901 (movv8qi_i+3): Only vector that is not split is the zero vector.
902 Fix operand 3 to simplify_subreg.
903 (movv2si_i): Split alternative 1.
904 (mshfhi_l_di_rev+1): New splitter.
906 2002-07-02 Neil Booth <neil@daikokuya.co.uk>
909 * cppinit.c (cpp_handle_option): Suppress warnings with an
910 implicit "-w" for "-M" and "-MM".
911 * doc/cppopts.texi: Update.
913 2002-07-01 Roger Sayle <roger@eyesopen.com>
915 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
916 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
919 2002-07-02 Alan Modra <amodra@bigpond.net.au>
921 * README.Portability: Fix typos.
923 2002-07-01 Hans-Peter Nilsson <hp@axis.com>
926 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
927 of indirections for register inside sign-extended mem part.
929 2002-07-01 Roger Sayle <roger@eyesopen.com>
931 * tree.h: Modify builtin_function interface to take an extra
932 argument ATTRS, which is a tree representing an attribute list.
934 * c-decl.c (builtin_function): Accept additional parameter.
935 * objc/objc-act.c (builtin_function): Likewise.
936 * f/com.c (builtin_function): Likewise.
937 * java/decl.c (builtin_function): Likewise.
938 * ada/utils.c (builtin_function): Likewise.
939 * cp/decl.c (builtin_function): Likewise.
940 (builtin_function_1): Likewise.
942 * c-common.c (c_common_nodes_and_builtins): Pass an additional
943 NULL_TREE argument to builtin_function. (builtin_function_2):
945 * cp/call.c (build_java_interface_fn_ref): Likewise.
946 * objc/objc-act.c (synth_module_prologue): Likewise.
947 * java/decl.c (java_init_decl_processing): Likewise.
948 * f/com.c (ffe_com_init_0): Likewise.
950 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
951 NULL_TREE argument to builtin_function.
952 * config/arm/arm.c (def_builtin): Likewise.
953 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
954 * config/i386/i386.c (def_builtin): Likewise.
955 * config/ia64/ia64.c (def_builtin): Likewise.
956 * config/rs6000/rs6000.c (def_builtin): Likewise.
958 2002-07-01 Zack Weinberg <zack@codesourcery.com>
960 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
961 * config/mips/t-isa3264: Likewise.
962 * config/mmix/t-mmix: Likewise.
964 2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
966 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
968 2002-07-01 Roger Sayle <roger@eyesopen.com>
971 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
972 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
975 2002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
977 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
979 2002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
981 * README.Portability (Function prototypes): Give an example of
982 declaring and defining a function with no arguments.
984 * README.Portability (Function prototypes): Document new
985 variable-argument function macros.
987 Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
989 * sh.c (langhooks.h): Include.
990 (sh_init_builtins, sh_media_init_builtins): New functions.
991 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
992 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
993 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
994 (builtin_description): New struct tag.
995 (signature_args, bdesc): New arrays.
996 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
997 (print_operand): Add 'N' modifier.
998 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
999 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
1000 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
1001 (CONST_COSTS): Add special case for SHmedia AND.
1002 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
1003 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
1004 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
1005 target_operand can also be const or unspec.
1006 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
1007 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
1008 (attribute type): Add new types.
1009 (anddi3): Add splitter.
1010 (movdi_const_16bit+1): Add code to handle vector constants and
1011 bitmasks efficiently.
1012 (shori_media): Have generator function made.
1013 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
1014 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
1015 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
1016 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
1017 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
1018 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
1019 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
1020 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
1021 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
1022 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
1023 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
1024 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
1025 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
1026 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
1027 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
1028 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
1029 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
1030 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
1031 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
1034 (fpu_switch+1, fpu_switch+2): Remove constraint.
1036 2002-07-01 Aldy Hernandez <aldyh@redhat.com>
1038 * tree.c (build_function_type_list): Update function comment.
1039 Rename first argument to return_type.
1041 2002-07-01 Neil Booth <neil@daikokuya.co.uk>
1043 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
1044 tradcif.y and related files.
1046 2002-07-01 Neil Booth <neil@daikokuya.co.uk>
1048 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
1050 2002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1052 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
1054 2002-06-30 Devang Patel <dpatel@apple.com>
1056 * objc/objc-act.c (finish_file): Avoid finish_objc() if
1059 Fri Jun 28 17:22:37 2002 Denis Chertykov <denisc@overta.ru>
1060 Frank Ch. Eigler <fche@redhat.com>
1061 Matthew Green <mrg@redhat.com>
1062 Richard Henderson <rtl@redhat.com>
1063 Dave Hudson <dave.hudson@ubicom.com>
1064 Jeff Johnston <jjohnstn@redhat.com>
1065 Alan Lehotsky <apl@alum.mit.edu>
1066 Bernd Schmidt <bernds@redhat.com>
1067 Graham Stott <grahams@redhat.com>
1069 * doc/extend.texi: Add ip2k port to description of attribute
1071 * doc/install.texi (Specific): Add ip2k description.
1072 * doc/install-old.texi (Configurations): Add ip2k to possible
1074 * doc/md.texi: Document ip2k constraints.
1075 * config/ip2k/crt0.S: New file.
1076 * config/ip2k/ip2k-protos.h: New file.
1077 * config/ip2k/ip2k.c: New file.
1078 * config/ip2k/ip2k.h: New file.
1079 * config/ip2k/ip2k.md: New file.
1080 * config/ip2k/libgcc.S: New file.
1081 * config/ip2k/t-ip2k: New file.
1083 2002-06-30 Hans-Peter Nilsson <hp@bitrange.com>
1085 * config/mmix/mmix.md ("return"): New pattern.
1086 * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
1087 (TARGET_USE_RETURN_INSN): New macros.
1088 (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
1089 (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
1090 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
1091 (MMIX_POP_ARGUMENT): New macro.
1092 (mmix_target_asm_function_prologue): When no epilogue is executed,
1093 just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn.
1094 (mmix_print_operand) <case '.'>: New case.
1095 (mmix_print_operand_punct_valid_p): Match '.'.
1096 (mmix_use_simple_return): New function.
1097 * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
1098 * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
1099 -msingle-exit, -mno-single-exit.
1100 (MMIX Options): Ditto.
1102 2002-06-30 Aldy Hernandez <aldyh@redhat.com>
1104 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
1106 2002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1108 * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
1110 2002-06-30 Alan Modra <amodra@bigpond.net.au>
1112 * unroll.c (loop_iterations): Handle EQ loops.
1114 2002-06-29 David Edelsohn <edelsohn@gnu.org>
1116 * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
1117 constraint in define_expand, not splitter.
1120 2002-06-29 Aldy Hernandez <aldyh@redhat.com>
1122 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
1123 build_function_type_list instead of build_function_type.
1125 * config/ia64/ia64.c (ia64_init_builtins): Same.
1127 * config/alpha/alpha.c (alpha_init_builtins): Same.
1129 * config/rs6000/rs6000.c (altivec_init_builtins): Same.
1131 * config/arm/arm.c (arm_init_builtins): Same.
1133 * tree.h: Add build_function_type_list prototype.
1135 * tree.c (build_function_type_list): New.
1137 2002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1139 * collect2.c (scan_prog_file): Fix typo in message.
1141 2002-06-28 Aaron Lehmann <aaronl@vitelus.com>
1143 * fold-cont.c: Remove unused CHARMASK.
1145 2002-06-29 Neil Booth <neil@daikokuya.co.uk>
1147 PR preprocessor/7150
1148 * cppmain.c (scan_translation_unit_trad): Simplify.
1149 * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
1151 2002-06-29 Neil Booth <neil@daikokuya.demon.co.uk>
1153 * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
1154 Don't use CPP_PREDEFINES.
1155 * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
1156 Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
1157 * config/i386/djgpp.h, config/i386/i386-coff.h,
1158 config/i386/i386-interix.h, config/i386/i386-interix3.h,
1159 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
1160 config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
1161 config/i386/uwin.h: Similarly.
1163 2002-06-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1165 * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
1166 flag_inline_trees to enable inlining.
1168 2002-06-28 Phil Edwards <pme@gcc.gnu.org>
1170 * configure.in (gcc_gxx_include_dir): Change to match versioned
1171 C++ headers if --enable-version-specific-runtime-libs is used.
1172 * configure: Regenerate.
1174 2002-06-28 Jan Hubicka <jh@suse.cz>
1176 * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
1178 2002-06-28 Stephen Clarke <stephen.clarke@superh.com>
1180 * combine.c (combine_simplify_rtx): Pass the mode of the
1181 shift count, not the shift operation when trying to simplify
1182 a shift on a SHIFT_COUNT_TRUNCATED target.
1184 2002-06-28 Stephane Carrez <stcarrez@nerim.fr>
1186 * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
1187 avoid the auto increment addressing modes.
1188 ("*subsi3"): Likewise.
1189 (split for add/sub on address): For 68HC12 push the value on
1190 the stack and do the operation with a pop.
1192 2002-06-28 Neil Booth <neil@daikokuya.co.uk>
1194 * cpplib.c (_cpp_handle_directive): Move #define-specific
1195 code to the #define handler...
1196 (do_define): ...here.
1197 (lex_macro_node): No longer a need to check for comments here.
1199 2002-06-28 Stephane Carrez <stcarrez@nerim.fr>
1201 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
1202 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
1204 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
1205 do not reorder basic blocks at the end when optimizing for size.
1207 2002-06-28 Stephane Carrez <stcarrez@nerim.fr>
1209 * config/m68hc11/m68hc11.c (autoinc_mode): New function.
1210 (m68hc11_make_autoinc_notes): New function.
1211 (m68hc11_split_move): Be very cautious when spliting a move with
1212 auto increment/decrement modes because this may result in incompatible
1213 directions; add REG_INC notes to the resulting insn for CSE reg.
1215 2002-06-28 Stephane Carrez <Stephane.Carrez@nerim.fr>
1217 * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
1218 can be a valid address.
1220 2002-06-28 Aldy Hernandez <aldyh@redhat.com>
1222 * config/rs6000/rs6000.c: Remove unusued variables from last
1225 2002-06-27 Aldy Hernandez <aldyh@redhat.com>
1228 * config/rs6000/rs6000.c (rs6000_override_options): Move
1229 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
1231 2002-06-27 Aldy Hernandez <aldyh@redhat.com>
1233 * config/rs6000/rs6000.c (altivec_expand_builtin): Move
1234 lvx/stv/dst builtins...
1235 (altivec_expand_ld_builtin): ...to here.
1236 (altivec_expand_st_builtin): ...here.
1237 (altivec_expand_dst_builtin): ...and here (respectively).
1239 2002-06-28 Bob Wilson <bob.wilson@acm.org>
1241 * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
1243 2001-06-08 Bernd Schmidt <bernds@redhat.com>
1245 * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
1247 * recog.c (general_operand, register_operand): Disallow them.
1249 2002-06-28 Neil Booth <neil@daikokuya.co.uk>
1251 PR preprocessor/7138
1252 * cpplib.c (_cpp_handle_directive): Do traditional
1253 preparation after setting state.angled_headers.
1254 * cpptrad.c (scan_out_logical_line): Fix potential
1257 2002-06-27 Aldy Hernandez <aldyh@redhat.com>
1259 * config/rs6000/rs6000.c (rs6000_override_options): Move
1260 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
1262 2002-06-27 Bob Wilson <bob.wilson@acm.org>
1264 * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
1265 (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
1266 zero_cost_loop_end): Remove unnecessary "parallel" from insns.
1268 2002-06-27 Roger Sayle <roger@eyesopen.com>
1270 * config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
1271 * config/stormy16/stormy16.h: Likewise.
1273 * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
1276 2002-06-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1278 * doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move
1279 Hitachi entry. Make punctuation more consistent.
1281 2002-06-27 Matt Kraai <kraai@alumni.cmu.edu>
1283 * doc/install.texi: Change ` bit' to `-bit'.
1284 * doc/md.texi: Change `-bits' to `-bit'.
1285 * doc/tm.texi: Change `-bits' to ` bits'.
1287 2002-06-27 Daniel Berlin <dberlin@dberlin.org>
1289 * gcse.c (hoist_code): Rewrite to only get list of dominated
1290 blocks once per BB. Also fix reversed test (by removing need for
1293 2002-06-27 Neil Booth <neil@daikokuya.co.uk>
1295 * cpphash.h (_cpp_set_trad_context): Remove.
1296 * cpplib.c (prepare_directive_trad): Do nothing for #define.
1297 (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
1298 * cpptrad.c: Update comments.
1299 (_cpp_read_logical_line_trad): Let scan_logical_line handle
1300 updating the current context.
1301 (scan_logical_line): Update the current context.
1302 (_cpp_create_trad_definition): Similarly.
1303 (_cpp_set_trad_context): Remove.
1305 2002-06-27 Neil Booth <neil@daikokuya.co.uk>
1307 PR preprocessor/7070
1308 * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
1310 2002-06-26 Bob Wilson <bob.wilson@acm.org>
1312 * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
1313 config/xtensa/xtensa.c (xtensa_return_addr): New function.
1314 config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
1315 config/xtensa/xtensa.md (fix_return_addr): New pattern.
1317 2002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1319 * mips.c (coprocessor_operand, coprocessor2_operand,
1320 symbolic_operand): Move prototypes from here...
1321 * mips-protos.h (coprocessor_operand, coprocessor2_operand,
1322 symbolic_operand): ...to here.
1324 Wed Jun 26 16:32:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
1326 * config/sh/crt1.asm: remove _stack label definition
1329 2002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1331 * varasm.c: Include real.h before output.h.
1333 2002-06-26 Aldy Hernandez <aldyh@redhat.com>
1335 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
1336 check for TARGET_ALTIVEC.
1338 2002-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
1340 * config.gcc (vax-*-vms*): Make obselete.
1342 2002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1344 * gcc.c (warn_std): Delete.
1346 2002-06-25 Loren J. Rittle <ljrittle@acm.org>
1348 * doc/extend.texi: Fix formatting of last checkin.
1350 2002-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1352 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
1353 underscore from __IEEE_FP and __IEEE_FP_INEXACT.
1355 2002-06-25 Aldy Hernandez <aldyh@redhat.com>
1357 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
1358 discrepancies from motorola's documentation.
1360 Tue Jun 25 21:51:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
1362 * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
1363 GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
1365 * config/sh/lib1funcs.asm (udivdi3): Make first divide step
1366 produce a 32 bit result before normalization, then normalize with a
1367 left shift. Compute approximative error of 2nd reciprocal
1368 approximation in 2's complement. Fix mask generation from upper
1369 longword of second divide stage result.
1370 For large divisor, fix shift count used to truncate first stage
1371 divide result; make decision if to adjust upwards based on comparison
1372 of higher parts of normalized values.
1373 (udivdi): Likewise. Undo normalization of result for large divisor
1376 2002-06-25 David S. Miller <davem@redhat.com>
1378 * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
1380 2002-06-25 Neil Booth <neil@daikokuya.co.uk>
1382 * cpplib.c (do_include_common): Revert to correct line number
1384 * cpptrad.c (scan_out_logical_line): Treat null directive as
1385 white space. Invlidate MI optimization for non-whitespace
1386 text outside a directive.
1388 2002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1390 * Makefile.in (SHELL): Set to @SHELL@.
1391 * fixinc/Makefile.in (SHELL): Likewise.
1393 * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
1394 fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
1397 2002-06-24 Jeff Law <law@redhat.com>
1399 * flow.c (propagate_one_insn): When removing an insn
1400 with a REG_LIBCALL note but not the entire libcall sequence,
1401 delete the associated REG_RETVAL note.
1403 Mon Jun 24 21:05:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
1405 * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
1406 (udivsi3): Likewise. Rewrite SH1 implementation.
1407 (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
1408 * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
1409 (udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
1410 * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
1411 (_moddi3): Likewise.
1413 * lib1funcs.asm (ic_invalidate): Add data cache line writeback.
1415 * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
1416 arguments into account for stack_regs.
1418 2002-06-24 Matt Kraai <kraai@alumni.cmu.edu>
1420 * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
1423 2002-06-24 Art Haas <ahaas@neosoft.com>
1425 * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
1426 * doc/tm.texi (Frame Layout): Likewise.
1428 2002-06-20 Steve Ellcey <sje@cup.hp.com>
1430 * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
1431 Set float_format to i128.
1433 2002-06-24 David S. Miller <davem@redhat.com>
1435 * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
1436 32-bit ABI libfuncs to NULL.
1438 * config/sparc/sparc.md: Use define_insn_and_split. Use braced
1439 strings instead of quoted strings for code blocks.
1441 * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
1442 optabs if op1 is const0_rtx.
1444 * Makefile.in (GTFILES): Add basic-block.h
1445 * basic-block.h (label_value_list, tail_recursion_label_list):
1448 2002-06-24 Neil Booth <neil@daikokuya.co.uk>
1450 * cpptrad.c (scan_out_logical_line): Check recursing only when
1451 we know we have a macro invocation in the function-like case.
1452 Only call _cpp_handle_directive if we know we have a good
1453 directive, or we want to reject a bad directive.
1455 2002-06-24 Alan Modra <amodra@bigpond.net.au>
1457 * doloop.c (doloop_valid_p): Correct comment.
1458 (doloop_modify_runtime <abs_inc != 1>): Simplify.
1459 (doloop_modify_runtime <do-while>): Don't emit code when NE.
1461 Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru>
1463 * config.gcc: Add support for ip2k.
1465 2002-06-23 Jan Hubicka <jh@suse.cz>
1466 Jeff Law <law@redhat.com>
1468 * function.h (struct emit_status): Clarify potential contents
1469 of regno_reg_rtx array.
1470 * integrate.c (copy_rtx_and_substitute): Update comments. Make
1471 sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
1473 * reg-stack.c (convert_regs_exit): Push the registers to stack in
1476 2002-06-22 Ulrich Weigand <uweigand@de.ibm.com>
1479 * function.c (assign_stack_temp_for_type): Do not return
1480 the same MEM rtx for multiple uses of a stack slot.
1482 2002-06-22 David S. Miller <davem@redhat.com>
1484 PR target/6841 target/6770 target/6719
1485 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
1486 NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
1487 GENERAL_OR_EXTRA_FP_REGS.
1489 2002-06-22 Neil Booth <neil@daikokuya.co.uk>
1491 * cpptrad.c (struct fun_macro): Add line number.
1492 (scan_out_logical_line): Set it, and use it to report unterminated
1495 2002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1497 * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
1498 VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
1499 DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
1500 DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
1501 REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
1502 REGEXP_ONEOF, check_name): Const-ify.
1504 2002-06-21 Matt Thomas <matt@3am-software.com>
1506 * config/vax/vax.c (vax_output_function_prologue): Use
1507 REGISTER_PREFIX. Fix some indentation.
1508 * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
1509 (VAX_ISTREAM_SYNC): Define.
1510 (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the
1511 i-stream sync to the end.
1512 (REGISTER_PREFIX): Define as "".
1513 (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
1515 2002-06-21 Jason Thorpe <thorpej@wasabisystems.com>
1517 * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
1520 2002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1522 * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
1523 tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
1525 2002-06-21 Matt Thomas <matt@3am-software.com>
1527 * config/vax/netbsd.h: Adjust a comment.
1528 (TARGET_DEFAULT): Redefine as 0.
1530 2002-06-21 Richard Henderson <rth@redhat.com>
1532 * bb-reorder.c (make_reorder_chain_1): Search harder for the
1533 vax casesi fallthru edge.
1534 * cfglayout.c (cleanup_unconditional_jumps): Use
1535 redirect_edge_succ_nodup. Do not delete ADDR_VEC insns as dead.
1536 * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
1537 block after ADDR_VEC.
1539 2002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1541 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
1543 2002-06-21 Neil Booth <neil@daikokuya.co.uk>
1545 * cpperror.c (cpp_error): For traditional CPP, default to
1546 diagnostics on pfile->line.
1547 * cpplib.c (prepare_directive_trad): Set line number for
1548 diagnostics for #define too.
1549 * cpptrad.c (skip_whitespace): Skip comments properly.
1550 (_cpp_expansions_different_trad): Initialize quote2.
1552 2002-06-21 Hans-Peter Nilsson <hp@bitrange.com>
1554 * config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
1555 * config/mmix/mmix.h: Ditto.
1556 * config/mmix/mmix-protos.h: Ditto.
1557 * config/mmix/mmix.c: Ditto. Fix typo in comment.
1558 * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
1559 comment. Comment extra CC modes.
1561 2002-06-20 Jan Hubicka <jh@suse.cz>
1563 * cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
1564 (scope_to_insns_finalize): Do not call set_block_levels; handle
1566 (choose_inner_scope): New.
1567 * rtl.h (choose_inner_scope): Declare.
1569 2002-06-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
1571 * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
1573 * pa.c (pa_asm_output_mi_thunk): Likewise.
1574 (n_deferred_plabels): Change type to size_t.
1575 (output_deferred_plabels, output_call): Use size_t instead of int.
1577 2002-06-20 Richard Henderson <rth@redhat.com>
1580 * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
1581 pattern and adjust constraints for coldfire.
1583 2002-06-20 Richard Henderson <rth@redhat.com>
1585 * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
1587 2002-06-20 Chris Demetriou <cgd@broadcom.com>
1589 * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
1591 2002-06-20 Chris Demetriou <cgd@broadcom.com>
1593 * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
1595 2002-06-20 Stan Shebs <shebs@apple.com>
1597 * dominance.c: Include errors.h instead of error.h.
1599 2002-06-20 Neil Booth <neil@daikokuya.co.uk>
1601 * cppexp.c (cpp_interpret_integer): Don't force traditional
1602 numbers to be unsigned.
1603 * cpplib.c (prepare_directive_trad): Set line number for
1605 * cpptrad.c (scan_out_logical_line): Continue scanning out
1607 * gcc.c (trad_capable_cpp): Use cc1 always.
1609 2002-06-20 Jeffrey Law <law@redhat.com>
1611 * i386.h (TARGET_DEFAULT): Do not turn on frame pointer
1612 elimination in leaf functions by default yet.
1614 2002-06-20 Richard Sandiford <rsandifo@redhat.com>
1616 * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
1618 2002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1620 * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
1622 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
1623 Fixes PR other/6836.
1625 Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz>
1626 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
1628 Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz>
1630 * basic-block.h: Do not include et-forest.h
1631 (dominance_info): Declare as struct dominance-info.
1632 * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
1634 * dominance.c (struct dominance_info): Define.
1635 (BB_NODE, SET_BB_NODE): New macros.
1636 (bb_hash_func, bb_eq_func): Kill.
1637 (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
1638 nearest_common_dominator, dominated_by_p, recount_dominator,
1639 add_to_dominance_info, delete_from_dominance_info): update for new
1641 (get_dominated_by, redirect_immediate_dominators): Rewrite using
1643 * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
1644 find_if_case_1, find_if_case_2): Remove killed blocks from dominance
1647 * et-forest.h: Update copyright; revamp all function to operate on
1649 (et_forest_value): Kill.
1650 (et_forest_enumerate_sons, et_forest_node_value): New.
1651 * et-forest.c: Update copyright.
1652 * et-forest.h: Update copyright; revamp all function to operate on
1654 (et_forest_value): Kill.
1655 (et_forest_enumerate_sons, et_forest_node_value): New.
1657 Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz>
1659 * basic-block.h: Inlude et-forest.h
1660 (basic_block_def): Kill dominator.
1661 (dominance_info): New type.
1662 (loops): Use dominace_info.
1663 (dominace handling functions): Take dominace_info as argument
1665 (create_preheader): Likewise.
1666 * cfg.c (entry_exit_blocks): Kill dominator.
1667 (dump_flow_info): Do not dump dominators.
1668 * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
1670 * cfgloop.c (flow_pre_header_find): Use dominacne_info.
1671 (flow_loops_pre_header_scan, make_forwarder_block,
1672 canonicale_loop_headers, flow_loops_find): Likewise.
1673 * dominance.c: Include error.h
1674 (idoms_to_doms): Kill.
1675 (bb_hash_func, bb_eq_func): New static functions.
1676 (debug_dominace_info): New global function.
1677 (calculate_dominance_info): Use new et forest structure.
1678 (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
1679 get_dominated_by, redirect_immediate_dominators,
1680 nearest_common_dominator, dominated_by_p, verify_dominators,
1681 recount_dominator, iterate_fix_dominators, add_to_dominace_info,
1682 delete_from_dominance_info): New global functions.
1683 * gcse.c (domnators): CHange to dominance_info.
1684 (alloc_hoist_mem): Do not alloc dominators
1685 (free_code_hoist_mem): Use free_dominance_info.
1686 (compute_code_hoist_data): Use dominance_info.
1687 (hoist_code): Likewise.
1688 * ifcvt.c (post_dominators): Likewise.
1689 (find_if_case_2, if_convert): Likewise.
1690 * predict.c (process_note_predictions, process_note_prediction,
1691 estimate-probability): Likewise.
1692 * sched-rgn.c (find_rgns, init_regions): Likewise.
1693 * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
1694 find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
1695 * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
1696 find_evaluations, convert_to_ssa): Likewise.
1697 * ssa.h (compute_dominance_frontiers): Likewise.
1699 Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
1701 * Makefile.in (et-forest.c): Add.
1702 * et-forest.c: New file.
1703 * at-forest.h: New file.
1705 2002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1707 * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
1708 array size calculation.
1709 * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
1712 * diagnostic.c (diagnostic_kind_text): Const-ify.
1713 * gengtype.c (lang_names): Likewise.
1715 Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz>
1717 * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
1719 2002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1721 * config/sol2.h: New file.
1722 * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
1723 (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
1724 (sparc-*-chorusos*): Likewise.
1725 (sparc-*-elf*): Likewise.
1726 (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
1727 (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
1728 (sparc-hal-solaris2*): Likewise.
1729 (sparc-*-solaris2*): Likewise.
1730 (sparclite-*-elf*): Likewise.
1731 (sparc86x-*-elf*): Likewise.
1732 (sparc64-*-elf*): Likewise.
1734 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
1736 (ASM_SPEC): Override config/sol2.h version for now.
1737 Removed obsolete GAS_REJECTS_MINUS_S variant.
1738 (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
1739 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
1740 (TARGET_OS_CPP_BUILTINS): Likewise.
1742 (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
1743 (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
1745 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
1746 (ASM_CPU_SPEC): Define.
1747 (SUBTARGET_EXTRA_SPECS): Define.
1749 * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
1750 in config/sparc/sol2.h.
1751 (ASM_SPEC): Moved to config/sol2.h.
1752 (CPP_CPU_SPEC): Simplified.
1753 (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
1755 (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
1756 (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
1757 STARTFILE_ARCH64_SPEC.
1758 (STARTFILE_SPEC): Moved to config/sol2.h
1759 (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
1760 (LINK_ARCH32_SPEC): Moved to config/sol2.h.
1761 (LINK_ARCH64_SPEC): Simplified.
1762 (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
1763 (LINK_SPEC): Moved to config/sol2.h
1765 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
1767 Use BITS_PER_WORD for size.
1768 (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
1769 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
1770 (CPP_PREDEFINES): Removed OS-specific part handled by
1771 TARGET_OS_CPP_BUILTINS.
1772 (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
1773 (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
1774 (ASM_SPEC): Moved to config/sol2.h.
1775 (PREFERRED_DEBUGGING_TYPE): Likewise.
1776 (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
1777 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
1778 (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
1779 (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
1781 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
1782 * config/i386/sol2gas.h: Removed.
1784 Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz>
1786 * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
1788 2002-06-16 Aldy Hernandez <aldyh@redhat.com>
1790 * gcc.c-torture/execute/simd-1.c: New.
1792 * gcc.dg/simd-1.c: New.
1794 * doc/extend.texi (Vector Extensions): Document that we can
1795 specify simd types not specifically supported by the hardware.
1796 Document that simd types can be used as function arguments.
1797 Document that signness does make a difference in SIMD types.
1798 Misc cleanups and revisions to the vector extensions section.
1800 * simplify-rtx.c (simplify_subreg): Simplify subregs of vector
1803 * expr.c (vector_mode_valid_p): New.
1805 * expr.h: Add vector_mode_valid_p.
1807 * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
1809 * c-common.c (type_for_mode): Always build vector nodes regardless
1810 of VECTOR_MODE_SUPPORTED_P.
1811 (handle_mode_attribute): Error if we can't emulate a nonexisting
1813 (handle_vector_size_attribute): Same.
1815 * optabs.c (expand_binop): Open-code vector operations.
1816 (expand_unop): Open-code vector unops.
1817 (expand_vector_binop): New.
1818 (expand_vector_unop): New.
1820 * c-typeck.c (build_binary_op): Allow vectors in binops.
1821 Allow vectors in conditional operatiors.
1822 (build_unary_op): Allow vectors in unary minus.
1824 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
1827 2002-05-20 Richard Henderson <rth@redhat.com>
1829 * c-common.c (c_common_get_alias_set): Correctly handle characters.
1830 Rearrange order of expressions; don't handle vectors here.
1831 * alias.c (get_alias_set): Let vectors match their components.
1833 2002-06-19 Chris Demetriou <cgd@broadcom.com>
1835 * config/mips/mips.c (mips_emit_prefetch): Use hints which
1836 match desired locality.
1838 2002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
1840 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
1841 (h8300_insert_attributes): New.
1843 2002-06-19 Akim Demaille <akim@epita.fr>
1845 * c-parse.in (initelt: identifier ':' initval): Add an empty
1846 action to fix a type clash.
1847 (aliasdecl, classdef): Add the missing closing `;'.
1849 * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
1850 $$ = $1 type clashes.
1852 2002-06-19 Eric Christopher <echristo@redhat.com>
1854 * config/mips/mips.c (symbol_operand): New function.
1855 (mips_emit_prefetch): Ditto.
1856 * config/mips/mips-protos.h: Define.
1857 * config/mips/mips.h (ISA_HAS_PREFETCH): Define.
1858 (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
1859 (LEGITIMIZE_ADDRESS): Ditto.
1860 * config/mips/mips.md (prefetch, prefetch_si_address,
1861 prefetch_si, prefetch_di_address, prefetch_di): New patterns.
1863 2002-06-19 Eric Christopher <echristo@redhat.com>
1865 * config/fp-bit.h: Add unordered defines for gofast.
1867 2002-06-19 Vladimir Makarov <vmakarov@redhat.com>
1869 * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
1870 DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
1871 DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
1872 REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
1873 checking and without it.
1874 (decl_name, decl_mode_check_failed, regexp_name,
1875 regexp_mode_check_failed): New functions.
1876 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1877 gen_presence_set, gen_absence_set, gen_automaton,
1878 gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
1879 gen_regexp_sequence, gen_reserv, gen_insn_reserv,
1880 automaton_decl_hash, automaton_decl_eq_p): Use the macros.
1881 (find_automaton_decl): Ditto. Set up mode of work_automaton_decl.
1882 (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
1883 (find_insn_decl): Ditto. Set up mode of work_insn_decl.
1884 (decl_hash, decl_eq_p): Use the macros.
1885 (find_decl): Ditto. Set up mode of work_decl.
1886 (process_excls, process_presence_absence, process_decls,
1887 check_automaton_usage, process_regexp, process_regexp_decls,
1888 check_usage, loop_in_regexp, check_loops_in_regexps,
1889 process_regexp_cycles, add_advance_cycle_insn_decl,
1890 initiate_states, initiate_excl_sets,
1891 initiate_presence_absence_sets, copy_insn_regexp, transform_1,
1892 transform_2): Use the macros.
1893 (transform_3): Ditto. Check mode before making transformations of
1895 (regexp_transform_func, transform_insn_regexps,
1896 process_unit_to_form_the_same_automaton_unit_lists,
1897 form_the_same_automaton_unit_lists_from_regexp,
1898 form_the_same_automaton_unit_lists,
1899 process_seq_for_forming_states, process_alts_for_forming_states,
1900 create_alt_states, form_ainsn_with_same_reservs, make_automaton,
1901 form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
1902 estimate_one_automaton_bound, compare_max_occ_cycle_nums,
1903 units_to_automata_heuristic_distr, create_ainsns,
1904 units_to_automata_distr, create_automata): Use the macros.
1905 (form_regexp): Ditto. Fix typo in access to fields of ALLOF.
1906 (longest_path_length, min_issue_delay_pass_states,
1907 output_dead_lock_vect, output_tables, output_insn_code_cases,
1908 output_internal_insn_latency_func, output_print_reservation_func,
1909 output_description, output_automaton_units, generate): Use the
1911 (make_insn_alts_attr): Ditto. Check case when there are not
1912 alternatives in the reservation.
1913 (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
1914 make_bypass_attr, form_important_insn_automata_lists,
1915 expand_automata): Use the macros.
1917 2002-06-20 Tim Josling <tej@melbpc.org.au>
1919 * Makefile.in: Clean up code to check for misspecified languages
1920 in enable-languages.
1922 2002-06-19 Andrew Pinski <pinskia@physics.uc.edu>
1924 * cpptrad.c (_cpp_replacement_text_len): initialize len.
1926 2002-06-19 Jason Merrill <jason@redhat.com>
1928 * Makefile.in (unstrap, restrap): New targets.
1929 (bootstrap): Mention restrap.
1931 2002-06-19 Matt Kraai <kraai@alumni.cmu.edu>
1933 * except.c (ehl_free): Remove.
1935 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
1936 builtin_define and builtin_define_std.
1938 2002-06-19 Ian Dall <ian@sibyl.beware.dropbear.id.au>
1940 * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
1941 (sCOND): Restrict operand class so that gcc knows how to reload them.
1942 (bitfield_set): Merge two unnamed insn's using alternatives.
1943 (call_value): Remove constraint on unused uperand.
1944 (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
1945 (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
1947 * longlong.h (count_trailing_zeros): Escape newline and beautify.
1949 2002-06-19 Mark Mitchell <mark@codesourcery.com>
1951 * Makefile.in (QMTEST_DIR): Simplify definition.
1953 2002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
1955 * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
1958 2002-06-19 Neil Booth <neil@daikokuya.co.uk>
1960 * cpphash.h (struct cpp_reader): Make date and time strings.
1961 (_cpp_builtin_macro_text, _cpp_copy_replacement_text,
1962 _cpp_replacement_text_len): New.
1963 * cppinit.c (cpp_create_reader): Update.
1964 (init_builtins): Register appropriate builtins for -traditional-cpp.
1965 * cppmacro.c (new_number_token): Remove.
1966 (_cpp_builtin_macro_text): New.
1967 (builtin_macro): Use it.
1968 (cpp_macro_definition): Update to handle traditional macros.
1969 * cppmain.c (cb_line_change): Don't do column positioning for
1971 * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New
1973 (skip_whitespace): Fix.
1974 (maybe_start_funlike): Don't set state.parsing_args.
1975 (scan_out_logical_line): Remove duplicate error. Use lex_state
1976 rather than state.parsing_args.
1977 (push_replacement_text): Handle builtins.
1978 (_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
1980 2002-06-18 Hans-Peter Nilsson <hp@axis.com>
1981 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1983 * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
1984 attribute __always_inline__.
1986 2002-06-18 Bob Wilson <bob.wilson@acm.org>
1988 * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
1989 when generating the call to _mcount.
1990 (NO_PROFILE_COUNTERS): Define.
1992 2002-06-18 Richard Henderson <rth@redhat.com>
1994 * print-rtl.c (print_rtx): Adjust NOTE argument numbers for
1997 Tue Jun 18 20:53:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
1999 * t-sh (MULTILIB_EXCEPTIONS): Set to ml.
2000 config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
2001 * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
2002 * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
2004 * sh-protos.h (sh_pr_interrupt): Declare.
2005 * sh.c (sh_pr_interrupt): New function.
2006 (print_operand, calc_live_regs, sh_expand_prologue): Use it.
2007 (sh_hard_regno_rename_ok): Likewise.
2008 * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
2010 2002-06-18 Vladimir Makarov <vmakarov@redhat.com>
2012 * rtl.def (DEFINE_AUTOMATON): Add description of new options
2013 `time' and `v'. Fix incorrect description of option `w'.
2015 * doc/md.texi: Ditto.
2017 * genautomata.c (TIME_OPTION, V_OPTION): New macros.
2018 (gen_automata_option): Process the new options.
2019 (transform_2, transform_3): Initialize some variables.
2020 (initiate_automaton_gen): Use the new macros.
2022 2002-06-18 Richard Sandiford <rsandifo@redhat.com>
2024 * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
2025 (mips_set_return_address, mips_restore_gp): Declare.
2026 * config/mips/mips.h (struct mips_frame_info): Move to mips.c
2027 (current_frame_info): Remove.
2028 (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
2029 * config/mips/mips.c: Remove uses of current_frame_info.
2030 (struct mips_frame_info): Moved from mips.h. Remove 'insns_len'.
2031 (struct machine_function): Add 'frame' and 'insns_len'.
2032 (current_frame_info, zero_frame_info): Remove.
2033 (mips_restore_gp, mips_set_return_address): New.
2034 (mips_initial_elimination_offset): New.
2035 * config/mips/mips.md (exception_receiver): Use mips_restore_gp.
2036 (eh_return define_split): Use mips_set_return_address.
2038 2002-06-18 Neil Booth <neil@daikokuya.demon.co.uk>
2040 * cpplib.c (dtable): Update.
2041 (end_directive): Decrement expansion prevention count.
2042 Clear state.in_expression.
2043 (prepare_directive_trad): Set state.in_expression.
2044 Increment expansion prevention count.
2045 * cpptrad.c (enum ls): New.
2046 (_cpp_overlay_buffer): Set overlaid_buffer.
2047 (_cpp_remove_overlay): Use overlaid_buffer.
2048 (_cpp_read_logcial_line_trad): Update buffer when it might
2050 (scan_out_logical_line): Handle state transitions for assertions
2051 and defined() in #if, and for funlike invocations including the
2052 directive case. Handle '<' and '>' as a quote mechanism in
2053 #include. Warn about unterminated macro invocations.
2054 * cpphash.h (struct lexer_state): New member in_expression.
2055 (struct cpp_reader): New member overlaid buffer.
2057 2002-06-18 Hans-Peter Nilsson <hp@axis.com>
2059 * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
2062 2002-06-18 Alan Modra <amodra@bigpond.net.au>
2064 * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
2066 * doloop.c (doloop_optimize): Extract pattern from insn.
2068 2002-06-17 Matt Kraai <kraai@alumni.cmu.edu>
2070 * doc/extend.texi (Function Attributes): Remove `,...' from @var.
2072 2002-06-17 Jeff Law <law@redhat.com>
2074 * libgcc2.c: Do not include symcat.h or machmode.h.
2076 2002-06-17 Richard Henderson <rth@redhat.com>
2079 * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
2081 2002-06-17 Tom Tromey <tromey@redhat.com>
2083 * dwarfout.c: Include function.h.
2085 2002-06-17 Andreas Schwab <schwab@suse.de>
2087 * print-rtl.c (print_rtx): Print space before vector, not after.
2088 (debug_rtx): Clear sawclose before printing.
2089 (debug_rtx_list): Print newline after each list element.
2090 (debug_rtx_range): Likewise.
2092 2002-06-17 Richard Henderson <rth@redhat.com>
2094 * function.h (struct function) [funcdef_no]: Rename profile_label_no.
2095 (current_function_funcdef_no): Similarly.
2096 * function.c (funcdef_no): Similarly.
2097 (prepare_function_start): Set current_function_funcdef_no.
2098 (expand_function_start): Don't set current_function_profile_label_no.
2099 * dwarf2out.h (current_funcdef_number): Remove.
2100 * dwarf2out.c (current_funcdef_number): Remove. Replace with
2101 current_function_funcdef_no throughout.
2102 * dwarfout.c, vmsdbgout.c: Similarly.
2103 * except.c (sjlj_funcdef_number): Remove.
2104 (sjlj_emit_function_enter): Use current_function_funcdef_no instead.
2105 (output_function_exception_table): Likewise.
2106 * final.c (profile_function): Use current_function_funcdef_no
2107 instead of current_function_profile_label_no.
2109 2002-06-17 Vladimir Makarov <vmakarov@redhat.com>
2111 * sched-ebb.c (init_ready_list): Check INSN_P first.
2113 Mon Jun 17 17:26:15 2002 J"orn Rennecke <joern.rennecke@superh.com>
2115 * sh.md (divsi3): Update way how to find insns in a sequence.
2117 * reload1.c (merge_assigned_reloads): Don't change reloads
2118 other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
2119 to RELOAD_OTHER when there are conflicting input reloads.
2121 2002-06-17 Richard Earnshaw (rearnsha@arm.com)
2123 * function.c (epilogue_done): Correctly build a sequence of insns for
2126 2002-06-17 Nick Clifton <nickc@cambridge.redhat.com>
2128 * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
2131 * config/m32r/m32r.md: Replace gen_sequence with get_insns.
2133 2002-06-16 Richard Henderson <rth@redhat.com>
2135 * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
2136 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
2138 2002-06-16 Richard Henderson <rth@redhat.com>
2141 * regclass.c (globalize_reg): Update regs_invalidated_by_call.
2143 2002-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
2145 * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
2146 * config/i386/i386-aout.h, config/i386/i386elf.h,
2147 config/i386/sysv4.h: Remove CPP_PREDEFINES.
2148 * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
2149 config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
2150 config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
2151 config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
2152 CPP_PREDEFINES and part of CPP_SPEC.
2153 * config/i386/sysv4-cpp.h: New.
2155 2002-06-16 Richard Henderson <rth@redhat.com>
2158 * dwarf2out.c (modified_type_die): Don't assign the qualified die
2159 to the unqualified type.
2161 Sun Jun 16 22:16:10 CEST 2002 Jan Hubicka <jh@suse.cz>
2163 * i386-protos.h (x86_field_alignment): Declare.
2164 * i386.c (x86_field_alignment): Define.
2165 * i386.h (ADJUST_FIELD_ALIGNMENT): New.
2166 (BIGGEST_FIELD_ALIGNMENT): Kill.
2168 2002-06-16 Richard Henderson <rth@redhat.com>
2170 * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
2172 2002-06-16 Richard Henderson <rth@redhat.com>
2174 * c-common.c (flag_ms_extensions): Move from c++ front end.
2175 * c-common.h (flag_ms_extensions): Declare.
2176 * c-decl.c (c_decode_option): Add -fms-extensions.
2177 (grokfield): Don't accept anonymous structures in ISO C mode;
2178 accept only unnamed anonymous structures in GNU C mode; accept
2179 Plan 9 extensions in MS mode.
2180 * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
2181 SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
2182 (extension): Clear flag_iso.
2183 * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
2185 2002-06-16 Hans-Peter Nilsson <hp@axis.com>
2188 * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
2189 early if current_function_epilogue_delay_list is non-empty.
2190 * config/cris/cris.md ("return"): Add sanity check asserting that
2191 current_function_epilogue_delay_list is empty.
2193 2002-06-16 Jeff Law <law@redhat.com>
2195 * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
2196 sharing of hard registers.
2198 * toplev.c (rest_of_compilation): Remove redundant conditional.
2200 * toplev.c (rest_of_compilation): Perform a simpler, less costly
2201 cleanup of the CFG when not optimizing.
2203 2002-06-16 Alan Modra <amodra@bigpond.net.au>
2205 * gcc.c (main): Correct startfile_prefix_spec check.
2207 2002-06-12 Geoffrey Keating <geoffk@redhat.com>
2209 * config.gcc: Revert rth's patch of 2002-05-18. Instead,
2210 include both darwin.o and rs6000-c.o.
2212 2002-06-15 Roger Sayle <roger@eyesopen.com>
2214 * expr.c (compare_from_rtx): Call simplify_relational_operation
2215 on all comparisons, not just those between integer constants,
2216 with the correct (possibly unsigned) comparison code.
2217 (do_compare_rtx_and_jump): Likewise.
2219 2002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
2221 * Makefile.in (tm_defines): New configuration variable.
2222 (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
2223 Pass tm_defines in TM_DEFINES.
2224 (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES.
2225 * config.gcc (tm_defines): New configuration variable.
2226 (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
2227 pa-7100.h headers. Change hppa1* scheduling default to 7100LC.
2228 * configure.in: Substitute tm_defines.
2229 * configure: Rebuilt.
2230 * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES.
2231 * doc/install.texi: Update.
2232 * pa/pa-700.h: Delete file.
2233 * pa/pa-7100.h: Delete file.
2235 2002-06-15 Roger Sayle <roger@eyesopen.com>
2237 * fold-const.c (comparison_to_compcode): New function to convert
2238 an comparison TREE CODE into a bit-based representation.
2239 (compcode_to_comparison): New function to convert from this bit
2240 based representation back to a comparison TREE CODE.
2241 (fold_truthop): Simplify (x<y) && (x==y) and related composite
2244 2002-06-15 Aldy Hernandez <aldyh@redhat.com>
2246 * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
2248 * stor-layout.c (compute_record_mode): Remove check for
2249 FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
2250 MEMBER_TYPE_FORCES_BLK. Pass new mode field to
2251 MEMBER_TYPE_FORCES_BLK.
2253 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
2255 * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
2257 2002-06-14 Jeff Sturm <jsturm@one-point.com>
2259 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
2261 2002-06-14 Steve Ellcey <sje@cup.hp.com>
2263 * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
2264 USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
2265 * configure, config.in: Regenerate.
2267 2002-06-14 Eric Botcazou <ebotcazou@multimania.com>
2269 * loop.c (check_final_value): Use v->always_executed
2270 instead of v->always_computable.
2271 * unroll.c (final_giv_value): Don't calculate the final
2272 value as a function of the biv if the giv is not computed
2273 for every loop iteration.
2275 2002-06-14 Eric Botcazou <ebotcazou@multimania.com>
2277 * loop.c (for_each_insn_in_loop): Fix formatting and comments.
2279 2002-06-14 Eric Botcazou <ebotcazou@multimania.com>
2282 * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
2283 the truncation down when the target type is signed.
2284 [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
2285 * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
2286 the conversion if the target type is a smaller type.
2288 2002-06-14 Richard Henderson <rth@redhat.com>
2290 * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
2291 earlier. Re-factor comparisons vs extrema.
2293 2002-06-14 Richard Henderson <rth@redhat.com>
2295 * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
2297 2002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2299 * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
2300 * sched-deps.c (add_dependence): Likewise.
2301 (group_leader): Likewise.
2302 * sched-rgn.c (init_ready_list): Likewise.
2303 * doc/rtl.texi: Adjust accordingly.
2305 2002-06-13 Jeffrey Law <law@redhat.com>
2307 * gcse.c (delete_null_pointer_checks_1): Inform caller if any
2308 null pointer checks were eliminated. Update prototype.
2309 (delete_null_pointer_checks): Similarly.
2310 * rtl.h (delete_null_pointer_checks): Update prototype.
2311 * toplev.c (rest_of_compilation): Only run cleanup_cfg if
2312 delete_null_pointer_checks deletes one or more null
2313 pointer checks. Do not run cleanup_cfg before gcse, the
2314 CFG is accurate and optimized at that point..
2316 * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
2319 2002-06-14 Ulrich Weigand <uweigand@de.ibm.com>
2321 * Makefile.in (libgcc.mk): Depend on specs.
2323 Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com>
2325 * sh.md (mulsi3): Update way how to find insns in a sequence.
2327 Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com>
2329 * sh.h: Define HARD_REGNO_RENAME_OK
2330 * sh.c: sh_hard_regno_rename_ok: New. If current function has
2331 interrupt_handler attribute, only registers saved on stack are OK.
2332 * sh-protos.h: Declare sh_hard_regno_rename_ok.
2334 2002-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
2336 * config/sh/sh.md (jump): Emit jump insn.
2337 (call_pcrel): Get pattern of the result of gen_call_site.
2338 (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
2340 2002-06-14 Neil Booth <neil@daikokuya.demon.co.uk>
2342 * cpphash.h (struct cpp_buffer): Remove saved_line_base.
2343 * cpptrad.c: Update comments.
2344 (skip_whitespace, copy_comment): Take a new parameter.
2345 (skip_escaped_newlines): Don't duplicate escaped newline test.
2346 (copy_comment): Different location for CUR, decide here how
2347 to copy / replace the comment.
2348 (skip_whitespace): Copy whitespace.
2349 (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
2350 (scan_out_logical_line): Let copy comment handle keeping or
2352 (scan_parameters, _cpp_create_trad_definition): Update.
2354 2002-06-13 Alan Lehotsky <apl@alum.mit.edu>
2356 * reload.c (get_secondary_mem,find_reloads_address,
2357 find_reloads_address_1): Pass reference to MEM to find_reloads_address
2358 so that LEGITIMIZE_RELOAD_ADDRESS will be called.
2360 2002-06-13 Jessica Han <jessica@cup.hp.com>
2362 * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
2363 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
2364 * doc/tm.texi: Document them.
2365 * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
2366 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
2367 (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
2368 (ASM_OUTPUT_FDESC): Likewise.
2370 2002-06-13 Eric Christopher <echristo@redhat.com>
2372 * diagnostic.c (output_format): Fix thinko.
2374 Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
2376 * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
2377 (DWARF2_UNWIND_INFO): Define to 0.
2379 * config/sh/sh.c (calc_live_regs): Don't use initial_value
2380 optimization for PR_MEDIA_REG.
2382 2002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
2384 * cpphash.h (_cpp_lex_identifier_trad): Remove.
2385 * cpplib.c (end_directive): Don't skip, always remove overlay
2387 (prepare_directive_trad): Handle NULL pfile->directive.
2388 (_cpp_handle_directive): Always call prepare_directive_trad
2390 * cppmain.c (check_multiline_token): Rename account_for_newlines,
2392 (scan_translation_unit_trad): Use it.
2393 * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
2394 output, get escaped newline in comment close correct.
2395 (check_output_buffer, skip_whitespace): Update.
2396 (_cpp_lex_identifier_trad): Remove.
2397 (scan_out_logical_line): Handle -C and comments in directives
2400 Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
2402 * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
2403 * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
2404 * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
2405 (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
2406 (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
2407 (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
2408 (SELECT_SH5_COMPACT_NOFPU): Likewise.
2409 (TARGET_SWITCHES): Use them.
2410 (TARGET_CPU_DEFAULT): Define if not already defined.
2411 (TARGET_DEFAULT): Use it.
2412 (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
2413 * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
2414 * config/sh/t-monolib: New file.
2416 2002-06-13 Roger Sayle <roger@eyesopen.com>
2418 * toplev.c (rest_of_compilation): Simplify (and correct) the
2419 logic of the first delete-null-pointer-checks pass.
2421 Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz>
2423 * i386.c (ix86_expand_movstr): Fix pasto.
2425 Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
2427 * reload.c (find_valid_class): Fix thinko in my previous patch.
2429 2002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
2431 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
2432 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
2433 (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
2434 (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
2436 2002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
2438 * tree-inline.c (expand_call_inline): Don' mess with _DECL
2441 2002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
2443 * diagnostic.c (output_format): Recognize "%H" as a format
2444 specifier for a location_t.
2445 (text_specifies_location): New function.
2446 (diagnostic_set_info): Use it.
2448 2002-06-13 Jeffrey Law <law@redhat.com>
2450 * emit-rtl.c (static_regno_reg_rtx): Define.
2451 (init_emit_once): Initialize static_regno_reg_rtx.
2452 (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
2453 of building new hard reg objects once per function.
2454 (gen_rtx_REG): Try to share hard regs.
2455 * regclass.c (init_fake_stack_mems): New function broken out from
2457 * rtl.h (init_fake_stack_mems): Declare.
2458 * toplev.c (lang_independent_init): Call init_regs before
2459 init_emit_once. Call init_fake_stack_mems after init_emit_once.
2461 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
2463 * alias.c (argument_registers): Remove.
2464 (init_alias_once): Initialize static_reg_base_value here. Remove
2465 initialization of argument_registers.
2466 (init_alias_once_per_function): Remove.
2467 (init_alias_analysis): Copy all the entries from static_reg_base_value
2468 into new_reg_base_value all at once.
2469 * rtl.h (init_alias_once_per_function): Remove declaration.
2470 * function.c (prepare_function_start): Do not call
2471 init_alias_once_per_function.
2473 * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
2474 starting a sequence and emitting an INSN.
2476 2002-06-13 Richard Sandiford <rsandifo@redhat.com>
2478 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
2480 2002-06-13 David S. Miller <davem@redhat.com>
2482 * expmed.c (init_expmed): Remove duplicate init of 'reg'.
2484 2002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
2486 * cpplib.c (end_directive): Handle line skipping. Only remove
2487 the rest of the line if the directive was valid.
2488 * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
2489 expanding a traditional macro.
2490 * cpptrad.c (recursive_macro): New.
2491 (read_logical_line_trad): Handle skipping.
2492 (scan_out_logical_line): Continue after a successful directive.
2493 Don't expand macros whilst skipping, or if recursing.
2494 (_cpp_create_trad_definition): scan_out_logical_line now sets
2495 the output current position.
2497 2002-06-12 Eric Christopher <echristo@redhat.com>
2499 From Chris Demetriou <cgd@broadcom.com>
2500 * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
2502 (ISA_HAS_MADD_MSUB): Ditto.
2503 (ISA_HAS_NMADD_NMSUB): Ditto.
2505 2002-06-12 Eric Christopher <echristo@redhat.com>
2507 * config.gcc: Consolidate little endian handling and
2508 little/big endian targets.
2509 * config/mips/elfl.h: Remove file.
2510 * config/mips/elfl64.h: Ditto.
2511 * config/mips/ecoffl.h: Ditto.
2512 * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
2514 2002-06-12 Geoffrey Keating <geoffk@redhat.com>
2516 * gengtype.h (xvasprintf): New prototype.
2517 (xasprintf): New prototype.
2519 (get_output_file): Return an outf_p.
2520 (header_file): Is now an outf_p.
2521 (base_files): Now are outf_p.
2523 * gengtype.c: Replace all output FILE * with outf_p; use oprintf
2524 rather than stdio operations. Use xasprintf in a few places,
2528 (struct filemap): Delete.
2530 (output_files): New.
2532 (create_file): Create an outf_p. Add parameter to indicate output
2533 file name, change all callers.
2534 (open_base_files): Create gtype-desc.c here.
2535 (get_output_file_with_visibility): Rewrite.
2536 (get_output_file_name): Just look at 'name' field in struct outf.
2537 (close_output_files): Rewrite.
2539 2002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
2541 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
2542 (MASK_G_FLOAT): Define.
2543 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
2544 (TARGET_SWITCHES): Likewise.
2545 (TARGET_DEFAULT): Likewise.
2547 2002-06-12 Daniel Jacobowitz <drow@mvista.com>
2549 * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
2550 * config/mips/mips.c (mips_output_filename): Don't print a
2551 ".file" directive if we are using DWARF-2.
2552 (mips_output_function_prologue): Do not emit source file
2553 name for TARGET_GAS.
2555 Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
2557 * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
2558 decide whether emit the short opcode.
2559 * i386.h (x86_shift1): Declare.
2560 (TARGET_SHIFT1): New macro.
2561 * i386.c (x86_shift1): New global variable.
2563 * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
2564 unconditionally; make loop to rebuild CFG; kill unnecesary
2565 find_basic_block calls; kill compute_bb_for_insn call.
2566 * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
2567 * haifa-sched.c (sched_init): Likewise.
2568 * ssa-ccp.c (ssa_const_prop): Likewise.
2569 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
2571 2002-06-11 David S. Miller <davem@redhat.com>
2573 * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
2576 2002-06-11 Richard Henderson <rth@redhat.com>
2578 * c-common.c (builtin_define_type_max): New.
2579 (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
2580 __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
2582 From Joseph S. Myers:
2583 * glimits.h: Rewrite to expect the double underscore definitions
2586 * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
2587 config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
2588 config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
2589 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
2590 config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
2591 config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
2592 config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
2593 __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
2595 2002-06-11 Richard Henderson <rth@redhat.com>
2597 * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
2598 (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
2599 (code_for_builtns): Update.
2600 (alpha_init_builtins): Add __builtin_thread_pointer and
2601 __builtin_set_thread_pointer.
2602 (alpha_expand_builtin): Handle void builtins.
2603 * doc/extend.texi (Alpha Built-in Functions): Update.
2605 2002-06-11 Hans-Peter Nilsson <hp@axis.com>
2608 * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
2610 2002-06-11 Zack Weinberg <zack@codesourcery.com>
2612 * config.gcc: Make the name of the extra-modes file adjustable
2614 (s390x, strongarm, xscale stanzas): Use this facility.
2615 * configure.in: Update to match.
2616 * configure: Regenerate.
2618 2002-06-11 Aldy Hernandez <aldyh@redhat.com>
2620 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
2621 max/mins as unsigned GE compares.
2623 2002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
2625 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
2626 * config/vax/bsd.h: New file.
2627 * config/vax/netbsd.h: Add missing notice.
2628 (CPP_PREDEFINES): Remove.
2629 (TARGET_OS_CPP_BUILTINS): Define.
2630 (CPP_SPEC): Use NETBSD_CPP_SPEC.
2631 * config/vax/openbsd.h: Update copyright years.
2632 (CPP_PREDEFINES): Remove.
2633 (TARGET_OS_CPP_BUILTINS): Define.
2634 * config/vax/ultrix.h: Likewise.
2635 * config/vax/vaxv.h: Likewise.
2636 * config/vax/vms.h: Likewise.
2637 * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
2638 (CPP_PREDEFINES, CPP_SPEC): Remove.
2640 Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz>
2642 * i386.md (addqi_1_slp, subqi_1_slp
2643 (andqi_ext0, testqi_ext0): Remove unnecesary check.
2644 (addhi*, addqi*): Simplify "dec" condition.
2645 (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
2646 (and, or, xor to QImode splitters): New.
2649 (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
2650 (andqi_ext_1_rex64): New.
2654 (rotrqi3*_slp): New.
2655 (rotlqi3*_slp): New.
2657 2002-06-11 Geoffrey Keating <geoffk@redhat.com>
2659 * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
2661 * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
2662 (CPP_ENDIAN_LITTLE_SPEC): Delete.
2663 * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
2664 * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
2665 __LONG_DOUBLE_128__ setting, _CALL_* setting.
2666 (CPP_DEFAULT_SPEC): Delete.
2667 (CPP_FLOAT_DEFAULT_SPEC): Delete.
2668 (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
2669 (CPP_SYSV_DEFAULT_SPEC): Delete.
2670 (CPP_ENDIAN_BIG_SPEC): Delete.
2671 (CPP_ENDIAN_LITTLE_SPEC): Delete.
2672 (CPP_ENDIAN_SPEC): Delete.
2673 (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
2674 (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
2675 cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
2676 cpp_longdouble_default.
2677 * config/rs6000/softfloat.h: Delete.
2678 * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
2679 (EXTRA_SPECS): Delete cpp_cpu.
2680 (TARGET_CPU_CPP_BUILTINS): New.
2681 * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
2683 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
2684 * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
2685 (CPP_DEFAULT_SPEC): Delete.
2686 * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
2687 * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
2688 * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
2689 (CPP_DEFAULT_SPEC): Delete.
2690 * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
2691 (CPLUSPLUS_CPP_SPEC): Likewise.
2692 (CPP_CPU_SPEC): Delete.
2693 (CPP_DEFAULT_SPEC): Delete.
2694 * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
2695 (CPLUSPLUS_CPP_SPEC): Likewise.
2696 (CPP_CPU_SPEC): Delete.
2697 (CPP_DEFAULT_SPEC): Delete.
2698 * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
2699 (CPP_DEFAULT_SPEC): Delete.
2700 * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
2701 (CPP_DEFAULT_SPEC): Delete.
2703 * doc/gty.texi: Small updates.
2705 2002-06-12 Gabriel Dos Reis <gdr@codesourcery.com>
2707 * objc/objc-act.c (warn_with_ivar): Adjust calls to
2708 diagnostic_count_error.
2709 (warn_with_method): Likewise.
2711 * diagnostic.h (warnings_are_errors_message): New field of
2713 (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
2715 * diagnostic.c: Adjust calls to diagnostic_count_error through out.
2716 (diagnostic_count_diagnostic): Make aware of other kinds of
2718 (diagnostic_initialize): Initialize warnings_are_errors_message field.
2720 2002-06-11 Tom Tromey <tromey@redhat.com>
2723 * fold-const.c (fold_convert): Don't modify existing tree's type.
2725 2002-06-11 Geoffrey Keating <geoffk@redhat.com>
2727 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
2729 2002-06-11 Richard Henderson <rth@redhat.com>
2731 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
2733 2002-06-11 Richard Henderson <rth@redhat.com>
2735 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
2736 DWARF2_UNWIND_INFO is false.
2738 2002-06-11 Bob Wilson <bob.wilson@acm.org>
2740 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
2742 * config/s390/s390.c (emit_prologue): gen_store_multiple
2743 returns an insn now, not a pattern.
2745 2002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2747 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
2750 Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
2752 * i386.c (x86_promote_QImode): Set for Athlon
2753 (x86_fast_prefix): New global variable.
2754 (x86_arch_always_fancy_math_387): Fix formating.
2755 * i386.h (x86_fast_prefix): Declare
2756 (TARGET_FAST_PREFIX): define.
2757 * i386.md (and to strict_low_part, HI to SI
2758 promoting splitter): Use new macro.
2760 * i386.h (RTX_COSTS): float_extend is not for free for SSE.
2762 2002-06-11 Zack Weinberg <zack@codesourcery.com>
2764 * Makefile.in (distclean): Delete junk left in testsuite
2767 2002-06-11 Jeffrey Law <law@redhat.com>
2769 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
2770 last insn created by the splitter.
2772 * caller-save.c (init_caller_save): Move creation of SAVEINSN
2773 and RESTINSN into into the scope of the sequence.
2775 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
2778 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
2780 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
2781 not the pattern. So extract the pattern from the insn.
2783 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
2785 2002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
2787 * config/s390/s390.md (movsi): Only use floating point
2788 register alternatives when operands are already fprs.
2789 (movdi_31, movdi_64): Likewise.
2791 2002-06-11 David S. Miller <davem@redhat.com>
2793 * emit-rtl.c (try_split): Do not abort on non-INSN_P.
2794 Only run RTX equality checks on INSN_P rtl.
2796 2002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
2798 * config/s390/s390.md (reload_base, ltorg): Remove.
2799 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
2800 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
2801 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
2802 s390_asm_output_pool_prologue): Likewise.
2803 * s390.h (s390_pool_start_insn): Likewise.
2805 * s390.c (s390_output_symbolic_const): Remove support for
2806 old-style pool chunks.
2807 (s390_function_epilogue): Likewise.
2808 (s390_output_constant_pool): Likewise. Also, fix incorrect
2809 alignment for 64-bit literal pools.
2810 (print_operand_address): Remove 'y' and 'Y' format flags.
2811 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
2812 old-style pool chunks.
2813 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
2814 (ASM_OUTPUT_POOL_EPILOGUE): Remove.
2815 (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
2817 * s390.c (consttable_operand): New function.
2818 * s390-protos.h (consttable_operand): Declare it.
2819 * s390.h (PREDICATE_CODES): Add consttable_operand.
2820 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
2821 consttable_sf, consttable_df, pool_start_31, pool_end_31,
2822 pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
2823 * s390.c (struct constant, struct constant_pool): New data types.
2824 (constant_modes, gen_consttable): New variables.
2825 (s390_start_pool, s390_end_pool, s390_add_pool,
2826 s390_dump_pool, s390_free_pool): New functions.
2827 (s390_chunkify_pool): Completely reimplement literal pool
2830 * s390.c (s390_pool_overflow): New variable.
2831 * s390.h (s390_pool_overflow): Declare it.
2832 * s390.md (cjump, icjump): Use it to adapt length for out-of-range
2833 jumps in literal pool overflow situations.
2835 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
2836 (s390_frame_info): Account for possible use of RETURN_REGNUM
2837 by new literal pool overflow code.
2838 (s390_emit_prologue): Likewise.
2840 2002-06-05 David S. Miller <davem@redhat.com>
2842 Delete SEQUENCE rtl usage outside of reorg and ssa passes.
2843 * rtl.h (gen_sequence, emit_insns, emit_insns_before,
2844 emit_insns_before_scope, emit_insns_after,
2845 emit_insns_after_scope): Delete declaration.
2846 * ada/misc.c (insert_code_for): Use emit_insn* instead of
2848 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
2849 (alpha_set_memflags): Fix comment.
2850 (set_frame_related_p): Use get_insns instead of gen_sequence.
2851 * config/alpha/alpha.md (setjmp receiver splitter): Avoid
2853 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
2855 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
2856 * config/fr30/fr30.c (fr30_move_double): Likewise.
2857 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
2859 * config/ia64/ia64.c (spill_restore_mem): Likewise.
2860 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
2862 * config/m32r/m32r.c (gen_split_move_double): Use get_insns
2863 instead of gen_sequence.
2864 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
2865 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
2866 * config/sh/sh.c (sh_need_epilogue): Likewise.
2867 * config/sparc/sparc.md (current_function_calls_alloca, flat): New
2869 (setjmp pattern and split): Use them to avoid splitter which emits
2871 * genattrtab.c (main): Emit include of function.h
2872 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
2873 get_insns instead of gen_sequence.
2874 * config/cris/cris.c (cris_split_movdx): Likewise.
2875 * emit-rtl.c (emit_insns*): Kill.
2876 (try_split): Expect insn list instead of SEQUENCE.
2877 (make_jump_insn_raw, make_call_insn_raw): Fix comments.
2878 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
2879 Make them abort if a SEQUENCE is given and RTL checking is
2881 (emit_*_scope): Don't forget to set scope on final insn.
2882 (gen_sequence): Move from here...
2883 * ssa.c (gen_sequence): To here as private function.
2884 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
2886 (expand_builtin_return, expand_builtin_mathfn): Likewise.
2887 (expand_builtin_strlen): Use get_insns instead of gen_sequence.
2888 (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
2889 (expand_builtin_expect_jump): Use get_insns and fix comments.
2890 * calls.c (try_to_integrate): Use emit_insn_foo.
2891 (expand_call, emit_library_call_value_1): Likewise.
2892 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
2893 (emit_move_insn_1): Use get_insns instead of gen_sequence.
2894 (expand_expr): Use emit_insn_foo.
2895 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
2896 * except.c (build_post_landing_pads): Likewise.
2897 * flow.c (attempt_auto_inc): Likewise.
2898 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
2899 expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
2900 * function.c (fixup_var_refs_insn): Use get_insns instead of
2902 (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
2903 (fixup_memory_subreg): Use get_insns instead of gen_sequence.
2904 (fixup_stack_1, purge_addressof_1, expand_main_function,
2905 get_arg_pointer_save_area): Likewise.
2906 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
2907 expand_function_end): Use emit_insn_foo.
2908 (record_insns, keep_stack_depressed): Work with insn list instead
2909 of SEQUENCE, fix comments.
2910 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
2911 noce_try_store_flag_constants, noce_try_store_flag_inc,
2912 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
2913 noce_try_minmax, noce_try_abs): Use emit_insn_foo.
2914 (noce_process_if_block): Use get_insns instead of gen_sequence.
2915 * optabs.c (add_equal_note): Work with insn list, fix comments.
2916 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
2917 (expand_unop, expand_complex_abs, expand_unop_insn,
2918 expand_no_conflict_block): Likewise.
2919 (gen_move_insn): Use get_insns instead of gen_sequence.
2920 (gen_cond_trap): Likewise.
2921 * integrate.c (copy_rtx_and_substitute): Likewise.
2922 (emit_initial_value_sets): Use emit_insn_foo.
2923 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
2924 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
2925 now that RTL generators give insn lists.
2926 * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
2927 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
2928 instead of gen_sequence.
2929 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
2930 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
2931 instead of gen_sequence.
2932 * loop.c (move_movables, emit_prefetch_instructions,
2933 gen_add_mult, check_dbra_loop, gen_load_of_final_value):
2935 (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
2936 (product_cheap_p): Likewise, and add commentary about RTL wastage
2938 * lcm.c (optimize_mode_switching): Use get_insns instead of
2940 * profile.c (gen_edge_profiler): Likewise.
2941 * regmove.c (copy_src_to_dest): Likewise.
2942 * reg-stack.c (compensate_edge): Likewise and fix comment.
2943 * gcse.c (process_insert_insn): Likewise.
2944 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
2945 * jump.c (delete_prior_computation): Update comment.
2946 * genemit.c (gen_expand, gen_split, main): Use get_insns instead
2947 of gen_sequence, update comments to match.
2948 * recog.c (peephole2_optimize): Work with insn lists instead of
2950 * sched-vis.c (print_pattern): Abort on SEQUENCE.
2951 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
2952 Use get_insns instead of gen_sequence.
2953 (copy_loop_body): Likewise and don't emit dummy NOTE.
2954 * genrecog.c: Don't mention SEQUENCE rtl in comments.
2955 * combine.c (try_combine): Expect insn lists from split generator.
2956 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
2959 2002-06-11 Roger Sayle <roger@eyesopen.com>
2960 Andreas Jaeger <aj@suse.de>
2962 * cfgbuild.c: Update copyright years.
2964 2002-06-11 Andreas Schwab <schwab@suse.de>
2966 * config/m68k/m68k.h (PREDICATE_CODES): Define.
2968 2002-06-11 Eric Christopher <echristo@redhat.com>
2970 * doc/tm.texi (Run-time Target): Add comment about flag_iso
2972 * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
2973 * config/mips/ecoffl.h: Ditto.
2974 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
2975 (CPP_PREDEFINES): Ditto.
2976 * config/mips/elfl64.h: Ditto.
2977 * config/mips/elfl.h: Ditto.
2978 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
2979 out until irix header consolidation.
2980 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
2981 with SUBTARGET_OS_CPP_BUILTINS.
2982 * config/mips/iris6.h: Ditto.
2983 (CPLUSPLUS_CPP_SPEC): Remove.
2984 * config/mips/linux.h: Ditto.
2985 * config/mips/netbsd.h: Ditto.
2986 * config/mips/openbsd.h: Ditto.
2987 * config/mips/rtems.h: Ditto.
2988 * config/mips/rtems64.h: Ditto.
2989 * config/mips/sni-svr4.h: Ditto.
2990 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
2991 ISA_MIPS32, ISA_MIPS64): New defines.
2992 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
2993 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
2994 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
2995 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
2996 (TARGET_CPU_CPP_BUILTINS): Define.
2997 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
2998 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
2999 (movdicc): Remove check for ISA_MIPS32.
3000 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
3001 sunordered_df, sunordered_sf, sordered_df, sordered_sf,
3002 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
3003 sunge_sf, sunle_df, sunle_sf): New patterns.
3005 2002-06-11 Neil Booth <neil@daikokuya.demon.co.uk>
3007 * Makefile.in: Update cppmain.o.
3008 * cpphash.h (struct cpp_reader): Move some members to a
3010 (trad_line): Rename saved_line.
3011 (_cpp_read_logical_line_trad): Update.
3012 (_cpp_remove_overlay): New.
3013 * cppinit.c (cpp_create_reader): No need to set saved_line.
3014 (cpp_destroy): Update.
3015 (cpp_read_main_file): Only overlay if compiling.
3016 * cpplex.c (continue_after_nul): Return false if in directive.
3017 * cpplib.c (EXPAND): New.
3018 (directive_table, SEEN_EOL): Update.
3019 (end_directive): Remove overlay if traditional; don't skip
3020 line in traditional #define.
3021 (prepare_directive_trad): New.
3022 (_cpp_handle_directive, run_directive): Update for traditional
3024 (lex_macro_node): Simplify, don't use lex_identifier_trad.
3025 * cpplib.h (struct options): Add preprocess_only.
3026 * cppmain.c: Don't include intl.h.
3027 (cpp_preprocess_file): Set options->preprocess_only.
3028 (scan_translation_unit_trad): Fix, and print line numbers.
3029 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
3030 maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
3031 save_replacement_text, _cpp_create_trad_definition): Update for
3033 (_cpp_overlay_buffer): Save line number.
3034 (_cpp_remove_overlay): Rename from restore_buff, restore line.
3035 (_cpp_read_logical_line_trad): Don't handle overlays here.
3036 (scan_out_logical_line): Process directives.
3038 2002-06-11 Danny Smith <dannysmith@users.sourforge.net>
3040 * gthr-win32.h: Wrap functions in extern "C".
3041 (__gthread_key_t): Typedef as unsigned long,
3043 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
3044 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
3045 (__gthr_win32_once, __gthr_win32_key_create,
3046 __gthr_win32_key_delete, __gthr_win32_getspecific,
3047 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
3048 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
3049 __gthr_win32_mutex_unlock): Declare.
3050 (__gthread_once,__gthread_key_create,
3051 __gthread_key_delete, __gthread_getspecific,
3052 __gthread_setspecific, __gthread_mutex_init_function,
3053 __gthread_mutex_lock,__gthread_mutex_trylock,
3054 __gthread_mutex_unlock): Call corresponding
3055 __gthr_win32_* extern implementations if #defined
3056 __GTHREAD_HIDE_WIN32API.
3057 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
3058 $(srcdir)/config/i386/gthr-win32.c
3059 * config/i386/gthr-win32.c: New implementation file.
3060 (__gthr_win32_once, __gthr_win32_key_create,
3061 __gthr_win32_key_delete, __gthr_win32_getspecific,
3062 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
3063 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
3064 __gthr_win32_mutex_unlock): New functions, based on
3065 static inlines in gthr-win32.h.
3067 2002-06-10 Bob Wilson <bob.wilson@acm.org>
3069 * config/xtensa/xtensa.c (override_options): Don't warn about
3070 using -fpic or -fPIC when PIC is enabled by default.
3072 2002-06-10 Roger Sayle <roger@eyesopen.com>
3074 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
3076 2002-06-10 Zack Weinberg <zack@codesourcery.com>
3078 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
3079 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
3080 exists, substitute its pathname as @extra_modes_file@, define
3081 EXTRA_MODES_FILE to be an appropriate string to #include it
3082 with, and define EXTRA_CC_MODES to 1.
3084 * machmode.def: Update comments. Include EXTRA_MODES_FILE if
3085 it's defined. Get rid of redundancy in calling sequence for
3086 CC; don't use it to define CCmode, to avoid a warning.
3087 * libgcc2.c: Include symcat.h for the sake of machmode.def.
3089 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
3090 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
3091 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
3093 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
3094 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
3096 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
3097 defining extra CC modes.
3099 2002-06-10 Roger Sayle <roger@eyesopen.com>
3100 Andreas Jaeger <aj@suse.de>
3102 * cfgrtl.c (create_basic_block_structure): Remove index argument
3103 and use last_basic_block++ instead. (create_basic_block): Update.
3104 * cfgbuild.c (find_basic_blocks_1): Likewise.
3106 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
3107 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
3108 * sched-ebb.c (schedule_ebbs): Likewise.
3109 * sched-rgn.c (schedule_insns): Likewise.
3110 * ssa-ccp.c (ssa_const_prop): Likewise.
3111 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
3112 * toplev.c (rest_of_compilation): Likewise.
3113 * config/ia64/ia64.c (ia64_reorg): Likewise.
3115 2002-06-10 Roger Sayle <roger@eyesopen.com>
3117 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
3118 of matching registers.
3120 2002-06-10 Roger Sayle <roger@eyesopen.com>
3122 * toplev.c (rest_of_compilation): Disable early if-conversion pass.
3123 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
3125 2002-06-10 Hans-Peter Nilsson <hp@bitrange.com>
3127 * config/mmix/mmix.h: Improve comments.
3128 (CPP_SPEC, CPP_PREDEFINES): Don't define.
3129 (TARGET_CPU_CPP_BUILTINS): Define.
3130 (CANONICALIZE_COMPARISON): Don't define, replace with comment.
3131 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
3133 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
3135 (mmix_constant_address_p): Remove another
3136 redundant test before case.
3137 (mmix_canonicalize_comparison): Remove unused function.
3138 (mmix_print_operand_address): Don't test and adjust for operand in
3139 non-canonical format.
3140 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
3141 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
3143 2002-06-10 Zack Weinberg <zack@codesourcery.com>
3145 * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
3146 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
3147 * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
3148 (gen_compare): Use CCmode unconditionally.
3150 2002-06-10 Jakub Jelinek <jakub@redhat.com>
3152 PR optimization/6759
3153 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
3156 2002-06-10 Jakub Jelinek <jakub@redhat.com>
3159 * c-decl.c (grokfield): Allow user defined types if they declare
3160 structs or unions for unnamed fields.
3162 2002-06-10 Jakub Jelinek <jakub@redhat.com>
3165 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
3167 2002-06-10 Jakub Jelinek <jakub@redhat.com>
3169 PR optimization/6842
3170 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
3171 operand subreg cannot be simplified.
3173 2002-06-10 Jakub Jelinek <jakub@redhat.com>
3175 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
3176 (compare_constant): Likewise.
3177 (output_addressed_constants): Likewise.
3179 2002-06-10 Jakub Jelinek <jakub@redhat.com>
3181 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
3182 merge bb with itself.
3184 2002-06-10 Richard Henderson <rth@redhat.com>
3186 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
3187 (builtin_zapnot): Likewise.
3189 * config/alpha/ev5.md: Don't combine shift and mvi insns in one
3192 2002-06-10 Eric Christopher <echristo@redhat.com>
3194 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
3195 prototype and function.
3196 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
3197 (call_insn_operand): Remove half pic references.
3198 (legitimate_address_p): Ditto.
3199 * config/i386/i386.h: Remove half pic defines.
3201 2002-06-10 Eric Christopher <echristo@redhat.com>
3203 * doc/extend.texi (Return Address): Add note explaining the side-
3204 effects of inlining on __builtin_return_address.
3206 2002-06-10 Tom Tromey <tromey@redhat.com>
3208 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
3209 (c-common.o): Depend on langhooks.h.
3211 2002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
3213 * cpphash.h (_cpp_read_logical_line_trad,
3214 _cpp_expansions_different_trad): Update prototypes.
3215 * cpplex.c (continue_after_nul): New.
3216 * cppmain.c: Include cpphash.h.
3217 (scan_translation_unit_trad): New.
3218 (cpp_preprocess_file): Call it.
3219 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
3221 (_cpp_expansions_different_trad): Update prototype.
3223 Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
3225 Fix cfi generation for SH[1-4]:
3227 * sh.c (frame_insn): New function.
3228 (output_stack_adjust): Add parameter emit_fn. All callers changed.
3229 (push): Now returns rtx. Use frame_insn.
3230 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
3232 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
3234 2002-06-10 Zack Weinberg <zack@codesourcery.com>
3236 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
3238 (mostlyclean): Delete specs.h, options.h, gencheck.h here...
3239 (distclean): ... not here. But do delete all testsuite/*.log,
3240 testsuite/*.sum files here. Delete mkheaders. Delete
3241 po/*.gmo and the testsuite directory in a split tree build.
3243 2002-06-10 Jeffrey Law <law@redhat.com>
3245 * alias.c (static_reg_base_value): New to hold RTL for
3246 items allocated once per function for the aliasing code.
3247 (init_alias_once_per_function): Initialize static_reg_base_value.
3248 (init_alias_analysis): Avoid throw-away allocations of RTL by
3249 using pre-computed values in static_reg_base_value.
3250 * function.c (prepare_function_start): Call
3251 init_alias_once_per_function appropriately.
3252 * rtl.h (init_alias_once_per_function): Declare.
3253 * caller-save (init_caller_save): Restructure slightly to
3254 avoid lots of silly RTL generation.
3255 * expr.c (init_expr_once): Likewise.
3256 * reload1.c (reload_cse_regs_1): Allocate throw-away register
3257 RTL object here. Pass it into children.
3258 (reload_cse_simplify_operands): Use passed-in register RTL
3260 (reload_cse_simplify): Pass through throw-away register
3263 2002-06-10 Daniel Berlin <dberlin@dberlin.org>
3265 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
3267 2002-06-10 Richard Sandiford <rsandifo@redhat.com>
3269 * gcc.c (process_command): Avoid assignment to read-only location.
3270 Fix sizeof calculation.
3272 2002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
3274 * cpphash.h (struct cpp_macro): Put comments on their own lines.
3275 (_cpp_expansions_different_trad): New.
3276 * cppmacro.c (warn_of_redefinition): Fix for traditional case.
3277 * cpptrad.c (canonicalize_text): New.
3278 (scan_out_logical_line): Handle no arguments correctly.
3279 (save_replacement_text): Commit memory when finished.
3280 (_cpp_expansions_different_trad): New.
3282 2002-06-10 Tim Josling <tej@melbpc.org.au>
3284 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
3286 (lang_names): Add treelang and cobol.
3287 (get_file_basename): Add code to support treelang and cobol as
3288 4th and 5th users of c-common.c.
3290 2002-06-09 Geoffrey Keating <geoffk@redhat.com>
3292 * Makefile.in (install-driver): Install driver as
3293 $(target_alias)-gcc-$(version).
3294 * gcc.c (spec_version): Make const.
3295 (process_command): Handle -V and -b by using exec.
3296 * doc/invoke.texi (Target Options): Restore -V option,
3297 update docs for -b option.
3299 2002-06-10 Tim Josling <tej@melbpc.org.au>
3301 * configure.in (remaining_languages_check):
3302 Added check that all languages specified were found.
3303 Exit if not found. Previous behaviour was silent failure.
3304 * configure: Regenerated.
3306 2002-06-10 Tim Josling <tej@melbpc.org.au>
3308 First steps to making treelang documentation compliant, based on
3309 instructions in sourcebuild.texi. Also add to gcc.c list of
3312 * doc/contrib.texi: Add self as contributor of treelang.
3314 * doc/frontends.texi: Add mention of treelang.
3316 * doc/invoke.texi (Overall Options): Add mention of treelang.
3318 * doc/standards.texi: Add mention of treelang.
3320 2002-06-09 Hans-Peter Nilsson <hp@axis.com>
3322 * config/cris/cris.c: Include ggc.h
3324 2002-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
3326 * cpphash.h (_cpp_push_text_context): Update.
3327 (_cpp_arguments_ok): New.
3328 * cppmacro.c (_cpp_arguments_ok): New, split out from...
3329 (collect_args): ...here.
3330 (_cpp_push_text_context): Change inputs.
3331 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
3332 replace_args_and_push): New.
3333 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
3334 Don't use IS macros directly.
3335 (scan_out_logical_line): Handle function-like macro argument
3337 (push_replacement_text): Update.
3338 (replacement_length): Remove.
3339 (_cpp_create_trad_definition): Don't skip whitespace before
3342 2002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
3344 * config/avr/avr.c (avr_mcu_types): Update for new devices.
3345 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
3346 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
3347 * config/avr/avr.md ("type" and "length" attributes): New type
3348 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that
3349 output a single "call" or "rcall" insn depending on device size.
3350 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
3352 2002-06-09 David Edelsohn <edelsohn@gnu.org>
3354 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
3355 synonym for 630. Add power4. Remove embedded processors. Use -m604
3357 (CPP_CPU_SPEC): Add power3 and power4.
3358 (PROCESSOR_DEFAULT): Change to 604e.
3359 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
3360 (CPP_CPU_SPEC): Similar additions.
3361 (enum process_type): Add POWER4.
3362 (RTX_COSTS): Add POWER4.
3363 (CPP_CPU_SPEC): Similar additions.
3364 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
3365 (PROCESSOR_DEFAULT64): Define.
3366 * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
3367 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
3369 (rs6000_issue_rate): Add Power4.
3370 * config/rs6000/rs6000.md (cpu attr): Add power4.
3371 (iu compare): Remove 604, 604e, 620, 630.
3372 Add basic Power4 scheduling information.
3373 (mfcr/mtcrf): Change type attribute to cr_logical.
3375 2002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3377 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
3379 * gengtype-lex.l: Fix format specifier warning.
3381 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,
3383 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
3384 lieu of isspace/IDchar.
3385 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
3386 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
3389 2002-06-08 Zack Weinberg <zack@codesourcery.com>
3391 * Makefile.in (LIBCPP_OBJS): Take out version.o.
3392 * cpphash.h (cpp_reader): Take out print_version member.
3393 * cppinit.c: (cpp_handle_option): Don't do anything with
3394 -version. Just set help_only for --version, --target-help.
3395 Just set verbose option for -v.
3396 (cpp_post_options): Don't print a version string.
3398 2002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
3400 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
3401 (avr_section_type_flags): New, handle .noinit* sections.
3403 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
3405 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
3406 and include netbsd_entry_point.
3407 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
3408 (NETBSD_ENTRY_POINT): Define.
3410 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
3412 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
3413 if not already defined.
3414 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
3416 2002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
3418 * config/avr/avr.c (avr_regs_to_save): No need to save any registers
3419 in a noreturn function.
3420 (avr_output_function_prologue, avr_output_function_epilogue):
3421 Correct function size calculation. Do not crash on empty function.
3422 (avr_output_function_epilogue): No need for epilogue after a BARRIER.
3424 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
3426 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
3427 netbsd_link_spec and netbsd_entry_point.
3428 (LINK_SPEC): Use %(netbsd_link_spec).
3429 (NETBSD_ENTRY_POINT): Define.
3431 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
3433 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
3435 (LINK_ARCH64_SPEC): Likewise.
3436 (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
3437 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.