OSDN Git Service

5c659805be5fc367edba1c74057af8f476148938
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
2
3         PR optimization/7153
4         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
5         dies in more than one insn.
6
7 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
8
9         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
10
11 2002-07-15  Michael Matz  <matz@suse.de>,
12             Daniel Berlin  <dberlin@dberlin.org>,
13             Denis Chertykov  <denisc@overta.ru>
14
15         Add a new register allocator.
16
17         * ra.c: New file.
18         * ra.h: New file.
19         * ra-build.c: New file.
20         * ra-colorize.c: New file.
21         * ra-debug.c: New file.
22         * ra-rewrite.c: New file.
23
24         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
25         (ra-rewrite.o): New .o files for libbackend.a.
26         (GTFILES): Add basic-block.h.
27
28         * toplev.c (flag_new_regalloc): New.
29         (f_options): New option "new-ra".
30         (rest_of_compilation): Call initialize_uninitialized_subregs()
31         only for the old allocator.  If flag_new_regalloc is set, call
32         new allocator, instead of local_alloc(), global_alloc() and
33         friends.
34
35         * doc/invoke.texi: Document -fnew-ra.
36         * basic-block.h (FOR_ALL_BB): New.
37         * config/rs6000/rs6000.c (print_operand): Write small constants
38         as @l+80.
39
40         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
41         (df_reg_table_realloc): Make size at least as large as max_reg_num().
42         (df_insn_table_realloc): Size argument now is absolute, not relative.
43         Changed all callers.
44
45         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
46         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
47
48         2002-06-20  Michael Matz  <matz@suse.de>
49
50         * df.h (struct ref.id): Make unsigned.
51         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
52
53         2002-06-13  Michael Matz  <matz@suse.de>
54
55         * df.h (DF_REF_MODE_CHANGE): New flag.
56         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
57         involving subregs with invalid mode changes, when
58         CLASS_CANNOT_CHANGE_MODE is defined.
59
60         2002-05-07  Michael Matz  <matz@suse.de>
61
62         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
63
64         2002-05-03  Michael Matz  <matz@suse.de>
65
66         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
67
68         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
69
70         * regclass.c (regclass): Work with all regs which have sets or
71         refs.
72         (reg_scan_mark_refs): Count regs inside (clobber ...).
73
74         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
75
76         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
77         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
78         add new refs.
79         (df_bb_refs_update): Don't clear insns_modified here, ...
80         (df_analyse): ... but here.
81
82         * sbitmap.c (dump_sbitmap_file): New.
83         (debug_sbitmap): Use it.
84
85         * sbitmap.h (dump_sbitmap_file): Add prototype.
86
87         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
88
89         * df.c (df_insn_modify): Grow the UID table if necessary, rather
90         than assume all emits go through df_insns_modify.
91
92         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
93
94         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
95         increase REG_N_REFS (like flow does), so that regclass doesn't
96         think a reg is useless, and thus, not calculate a class, when it
97         really should have.
98
99         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
100
101         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
102         dataflow analysis.
103
104 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
105
106         PR middle-end/7245
107         * config/i386/i386.c (const_int_1_31_operand): New.
108         * config/i386/i386.h (PREDICATE_CODES): Add it.
109         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
110         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
111         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
112
113 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
114
115         PR target/7282
116         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
117         (floatunssidf2): Likewise.
118         (floatsidf_ppc64): New insn_and_split.
119         (floatunssidf_ppc64): Likewise.
120
121 2002-07-14  Andreas Jaeger  <aj@suse.de>
122
123         * config.gcc (sh64): Remove unused
124         target_requires_64bit_host_wide_int.
125
126 2002-07-12  Roger Sayle  <roger@eyesopen.com>
127
128         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
129         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
130         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
131         whether clear_by_pieces should be used to clear storage.
132         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
133
134         * doc/tm.texi: Document these two new target macros.
135
136 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
137
138         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
139         the scratch register.
140         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
141         of it, forbid reload to use it.
142
143 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
144
145         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
146         usage on 64-bit hosts, return value was truncated to 32 bits.
147
148 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
149
150         * simplify-rtx.c (simplify_subreg): Handle floating point
151         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
152         the element mode is requested, compute a subreg with an
153         integer mode of the same size as the element mode first.
154
155 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
156
157         * combine.c (try_combine): When converting a paradoxical subreg
158         to an extension, take LOAD_EXTEND_OP into account.
159
160 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
161
162         * config.gcc (mips-sgi-irix6*o32): New configuration.
163
164         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
165         configurations.
166         * configure: Regenerate.
167
168         * config/mips/iris6-o32-as.h: New file.
169         * config/mips/iris6-o32.h: New file.
170
171         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
172         (NM_FLAGS): Define.
173         (HAVE_AS_SHF_MERGE): Undefine.
174
175         * config/mips/t-iris5-as: New file.
176         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
177
178         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
179         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
180         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
181         dp-bit.c, fp-bit.c): Move ...
182         * config/mips/t-iris5-6: ... here.
183         New file, shared by IRIX 5 and IRIX 6.
184         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
185         mips-sgi-irix5*): Use it.
186
187         * config/mips/iris6.h: Remove duplicate comment.
188
189         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
190         !TARGET_IRIX6]: Define.
191         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
192
193         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
194
195 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
196
197         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
198         and delete code to force constant to register.
199         * pa-protos.h (adddi3_operand): Add prototype.
200         * pa.c (adddi3_operand): New function.
201
202 2002-07-11  Roger Sayle  <roger@eyesopen.com>
203
204         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
205         non-ANSI builtin functions.
206
207 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
208
209         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
210         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
211         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
212         (gen_const_vector_0): Use it.
213
214 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
215
216         * pa.md (adddi3): For 32-bit targets, force constants to a register
217         if they don't fit in an 11-bit immediate.  Change insn predicate to
218         arith11_operand.  Remove comment.
219         * pa.c (cint_ok_for_move): Fix comment.
220         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
221         targets.
222
223 2002-07-11  Tim Josling  <tej@melbpc.org.au>
224
225         Remove front end hard coding from gengtype.c.
226
227         * Makefile.in
228         (STAGESTUFF): add gtyp-gen.h
229         (GTFILES): Remove front end specific files.
230         (GTFILES_FILES_LANGS): New, from configure..
231         (GTFILES_FILES_FILES): Likewise.
232         (GTFILES_LANG_DIR_NAMES): Likewise.
233         (GTFILES_SRCDIR): Likewise.
234         (gtyp-gen.h): Build from configure information.
235         (s-gtype): Remove command line parameters from gengtype.
236         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
237         (mostlyclean): Delete files generated by and for gengtype.
238
239         * c-config-lang.in: New file.
240
241         * configure.in (all_gtfiles_files_langs): New. Accumulate files
242         for each language.
243         (all_gtfiles_files_files): New. Accumulate language for each file
244         accumulated.
245         (gtfiles): Pick up value for C.
246         (srcdir): AC-SUBST this variable.
247         (all_gtfiles_files_langs): AC-SUBST this variable.
248         (all_gtfiles_files_files): AC-SUBST this variable.
249
250         * configure: Regenerate.
251
252         * gengtype-lex.l (parse_file): Make parameter const.
253
254         * gengtype.c (toplevel): include gtyp-gen.h.
255         (BASE_FILE_<language> unnamed enum): Delete.
256         (lang_names): Delete (replaced by gtyp-gen.h)
257         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
258         all references.
259         (NUM_GT_FILES): New.
260         (NUM_LANG_FILES): New.
261         (srcdir_len): New.
262         (NUM_BASE_FILES): Change calculation.
263         (open_base_files): Change prototype to avoid warning.
264         (startswith): Delete.
265         (get_file_basename): Iterate through generated language list not
266         hard coded list.
267         (get_base_file_bitmap): Use generated list of files and languages.
268         (close_output_files): Add prototype to rmove warning.
269         (main): Iterate through list of generated files from gtyp-gen.h
270         rather than command line paramaters.  Ignore duplicated file
271         names.
272
273         * gengtype.h (parse_file): Amend prototype for const parameter.
274
275         * doc/sourcebuild.texi: Document gtfiles variable.
276
277         * doc/gty.texi: Document changes to gtfiles variable for front
278         ends.
279
280         * objc/config-lang.in (gtfiles): Add files needed for objc front
281         end.
282
283 2002-07-10  Roger Sayle  <roger@eyesopen.com>
284
285         PR c/2454
286         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
287         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
288
289 2002-07-10  Roger Sayle  <roger@eyesopen.com>
290             Zack Weinberg <zack@codesourcery.com>
291
292         * builtins.def: Make the argument types of abort and exit
293         independent of the front-end.
294
295 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
296
297         * config/rs6000/linux64.h (ASM_SPEC): Define.
298
299 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
300
301         * config/rs6000/rs6000.c (emit_frame_save): New.
302         (rs6000_frame_related): Replace reg2 before reg.
303         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
304         and eh_return registers.
305
306 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
307
308         Revert all patches for optimization of Complex .op. Real.
309         * complex_part_zero_p: Remove
310         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
311         with x.
312         * expand_cmplxdiv_wide: Ditto.
313         * expand_binop: Ditto.
314
315 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
316
317         * config/avr/avr.md: Fix two 0x80000000 constants to make them
318         negative also on 64-bit hosts.
319
320         Default to -fno-reorder-blocks when optimizing for size.
321         * config/avr/avr-protos.h (avr_optimization_options): Declare.
322         * config/avr/avr.c (avr_optimization_options): New function.
323         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
324
325         Optimize returning from simple functions.
326         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
327         * config/avr/avr.c (avr_simple_epilogue): New function.
328         * config/avr/avr.md (return): New insn.
329
330 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
331
332         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
333         HAS_INIT_SECTION to protection.
334
335 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
336
337         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
338         deprecated.
339
340 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
341
342         * combine.c (gen_lowpart_for_combine): Handle vector modes.
343         Supply non-VOID mode to simplify_gen_subreg.
344
345 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
346
347         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
348
349 2002-07-10  Jeffrey A Law  <law@redhat.com>
350
351         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
352         as appropriate.
353
354         * mn10200.c (expand_epilogue): Fix test to determine which scratch
355         register to use.
356
357 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
358
359         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
360         Get mode from dest.
361         If simplify_gen_subreg fails, try next equivalent.
362
363 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
364
365         * diagnostic.h: #include location.h
366         (location_t): Move definition to..
367         * location.h: ... here.  New file.
368         * tree.h: #include location.h
369         (DECL_SOURCE_LOCATION): New macro.
370         (DECL_SOURCE_FILE): Use.
371         (DECL_SOURCE_LINE): Likewise.
372         (struct tree_decl): REplace filename and linenum with locus.
373         * Makefile.in (TREE_H): add location.h
374         (diagnostic.o): Depends on gt-location.h
375         (gt-location.h): Depends on s-gtype
376
377 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
378
379         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
380         TARGET_OS_CPP_BUILTINS.
381         * config/rs6000/aix31.h: Likewise.
382         * config/rs6000/aix41.h: Likewise.
383         * config/rs6000/aix43.h: Likewise.
384         * config/rs6000/aix51.h: Likewise.
385         * config/rs6000/beos.h: Likewise.
386         * config/rs6000/darwin.h: Likewise.
387         * config/rs6000/eabi.h: Likewise.
388         * config/rs6000/eabisim.h: Likewise.
389         * config/rs6000/linux.h: Likewise.
390         * config/rs6000/linux64.h: Likewise.
391         * config/rs6000/lynx.h: Likewise.
392         * config/rs6000/mach.h: Likewise.
393         * config/rs6000/rtems.h: Likewise.
394         * config/rs6000/sysv4.h: Likewise.
395         * config/rs6000/vxppc.h: Likewise.
396
397 2002-07-09 Devang Patel <dpatel@apple.com>
398         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
399         Do not allow ObjC objects as a parameter type for Objective-C methods.
400         My previous patch restricted  'struct' also.
401
402 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
403
404         * cpperror.c (cpp_error): Default to directive_line within
405         directives here.
406         * cppexp.c (cpp_interpret_integer): Only use traditional
407         number semantics in directives.
408         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
409         (do_include_common): Similarly.
410         * cpptrad.c (scan_out_logical_line): Implement accurate
411         quoting of <> in #include.
412         * doc/cpp.texi: Update.
413
414 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
415                           J"orn Rennecke <joern.rennecke@superh.com>
416
417         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
418         * sh.md (attribute issues): Replace with:
419         (attribute pipe_model).  All users changed.
420         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
421         All users changed.
422         (function units sh5issue, sh5fds): New.
423         (attribute is_mac_media): New.
424         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
425         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
426         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
427         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
428         (call_media, call_value_media, sibcall_media): Likewise.
429         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
430         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
431         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
432         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
433         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
434         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
435         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
436         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
437         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
438         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
439         (truncdfsf2_media): Likewise.
440         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
441         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
442
443 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
444
445         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
446         * sh.c (general_extend_operand, inqhi_operand): New functions.
447         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
448         alternatives using 'N' modifier.  Add type.
449         (adddi3z_media): Likewise.  Enable generator function generation.
450         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
451         exact predicates / constraints.  Add type.
452         (subsi3): Allow 0 for SHMEDIA.
453         (udivsi3_i4_media): Use match_operand for input values
454         rather than hard registers.
455         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
456         unnecessarily through hard registers.  Keep copies of pseudo
457         registers outside of the libcall sequence.
458         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
459         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
460         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
461         (extendhidi2, extendqidi2): Likewise.
462         (andsi3_compact): Name.
463         (andcdi3): Enable generator function generation.
464         (zero_extendhisi2, zero_extendqisi2): Rename to
465         (zero_extendhisi2_compact, zero_extendqisi2_compact).
466         (extendhisi2, extendqisi2): Rename to
467         (extendhisi2_compact, extendqisi2_compact).
468         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
469         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
470         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
471         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
472         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
473         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
474         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
475         (shmedia32_initialize_trampoline_big): Likewise.
476         (shmedia32_initialize_trampoline_little): Likewise.
477         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
478         (negdi2): Remove spurious T clobber.
479         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
480         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
481         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
482         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
483         (ic_invalidate_line_media): Write back data cache before invalidating
484         instruction cache.  Add type.
485         (movsf_media): Sign-extend when the destination is a general
486         purpose register.  Add type.
487         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
488         (casesi_worker_0+1): Only increment ref count for proper label.
489         (casesi_worker_0+2): Likewise.
490
491 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
492
493         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
494
495 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
496
497         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
498         from Pmode to ptr_mode.
499         (get_exception_pointer): Ditto.
500         (connect_post_landing_pads): Ditto.
501         (dw2_build_landing_pads): Ditto.
502
503 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
504         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
505         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
506         (handle_pragma_redefine_extname): Change to use new function.
507
508 2002-07-08  Roger Sayle  <roger@eyesopen.com>
509
510         * combine.c (combine_simplify_rtx): Add an explicit cast
511         to avoid signed/unsigned comparison warning.
512         (simplify_if_then_else): Likewise.
513         (extended_count): Likewise.
514         (simplify_shift_const): Likewise.
515         (simplify_comparison): Likewise.
516
517 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
518
519         * config/mips/mips.md: Add imadd type.  Update scheduler description
520         to use imadd as well as imul.
521         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
522         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
523         (*mul_sub_si): Likewise for first alternative.  Change second
524         alternative from imul to multi.
525
526 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
527
528         * c-common.c (c_common_post_options): Update prototype;
529         don't init backends if preprocessing only.
530         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
531         * langhooks.h (struct lang_hooks): Update post_options to
532         return a boolean.
533         * toplev.c (parse_options_and_default_flags, do_compile,
534         lang_independent_init): Update prototypes.  Allow the
535         front end to specify that there is no need to initialize
536         the back end.
537         (general_init): Move call to hex_init here...
538         (toplev_main): ...from here.  Pass flag for back end init
539         suppression.
540
541 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
542
543         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
544         (PREDICATE_CODES): Add entries for equality_comparison_operator,
545         greater_comparison_operator and less_comparison_operator.
546         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
547         more operators.
548         (equality_comparison_operator): New function.
549         (greater_comparison_operator, less_comparison_operator): Likewise.
550         * sh.md (beq_media_i): Disable generator function generation.
551         Use match_operator to handle a whole class of comparisons.  Add
552         modifier in output template to provide branch prediction.  Add type.
553         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
554         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
555         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
556         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
557
558 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
559
560         Emit MMIX function prologue and epilogue as rtl.
561         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
562         not unprototyped get_hard_reg_initial_val.
563         ("call_value", "nonlocal_goto_receiver"): Ditto.
564         ("return"): Make define_expand.  Move real insn to...
565         ("*expanded_return"): New pattern.
566         ("prologue", "epilogue"): New define_expands.
567         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
568         (struct machine_function): New member in_prologue.
569         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
570         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
571         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
572         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
573         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
574         (LOCAL_REGNO): Define.  Adjust comment.
575         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
576         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
577         leaf_function_p.
578         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
579         the prologue.
580         (mmix_target_asm_function_prologue): Make static.  Just mark that
581         the prologue is being emitted.  Move guts to...
582         (mmix_expand_prologue): New function.  Adjust for emitting
583         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
584         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
585         \n.  Move guts to...
586         (mmix_expand_epilogue): New function.  Adjust for emitting
587         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
588         (mmix_target_asm_function_end_prologue): Mark that the prologue
589         has ended.
590         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
591         (mmix_conditional_register_usage): Improve comments.
592         (mmix_local_regno): New function.
593         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
594         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
595         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
596         (mmix_get_hard_reg_initial_val): Ditto.
597
598 2002-07-06  Andreas Jaeger  <aj@suse.de>
599
600         * toplev.c (set_fast_math_flags): Don't use ISO C style function
601         definitions.
602         * gengtype.c (open_base_files): Likewise.
603         (close_output_files): Likewise.
604         * tracer.c (find_best_predecessor): Likewise.
605         (find_best_successor): Likewise.
606         (ignore_bb_p): Likewise.
607
608 2002-07-05  Roger Sayle  <roger@eyesopen.com>
609
610         PR c++/7099
611         * builtin-attrs.def: Define new attribute lists for use in
612         builtins.def.
613         * builtins.def [DEF_BUILTIN]: Modify to take an additional
614         ATTRS argument, an enumerated value defined in builtin-attrs.def
615         that represents the attribute list for the builtins.  Modify
616         all builtin functions to pass an appropriate attribute list.
617         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
618         their required noreturn attributes.
619         * tree.h (enum_builtin_function): Ignore the additional parameter
620         to DEF_BUILTIN.
621         * builtins.c (built_in_names): Likewise.
622         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
623         argument with a tree representing the functions attribute list.
624         Pass this "attrs" argument to builtin_function.  No longer handle
625         the noreturn_p processing manually.
626         (built_in_attributes): Move the definitions from builtin-attrs.def
627         before c_common_nodes_and_builtins.
628         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
629         DEF_BUILTIN, passing it to both builtin_function and the changed
630         builtin_function_2.
631
632         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
633         __builtin__exit and __builtin__Exit.
634
635 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
636
637         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
638         QI mode registers in soft registers.
639         ("zero_extendqihi2"): Do not take into account soft registers
640         for register allocation (use '*' constraint).
641
642 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
643
644         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
645         it is dead.
646         ("*ashrsi3"): Likewise.
647         ("*lshrsi3"): Likewise.
648
649 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
650
651         * genautomata.c (output_max_insn_queue_index_def): Take latencies
652         into account.
653
654 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
655
656         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
657         address computation and memory moves.
658
659 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
660
661         PR c++/6706
662         * dwarfout.c (output_reg_number): Fix warning message.
663         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
664         before using it.
665
666 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
667
668         * gcc/gcc.c (asm_debug): Move initialization ...
669         (init_spec): ... here.
670
671 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
672
673         * c-parse.in (extdef): Append ';'.
674         (old_style_parm_decls): Append ';'.
675
676 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
677
678         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
679         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
680         to gcc_cv_as_gstabs_flag.
681         * configure: Rebuilt.
682
683 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
684
685         * ggc.h (ggc_add_root): Document as obsolete.
686
687 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
688
689         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
690         (mshflo_w): Likewise.
691
692 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
693
694         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
695         vector mode subregs of constants to finding integer mode
696         subregs of constants.
697         * cse.c (cse_insn): Use simplify_gen_subreg.
698         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
699         From a vector mode expression of different size than the
700         target mode.
701
702 2002-07-03  Eric Christopher  <echristo@redhat.com>
703
704         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
705         * config/mips/mips.h: Remove deprecated -m<processor> options
706         and cc1_cpu_spec associated.
707         (CONSTANT_ADDRESS_P): Fix last patch.
708         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
709         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
710         sunge_sf): Remove.
711
712 2002-07-03  Stan Shebs  <shebs@apple.com>
713
714         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
715         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
716         (CPP_SPEC): Remove insertion of APPLE_CC definition.
717
718 2002-07-03  Roger Sayle  <roger@eyesopen.com>
719
720         * combine.c (struct_undo): Change types of recorded substitutions
721         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
722         (do_SUBST_INT): Change types of the substitution from unsigned int
723         to int, to avoid compilation warning from SUBST_INT's only caller.
724
725         (make_extraction): Add cast to avoid compilation warning.
726         (force_to_mode): Remove cast to avoid compilation warning.
727
728 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
729             Jeff Law  <law@redhat.com>
730
731         * i386.md (length_immediate attribute): Fix typo.
732         (length_address attribute): Likewise.
733         (modrm attribute): Set it to 0 for immediate call instructions.
734         (jcc_1 pattern): Set modrm attribute to 0.
735         (jcc_2 pattern ): Likewise.
736         (jump pattern): Likewise.
737         (doloop_end_internal pattern): Explicitly set length.
738         (leave pattern): Fix typo.
739         (leave_rex64 pattern): Likewise.
740
741 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
742
743         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
744         in FPR as preference.
745         (fctiwz): Same.
746         (floatdidf2, fix_truncdfdi2): Same.
747         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
748         (floatditf2): Same.
749         (floatsitf2, fix_trunctfsi2): SImode in GPR.
750         (ctrdi): Remove FPR alternative and splitter.
751
752 2002-07-03  Will Cohen  <wcohen@redhat.com>
753
754         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
755
756 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
757
758         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
759         than UNITS_PER_WORD, unless this is little endian and the first unit
760         in this word.  Let extract_bit_field decide how to load an element.
761         Force arguments to matching mode.
762         (expand_vector_unop): Likewise.
763
764         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
765         consist of word_mode elements.
766         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
767         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
768         (build_unary_op): Allow vector types for BIT_NOT_EPR.
769         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
770         CONST_VECTOR.
771         * optabs.c (expand_vector_binop): Try to perform operation in
772         smaller vector modes with same inner size.  Add handling of AND, IOR
773         and XOR.  Reject expansion to inner-mode sized scalars when using
774         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
775         (expand_vector_unop): Try to perform operation in smaller vector
776         modes with same inner size.  Add handling of one's complement.
777         When there is no vector negate operation, try a vector subtract
778         operation.  Use simplify_gen_subreg on constants.
779         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
780         constants into smaller vectors with same inner mode, and to
781         integer CONST_DOUBLEs.
782
783 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
784
785         * c-parse.in (parsing_iso_function_signature): New variable.
786         (extdef_1): New, copied from...
787         (extdef): ... here.  Reset parsing_iso_function_signature.
788         (old_style_parm_decls):  Reset parsing_iso_function_signature.
789         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
790         Warn about ISO C style function definitions.
791         (nested_function, notype_nested_function): Reset
792         parsing_iso_function_signature.
793         (parmlist_2): Set parsing_iso_function_signature.
794
795         * doc/invoke.texi (-Wtraditional): Document new behavior.
796
797 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
798
799         * config.gcc (mips*el-*-*): Use tm_defines to set
800         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
801         * config/mips/little.h: Remove.
802
803 2002-07-02 Devang Patel <dpatel@apple.com>
804
805         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
806         object as parameter. Prevent something like 'NSObject' to be
807         used as the type for a method argument.
808
809 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
810
811         * cpptrad.c: Update comment.
812
813 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
814
815         * doc/cpp.texi: Update for traditional preprocessing changes.
816         * goc/cppopts.texi: Similarly.
817
818 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
819
820         * c-parse.in (designator): Enable designated initializers if ObjC.
821         (objcmessageexpr): Remove references to objc_receiver_context.
822         * objc/objc-act.h (objc_receiver_context): Remove decl.
823         * objc/objc-act.c (objc_receiver_context): Remove.
824         (lookup_objc_ivar): Test objc_method_context instead of
825         objc_receiver_context.
826
827 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
828
829         * sh.c (print_operand, case 'N'): Allow zero vector.
830         (arith_reg_or_0_operand): Likewise.
831         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
832         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
833         IOR, XOR, PLUS and SET and take their respective constant
834         ranges into account.
835         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
836         * sh.md (subdi3, subdi3_media): Allow zero operand.
837         (movv8qi_i+3): Only vector that is not split is the zero vector.
838         Fix operand 3 to simplify_subreg.
839         (movv2si_i): Split alternative 1.
840         (mshfhi_l_di_rev+1): New splitter.
841
842 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
843
844         PR preprocessor/7029
845         * cppinit.c (cpp_handle_option):  Suppress warnings with an
846         implicit "-w" for "-M" and "-MM".
847         * doc/cppopts.texi: Update.
848
849 2002-07-01  Roger Sayle  <roger@eyesopen.com>
850
851         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
852         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
853         builtin_function.
854
855 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
856
857         * README.Portability: Fix typos.
858
859 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
860
861         PR target/7177
862         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
863         of indirections for register inside sign-extended mem part.
864
865 2002-07-01  Roger Sayle  <roger@eyesopen.com>
866
867         * tree.h:  Modify builtin_function interface to take an extra
868         argument ATTRS, which is a tree representing an attribute list.
869
870         * c-decl.c (builtin_function): Accept additional parameter.
871         * objc/objc-act.c (builtin_function): Likewise.
872         * f/com.c (builtin_function): Likewise.
873         * java/decl.c (builtin_function): Likewise.
874         * ada/utils.c (builtin_function): Likewise.
875         * cp/decl.c (builtin_function): Likewise.
876         (builtin_function_1): Likewise.
877
878         * c-common.c (c_common_nodes_and_builtins): Pass an additional
879         NULL_TREE argument to builtin_function.  (builtin_function_2):
880         Likewise.
881         * cp/call.c (build_java_interface_fn_ref): Likewise.
882         * objc/objc-act.c (synth_module_prologue): Likewise.
883         * java/decl.c (java_init_decl_processing): Likewise.
884         * f/com.c (ffe_com_init_0): Likewise.
885
886         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
887         NULL_TREE argument to builtin_function.
888         * config/arm/arm.c (def_builtin): Likewise.
889         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
890         * config/i386/i386.c (def_builtin): Likewise.
891         * config/ia64/ia64.c (def_builtin): Likewise.
892         * config/rs6000/rs6000.c (def_builtin): Likewise.
893
894 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
895
896         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
897         * config/mips/t-isa3264: Likewise.
898         * config/mmix/t-mmix: Likewise.
899
900 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
901
902         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
903
904 2002-07-01  Roger Sayle  <roger@eyesopen.com>
905
906         PR opt/4046
907         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
908         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
909         B are truth values.
910
911 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
912
913         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
914
915 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
916
917         * README.Portability (Function prototypes): Give an example of
918         declaring and defining a function with no arguments.
919
920         * README.Portability (Function prototypes): Document new
921         variable-argument function macros.
922
923 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
924
925         * sh.c (langhooks.h): Include.
926         (sh_init_builtins, sh_media_init_builtins): New functions.
927         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
928         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
929         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
930         (builtin_description): New struct tag.
931         (signature_args, bdesc): New arrays.
932         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
933         (print_operand): Add 'N' modifier.
934         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
935         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
936         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
937         (CONST_COSTS): Add special case for SHmedia AND.
938         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
939         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
940         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
941         target_operand can also be const or unspec.
942         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
943         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
944         (attribute type): Add new types.
945         (anddi3): Add splitter.
946         (movdi_const_16bit+1): Add code to handle vector constants and
947         bitmasks efficiently.
948         (shori_media): Have generator function made.
949         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
950         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
951         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
952         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
953         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
954         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
955         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
956         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
957         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
958         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
959         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
960         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
961         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
962         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
963         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
964         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
965         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
966         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
967         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
968         (ftrv): Likewise.
969
970         (fpu_switch+1, fpu_switch+2): Remove constraint.
971
972 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
973
974         * tree.c (build_function_type_list): Update function comment.
975         Rename first argument to return_type.
976
977 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
978
979         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
980         tradcif.y and related files.
981
982 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
983
984         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
985
986 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
987
988         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
989
990 2002-06-30  Devang Patel  <dpatel@apple.com>
991
992         * objc/objc-act.c (finish_file): Avoid finish_objc() if
993         -fsyntax-only.
994
995 Fri Jun 28 17:22:37 2002  Denis Chertykov  <denisc@overta.ru>
996                           Frank Ch. Eigler  <fche@redhat.com>
997                           Matthew Green  <mrg@redhat.com>
998                           Richard Henderson <rtl@redhat.com>
999                           Dave Hudson  <dave.hudson@ubicom.com>
1000                           Jeff Johnston  <jjohnstn@redhat.com>
1001                           Alan Lehotsky <apl@alum.mit.edu>
1002                           Bernd Schmidt  <bernds@redhat.com>
1003                           Graham Stott  <grahams@redhat.com>
1004
1005         * doc/extend.texi: Add ip2k port to description of attribute
1006         naked.
1007         * doc/install.texi (Specific): Add ip2k description.
1008         * doc/install-old.texi (Configurations): Add ip2k to possible
1009         cpu types.
1010         * doc/md.texi: Document ip2k constraints.
1011         * config/ip2k/crt0.S: New file.
1012         * config/ip2k/ip2k-protos.h: New file.
1013         * config/ip2k/ip2k.c: New file.
1014         * config/ip2k/ip2k.h: New file.
1015         * config/ip2k/ip2k.md: New file.
1016         * config/ip2k/libgcc.S: New file.
1017         * config/ip2k/t-ip2k: New file.
1018
1019 2002-06-30  Hans-Peter Nilsson  <hp@bitrange.com>
1020
1021         * config/mmix/mmix.md ("return"): New pattern.
1022         * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
1023         (TARGET_USE_RETURN_INSN): New macros.
1024         (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
1025         (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
1026         * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
1027         (MMIX_POP_ARGUMENT): New macro.
1028         (mmix_target_asm_function_prologue): When no epilogue is executed,
1029         just emit a blank line.  Use MMIX_POP_ARGUMENT with final POP insn.
1030         (mmix_print_operand) <case '.'>: New case.
1031         (mmix_print_operand_punct_valid_p): Match '.'.
1032         (mmix_use_simple_return): New function.
1033         * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
1034         * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
1035         -msingle-exit, -mno-single-exit.
1036         (MMIX Options): Ditto.
1037
1038 2002-06-30  Aldy Hernandez  <aldyh@redhat.com>
1039
1040         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
1041
1042 2002-06-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1043
1044         * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
1045
1046 2002-06-30  Alan Modra  <amodra@bigpond.net.au>
1047
1048         * unroll.c (loop_iterations): Handle EQ loops.
1049
1050 2002-06-29  David Edelsohn  <edelsohn@gnu.org>
1051
1052         * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
1053         constraint in define_expand, not splitter.
1054         Formatting.
1055
1056 2002-06-29  Aldy Hernandez  <aldyh@redhat.com>
1057
1058         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
1059         build_function_type_list instead of build_function_type.
1060
1061         * config/ia64/ia64.c (ia64_init_builtins): Same.
1062
1063         * config/alpha/alpha.c (alpha_init_builtins): Same.
1064
1065         * config/rs6000/rs6000.c (altivec_init_builtins): Same.
1066
1067         * config/arm/arm.c (arm_init_builtins): Same.
1068
1069         * tree.h: Add build_function_type_list prototype.
1070
1071         * tree.c (build_function_type_list): New.
1072
1073 2002-06-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1074
1075         * collect2.c (scan_prog_file): Fix typo in message.
1076
1077 2002-06-28  Aaron Lehmann  <aaronl@vitelus.com>
1078
1079         * fold-cont.c: Remove unused CHARMASK.
1080
1081 2002-06-29  Neil Booth  <neil@daikokuya.co.uk>
1082
1083         PR preprocessor/7150
1084         * cppmain.c (scan_translation_unit_trad): Simplify.
1085         * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
1086
1087 2002-06-29  Neil Booth  <neil@daikokuya.demon.co.uk>
1088
1089         * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
1090         Don't use CPP_PREDEFINES.
1091         * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
1092         Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
1093         * config/i386/djgpp.h, config/i386/i386-coff.h,
1094         config/i386/i386-interix.h, config/i386/i386-interix3.h,
1095         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
1096         config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
1097         config/i386/uwin.h: Similarly.
1098
1099 2002-06-29  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
1100
1101         * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
1102         flag_inline_trees to enable inlining.
1103
1104 2002-06-28  Phil Edwards  <pme@gcc.gnu.org>
1105
1106         * configure.in (gcc_gxx_include_dir):  Change to match versioned
1107         C++ headers if --enable-version-specific-runtime-libs is used.
1108         * configure:  Regenerate.
1109
1110 2002-06-28  Jan Hubicka  <jh@suse.cz>
1111
1112         * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
1113
1114 2002-06-28  Stephen Clarke  <stephen.clarke@superh.com>
1115
1116         * combine.c (combine_simplify_rtx): Pass the mode of the
1117         shift count, not the shift operation when trying to simplify
1118         a shift on a SHIFT_COUNT_TRUNCATED target.
1119
1120 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
1121
1122         * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
1123         avoid the auto increment addressing modes.
1124         ("*subsi3"): Likewise.
1125         (split for add/sub on address): For 68HC12 push the value on
1126         the stack and do the operation with a pop.
1127
1128 2002-06-28  Neil Booth  <neil@daikokuya.co.uk>
1129
1130         * cpplib.c (_cpp_handle_directive): Move #define-specific
1131         code to the #define handler...
1132         (do_define): ...here.
1133         (lex_macro_node): No longer a need to check for comments here.
1134
1135 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
1136
1137         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
1138         * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
1139         Declare.
1140         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
1141         do not reorder basic blocks at the end when optimizing for size.
1142
1143 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
1144
1145         * config/m68hc11/m68hc11.c (autoinc_mode): New function.
1146         (m68hc11_make_autoinc_notes): New function.
1147         (m68hc11_split_move): Be very cautious when spliting a move with
1148         auto increment/decrement modes because this may result in incompatible
1149         directions; add REG_INC notes to the resulting insn for CSE reg.
1150
1151 2002-06-28  Stephane Carrez  <Stephane.Carrez@nerim.fr>
1152
1153         * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
1154         can be a valid address.
1155
1156 2002-06-28  Aldy Hernandez  <aldyh@redhat.com>
1157
1158         * config/rs6000/rs6000.c: Remove unusued variables from last
1159         patch.
1160
1161 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
1162
1163         Revert:
1164         * config/rs6000/rs6000.c (rs6000_override_options): Move
1165         *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
1166
1167 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
1168
1169         * config/rs6000/rs6000.c (altivec_expand_builtin): Move
1170         lvx/stv/dst builtins...
1171         (altivec_expand_ld_builtin): ...to here.
1172         (altivec_expand_st_builtin): ...here.
1173         (altivec_expand_dst_builtin): ...and here (respectively).
1174
1175 2002-06-28  Bob Wilson  <bob.wilson@acm.org>
1176
1177         * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
1178
1179 2001-06-08  Bernd Schmidt  <bernds@redhat.com>
1180
1181         * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
1182         subregs.
1183         * recog.c (general_operand, register_operand): Disallow them.
1184
1185 2002-06-28  Neil Booth  <neil@daikokuya.co.uk>
1186
1187         PR preprocessor/7138
1188         * cpplib.c (_cpp_handle_directive): Do traditional
1189         preparation after setting state.angled_headers.
1190         * cpptrad.c (scan_out_logical_line): Fix potential
1191         quote bug.
1192
1193 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
1194
1195         * config/rs6000/rs6000.c (rs6000_override_options): Move
1196         *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
1197
1198 2002-06-27  Bob Wilson  <bob.wilson@acm.org>
1199
1200         * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
1201         (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
1202         zero_cost_loop_end): Remove unnecessary "parallel" from insns.
1203
1204 2002-06-27  Roger Sayle  <roger@eyesopen.com>
1205
1206         * config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
1207         * config/stormy16/stormy16.h: Likewise.
1208
1209         * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
1210         with #define.
1211
1212 2002-06-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1213
1214         * doc/install.texi (Binaries): Add Sinix/Reliant Unix.  Move
1215         Hitachi entry.  Make punctuation more consistent.
1216
1217 2002-06-27  Matt Kraai  <kraai@alumni.cmu.edu>
1218
1219         * doc/install.texi: Change ` bit' to `-bit'.
1220         * doc/md.texi: Change `-bits' to `-bit'.
1221         * doc/tm.texi: Change `-bits' to ` bits'.
1222
1223 2002-06-27  Daniel Berlin  <dberlin@dberlin.org>
1224
1225         * gcse.c (hoist_code): Rewrite to only get list of dominated
1226         blocks once per BB. Also fix reversed test (by removing need for
1227         the test at all).
1228
1229 2002-06-27  Neil Booth  <neil@daikokuya.co.uk>
1230
1231         * cpphash.h (_cpp_set_trad_context): Remove.
1232         * cpplib.c (prepare_directive_trad): Do nothing for #define.
1233         (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
1234         * cpptrad.c: Update comments.
1235         (_cpp_read_logical_line_trad): Let scan_logical_line handle
1236         updating the current context.
1237         (scan_logical_line): Update the current context.
1238         (_cpp_create_trad_definition): Similarly.
1239         (_cpp_set_trad_context): Remove.
1240
1241 2002-06-27  Neil Booth  <neil@daikokuya.co.uk>
1242
1243         PR preprocessor/7070
1244         * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
1245
1246 2002-06-26  Bob Wilson  <bob.wilson@acm.org>
1247
1248         * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
1249         config/xtensa/xtensa.c (xtensa_return_addr): New function.
1250         config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
1251         config/xtensa/xtensa.md (fix_return_addr): New pattern.
1252
1253 2002-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1254
1255         * mips.c (coprocessor_operand, coprocessor2_operand,
1256         symbolic_operand): Move prototypes from here...
1257         * mips-protos.h (coprocessor_operand, coprocessor2_operand,
1258         symbolic_operand): ...to here.
1259
1260 Wed Jun 26 16:32:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
1261
1262         * config/sh/crt1.asm: remove _stack label definition
1263         and sentinel value.
1264
1265 2002-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1266
1267         * varasm.c: Include real.h before output.h.
1268
1269 2002-06-26  Aldy Hernandez  <aldyh@redhat.com>
1270
1271         * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
1272         check for TARGET_ALTIVEC.
1273
1274 2002-06-26  Nathanael Nerode  <neroden@gcc.gnu.org>
1275
1276         * config.gcc (vax-*-vms*): Make obselete.
1277
1278 2002-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1279
1280         * gcc.c (warn_std): Delete.
1281
1282 2002-06-25  Loren J. Rittle  <ljrittle@acm.org>
1283
1284         * doc/extend.texi: Fix formatting of last checkin.
1285
1286 2002-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1287
1288         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
1289         underscore from __IEEE_FP and __IEEE_FP_INEXACT.
1290
1291 2002-06-25  Aldy Hernandez  <aldyh@redhat.com>
1292
1293         * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
1294         discrepancies from motorola's documentation.
1295
1296 Tue Jun 25 21:51:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
1297
1298         * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
1299         GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
1300
1301         * config/sh/lib1funcs.asm (udivdi3): Make first divide step
1302         produce a 32 bit result before normalization, then normalize with a
1303         left shift.  Compute approximative error of 2nd reciprocal
1304         approximation in 2's complement.  Fix mask generation from upper
1305         longword of second divide stage result.
1306         For large divisor, fix shift count used to truncate first stage
1307         divide result; make decision if to adjust upwards based on comparison
1308         of higher parts of normalized values.
1309         (udivdi): Likewise.  Undo normalization of result for large divisor
1310         case.
1311
1312 2002-06-25  David S. Miller  <davem@redhat.com>
1313
1314         * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
1315
1316 2002-06-25  Neil Booth  <neil@daikokuya.co.uk>
1317
1318         * cpplib.c (do_include_common): Revert to correct line number
1319         if -traditional.
1320         * cpptrad.c (scan_out_logical_line): Treat null directive as
1321         white space.  Invlidate MI optimization for non-whitespace
1322         text outside a directive.
1323
1324 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1325
1326         * Makefile.in (SHELL): Set to @SHELL@.
1327         * fixinc/Makefile.in (SHELL): Likewise.
1328
1329         * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
1330         fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
1331         initialization.
1332
1333 2002-06-24  Jeff Law <law@redhat.com>
1334
1335         * flow.c (propagate_one_insn): When removing an insn
1336         with a REG_LIBCALL note but not the entire libcall sequence,
1337         delete the associated REG_RETVAL note.
1338
1339 Mon Jun 24 21:05:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
1340
1341         * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
1342         (udivsi3): Likewise.  Rewrite SH1 implementation.
1343         (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
1344         * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
1345         (udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
1346         * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
1347         (_moddi3): Likewise.
1348
1349         * lib1funcs.asm (ic_invalidate): Add data cache line writeback.
1350
1351         * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
1352         arguments into account for stack_regs.
1353
1354 2002-06-24  Matt Kraai  <kraai@alumni.cmu.edu>
1355
1356         * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
1357         in examples.
1358
1359 2002-06-24  Art Haas  <ahaas@neosoft.com>
1360
1361         * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
1362         * doc/tm.texi (Frame Layout): Likewise.
1363
1364 2002-06-20  Steve Ellcey  <sje@cup.hp.com>
1365
1366         * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
1367         Set float_format to i128.
1368
1369 2002-06-24  David S. Miller  <davem@redhat.com>
1370
1371         * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
1372         32-bit ABI libfuncs to NULL.
1373
1374         * config/sparc/sparc.md: Use define_insn_and_split.  Use braced
1375         strings instead of quoted strings for code blocks.
1376
1377         * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
1378         optabs if op1 is const0_rtx.
1379
1380         * Makefile.in (GTFILES): Add basic-block.h
1381         * basic-block.h (label_value_list, tail_recursion_label_list):
1382         Mark with GTY.
1383
1384 2002-06-24  Neil Booth  <neil@daikokuya.co.uk>
1385
1386         * cpptrad.c (scan_out_logical_line): Check recursing only when
1387         we know we have a macro invocation in the function-like case.
1388         Only call _cpp_handle_directive if we know we have a good
1389         directive, or we want to reject a bad directive.
1390
1391 2002-06-24  Alan Modra  <amodra@bigpond.net.au>
1392
1393         * doloop.c (doloop_valid_p): Correct comment.
1394         (doloop_modify_runtime <abs_inc != 1>): Simplify.
1395         (doloop_modify_runtime <do-while>): Don't emit code when NE.
1396
1397 Thu Jun 20 00:26:53 2002  Denis Chertykov  <denisc@overta.ru>
1398
1399         * config.gcc: Add support for ip2k.
1400
1401 2002-06-23  Jan Hubicka  <jh@suse.cz>
1402             Jeff Law <law@redhat.com>
1403
1404         * function.h (struct emit_status): Clarify potential contents
1405         of regno_reg_rtx array.
1406         * integrate.c (copy_rtx_and_substitute): Update comments.  Make
1407         sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
1408
1409         * reg-stack.c (convert_regs_exit): Push the registers to stack in
1410         proper order.
1411
1412 2002-06-22  Ulrich Weigand  <uweigand@de.ibm.com>
1413
1414         PR middle-end/6963
1415         * function.c (assign_stack_temp_for_type): Do not return
1416         the same MEM rtx for multiple uses of a stack slot.
1417
1418 2002-06-22  David S. Miller  <davem@redhat.com>
1419
1420         PR target/6841 target/6770 target/6719
1421         * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
1422         NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
1423         GENERAL_OR_EXTRA_FP_REGS.
1424
1425 2002-06-22  Neil Booth  <neil@daikokuya.co.uk>
1426
1427         * cpptrad.c (struct fun_macro): Add line number.
1428         (scan_out_logical_line): Set it, and use it to report unterminated
1429         macro invocations.
1430
1431 2002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1432
1433         * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
1434         VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
1435         DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
1436         DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
1437         REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
1438         REGEXP_ONEOF, check_name): Const-ify.
1439
1440 2002-06-21  Matt Thomas  <matt@3am-software.com>
1441
1442         * config/vax/vax.c (vax_output_function_prologue): Use
1443         REGISTER_PREFIX.  Fix some indentation.
1444         * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
1445         (VAX_ISTREAM_SYNC): Define.
1446         (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC.  Move the
1447         i-stream sync to the end.
1448         (REGISTER_PREFIX): Define as "".
1449         (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
1450
1451 2002-06-21  Jason Thorpe  <thorpej@wasabisystems.com>
1452
1453         * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
1454         configurations.
1455
1456 2002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1457
1458         * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
1459         tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
1460
1461 2002-06-21  Matt Thomas  <matt@3am-software.com>
1462
1463         * config/vax/netbsd.h: Adjust a comment.
1464         (TARGET_DEFAULT): Redefine as 0.
1465
1466 2002-06-21  Richard Henderson  <rth@redhat.com>
1467
1468         * bb-reorder.c (make_reorder_chain_1): Search harder for the
1469         vax casesi fallthru edge.
1470         * cfglayout.c (cleanup_unconditional_jumps): Use
1471         redirect_edge_succ_nodup.  Do not delete ADDR_VEC insns as dead.
1472         * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
1473         block after ADDR_VEC.
1474
1475 2002-06-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1476
1477         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
1478
1479 2002-06-21  Neil Booth  <neil@daikokuya.co.uk>
1480
1481         * cpperror.c (cpp_error): For traditional CPP, default to
1482         diagnostics on pfile->line.
1483         * cpplib.c (prepare_directive_trad): Set line number for
1484         diagnostics for #define too.
1485         * cpptrad.c (skip_whitespace): Skip comments properly.
1486         (_cpp_expansions_different_trad): Initialize quote2.
1487
1488 2002-06-21  Hans-Peter Nilsson  <hp@bitrange.com>
1489
1490         * config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
1491         * config/mmix/mmix.h: Ditto.
1492         * config/mmix/mmix-protos.h: Ditto.
1493         * config/mmix/mmix.c: Ditto.  Fix typo in comment.
1494         * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
1495         comment.  Comment extra CC modes.
1496
1497 2002-06-20 Jan Hubicka  <jh@suse.cz>
1498
1499         * cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
1500         (scope_to_insns_finalize): Do not call set_block_levels; handle
1501         sequences.
1502         (choose_inner_scope): New.
1503         * rtl.h (choose_inner_scope): Declare.
1504
1505 2002-06-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1506
1507         * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
1508         HOST_WIDE_INT.
1509         * pa.c (pa_asm_output_mi_thunk): Likewise.
1510         (n_deferred_plabels): Change type to size_t.
1511         (output_deferred_plabels, output_call): Use size_t instead of int.
1512
1513 2002-06-20  Richard Henderson  <rth@redhat.com>
1514
1515         PR target/4041
1516         * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
1517         pattern and adjust constraints for coldfire.
1518
1519 2002-06-20  Richard Henderson  <rth@redhat.com>
1520
1521         * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
1522
1523 2002-06-20  Chris Demetriou  <cgd@broadcom.com>
1524
1525         * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
1526
1527 2002-06-20  Chris Demetriou  <cgd@broadcom.com>
1528
1529         * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
1530
1531 2002-06-20  Stan Shebs  <shebs@apple.com>
1532
1533         * dominance.c: Include errors.h instead of error.h.
1534
1535 2002-06-20  Neil Booth  <neil@daikokuya.co.uk>
1536
1537         * cppexp.c (cpp_interpret_integer): Don't force traditional
1538         numbers to be unsigned.
1539         * cpplib.c (prepare_directive_trad): Set line number for
1540         diagnostics.
1541         * cpptrad.c (scan_out_logical_line): Continue scanning out
1542         at start of buffer.
1543         * gcc.c (trad_capable_cpp): Use cc1 always.
1544
1545 2002-06-20  Jeffrey Law  <law@redhat.com>
1546
1547         * i386.h (TARGET_DEFAULT): Do not turn on frame pointer
1548         elimination in leaf functions by default yet.
1549
1550 2002-06-20  Richard Sandiford  <rsandifo@redhat.com>
1551
1552         * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
1553
1554 2002-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1555
1556         * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
1557         multilibs.
1558         * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
1559         Fixes PR other/6836.
1560
1561 Thu Jun 20 19:42:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
1562                                Pavel Nejedly  <bim@atrey.karlin.mff.cuni.cz>
1563
1564         Mon Jun 10 20:42:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
1565
1566         * basic-block.h: Do not include et-forest.h
1567         (dominance_info): Declare as struct dominance-info.
1568         * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
1569         deleting block.
1570         * dominance.c (struct dominance_info): Define.
1571         (BB_NODE, SET_BB_NODE): New macros.
1572         (bb_hash_func, bb_eq_func): Kill.
1573         (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
1574         nearest_common_dominator, dominated_by_p, recount_dominator,
1575         add_to_dominance_info, delete_from_dominance_info): update for new
1576         representation.
1577         (get_dominated_by, redirect_immediate_dominators): Rewrite using
1578         enumerate_sons.
1579         * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
1580         find_if_case_1, find_if_case_2): Remove killed blocks from dominance
1581         structure.
1582
1583         * et-forest.h: Update copyright; revamp all function to operate on
1584         nodes
1585         (et_forest_value): Kill.
1586         (et_forest_enumerate_sons, et_forest_node_value): New.
1587         * et-forest.c: Update copyright.
1588         * et-forest.h: Update copyright; revamp all function to operate on
1589         nodes
1590         (et_forest_value): Kill.
1591         (et_forest_enumerate_sons, et_forest_node_value): New.
1592
1593         Thu Jun  6 22:43:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
1594
1595         * basic-block.h: Inlude et-forest.h
1596         (basic_block_def): Kill dominator.
1597         (dominance_info): New type.
1598         (loops): Use dominace_info.
1599         (dominace handling functions): Take dominace_info as argument
1600         instead of bitmaps.
1601         (create_preheader): Likewise.
1602         * cfg.c (entry_exit_blocks): Kill dominator.
1603         (dump_flow_info): Do not dump dominators.
1604         * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
1605         dominators.
1606         * cfgloop.c (flow_pre_header_find): Use dominacne_info.
1607         (flow_loops_pre_header_scan, make_forwarder_block,
1608         canonicale_loop_headers, flow_loops_find): Likewise.
1609         * dominance.c: Include error.h
1610         (idoms_to_doms): Kill.
1611         (bb_hash_func, bb_eq_func): New static functions.
1612         (debug_dominace_info): New global function.
1613         (calculate_dominance_info): Use new et forest structure.
1614         (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
1615         get_dominated_by, redirect_immediate_dominators,
1616         nearest_common_dominator, dominated_by_p, verify_dominators,
1617         recount_dominator, iterate_fix_dominators, add_to_dominace_info,
1618         delete_from_dominance_info): New global functions.
1619         * gcse.c (domnators): CHange to dominance_info.
1620         (alloc_hoist_mem): Do not alloc dominators
1621         (free_code_hoist_mem): Use free_dominance_info.
1622         (compute_code_hoist_data): Use dominance_info.
1623         (hoist_code): Likewise.
1624         * ifcvt.c (post_dominators): Likewise.
1625         (find_if_case_2, if_convert): Likewise.
1626         * predict.c (process_note_predictions, process_note_prediction,
1627         estimate-probability): Likewise.
1628         * sched-rgn.c (find_rgns, init_regions): Likewise.
1629         * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
1630         find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
1631         * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
1632         find_evaluations, convert_to_ssa): Likewise.
1633         * ssa.h (compute_dominance_frontiers): Likewise.
1634
1635         Thu Jun  6 22:57:34 CEST 2002  Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
1636
1637         * Makefile.in (et-forest.c): Add.
1638         * et-forest.c: New file.
1639         * at-forest.h: New file.
1640
1641 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1642
1643         * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
1644         array size calculation.
1645         * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
1646         Likewise.
1647
1648         * diagnostic.c (diagnostic_kind_text): Const-ify.
1649         * gengtype.c (lang_names): Likewise.
1650
1651 Thu Jun 20 17:25:29 CEST 2002  JAn HUbicka  <jh@suse.cz>
1652
1653         * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
1654
1655 2002-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1656
1657         * config/sol2.h: New file.
1658         * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
1659         (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
1660         (sparc-*-chorusos*): Likewise.
1661         (sparc-*-elf*): Likewise.
1662         (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
1663         (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
1664         (sparc-hal-solaris2*): Likewise.
1665         (sparc-*-solaris2*): Likewise.
1666         (sparclite-*-elf*): Likewise.
1667         (sparc86x-*-elf*): Likewise.
1668         (sparc64-*-elf*): Likewise.
1669
1670         * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
1671         config/sol2.h.
1672         (ASM_SPEC): Override config/sol2.h version for now.
1673         Removed obsolete GAS_REJECTS_MINUS_S variant.
1674         (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
1675         (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
1676         (TARGET_OS_CPP_BUILTINS): Likewise.
1677         Assert system=unix.
1678         (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
1679         (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
1680         config/sol2.h.
1681         (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
1682         (ASM_CPU_SPEC): Define.
1683         (SUBTARGET_EXTRA_SPECS): Define.
1684
1685         * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
1686         in config/sparc/sol2.h.
1687         (ASM_SPEC): Moved to config/sol2.h.
1688         (CPP_CPU_SPEC): Simplified.
1689         (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
1690         consistency.
1691         (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
1692         (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
1693         STARTFILE_ARCH64_SPEC.
1694         (STARTFILE_SPEC): Moved to config/sol2.h
1695         (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
1696         (LINK_ARCH32_SPEC): Moved to config/sol2.h.
1697         (LINK_ARCH64_SPEC): Simplified.
1698         (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
1699         (LINK_SPEC): Moved to config/sol2.h
1700
1701         * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
1702         config/sol2.h.
1703         Use BITS_PER_WORD for size.
1704         (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
1705         (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
1706         (CPP_PREDEFINES): Removed OS-specific part handled by
1707         TARGET_OS_CPP_BUILTINS.
1708         (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
1709         (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
1710         (ASM_SPEC): Moved to config/sol2.h.
1711         (PREFERRED_DEBUGGING_TYPE): Likewise.
1712         (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
1713         (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
1714         (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
1715         (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
1716
1717         * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
1718         * config/i386/sol2gas.h: Removed.
1719
1720 Thu Jun 20 12:14:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
1721
1722         * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
1723
1724 2002-06-16  Aldy Hernandez  <aldyh@redhat.com>
1725
1726         * gcc.c-torture/execute/simd-1.c: New.
1727
1728         * gcc.dg/simd-1.c: New.
1729
1730         * doc/extend.texi (Vector Extensions): Document that we can
1731         specify simd types not specifically supported by the hardware.
1732         Document that simd types can be used as function arguments.
1733         Document that signness does make a difference in SIMD types.
1734         Misc cleanups and revisions to the vector extensions section.
1735
1736         * simplify-rtx.c (simplify_subreg): Simplify subregs of vector
1737         constants.
1738
1739         * expr.c (vector_mode_valid_p): New.
1740
1741         * expr.h: Add vector_mode_valid_p.
1742
1743         * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
1744
1745         * c-common.c (type_for_mode): Always build vector nodes regardless
1746         of VECTOR_MODE_SUPPORTED_P.
1747         (handle_mode_attribute): Error if we can't emulate a nonexisting
1748         vector mode.
1749         (handle_vector_size_attribute): Same.
1750
1751         * optabs.c (expand_binop): Open-code vector operations.
1752         (expand_unop): Open-code vector unops.
1753         (expand_vector_binop): New.
1754         (expand_vector_unop): New.
1755
1756         * c-typeck.c (build_binary_op): Allow vectors in binops.
1757         Allow vectors in conditional operatiors.
1758         (build_unary_op): Allow vectors in unary minus.
1759
1760         * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
1761         TARGET_ALTIVEC.
1762
1763 2002-05-20  Richard Henderson  <rth@redhat.com>
1764
1765         * c-common.c (c_common_get_alias_set): Correctly handle characters.
1766         Rearrange order of expressions; don't handle vectors here.
1767         * alias.c (get_alias_set): Let vectors match their components.
1768
1769 2002-06-19  Chris Demetriou  <cgd@broadcom.com>
1770
1771         * config/mips/mips.c (mips_emit_prefetch): Use hints which
1772         match desired locality.
1773
1774 2002-06-19  Dhananjay R. Deshpande  <dhananjayd@kpit.com>
1775
1776         * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
1777         (h8300_insert_attributes): New.
1778
1779 2002-06-19  Akim Demaille  <akim@epita.fr>
1780
1781         * c-parse.in (initelt: identifier ':' initval): Add an empty
1782         action to fix a type clash.
1783         (aliasdecl, classdef): Add the missing closing `;'.
1784         Whitespace changes.
1785         * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
1786         $$ = $1 type clashes.
1787
1788 2002-06-19  Eric Christopher  <echristo@redhat.com>
1789
1790         * config/mips/mips.c (symbol_operand): New function.
1791         (mips_emit_prefetch): Ditto.
1792         * config/mips/mips-protos.h: Define.
1793         * config/mips/mips.h (ISA_HAS_PREFETCH): Define.
1794         (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
1795         (LEGITIMIZE_ADDRESS): Ditto.
1796         * config/mips/mips.md (prefetch, prefetch_si_address,
1797         prefetch_si, prefetch_di_address, prefetch_di): New patterns.
1798
1799 2002-06-19  Eric Christopher  <echristo@redhat.com>
1800
1801         * config/fp-bit.h: Add unordered defines for gofast.
1802
1803 2002-06-19  Vladimir Makarov  <vmakarov@redhat.com>
1804
1805         * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
1806         DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
1807         DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
1808         REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
1809         checking and without it.
1810         (decl_name, decl_mode_check_failed, regexp_name,
1811         regexp_mode_check_failed): New functions.
1812         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
1813         gen_presence_set, gen_absence_set, gen_automaton,
1814         gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
1815         gen_regexp_sequence, gen_reserv, gen_insn_reserv,
1816         automaton_decl_hash, automaton_decl_eq_p): Use the macros.
1817         (find_automaton_decl): Ditto.  Set up mode of work_automaton_decl.
1818         (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
1819         (find_insn_decl): Ditto.  Set up mode of work_insn_decl.
1820         (decl_hash, decl_eq_p): Use the macros.
1821         (find_decl): Ditto.  Set up mode of work_decl.
1822         (process_excls, process_presence_absence, process_decls,
1823         check_automaton_usage, process_regexp, process_regexp_decls,
1824         check_usage, loop_in_regexp, check_loops_in_regexps,
1825         process_regexp_cycles, add_advance_cycle_insn_decl,
1826         initiate_states, initiate_excl_sets,
1827         initiate_presence_absence_sets, copy_insn_regexp, transform_1,
1828         transform_2): Use the macros.
1829         (transform_3): Ditto.  Check mode before making transformations of
1830         ALLOF.
1831         (regexp_transform_func, transform_insn_regexps,
1832         process_unit_to_form_the_same_automaton_unit_lists,
1833         form_the_same_automaton_unit_lists_from_regexp,
1834         form_the_same_automaton_unit_lists,
1835         process_seq_for_forming_states, process_alts_for_forming_states,
1836         create_alt_states, form_ainsn_with_same_reservs, make_automaton,
1837         form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
1838         estimate_one_automaton_bound, compare_max_occ_cycle_nums,
1839         units_to_automata_heuristic_distr, create_ainsns,
1840         units_to_automata_distr, create_automata): Use the macros.
1841         (form_regexp): Ditto.  Fix typo in access to fields of ALLOF.
1842         (longest_path_length, min_issue_delay_pass_states,
1843         output_dead_lock_vect, output_tables, output_insn_code_cases,
1844         output_internal_insn_latency_func, output_print_reservation_func,
1845         output_description, output_automaton_units, generate): Use the
1846         macros.
1847         (make_insn_alts_attr): Ditto.  Check case when there are not
1848         alternatives in the reservation.
1849         (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
1850         make_bypass_attr, form_important_insn_automata_lists,
1851         expand_automata): Use the macros.
1852
1853 2002-06-20  Tim Josling  <tej@melbpc.org.au>
1854
1855         * Makefile.in: Clean up code to check for misspecified languages
1856         in enable-languages.
1857
1858 2002-06-19  Andrew Pinski <pinskia@physics.uc.edu>
1859
1860         * cpptrad.c (_cpp_replacement_text_len): initialize len.
1861
1862 2002-06-19  Jason Merrill  <jason@redhat.com>
1863
1864         * Makefile.in (unstrap, restrap): New targets.
1865         (bootstrap): Mention restrap.
1866
1867 2002-06-19  Matt Kraai  <kraai@alumni.cmu.edu>
1868
1869         * except.c (ehl_free): Remove.
1870
1871         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
1872         builtin_define and builtin_define_std.
1873
1874 2002-06-19  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
1875
1876         * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
1877         (sCOND): Restrict operand class so that gcc knows how to reload them.
1878         (bitfield_set): Merge two unnamed insn's using alternatives.
1879         (call_value): Remove constraint on unused uperand.
1880         (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
1881         (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
1882
1883         * longlong.h (count_trailing_zeros): Escape newline and beautify.
1884
1885 2002-06-19  Mark Mitchell  <mark@codesourcery.com>
1886
1887         * Makefile.in (QMTEST_DIR): Simplify definition.
1888
1889 2002-06-19  Nick Clifton  <nickc@cambridge.redhat.com>
1890
1891         * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
1892         #define.
1893
1894 2002-06-19  Neil Booth  <neil@daikokuya.co.uk>
1895
1896         * cpphash.h (struct cpp_reader): Make date and time strings.
1897         (_cpp_builtin_macro_text, _cpp_copy_replacement_text,
1898         _cpp_replacement_text_len): New.
1899         * cppinit.c (cpp_create_reader): Update.
1900         (init_builtins): Register appropriate builtins for -traditional-cpp.
1901         * cppmacro.c (new_number_token): Remove.
1902         (_cpp_builtin_macro_text): New.
1903         (builtin_macro): Use it.
1904         (cpp_macro_definition): Update to handle traditional macros.
1905         * cppmain.c (cb_line_change): Don't do column positioning for
1906         traditional output.
1907         * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open.  New
1908         state ls_fun_close.
1909         (skip_whitespace): Fix.
1910         (maybe_start_funlike): Don't set state.parsing_args.
1911         (scan_out_logical_line): Remove duplicate error.  Use lex_state
1912         rather than state.parsing_args.
1913         (push_replacement_text): Handle builtins.
1914         (_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
1915
1916 2002-06-18  Hans-Peter Nilsson  <hp@axis.com>
1917             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1918
1919         * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
1920         attribute __always_inline__.
1921
1922 2002-06-18  Bob Wilson  <bob.wilson@acm.org>
1923
1924         * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
1925         when generating the call to _mcount.
1926         (NO_PROFILE_COUNTERS): Define.
1927
1928 2002-06-18  Richard Henderson  <rth@redhat.com>
1929
1930         * print-rtl.c (print_rtx): Adjust NOTE argument numbers for
1931         2002-06-02 change.
1932
1933 Tue Jun 18 20:53:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
1934
1935         * t-sh (MULTILIB_EXCEPTIONS): Set to ml.
1936         config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
1937         * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
1938         * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
1939
1940         * sh-protos.h (sh_pr_interrupt): Declare.
1941         * sh.c (sh_pr_interrupt): New function.
1942         (print_operand, calc_live_regs, sh_expand_prologue): Use it.
1943         (sh_hard_regno_rename_ok): Likewise.
1944         * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
1945
1946 2002-06-18  Vladimir Makarov  <vmakarov@redhat.com>
1947
1948         * rtl.def (DEFINE_AUTOMATON): Add description of new options
1949         `time' and `v'.  Fix incorrect description of option `w'.
1950
1951         * doc/md.texi: Ditto.
1952
1953         * genautomata.c (TIME_OPTION, V_OPTION): New macros.
1954         (gen_automata_option): Process the new options.
1955         (transform_2, transform_3): Initialize some variables.
1956         (initiate_automaton_gen): Use the new macros.
1957
1958 2002-06-18  Richard Sandiford  <rsandifo@redhat.com>
1959
1960         * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
1961         (mips_set_return_address, mips_restore_gp): Declare.
1962         * config/mips/mips.h (struct mips_frame_info): Move to mips.c
1963         (current_frame_info): Remove.
1964         (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
1965         * config/mips/mips.c: Remove uses of current_frame_info.
1966         (struct mips_frame_info): Moved from mips.h.  Remove 'insns_len'.
1967         (struct machine_function): Add 'frame' and 'insns_len'.
1968         (current_frame_info, zero_frame_info): Remove.
1969         (mips_restore_gp, mips_set_return_address): New.
1970         (mips_initial_elimination_offset): New.
1971         * config/mips/mips.md (exception_receiver): Use mips_restore_gp.
1972         (eh_return define_split): Use mips_set_return_address.
1973
1974 2002-06-18  Neil Booth  <neil@daikokuya.demon.co.uk>
1975
1976         * cpplib.c (dtable): Update.
1977         (end_directive): Decrement expansion prevention count.
1978         Clear state.in_expression.
1979         (prepare_directive_trad): Set state.in_expression.
1980         Increment expansion prevention count.
1981         * cpptrad.c (enum ls): New.
1982         (_cpp_overlay_buffer): Set overlaid_buffer.
1983         (_cpp_remove_overlay): Use overlaid_buffer.
1984         (_cpp_read_logcial_line_trad): Update buffer when it might
1985         have changed.
1986         (scan_out_logical_line): Handle state transitions for assertions
1987         and defined() in #if, and for funlike invocations including the
1988         directive case.  Handle '<' and '>' as a quote mechanism in
1989         #include.  Warn about unterminated macro invocations.
1990         * cpphash.h (struct lexer_state): New member in_expression.
1991         (struct cpp_reader): New member overlaid buffer.
1992
1993 2002-06-18  Hans-Peter Nilsson  <hp@axis.com>
1994
1995         * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
1996         __always_inline__.
1997
1998 2002-06-18  Alan Modra  <amodra@bigpond.net.au>
1999
2000         * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
2001
2002         * doloop.c (doloop_optimize): Extract pattern from insn.
2003
2004 2002-06-17  Matt Kraai  <kraai@alumni.cmu.edu>
2005
2006         * doc/extend.texi (Function Attributes): Remove `,...' from @var.
2007
2008 2002-06-17  Jeff Law <law@redhat.com>
2009
2010         * libgcc2.c: Do not include symcat.h or machmode.h.
2011
2012 2002-06-17  Richard Henderson  <rth@redhat.com>
2013
2014         PR target/6922
2015         * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
2016
2017 2002-06-17  Tom Tromey  <tromey@redhat.com>
2018
2019         * dwarfout.c: Include function.h.
2020
2021 2002-06-17  Andreas Schwab  <schwab@suse.de>
2022
2023         * print-rtl.c (print_rtx): Print space before vector, not after.
2024         (debug_rtx): Clear sawclose before printing.
2025         (debug_rtx_list): Print newline after each list element.
2026         (debug_rtx_range): Likewise.
2027
2028 2002-06-17  Richard Henderson  <rth@redhat.com>
2029
2030         * function.h (struct function) [funcdef_no]: Rename profile_label_no.
2031         (current_function_funcdef_no): Similarly.
2032         * function.c (funcdef_no): Similarly.
2033         (prepare_function_start): Set current_function_funcdef_no.
2034         (expand_function_start): Don't set current_function_profile_label_no.
2035         * dwarf2out.h (current_funcdef_number): Remove.
2036         * dwarf2out.c (current_funcdef_number): Remove.  Replace with
2037         current_function_funcdef_no throughout.
2038         * dwarfout.c, vmsdbgout.c: Similarly.
2039         * except.c (sjlj_funcdef_number): Remove.
2040         (sjlj_emit_function_enter): Use current_function_funcdef_no instead.
2041         (output_function_exception_table): Likewise.
2042         * final.c (profile_function): Use current_function_funcdef_no
2043         instead of current_function_profile_label_no.
2044
2045 2002-06-17  Vladimir Makarov  <vmakarov@redhat.com>
2046
2047         * sched-ebb.c (init_ready_list): Check INSN_P first.
2048
2049 Mon Jun 17 17:26:15 2002  J"orn Rennecke <joern.rennecke@superh.com>
2050
2051         * sh.md (divsi3): Update way how to find insns in a sequence.
2052
2053         * reload1.c (merge_assigned_reloads): Don't change reloads
2054         other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
2055         to RELOAD_OTHER when there are conflicting input reloads.
2056
2057 2002-06-17  Richard Earnshaw  (rearnsha@arm.com)
2058
2059         * function.c (epilogue_done): Correctly build a sequence of insns for
2060         a sibcall epilogue.
2061
2062 2002-06-17  Nick Clifton  <nickc@cambridge.redhat.com>
2063
2064         * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
2065         #define.
2066
2067         * config/m32r/m32r.md: Replace gen_sequence with get_insns.
2068
2069 2002-06-16  Richard Henderson  <rth@redhat.com>
2070
2071         * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
2072         of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
2073
2074 2002-06-16  Richard Henderson  <rth@redhat.com>
2075
2076         PR opt/6722
2077         * regclass.c (globalize_reg): Update regs_invalidated_by_call.
2078
2079 2002-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
2080
2081         * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
2082         * config/i386/i386-aout.h, config/i386/i386elf.h,
2083         config/i386/sysv4.h: Remove CPP_PREDEFINES.
2084         * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
2085         config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
2086         config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
2087         config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
2088         CPP_PREDEFINES and part of CPP_SPEC.
2089         * config/i386/sysv4-cpp.h: New.
2090
2091 2002-06-16  Richard Henderson  <rth@redhat.com>
2092
2093         PR c/7030
2094         * dwarf2out.c (modified_type_die): Don't assign the qualified die
2095         to the unqualified type.
2096
2097 Sun Jun 16 22:16:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
2098
2099         * i386-protos.h (x86_field_alignment): Declare.
2100         * i386.c (x86_field_alignment): Define.
2101         * i386.h (ADJUST_FIELD_ALIGNMENT): New.
2102         (BIGGEST_FIELD_ALIGNMENT): Kill.
2103
2104 2002-06-16  Richard Henderson  <rth@redhat.com>
2105
2106         * vax.md (casesi): Use emit_jump_insn.  Tidy expander pattern.
2107
2108 2002-06-16  Richard Henderson  <rth@redhat.com>
2109
2110         * c-common.c (flag_ms_extensions): Move from c++ front end.
2111         * c-common.h (flag_ms_extensions): Declare.
2112         * c-decl.c (c_decode_option): Add -fms-extensions.
2113         (grokfield): Don't accept anonymous structures in ISO C mode;
2114         accept only unnamed anonymous structures in GNU C mode; accept
2115         Plan 9 extensions in MS mode.
2116         * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
2117         SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
2118         (extension): Clear flag_iso.
2119         * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
2120
2121 2002-06-16  Hans-Peter Nilsson  <hp@axis.com>
2122
2123         PR target/7042
2124         * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
2125         early if current_function_epilogue_delay_list is non-empty.
2126         * config/cris/cris.md ("return"): Add sanity check asserting that
2127         current_function_epilogue_delay_list is empty.
2128
2129 2002-06-16  Jeff Law <law@redhat.com>
2130
2131         * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
2132         sharing of hard registers.
2133
2134         * toplev.c (rest_of_compilation): Remove redundant conditional.
2135
2136         * toplev.c (rest_of_compilation): Perform a simpler, less costly
2137         cleanup of the CFG when not optimizing.
2138
2139 2002-06-16  Alan Modra  <amodra@bigpond.net.au>
2140
2141         * gcc.c (main): Correct startfile_prefix_spec check.
2142
2143 2002-06-12  Geoffrey Keating  <geoffk@redhat.com>
2144
2145         * config.gcc: Revert rth's patch of 2002-05-18.  Instead,
2146         include both darwin.o and rs6000-c.o.
2147
2148 2002-06-15  Roger Sayle  <roger@eyesopen.com>
2149
2150         * expr.c (compare_from_rtx): Call simplify_relational_operation
2151         on all comparisons, not just those between integer constants,
2152         with the correct (possibly unsigned) comparison code.
2153         (do_compare_rtx_and_jump): Likewise.
2154
2155 2002-06-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2156
2157         * Makefile.in (tm_defines): New configuration variable.
2158         (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
2159         Pass tm_defines in TM_DEFINES.
2160         (cs-tm_p.h): Rename DEFINES to XM_DEFINES.  Pass TM_DEFINES.
2161         * config.gcc (tm_defines): New configuration variable.
2162         (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
2163         pa-7100.h headers.  Change hppa1* scheduling default to 7100LC.
2164         * configure.in: Substitute tm_defines.
2165         * configure: Rebuilt.
2166         * mkconfig.sh: Rename DEFINES to XM_DEFINES.  Output TM_DEFINES.
2167         * doc/install.texi: Update.
2168         * pa/pa-700.h: Delete file.
2169         * pa/pa-7100.h: Delete file.
2170
2171 2002-06-15  Roger Sayle  <roger@eyesopen.com>
2172
2173         * fold-const.c (comparison_to_compcode): New function to convert
2174         an comparison TREE CODE into a bit-based representation.
2175         (compcode_to_comparison): New function to convert from this bit
2176         based representation back to a comparison TREE CODE.
2177         (fold_truthop): Simplify (x<y) && (x==y) and related composite
2178         comparisons.
2179
2180 2002-06-15  Aldy Hernandez  <aldyh@redhat.com>
2181
2182         * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
2183
2184         * stor-layout.c (compute_record_mode): Remove check for
2185         FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
2186         MEMBER_TYPE_FORCES_BLK.  Pass new mode field to
2187         MEMBER_TYPE_FORCES_BLK.
2188
2189         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
2190
2191         * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
2192
2193 2002-06-14  Jeff Sturm  <jsturm@one-point.com>
2194
2195         * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
2196
2197 2002-06-14  Steve Ellcey  <sje@cup.hp.com>
2198
2199         * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
2200         USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
2201         * configure, config.in: Regenerate.
2202
2203 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
2204
2205         * loop.c (check_final_value): Use v->always_executed
2206         instead of v->always_computable.
2207         * unroll.c (final_giv_value): Don't calculate the final
2208         value as a function of the biv if the giv is not computed
2209         for every loop iteration.
2210
2211 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
2212
2213         * loop.c (for_each_insn_in_loop): Fix formatting and comments.
2214
2215 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
2216
2217         PR c/6677
2218         * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
2219         the truncation down when the target type is signed.
2220         [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
2221         * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
2222         the conversion if the target type is a smaller type.
2223
2224 2002-06-14  Richard Henderson  <rth@redhat.com>
2225
2226         * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
2227         earlier.  Re-factor comparisons vs extrema.
2228
2229 2002-06-14  Richard Henderson  <rth@redhat.com>
2230
2231         * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
2232
2233 2002-06-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2234
2235         * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
2236         * sched-deps.c (add_dependence): Likewise.
2237         (group_leader): Likewise.
2238         * sched-rgn.c (init_ready_list): Likewise.
2239         * doc/rtl.texi: Adjust accordingly.
2240
2241 2002-06-13  Jeffrey Law  <law@redhat.com>
2242
2243         * gcse.c (delete_null_pointer_checks_1): Inform caller if any
2244         null pointer checks were eliminated.  Update prototype.
2245         (delete_null_pointer_checks): Similarly.
2246         * rtl.h (delete_null_pointer_checks): Update prototype.
2247         * toplev.c (rest_of_compilation): Only run cleanup_cfg if
2248         delete_null_pointer_checks deletes one or more null
2249         pointer checks.  Do not run cleanup_cfg before gcse, the
2250         CFG is accurate and optimized at that point..
2251
2252         * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
2253         of hard registers.
2254
2255 2002-06-14  Ulrich Weigand  <uweigand@de.ibm.com>
2256
2257         * Makefile.in (libgcc.mk): Depend on specs.
2258
2259 Fri Jun 14 12:15:11 2002  J"orn Rennecke <joern.rennecke@superh.com>
2260
2261         * sh.md (mulsi3): Update way how to find insns in a sequence.
2262
2263 Fri Jun 14 12:04:02 2002  Dhananjay R. Deshpande <dhananjayd@kpit.com>
2264
2265         * sh.h: Define HARD_REGNO_RENAME_OK
2266         * sh.c: sh_hard_regno_rename_ok: New. If current function has
2267         interrupt_handler attribute, only registers saved on stack are OK.
2268         * sh-protos.h: Declare sh_hard_regno_rename_ok.
2269
2270 2002-06-14  Kaz Kojima  <kkojima@gcc.gnu.org>
2271
2272         * config/sh/sh.md (jump): Emit jump insn.
2273         (call_pcrel): Get pattern of the result of gen_call_site.
2274         (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
2275
2276 2002-06-14  Neil Booth  <neil@daikokuya.demon.co.uk>
2277
2278         * cpphash.h (struct cpp_buffer): Remove saved_line_base.
2279         * cpptrad.c: Update comments.
2280         (skip_whitespace, copy_comment): Take a new parameter.
2281         (skip_escaped_newlines): Don't duplicate escaped newline test.
2282         (copy_comment): Different location for CUR, decide here how
2283         to copy / replace the comment.
2284         (skip_whitespace): Copy whitespace.
2285         (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
2286         (scan_out_logical_line): Let copy comment handle keeping or
2287         replacing comments.
2288         (scan_parameters, _cpp_create_trad_definition): Update.
2289
2290 2002-06-13  Alan Lehotsky  <apl@alum.mit.edu>
2291
2292         * reload.c (get_secondary_mem,find_reloads_address,
2293         find_reloads_address_1): Pass reference to MEM to find_reloads_address
2294         so that LEGITIMIZE_RELOAD_ADDRESS will be called.
2295
2296 2002-06-13  Jessica Han  <jessica@cup.hp.com>
2297
2298         * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
2299         (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
2300         * doc/tm.texi: Document them.
2301         * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
2302         (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
2303         (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
2304         (ASM_OUTPUT_FDESC): Likewise.
2305
2306 2002-06-13  Eric Christopher  <echristo@redhat.com>
2307
2308         * diagnostic.c (output_format): Fix thinko.
2309
2310 Thu Jun 13 22:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
2311
2312         * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
2313         (DWARF2_UNWIND_INFO): Define to 0.
2314
2315         * config/sh/sh.c (calc_live_regs): Don't use initial_value
2316         optimization for PR_MEDIA_REG.
2317
2318 2002-06-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2319
2320         * cpphash.h (_cpp_lex_identifier_trad): Remove.
2321         * cpplib.c (end_directive): Don't skip, always remove overlay
2322         apart from #define.
2323         (prepare_directive_trad): Handle NULL pfile->directive.
2324         (_cpp_handle_directive): Always call prepare_directive_trad
2325         if traditional.
2326         * cppmain.c (check_multiline_token): Rename account_for_newlines,
2327         generalize inputs.
2328         (scan_translation_unit_trad): Use it.
2329         * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
2330         output, get escaped newline in comment close correct.
2331         (check_output_buffer, skip_whitespace): Update.
2332         (_cpp_lex_identifier_trad): Remove.
2333         (scan_out_logical_line): Handle -C and comments in directives
2334         properly.
2335
2336 Thu Jun 13 20:18:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
2337
2338         * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
2339         * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
2340         * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
2341         (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
2342         (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
2343         (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
2344         (SELECT_SH5_COMPACT_NOFPU): Likewise.
2345         (TARGET_SWITCHES): Use them.
2346         (TARGET_CPU_DEFAULT): Define if not already defined.
2347         (TARGET_DEFAULT): Use it.
2348         (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
2349         * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
2350         * config/sh/t-monolib: New file.
2351
2352 2002-06-13  Roger Sayle  <roger@eyesopen.com>
2353
2354         * toplev.c (rest_of_compilation): Simplify (and correct) the
2355         logic of the first delete-null-pointer-checks pass.
2356
2357 Thu Jun 13 18:24:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
2358
2359         * i386.c (ix86_expand_movstr):  Fix pasto.
2360
2361 Thu Jun 13 18:18:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
2362
2363         * reload.c (find_valid_class):  Fix thinko in my previous patch.
2364
2365 2002-06-13  Ulrich Weigand  <uweigand@de.ibm.com>
2366
2367         * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
2368         * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
2369         (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
2370         (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
2371
2372 2002-06-13  Gabriel Dos Reis  <gdr@codesourcery.com>
2373
2374         * tree-inline.c (expand_call_inline): Don' mess with _DECL
2375         fields.
2376
2377 2002-06-13  Gabriel Dos Reis  <gdr@codesourcery.com>
2378
2379         * diagnostic.c (output_format): Recognize "%H" as a format
2380         specifier for a location_t.
2381         (text_specifies_location): New function.
2382         (diagnostic_set_info): Use it.
2383
2384 2002-06-13  Jeffrey Law  <law@redhat.com>
2385
2386         * emit-rtl.c (static_regno_reg_rtx): Define.
2387         (init_emit_once): Initialize static_regno_reg_rtx.
2388         (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
2389         of building new hard reg objects once per function.
2390         (gen_rtx_REG): Try to share hard regs.
2391         * regclass.c (init_fake_stack_mems): New function broken out from
2392         init_regs.
2393         * rtl.h (init_fake_stack_mems): Declare.
2394         * toplev.c (lang_independent_init): Call init_regs before
2395         init_emit_once.  Call init_fake_stack_mems after init_emit_once.
2396
2397         * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
2398
2399         * alias.c (argument_registers): Remove.
2400         (init_alias_once): Initialize static_reg_base_value here.  Remove
2401         initialization of argument_registers.
2402         (init_alias_once_per_function): Remove.
2403         (init_alias_analysis): Copy all the entries from static_reg_base_value
2404         into new_reg_base_value all at once.
2405         * rtl.h (init_alias_once_per_function): Remove declaration.
2406         * function.c (prepare_function_start): Do not call
2407         init_alias_once_per_function.
2408
2409         * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
2410         starting a sequence and emitting an INSN.
2411
2412 2002-06-13  Richard Sandiford  <rsandifo@redhat.com>
2413
2414         * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
2415
2416 2002-06-13  David S. Miller  <davem@redhat.com>
2417
2418         * expmed.c (init_expmed): Remove duplicate init of 'reg'.
2419
2420 2002-06-13  Neil Booth  <neil@daikokuya.demon.co.uk>
2421
2422         * cpplib.c (end_directive): Handle line skipping.  Only remove
2423         the rest of the line if the directive was valid.
2424         * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
2425         expanding a traditional macro.
2426         * cpptrad.c (recursive_macro): New.
2427         (read_logical_line_trad): Handle skipping.
2428         (scan_out_logical_line): Continue after a successful directive.
2429         Don't expand macros whilst skipping, or if recursing.
2430         (_cpp_create_trad_definition): scan_out_logical_line now sets
2431         the output current position.
2432
2433 2002-06-12  Eric Christopher  <echristo@redhat.com>
2434
2435         From Chris Demetriou  <cgd@broadcom.com>
2436         * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
2437         comment.
2438         (ISA_HAS_MADD_MSUB): Ditto.
2439         (ISA_HAS_NMADD_NMSUB): Ditto.
2440
2441 2002-06-12  Eric Christopher  <echristo@redhat.com>
2442
2443         * config.gcc: Consolidate little endian handling and
2444         little/big endian targets.
2445         * config/mips/elfl.h: Remove file.
2446         * config/mips/elfl64.h: Ditto.
2447         * config/mips/ecoffl.h: Ditto.
2448         * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
2449
2450 2002-06-12  Geoffrey Keating  <geoffk@redhat.com>
2451
2452         * gengtype.h (xvasprintf): New prototype.
2453         (xasprintf): New prototype.
2454         (struct outf): New.
2455         (get_output_file): Return an outf_p.
2456         (header_file): Is now an outf_p.
2457         (base_files): Now are outf_p.
2458         (oprintf): New.
2459         * gengtype.c: Replace all output FILE * with outf_p; use oprintf
2460         rather than stdio operations.  Use xasprintf in a few places,
2461         when appropriate.
2462         (xvasprintf): New.
2463         (xasprintf): New.
2464         (struct filemap): Delete.
2465         (files): Delete.
2466         (output_files): New.
2467         (oprintf): New.
2468         (create_file): Create an outf_p.  Add parameter to indicate output
2469         file name, change all callers.
2470         (open_base_files): Create gtype-desc.c here.
2471         (get_output_file_with_visibility): Rewrite.
2472         (get_output_file_name): Just look at 'name' field in struct outf.
2473         (close_output_files): Rewrite.
2474
2475 2002-06-12  Jason Thorpe  <thorpej@wasabisystems.com>
2476
2477         * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
2478         (MASK_G_FLOAT): Define.
2479         (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
2480         (TARGET_SWITCHES): Likewise.
2481         (TARGET_DEFAULT): Likewise.
2482
2483 2002-06-12  Daniel Jacobowitz  <drow@mvista.com>
2484
2485         * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
2486         * config/mips/mips.c (mips_output_filename): Don't print a
2487         ".file" directive if we are using DWARF-2.
2488         (mips_output_function_prologue): Do not emit source file
2489         name for TARGET_GAS.
2490
2491 Wed Jun 12 16:45:13 CEST 2002  Jan Hubicka  <jh@suse.cz>
2492
2493         * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
2494         decide whether emit the short opcode.
2495         * i386.h (x86_shift1): Declare.
2496         (TARGET_SHIFT1): New macro.
2497         * i386.c (x86_shift1): New global variable.
2498
2499         * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
2500         unconditionally; make loop to rebuild CFG; kill unnecesary
2501         find_basic_block calls; kill compute_bb_for_insn call.
2502         * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
2503         * haifa-sched.c (sched_init): Likewise.
2504         * ssa-ccp.c (ssa_const_prop): Likewise.
2505         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
2506
2507 2002-06-11  David S. Miller  <davem@redhat.com>
2508
2509         * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
2510         active_insn_p.
2511
2512 2002-06-11  Richard Henderson  <rth@redhat.com>
2513
2514         * c-common.c (builtin_define_type_max): New.
2515         (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
2516         __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
2517
2518         From Joseph S. Myers:
2519         * glimits.h: Rewrite to expect the double underscore definitions
2520         from the compiler.
2521
2522         * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
2523         config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
2524         config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
2525         config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
2526         config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
2527         config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
2528         config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
2529         __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
2530
2531 2002-06-11  Richard Henderson  <rth@redhat.com>
2532
2533         * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
2534         (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
2535         (code_for_builtns): Update.
2536         (alpha_init_builtins): Add __builtin_thread_pointer and
2537         __builtin_set_thread_pointer.
2538         (alpha_expand_builtin): Handle void builtins.
2539         * doc/extend.texi (Alpha Built-in Functions): Update.
2540
2541 2002-06-11  Hans-Peter Nilsson  <hp@axis.com>
2542
2543         PR target/6997
2544         * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
2545
2546 2002-06-11  Zack Weinberg  <zack@codesourcery.com>
2547
2548         * config.gcc: Make the name of the extra-modes file adjustable
2549         by target stanzas.
2550         (s390x, strongarm, xscale stanzas): Use this facility.
2551         * configure.in: Update to match.
2552         * configure: Regenerate.
2553
2554 2002-06-11  Aldy Hernandez  <aldyh@redhat.com>
2555
2556         * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
2557         max/mins as unsigned GE compares.
2558
2559 2002-06-11  Jason Thorpe  <thorpej@wasabisystems.com>
2560
2561         * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
2562         * config/vax/bsd.h: New file.
2563         * config/vax/netbsd.h: Add missing notice.
2564         (CPP_PREDEFINES): Remove.
2565         (TARGET_OS_CPP_BUILTINS): Define.
2566         (CPP_SPEC): Use NETBSD_CPP_SPEC.
2567         * config/vax/openbsd.h: Update copyright years.
2568         (CPP_PREDEFINES): Remove.
2569         (TARGET_OS_CPP_BUILTINS): Define.
2570         * config/vax/ultrix.h: Likewise.
2571         * config/vax/vaxv.h: Likewise.
2572         * config/vax/vms.h: Likewise.
2573         * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
2574         (CPP_PREDEFINES, CPP_SPEC): Remove.
2575
2576 Wed Jun 12 01:50:28 CEST 2002  Jan Hubicka  <jh@suse.cz>
2577
2578         * i386.md (addqi_1_slp, subqi_1_slp
2579         (andqi_ext0, testqi_ext0): Remove unnecesary check.
2580         (addhi*, addqi*): Simplify "dec" condition.
2581         (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
2582         (and, or, xor to QImode splitters): New.
2583         (iorqi_ext*): New.
2584         (xorqi_ext_0): New.
2585         (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
2586         (andqi_ext_1_rex64): New.
2587         (ashrqi*_slp): New.
2588         (ashlqi*_slp): New.
2589         (lshlqi*_slp): New.
2590         (rotrqi3*_slp): New.
2591         (rotlqi3*_slp): New.
2592
2593 2002-06-11  Geoffrey Keating  <geoffk@redhat.com>
2594
2595         * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
2596         softfloat.h.
2597         * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
2598         (CPP_ENDIAN_LITTLE_SPEC): Delete.
2599         * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
2600         * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
2601         __LONG_DOUBLE_128__ setting, _CALL_* setting.
2602         (CPP_DEFAULT_SPEC): Delete.
2603         (CPP_FLOAT_DEFAULT_SPEC): Delete.
2604         (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
2605         (CPP_SYSV_DEFAULT_SPEC): Delete.
2606         (CPP_ENDIAN_BIG_SPEC): Delete.
2607         (CPP_ENDIAN_LITTLE_SPEC): Delete.
2608         (CPP_ENDIAN_SPEC): Delete.
2609         (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
2610         (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
2611         cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
2612         cpp_longdouble_default.
2613         * config/rs6000/softfloat.h: Delete.
2614         * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
2615         (EXTRA_SPECS): Delete cpp_cpu.
2616         (TARGET_CPU_CPP_BUILTINS): New.
2617         * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
2618         prototype.
2619         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
2620         * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
2621         (CPP_DEFAULT_SPEC): Delete.
2622         * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
2623         * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
2624         * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
2625         (CPP_DEFAULT_SPEC): Delete.
2626         * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
2627         (CPLUSPLUS_CPP_SPEC): Likewise.
2628         (CPP_CPU_SPEC): Delete.
2629         (CPP_DEFAULT_SPEC): Delete.
2630         * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
2631         (CPLUSPLUS_CPP_SPEC): Likewise.
2632         (CPP_CPU_SPEC): Delete.
2633         (CPP_DEFAULT_SPEC): Delete.
2634         * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
2635         (CPP_DEFAULT_SPEC): Delete.
2636         * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
2637         (CPP_DEFAULT_SPEC): Delete.
2638
2639         * doc/gty.texi: Small updates.
2640
2641 2002-06-12  Gabriel Dos Reis  <gdr@codesourcery.com>
2642
2643         * objc/objc-act.c (warn_with_ivar): Adjust calls to
2644         diagnostic_count_error.
2645         (warn_with_method): Likewise.
2646
2647         * diagnostic.h (warnings_are_errors_message): New field of
2648         diagnostic_context.
2649         (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
2650         match semantics.
2651         * diagnostic.c: Adjust calls to diagnostic_count_error through out.
2652         (diagnostic_count_diagnostic): Make aware of other kinds of
2653         diagnostics.
2654         (diagnostic_initialize): Initialize warnings_are_errors_message field.
2655
2656 2002-06-11  Tom Tromey  <tromey@redhat.com>
2657
2658         For PR java/6520:
2659         * fold-const.c (fold_convert): Don't modify existing tree's type.
2660
2661 2002-06-11  Geoffrey Keating  <geoffk@redhat.com>
2662
2663         * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
2664
2665 2002-06-11  Richard Henderson  <rth@redhat.com>
2666
2667         * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
2668
2669 2002-06-11  Richard Henderson  <rth@redhat.com>
2670
2671         * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
2672         DWARF2_UNWIND_INFO is false.
2673
2674 2002-06-11  Bob Wilson  <bob.wilson@acm.org>
2675
2676         * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
2677
2678         * config/s390/s390.c (emit_prologue): gen_store_multiple
2679         returns an insn now, not a pattern.
2680
2681 2002-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2682
2683         * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
2684         $(TEXI2DVI) -o.
2685
2686 Tue Jun 11 21:53:37 CEST 2002  Jan Hubicka  <jh@suse.cz>
2687
2688         * i386.c (x86_promote_QImode): Set for Athlon
2689         (x86_fast_prefix): New global variable.
2690         (x86_arch_always_fancy_math_387): Fix formating.
2691         * i386.h (x86_fast_prefix): Declare
2692         (TARGET_FAST_PREFIX): define.
2693         * i386.md (and to strict_low_part, HI to SI
2694         promoting splitter): Use new macro.
2695
2696         * i386.h (RTX_COSTS): float_extend is not for free for SSE.
2697
2698 2002-06-11  Zack Weinberg  <zack@codesourcery.com>
2699
2700         * Makefile.in (distclean): Delete junk left in testsuite
2701         directory, too.
2702
2703 2002-06-11  Jeffrey Law <law@redhat.com>
2704
2705         * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
2706         last insn created by the splitter.
2707
2708         * caller-save.c (init_caller_save): Move creation of SAVEINSN
2709         and RESTINSN into into the scope of the sequence.
2710
2711         * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
2712         RETURN insns.
2713
2714         * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
2715
2716         * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
2717         not the pattern.  So extract the pattern from the insn.
2718
2719         * mips.c (embedded_pic_fnaddr_reg): Fix typo.
2720
2721 2002-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
2722
2723         * config/s390/s390.md (movsi): Only use floating point
2724         register alternatives when operands are already fprs.
2725         (movdi_31, movdi_64): Likewise.
2726
2727 2002-06-11  David S. Miller  <davem@redhat.com>
2728
2729         * emit-rtl.c (try_split): Do not abort on non-INSN_P.
2730         Only run RTX equality checks on INSN_P rtl.
2731
2732 2002-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
2733
2734         * config/s390/s390.md (reload_base, ltorg): Remove.
2735         * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
2736         s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
2737         * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
2738         s390_asm_output_pool_prologue): Likewise.
2739         * s390.h (s390_pool_start_insn): Likewise.
2740
2741         * s390.c (s390_output_symbolic_const): Remove support for
2742         old-style pool chunks.
2743         (s390_function_epilogue): Likewise.
2744         (s390_output_constant_pool): Likewise.  Also, fix incorrect
2745         alignment for 64-bit literal pools.
2746         (print_operand_address): Remove 'y' and 'Y' format flags.
2747         * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
2748         old-style pool chunks.
2749         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
2750         (ASM_OUTPUT_POOL_EPILOGUE): Remove.
2751         (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
2752
2753         * s390.c (consttable_operand): New function.
2754         * s390-protos.h (consttable_operand): Declare it.
2755         * s390.h (PREDICATE_CODES): Add consttable_operand.
2756         * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
2757         consttable_sf, consttable_df, pool_start_31, pool_end_31,
2758         pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
2759         * s390.c (struct constant, struct constant_pool): New data types.
2760         (constant_modes, gen_consttable): New variables.
2761         (s390_start_pool, s390_end_pool, s390_add_pool,
2762         s390_dump_pool, s390_free_pool): New functions.
2763         (s390_chunkify_pool): Completely reimplement literal pool
2764         overflow handling.
2765
2766         * s390.c (s390_pool_overflow): New variable.
2767         * s390.h (s390_pool_overflow): Declare it.
2768         * s390.md (cjump, icjump): Use it to adapt length for out-of-range
2769         jumps in literal pool overflow situations.
2770
2771         * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
2772         (s390_frame_info): Account for possible use of RETURN_REGNUM
2773         by new literal pool overflow code.
2774         (s390_emit_prologue): Likewise.
2775
2776 2002-06-05  David S. Miller  <davem@redhat.com>
2777
2778         Delete SEQUENCE rtl usage outside of reorg and ssa passes.
2779         * rtl.h (gen_sequence, emit_insns, emit_insns_before,
2780         emit_insns_before_scope, emit_insns_after,
2781         emit_insns_after_scope): Delete declaration.
2782         * ada/misc.c (insert_code_for): Use emit_insn* instead of
2783         emit_insns_foo.
2784         * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
2785         (alpha_set_memflags): Fix comment.
2786         (set_frame_related_p): Use get_insns instead of gen_sequence.
2787         * config/alpha/alpha.md (setjmp receiver splitter): Avoid
2788         emitting no insns.
2789         * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
2790         gen_sequence.
2791         (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
2792         * config/fr30/fr30.c (fr30_move_double): Likewise.
2793         * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
2794         Likewise.
2795         * config/ia64/ia64.c (spill_restore_mem): Likewise.
2796         * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
2797         no insns.
2798         * config/m32r/m32r.c (gen_split_move_double): Use get_insns
2799         instead of gen_sequence.
2800         * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
2801         (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
2802         * config/sh/sh.c (sh_need_epilogue): Likewise.
2803         * config/sparc/sparc.md (current_function_calls_alloca, flat): New
2804         attributes.
2805         (setjmp pattern and split): Use them to avoid splitter which emits
2806         no RTL.
2807         * genattrtab.c (main): Emit include of function.h
2808         * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
2809         get_insns instead of gen_sequence.
2810         * config/cris/cris.c (cris_split_movdx): Likewise.
2811         * emit-rtl.c (emit_insns*): Kill.
2812         (try_split): Expect insn list instead of SEQUENCE.
2813         (make_jump_insn_raw, make_call_insn_raw): Fix comments.
2814         (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
2815         Make them abort if a SEQUENCE is given and RTL checking is
2816         enabled.
2817         (emit_*_scope): Don't forget to set scope on final insn.
2818         (gen_sequence): Move from here...
2819         * ssa.c (gen_sequence): To here as private function.
2820         * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
2821         comments.
2822         (expand_builtin_return, expand_builtin_mathfn): Likewise.
2823         (expand_builtin_strlen): Use get_insns instead of gen_sequence.
2824         (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
2825         (expand_builtin_expect_jump): Use get_insns and fix comments.
2826         * calls.c (try_to_integrate): Use emit_insn_foo.
2827         (expand_call, emit_library_call_value_1): Likewise.
2828         * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
2829         (emit_move_insn_1): Use get_insns instead of gen_sequence.
2830         (expand_expr): Use emit_insn_foo.
2831         * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
2832         * except.c (build_post_landing_pads): Likewise.
2833         * flow.c (attempt_auto_inc): Likewise.
2834         * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
2835         expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
2836         * function.c (fixup_var_refs_insn): Use get_insns instead of
2837         gen_sequence.
2838         (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
2839         (fixup_memory_subreg): Use get_insns instead of gen_sequence.
2840         (fixup_stack_1, purge_addressof_1, expand_main_function,
2841         get_arg_pointer_save_area): Likewise.
2842         (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
2843         expand_function_end): Use emit_insn_foo.
2844         (record_insns, keep_stack_depressed): Work with insn list instead
2845         of SEQUENCE, fix comments.
2846         * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
2847         noce_try_store_flag_constants, noce_try_store_flag_inc,
2848         noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
2849         noce_try_minmax, noce_try_abs): Use emit_insn_foo.
2850         (noce_process_if_block): Use get_insns instead of gen_sequence.
2851         * optabs.c (add_equal_note): Work with insn list, fix comments.
2852         (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
2853         (expand_unop, expand_complex_abs, expand_unop_insn,
2854         expand_no_conflict_block): Likewise.
2855         (gen_move_insn): Use get_insns instead of gen_sequence.
2856         (gen_cond_trap): Likewise.
2857         * integrate.c (copy_rtx_and_substitute): Likewise.
2858         (emit_initial_value_sets): Use emit_insn_foo.
2859         * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
2860         (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
2861         now that RTL generators give insn lists.
2862         * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
2863         * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
2864         instead of gen_sequence.
2865         (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
2866         * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
2867         instead of gen_sequence.
2868         * loop.c (move_movables, emit_prefetch_instructions,
2869         gen_add_mult, check_dbra_loop, gen_load_of_final_value):
2870         Likewise.
2871         (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
2872         (product_cheap_p): Likewise, and add commentary about RTL wastage
2873         here.
2874         * lcm.c (optimize_mode_switching): Use get_insns instead of
2875         gen_sequence.
2876         * profile.c (gen_edge_profiler): Likewise.
2877         * regmove.c (copy_src_to_dest): Likewise.
2878         * reg-stack.c (compensate_edge): Likewise and fix comment.
2879         * gcse.c (process_insert_insn): Likewise.
2880         (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
2881         * jump.c (delete_prior_computation): Update comment.
2882         * genemit.c (gen_expand, gen_split, main): Use get_insns instead
2883         of gen_sequence, update comments to match.
2884         * recog.c (peephole2_optimize): Work with insn lists instead of
2885         SEQUENCE rtl.
2886         * sched-vis.c (print_pattern): Abort on SEQUENCE.
2887         * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
2888         Use get_insns instead of gen_sequence.
2889         (copy_loop_body): Likewise and don't emit dummy NOTE.
2890         * genrecog.c: Don't mention SEQUENCE rtl in comments.
2891         * combine.c (try_combine): Expect insn lists from split generator.
2892         * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
2893         hand.
2894
2895 2002-06-11  Roger Sayle  <roger@eyesopen.com>
2896             Andreas Jaeger <aj@suse.de>
2897
2898         * cfgbuild.c: Update copyright years.
2899
2900 2002-06-11  Andreas Schwab  <schwab@suse.de>
2901
2902         * config/m68k/m68k.h (PREDICATE_CODES): Define.
2903
2904 2002-06-11  Eric Christopher  <echristo@redhat.com>
2905
2906         * doc/tm.texi (Run-time Target): Add comment about flag_iso
2907         and strict ANSI.
2908         * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
2909         * config/mips/ecoffl.h: Ditto.
2910         * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
2911         (CPP_PREDEFINES): Ditto.
2912         * config/mips/elfl64.h: Ditto.
2913         * config/mips/elfl.h: Ditto.
2914         * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
2915         out until irix header consolidation.
2916         * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
2917         with SUBTARGET_OS_CPP_BUILTINS.
2918         * config/mips/iris6.h: Ditto.
2919         (CPLUSPLUS_CPP_SPEC): Remove.
2920         * config/mips/linux.h: Ditto.
2921         * config/mips/netbsd.h: Ditto.
2922         * config/mips/openbsd.h: Ditto.
2923         * config/mips/rtems.h: Ditto.
2924         * config/mips/rtems64.h: Ditto.
2925         * config/mips/sni-svr4.h: Ditto.
2926         * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
2927         ISA_MIPS32, ISA_MIPS64): New defines.
2928         (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
2929         ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
2930         ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
2931         ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
2932         (TARGET_CPU_CPP_BUILTINS): Define.
2933         (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
2934         * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
2935         (movdicc): Remove check for ISA_MIPS32.
2936          (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
2937         sunordered_df, sunordered_sf, sordered_df, sordered_sf,
2938         sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
2939         sunge_sf, sunle_df, sunle_sf): New patterns.
2940
2941 2002-06-11  Neil Booth  <neil@daikokuya.demon.co.uk>
2942
2943         * Makefile.in: Update cppmain.o.
2944         * cpphash.h (struct cpp_reader): Move some members to a
2945         nested structure.
2946         (trad_line): Rename saved_line.
2947         (_cpp_read_logical_line_trad): Update.
2948         (_cpp_remove_overlay): New.
2949         * cppinit.c (cpp_create_reader): No need to set saved_line.
2950         (cpp_destroy): Update.
2951         (cpp_read_main_file): Only overlay if compiling.
2952         * cpplex.c (continue_after_nul): Return false if in directive.
2953         * cpplib.c (EXPAND): New.
2954         (directive_table, SEEN_EOL): Update.
2955         (end_directive): Remove overlay if traditional; don't skip
2956         line in traditional #define.
2957         (prepare_directive_trad): New.
2958         (_cpp_handle_directive, run_directive): Update for traditional
2959         directives.
2960         (lex_macro_node): Simplify, don't use lex_identifier_trad.
2961         * cpplib.h (struct options): Add preprocess_only.
2962         * cppmain.c: Don't include intl.h.
2963         (cpp_preprocess_file): Set options->preprocess_only.
2964         (scan_translation_unit_trad): Fix, and print line numbers.
2965         * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
2966         maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
2967         save_replacement_text, _cpp_create_trad_definition): Update for
2968         variable renaming.
2969         (_cpp_overlay_buffer): Save line number.
2970         (_cpp_remove_overlay): Rename from restore_buff, restore line.
2971         (_cpp_read_logical_line_trad): Don't handle overlays here.
2972         (scan_out_logical_line): Process directives.
2973
2974 2002-06-11  Danny Smith  <dannysmith@users.sourforge.net>
2975
2976         * gthr-win32.h: Wrap functions in extern "C".
2977         (__gthread_key_t): Typedef as unsigned long,
2978         not win32 DWORD.
2979         (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
2980         (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
2981         (__gthr_win32_once, __gthr_win32_key_create,
2982         __gthr_win32_key_delete, __gthr_win32_getspecific,
2983         __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
2984         __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
2985         __gthr_win32_mutex_unlock): Declare.
2986         (__gthread_once,__gthread_key_create,
2987         __gthread_key_delete, __gthread_getspecific,
2988         __gthread_setspecific, __gthread_mutex_init_function,
2989         __gthread_mutex_lock,__gthread_mutex_trylock,
2990         __gthread_mutex_unlock): Call corresponding
2991         __gthr_win32_* extern implementations if #defined
2992         __GTHREAD_HIDE_WIN32API.
2993         * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
2994         $(srcdir)/config/i386/gthr-win32.c
2995         * config/i386/gthr-win32.c: New implementation file.
2996         (__gthr_win32_once, __gthr_win32_key_create,
2997         __gthr_win32_key_delete, __gthr_win32_getspecific,
2998         __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
2999         __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
3000         __gthr_win32_mutex_unlock): New functions, based on
3001         static inlines in gthr-win32.h.
3002
3003 2002-06-10  Bob Wilson  <bob.wilson@acm.org>
3004
3005         * config/xtensa/xtensa.c (override_options): Don't warn about
3006         using -fpic or -fPIC when PIC is enabled by default.
3007
3008 2002-06-10  Roger Sayle  <roger@eyesopen.com>
3009
3010         * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
3011
3012 2002-06-10  Zack Weinberg  <zack@codesourcery.com>
3013
3014         * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
3015         * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
3016         exists, substitute its pathname as @extra_modes_file@, define
3017         EXTRA_MODES_FILE to be an appropriate string to #include it
3018         with, and define EXTRA_CC_MODES to 1.
3019
3020         * machmode.def: Update comments.  Include EXTRA_MODES_FILE if
3021         it's defined.  Get rid of redundancy in calling sequence for
3022         CC; don't use it to define CCmode, to avoid a warning.
3023         * libgcc2.c: Include symcat.h for the sake of machmode.def.
3024
3025         * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
3026         i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
3027         pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
3028         New files.
3029         * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
3030         pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
3031
3032         * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
3033         defining extra CC modes.
3034
3035 2002-06-10  Roger Sayle  <roger@eyesopen.com>
3036             Andreas Jaeger <aj@suse.de>
3037
3038         * cfgrtl.c (create_basic_block_structure):  Remove index argument
3039         and use last_basic_block++ instead.  (create_basic_block): Update.
3040         * cfgbuild.c (find_basic_blocks_1): Likewise.
3041
3042         * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
3043         * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
3044         * sched-ebb.c (schedule_ebbs): Likewise.
3045         * sched-rgn.c (schedule_insns): Likewise.
3046         * ssa-ccp.c (ssa_const_prop): Likewise.
3047         * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
3048         * toplev.c (rest_of_compilation): Likewise.
3049         * config/ia64/ia64.c (ia64_reorg): Likewise.
3050
3051 2002-06-10  Roger Sayle  <roger@eyesopen.com>
3052
3053         * simplify-rtx.c (simplify_replace_rtx): Allow replacement
3054         of matching registers.
3055
3056 2002-06-10  Roger Sayle  <roger@eyesopen.com>
3057
3058         * toplev.c (rest_of_compilation): Disable early if-conversion pass.
3059         * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
3060
3061 2002-06-10  Hans-Peter Nilsson  <hp@bitrange.com>
3062
3063         * config/mmix/mmix.h: Improve comments.
3064         (CPP_SPEC, CPP_PREDEFINES): Don't define.
3065         (TARGET_CPU_CPP_BUILTINS): Define.
3066         (CANONICALIZE_COMPARISON): Don't define, replace with comment.
3067         (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
3068         unused predicate.
3069         * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
3070         compiler warning.
3071         (mmix_constant_address_p): Remove another
3072         redundant test before case.
3073         (mmix_canonicalize_comparison): Remove unused function.
3074         (mmix_print_operand_address): Don't test and adjust for operand in
3075         non-canonical format.
3076         (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
3077         (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
3078
3079 2002-06-10  Zack Weinberg  <zack@codesourcery.com>
3080
3081         * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
3082         * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
3083         * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
3084         (gen_compare): Use CCmode unconditionally.
3085
3086 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
3087
3088         PR optimization/6759
3089         * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
3090         the REQ_EQUAL note.
3091
3092 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
3093
3094         PR c/6660
3095         * c-decl.c (grokfield): Allow user defined types if they declare
3096         structs or unions for unnamed fields.
3097
3098 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
3099
3100         PR c/6809
3101         * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
3102
3103 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
3104
3105         PR optimization/6842
3106         * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
3107         operand subreg cannot be simplified.
3108
3109 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
3110
3111         * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
3112         (compare_constant): Likewise.
3113         (output_addressed_constants): Likewise.
3114
3115 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
3116
3117         * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
3118         merge bb with itself.
3119
3120 2002-06-10  Richard Henderson  <rth@redhat.com>
3121
3122         * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
3123         (builtin_zapnot): Likewise.
3124
3125         * config/alpha/ev5.md: Don't combine shift and mvi insns in one
3126         reservation.
3127
3128 2002-06-10  Eric Christopher  <echristo@redhat.com>
3129
3130         * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
3131         prototype and function.
3132         (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
3133         (call_insn_operand): Remove half pic references.
3134         (legitimate_address_p): Ditto.
3135         * config/i386/i386.h: Remove half pic defines.
3136
3137 2002-06-10  Eric Christopher  <echristo@redhat.com>
3138
3139         * doc/extend.texi (Return Address): Add note explaining the side-
3140         effects of inlining on __builtin_return_address.
3141
3142 2002-06-10  Tom Tromey  <tromey@redhat.com>
3143
3144         * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
3145         (c-common.o): Depend on langhooks.h.
3146
3147 2002-06-10  Neil Booth  <neil@daikokuya.demon.co.uk>
3148
3149         * cpphash.h (_cpp_read_logical_line_trad,
3150         _cpp_expansions_different_trad): Update prototypes.
3151         * cpplex.c (continue_after_nul): New.
3152         * cppmain.c: Include cpphash.h.
3153         (scan_translation_unit_trad): New.
3154         (cpp_preprocess_file): Call it.
3155         * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
3156         overlay.
3157         (_cpp_expansions_different_trad): Update prototype.
3158
3159 Mon Jun 10 18:02:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
3160
3161         Fix cfi generation for SH[1-4]:
3162
3163         * sh.c (frame_insn): New function.
3164         (output_stack_adjust): Add parameter emit_fn.  All callers changed.
3165         (push): Now returns rtx.  Use frame_insn.
3166         (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
3167         of a DF register.
3168         * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
3169
3170 2002-06-10  Zack Weinberg  <zack@codesourcery.com>
3171
3172         * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
3173         and gtype-desc.c.
3174         (mostlyclean): Delete specs.h, options.h, gencheck.h here...
3175         (distclean): ... not here.  But do delete all testsuite/*.log,
3176         testsuite/*.sum files here.  Delete mkheaders.  Delete
3177         po/*.gmo and the testsuite directory in a split tree build.
3178
3179 2002-06-10  Jeffrey Law  <law@redhat.com>
3180
3181         * alias.c (static_reg_base_value): New to hold RTL for
3182         items allocated once per function for the aliasing code.
3183         (init_alias_once_per_function): Initialize static_reg_base_value.
3184         (init_alias_analysis): Avoid throw-away allocations of RTL by
3185         using pre-computed values in static_reg_base_value.
3186         * function.c (prepare_function_start): Call
3187         init_alias_once_per_function appropriately.
3188         * rtl.h (init_alias_once_per_function): Declare.
3189         * caller-save (init_caller_save): Restructure slightly to
3190         avoid lots of silly RTL generation.
3191         * expr.c (init_expr_once): Likewise.
3192         * reload1.c (reload_cse_regs_1): Allocate throw-away register
3193         RTL object here.  Pass it into children.
3194         (reload_cse_simplify_operands): Use passed-in register RTL
3195         object.
3196         (reload_cse_simplify): Pass through throw-away register
3197         RTL object.
3198
3199 2002-06-10  Daniel Berlin  <dberlin@dberlin.org>
3200
3201         * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
3202
3203 2002-06-10  Richard Sandiford  <rsandifo@redhat.com>
3204
3205         * gcc.c (process_command): Avoid assignment to read-only location.
3206         Fix sizeof calculation.
3207
3208 2002-06-10  Neil Booth  <neil@daikokuya.demon.co.uk>
3209
3210         * cpphash.h (struct cpp_macro): Put comments on their own lines.
3211         (_cpp_expansions_different_trad): New.
3212         * cppmacro.c (warn_of_redefinition): Fix for traditional case.
3213         * cpptrad.c (canonicalize_text): New.
3214         (scan_out_logical_line): Handle no arguments correctly.
3215         (save_replacement_text): Commit memory when finished.
3216         (_cpp_expansions_different_trad): New.
3217
3218 2002-06-10  Tim Josling  <tej@melbpc.org.au>
3219
3220         * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
3221         TREELANG and COBOL.
3222         (lang_names): Add treelang and cobol.
3223         (get_file_basename): Add code to support treelang and cobol as
3224         4th and 5th users of c-common.c.
3225
3226 2002-06-09  Geoffrey Keating  <geoffk@redhat.com>
3227
3228         * Makefile.in (install-driver): Install driver as
3229         $(target_alias)-gcc-$(version).
3230         * gcc.c (spec_version): Make const.
3231         (process_command): Handle -V and -b by using exec.
3232         * doc/invoke.texi (Target Options): Restore -V option,
3233         update docs for -b option.
3234
3235 2002-06-10  Tim Josling  <tej@melbpc.org.au>
3236
3237         * configure.in (remaining_languages_check):
3238         Added check that all languages specified were found.
3239         Exit if not found. Previous behaviour was silent failure.
3240         * configure: Regenerated.
3241
3242 2002-06-10  Tim Josling  <tej@melbpc.org.au>
3243
3244          First steps to making treelang documentation compliant, based on
3245          instructions in sourcebuild.texi. Also add to gcc.c list of
3246          default languages.
3247
3248         * doc/contrib.texi: Add self as contributor of treelang.
3249
3250         * doc/frontends.texi: Add mention of treelang.
3251
3252         * doc/invoke.texi (Overall Options): Add mention of treelang.
3253
3254         * doc/standards.texi:  Add mention of treelang.
3255
3256 2002-06-09  Hans-Peter Nilsson  <hp@axis.com>
3257
3258         * config/cris/cris.c: Include ggc.h
3259
3260 2002-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
3261
3262         * cpphash.h (_cpp_push_text_context): Update.
3263         (_cpp_arguments_ok): New.
3264         * cppmacro.c (_cpp_arguments_ok): New, split out from...
3265         (collect_args): ...here.
3266         (_cpp_push_text_context): Change inputs.
3267         * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
3268         replace_args_and_push): New.
3269         (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
3270         Don't use IS macros directly.
3271         (scan_out_logical_line): Handle function-like macro argument
3272         collection.
3273         (push_replacement_text): Update.
3274         (replacement_length): Remove.
3275         (_cpp_create_trad_definition): Don't skip whitespace before
3276         checking for '('.
3277
3278 2002-06-09  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3279
3280         * config/avr/avr.c (avr_mcu_types): Update for new devices.
3281         * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
3282         (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
3283         * config/avr/avr.md ("type" and "length" attributes): New type
3284         "xcall", length 1 or 2 if AVR_MEGA.  Use in all patterns that
3285         output a single "call" or "rcall" insn depending on device size.
3286         * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
3287
3288 2002-06-09  David Edelsohn  <edelsohn@gnu.org>
3289
3290         * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
3291         synonym for 630.  Add power4.  Remove embedded processors.  Use -m604
3292         assembler option.
3293         (CPP_CPU_SPEC): Add power3 and power4.
3294         (PROCESSOR_DEFAULT): Change to 604e.
3295         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
3296         (CPP_CPU_SPEC): Similar additions.
3297         (enum process_type): Add POWER4.
3298         (RTX_COSTS): Add POWER4.
3299         (CPP_CPU_SPEC): Similar additions.
3300         * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
3301         (PROCESSOR_DEFAULT64): Define.
3302         * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
3303         (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
3304         branch adjustment.
3305         (rs6000_issue_rate): Add Power4.
3306         * config/rs6000/rs6000.md (cpu attr): Add power4.
3307         (iu compare): Remove 604, 604e, 620, 630.
3308         Add basic Power4 scheduling information.
3309         (mfcr/mtcrf): Change type attribute to cr_logical.
3310
3311 2002-06-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3312
3313         * gengtype.h (error_at_line): Use PARAMS, not VPARAMS.  Add
3314         ATTRIBUTE_PRINTF_2.
3315         * gengtype-lex.l: Fix format specifier warning.
3316
3317         * genautomata.c: Don't include ctype.h or limits.h.  Use ISSPACE,
3318         not isspace.
3319         * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
3320         lieu of isspace/IDchar.
3321         * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
3322         * read-rtl.c: Likewise for ctype.h.  Don't define ISDIGIT or
3323         ISSPACE.
3324
3325 2002-06-08  Zack Weinberg  <zack@codesourcery.com>
3326
3327         * Makefile.in (LIBCPP_OBJS): Take out version.o.
3328         * cpphash.h (cpp_reader): Take out print_version member.
3329         * cppinit.c: (cpp_handle_option): Don't do anything with
3330         -version.  Just set help_only for --version, --target-help.
3331         Just set verbose option for -v.
3332         (cpp_post_options): Don't print a version string.
3333
3334 2002-06-08  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3335
3336         * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
3337         (avr_section_type_flags): New, handle .noinit* sections.
3338
3339 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
3340
3341         * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
3342         and include netbsd_entry_point.
3343         (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
3344         (NETBSD_ENTRY_POINT): Define.
3345
3346 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
3347
3348         * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
3349         if not already defined.
3350         (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
3351
3352 2002-06-08  Marek Michalkiewicz  <marekm@amelek.gda.pl>
3353
3354         * config/avr/avr.c (avr_regs_to_save): No need to save any registers
3355         in a noreturn function.
3356         (avr_output_function_prologue, avr_output_function_epilogue):
3357         Correct function size calculation.  Do not crash on empty function.
3358         (avr_output_function_epilogue): No need for epilogue after a BARRIER.
3359
3360 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
3361
3362         * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
3363         netbsd_link_spec and netbsd_entry_point.
3364         (LINK_SPEC): Use %(netbsd_link_spec).
3365         (NETBSD_ENTRY_POINT): Define.
3366
3367 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
3368
3369         * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
3370         linker emulation.
3371         (LINK_ARCH64_SPEC): Likewise.
3372         (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
3373         (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
3374
3375 2002-06-08  Marc Espie  <espie@openbsd.org>
3376
3377         * lists.c (free_list):  Fix typo in comment.
3378
3379 2002-06-08  Andreas Jaeger  <aj@suse.de>
3380
3381         * lcm.c (optimize_mode_switching): Add unused attribute for
3382         variable.
3383
3384         * sched-deps.c (sched_analyze): Remove unused variable.
3385
3386 2002-06-08  Gabriel Dos Reis  <gdr@codesourcery.com>
3387
3388         * diagnostic.def: Don't capitalize diagnostict descriptors.
3389
3390 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
3391
3392         * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
3393         (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
3394         (NETBSD_ENTRY_POINT): Define.
3395
3396 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
3397
3398         * config/i386/netbsd-elf.h (LINK_SPEC): Define as
3399         NETBSD_LINK_SPEC_ELF.
3400         (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
3401         (NETBSD_ENTRY_POINT): Define.
3402         * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
3403         (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
3404         netbsd_entry_point.
3405         (NETBSD_ENTRY_POINT): Define.
3406
3407 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
3408
3409         * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
3410         netbsd_link_spec and netbsd_entry_point.
3411         (LINK_SPEC): Use %(netbsd_link_spec).
3412         (NETBSD_ENTRY_POINT): Define.
3413
3414 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
3415
3416         * config/netbsd-elf.h (LINK_SPEC): Rename to...
3417         (NETBSD_LINK_SPEC_ELF): ...this.  Use %(netbsd_entry_point)
3418         to specify program entry point.
3419
3420 2002-06-07  Jeff Law <law@redhat.com
3421
3422         * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
3423         * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
3424         than creating a new register.
3425         (distribute_notes): Likewise.
3426         * df.c (df_reg_use_gen): Likewise.
3427         (df_reg_clobber_gen): Likewise.
3428         (df_ref_record): Likewise.
3429         * expr.c (use_regs): Likewise.
3430         * flow.c (propagate_one_insn): Likewise.
3431         (mark_set_1): Likewise.
3432         (mark_used_reg): Likewise.
3433         * reload.c (emit_reload_insns): Likewise.
3434
3435 2002-06-07  Roger Sayle  <roger@eyesopen.com>
3436
3437         * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
3438         (ne (comp x y) 0) into (comp x y) where comp is a comparison code.
3439         Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
3440         comparison code comp can be reversed.
3441
3442 2002-06-07  Roger Sayle  <roger@eyesopen.com>
3443
3444         * fold-const.c (fold) [EQ_EXPR]:  Place both integer and real
3445         constants last in comparisons.  Optimize (x+1.0)>0.0 into the
3446         equivalent x > -1.0 when -ffast-math.
3447
3448 2002-06-07  Jason Thorpe  <thorpej@wasabisystems.com>
3449
3450         * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
3451         * config/mips/t-netbsd: New file.
3452
3453 2002-06-07  Zack Weinberg  <zack@codesourcery.com>
3454
3455         * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
3456         options their own entries.
3457         (parse_option): Clarify comment.
3458         (cpp_handle_option): Remove 'ignore' parameter and OPT_W
3459         special case.  Replace if/strcmp chain for -W options with
3460         use of new OPT_* entries for them.
3461         (cpp_handle_options): Update to match.
3462         * cpplib.h: Remove last parameter to cpp_handle_option from prototype.
3463         * c-decl.c: Update call to cpp_handle_option.
3464
3465 2002-06-07  Akim Demaille  <akim@epita.fr>
3466
3467         * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
3468         Whitespace changes.
3469
3470 2002-06-07  Jeffrey Law  <law@redhat.com>
3471
3472         * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
3473         on empty lists.
3474
3475 2002-06-07  H.J. Lu  (hjl@gnu.org)
3476
3477         * configure.in: Add --enable-__cxa_atexit.
3478         * configure: Regenerated.
3479         * config.in: Likewise.
3480
3481         * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
3482         not defined.
3483
3484 2002-06-07  Gabriel Dos Reis  <gdr@merlin.nerim.net>
3485
3486         * diagnostic.c (diagnostic_build_prefix): Fix initialization.
3487
3488 2002-06-07  Jason Thorpe  <thorpej@wasabisystems.com>
3489
3490         * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
3491
3492 2002-06-07  Jason Merrill  <jason@redhat.com>
3493
3494         * cppexp.c (num_equality_op): Use a temporary variable to work
3495         around gcc 3.0.4 bug.
3496
3497 2002-06-07  Gabriel Dos Reis  <gdr@codesourcery.com>
3498
3499         * diagnostic.c (diagnostic_build_prefix): Tidy.
3500
3501 2002-06-07  Neil Booth  <neil@daikokuya.demon.co.uk>
3502
3503         * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
3504         scan_parameters, save_replacement_text, replacement_length): New.
3505         (scan_out_logical_line): Take a macro and save parameters if
3506         non-NULL.
3507         (_cpp_logical_line_trad): Update.
3508         (_cpp_create_trad_definition): Update to handle function-like
3509         macros.
3510         * cpplex.c (new_buff): Update.
3511         (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
3512         * cpphash.h: ...here.
3513         (CPP_ALIGN2, _cpp_save_parameter): New.
3514         * cppmacro.c (save_parameter): Rename, export.
3515         (parse_params): Update.
3516
3517 2002-06-07  Andreas Jaeger  <aj@suse.de>
3518
3519         * config/mmix/mmix.c: Remove extra broken prototype for
3520         mmix_init_machine_status.
3521
3522 2002-06-06  Geoffrey Keating  <geoffk@redhat.com>
3523
3524         * gengtype.c: Add comments before all the routines.
3525
3526 2002-06-07  Jason Thorpe  <thorpej@wasabisystems.com>
3527
3528         * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
3529         from and add t-sh64 to ${tmake_file}.
3530         (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
3531         * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
3532         * config/sh/t-netbsd-sh5-32: Remove.
3533         * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
3534         MULTILIB_ENDIAN.
3535         (MULTILIB_DIRNAMES): Define.
3536
3537 Thu Jun  6 23:14:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
3538
3539         * i386.md (and promoting splitters): Disable QI to SImode promoting
3540         when doing so changes immediate to be 32bit.
3541
3542         * rtl.h (emit_*_scope): Declare.
3543         * emit-rtl.c (emit_*_scope): New global functions.
3544         (try_split): Copy scope.
3545         * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
3546         noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
3547         noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
3548         noce_process_if_block, find_cond_trap): Copy scopes.
3549         * recog.c (peephole2_optimize): likewise.
3550
3551 2002-06-06  Jeffrey Law  <law@redhat.com>
3552
3553         * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
3554
3555 Thu Jun  6 21:06:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
3556
3557         * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
3558
3559 2002-06-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3560
3561         * Makefile.in (TEXI_GCCINSTALL_FILES): Define.
3562         ($(docdir)/gccinstall.info): New target.
3563         (info): Depend on it.
3564         (gccinstall.dvi): New target.
3565         (dvi): Depend on it.
3566         * doc/.cvsignore: Ignore new info files.
3567         * doc/install.texi (@setfilename): Reflect new info filename.
3568
3569 Thu Jun  6 15:57:23 2002  J"orn Rennecke <joern.rennecke@superh.com>
3570
3571         * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
3572         on an UNSPEC.
3573
3574 Thu Jun  6 07:17:43 2002  Nicola Pero  <n.pero@mi.flashnet.it>
3575
3576         PR objc/6834
3577         * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
3578         c_common_get_alias_set.
3579         (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
3580
3581 2002-06-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3582
3583         * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
3584         functions.
3585         * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
3586         * avr/avr.c (avr_output_function_epilogue): Use above to determine
3587         function size.
3588         * pa/pa.c (pa_output_function_prologue): Likewise.
3589
3590 2002-06-05  David S. Miller  <davem@redhat.com>
3591
3592         * integrate.c (subst_constants): Handle 'B' RTL format.
3593
3594 2002-06-05  Eric Christopher  <echristo@redhat.com>
3595
3596         * varasm.c (make_decl_rtl): Fix comment for removed
3597         halfpic.c.
3598
3599 2002-06-05  Eric Christopher  <echristo@redhat.com>
3600
3601         * Makefile.in: Remove missed halfpic bits.
3602
3603 2002-06-05  Eric Christopher  <echristo@redhat.com>
3604
3605         * toplev.c: Remove half-pic.
3606         * config/mips/mips.c: Ditto.
3607         * config/mips/mips.h: Ditto. Remove unused defines.
3608         * config/mips/openbsd.h: Update comment to reflect above.
3609         * config/mips/mips.md: Remove half-pic constraints.
3610         * halfpic.h: Delete.
3611         * halfpic.c: Ditto.
3612
3613 2002-06-05  Jeffrey Law  <law@redhat.com>
3614
3615         * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
3616         rejects (mem (lo_sum (reg) (unspec))), but will allow
3617         (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
3618
3619 2002-06-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3620
3621         * cpphash.h (_cpp_create_definition): Update prototype.
3622         (_cpp_push_text_context, _cpp_create_trad_definition): New.
3623         ( cpp_lex_identifier_trad): New.
3624         (_cpp_set_trad_context): New.
3625         * cppinit.c (cpp_finish_options): Don't conditionalize builtins.
3626         * cpplib.c (SEEN_EOL): Update.
3627         (lex_macro_node): Update for -traditional.
3628         (cpp_push_buffer, _cpp_pop_buffer): Similarly.
3629         * cppmacro.c (_cpp_create_definition): Split into
3630         create_iso_definition() and _cpp_create_trad_definition().
3631         (warn_of_redefinition): Update prototype; handle traditional
3632         macros.
3633         (_cpp_push_text_context): New.
3634         * cpptrad.c (skip_whitespace, push_replacement_text): New.
3635         (lex_identifier): Call ht_lookup with correct start.
3636         (_cpp_lex_identifier_tradm _cpp_create_trad_definition,
3637         _cpp_set_trad_context): New.
3638         (scan_out_logical_line): Update to handle changing contexts.
3639
3640 Wed Jun  5 20:42:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
3641
3642         * config.gcc (sh-*-elf*,  sh64*-*-elf*): Unify.
3643         (shl*-*-elf*): Add.
3644         * config/sh/t-be (MULTILIB_ENDIAN): Set.
3645         * config/sh/t-le (MULTILIB_ENDIAN): Likewise.
3646         * t-sh (MULTILIB_ENDIAN): Set.
3647         (MULTILIB_OPTIONS): Use it.
3648         * t-sh64 (MULTILIB_OPTIONS): Likewise.
3649         (MULTILIB_DIRNAMES): Likewise.
3650
3651 2002-06-05  Gabriel Dos Reis  <gdr@codesourcery.com>
3652
3653         * toplev.h (report_error_function): Remove.
3654
3655         * diagnostic.h (location_t): New datatype.
3656         (text_info): Likewise.
3657         (diagnostic_info): Likewise.
3658         (output_prefix): New macro.
3659         (diagnostic_last_function_changed): Likewise.
3660         (diagnostic_set_last_function): Likewise.
3661         (diagnostic_last_module_changed): Likewise.
3662         (diagnostic_set_last_module): Likewise.
3663         (report_diagnostic): Now macro.
3664         (diagnostic_set_info): Declare.
3665
3666         * diagnostic.c (report_problematic_module): Rename to
3667         diagnostic_repor_current_module.
3668         (set_diagnostic_context): Remove.
3669         (count_error): Rename to diagnostic_error_count.
3670         (error_function_changed): Remove.
3671         (record_last_error_function): Likewise.
3672         (error_module_changed): Likewise.
3673         (record_last_error_module): Likewise.
3674         (context_as_prefix): Rename to diagnostic_build_prefix.
3675         (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
3676         (diagnostic_set_info): New function.
3677
3678         * objc/objc-act.c: #include diagnostic.h
3679         (error_with_ivar): Adjust call to count_error.
3680         (warn_with_method): Likewise.
3681         * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
3682
3683 2002-06-05  Bob Wilson  <bob.wilson@acm.org>
3684
3685         * config/xtensa/xtensa.c (xtensa_build_va_list): Use
3686         lang_hooks.types.make_type instead of make_node; set up
3687         __va_list_tag type decl.
3688         (xtensa_builtin_saveregs): Remove broken use of
3689         RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
3690         for saved registers; add varargs alias set.
3691
3692 2002-06-05  Neil Booth  <neil@daikokuya.demon.co.uk>
3693
3694 config:
3695         * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
3696         * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
3697         CPP_PREDEFINES and part of CPP_SPEC.
3698         i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
3699         i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
3700
3701 Wed Jun  5 15:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
3702
3703         * reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
3704
3705 2002-06-05  Alan Modra  <amodra@bigpond.net.au>
3706
3707         * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
3708
3709 2002-06-04  Zack Weinberg  <zack@codesourcery.com>
3710
3711         * gengtype-yacc.y: Make sure all rules end with a semicolon.
3712
3713 2002-06-04  Bob Wilson  <bob.wilson@acm.org>
3714
3715         * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
3716         typo in function prototype and include "ggc.h" header.
3717
3718 2002-06-04  Richard Henderson  <rth@redhat.com>
3719
3720         * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
3721         (print_operand) ['U']: Likewise.
3722         (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
3723         (alpha_expand_unaligned_store_words): Likewise.
3724         (alpha_expand_builtin_vector_binop): Fix typo.
3725         (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
3726         umulh, and cix insns.
3727         (one_arg_builtins): Add cix builtins.
3728         (two_arg_builtins): Add ext, ins, msk, umulh builtins.
3729         (alpha_expand_builtin): Fix typo in arity.
3730         * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
3731         (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
3732         builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
3733         builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
3734         builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
3735         builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
3736         builtin_ctlz, builtin_ctpop): New.
3737         * doc/extend.texi (Alpha Built-in Functions): Update.
3738
3739 2002-06-04  Geoffrey Keating  <geoffk@redhat.com>
3740
3741         * gengtype.c (write_gc_root): Don't unnecessarily prevent
3742         global variable-length arrays being roots.
3743
3744         * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
3745         * configure.in (config_gtfiles): New variable.
3746         (all_gtfiles): Initialise from config_gtfiles.
3747         * configure: Regenerate.
3748
3749 2002-06-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3750
3751 config/i386:
3752         * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
3753         i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
3754         mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
3755         sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
3756         win32.h (CPP_SPEC): Remove cpp_cpu.
3757         * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
3758         (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
3759
3760 2002-06-04  Janis Johnson  <janis187@us.ibm.com>
3761
3762         * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
3763
3764 2002-06-04  Jeff Law <law@redhat.com.
3765             David Edelsohn <edelsohn@gnu.org>
3766             Michael Matz <matz@kde.org>
3767
3768         * sched-int.h (struct deps): New field libcall_block_tail_insn.
3769         * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
3770         * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
3771         is set, then mark the current insn as being part of a libcall
3772         scheduling group.
3773         (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
3774
3775         * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
3776         insns against the issue rate.
3777
3778 Tue Jun  4 19:29:42 CEST 2002  Jan Hubicka  <jh@suse.cz>
3779
3780         * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
3781         * final.c (final_scan_insn): Likewise.
3782         * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
3783         NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
3784         * haifa-sched.c (unlink_other_notes): Likeewise.
3785         (reemit_notes): Likewise.
3786         * print-rtl.c (print_rtx): Likewise.
3787         * sched-deps (sched-analyze): Likewise.
3788         * rtl.c (note_insn_name): Likewise.
3789         * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
3790         (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
3791         (RANGE_*): Kill.
3792
3793 2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
3794
3795         * varasm.c (mark_constants): Handle RTX format 'B'.
3796
3797 2002-06-04  Neil Booth  <neil@daikokuya.demon.co.uk>
3798
3799         * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
3800         (struct cpp_context): Add traditional fields.
3801         * cppmacro.c (paste_all_tokens, push_ptoken_context,
3802         push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
3803         * cpptrad.c (skip_comment, lex_identifier,
3804         _cpp_read_logical_line_trad, scan_out_logical_line): Update.
3805
3806 2002-06-04  Kazu Hirata  <kazu@cs.umass.edu>
3807
3808         * gbl-ctors.h: Fix formatting.
3809         * gcc.c: Likewise.
3810         * gccspec.c: Likewise.
3811         * gcov.c: Likewise.
3812         * gcov-io.h: Likewise.
3813         * gcse.c: Likewise.
3814         * ggc-common.c: Likewise.
3815         * ggc.h: Likewise.
3816         * ggc-page.c: Likewise.
3817         * ggc-simple.c: Likewise.
3818         * global.c: Likewise.
3819         * graph.h: Likewise.
3820         * gthr-dce.h: Likewise.
3821         * gthr.h: Likewise.
3822         * gthr-posix.h: Likewise.
3823         * gthr-rtems.h: Likewise.
3824         * gthr-solaris.h: Likewise.
3825         * gthr-win32.h: Likewise.
3826
3827 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
3828
3829         Merge from pch-branch:
3830
3831         * gengtype.h (UNION_OR_STRUCT_P): New macro.
3832         * gengtype.c (write_gc_structure_fields): Use it.
3833         (write_gc_root): Use it here too.
3834
3835         * gengtype.c (write_gc_structure_fields): Assume that lengths
3836         of typenames fit into an 'int'; don't pass a size_t to "%d" in
3837         printf.
3838         (write_gc_marker_routine_for_structure): Likewise.
3839         (write_gc_types): Likewise.
3840         (write_gc_root): Likewise.
3841
3842         * varray.h (VARRAY_CLEAR): New.
3843         (varray_clear): Prototype.
3844         * varray.c (varray_clear): New.
3845         * cselib.c (reg_values_old): New.
3846         (used_regs_old): New.
3847         (cselib_init): Use cached varrays if available to avoid
3848         generating large amounts of garbage.
3849         (cselib_finish): Don't throw away old varrays.
3850
3851         * final.c (insn_addresses_): Move out of ifdef.
3852
3853         * varray.c (uses_ggc): Make more varray kinds GCable.
3854         * varray.h (union varray_data_tag): Let gengtype see
3855         fields 'generic' and 'te'.
3856         * reg-stack.c: Include gt-reg-stack.h, ggc.h.
3857         (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
3858         (reg_to_stack): Don't call VARRAY_FREE.
3859         * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
3860         (insn_addresses_): Use gengtype to mark.
3861         * gengtype.c (write_gc_structure_fields): Handle arrays of generic
3862         pointers; handle generic pointers in unused union fields.
3863         (get_output_file_with_visibility): Include cselib.h,
3864         insn-addr.h in gtype-desc.c.
3865         * function.c (prologue): Use gengtype to mark.
3866         (epilogue): Likewise.
3867         (sibcall_epilogue): Likewise.
3868         * dependence.c: Include gt-dependence.h, ggc.h.
3869         (struct def_use): Use gengtype to mark.
3870         (struct loop): Likewise.
3871         (struct induction): Likewise.
3872         (struct dependence): Likewise.
3873         (def_use_chain): Likewise.
3874         (dep_chain): Likewise.
3875         (loop_chain): Likewise.
3876         (induction_chain): Likewise.
3877         (init_dependence_analysis): Don't free anything, just clear pointers.
3878         (build_def_use): Use GGC to allocate def_use.
3879         (add_loop): Use GGC to allocate loop.
3880         (find_induction_variable): Use GGC to allocate induction.
3881         (check_node_dependence): Use GGC to allocate induction, dependence.
3882         (dump_node_dependence): Don't free varrays.
3883         (end_dependence_analysis): Likewise.
3884         * cselib.h (struct cselib_val_struct): Use gengtype to mark.
3885         (struct elt_loc_list): Likewise.
3886         (struct elt_list): Likewise.
3887         * cselib.c: Don't include obstack.h.
3888         (hash_table): Use gengtype to mark.
3889         (reg_values): Use gengtype to mark.
3890         (used_regs): Use gengtype to mark.
3891         (cselib_obstack): Delete.
3892         (cselib_startobj): Delete.
3893         (empty_vals): Mark as deletable.
3894         (empty_elt_lists): Mark as deletable.
3895         (empty_elt_loc_lists): Mark as deletable.
3896         (new_elt_list): Use GGC to allocate struct elt_list.
3897         (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
3898         (clear_table): Don't delete obstack; don't unnecessarily clear
3899         deletable variables.
3900         (new_cselib_val): Use GGC to allocate struct cselib_val.
3901         (cselib_init): Don't set up obstacks.  Use GGC to allocate
3902         hash table.
3903         (cselib_finish): Just clear variables, don't free anything.
3904         * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
3905         (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
3906         (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
3907         (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
3908         (gt-reg-stack.h): New rule.
3909         (gt-dependence.h): New rule.
3910         (gtype-desc.o): Add cselib.h, insn-addr.h.
3911
3912         * varray.c: Use only necessary headers.
3913         (element_size): New.
3914         (uses_ggc): New.
3915         (varray_init): Take type, not size.  Use GGC if appropriate.
3916         (varray_grow): Update for change to struct varray_head_tag.
3917         Use GGC if appropriate.
3918         * varray.h (struct const_equiv_data): Use gengtype.
3919         (enum varray_data_enum): New.
3920         (union varray_data_tag): Use gengtype.
3921         (struct varray_head_tag): Use gengtype.  Replace size field with
3922         enum varray_data_enum.
3923         (varray_init): Update prototype.
3924         (VARRAY_SCHED_INIT): Delete.
3925         (VARRAY_*_INIT): Update for change to varray_init.
3926         (VARRAY_SCHED): Delete.
3927         (VARRAY_PUSH_SCHED): Delete.
3928         (VARRAY_TOP_SCHED): Delete.
3929         * tree.h: Update for change to length specifier.
3930         * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
3931         (clone_body): Likewise.
3932         * ssa.h (ssa_definition): Use gengtype to mark.
3933         * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
3934         * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
3935         * rtl.h (struct rtvec_def): Update for change to length specifier.
3936         * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
3937         (struct initial_value_struct): Update for change to length specifier.
3938         * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
3939         (ggc_add_tree_varray_root): Delete prototype.
3940         (ggc_mark_rtx_varray): Delete prototype.
3941         (ggc_mark_tree_varray): Delete prototype.
3942         * ggc-common.c (ggc_add_rtx_varray_root): Delete.
3943         (ggc_add_tree_varray_root): Delete.
3944         (ggc_mark_rtx_varray): Delete.
3945         (ggc_mark_tree_varray): Delete.
3946         (ggc_mark_rtx_varray_ptr): Delete.
3947         (ggc_mark_tree_varray_ptr): Delete.
3948         * gengtype.h (enum typekind): Remove TYPE_VARRAY.
3949         (create_varray): Delete prototype.
3950         * gengtype.c (varrays): Delete.
3951         (create_varray): Delete.
3952         (adjust_field_type): Detect array of string pointers.
3953         (process_gc_options): Remove code to handle varray_type option.
3954         (set_gc_used_type): Remove TYPE_VARRAY case.
3955         (output_escaped_param): New.
3956         (write_gc_structure_fields): Use output_escaped_param on all
3957         parameters.  Handle 'skip' with 'use_param' option.  Handle
3958         arrays of strings.  Remove TYPE_VARRAY handling.
3959         (write_gc_roots): Use boolean to detect 'length' option.
3960         * gengtype-yacc.y (VARRAY_TYPE): Delete token.
3961         (struct_fields): Call adjust_field_type on array fields.
3962         (type): Remove VARRAY_TYPE case.
3963         (type_option): Likewise.
3964         * gengtype-lex.l: Don't consider varray_type a keyword.
3965         * function.h: Update for change to length specifier.
3966         (free_eh_status): Delete prototype.
3967         * function.c (free_after_compilation): Don't call free_eh_status.
3968         (reorder_blocks): Don't use VARRAY_FREE.
3969         * except.c (struct eh_status): Update for change to length specifier.
3970         remove varray_type specifier.
3971         (free_eh_status): Delete.
3972         * dwarf2out.c: Include gt-dwarf2out.h.
3973         (used_rtx_varray): Use gengtype to mark, move
3974         outside ifdefs.
3975         (incomplete_types): Likewise.
3976         (decl_scope_table): Likewise.
3977         (dwarf2out_init): Don't call ggc_add_tree_varray_root.
3978         * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
3979         * c-tree.h (struct lang_type): Update for change to length specifier.
3980         * c-parse.in (yylexstring): Don't use VARRAY_FREE.
3981         * c-objc-common.c: Include gt-c-objc-common.h.
3982         (deferred_fns): Mark for gengtype.
3983         (c_objc_common_init): Don't call ggc_add_tree_varray_root.
3984         (expand_deferred_fns): Just set deferred_fns to 0 to free it.
3985         * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
3986         (gtype-desc.o): Update dependencies.
3987         (dwarf2out.o): Add gt-dwarf2out.h.
3988         (varray.o): Update dependencies.
3989         (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
3990         (gt-c-objc-common.h): New rule.
3991         (gt-dwarf2out.h): New rule.
3992         * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
3993
3994         * doc/gty.texi (GTY Options): Correct spelling.
3995         (GGC Roots): Likewise.
3996         * Makefile.in (TEXI_CPP_FILES): New.
3997         (TEXI_GCC_FILES): New.
3998         (TEXI_GCCINT_FILES): New.
3999         (TEXI_CPPINT_FILES): New.
4000         ($(docdir)/cpp.info): Use new macros.
4001         ($(docdir)/gcc.info): Likewise.
4002         ($(docdir)/gccint.info): Likewise.
4003         ($(docdir)/cppinternals.info): Likewise.
4004         (cpp.dvi): Likewise.
4005         (gcc.dvi): Likewise.
4006         (gccint.dvi): Likewise.
4007         (cppinternals.dvi): Likewise.
4008
4009         * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
4010         * doc/gccint.texi (Top): Include gty.texi.
4011         * doc/gty.texi: New file.
4012
4013         * bitmap.c: Include ggc.h, gt-bitmap.h.
4014         (bitmap_ggc_free): New.
4015         (bitmap_elem_to_freelist): New.
4016         (bitmap_element_free): Use bitmap_elem_to_freelist.
4017         (bitmap_element_allocate): Allow use of GGC.
4018         (bitmap_clear): Use bitmap_elem_to_freelist.
4019         (bitmap_copy): Update for change to bitmap_element_allocate.
4020         (bitmap_set_bit): Likewise.
4021         (bitmap_operation): Update for changes elsewhere.
4022         (bitmap_initialize): Allow to create bitmaps that will use GGC.
4023         * bitmap.h (struct bitmap_element_def): Use gengtype.
4024         (struct bitmap_head_def): Likewise.  Also add 'using_obstack' field.
4025         (bitmap_initialize): Add extra parameter.
4026         (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.