]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Makefile.am (bits_headers): Remove slice.h
[gcc.git] / gcc / ChangeLog
CommitLineData
6d80a854
EB
12002-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
043cfcbe
JT
72002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
8
9 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
10
ed8d2920
MM
112002-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
794a292d
JJ
1042002-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
05d49501
AM
1132002-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
e89617fe
AJ
1212002-07-14 Andreas Jaeger <aj@suse.de>
122
123 * config.gcc (sh64): Remove unused
124 target_requires_64bit_host_wide_int.
125
78762e3b
RS
1262002-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
f7a454e9
SC
1362002-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
26af4041
MM
1432002-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
226cfe61
R
148Fri 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
25c25947
R
155Thu 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
789b7de5
RO
1602002-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.
e89617fe 170
789b7de5
RO
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
a18c2c5f
JDA
1952002-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
e65a2d65
RS
2022002-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
a06e3c40
R
207Thu 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
47abc309
JDA
2142002-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
8ac9d31f
TJ
2232002-07-11 Tim Josling <tej@melbpc.org.au>
224
e89617fe 225 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
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.
e89617fe 249
8ac9d31f 250 * configure: Regenerate.
e89617fe 251
8ac9d31f
TJ
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
e89617fe 271 names.
8ac9d31f
TJ
272
273 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 274
8ac9d31f
TJ
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
0e603223
RS
2832002-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
c5358a5d
RS
2892002-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
a35f8b74
AM
2952002-07-11 Alan Modra <amodra@bigpond.net.au>
296
297 * config/rs6000/linux64.h (ASM_SPEC): Define.
298
89e7058f
AH
2992002-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
086bbd21
TM
3062002-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
126dbce0
MM
3152002-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
21c318ba
DR
3302002-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
537834c8
MM
3352002-07-10 Mark Mitchell <mark@codesourcery.com>
336
337 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
338 deprecated.
339
80ba02b1
R
340Wed 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
ae3aa00d
JH
345Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
346
347 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
348
029f3983
JL
3492002-07-10 Jeffrey A Law <law@redhat.com>
350
7a464913
JL
351 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
352 as appropriate.
353
029f3983
JL
354 * mn10200.c (expand_epilogue): Fix test to determine which scratch
355 register to use.
356
ff27a429
R
357Wed 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
e6986399
GDR
3632002-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
7990b46f
MK
3772002-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.
efa39e99
DP
396
3972002-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.
e89617fe 401
cd98faa1
NB
4022002-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
2ad65b0e
SC
414Tue 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
b6d33983
R
443Tue 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
7ca0873c
MM
4912002-07-09 Mark Mitchell <mark@codesourcery.com>
492
493 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
494
26b10ae0 4952002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 496
26b10ae0
SE
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
0c3a2ea0
SE
5032002-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
26c34780
RS
5082002-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
1d4047e0
RS
5172002-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
5351f1ca
NB
5262002-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
c8cc4417
R
541Sun 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
957ec0f9
HPN
5582002-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
7ab5c789
AJ
5982002-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
df061a43
RS
6082002-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
e5eb8de8
SC
6352002-07-05 Stephane Carrez <stcarrez@nerim.fr>
636
637 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
638 QI mode registers in soft registers.
7ab5c789 639 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
640 for register allocation (use '*' constraint).
641
4c8aed14
SC
6422002-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
99ed68ea
VM
6492002-07-05 Vladimir Makarov <vmakarov@redhat.com>
650
651 * genautomata.c (output_max_insn_queue_index_def): Take latencies
652 into account.
653
4c8aed14 6542002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
655
656 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
657 address computation and memory moves.
658
9833f679
MM
6592002-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.
7ab5c789 665
81bca2f5
RO
6662002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
667
668 * gcc/gcc.c (asm_debug): Move initialization ...
669 (init_spec): ... here.
670
17f44f02
NS
6712002-07-05 Nathan Sidwell <nathan@codesourcery.com>
672
673 * c-parse.in (extdef): Append ';'.
674 (old_style_parm_decls): Append ';'.
675
da77408f
DJ
6762002-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
ec52b446
GK
6832002-07-04 Geoffrey Keating <geoffk@redhat.com>
684
685 * ggc.h (ggc_add_root): Document as obsolete.
686
8721e3df
R
687Thu 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
3767c0fd
R
692Thu 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
4e314d1f
EC
7022002-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
6f0361e3
SS
7122002-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
3129af4c
RS
7182002-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
c7375e61
EB
7282002-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
61c07d3c
DE
7412002-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
7522002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
753
754 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
755
34a80643
R
756Wed 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
622d3731
KG
7832002-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
9bb46191
CD
7972002-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
e1c2dd26 8032002-07-02 Devang Patel <dpatel@apple.com>
c40da518 804
c40da518 805 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
806 object as parameter. Prevent something like 'NSObject' to be
807 used as the type for a method argument.
c40da518 808
0879540b
NB
8092002-07-03 Neil Booth <neil@daikokuya.co.uk>
810
811 * cpptrad.c: Update comment.
812
b6fb43ab 8132002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 814
b6fb43ab
NB
815 * doc/cpp.texi: Update for traditional preprocessing changes.
816 * goc/cppopts.texi: Similarly.
817
c1c5187c
ZL
8182002-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
52702ae1
R
827Tue 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.
4e314d1f 832 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
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
49e7b251
NB
8422002-07-02 Neil Booth <neil@daikokuya.co.uk>
843
ba57a9c0 844 PR preprocessor/7029
49e7b251
NB
845 * cppinit.c (cpp_handle_option): Suppress warnings with an
846 implicit "-w" for "-M" and "-MM".
847 * doc/cppopts.texi: Update.
848
a3acdc0c
RS
8492002-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
0b558962
AM
8552002-07-02 Alan Modra <amodra@bigpond.net.au>
856
857 * README.Portability: Fix typos.
858
9a81c5b7
HPN
8592002-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
6a2dd09a
RS
8652002-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
e20569ae
ZW
8942002-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
f1b690f1
JDA
9002002-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
6bfa5aac
RS
9042002-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
9a5c1b9d
NN
9112002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
912
913 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
914
d3fc4dbc
MK
9152002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
916
3b2124df
MK
917 * README.Portability (Function prototypes): Give an example of
918 declaring and defining a function with no arguments.
919
d3fc4dbc
MK
920 * README.Portability (Function prototypes): Document new
921 variable-argument function macros.
922
c1b92d09
R
923Mon 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
97ebc06f
AH
9722002-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
353a10d0
NB
9772002-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
e34cabb3
NB
9822002-07-01 Neil Booth <neil@daikokuya.co.uk>
983
984 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
985
8bf3ccbb
KG
9862002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
987
988 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
989
118f8dc1
DP
9902002-06-30 Devang Patel <dpatel@apple.com>
991
992 * objc/objc-act.c (finish_file): Avoid finish_objc() if
993 -fsyntax-only.
994
e3223ea2
DC
995Fri 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>
4e314d1f 1004
e3223ea2
DC
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
66b8c57f
HPN
10192002-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
e7a60f56
AH
10382002-06-30 Aldy Hernandez <aldyh@redhat.com>
1039
1040 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
1041
1ef7d32b
KG
10422002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1043
1044 * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
1045
c8b64bf2
AM
10462002-06-30 Alan Modra <amodra@bigpond.net.au>
1047
1048 * unroll.c (loop_iterations): Handle EQ loops.
1049
35aba846
DE
10502002-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
b4de2f7d
AH
10562002-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
1691051f
KG
10732002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1074
1075 * collect2.c (scan_prog_file): Fix typo in message.
1076
7bfb14f1
AL
10772002-06-28 Aaron Lehmann <aaronl@vitelus.com>
1078
1079 * fold-cont.c: Remove unused CHARMASK.
1080
38800fe8
NB
10812002-06-29 Neil Booth <neil@daikokuya.co.uk>
1082
1083 PR preprocessor/7150
1084 * cppmain.c (scan_translation_unit_trad): Simplify.
590e1987 1085 * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
38800fe8 1086
f60ed6be
NB
10872002-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
76118c11
HB
10992002-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
9137b119
PE
11042002-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
6bdb8dd6
JH
11102002-06-28 Jan Hubicka <jh@suse.cz>
1111
1112 * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
1113
f1b1186f
SC
11142002-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
ae9bd481
SC
11202002-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.
4e314d1f 1125 (split for add/sub on address): For 68HC12 push the value on
ae9bd481
SC
1126 the stack and do the operation with a pop.
1127
1d63a28a
NB
11282002-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
4caff360
SC
11352002-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
2cc21497
SC
11432002-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
3cdd2821
SC
11512002-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
e6a82e80
AH
11562002-06-28 Aldy Hernandez <aldyh@redhat.com>
1157
1158 * config/rs6000/rs6000.c: Remove unusued variables from last
1159 patch.
1160
a7ae18e2
AH
11612002-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
3a9b8c7e
AH
11672002-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
5f9dc214
BW
11752002-06-28 Bob Wilson <bob.wilson@acm.org>
1176
1177 * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
1178
53501a19
BS
11792001-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
d1a58688
NB
11852002-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
55c1c60d
AH
11932002-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
3219c65b
BW
11982002-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
c8f863fc
RS
12042002-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
8d5362b7
GP
12122002-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
57694e40
MK
12172002-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
c635a1ec
DB
12232002-06-27 Daniel Berlin <dberlin@dberlin.org>
1224
1225 * gcse.c (hoist_code): Rewrite to only get list of dominated
4e314d1f 1226 blocks once per BB. Also fix reversed test (by removing need for
c635a1ec
DB
1227 the test at all).
1228
951a0766
NB
12292002-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
06470238
NB
12412002-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
0c14a54d
BW
12462002-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
e9873fd5
KG
12532002-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
650e8d05
R
1260Wed 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
c7836bcd
KG
12652002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1266
1267 * varasm.c: Include real.h before output.h.
1268
6e1f54e2
AH
12692002-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
18fbcbcf
NN
12742002-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
1275
1276 * config.gcc (vax-*-vms*): Make obselete.
1277
09bed167
KG
12782002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1279
1280 * gcc.c (warn_std): Delete.
1281
8254cb45
LR
12822002-06-25 Loren J. Rittle <ljrittle@acm.org>
1283
1284 * doc/extend.texi: Fix formatting of last checkin.
1285
f9ee10ab
RO
12862002-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
90989b26
AH
12912002-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
9881adff
R
1296Tue 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.
4de1b7a9 1300
4e314d1f 1301 * config/sh/lib1funcs.asm (udivdi3): Make first divide step
4de1b7a9
R
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
16b46035
DM
13122002-06-25 David S. Miller <davem@redhat.com>
1313
1314 * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
1315
0c6db544
NB
13162002-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
eef709c7
KG
13242002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1325
b41e09a7
KG
1326 * Makefile.in (SHELL): Set to @SHELL@.
1327 * fixinc/Makefile.in (SHELL): Likewise.
1328
eef709c7
KG
1329 * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
1330 fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
1331 initialization.
1332
b0ac73f8
JL
13332002-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
9e96203d
R
1339Mon 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.
87912be7
R
1350
1351 * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
1352 arguments into account for stack_regs.
1353
0d893a63
MK
13542002-06-24 Matt Kraai <kraai@alumni.cmu.edu>
1355
1356 * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
1357 in examples.
4e314d1f 1358
04a5176a
AH
13592002-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
cad61762 13642002-06-20 Steve Ellcey <sje@cup.hp.com>
ec52b446 1365
cad61762
SE
1366 * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
1367 Set float_format to i128.
1368
556a56ac
DM
13692002-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
563facba
DM
1374 * config/sparc/sparc.md: Use define_insn_and_split. Use braced
1375 strings instead of quoted strings for code blocks.
b776892b 1376
556a56ac
DM
1377 * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
1378 optabs if op1 is const0_rtx.
1379
a8106207
DM
1380 * Makefile.in (GTFILES): Add basic-block.h
1381 * basic-block.h (label_value_list, tail_recursion_label_list):
1382 Mark with GTY.
1383
2c088b53
NB
13842002-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
0228d06b
AM
13912002-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
2f9021d3
DC
1397Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru>
1398
1399 * config.gcc: Add support for ip2k.
1400
bc9c2952 14012002-06-23 Jan Hubicka <jh@suse.cz>
f81a79ef
JH
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.
bc9c2952
AJ
1408
1409 * reg-stack.c (convert_regs_exit): Push the registers to stack in
1410 proper order.
1411
faa964e5
UW
14122002-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
7ae3e57c
DM
14182002-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
847c76c8
NB
14252002-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
813674e0
KG
14312002-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
23361093
MT
14402002-06-21 Matt Thomas <matt@3am-software.com>
1441
1442 * config/vax/vax.c (vax_output_function_prologue): Use
bc9c2952 1443 REGISTER_PREFIX. Fix some indentation.
23361093
MT
1444 * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
1445 (VAX_ISTREAM_SYNC): Define.
1446 (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the
bc9c2952
AJ
1447 i-stream sync to the end.
1448 (REGISTER_PREFIX): Define as "".
23361093
MT
1449 (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
1450
1c655a0d
JT
14512002-06-21 Jason Thorpe <thorpej@wasabisystems.com>
1452
1453 * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
1454 configurations.
1455
3e16bfe2
KG
14562002-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
6b0760fd
MT
14612002-06-21 Matt Thomas <matt@3am-software.com>
1462
1463 * config/vax/netbsd.h: Adjust a comment.
1464 (TARGET_DEFAULT): Redefine as 0.
1465
31a78298
RH
14662002-06-21 Richard Henderson <rth@redhat.com>
1467
1468 * bb-reorder.c (make_reorder_chain_1): Search harder for the
bc9c2952
AJ
1469 vax casesi fallthru edge.
1470 * cfglayout.c (cleanup_unconditional_jumps): Use
31a78298
RH
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
d8bf1785
RO
14752002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1476
1477 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
1478
00b94a44
NB
14792002-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
c583c5c3
HPN
14882002-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
1292ec0c
JH
14972002-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
0f8e3849
JDA
15052002-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
0655301f
RH
15132002-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
2b3aadfc
RH
15192002-06-20 Richard Henderson <rth@redhat.com>
1520
1521 * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
1522
5c44e275
CD
15232002-06-20 Chris Demetriou <cgd@broadcom.com>
1524
1525 * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
1526
8fff5435
CD
15272002-06-20 Chris Demetriou <cgd@broadcom.com>
1528
1529 * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
1530
8a67e083
SS
15312002-06-20 Stan Shebs <shebs@apple.com>
1532
1533 * dominance.c: Include errors.h instead of error.h.
1534
017acb41
NB
15352002-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
0ed4a390
JL
15452002-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
988ef418
RS
15502002-06-20 Richard Sandiford <rsandifo@redhat.com>
1551
1552 * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
1553
0ab2e54b
RO
15542002-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.
d8bf1785 1559 Fixes PR other/6836.
0ab2e54b 1560
355be0dc
JH
1561Thu 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
ef9772c8
KG
16412002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1642
62c71f4b
KG
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
ef9772c8
KG
1648 * diagnostic.c (diagnostic_kind_text): Const-ify.
1649 * gengtype.c (lang_names): Likewise.
1650
b0dd4808
JH
1651Thu 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
8433a25e
RO
16552002-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.
bc9c2952 1669
8433a25e
RO
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.
bc9c2952 1684
8433a25e
RO
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
bc9c2952 1700
8433a25e
RO
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
bc9c2952 1716
8433a25e
RO
1717 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
1718 * config/i386/sol2gas.h: Removed.
1719
b6bb1d56
JH
1720Thu 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
e50b19ce 17242002-06-16 Aldy Hernandez <aldyh@redhat.com>
4e314d1f 1725
e50b19ce
AH
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.
4e314d1f 1755
e50b19ce
AH
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
74d86f4f
RH
17632002-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
1867b624
CD
17692002-06-19 Chris Demetriou <cgd@broadcom.com>
1770
1771 * config/mips/mips.c (mips_emit_prefetch): Use hints which
1772 match desired locality.
1773
2c1d2fcb
DD
17742002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
1775
1776 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
1777 (h8300_insert_attributes): New.
1778
84d901be
AD
17792002-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
8f2e3902
EC
17882002-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
c894819c
EC
17992002-06-19 Eric Christopher <echristo@redhat.com>
1800
1801 * config/fp-bit.h: Add unordered defines for gofast.
1802
4005971c
VM
18032002-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.
c894819c 1852
015089dd
TJ
18532002-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
7999462c
AP
18582002-06-19 Andrew Pinski <pinskia@physics.uc.edu>
1859
84d901be 1860 * cpptrad.c (_cpp_replacement_text_len): initialize len.
7999462c 1861
9c8d079c
JM
18622002-06-19 Jason Merrill <jason@redhat.com>
1863
1864 * Makefile.in (unstrap, restrap): New targets.
1865 (bootstrap): Mention restrap.
1866
d90a95fb
MK
18672002-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
f01a0d8d
ID
18742002-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.
c894819c 1882
f01a0d8d
ID
1883 * longlong.h (count_trailing_zeros): Escape newline and beautify.
1884
62363d99
MM
18852002-06-19 Mark Mitchell <mark@codesourcery.com>
1886
1887 * Makefile.in (QMTEST_DIR): Simplify definition.
1888
099bd656
NC
18892002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
1890
1891 * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
1892 #define.
1893
278c4662
NB
18942002-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
afd1930f 19162002-06-18 Hans-Peter Nilsson <hp@axis.com>
f01a0d8d 1917 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
afd1930f
HPN
1918
1919 * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
1920 attribute __always_inline__.
1921
5ee924c2
BW
19222002-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
32c36ac8
RH
19282002-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
c985dc5e
R
1933Tue 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.
e3ba8d11
R
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
e3c8eb86
VM
19462002-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.
c894819c 1957
b2471838
RS
19582002-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
d97371e0
NB
19742002-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
807b20b0
HPN
19932002-06-18 Hans-Peter Nilsson <hp@axis.com>
1994
1995 * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
1996 __always_inline__.
1997
8a09a7e5
AM
19982002-06-18 Alan Modra <amodra@bigpond.net.au>
1999
147d5f6f
AM
2000 * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
2001
8a09a7e5
AM
2002 * doloop.c (doloop_optimize): Extract pattern from insn.
2003
390de769
MK
20042002-06-17 Matt Kraai <kraai@alumni.cmu.edu>
2005
2006 * doc/extend.texi (Function Attributes): Remove `,...' from @var.
2007
0ed4a390 20082002-06-17 Jeff Law <law@redhat.com>
912ce297
JL
2009
2010 * libgcc2.c: Do not include symcat.h or machmode.h.
2011
5c45425b
RH
20122002-06-17 Richard Henderson <rth@redhat.com>
2013
2014 PR target/6922
2015 * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
2016
9aa497ae
TT
20172002-06-17 Tom Tromey <tromey@redhat.com>
2018
2019 * dwarfout.c: Include function.h.
2020
7f11f1f9
AS
20212002-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
df696a75
RH
20282002-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
97272202
VM
20452002-06-17 Vladimir Makarov <vmakarov@redhat.com>
2046
2047 * sched-ebb.c (init_ready_list): Check INSN_P first.
2048
8bccce2d
R
2049Mon 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.
dec0798e
R
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
0af5c896
RE
20572002-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
9d0fa9d6
NC
20622002-06-17 Nick Clifton <nickc@cambridge.redhat.com>
2063
845b1456
NC
2064 * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
2065 #define.
2066
9d0fa9d6
NC
2067 * config/m32r/m32r.md: Replace gen_sequence with get_insns.
2068
e83f3cff
RH
20692002-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
caecc099
RH
20742002-06-16 Richard Henderson <rth@redhat.com>
2075
2076 PR opt/6722
2077 * regclass.c (globalize_reg): Update regs_invalidated_by_call.
2078
3d05b15f
NB
20792002-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
2080
caecc099
RH
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
3d05b15f 2088 CPP_PREDEFINES and part of CPP_SPEC.
caecc099 2089 * config/i386/sysv4-cpp.h: New.
3d05b15f 2090
8370aa3a
RH
20912002-06-16 Richard Henderson <rth@redhat.com>
2092
65a90f3c 2093 PR c/7030
8370aa3a
RH
2094 * dwarf2out.c (modified_type_die): Don't assign the qualified die
2095 to the unqualified type.
2096
e932b21b
JH
2097Sun 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
7ee02381
RH
21042002-06-16 Richard Henderson <rth@redhat.com>
2105
f01a0d8d 2106 * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
7ee02381 2107
750491fc
RH
21082002-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
c134da6b
HPN
21212002-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
038c7976
JL
21292002-06-16 Jeff Law <law@redhat.com>
2130
006a94b0
JL
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
038c7976
JL
2136 * toplev.c (rest_of_compilation): Perform a simpler, less costly
2137 cleanup of the CFG when not optimizing.
2138
0797741a
AM
21392002-06-16 Alan Modra <amodra@bigpond.net.au>
2140
2141 * gcc.c (main): Correct startfile_prefix_spec check.
2142
a6e2e53e
GK
21432002-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
129e0ee8
RS
21482002-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
d5355cb2
JDA
21552002-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
8dcb27ed
RS
21712002-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
182e515e
AH
21802002-06-15 Aldy Hernandez <aldyh@redhat.com>
2181
f01a0d8d 2182 * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
182e515e 2183
f01a0d8d
ID
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.
182e515e 2188
f01a0d8d 2189 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 2190
f01a0d8d 2191 * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 2192
8773135d
JS
21932002-06-14 Jeff Sturm <jsturm@one-point.com>
2194
2195 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
2196
893a047c
SE
21972002-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
045d7161
EB
22032002-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
048c8616 22112002-06-14 Eric Botcazou <ebotcazou@multimania.com>
c894819c 2212
048c8616
EB
2213 * loop.c (for_each_insn_in_loop): Fix formatting and comments.
2214
43e4a9d8
EB
22152002-06-14 Eric Botcazou <ebotcazou@multimania.com>
2216
52689a98 2217 PR c/6677
43e4a9d8
EB
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
fa4a5557
RH
22242002-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
d95eb49f
RH
22292002-06-14 Richard Henderson <rth@redhat.com>
2230
2231 * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
2232
be202ec2
FS
22332002-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
e56c4463
JL
22412002-06-13 Jeffrey Law <law@redhat.com>
2242
99a15921
JL
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
e56c4463
JL
2252 * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
2253 of hard registers.
2254
556b821e
UW
22552002-06-14 Ulrich Weigand <uweigand@de.ibm.com>
2256
2257 * Makefile.in (libgcc.mk): Depend on specs.
2258
fa60f36d
R
2259Fri 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
03b8ec29
DD
2263Fri 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
8e831557
KK
22702002-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
bf9d5852
NB
22762002-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
57292ec3
AL
22902002-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.
c894819c 2295
a6f5e048
RH
22962002-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
3aafa0bb
EC
23062002-06-13 Eric Christopher <echristo@redhat.com>
2307
2308 * diagnostic.c (output_format): Fix thinko.
2309
8e581963
R
2310Thu 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.
9d7ed806
R
2314
2315 * config/sh/sh.c (calc_live_regs): Don't use initial_value
2316 optimization for PR_MEDIA_REG.
2317
b66377c1
NB
23182002-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
8bc6e101
R
2336Thu 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
2181005d
RS
23522002-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
aaae0bb9
JH
2357Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz>
2358
2359 * i386.c (ix86_expand_movstr): Fix pasto.
2360
2361Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
b80cb6e2
JH
2362
2363 * reload.c (find_valid_class): Fix thinko in my previous patch.
2364
dd3fbd93
UW
23652002-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
0d0f605c
GDR
23722002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
2373
2374 * tree-inline.c (expand_call_inline): Don' mess with _DECL
3aafa0bb 2375 fields.
0d0f605c 2376
c92bcccb
GDR
23772002-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
7f243674
JL
23842002-06-13 Jeffrey Law <law@redhat.com>
2385
6cde4876
JL
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
110b3faa
JL
2397 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
2398
7f243674
JL
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
a336f2e5
RS
24122002-06-13 Richard Sandiford <rsandifo@redhat.com>
2413
2414 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
2415
2acf0fa9
DM
24162002-06-13 David S. Miller <davem@redhat.com>
2417
2418 * expmed.c (init_expmed): Remove duplicate init of 'reg'.
2419
974c43f1
NB
24202002-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
12bf26b6
EC
24332002-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
be95b8a5
EC
24412002-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
e03856fe
GK
24502002-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
ec01703c
JT
24752002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
2476
2477 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
be95b8a5 2478 (MASK_G_FLOAT): Define.
ec01703c
JT
2479 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
2480 (TARGET_SWITCHES): Likewise.
2481 (TARGET_DEFAULT): Likewise.
2482
8b0397a6
DJ
24832002-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
495333a6
JH
2491Wed 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
8b0397a6
DJ
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.
495333a6
JH
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
d11cea13
DM
25072002-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
676997cf
RH
25122002-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
116b7a5e
RH
25312002-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
0cec6af1
HPN
25412002-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
1c0ca89d
ZW
25462002-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
5dc8d536
AH
25542002-06-11 Aldy Hernandez <aldyh@redhat.com>
2555
1c0ca89d
ZW
2556 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
2557 max/mins as unsigned GE compares.
5dc8d536 2558
169274cd
JT
25592002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
2560
1c0ca89d 2561 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
169274cd
JT
2562 * config/vax/bsd.h: New file.
2563 * config/vax/netbsd.h: Add missing notice.
1c0ca89d
ZW
2564 (CPP_PREDEFINES): Remove.
2565 (TARGET_OS_CPP_BUILTINS): Define.
2566 (CPP_SPEC): Use NETBSD_CPP_SPEC.
169274cd
JT
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
2f41793e
JH
2576Wed 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
fc5c400a
GK
25932002-06-11 Geoffrey Keating <geoffk@redhat.com>
2594
4c4eb375
GK
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
fc5c400a
GK
2639 * doc/gty.texi: Small updates.
2640
13f0d49c
GDR
26412002-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
1c0ca89d 2653 diagnostics.
13f0d49c
GDR
2654 (diagnostic_initialize): Initialize warnings_are_errors_message field.
2655
0797e472
TT
26562002-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
f288d4aa
GK
26612002-06-11 Geoffrey Keating <geoffk@redhat.com>
2662
2663 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
2664
d27bab4c
RH
26652002-06-11 Richard Henderson <rth@redhat.com>
2666
2667 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
2668
bc2a8f08
RH
26692002-06-11 Richard Henderson <rth@redhat.com>
2670
1c0ca89d 2671 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
bc2a8f08
RH
2672 DWARF2_UNWIND_INFO is false.
2673
b217ec1b
BW
26742002-06-11 Bob Wilson <bob.wilson@acm.org>
2675
2676 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
2677
11819f80
UW
2678 * config/s390/s390.c (emit_prologue): gen_store_multiple
2679 returns an insn now, not a pattern.
2680
c2727579
RO
26812002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2682
2683 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
2684 $(TEXI2DVI) -o.
2685
285464d0
JH
2686Tue 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
1bb1f121
ZW
26982002-06-11 Zack Weinberg <zack@codesourcery.com>
2699
2700 * Makefile.in (distclean): Delete junk left in testsuite
2701 directory, too.
2702
88c65786
JL
27032002-06-11 Jeffrey Law <law@redhat.com>
2704
c6a3fcf0
JL
2705 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
2706 last insn created by the splitter.
2707
0db79a6b
JL
2708 * caller-save.c (init_caller_save): Move creation of SAVEINSN
2709 and RESTINSN into into the scope of the sequence.
2710
47eb2ca8
JL
2711 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
2712 RETURN insns.
2713
603b4b92
JL
2714 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
2715
88c65786
JL
2716 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
2717 not the pattern. So extract the pattern from the insn.
882c7223
JL
2718
2719 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
2720
df14489a
UW
27212002-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
6f9703af
DM
27272002-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
b2ccb744
UW
27322002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
2733
2734 * config/s390/s390.md (reload_base, ltorg): Remove.
1c0ca89d 2735 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744 2736 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
1c0ca89d 2737 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744
UW
2738 s390_asm_output_pool_prologue): Likewise.
2739 * s390.h (s390_pool_start_insn): Likewise.
2740
1c0ca89d 2741 * s390.c (s390_output_symbolic_const): Remove support for
b2ccb744
UW
2742 old-style pool chunks.
2743 (s390_function_epilogue): Likewise.
1c0ca89d 2744 (s390_output_constant_pool): Likewise. Also, fix incorrect
b2ccb744
UW
2745 alignment for 64-bit literal pools.
2746 (print_operand_address): Remove 'y' and 'Y' format flags.
1c0ca89d 2747 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
b2ccb744
UW
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.
1c0ca89d
ZW
2756 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
2757 consttable_sf, consttable_df, pool_start_31, pool_end_31,
b2ccb744
UW
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.
1c0ca89d 2761 (s390_start_pool, s390_end_pool, s390_add_pool,
b2ccb744 2762 s390_dump_pool, s390_free_pool): New functions.
1c0ca89d 2763 (s390_chunkify_pool): Completely reimplement literal pool
b2ccb744
UW
2764 overflow handling.
2765
2766 * s390.c (s390_pool_overflow): New variable.
2767 * s390.h (s390_pool_overflow): Declare it.
1c0ca89d 2768 * s390.md (cjump, icjump): Use it to adapt length for out-of-range
b2ccb744
UW
2769 jumps in literal pool overflow situations.
2770
2771 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
1c0ca89d 2772 (s390_frame_info): Account for possible use of RETURN_REGNUM
b2ccb744
UW
2773 by new literal pool overflow code.
2774 (s390_emit_prologue): Likewise.
2775
2f937369
DM
27762002-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.
1c0ca89d 2894
43cf10b5
RS
28952002-06-11 Roger Sayle <roger@eyesopen.com>
2896 Andreas Jaeger <aj@suse.de>
2897
2898 * cfgbuild.c: Update copyright years.
2899
1062f15a
AS
29002002-06-11 Andreas Schwab <schwab@suse.de>
2901
1c0ca89d 2902 * config/m68k/m68k.h (PREDICATE_CODES): Define.
1062f15a 2903
ce3649d2
EC
29042002-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
bc3437ba
NB
29412002-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
b25bb36a
DS
29742002-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
ce3649d2 2994 $(srcdir)/config/i386/gthr-win32.c
b25bb36a
DS
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
a69c385e
BW
30032002-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
e654730d
RS
30082002-06-10 Roger Sayle <roger@eyesopen.com>
3009
3010 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
3011
a5381466
ZW
30122002-06-10 Zack Weinberg <zack@codesourcery.com>
3013
3014 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
ce3649d2 3015 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
a5381466
ZW
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
852c6ec7
RS
30352002-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
60c86d4e
RS
30512002-06-10 Roger Sayle <roger@eyesopen.com>
3052
3053 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
3054 of matching registers.
3055
9543a9d2
RS
30562002-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
38e18619
HPN
30612002-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
ac17cd8f
ZW
30792002-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
7b668f9e
JJ
30862002-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
85d49058
JJ
30922002-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
50f30e6b
JJ
30982002-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
156755ac
JJ
31032002-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
5d056e9b
JJ
31092002-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
2bf87216
JJ
31152002-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
135fd2d8
RH
31202002-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
fce5a9f2
EC
31282002-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
95b1627e
EC
31372002-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
aea185b3
TT
31422002-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
afb03408
NB
31472002-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
2754d3c5
R
3159Mon 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
ad854f24
ZW
31702002-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
bf1660a6
JL
31792002-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
8dc58484 31992002-06-10 Daniel Berlin <dberlin@dberlin.org>
ad854f24 3200
8dc58484
DB
3201 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
3202
ea16b5ee
RS
32032002-06-10 Richard Sandiford <rsandifo@redhat.com>
3204
3205 * gcc.c (process_command): Avoid assignment to read-only location.
3206 Fix sizeof calculation.
3207
6618c5d4
NB
32082002-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
96e3ac4f
TJ
32182002-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
37a4aa31
GK
32262002-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
02ef40d9
TJ
32352002-06-10 Tim Josling <tej@melbpc.org.au>
3236
ad854f24
ZW
3237 * configure.in (remaining_languages_check):
3238 Added check that all languages specified were found.
02ef40d9
TJ
3239 Exit if not found. Previous behaviour was silent failure.
3240 * configure: Regenerated.
3241
b38b97c4 32422002-06-10 Tim Josling <tej@melbpc.org.au>
ad854f24 3243
1c0ca89d 3244 First steps to making treelang documentation compliant, based on
b38b97c4
TJ
3245 instructions in sourcebuild.texi. Also add to gcc.c list of
3246 default languages.
ad854f24 3247
b38b97c4
TJ
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
ae9dbf1f
HPN
32562002-06-09 Hans-Peter Nilsson <hp@axis.com>
3257
3258 * config/cris/cris.c: Include ggc.h
3259
1ce676a0
NB
32602002-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
25f2e176
MM
32782002-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
309323c2
DE
32882002-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.
6ef0903d 3301 (PROCESSOR_DEFAULT64): Define.
309323c2
DE
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
1f8e4682
KG
33112002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3312
57d80297
KG
3313 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
3314 ATTRIBUTE_PRINTF_2.
3315 * gengtype-lex.l: Fix format specifier warning.
3316
1f8e4682
KG
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
5a9ee623
ZW
33252002-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
c16e5a35
MM
33342002-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
79bc889e
JT
33392002-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
6a79bb0a
JT
33462002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
3347
3348 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
5a9ee623 3349 if not already defined.
6a79bb0a
JT
3350 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
3351
e52b6b63
MM
33522002-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
1569d670
JT
33602002-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
cfb06024
JT
33672002-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
5a9ee623
ZW
33752002-06-08 Marc Espie <espie@openbsd.org>
3376
3377 * lists.c (free_list): Fix typo in comment.
e3623158 3378
272cdf58
AJ
33792002-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
bf3f2a12
GDR
33862002-06-08 Gabriel Dos Reis <gdr@codesourcery.com>
3387
3388 * diagnostic.def: Don't capitalize diagnostict descriptors.
3389
523a5f2f
JT
33902002-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
a3e944f9
JT
33962002-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
854928a0
JT
34072002-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
6bb5d2e7
JT
34142002-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
e50126e8
JL
34202002-06-07 Jeff Law <law@redhat.com
3421
3422 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
272cdf58 3423 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
e50126e8
JL
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
bc9c18c3
RS
34352002-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
437f1df1
RS
34422002-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
cd24b8a4
JT
34482002-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
09e77dee
ZW
34532002-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
942030dc
AD
34652002-06-07 Akim Demaille <akim@epita.fr>
3466
3467 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
3468 Whitespace changes.
3469
f2846820
JL
34702002-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
4bafaa6f
L
34752002-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
caef5b46
GDR
34842002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net>
3485
3486 * diagnostic.c (diagnostic_build_prefix): Fix initialization.
3487
ac64a17c
JT
34882002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
3489
3490 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
3491
97459791
JM
34922002-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
4b1d52c7
GDR
34972002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
3498
3499 * diagnostic.c (diagnostic_build_prefix): Tidy.
3500
c70f6ed3
NB
35012002-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
aec2ac46
AJ
35172002-06-07 Andreas Jaeger <aj@suse.de>
3518
3519 * config/mmix/mmix.c: Remove extra broken prototype for
3520 mmix_init_machine_status.
3521
9f313342
GK
35222002-06-06 Geoffrey Keating <geoffk@redhat.com>
3523
3524 * gengtype.c: Add comments before all the routines.
3525
3fa1b448
JT
35262002-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
0d682900
JH
3537Thu 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
c991649c
JL
35512002-06-06 Jeffrey Law <law@redhat.com>
3552
3553 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
3554
8a5d66c4
R
3555Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
3556
3557 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
3558
d7f8491b
RO
35592002-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
eaeb7de8
R
3569Thu 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
0c7aeb88
NP
3574Thu 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.
aec2ac46 3579 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
0c7aeb88 3580
2a496e8b
JDA
35812002-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
2ff581c3
DM
35902002-06-05 David S. Miller <davem@redhat.com>
3591
3592 * integrate.c (subst_constants): Handle 'B' RTL format.
3593
b2e2d0cc
EC
35942002-06-05 Eric Christopher <echristo@redhat.com>
3595
3596 * varasm.c (make_decl_rtl): Fix comment for removed
3597 halfpic.c.
3598
0f81faf6
EC
35992002-06-05 Eric Christopher <echristo@redhat.com>
3600
3601 * Makefile.in: Remove missed halfpic bits.
3602
33005162
EC
36032002-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
80081028
JL
36132002-06-05 Jeffrey Law <law@redhat.com>
3614
5a9ee623
ZW
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.
80081028 3618
cbc69f84
NB
36192002-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
dbf87f32
R
3640Wed 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
47b69537
GDR
36512002-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
33005162 3667 diagnostic_repor_current_module.
47b69537
GDR
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
540eaea8
BW
36832002-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
f23a084d
NB
36922002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
3693
3694config:
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
3fe3a596
JH
3701Wed 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
1fd9ba59
AM
37052002-06-05 Alan Modra <amodra@bigpond.net.au>
3706
3707 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
3708
cea554e0
ZW
37092002-06-04 Zack Weinberg <zack@codesourcery.com>
3710
3711 * gengtype-yacc.y: Make sure all rules end with a semicolon.
3712
07232638
BW
37132002-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
c4b50f1a
RH
37182002-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
aaab35ae
GK
37392002-06-04 Geoffrey Keating <geoffk@redhat.com>
3740
afb0f770
GK
3741 * gengtype.c (write_gc_root): Don't unnecessarily prevent
3742 global variable-length arrays being roots.
3743
aaab35ae
GK
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
1ba7b414
NB
37492002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
3750
3751config/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
135ca7b2
JJ
37602002-06-04 Janis Johnson <janis187@us.ibm.com>
3761
3762 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
3763
85d69216 37642002-06-04 Jeff Law <law@redhat.com.
5a9ee623
ZW
3765 David Edelsohn <edelsohn@gnu.org>
3766 Michael Matz <matz@kde.org>
85d69216
JL
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
63f4a88e
JH
3778Tue 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
a5d1f75b
JT
37932002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
3794
3795 * varasm.c (mark_constants): Handle RTX format 'B'.
3796
82eda77e
NB
37972002-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
589005ff
KH
38062002-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
e2500fed
GK
38272002-06-03 Geoffrey Keating <geoffk@redhat.com>
3828
3829 Merge from pch-branch:
33005162 3830
e2500fed
GK
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.
33005162 3977 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
e2500fed
GK
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.
4027 (BITMAP_ALLOCA): Delete.
4028 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
4029 (BITMAP_GGC_ALLOC): New.
4030 * Makefile.in (gtype-desc.o): Add bitmap.h.
4031 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
4032 (GTFILES): Add bitmap.c.
4033 (gt-bitmap.h): New rule.
4034 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
4035 * basic-block.h: Update for changes to bitmap_initialize.
4036 * except.c (exception_handler_label_map): Move into...
4037 (struct eh_status): Here.
4038 (struct eh_region): Make 'aka' GCable.
4039 (free_eh_status): Don't need to specially handle
4040 exception_handler_label_map.
4041 (add_ehl_entry): Update for changes to exception_handler_label_map.
4042 (find_exception_handler_labels): Likewise.
4043 (remove_exception_handler_label): Likewise.
4044 (maybe_remove_eh_handler): Likewise.
4045 (for_each_eh_label): Likewise.
4046 (remove_eh_handler): Allocate 'aka' using GGC.
4047 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
4048 to list of includes.
4049
4050 * gengtype.c (write_gc_marker_routine_for_structure): Name
33005162 4051 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
e2500fed
GK
4052 (write_gc_types): Arrange for the tests with NULL to be inlined.
4053 (write_gc_roots): Update uses of procedure pointers.
4054 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
4055
4056 * Makefile.in (explow.o): Add dependency on gt-explow.h.
4057 (sdbout.o): Add dependency on gt-sdbout.h.
4058
4059 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
4060 (mem_attrs_htab): Likewise.
4061 (init_emit_once): Don't call ggc_add_deletable_htab.
4062 * fold-const.c (size_htab): Use gengtype to clear unused entries.
4063 (size_int_type_wide): Don't call ggc_add_deletable_htab.
4064 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
4065 parameters, use them, change callers.
4066 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
4067 (write_gc_roots): Handle 'if_marked' option.
4068 (main): Don't need to call set_gc_used_type any more.
4069 * ggc.h (ggc_htab_marked_p): Delete.
4070 (ggc_htab_mark): Delete.
4071 (struct ggc_cache_tab): New.
4072 (gt_ggc_cache_rtab): New declaration.
4073 * ggc-common.c (struct d_htab_root): Delete.
4074 (d_htab_roots): Delete.
4075 (ggc_add_deletable_htab): Delete.
4076 (ggc_htab_delete): Handle new htab-deleting mechanism.
4077 (ggc_mark_roots): Use new htab-deleting mechanism.
4078 * tree.c (type_hash_table): Use gengtype to clear unused entries.
4079 Make static.
4080 (init_obstacks): Don't call ggc_add_deletable_htab.
4081
4082 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
4083 (struct hashed_entry): Likewise.
4084 (nst_method_hash_list): Likewise.
4085 (cls_method_hash_list): Likewise.
4086 (HASH_ALLOC_LIST_SIZE): Delete.
4087 (ATTR_ALLOC_LIST_SIZE): Delete.
4088 * objc/objc-act.c (hash_init): Use ggc to allocate
4089 nst_method_hash_list, cls_method_hash_list.
4090 (hash_enter): Use ggc to allocate; allocate one entry at a time.
4091 (hash_add_attr): Likewise.
4092 (ggc_mark_hash_table): Delete.
4093 (objc_act_parse_init): Delete.
4094 (objc_init): Delete reference to objc_act_parse_init.
4095 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
4096 obstack.h. Replace references to 'struct hash_table' with htab_t.
4097 (struct symbol_hash_entry): Replace hash header with key field.
4098 (struct file_hash_entry): Replace hash header with key field.
4099 (struct demangled_hash_entry): Replace hash header with key field.
4100 (hash_string_eq): New.
4101 (hash_string_hash): New.
4102 (symbol_hash_newfunc): Delete.
4103 (symbol_hash_lookup): Modify to use htab_t.
4104 (file_hash_newfunc): Delete.
4105 (file_hash_lookup): Modify to use htab_t.
4106 (demangled_hash_newfunc): Delete.
4107 (demangled_hash_lookup): Modify to use htab_t.
4108 (tlink_init): Modify to use htab_t.
4109 * hash.h: Delete.
4110 * hash.c: Delete.
4111 * ggc.h: Delete forward structure declarations.
4112 Delete prototypes for deleted functions.
4113 * ggc-common.c: Don't include hash.h.
4114 (ggc_add_tree_hash_table_root): Delete.
4115 (ggc_mark_tree_hash_table_entry): Delete.
4116 (ggc_mark_tree_hash_table): Delete.
4117 (ggc_mark_tree_hash_table_ptr): Delete.
4118 * gengtype.c (write_gc_structure_fields): Allow param_is option.
4119 (write_gc_marker_routine_for_structure): Use visibility of
4120 the parameter if there is one.
4121 * function.c: Replace hash.h with hashtab.h. Replace references
4122 to 'struct hash_table *' with htab_t.
4123 (struct insns_for_mem_entry): Include a plain key.
4124 (fixup_var_refs_insns_with_hash): Update to use htab_t.
4125 (insns_for_mem_newfunc): Delete.
4126 (insns_for_mem_hash): Update to use htab_t.
4127 (insns_for_mem_comp): Likewise.
4128 (insns_for_mem_walk): Likewise.
4129 * c-lang.c: Include ggc.h.
4130 * Makefile.in (OBJS): Remove hash.o.
4131 (c-lang.o): Add GGC_H.
4132 (COLLECT2_OBJS): Remove hash.o.
4133 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
4134 (ggc-common.o): Remove hash.h.
4135 (function.o): Remove hash.h, add HASHTAB_H.
4136 (genautomata.o): Remove hash.h, add HASHTAB_H.
4137
4138 * varasm.c (mark_const_str_htab_1): Delete.
4139 (mark_const_str_htab): Delete.
4140 (const_str_htab_del): Delete.
4141 (const_str_htab): Use gengtype to mark.
4142 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
4143 allocate them.
4144 * tree.c (mark_tree_hashtable_entry): Delete.
4145 (mark_tree_hashtable): Delete.
4146 * tree.h (mark_tree_hashtable): Delete prototype.
4147 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
4148 (ggc_mark): Likewise.
4149 (ggc_calloc): New.
4150 (htab_create_ggc): New.
4151 * ggc-common.c (ggc_calloc): New.
4152 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
4153 (struct type): Add param_struct structure.
4154 * gengtype.c (param_structs): New.
4155 (adjust_field_type): Handle param_is option.
4156 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
4157 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
4158 (write_gc_structure_fields): Add new PARAM parameter. Update
4159 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
4160 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
4161 Use it to generate function name. Update callers.
4162 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
4163 Process them.
4164 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
4165 option.
4166 (main): Define PTR as pointer-to-scalar. Don't specially
4167 mark deferred_string or ehl_map_entry.
4168 * gengtype-yacc.y (PARAM_IS): Add new token.
4169 (externstatic): Use adjust_field_type.
4170 (type_option): Add PARAM_IS.
4171 * gengtype-lex.l: Add rule for typedef of function pointers.
4172 Add rule for PARAM_IS.
4173 (IWORD): Add size_t.
4174 * except.c (exception_handler_label_map): Use gengtype to mark.
4175 (type_to_runtime_map): Likewise.
4176 (mark_ehl_map_entry): Delete.
4177 (mark_ehl_map): Delete.
4178 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
4179 (t2r_mark_1): Delete.
4180 (t2r_mark): Delete.
4181 * Makefile.in (gtype-desc.o): Correct dependencies.
4182 (GTFILES): Add hashtab.h.
4183 (genautomata.o): Actually uses hashtab.h.
4184
4185 * Makefile.in (stringpool.o): Add $(GGC_H).
4186 (dwarf2asm.o): Likewise.
4187 (GTFILES): Add hashtable.h.
4188 * c-common.h (struct c_common_identifier): Use gengtype.
4189 * c-decl.h (c_mark_tree): Delete.
4190 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
4191 * c-tree.h (struct lang_identifier): Use gengtype.
4192 (union lang_tree_node): New.
4193 (c_mark_tree): Delete prototype.
33005162 4194 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
e2500fed
GK
4195 dwarf2_debug_hooks.
4196 * gengtype-lex.l (IWORD): Allow 'bool'.
4197 (ptr_alias): Match.
4198 * gengtype-yacc.y (ALIAS): New token.
4199 (type_option): New rule.
4200 (option): Use type_option.
4201 * gengtype.c (process_gc_options): New.
4202 (set_gc_used_type): Use it.
4203 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
4204 Add new variable 't' to hold the type of the field being processed.
4205 Add more error checking. Use UNION_P when looking at 'desc' option.
4206 Handle language-specific structures containing other
4207 language-specific structures.
4208 (write_gc_types): Handle 'ptr_alias' option.
4209 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
4210 * ggc-common.c (ggc_pending_trees): Delete.
4211 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
4212 (ggc_mark_trees): Delete.
4213 (gt_ggc_m_tree_node): Delete.
4214 * ggc.h (ggc_pending_trees): Delete.
4215 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
4216 * hashtable.h (ht_identifier): Use gengtype.
4217 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
4218 * langhooks.h (struct lang_hooks): Delete mark_tree.
4219 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
4220 anyway.
4221 * system.h: Poison LANG_HOOKS_MARK_TREE.
4222 * tree.c (tree_node_structure): New.
4223 * tree.h (struct tree_common): Use gengtype.
4224 (struct tree_int_cst): Likewise.
4225 (struct tree_real_cst): Likewise.
4226 (struct tree_string): Likewise.
4227 (struct tree_complex): Likewise.
4228 (struct tree_vector): Likewise.
4229 (struct tree_identifier): Likewise.
4230 (struct tree_list): Likewise.
4231 (struct tree_vec): Likewise.
4232 (struct tree_exp): Likewise.
4233 (struct tree_block): Likewise.
4234 (struct tree_type): Likewise.
4235 (struct tree_decl): Likewise.
4236 (enum tree_structure_enum): New.
4237 (union tree_node): Use gengtype, with an alias.
4238 (tree_node_structure): Prototype.
4239 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
4240
4241 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
4242 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
4243 to LANG_HOOKS_FUNCTION_FINAL.
4244 * Makefile.in (GTFILES): Add bitmap.h.
4245 * except.c (struct eh_region): Mark field 'aka' to be skipped.
4246
4247 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
4248 (alpha_init_machine_status): Give proper type.
4249 * Makefile.in (c-lang.o): Depend on gtype-c.h.
4250 (optabs.o): Depend on gt-optabs.h.
4251 (GTFILES): Add optabs.o.
4252 (gt-optabs.h): Add rule.
4253 * optabs.c: Include gt-optabs.h.
4254
4255 * gengtype.c (set_gc_used_type): Correct some errors in last change.
4256 (write_gc_structure_fields): If a field which should be NULL is
4257 not, abort.
4258 * c-pragma.c: Move struct align_stack and variable alignment_stack
4259 out from the ifdef.
4260
4261 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
4262 * config/xtensa/xtensa.c: Include gt-cris.h.
4263 (struct machine_function): Use gengtype to mark.
4264 * config/mmix/mmix.h (struct machine_function): Use gengtype
4265 to mark.
4266 * config/cris/t-cris: Add dependencies for gt-cris.h.
4267 * config/cris/cris.c: Include gt-cris.h.
4268 (struct machine_function): Use gengtype to mark.
4269 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
4270 to mark.
4271 * doc/tm.texi (Per-Function Data): Delete references to
4272 mark_machine_status.
4273 * config/ia64/ia64.c (ia64_override_options): Don't set
4274 mark_machine_status.
4275 * config/i386/i386.c (override_options): Likewise.
4276 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
4277 * config/arm/arm.c (arm_init_expanders): Likewise.
4278 * config/alpha/alpha.c (override_options): Likewise.
33005162 4279 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
e2500fed
GK
4280 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
4281 (write_gc_structure_fields): Don't handle 'really' option.
4282 Handle 'maybe_null' option.
4283 (write_gc_types): Handle 'maybe_null' option.
4284 * function.h (struct function): Don't use "really".
4285 (mark_machine_status): Delete declaration.
4286 (mark_lang_status): Delete declaration.
4287 (gt_ggc_mr_machine_function): Delete prototype.
4288 (gt_ggc_mr_language_function): Delete prototype.
4289 * function.c (mark_machine_status): Delete.
4290 (mark_lang_status): Delete.
4291 (gt_ggc_mr_machine_function): Delete.
4292 (gt_ggc_mr_language_function): Delete.
4293 * c-tree.h (mark_c_function_context): Delete prototype.
4294 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
4295 * c-decl.c (struct language_function): Rename from struct
4296 c_language_function. Update uses. Use gengtype to mark.
4297 (mark_c_function_context): Delete.
4298 * c-common.h (struct c_language_function): Rename from struct
4299 language_function.
4300 (mark_stmt_tree): Delete prototype.
4301 (c_mark_lang_decl): Delete prototype.
4302 (mark_c_language_function): Delete prototype.
4303 * c-common.c (mark_stmt_tree): Delete.
4304 (c_mark_lang_decl): Delete.
4305 (mark_c_language_function): Delete.
4306
4307 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
4308 (lang_bitmap): New typedef. Use where appropriate.
4309 (struct type): Add gc_used field, lang_struct field.
4310 (UNION_P): New macro.
4311 (new_structure): New prototype.
4312 (find_structure): Remove 'pos' parameter. Change all callers.
4313 * gengtype-lex.l: Update for changes to find_structure.
4314 * gengtype-yacc.y (typedef_struct): Use new_structure.
4315 (yacc_ids): Suppress warning.
4316 (type): Use new_structure.
4317 * gengtype.c (string_type): Update for changes to struct type.
4318 (find_structure): Just find a structure, don't worry about
4319 creating one.
4320 (new_structure): New.
4321 (note_yacc_type): Use new_structure.
4322 (set_gc_used_type): New.
4323 (set_gc_used): New.
4324 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
4325 (write_gc_types): Handle TYPE_LANG_STRUCT.
4326 (write_gc_marker_routine_for_structure): New.
4327 (main): Call set_gc_used. Add some calls to set_gc_used_type
4328 for places where GCC doesn't use gengtype properly yet.
4329 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
4330 (gt_ggc_m_tree_node): Likewise.
4331
4332 * varasm.c (copy_constant): Call expand_constant if we hit
4333 something we can't recognise.
4334
4335 * ggc-common.c (ggc_mark_rtvec_children): Delete.
4336 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
4337 (lang_mark_false_label_stack): Delete.
4338 * rtl.h (struct rtvec_def): Use gengtype to mark.
4339 * ggc.h (ggc_mark_rtvec): Delete.
4340 (gt_ggc_m_rtvec_def): Delete.
4341 (ggc_mark_nonnull_tree): Delete.
4342 (ggc_mark_rtvec_children): Delete prototype.
4343 (lang_mark_false_label_stack): Delete declaration.
4344
4345 * gengtype.h (note_yacc_type): Add prototype.
4346 * gengtype.c (note_yacc_type): New function.
4347 * gengtype-lex.l: Add lexer support for yacc files.
4348 * gengtype-yacc.y (start): Extract union from yacc files.
4349 (yacc_union): New rule.
4350 (yacc_typematch): New rule.
4351 (yacc_ids): New rule.
4352 (enum_items): Tweak for efficiency.
4353 (optionseq): Likewise.
4354
4355 * c-common.h (struct language_function): Use gengtype.
4356 (struct c_lang_decl): Likewise.
4357 * c-tree.h (struct lang_decl): Likewise.
4358 (struct lang_type): Likewise.
4359 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
4360 tree language substructures.
4361
4362 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
4363 ggc_mark_tree.
4364 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
4365
4366 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
4367
4368 * stmt.c (struct nesting): Add discriminator. Use gengtype to
4369 mark. Remove 'data.block.cleanup_ptr' field.
4370 (struct stmt_status): Use usual technique to mark struct nesting.
4371 (gt_ggc_mr_nesting_cond): Delete.
4372 (gt_ggc_mr_nesting_loop): Delete.
4373 (gt_ggc_mr_nesting_block): Delete.
4374 (gt_ggc_mr_nesting_case_stmt): Delete.
4375 (expand_start_cond): Set discriminator.
4376 (expand_start_loop): Likewise.
4377 (expand_start_null_loop): Likewise.
4378 (expand_start_bindings_and_block): Set discriminator. Don't set
4379 deleted fields.
4380 (expand_decl_cleanup): Replace 'cleanup_ptr' with
4381 &thisblock->data.block.cleanups.
4382 (expand_start_case): Set discriminator.
4383 (expand_start_case_dummy): Set discriminator.
4384
4385 * ggc-callbacks.c: Remove.
4386
4387 * gengtype.h (struct type): Add 'u.s.bitmap' field.
4388 (find_structure): Add 'pos' parameter.
4389 * gengtype-lex.l: Update callers to find_structure.
4390 * gengtype-yacc.y: Likewise.
4391 * gengtype.c (find_structure): Allow for structures to be defined
4392 in multiple language backends.
4393 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
4394 (counter): Rename to gc_counter.
4395 (write_gc_structure_fields): Fail when writing out fields for
4396 an incomplete structure. Ignore arrays of scalars. Handle
4397 'tree_vec' special.
4398 (write_gc_types): Reset counter for each procedure written.
4399
4400 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
4401 (free_case_nodes): Delete.
4402 (expand_end_case_type): Delete call to free_case_nodes.
4403
4404 * Makefile.in (cselib.o): Include gt-<filename>.h.
4405 (gcse.o): Likewise.
4406 (profile.o): Likewise.
4407 (alias.o): Likewise.
4408 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
4409 alphabetize backend files.
4410 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
4411 * alias.c: Use gengtype for roots.
4412 * c-common.h (struct stmt_tree_s): Use gengtype.
4413 * c-decl.c: Use gengtype for roots.
4414 * cselib.c: Use gengtype for roots.
4415 * expr.c: Use gengtype for roots.
4416 * fold-const.c: Use gengtype for roots.
4417 * gcse.c: Use gengtype for roots.
4418 * gengtype-lex.l: Handle typedefs of function types.
4419 Allow for empty array bounds.
4420 Allow processing to stop on initialisers.
4421 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
4422 (semiequal): New rule.
4423 * gengtype.c (create_file): Tidy output files.
4424 (get_output_file_with_visibility): Fix paren warning. Fix bug
4425 involving multiple input files mapping to one output file.
4426 (write_gc_structure_fields): Skip arrays of scalars.
4427 (write_gc_types): Tidy output files.
4428 (write_gc_root): New function.
4429 (write_gc_roots): Fix bugs, add support for roots that are
4430 structures.
4431 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
4432 (ggc_mark_tree_ptr): Delete.
4433 (ggc_add_rtx_root): Delete.
4434 (ggc_add_tree_root): Delete.
4435 (ggc_del_root): Delete.
4436 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
4437 allocate struct initial_value_struct.
4438 * profile.c: Use gengtype for roots.
4439 * sdbout.c: Use gengtype for roots.
4440 * varasm.c (mark_weak_decls): Delete unused prototype.
4441 (mark_const_hash_entry): Delete unused function.
4442 * config/darwin-protos.h: Use gengtype for roots.
4443 (machopic_add_gc_roots): Delete.
4444 * config/arm/arm.c: Use gengtype for roots.
4445 * config/arm/arm.h: Use gengtype for roots.
4446 * config/c4x/c4x-protos.h: Use gengtype for roots.
4447 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
4448 * config/d30v/d30v-protos.h: Use gengtype for roots.
4449 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
4450 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
4451 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
4452 * config/ia64/ia64-protos.h: Use gengtype for roots.
4453 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
4454 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
4455 * config/m68hc11/m68hc11.c (z_reg): Make global.
4456 (z_reg_qi): Make global.
4457 (m68hc11_add_gc_roots): Delete.
4458 * config/mcore/mcore-protos.h: Use gengtype for roots.
4459 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
4460 * config/mips/mips.c (mips_add_gc_roots): Delete.
4461 * config/mips/mips.h: Use gengtype for roots.
4462 * config/mmix/mmix.c (override_options): Use gengtype for roots.
4463 * config/mmix/mmix.h: Use gengtype for roots.
4464 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
4465 * config/mn10200/mn10200.h: Use gengtype for roots.
4466 * config/pa/pa.c: Use gengtype for roots, marking.
4467 (struct deferred_plabel): Use GGC, gengtype.
4468 (pa_add_gc_roots): Delete.
4469 (mark_deferred_plabels): Delete.
4470 * config/pj/pj-protos.h: Use gengtype for roots.
4471 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
4472 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
4473 machopic_add_gc_roots.
4474 * config/rs6000/rs6000.h: Use gengtype for roots.
4475 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
4476 (gt-darwin.h): Add rule.
4477 * config/sh/sh.c: Use gengtype for roots.
4478 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
4479 (gt-sh.h): Add rule.
4480 * config/sparc/sparc.c: Use gengtype for roots.
4481 (sparc_add_gc_roots): Delete.
4482 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
4483 (mark_ultrasparc_pipeline_state): Delete.
4484 * config/sparc/sparc.h: Use gengtype for roots.
4485
4486 * Makefile.in (c-parse.o): Update dependencies.
4487 (c-common.o): Likewise.
4488 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
4489 Add dependencies for the files they generate.
4490 * c-common.c: Replace ggc_add_* uses with GTY annotations.
4491 * c-common.h: Likewise.
4492 * c-decl.c: Likewise.
4493 (gt_ggc_mp_binding_level): Delete.
4494 * c-lang.c: Include gtype-c.h.
4495 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
4496 gt-c-parse.h.
4497 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
4498 (gt_ggc_mp_align_stack): Delete.
4499 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
4500 * function.c: Replace ggc_add_* uses with GTY annotations.
4501 (gt_ggc_mp_function): Delete.
4502 * function.h: Replace ggc_add_* uses with GTY annotations.
4503 * gengtype.c (lang_names): New.
4504 (NUM_BASE_FILES): New.
4505 (open_base_files): Create language base files.
4506 (startswith): New.
4507 (get_file_basename): New.
4508 (get_base_file_bitmap): New.
4509 (get_output_file_with_visibility): Rename from get_output_file.
4510 Add more mappings for various C/Objc filenames.
4511 (finish_root_table): New.
4512 (write_gc_roots): Handle dependencies and scoping properly.
4513 * gengtype.h: Add prototypes for new functions.
4514 * ggc-common.c (struct deletable_root): Delete.
4515 (deletables): Delete.
4516 (ggc_add_deletable_root): Delete.
4517 (ggc_mark_roots): No need to deal with deleted functionality.
4518 * ggc.h (ggc_add_deletable_root): Delete prototype.
4519 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
4520 (gtype-objc.h): Add rule to create.
4521 * objc/config-lang.in (gtfiles): New.
4522 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
4523 ggc_add_* with GTY markers. Include gtype-objc.h.
4524 (ggc_mark_imp_list): Delete.
4525 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
4526 * objc/objc-lang.c: Random Whitespace Change.
4527
4528 * except.h (exception_handler_labels): Delete.
4529 (get_exception_handler_labels): New.
4530 * except.c (exception_handler_labels): Delete.
4531 (struct eh_status): Add exception_handler_labels field.
4532 (doing_eh): Don't add exception_handler_labels as root.
4533 (free_eh_status): Don't need to free exception_handler_labels.
4534 (get_exception_handler_labels): New.
4535 (find_exception_handler_labels): Update for move of
4536 exception_handler_labels.
4537 (remove_exception_handler_label): Likewise.
4538 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
4539 * jump.c (rebuild_jump_labels): Likewise.
4540 * loop.c (find_and_verify_loops): Likewise.
4541 * sched-rgn.c (is_cfg_nonregular): Likewise.
4542
4543 * gengtype.c (write_gc_structure_fields): Handle variable-length
4544 TYPE_ARRAYs.
4545
4546 * varasm.c (struct weak_syms): Use GGC, gengtype.
4547 (mark_weak_decls): Delete.
4548 (weak_decls): Likewise.
4549 (add_weak): Likewise.
4550 (remove_from_pending_weak_list): Likewise.
4551 (init_varasm_once): Likewise.
4552
4553 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
4554 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
4555 stor-layout.c, regclass.c, and lists.c.
4556 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
4557 gt-regclass.h and gt-lists.h on s-gtype.
4558 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
4559 * except.c: Use gengtype for roots.
4560 * explow.c: Use gengtype for roots. Include gt-explow.h.
4561 * expr.h (init_stor_layout_once): Delete prototype.
4562 * function.c: Use gengtype for roots.
4563 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
4564 * gengtype-yacc.y (start): Can also be an externstatic.
4565 (externstatic): New production.
4566 (struct_fields): Correct array bounds inversion for 2-d arrays.
4567 * gengtype.c (variables): New variable.
4568 (note_variable): New function.
4569 (get_output_file): Include libfuncs.h into gtype-desc.c.
4570 (get_output_file_name): New function.
4571 (write_gc_structure_fields): Suppress warnings.
4572 (write_gc_types): Make static.
4573 (put_mangled_filename): New function.
4574 (write_gc_roots): New function.
4575 (main): Call write_gc_roots.
4576 * gengtype.h (note_variable): Prototype.
4577 (get_output_file_name): Prototype.
4578 (write_gc_types): Delete prototype.
4579 * ggc.h: Clean up unnecessary structure predefinitions.
4580 (struct ggc_root_tab): Define.
4581 (gt_ggc_m_rtx_def): Make function, not macro.
4582 (gt_ggc_m_tree_node): Likewise.
4583 * libfuncs.h: Use gengtype for roots.
4584 * lists.c: Use gengtype for roots. Include gt-lists.h.
4585 (init_EXPR_INSN_LIST_cache): Delete.
4586 * optabs.c: Use gengtype for roots.
4587 (gt_ggc_mp_optab): Delete.
4588 * optabs.h: Use gengtype for roots.
4589 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
4590 * rtl.h: Use gengtype for roots.
4591 (init_EXPR_INSN_LIST_cache): Delete prototype.
4592 * stor-layout.c: Use gengtype for roots.
4593 Include gt-stor-layout.h.
4594 (init_stor_layout_once): Delete.
4595 * toplev.c: Use gengtype for roots. Delete calls to deleted
4596 routines.
4597 * tree.c: Use gengtype for roots.
4598 * tree.h: Use gengtype for roots.
4599 * varasm.c: Use gengtype for roots.
33005162 4600
e2500fed
GK
4601 * Makefile.in (GTFILES): Add @all_gtfiles@.
4602 * configure: Regenerate.
4603 * configure.in: Construct all_gtfiles from the gtfiles definitions
4604 in config-lang.in.
4605 * gengtype-yacc.y (type): Warn about duplicate structure names.
4606 * gengtype.c (get_output_file): Handle .c files in language
4607 subdirectories.
4608
4609 * Makefile.in (GTFILES): Run gengtype on all the config files
4610 and on the target .c file.
4611 * except.c (mark_eh_region): Delete.
4612 (init_eh_for_function): Use GGC on struct eh_status.
4613 (mark_eh_status): Delete.
4614 (free_eh_status): Use GGC.
4615 (expand_eh_region_start): Use GGC to
4616 (collect_eh_region_array): Allocate last_region_number using GGC.
4617 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
4618 (remove_eh_handler): Let GGC free struct eh_region.
4619 (add_call_site): Use GGC to reallocate call_site_record array.
4620 * function.c (init_machine_status): Update calling sequence.
4621 (mark_machine_status): Likewise.
4622 (mark_lang_status): Likewise.
4623 (prepare_function_start): Update init_machine_status call.
4624 (mark_function_status): Delete.
4625 (maybe_mark_struct_function): Delete.
4626 (ggc_mark_struct_function): Delete.
4627 (gt_ggc_mp_function): New.
4628 (gt_ggc_mr_machine_function): New.
4629 (gt_ggc_mr_language_function): New.
4630 (init_function_once): Use canonical names.
4631 * function.h (struct function): Use gengtype.
4632 (init_machine_status): Return the structure.
4633 (mark_machine_status): Take a 'void *'.
4634 (mark_lang_status): Likewise.
4635 * ggc-common.c (ggc_mark_trees): Use canonical name for
4636 ggc_mark_struct_function.
4637 * tree.h (ggc_mark_struct_function): Delete prototype.
4638 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
4639 (alpha_init_machine_status): Likewise.
4640 (override_options): Use canonical name for alpha_mark_machine_status.
4641 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
4642 * config/arm/arm.h (struct machine_function): Use gengtype.
4643 * config/arm/arm.c (arm_mark_machine_status): Delete.
4644 (arm_init_machine_status): Update calling sequence.
4645 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
33005162 4646 * config/cris/cris.c (cris_init_machine_status): Update
e2500fed
GK
4647 calling sequence.
4648 * config/d30v/d30v.h (struct machine_function): Use gengtype.
33005162 4649 * config/d30v/d30v.c (d30v_init_machine_status): Update
e2500fed
GK
4650 calling sequence.
4651 (d30v_mark_machine_status): Delete.
4652 * config/i386/i386.c: Include gt-i386.h.
4653 (struct machine_function): Use gengtype.
4654 (ix86_init_machine_status): Update calling sequence.
4655 (ix86_mark_machine_status): Delete.
4656 (override_options): Use canonical namke for ix86_mark_machine_status.
4657 * config/ia64/ia64.h (struct machine_function): Use gengtype.
33005162 4658 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
e2500fed
GK
4659 sequence.
4660 (ia64_mark_machine_status): Delete.
33005162 4661 (ia64_override_options): Use canonical name for
e2500fed 4662 ia64_mark_machine_status.
33005162 4663 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
e2500fed
GK
4664 sequence.
4665 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
4666 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
4667 * gengtype.c (get_output_file): Fix warning.
4668 (main): Add prototype to suppress warning.
4669 * tree.c: Remove tree_hash_mark prototype.
4670
4671 * tree.h (init_stmt): Delete prototype.
4672 * toplev.c (lang_independent_init): Don't call init_stmt.
4673 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
4674 (stmt_obstack): Delete.
4675 (POPSTACK): No need to free 'struct nesting'.
4676 (gt_ggc_mr_nesting_cond): Use canonical names.
4677 (gt_ggc_mr_nesting_loop): Use canonical names.
4678 (gt_ggc_mr_nesting_block): Use canonical names.
4679 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
4680 (mark_stmt_status): Delete.
4681 (init_stmt): Delete.
4682 (clear_last_expr): Clear both last_expr_type and last_expr_value.
4683 Use it everywhere that last_expr_type was cleared.
4684 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
4685 (zap_lists): Delete.
4686 * ggc.h (ggc_add_deletable_root): Prototype.
4687 (mark_stmt_status): Remove prototype.
4688 * ggc-common.c (ggc_add_deletable_root): New.
4689 (ggc_mark_roots): Handle deletable roots.
4690 * function.c (ggc_mark_struct_function): Use canonical name
4691 for mark_stmt_status.
4692 * emit-rtl.c (free_sequence_stack): New.
4693 (start_sequence): Use a freelist for sequences.
4694 (end_sequence): Likewise.
4695 (init_emit_once): Add free_sequence_stack as a deleteable root.
4696 * c-pragma.c Include gt-c-pragma.h.
4697 (struct align_stack): Use gengtype.
4698 (push_alignment): Use GGC for struct align_stack.
4699 (mark_align_stack): Delete.
4700 (gt_ggc_mp_align_stack): New.
4701 (init_pragma): Use canonical name for mark_align_stack.
4702 * c-decl.c: Include gt-c-decl.h.
4703 (struct binding_level): Use gengtype.
4704 (make_binding_level): Use GGC; handle the freelist here.
4705 (pop_binding_level): New.
4706 (pushlevel): Move code into make_binding_level.
4707 (push_label_level): Likewise.
4708 (poplevel): Move code into pop_binding_level.
4709 (pop_label_level): Likewise.
4710 (mark_binding_level): Delete.
4711 (gt_ggc_mp_binding_level): New.
4712 (c_init_decl_processing): Use canonical name for mark_binding_level.
4713 Add free_binding_level as deletable root.
4714 (mark_c_function_context): Use canonical name for mark_binding_level.
4715 * Makefile.in (c-decl.o): Add gt-c-decl.h.
4716 (c-pragma.o): Add gt-c-pragma.h.
4717 (GTFILES): Add c-decl.c and c-pragma.c.
4718 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
4719
4720 * tree.c (struct type_hash): Use gengtype.
4721 (init_obstacks): Use canonical name for type_hash_mark.
4722 (type_hash_mark): Delete.
4723 Include gt-tree.h.
4724 * rtl.h (struct mem_attrs): Use gengtype.
4725 * optabs.h (struct optab): Use gengtype.
4726 * optabs.c (expand_binop): Squish signed/unsigned warning.
4727 (mark_optab): Make local, use canonical name, use autogenerated
4728 marker procedure.
4729 (init_optabs): Use canonical name for mark_optab.
4730 (new_optab): Use GGC to allocate optabs.
4731 * ggc.h: Delete mark_optab prototype.
4732 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
4733 mem_attrs marker procedure.
4734 * gengtype.c (get_output_file): Include headers in gtype-desc.c
4735 explicitly rather than deducing them from file names.
4736 (write_gc_structure_fields): Handle arrays of structures.
4737 (main): Return non-zero exit code if errors occur during output.
4738 * emit-rtl.c (mem_attrs_mark): Delete.
4739 (init_emit_once): Use canonical name for mem_attrs marker procedure.
4740 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
4741 (tree.o): Depend on gt-tree.h.
4742 (GTFILES): Add rtl.h, optabs.h, tree.c.
4743 (gt-tree.h): Add it to s-gtype rule.
4744
4745 * .cvsignore: Ignore gengtype flex/bison generated files.
4746 * Makefile.in (GGC_H): Add gtype-desc.h.
4747 (OBJS): Add gtype-desc.o.
4748 (GEN): Add gengtype.
4749 (STAGESTUFF): Add gengtype.
4750 (varasm.o): Add gt-varasm.h.
4751 (stmt.o): Add gt-stmt.h.
4752 (except.o): Add gt-except.h.
4753 (integrate.o): Add gt-integrate.h.
4754 (GTFILES): New.
4755 Add new rules for new files.
4756 * configure: Regenerate.
4757 * configure.in: Correct defaults.h paths.
4758 * emit-rtl.c (mark_sequence_stack): Delete.
4759 (mark_emit_status): Delete.
4760 (start_sequence): Allocate sequence structures using GGC.
4761 (end_sequence): Allocate sequence structures using GGC.
4762 * except.c: Use gengtype for various structures. Include
4763 gt-except.h.
4764 * expr.c (mark_expr_status): Delete.
4765 * function.c: Use gengtype for various structures. Include
4766 gt-function.h.
4767 (mark_function_status): Use standard gt_ggc names for marker functions.
4768 (ggc_mark_struct_function): Likewise.
4769 * function.h: Use gengtype for various structures.
4770 * gengtype-lex.l: New file.
4771 * gengtype-yacc.y: New file.
4772 * gengtype.c: New file.
4773 * gengtype.h: New file.
4774 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
4775 the standard names. Remove some now-unnecessary prototypes.
4776 * integrate.c: Use gengtype for various structures. Include
4777 gt-integrate.h.
4778 (mark_hard_reg_initial_vals): Delete.
4779 * integrate.h (mark_hard_reg_initial_vals): Delete.
4780 * stmt.c: Use gengtype for various structures. Include
4781 gt-stmt.h.
4782 (mark_case_node): Delete.
4783 (mark_goto_fixup): Delete.
4784 (mark_stmt_status): Use standard gt_ggc names for marker functions.
4785 * system.h: Define GTY to empty. In flex/bison files,
4786 don't poison malloc or realloc, instead just define them to
4787 xmalloc and xrealloc.
4788 * varasm.c: Use gengtype for various structures. Include
4789 gt-varasm.h. Use standard gt_ggc names for marker functions.
4790 (mark_pool_constant): Delete.
4791 (mark_varasm_status): Delete.
4792 (decode_rtx_const): #if 0 out non-typesafe hack.
4793
4794 * function.h (free_lang_status): Mark as obsolete.
4795 * function.c (free_lang_status): Mark as obsolete.
4796 * c-decl.c (push_c_function_context): Use GC to allocate and free
4797 struct language_function.
4798 (pop_c_function_context): Likewise.
4799 * c-common.c (mark_c_language_function): Mark struct
4800 language_function.
4801
4802 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
4803 Document that the machine_function structures must be allocated
4804 using GC. Update mark_machine_status documentation.
4805 * function.h: Don't declare free_machine_status.
33005162 4806 * function.c (free_machine_status): Don't define.
e2500fed
GK
4807 (free_after_compilation): Don't call free_machine_status.
4808 (ggc_mark_struct_function): Mark f->machine. Call
4809 mark_machine_status only on non-NULL pointers.
4810 * system.h: Poison free_machine_status.
4811 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
4812 struct machine_function.
4813 (xtensa_free_machine_status): Delete.
4814 (override_options): Don't set free_machine_status.
4815 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
4816 free_machine_status.
4817 (rs6000_init_machine_status): Use GC on struct machine_function.
4818 (rs6000_free_machine_status): Delete.
4819 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
4820 machine_function.
4821 (ia64_mark_machine_status): Likewise.
4822 (ia64_free_machine_status): Delete.
4823 (ia64_override_options): Don't set free_machine_status.
4824 * config/i386/i386.c (override_options): Don't set
4825 free_machine_status.
4826 (ix86_init_machine_status): Use GC on struct machine_function.
4827 (ix86_mark_machine_status): Likewise.
4828 (ix86_free_machine_status): Delete.
4829 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
4830 machine_function.
4831 (d30v_mark_machine_status): Likewise.
4832 (d30v_free_machine_status): Delete.
4833 (d30v_init_expanders): Don't set free_machine_status.
4834 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
4835 machine_function.
4836 (arm_init_machine_status): Likewise.
4837 (arm_free_machine_status): Delete.
4838 (arm_init_expanders): Don't set free_machine_status.
4839 * config/alpha/alpha.c (override_options): Don't set
4840 free_machine_status.
4841 (alpha_init_machine_status): Use GC on struct machine_function.
4842 (alpha_mark_machine_status): Likewise.
4843 (alpha_free_machine_status): Delete.
4844
4845 * varasm.c (compare_constant): Fix typo.
4846
4847 * varasm.c: Don't include obstack.h.
4848 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
4849 (struct rtx_const): Give substructures names, improve formatting.
4850 (struct constant_descriptor): Delete.
4851 (struct constant_descriptor_tree): New, based on constant_descriptor.
4852 (const_hash_table): Is a hash table of trees.
4853 (mark_const_hash_entry): Is used for hashes of trees. Mark
4854 constant_descriptor_tree structure.
4855 (mark_const_str_htab_1): Mark deferred_string structure.
4856 (compare_constant): Rewrite to compare trees.
4857 (compare_constant_1): Delete.
4858 (record_constant): Delete.
4859 (record_constant_1): Delete.
4860 (output_constant_def): Use struct constant_descriptor_tree.
4861 Don't duplicate trees twice.
4862 (struct constant_descriptor_rtx): New.
4863 (struct pool_constant): Used for rtx constants.
4864 (init_varasm_status): Update for change to struct varasm_status.
4865 (mark_varasm_status): Likewise.
4866 (free_varasm_status): Delete.
4867 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
4868 (record_constant_rtx): Likewise.
4869 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
4870 (force_const_mem): Likewise.
4871 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
4872 * function.c (free_after_compilation): Don't use free_varasm_status.
4873 * function.h: Don't prototype free_varasm_status.
4874
4875 * ggc-common.c (ggc_realloc): Handle X being NULL.
4876
4877 * ggc-common.c (ggc_realloc): New function.
4878 * ggc.h: Prototype it.
4879 * emit-rtl.c (free_emit_status): Delete.
4880 (init_emit): Allocate emit subarrays using GC.
4881 (gen_reg_rtx): Reallocate subarrays using GC.
4882 (init_emit): Use GC to allocate 'struct emit_status' and its
4883 subarrays.
4884 (mark_emit_status): Mark structure and its subarrays.
4885 * stmt.c (free_stmt_status): Delete.
4886 * expr.c (free_expr_status): Delete.
4887 * function.h: Remove prototypes for deleted functions.
4888 * function.c (free_after_compilation): Don't use deleted functions.
4889 Don't call free() on x_parm_reg_stack_loc.
4890 (free_after_parsing): Don't use free_stmt_status.
4891 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
4892 (mark_function_status): Mark x_parm_reg_stack_loc.
4893
4894 * varasm.c (init_varasm_status): Use GC to allocate
4895 'struct varasm_status' and its fields x_const_rtx_hash_table
4896 and x_const_rtx_sym_hash_table.
4897 (mark_varasm_status): Mark them.
4898 (free_varasm_status): Use GC to free them.
4899 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
4900 (mark_expr_status): Mark the structure itself.
4901 (free_expr_status): Use GC to free the structure.
4902 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
4903 (mark_stmt_status): Mark the 'struct stmt_status' itself.
4904 (init_stmt_for_function): Allocate the structure for GC.
4905
4906 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
4907 (equate_type_number_to_die): Likewise.
4908 * tree.h (TYPE_SYMTAB_DIE): New macro.
4909 (struct die_struct): Predeclare.
4910 (struct tree_type): Add field symtab.die. Add a tag
4911 to the union type of field symtab.
4912
4913 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
4914 'struct rtvec_def *', not 'struct rtvec_def'.
4915
4916 * function.h (original_arg_vector): Make a real rtvec.
4917 * function.c (ggc_mark_struct_function): Adjust.
4918 * integrate.c (expand_inline_function): Adjust.
4919
b655555e
JT
49202002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
4921
4922 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
4923 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
4924 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
4925 (TARGET_VERSION_CPU): Define according to the
4926 default target.
4927 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
4928 TARGET_VERSION_CPU.
4929 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
4930 if TARGET_SHMEDIA64.
4931 (LINK_DEFAULT_CPU_EMUL): Define according to the
4932 default target.
4933 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
4934 (SUBTARGET_LINK_SPEC): Define.
4935 (LINK_SPEC): Use SH_LINK_SPEC.
4936 (ASM_SPEC): Remove.
4937 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
4938 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
4939 and TARGET_SHMEDIA64 which abort, for now.
4940 * config/sh/t-netbsd-sh5: New file.
4941 * config/sh/t-netbsd-sh5-32: New file.
4942 * config/sh/t-netbsd-sh5-64: New file.
4943
6d8fd7bb
RH
49442002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
4945 Richard Henderson <rth@redhat.com>
4946
4947 * config/alpha/alpha.c (reg_or_const_int_operand): New.
4948 (some_operand, input_operand): Accept CONST_VECTOR.
4949 (alpha_extra_constraint): Add 'W'.
4950 (alpha_expand_zap_mask): New.
4951 (alpha_expand_builtin_vector_binop): New.
4952 (enum alpha_builtin): New.
4953 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
4954 (alpha_init_builtins, alpha_expand_builtin): New.
4955 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
4956 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
4957 (PREDICATE_CODES): Update.
4958 * config/alpha/alpha-protos.h: Update.
4959 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
4960 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
4961 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
4962 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
4963 (movv2si, movv2si_fix, movv2si_nofix): New.
4964 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
4965 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
4966 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
4967 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
4968 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
4969 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
4970 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
4971 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
4972 builtin_unpkbw, unpkbw): New.
4973 * doc/extend.texi (Alpha Built-in Functions): New.
4974
618939de
RH
49752002-06-03 Richard Henderson <rth@redhat.com>
4976
4977 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
4978 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
4979
73db7137
RH
49802002-06-03 Richard Henderson <rth@redhat.com>
4981
6933647a
RH
4982 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
4983
73db7137
RH
4984 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
4985 (const0_operand): New.
4986 (reg_or_fp0_operand, fp0_operand): Remove.
4987 * config/alpha/alpha.h (PREDICATE_CODES): Update.
4988 * config/alpha/alpha-protos.h: Update.
4989 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
4990 and fp0_operand with reg_or_0_operand and const0_operand.
4991
a6f7c915
DN
49922002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
4993
4994 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
4995
b2f02503
RS
49962002-06-03 Roger Sayle <roger@eyesopen.com>
4997
4998 * gcse.c (cprop_jump): Use single_set to get the pattern
4999 from the setcc argument.
5000
4fcc2065
GDR
50012002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
5002
33005162 5003 * diagnostic.h (diagnostic_count): Move from output_buffer to
4fcc2065
GDR
5004 diagnostic_context.
5005 (diagnostic_kind_count): Adjust definition.
5006
5204d665
JH
5007Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
5008
5009 * except.c (except.c): Do not rebuild CFG.
5010 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
5011 optimization.
5012
0478a14c
JH
5013Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
5014
5015 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
5016 * toplev.c: Include cfglahout.h
5017 * Makefile.in (toplev.c): Add dependnecy.
5018
30efe578
NB
50192002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
5020
5021 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
5022 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
5023 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
5024
a782515b
JT
50252002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
5026
5027 * config/ns32k/netbsd.h: Update copyright years.
5028 (TARGET_OS_CPP_BUILTINS): Define.
5029 (CPP_PREDEFINES): Remove.
5030 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
5031 (TARGET_CPU_CPP_BUILTINS): Define.
5032
0fb7aeda
KH
50332002-06-02 Kazu Hirata <kazu@cs.umass.edu>
5034
589005ff 5035 * emit-rtl.c: Fix formatting.
0fb7aeda
KH
5036 * errors.h: Likewise.
5037 * except.c: Likewise.
5038 * explow.c: Likewise.
5039 * expmed.c: Likewise.
5040 * expr.c: Likewise.
5041 * expr.h: Likewise.
5042
1c8ec18b
KH
50432002-06-02 Kazu Hirata <kazu@cs.umass.edu>
5044
5045 * config/h8300/elf.h: Fix formatting.
5046 * config/h8300/rtems.h: Likewise.
5047
86cb04f6
JT
50482002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
5049
5050 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
5051
5d83269d
TT
50522002-06-02 Tom Tromey <tromey@redhat.com>
5053
5054 * fixinc/fixincl.x: Rebuilt.
5055 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
5056
62f6a494
NB
50572002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
5058
5059config/i370:
5060 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
5061 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
5062 * mvs.h: Similarly.
5063 * oe.h: Similarly.
5064
0acb0203
JH
5065Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
5066
5067 * final.c (final): Allow notes to not have computed addresses;
5068 kill no longer needed STACK_REGS ifdef.
5069
ada8d98a
RH
50702002-06-02 Richard Henderson <rth@redhat.com>
5071
5072 * gcse.c (bypass_conditional_jumps): Fix typo last change.
5073
ba4f7968
JH
5074Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
5075
ada8d98a
RH
5076 * loop.c (emit_prefetch_instructions): Properly place the address
5077 computation.
ba4f7968
JH
5078
5079Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
5080
5081 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
5082 (set_block_for_insn): Turn into macro.
5083 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
5084 * cfglayout.c (insn_scopes): Kill.
5085 (scope_to_insns_initialize): Do not use insn_scopes.
5086 (scope_to_insns_finalize): Likewise.
5087 (duplicate_insn_chain): Likewise.
5088 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
5089 * cfgrtl.c (basic_block_for_insn): Kill.
5090 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
5091 (create_basic_block_structure): Use reorder_insns.
5092 (compute_bb_for_insn): Do not use basic_block_for_insn.
5093 (merge_blocks_nomove): Likewise.
5094 (update_bb_for_insn): Likewise.
5095 (verify_flow_info): Likewise.
5096 (set_block_for_insn): Kill.
5097 * combine.c (try_combine): Update gen_rtx_INSN call.
5098 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
5099 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
5100 scopes and BBs.
5101 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
5102 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
5103 Clear BB.
5104 (emit_insns_after): Simplify.
5105 (emit_copy_of_insn_after): Copy scope.
5106 * final.c (final_start_function): Lower scopes.
5107 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
5108 * integrate.c (copy_insn_list): Cope scopes.
5109 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
5110 * loop.c (loop_optimize): Do not care block notes.
5111 * print-rtl.c (print_rtx): Print BB.
5112 * recog.c (apply_change_group): Simplify.
5113 * rtl.c (copy_rtx): Handle 'B'.
5114 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
5115 * rtl.h (Field accessors): Update indexes.
5116 * sched-ebb.c (schedule_ebbs): Do not lower notes.
5117 * sched-rgn.c (schedule_insns): Likewise.
5118 * toplev.c (rest_of_compilation): Lower notes.
5119 * unroll.c (unroll_loop): Do not care scoping notes.
5120 (copy_loop_body): Copy scopes.
5121
537fc532
NB
51222002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
5123
5124config/h8300:
5125 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
5126 SUBTARGET_SPEC.
5127 * rtems.h: Similarly.
5128 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
5129 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
5130 (TARGET_CPU_CPP_BUILTINS): Use.
5131
ab780373
RH
51322002-06-02 Richard Henderson <rth@redhat.com>
5133
5134 * alias.c: Include target.h.
5135 (mark_constant_function): Use targetm.binds_local_p instead
5136 of checking TREE_PUBLIC ourselves.
5137 * Makefile.in (alias.o): Add TARGET_H.
5138
b9305c66
NB
51392002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
5140
5141 * c-lex.c: Update copyright and file description.
5142
0ac3e0c4
NB
51432002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
5144
5145 * config/fr30/fr30.h: Update to new CPP macros.
5146
be3a1d46
NB
51472002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
5148
5149 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
5150
ceeedfc1 51512002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
a8fd5963 5152 Zack Weinberg <zack@codesourcery.com>
ceeedfc1
NB
5153
5154 * c-common.c (c_common_init): Override cpplib's default
5155 warn_long_long setting.
5156 * c-lex.c (lex_number): Replace with interpret_integer,
5157 interpret_float, narrowest_unsigned_type and
5158 narrowest_signed_type, taking advantage of the new
5159 cpplib functionality.
5160 * cpperror.c (_cpp_begin_message): If a warning is turned
5161 into an error, avoid printing "warning:".
5162 * cppexp.c (cpp_num_sign_extend): New.
5163 * cppinit.c: Update comment.
5164 * cpplib.h (cpp_num_sign_extend): New.
5165 * tree.h: Update comment.
5166
27e511e0
GDR
51672002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
5168
5169 * diagnostic.h (struct diagnostic_context): Add new member
33005162 5170 internal_error.
27e511e0
GDR
5171 (internal_error_function): Remove declaration.
5172 * diagnostic.c (internal_error_function): Remove definition..
5173 (internal_error): Adjust use.
5174
818b6b7f
RH
51752002-06-02 Richard Henderson <rth@redhat.com>
5176
5177 * rtl.h (CC0_P): New.
5178 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
5179 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
5180 (bypass_block): Save old dest block for dump text.
5181 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
5182 Allow only true SET insns, not single_set.
5183
167143a0
GDR
51842002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
5185
5186 * diagnostic.c (diagnostic_finish): Rename to output_flush.
5187 (clear_disgnostic_info): Rename to output_clear_data. Use false
5188 instead of 0 for boolean value.
5189 Adjust function call throughout.
5190
eae4bc56
JH
5191Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
5192
5193 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
5194 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
5195
9eb404a0
NB
51962002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
5197
5198 * d30v.h (CPP_PREDEFINES): Replace with
5199 (TARGET_CPU_CPP_BUILTINS): New.
5200
53e8b0b8
RS
52012002-06-02 Roger Sayle <roger@eyesopen.com>
5202
5203 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
5204
92e34b67
JH
5205Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
5206
5207 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
5208
e7e9d242
RH
52092002-06-02 Richard Henderson <rth@redhat.com>
5210
5211 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
5212
9af145ae
MM
52132002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
5214
5215 Support for C++ constructors/destructors.
5216 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
5217 instead of looping if main() returns.
5218 (asm_file_start): Output global symbols that cause .data and .bss
5219 initialization code to be linked in, unconditionally for now.
5220 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
5221 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
5222 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
5223 (LIBSTDCXX): New.
5224 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
5225 (__tablejump__): New.
5226 (__do_copy_data, __do_clear_bss): New.
5227 (__do_global_ctors, __do_global_dtors): New.
5228 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
5229 _ctors, _dtors.
5230
0d66ad57
NB
52312002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
5232
5233 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
5234 (CPP_SPEC, CPP_PREDEFINES): Kill.
5235 * c4x/rtems.h (CPP_PREDEFINES): Kill.
5236 (TARGET_OS_CPP_BUILTINS): New.
5237
5c856b23
JH
5238Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
5239
5240 * Makefile.in (tracer.o): New.
5241 * params.def (TRACER_*): New options.
5242 * rtl.h (tracer): Declare.
5243 * timevar.def (TV_TRACER): New.
5244 * toplev.c (dump_file_index): Add DFI_tracer.
5245 (dump_file_info): Add tracer.
5246 (flag_tracer): New.
5247 (lang_indepdenent_options): Add tracer.
5248 (rest_of_compilation): Call tracer.
5249 * tracer.c: New file.
5250 * invoke.texi (-ftracer): Document.
5251 (--param tracer-*): Document.
5252
e2405951
DB
52532002-06-01 Daniel Berlin <dberlin@dberlin.org>
5254
5255 * tree-inline.c (expand_call_inline): Make the statement
33005162 5256 expression we generate have a COMPOUND_STMT.
e2405951 5257
0e3f0221
RS
52582002-06-01 Roger Sayle <roger@eyesopen.com>
5259
5260 * gcse.c (cprop_cc0_jump): Function deleted.
5261 (cprop_jump): Take an additional argument which is the possibly
5262 NULL cc setting insn immediately before the conditional jump.
5263 When a MODE_CC set is present, substitute it into the JUMP_INSN
5264 before attempting the constant propagation.
5265 (cprop_insn): Recognize cc setters followed by conditional jumps
5266 as a special case. Use cprop_jump instead of cprop_cc0_jump.
5267 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
5268 (find_bypass_set): New function based upon find_avail_set used by
5269 cprop, but finds constant expressions available at the end of
5270 basic blocks.
5271 (bypass_block): New function. Given a basic block that begins
5272 with a conditional jump and multiple incoming edges, perform
5273 the jump bypass optimization.
5274 (bypass_conditional_jumps): New function. Call bypass_block with
5275 each suitable basic block in the CFG using a simple single pass.
5276
378393da
RS
52772002-06-01 Roger Sayle <roger@eyesopen.com>
5278
5279 * tree.c (real_minus_onep): New function to test for -1.0.
5280 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
5281
01c58f26
RS
52822002-06-01 Roger Sayle <roger@eyesopen.com>
5283
5284 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
5285 and "!p && !q" into "(p|q) == 0" under suitable conditions.
5286
91b12472
AJ
52872002-06-01 Andreas Jaeger <aj@suse.de>
5288
5289 * cppexp.c (cpp_classify_number): Cast precission to int for
5290 correct printf format.
5291
01e9ae86
MM
52922002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
5293
5294 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
5295 expected, but don't really exist: atmega83, atmega85, attiny10.
5296 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
5297 emulations for all devices.
5298 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
5299 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
5300
be1e06df
KH
53012002-06-01 Kazu Hirata <kazu@cs.umass.edu>
5302
5303 * config/h8300/h8300-protos.h: Add a prototype for
5304 h8300_shift_needs_scratch_p.
5305 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
5306 * config/h8300/h8300.h (OK_FOR_R): New.
5307 (OK_FOR_S): Likewise.
5308 (OK_FOR_T): Likewise.
5309 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
5310 * config/h8300/h8300.md (anonymous shift patterns): Use
5311 constraints R, S, and T.
5312
2ecfd709
ZD
5313Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5314
5315 * basic-block.h (struct basic_block_def): New field loop_father.
5316 (BB_VISITED): New flag.
5317 (struct loop): New field pred, removed field shared.
5318 (struct loops): New field parray.
5319 (LOOP_EXITS_DOMS): Removed.
5320 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
5321 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
5322 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
5323 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
5324 verify_loop_structure): Declare.
5325 * cfg.c (entry_exit_blocks): Initialize loop_father field.
5326 * cfganal.c (dfs_enumerate_from): New function.
5327 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
5328 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
5329 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
5330 flow_loop_dump, flow_loops_dump, flow_loops_free,
5331 flow_loop_tree_node_add, flow_loop_level_compute,
5332 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
5333 flow_loop_outside_edge_p): Modified for new infrastructure.
5334 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
5335 redirect_edge_with_latch_update, flow_loop_free): New static functions.
5336 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
5337 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
5338 find_common_loop, verify_loop_structure, loop_latch_edge,
5339 loop_preheader_edge): New functions.
5340 (flow_loops_cfg_dump): Do not show dominators, as this information
5341 does not remain up to date long.
5342 (flow_loops_find): Store results in new format.
5343 * predict.c (propagate_freq, estimate_probability,
5344 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
5345 infrastructure.
5346
d9763749 53472002-06-01 Alan Lehotsky <apl@alum.mit.edu>
91b12472 5348
d9763749
AL
5349 * except.c (nothrow_function_p): Walk epilogue delay list
5350 checking the insn, not the chain for potential throws.
91b12472 5351
1e730c5c
ZW
53522002-05-31 Zack Weinberg <zack@codesourcery.com>
5353
5354 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
5355 (install): Refer to install-cpp directly.
5356 (uninstall-cpp): Folded into uninstall rule.
5357 * configure.in: Delete all code relating to --disable-cpp.
5358 * configure: Regenerate.
5359 * config/t-install-cpp: Delete.
5360
6f9b006d
RH
53612002-05-31 Richard Henderson <rth@redhat.com>
5362
5363 * configure.in (HAVE_AS_TLS): Add alpha tests.
5364 * configure: Rebuild.
5365 * config/alpha/alpha.c (TARGET_AS_TLS): New.
5366 (alpha_tls_size, alpha_tls_size_string): New.
5367 (overide_options): Set it. Always install machine_status hooks.
5368 (input_operand): Accept got tls predicates.
5369 (local_symbol_p): Merge into ...
5370 (local_symbolic_operand): ... here. Reject tls symbols.
5371 (global_symbolic_operand): Likewise.
5372 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
5373 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
5374 (tp16_symbolic_operand, tp32_symbolic_operand): New.
5375 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
5376 (alpha_encode_section_info): Handle TLS symbols.
5377 (alpha_strip_name_encoding): Likewise.
5378 (alpha_legitimate_address_p): Likewise.
5379 (alpha_legitimize_address): Likewise.
5380 (alpha_expand_mov): Early exit to avoid nop moves.
5381 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
5382 (alpha_init_machine_status, alpha_mark_machine_status,
5383 alpha_free_machine_status): Always define.
5384 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
5385 (print_operand, print_operand_address): Add TLS relocs.
5386 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
5387 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
5388 (TARGET_SWITCHES): Add -mtls-kernel.
5389 (alpha_tls_size, alpha_tls_size_string): New.
5390 (TARGET_OPTIONS): Add -mtls-size=.
5391 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
5392 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
5393 (ASM_OUTPUT_LABELREF): Skip %.
5394 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
5395 (PREDICATE_CODES): Update.
5396 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
5397 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
5398 UNSPEC_TP, UNSPECV_SET_TP): New.
5399 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
5400 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
5401 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
5402 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
5403 (call_value_osf_2_er): Accept anything as op4.
5404 * config/alpha/alpha-protos.h: Update.
5405 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
5406
39e5db1a
ZW
54072002-05-31 Zack Weinberg <zack@codesourcery.com>
5408
5409 * cppinit.c (append_include_chain): Always pay attention to
5410 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
5411 marker on argument.
5412
41077ce4
KH
54132002-05-31 Kazu Hirata <kazu@cs.umass.edu>
5414
5415 * target.h: Fix formatting.
5416 * timevar.h: Likewise.
5417 * tlink.c: Likewise.
5418 * toplev.c: Likewise.
5419 * toplev.h: Likewise.
5420 * tree.c: Likewise.
5421 * tree-dump.h: Likewise.
5422 * tree.h: Likewise.
5423 * tree-inline.h: Likewise.
5424 * unroll.c: Likewise.
5425 * unwind-dw2.c: Likewise.
5426 * unwind-dw2-fde.c: Likewise.
5427 * unwind-dw2-fde-glibc.c: Likewise.
5428 * unwind-dw2-fde.h: Likewise.
5429 * unwind.h: Likewise.
5430 * unwind-sjlj.c: Likewise.
5431 * varasm.c: Likewise.
5432 * varray.h: Likewise.
5433 * vmsdbg.h: Likewise.
5434 * vmsdbgout.c: Likewise.
5435 * xcoffout.h: Likewise.
5436
b2e426a0
IS
54372002-05-31 Igor Shevlyakov <igor@microunity.com>
5438
1e730c5c 5439 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
b2e426a0
IS
5440 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
5441
8b968bd1
MW
54422002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
5443
5444 * gcc.c (cpp_unique_options): Remove "-d" options.
5445 (cpp_debug_options): New spec string.
5446 (default_compilers): Use it.
5447 * objc/lang-specs.h: Likewise.
5448
5c35940c
NN
54492002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
5450
1e730c5c 5451 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
5c35940c
NN
5452 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
5453 * gcc/mklibgcc.in: Likewise.
5454 * gcc/config/arc/t-arc: Likewise.
5455 * gcc/configure.in: Likewise.
5456 * gcc/configure: Regenerate.
5457
8b496ceb
SS
54582002-05-31 Stan Shebs <shebs@apple.com>
5459 Turly O'Connor <turly@apple.com>
5460
5461 * c-decl.c (struct binding_level): Change int field n_incomplete
5462 to tree list incomplete_list.
5463 (clear_binding_level): Init field with NULL.
5464 (pushdecl): Add incomplete type to list.
5465 (mark_binding_level): Mark the incomplete list.
5466 (finish_struct): Scan the incomplete list for types instead
5467 of all decls in the current binding level.
5468
4722213d
JDA
54692002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
5470
5471 * pa.c (output_millicode_call): Add missing '%' characters.
5472 (output_call): Likewise.
5473
1086fcb1
DE
54742002-05-31 David Edelsohn <edelsohn@gnu.org>
5475
5476 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
5477 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
5478
afdfb380 54792002-05-31 Alan Lehotsky <apl@alum.mit.edu>
91b12472 5480
afdfb380
AL
5481 * varasm.c (mark_constant_pool): Walk epilogue delay list
5482 checking the insn, not the chain for potential constants.
1e730c5c 5483
f2df45f6
R
5484Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
5485
5486 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
5487
91ea38f9
JH
5488Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
5489
5490 * i386.c (classify_argument): Properly handle base types.
5491
5492 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
5493 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
5494 registers.
5495
10d1bb36
JH
5496Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
5497
5498 * gcse.c (gcse_emit_move_after): New.
5499 (pre_delete, hoist_store): Use it.
5500
5501 * reload1.c (emit_input_reload_insns): Use constrain_operands
5502 instead of constraint_accepts_reg_p to verify optimization.
5503 (constraint_accepts_reg_p): Kill
5504
5505 * reload1.c (reload_cse_delete_noop_set): Kill.
5506 (reload_cse_simplify): use delte_insn_and_edges.
5507
8a72fb76
ZD
55082002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5509
5510 * cfgloop.c (flow_loops_find): Initialize first and last fields
5511 correctly.
5512
a9da2e5b
NB
55132002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
5514
5515 * c-common.c (builtin_define_std): Correct logic.
5516
6248c4dd
JDA
55172002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
5518
5519 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
5520 (output_call): Likewise.
5521
d499455b
JDA
55222002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
5523
5524 * pa.c: Move output.h include after tree.h include.
5525 (pa_asm_output_mi_thunk): Constify identifier lab.
5526
2eb2901a
JT
55272002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
5528
5529 * config/ns32k/ns32k.h: Define named constants for the
5530 bits in target_flags and use them.
5531 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
5532
806bf413
JDA
55332002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
5534
5535 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
5536 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
5537 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
5538 default scheduling model.
5539 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
5540 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
5541 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
5542 * doc/install.texi (hppa*-*-*): Document default scheduling.
5543
6d8d2bbc
JDA
55442002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
5545
5546 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
5547
c8eb9785
JT
55482002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
5549
5550 * config.gcc (ns32k-*-netbsd*): Set tm_file to
5551 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
5552 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
5553 netbsd.h, or netbsd-aout.h.
5554
6e2e5b6a
JT
55552002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
5556
5557 * longlong.h (count_trailing_zeros): Add missing \, and clean up
5558 whitespace in __ns32000__ case.
5559
00182e1e
AH
55602002-05-31 Aldy Hernandez <aldyh@redhat.com>
5561
1e730c5c
ZW
5562 * expr.c (expand_expr): Output partially zeroed out vectors with
5563 output_constant_def.
00182e1e 5564
b4eb03fe
JT
55652002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
5566
5567 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
5568 (sh-*-netbsdelf*)
5569 (shl*-*-netbsdelf*): New targets.
5570 * config/sh/netbsd-elf.h: New file.
8fd0df91 5571 * config/sh/t-netbsd: New file.
b4eb03fe 5572
261376e7
RH
55732002-05-30 Richard Henderson <rth@redhat.com>
5574 Eric Botcazou <ebotcazou@multimania.com>
5575
5576 PR optimization/6822
5577 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
5578 to unsigned int for op1 comparisons. Use gen_int_mode.
5579
ce60bf25
EB
55802002-05-30 Eric Botcazou <ebotcazou@multimania.com>
5581
5582 * expmed.c (const_mult_add_overflow_p): New.
5583 * expr.h: Declare it.
5584 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
5585 Don't eliminate the biv if the giv has a constant multiplier and
5586 the rhs argument of the comparison does satisfy the predicate.
5587 Use expand_mult_add to compute the replacement constant.
5588
d18b1ed8
OS
55892002-05-30 Osku Salerma <osku@iki.fi>
5590
5591 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
5592 (c_common_get_alias_set): Handle it.
5593 * doc/extend.texi: Document it.
5594
a7943381
RH
55952002-05-30 Richard Henderson <rth@redhat.com>
5596
5597 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
5598 * toplev.c (process_options): Don't check it.
5599 * doc/tm.texi: Don't document it.
5600 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
5601 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
5602 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
5603 frame pointer optimization if current_function_profile.
5604
e11e816e
KH
56052002-05-30 Kazu Hirata <kazu@cs.umass.edu>
5606
5607 * langhooks.c: Fix formatting.
5608 * langhooks.h: Likewise.
5609 * lcm.c: Likewise.
5610 * libgcc2.c: Likewise.
5611 * lists.c: Likewise.
5612 * local-alloc.c: Likewise.
5613 * loop.c: Likewise.
5614 * loop.h: Likewise.
5615
56162002-05-30 Marc Espie <espie@openbsd.org>
5617
5618 * config.gcc (sparc64-*-openbsd*): New.
5619 * config/sparc/openbsd1-64.h: New.
5620 * config/sparc/openbsd64.h: New.
91f0fcee 5621
d35dfca9
JL
56222002-05-30 Jeff Law <law@redhat.com>
5623
5624 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
5625 a dead insn with a REG_RETVAL note when the entire libcall is not
5626 dead and remove the associated REG_LIBCALL note at the same time.
5627
81b40b72
R
5628Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
5629
5630 * lcm.c (output.h): #include.
5631 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
5632 as an ordinary block.
5633 (optimize_mode_switching): Don't pretend that the exit block is
5634 an ordinary block, or handle sucessors of entry block specially.
5635 Instead, split edges from entry block and to exit block, and
5636 put a computing definition on the thus gained post-entry-block,
5637 and a need on the pre-exit-block.
5638
c8ea9a0f
JH
5639Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
5640
5641 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
5642 * rtl.texi: Document 'B'
5643
348f0869
JT
56442002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
5645
5646 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
5647 at run-time.
5648 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
5649
9a171fcd
AH
56502002-05-30 Aldy Hernandez <aldyh@redhat.com>
5651
1e730c5c
ZW
5652 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
5653 const0_rtx instead of NULL_RTX when in error.
5654 (altivec_expand_abs_builtin): Same.
5655 (rs6000_expand_binop_builtin): Same.
5656 (altivec_expand_predicate_builtin): Same.
5657 (altivec_expand_stv_builtin): Same.
5658 (rs6000_expand_ternop_builtin): Same.
5659 (altivec_expand_builtin): Same.
9a171fcd 5660
62a35e60
DM
56612002-05-29 David S. Miller <davem@redhat.com>
5662
5663 * rtl.h (clear_emit_caches): Delete.
5664 * integrate.c (output_inline_function): Don't call it.
5665 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
5666 (clear_emit_caches): Delete definition.
5667 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
5668
cbc39da8
HPN
56692002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
5670
5671 * config/mmix/mmix.c: Include real.h.
5672 (mmix_constant_address_p): Remove redundant test before switch.
5673
50efa737
JT
56742002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
5675
5676 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
5677 only if not already defined.
5678
2e760b15
KH
56792002-05-29 Kazu Hirata <kazu@cs.umass.edu>
5680
5681 * config/h8300/h8300-protos.h: Remove prototypes for
5682 ok_for_bclr and small_power_of_two.
5683 * config/h8300/h8300.c (small_power_of_two): Remove.
5684 (ok_for_blcr): Likewise.
5685 (fix_bit_operand): Make WHAT deal with an integer instead of a
5686 constraint character.
5687 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
5688 (CONST_OK_FOR_P): Likewise.
5689 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
5690 CONST_OK_FOR_P any more.
5691 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
5692 of fix_bit_operand.
5693 (iorqi3): Likewise.
5694 (xorqi3): Likewise.
5695
e1c293ae
JT
56962002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
5697
5698 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
5699 (CPP_PREDEFINES): Make sure this is undefined.
5700 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
5701 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
5702 or -U__MIPSEB__ before defining one or the other. Instead,
5703 use %(subtarget_endian_default) if neither -EB nor -EL are
5704 specified.
5705 (SUBTARGET_EXTRA_SPECS): Define.
5706 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
5707 %(netbsd_cpp_spec).
5708
fde6d81f
HPN
57092002-05-29 Hans-Peter Nilsson <hp@axis.com>
5710
5711 * doc/md.texi (Patterns): Note pattern condition pitfall
5712 for unnamed insn.
5713
92898235
AH
57142002-05-29 Aldy Hernandez <aldyh@redhat.com>
5715
1e730c5c
ZW
5716 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
5717 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
5718 ternary operations from here...
5719 (rs6000_expand_builtin): ...to here.
5720 New argument expandedp.
5721 Change all instances of altivec_expand_binop_builtin to
5722 rs6000_expand_binop_builtin.
5723 (altivec_expand_unop_builtin): Rename to
5724 rs6000_expand_unop_builtin.
5725 (altivec_expand_binop_builtin): Rename to
5726 rs6000_expand_binop_builtin.
5727 (altivec_expand_ternop_builtin): Rename to
5728 rs6000_expand_ternop_builtin.
92898235 5729
67adf6a9
RH
57302002-05-29 Richard Henderson <rth@redhat.com>
5731
5732 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
5733 (TARGET_BI_ARCH): Likewise.
5734 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
5735 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
5736 (TARGET_64BIT_DEFAULT): Default to 0.
5737 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
5738
145aacc2
RH
57392002-05-29 Richard Henderson <rth@redhat.com>
5740
5741 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
5742 (get_pc_thunk_name): New.
5743 (output_set_got): Use it.
5744 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
5745 into linkonce sections.
5746
a5b49bbc
JT
57472002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
5748
5749 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
5750 (CPP_PREDEFINES): Make sure this is undefined.
5751 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
5752 (CPP_SUBTARGET_SPEC): Don't provide different versions for
5753 default-32 and default-64. Just always use %(netbsd_cpp_spec).
5754 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
5755 cpp_subtarget_spec64. Add netbsd_cpp_spec.
5756 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
5757 (CPP_PREDEFINES): Make sure this is undefined.
5758 (SUBTARGET_EXTRA_SPECS): Define.
5759 (CPP_SPEC): Use %(netbsd_cpp_spec).
5760
54374491
JL
57612002-05-29 Jeff Law <law@redhat.com>
5762
ae02eae8
JL
5763 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
5764
b862c2aa
JL
5765 * flow.c (propagate_one_insn): Do not remove a dead insn if it
5766 contains a REG_RETVAL note.
5767
d10791ba
JL
5768 * haifa-sched (sched_analyze): Remove another useless clearing
5769 of SCHED_GROUP_P I missed yesterday.
5770
54374491
JL
5771 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
5772 * pa.c (pa_asm_output_mi_thunk): New function.
5773 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
5774
92c392e6
NB
57752002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
5776 Marek Michalkiewicz <marekm@amelek.gda.pl>
5777
5778 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
5779 (avr_asm_only_p): Make non-static.
5780 (enum avr_arch): Remove.
5781 (avr_arch_types): New.
5782 (avr_mcu_types): Update.
5783 (avr_override_options): Use avr_arch_types table instead of switch.
5784 * avr.h (CPP_PREDEFINES): Die.
5785 (avr_base_arch_macro, avr_extra_arch_macro): New.
5786 (TARGET_CPU_CPP_BUILTINS): New.
5787 (CPP_SPEC, EXTRA_SPECS): Simplify.
5788 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
5789 CPP_AVR5_SPEC): Die.
5790
4528173e
JT
57912002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
5792
5793 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
5794 NETBSD_OS_CPP_BUILTINS_AOUT.
5795 (SUBTARGET_EXTRA_SPECS): Define.
5796 (CPP_SPEC): Use %(netbsd_cpp_spec).
5797
bd09bdeb
RH
57982002-05-29 Richard Henderson <rth@redhat.com>
5799
5800 * config/i386/i386.c (ix86_output_function_epilogue): New.
5801 (TARGET_ASM_FUNCTION_EPILOGUE): New.
5802 (pic_label_name): Remove.
5803 (pic_labels_used): New.
5804 (ix86_asm_file_end): Emit one pc load stub for each register used.
5805 (output_set_got): Generate deep pc load to any register.
5806 (ix86_select_alt_pic_regnum): New.
5807 (ix86_save_reg): Don't save pic register if we can find a valid
5808 call-clobbered replacement.
5809 (ix86_expand_prologue): If we found a valid replacement, renumber
5810 pic_offset_table_rtx.
5811 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
5812 pic_offset_table_rtx after reload.
5813 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
5814 * config/i386/i386.md (set_got): Make insn, not expander.
5815 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
5816
002ff5bc
RH
58172002-05-29 Richard Henderson <rth@redhat.com>
5818
5819 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
5820 alignment for alloca.
5821
edfe8595
RH
58222002-05-29 Richard Henderson <rth@redhat.com>
5823
5824 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
5825 (print_operand_address): Only add rip for symbolic addresses
5826 for which we do not have another relocation type.
5827
cd7714ee
JT
58282002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
5829
5830 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
5831 (EXTRA_SPECS): Add netbsd_cpp_spec.
5832 (CPP_SPEC): Use %(netbsd_cpp_spec).
5833 (CPP_PREDEFINES): Remove.
5834 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
5835 (EXTRA_SPECS): Define.
5836 (CPP_SPEC): Use %(netbsd_cpp_spec).
5837 (CPP_PREDEFINES): Remove.
5838
8dc901de
NB
58392002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
5840
5841 PR preprocessor/6844
5842 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
5843 NUL.
5844
2274b31a
EC
58452002-05-29 Eric Christopher <echristo@redhat.com>
5846
5847 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
5848 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
5849
5c7666c1
NC
58502002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
5851
5852 * config/fr30/fr30.md: Remove previous restriction on splits.
5853 Enforce conformance through gen_lowpart and cont_int_operand.
1e730c5c 5854 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
5c7666c1
NC
5855 as the assembler does not support ".bss".
5856
45beef47
JT
58572002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
5858
5859 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
5860 (CPP_PREDEFINES): Remove.
5861 (SUBTARGET_EXTRA_SPECS): Define.
5862 (CPP_SPEC): Use %(netbsd_cpp_spec).
5863 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
5864 (CPP_PREDEFINES): Remove.
5865 (SUBTARGET_EXTRA_SPECS): Define.
5866 (CPP_SPEC): Use %(netbsd_cpp_spec).
5867 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
5868 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
5869 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
5870 Add netbsd_cpp_spec.
5871 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
5872
cd7ab83f
NB
58732002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
5874 Zack Weinberg <zack@codesourcery.com>
5875
5876 * cppexp.c (cpp_num): Move to cpplib.h.
5877 (CPP_ERROR): Remove.
5878 (interpret_float_suffix, interpret_int_suffix): New.
5879 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
5880 (cpp_classify_number, cpp_interpret_integer): New.
5881 (interpret_number): Remove.
5882 (eval_token): Update to use new routines.
5883 * cpphash.h (cpp_num_part): Move to cpplib.h.
5884 * cppinit.c (cpp_post_options): Set warn_long_long.
5885 * cpplib.h (struct cpp_options): Add warn_long_long.
5886 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
5887 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
5888 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
5889 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
5890 cpp_interpret_integer): New.
5891
61a8515c
JS
58922002-05-29 Joel Sherrill <joel@OARcorp.com>
5893
5894 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
5895
53a428b5
JT
58962002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
5897
5898 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
2274b31a
EC
5899 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
5900 (CPP_SUBTARGET_SPEC): Define.
5901 (SUBTARGET_EXTRA_SPECS): Define.
53a428b5
JT
5902 (CPP_SPEC): Remove.
5903
45b1f7c7
CL
59042002-05-29 Chris Lattner <sabre@nondot.org>
5905
1e730c5c
ZW
5906 * ssa.c (rename_insn_1): Rename uses of undefined registers to
5907 prevent confusion if/when the register is defined.
45b1f7c7 5908
049746c2
HPN
59092002-05-29 Hans-Peter Nilsson <hp@axis.com>
5910
5911 PR target/6838
5912 * config/cris/cris.md: Fix typos and thinkos in comments.
5913 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
5914 second alternative.
5915 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
5916 ("*mov_sideqi_mem"): Similar, but for operand 3.
5917 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
5918 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
5919 Remove spurious mode specifier on operand 2.
5920
4d4d89e2
KH
59212002-05-29 Kazu Hirata <kazu@cs.umass.edu>
5922
5923 * config/h8300/h8300-protos.h: Remove the prototype for
5924 o_operand.
5925 Add prototypes for single_one_operand and single_zero_operand.
5926 * config/h8300/h8300.c (o_operand): Remove.
5927 (single_one_operand): New.
5928 (single_zero_operand): Likewise.
5929 (print_operand): For 'V' operand, and the operand with 0xff.
5930 For 'V' and 'W' operands, do not and the bit position with 7.
5931 * config/h8300/h8300.md (various anonymous patterns): Replace
5932 use of exact_log2 with single_one_operand/single_zero_operand.
5933
abd6ddec
UW
59342002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
5935
5936 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
5937
da06d85a
UW
59382002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
5939
5940 * config/s390/s390.c (legitimate_pic_operand_p): Do not
5941 accept symbolic LARL operands.
2274b31a 5942 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
da06d85a 5943 epilogue insns.
2274b31a 5944
f8766020
HP
59452002-05-29 Hartmut Penner <hpenner@de.ibm.com>
5946
5947 * config/s390/s390.md (cmpstr_64/31): Mark whole
2274b31a 5948 input registers as used.
f8766020 5949
66edd3b4
RH
59502002-05-28 Richard Henderson <rth@redhat.com>
5951
5952 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
5953 not current_function_uses_pic_offset_table and
5954 current_function_uses_const_pool; examine current_function_profile.
5955 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
5956 input to blockage if needed.
5957 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
5958 (legitimize_pic_address): Likewise. Set regs_ever_live for
5959 pic_offset_table_rtx when invoked during reload.
5960 * config/i386/i386.h (FINALIZE_PIC): Remove.
5961 * config/i386/i386.md (tablejump): Reformat. Do not set
5962 current_function_uses_pic_offset_table.
5963 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
5964 (blockage): Accept anything as operand 0.
5965
52f4fff6
JT
59662002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
5967
5968 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
5969 common CPP built-ins for all NetBSD a.out targets.
5970 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
5971 common CPP built-ins for all NetBSD ELF targets.
5972 * config/netbsd.h: Add missing notice.
5973 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
5974 for all NetBSD targets.
5975 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
5976 for all NetBSD targets using an LP64 code model.
5977 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
5978 NetBSD targets.
5979
e0e577a2
RH
59802002-05-28 Richard Henderson <rth@redhat.com>
5981
5982 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
5983 update if UPDATE_LIFE_LOCAL.
5984
59852002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
62526ec3
TM
5986
5987 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
5988
f1a58d92 5989Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1e730c5c 5990 Jason R. Thorpe <thorpej@wasabisystems.com>
f1a58d92
R
5991
5992 config/sh reorganization to factor out endianness and coff:
5993
5994 * config/sh/little.h: New file.
1e730c5c
ZW
5995 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
5996 defined, define to 0 to select big-endian.
f1a58d92 5997 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
1e730c5c
ZW
5998 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
5999 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
6000 * config/sh/t-be: New file.
6001 * config/sh/t-le: New file.
f1a58d92
R
6002
6003 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
6004 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
6005 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
6006 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
6007 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
6008 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
6009 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
6010 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
6011 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
6012 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
6013 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
6014 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
6015 (LINK_SPEC): Define to SH_LINK_SPEC.
6016 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
6017 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
6018 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
6019 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
6020 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
6021 * config/sh/coff.h: New file.
6022 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
6023 (TARGET_OBJFMT_CPP_BUILTINS): Define.
6024 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
6025 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
6026 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
6027 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
6028 (PTRDIFF_TYPE): Likewise.
6029 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
6030 (CPP_PREDEFINES): Don't define.
6031 (TARGET_OBJFMT_CPP_BUILTINS): Define.
6032 (LINK_SPEC): Define to SH_LINK_SPEC.
6033 (LINK_EMUL_PREFIX): Redefine.
6034 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
6035 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
6036 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
6037 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
6038 (TARGET_OS_CPP_BUILTINS): Define.
6039 (TARGET_DEFAULT): Redefine.
6040 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
6041 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
6042 (LINK_SPEC): Don't redefine.
6043 (LINK_DEFAULT_CPU_EMUL): Redefine.
6044 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
6045 * sh.c (sh_asm_named_section): Don't declare / define.
6046 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
6047 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
6048 (sh64-*-elf* tm_file): Likewise.
6049 (sh-*-rtemself* tm_file): Likewise.
6050 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
6051 (sh-*-linux* tmake_file): Add sh/t-le.
6052 (sh-*-rtems* tm_file): Add sh/coff.h
6053 (sh-*-* tm_file): Likewise.
6054
6055Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
6056
6057 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
6058 CONSTANT_POOL_ADDRESS_P.
6059
6060 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
6061
d10791ba 60622002-05-28 David Edelsohn <edelsohn@gnu.org>
33a3dfc4
DE
6063 Jeff Law <law@redhat.com>
6064
64de6c0a
DE
6065 * optabs.c (expand_binop): Fix nwords sign warnings.
6066 generate pseudo for add_optab.
6067
33a3dfc4
DE
6068 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
6069 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
6070
972957ba 60712002-05-28 Marc Espie <espie@openbsd.org>
33a3dfc4 6072
2274b31a 6073 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
972957ba
ME
6074 inherited from gas.h.
6075 (ASM_QUAD): Undef. OpenBSD does not support it.
6076
cc92b8ab
DS
60772002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
6078
6079 * doc/install.texi (binaries): Change mingw binaries
6080 link to www.mingw.org.
6081
f8088d55
ZD
60822002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6083
6084 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
6085
0b7ae565
RH
60862002-05-28 Richard Henderson <rth@redhat.com>
6087
6088 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
6089 bottom alignment for leaf functions.
6090
16069d69
ZW
60912002-05-28 Zack Weinberg <zack@codesourcery.com>
6092
6093 * config/pa/milli32.S, config/pa/lib1funcs.asm,
6094 config/sparc/sol2-g1.asm: Delete unused files.
6095
04653686
RH
60962002-05-28 Richard Henderson <rth@redhat.com>
6097
6098 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
6099
f3ea5f6a
RH
6100 * flow.c (calculate_global_regs_live): Rename call_used to
6101 invalidated_by_call. Initialize from regs_invalidated_by_call
6102 instead of call_used_regs.
6103
923c7cdf
RH
6104 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
6105 DECL_EXTERNAL.
6106
11ad4784
ZW
61072002-05-28 Zack Weinberg <zack@codesourcery.com>
6108
8abbd76a
ZW
6109 * tree.h: Don't include real.h.
6110 Forward-declare struct realvaluetype.
11ad4784
ZW
6111 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
6112 contain it.
6113 (TREE_REAL_CST_PTR): New accessor.
6114 (TREE_REAL_CST): Update.
6115 * real.h: Include machmode.h.
2274b31a 6116 (realvaluetype): Make it struct realvaluetype, not a typedef.
11ad4784
ZW
6117 (build_real): Prototype here.
6118
6119 * tree.c: Include real.h.
2274b31a
EC
6120 (build_real): Allocate the REAL_VALUE_TYPE as a separate
6121 object in GC memory, set TREE_REAL_CST_PTR to point to it.
11ad4784
ZW
6122 (build_real_from_int_cst): Use build_real.
6123 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
6124 REAL_CST.
6125
6126 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
6127 fold-const.c, print-tree.c, real.c: Include real.h.
6128 * Makefile.in: Update dependency lists.
6129
bf77398c
ZD
61302002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6131
6132 * basic-block.h (last_basic_block): Declare.
6133 (expunge_block_nocompact): Declaration removed.
6134 (compact_blocks): Declare.
6135 * cfg.c (last_basic_block): New variable.
6136 (expunge_block_nocompact): Removed.
6137 (expunge_block): Do not compact basic blocks.
6138 (compact_blocks): New.
6139 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
6140 longer change.
6141 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
6142 last_basic_block.
6143 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
6144 real positions of blocks.
6145 (delete_unreachable_blocks): Simplified -- quadratic behavior now
6146 cannot occur.
6147 (cleanup_cfg): Compact blocks.
6148 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
6149 basic_block_info varray.
6150 (flow_delete_block): Comment update.
6151 (back_edge_of_syntactic_loop_p): Modify position check code.
6152 (verify_flow_info): Update checking.
6153 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
6154 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
6155 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
6156 indices no longer change.
6157 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
6158 last_basic_block.
6159 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
6160 * profile.c (branch_prob): Compact blocks.
6161 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
6162 last_basic_block.
6163
ae12a094
KH
61642002-05-28 Kazu Hirata <kazu@cs.umass.edu>
6165
6166 * config/h8300/h8300.md (two anonymous patterns): New.
6167
c6172f14
DM
61682002-05-28 David S. Miller <davem@redhat.com>
6169
6170 * config/sparc/sparc.md (cpu): Tidy.
6171 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
6172 'trap'.
6173 (in_call_delay): Delete reference to 'return' type.
6174 (eligible_for_return_delay, in_return_delay, define_delay
6175 referencing those): Delete.
6176 (rest of file): Use new type attributes as appropriate.
6177 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
6178 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
6179 * config/sparc/ultra1_2.md (us1_single): New reservation.
6180 (us1_ialuX): Likewise.
6181 * config/sparc/ultra3.md (us3_single): Likewise.
6182 (us3_ialuX): Likewise.
6183 (us3_imul, us3_idiv): Tweak.
2274b31a 6184
34a6c2ec
RH
61852002-05-28 Richard Henderson <rth@redhat.com>
6186
6187 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
6188 STRING_CST.
6189
9c075570
RH
61902002-05-28 Richard Henderson <rth@redhat.com>
6191
6192 * config.gcc: Obsolete mn10200.
6193
359b0bec
NB
61942002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
6195
6196 * cppexp.c (interpret_number): Optimize for single-digit
6197 and less-than-half-precision cases.
6198 (num_trim, num_positive, num_div_op): Cast constants.
6199
4075db8f
BT
62002002-05-27 Bo Thorsen <bo@suse.de>
6201
6202 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
6203 3.1 branch. The file was made by Jakub Jelinek.
6204 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
6205 support so multilib doesn't break. And don't define this at all
6206 when -Dinhibit_libc is used.
6207 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
6208 * config/i386/t-linux64: Implement full multilib support. Patch
6209 originally done by Andreas Jaeger and Jakub Jelinek.
6210
39f2f3c8
RS
62112002-05-27 Roger Sayle <roger@eyesopen.com>
6212
6213 * c-common.c: Add support for __attribute__((nothrow)) to specify
6214 that a function cannot throw an exception (using TREE_NOTHROW).
6215 (handle_nothrow_attribute): New function to process this attribute.
6216
6217 * doc/extend.texi: Document the new nothrow function attribute.
6218
d51b0053
L
62192002-05-27 H.J. Lu (hjl@gnu.org)
6220
6221 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
6222 (num_positive): Likewise.
6223 (num_div_op): Likewise.
6224
630363b4
NB
62252002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
6226
6227 * c-common.c (c_common_init): Always use intmax_t.
6228
d94cde01
NB
62292002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
6230
6231 * c-common.c (c_common_init): Use intmax_t for now.
6232
57f851a3
AH
62332002-05-24 Andrew Haley <aph@redhat.com>
6234
6235 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
6236 if T is a boolean type.
6237
d55bc081
ZD
62382002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6239
6240 * basic-block.h (last_basic_block): Defined as synonym for
6241 n_basic_blocks.
6242 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
6243 flow_depth_first_order_compute, flow_preorder_transversal_compute,
6244 flow_dfs_compute_reverse_init): Replaced relevant occurences of
6245 n_basic_blocks with last_basic_block.
6246 * cfgbuild.c (make_edges): Likewise.
6247 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
6248 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
6249 * combine.c (combine_instructions): Likewise.
6250 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
6251 iterative_dataflow_bitmap): Likewise.
6252 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
6253 calc_idoms, idoms_to_doms): Likewise.
6254 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
6255 Likewise.
6256 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
6257 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
6258 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
6259 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
6260 delete_null_pointer_checks, compute_code_hoist_vbeinout,
6261 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
6262 compute_store_table, build_store_vectors): Likewise.
6263 * haifa-sched.c (sched_init): Likewise.
6264 * ifcvt.c (if_convert): Likewise.
6265 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
6266 pre_edge_lcm, compute_available, compute_nearerout,
6267 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
6268 Likewise.
6269 * predict.c (estimate_probability, process_note_prediction,
6270 note_prediction_to_br_prob): Likewise.
6271 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
6272 * recog.c (split_all_insns, peephole2_optimize): Likewise.
6273 * regrename.c (copyprop_hardreg_forward): Likewise.
6274 * resource.c (init_resource_info): Likewise.
6275 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
6276 init_regions, schedule_insns): Likewise.
6277 * ssa-ccp.c (ssa_const_prop): Likewise.
6278 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
6279 * ssa.c (compute_dominance_frontiers,
6280 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
6281
6282 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
6283 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
6284 sizes consistently.
6285
71d2c5bd
JH
6286Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
6287
6288 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
6289 new.
6290 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
6291 hoist_insn_after, hoist_insn_to_edge): New.
6292
5149f070
JH
6293Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
6294
6295 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
6296 (PROP_FINAL): Include.
6297 * flow.c (life_analysis, update_life_info,
6298 init_propagate_block_info, mark_set_1, mark_used_rgs):
6299 Support SCAN_DEAD_STORE.
6300
c9220e3a
NB
63012002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
6302
6303 * c-common.c (c_common_init): Set CPP arithmetic precision.
6304 * cppexp.c (cpp_num_part): Move typedef ...
6305 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
6306 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
6307 (sanity_checks): Update.
6308
e34a3d31
GK
63092002-05-26 Geoffrey Keating <geoffk@redhat.com>
6310
6311 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
6312 (mkheaders): New rule.
6313 (install-mkheaders): New rule.
6314 * configure.in (all_outputs): Add mkheaders.
6315 * configure: Regenerate.
6316 * mkheaders.in: New file.
6317
9059e33c
JJ
63182002-05-26 Jakub Jelinek <jakub@redhat.com>
6319
6320 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
6321
291cc0fe
AJ
63222002-05-26 Andreas Jaeger <aj@suse.de>
6323
6324 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
6325
91318908
NB
63262002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
6327
6328 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
6329 right_shift): Remove.
6330 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
6331 HIGH_PART): New.
6332 (struct op): Use cpp_num.
6333 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
6334 num_part_mul, num_unary_op, num_binary_op, num_negate,
6335 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
6336 num_div_op, num_lshift, num_rshift, append_digit): New.
6337 (interpret_number, parse_defined, eval_token, reduce): Update
6338 for two-integer arithmetic.
6339 (binary_handler): New typedef.
6340 (optab): Update.
6341 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
6342 (_cpp_parse_expr, reduce): Update to handle two-integers.
6343 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
6344
331ca350
MM
63452002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
6346
6347 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
6348 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
6349 branch insn into account, do not assume 1.
6350 (avr_out_sbxx_branch): New function. Optimize cases of skipping
6351 over single word insn. Handle upper half of I/O space too.
6352 * config/avr/avr.md (*sbrx_branch): Use it.
6353 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
6354 (*sbix_branch, *sbix_branch_bit7): Likewise.
6355 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
6356 Use RTL peepholes to optimize register operand sign tests.
6357
bcb6a2be
MM
63582002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
6359
6360 * config/avr/avr.c (avr_asm_only_p): New variable.
6361 (avr_override_options): Set it here if AVR1.
6362 (asm_file_start): Test it here, report an error if set.
6363
ca7fd9cd
KH
63642002-05-26 Kazu Hirata <kazu@cs.umass.edu>
6365
6366 * alias.c: Fix formatting.
6367 * attribs.c: Likewise.
6368 * bb-reorder.c: Likewise.
6369 * bitmap.c: Likewise.
6370 * bitmap.h: Likewise.
6371 * builtins.c: Likewise.
6372
a65dc37d
JH
6373Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
6374
6375 * reload.c (find_valid_class): Accept new argument DEST,
6376 choose class accordingly.
6377 (push_reload): Update callers.
6378
9b89393b
AJ
63792002-05-26 Andreas Jaeger <aj@suse.de>
6380
6381 * combine.c (combine_instructions): Do not indent #if for
6382 traditional C.
6383
b53bb376
RH
63842002-05-25 Richard Henderson <rth@redhat.com>
6385
6386 * c-pragma.c (apply_pragma_weak): Convert value identifier to
6387 string for decl_attributes.
6388 (handle_pragma_weak): Call assemble_alias if we're modifying
6389 an existing decl.
6390
e133041b
RH
63912002-05-25 Richard Henderson <rth@redhat.com>
6392
6393 PR target/6788
6394 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
6395 using rtl instead of fprintf.
6396 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
6397 * config/sparc/sparc-protos.h: Update.
6398
81a75f0f
NB
63992002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
6400
6401 * Makefile.in (C_COMMON_H): Fix.
6402 Update other targets.
6403 * c-common.c: Don't include c-lex.h.
6404 (builtin_define_with_value): Make static and prototype.
6405 (builtin_define_std): Move from c-lex.h.
6406 * c-common.h (init_c_lex): Move from c-lex.h.
6407 * c-decl.c: Don't include c-lex.h.
6408 (make_pointer_declarator): Move from c-parse.in.
6409 * c-lex.c: Don't include c-lex.h.
6410 * c-lex.h: Remove.
6411 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
6412 (make_pointer_declarator): Move to c-decl.c.
6413 * c-pragma.c: Don't include c-lex.h.
6414 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
6415 * c-tree.h (make_pointer_declarator): New.
6416doc:
6417 * passes.texi, tm.texi: Update.
6418objc:
6419 * Make-lang.in: Update and correct.
6420 * objc-act.c: Don't include c-lex.h or cpplib.h.
6421treelang:
6422 * treetree.c: Don't include c-lex.h.
6423config:
6424 * darwin-c.c: Don't include c-lex.h.
6425 * c4x/c4x-c.c: Don't include c-lex.h.
6426 * c4x/t-c4x: Update.
6427 * i370/i370-c.c: Don't include c-lex.h.
6428 * i370/t-i370: Update.
6429 * i960/i960-c.c: Don't include c-lex.h.
6430 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
6431 * i960/t-960bare: Update.
6432 * i960/t-vxworks: Update.
6433 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
6434 * rs6000/t-darwin: Update.
6435 * rs6000/t-rs6000-c-rule: Update.
6436 * v850/v850-c.c: Don't include c-lex.h.
6437 * v850/v850.c: Don't include c-lex.h or cpplib.h.
6438
6439
04d2be8e
KH
64402002-05-25 Kazu Hirata <kazu@cs.umass.edu>
6441
6442 * tree.def: Fix typos.
6443 * doc/install.texi: Likewise.
6444
7b6e506e
RH
64452002-05-25 Richard Henderson <rth@redhat.com>
6446
6447 * configure.in (HAVE_AS_TLS): Add ia64 test.
6448 * configure: Rebuild.
6449 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
6450 (override_options): Set it.
6451 (TARGET_HAVE_TLS): New.
6452 (sdata_symbolic_operand): Look for 's'.
6453 (tls_symbolic_operand): New.
6454 (ia64_expand_load_address): Abort for tls symbols.
6455 (gen_tls_get_addr): New.
6456 (gen_thread_pointer): New.
6457 (ia64_expand_move): Split out from movdi. Handle tls symbols.
6458 (rtx_needs_barrier): Add new unspecs.
6459 (ia64_encode_section_info): Handle tls symbols.
6460 (ia64_strip_name_encoding): Strip two encoding chars.
6461 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
6462 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
6463 (TARGET_OPTIONS): Add tls-size.
6464 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
6465 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
6466 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
6467 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
6468 (movsf, movdf): Likewise.
6469 (movdi_symbolic): Use match_scratch. Don't split if we won't
6470 have a scratch availiable.
6471 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
6472 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
6473 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
6474 * config/ia64/ia64-protos.h: Update.
6475 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
6476 sdata_symbolic_operand.
6477 (ASM_OUTPUT_LABELREF): Strip two characters.
6478
8c1d52a3
KH
64792002-05-25 Kazu Hirata <kazu@cs.umass.edu>
6480
6481 * combine.c (simplify_set): Remove an unnecessary subreg.
6482
b47cae3d
MM
64832002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
6484
6485 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
6486
6487 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
6488
ce9e3a6d
GDR
64892002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
6490
6491 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
6492
fb2c6841
RS
64932002-05-25 Roger Sayle <roger@eyesopen.com>
6494
6495 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
6496 (cond (compare x y) 0) into the equivalent (cond x y).
6497
da7ac8f1
GDR
64982002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
6499
6500 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
6501
c7bdf0a6
ZW
65022002-05-24 Zack Weinberg <zack@codesourcery.com>
6503
6504 * config.gcc: Remove all stanzas for previously obsoleted
6505 systems. Where necessary, add explicit error stanzas to
6506 prevent removed systems from being misidentified as something
6507 else. Begin a fresh obsoletions list, with the systems that
6508 were reprieved last round.
6509 * doc/install.texi: Remove all mention of dead targets.
6510 * fixinc/mkfixinc.sh: Likewise.
6511
6512 * config/arm/arm.h: Bit 31 of target_flags is no longer
6513 reserved.
6514
6515 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
6516 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
6517 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
6518 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
6519 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
6520 config/alpha/osf12.h, config/alpha/osf2or3.h,
6521 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
6522 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
6523 config/clipper/clipper-protos.h, config/clipper/clipper.c,
6524 config/clipper/clipper.h, config/clipper/clipper.md,
6525 config/clipper/clix.h, config/convex/convex-protos.h,
6526 config/convex/convex.c, config/convex/convex.h,
6527 config/convex/convex.md, config/convex/fixinc.convex,
6528 config/convex/proto.h, config/elxsi/elxsi-protos.h,
6529 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
6530 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
6531 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
6532 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
6533 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
6534 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
6535 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
6536 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
6537 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
6538 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
6539 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
6540 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
6541 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
6542 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
6543 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
6544 config/m68k/altos3068.h, config/m68k/apollo68.h,
6545 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
6546 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
6547 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
6548 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
6549 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
6550 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
6551 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
6552 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
6553 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
6554 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
6555 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
6556 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
6557 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
6558 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
6559 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
6560 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
6561 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
6562 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
6563 config/mips/dec-osf1.h, config/mips/elflorion.h,
6564 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
6565 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
6566 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
6567 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
6568 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
6569 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
6570 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
6571 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
6572 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
6573 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
6574 config/ns32k/sequent.h, config/ns32k/tek6000.h,
6575 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
6576 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
6577 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
6578 config/sparc/rtems.h, config/we32k/we32k-protos.h,
6579 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
6580 Delete file.
6581
755ac5d4
RH
65822002-05-24 Richard Henderson <rth@redhat.com>
6583
6584 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
6585 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
6586 * config/i386/i386.c (tls_model_chars): Add leading space.
6587 (tls_symbolic_operand): Don't bias by 1.
6588 (legitimize_address): Don't unbias by 1.
6589
c429f12e
TM
65902002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
6591
6592 * lcm.c (optimize_mode_switching): Change bb used as indices
6593 to bb->index.
6594
8beda321
RH
65952002-05-24 Richard Henderson <rth@redhat.com>
6596
6597 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
6598 of update_life_info_in_dirty_blocks.
6599
90442291
JJ
66002002-05-24 Jakub Jelinek <jakub@redhat.com>
6601
6602 PR other/6782
6603 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
6604
3620711b
NB
66052002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
6606
6607 PR preprocessor/6780
6608 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
6609
2f8d482e
JB
66102002-05-24 Jim Blandy <jimb@redhat.com>
6611
6612 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
6613 entry with a type code of zero, marking the end of the compilation
6614 unit's macro info.
6615
95bfe95f
RH
66162002-05-24 Richard Henderson <rth@redhat.com>
6617
c7bdf0a6
ZW
6618 * varasm.c (asm_output_bss): Always output one byte.
6619 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 6620
7efda054
BM
66212002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
6622
6623 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
6624 namespace.
6625
8a951190
AJ
66262002-05-24 Andreas Jaeger <aj@suse.de>
6627
6628 * ggc-page.c (alloc_page): Cast variables of type size_t to
6629 unsigned long, adjust printf format string.
6630 (ggc_alloc): Likewise.
6631 (ggc_print_statistics): Likewise.
6632 (ggc_print_statistics): Correct printf format string for SCALE to
6633 use unsigned long.
6634
f29e2ec0
DS
66352002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
6636
6637 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
6638
211a0cbe 66392002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 6640 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
6641
6642 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
6643 quoted strings.
6644 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 6645 directive in assembly file.
211a0cbe
GDR
6646 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
6647 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
6648 * config/pj/pj.h (ASM_FILE_START): Likewise.
6649 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
6650 * config/avr/avr.c (asm_file_end): Likewise.
6651 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 6652 char.
211a0cbe
GDR
6653 * toplev.h (output_clean_symbol_name): Declare
6654 * toplev.c (output_clean_symbol_name): Define.
6655 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
6656 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
6657
2f0552b6
AM
66582002-05-24 Alan Modra <amodra@bigpond.net.au>
6659
6660 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
6661
b326b2c1
VM
66622002-05-23 Vladimir Makarov <vmakarov@redhat.com>
6663
6664 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
6665 of size of unsigned.
6666
f996902d
RH
66672002-05-23 Richard Henderson <rth@redhat.com>
6668
6669 * configure.in (HAVE_AS_TLS): New test.
6670 * config.in, configure: Rebuild.
6671 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
6672 (ix86_tls_dialect_string, ix86_tls_dialect): New.
6673 (override_options): Set it.
6674 (tls_model_chars, tls_symbolic_operand): New.
6675 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
6676 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
6677 (local_exec_symbolic_operand): New.
6678 (get_pic_label_name): Merge into output_set_got.
6679 (ix86_asm_file_end): Emit pic_label_name if defined.
6680 (legitimate_constant_p, constant_address_p): New.
6681 (legitimate_pic_operand_p): New.
6682 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
6683 (legitimate_address_p): Likewise.
6684 (ix86_encode_section_info): Rename from i386_; handle tls decls.
6685 (ix86_strip_name_encoding): New.
6686 (get_thread_pointer): New.
6687 (legitimize_address): Handle tls symbols.
6688 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
6689 Remove UNSPEC_PLT.
6690 (struct machine_function): Add some_ld_name.
6691 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
6692 (print_operand) [&]: Use it. Handle UNSPEC_TP.
6693 (output_addr_const_extra): New.
6694 (maybe_get_pool_constant): New.
6695 (ix86_split_to_parts): Use it.
6696 (ix86_expand_move): Handle tls symbols.
6697 (ix86_tls_get_addr): New.
6698 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
6699 (TARGET_OPTIONS): Add tls-dialect.
6700 (CONSTANT_ADDRESS_P): Use new out-of-line function.
6701 (LEGITIMATE_CONSTANT_P): Likewise.
6702 (LEGITIMATE_PIC_OPERAND_P): Likewise.
6703 (TARGET_STRIP_NAME_ENCODING): New.
6704 (ASM_OUTPUT_LABELREF): New.
6705 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
6706 (OUTPUT_ADDR_CONST_EXTRA): New.
6707 (PREDICATE_CODES): Update.
6708 (ix86_tls_dialect, ix86_tls_dialect_string): New.
6709 * config/i386/i386.md: Regroup and renumber unspec constants.
6710 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
6711 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
6712 (tls_global_dynamic, tls_local_dynamic_base): New.
6713 (tls_local_dynamic_once): New.
6714 * config/i386/i386-protos.h: Update.
6715
821e35ba
RH
67162002-05-23 Richard Henderson <rth@redhat.com>
6717
6718 * genemit.c (gen_insn): Print file:lineno comment before function.
6719 (main): likewise.
6720 * gensupport.c (struct queue_elem): Add filename member.
6721 (queue_pattern): Initialize it; update all callers.
6722 (process_include): Don't free filename.
6723 (read_md_rtx): Set read_rtx_filename.
6724
0f1ffa23 67252002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
6726
6727 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 6728
8e9fadc3
RH
67292002-05-23 Richard Henderson <rth@redhat.com>
6730
6731 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
6732
244c2241
RH
67332002-05-23 Richard Henderson <rth@redhat.com>
6734
6735 * doc/extend.texi (C++98 Thread-Local Edits): Update with
6736 commentary from Mark.
6737
e0082a72
ZD
67382002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6739
6740 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
6741 Use FOR_EACH_BB macros to iterate over basic block chain.
6742 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
6743 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
6744 Likewise.
6745 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
6746 find_unreachable_blocks, create_edge_list, verify_edge_list,
6747 remove_fake_edges, add_noreturn_fake_exit_edges,
6748 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
6749 Likewise.
6750 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
6751 find_sub_basic_blocks): Likewise.
6752 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
6753 Likewise.
6754 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
6755 Likewise.
6756 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
6757 Likewise.
6758 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
6759 commit_edge_insertions, commit_edge_insertions_watch_calls,
6760 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
6761 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
6762 * conflict.c (conflict_graph_compute): Likewise.
6763 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
6764 df_modified_p, df_refs_unlink, df_dump): Likewise.
6765 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
6766 * final.c (compute_alignments): Likewise.
6767 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
6768 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
6769 count_or_remove_death_notes): Likewise.
6770 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
6771 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
6772 classic_gcse, compute_transp, cprop, compute_pre_data,
6773 compute_transpout, invalidate_nonnull_info,
6774 delete_null_pointer_checks_1, delete_null_pointer_checks,
6775 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
6776 compute_store_table, build_store_vectors, store_motion): Likewise.
6777 * global.c (global_conflicts, mark_elimination): Likewise.
6778 * graph.c (print_rtl_graph_with_bb): Likewise.
6779 * haifa-sched.c (sched_init): Likewise.
6780 * ifcvt.c (if_convert): Likewise.
6781 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
6782 compute_available, compute_nearerout, compute_rev_insert_delete,
6783 optimize_mode_switching): Likewise.
6784 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
6785 * predict.c (estimate_probability, note_prediction_to_br_prob,
6786 propagate_freq, counts_to_freqs, expensive_function_p,
6787 estimate_bb_frequencies): Likewise.
6788 * profile.c (instrument_edges, get_exec_counts,
6789 compute_branch_probabilities, compute_checksum, branch_prob,
6790 find_spanning_tree): Likewise.
6791 * recog.c (split_all_insns, peephole2_optimize): Likewise.
6792 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
6793 Likewise.
6794 * regclass.c (scan_one_insn, regclass): Likewise.
6795 * regmove.c (mark_flags_life_zones, regmove_optimize,
6796 record_stack_memrefs): Likewise.
6797 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
6798 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
6799 * resource.c (find_basic_block): Likewise.
6800 * sched-ebb.c (schedule_ebbs): Likewise.
6801 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
6802 find_single_block_region, find_rgns, schedule_insns)
6803 * sibcall.c (optimize_sibling_and_tail_recursive_call)
6804 * ssa-ccp.c (optimize_unexecutable_edges,
6805 ssa_ccp_df_delete_unreachable_insns): Likewise.
6806 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
6807 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
6808 rename_block, convert_to_ssa, compute_conservative_reg_partition,
6809 compute_coalesced_reg_partition, rename_equivalent_regs,
6810 convert_from_ssa): Likewise.
6811 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
6812 process_for_unwind_directive): Likewise.
6813
6814 * df.c (FOR_ALL_BBS): Removed.
6815 * gcse.c (struct null_pointer_info): Type of current_block field
6816 changed.
6817 (struct reg_avail_info): Type of last_bb field changed.
6818 * config/ia64/ia64.c (block_num): Removed.
6819 (need_copy_state): Type changed.
6820 (last_block): New.
6821
17645b15
NB
68222002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
6823
6824 * cppinit.c (mark_named_operators): Split out from init_builtins.
6825 (cpp_finish_options): Call it from here instead.
6826
79ed7328
JT
68272002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
6828
6829 * builtin-attrs.def: Update copyright years.
6830 (ATTR_NONNULL): New attribute identifier.
6831 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
6832 attribute tree lists.
6833 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
6834 format operand.
6835 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
6836 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
6837 attribute lists. Chain the appropriate nonnull attribute.
6838 * c-format.c (check_format_arg): Remove null format string
6839 warning.
6840 * testsuite/gcc.dg/format/null-1.c: New test.
6841
7d600178
RO
68422002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6843
6844 * Makefile.in (ADAC): Define.
6845 (SYSLIBS): Define.
6846 (.SUFFIXES): Move before language makefile fragments.
6847 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
6848
5ff225fc
MM
68492002-05-23 Mark Mitchell <mark@codesourcery.com>
6850
6851 * varasm.c (make_decl_rtl): Don't allow weak variables to be
6852 placed in common.
6853
0f72964f
JH
6854Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
6855
6856 * cfg.c (dump_flow_info): Print results of
6857 maybe_hot/probably_never_executed predicates.
6858 * toplev.c (open_dump_file): Print function frequency.
6859
c863f8c2
DM
68602002-05-23 David S. Miller <davem@redhat.com>
6861
6862 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
6863 regsets.
6864
b34c7881
JT
68652002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
6866
6867 * c-common.c (warn_nonnull): Declare.
6868 (c_common_attribute_table): Add "nonnull" attribute.
6869 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
6870 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
6871 check_function_arguments_recurse): New functions.
6872 * c-common.h (warn_nonnull): Declare extern.
6873 (check_function_arguments, check_function_arguments_recurse): New
6874 prototypes.
6875 * c-decl.c (c_decode_option): Add -Wnonnull option.
6876 * c-format.c (set_Wformat): Set warn_nonnull if enabling
6877 format checking.
6878 (format_check_context): New structure.
6879 (check_format_info_recurse): Remove recursion and rename to...
6880 (check_format_arg): ...this. Update comment.
6881 (check_format_info): Use check_function_arguments_recurse.
6882 * c-typeck.c (build_function_call): Call check_function_arguments
6883 instead of check_function_format.
6884 * doc/extend.texi: Document "nonnull" attribute.
6885 * doc/invoke.texi: Docuemnt -Wnonnull option.
6886 * testsuite/gcc.dg/nonnull-1.c: New test.
6887 * testsuite/gcc.dg/nonnull-2.c: New test.
6888
95479831
DM
68892002-05-23 David S. Miller <davem@redhat.com>
6890
6891 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
6892 * cfgcleanup.c (cleanup_cfg): If it is set do not
6893 attempt to delete trivially dead insns.
6894 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
6895 * toplev.c (rest_of_compilation): Document non-trivial aspect
6896 the RTL before optimize_save_area_alloca is run.
6897
a97d1398
NB
68982002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
6899
6900 * c-lex.c (indent_level): Remove.
6901 (cb_file_change, c_lex): Remove indent level handling.
6902 * c-lex.h (indent_level): Remove.
6903 * input.h (struct file_stack): Remove indent_level.
6904 * toplev.c (push_srcloc): Remove indent_level handling.
6905
66b408f2
JJ
69062002-05-23 Jakub Jelinek <jakub@redhat.com>
6907
6908 PR target/6753
6909 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
6910 of x in constraints for clarity.
6911 (sse_mov?fcc split): abort if op2 == op3.
6912 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
6913 sse_movsfcc_const0_4): Add earlyclobber.
6914 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
6915 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
6916 Use Y instead of x in constraints.
6917
5bf0ebab
RH
69182002-05-23 Richard Henderson <rth@redhat.com>
6919
9217ef40
RH
6920 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
6921 (C++98 Thread-Local Edits): New subsection.
6922
5bf0ebab
RH
6923 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
6924 (ix86_arch): Set type to enum processor_type.
6925
8a951190 6926 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
6927 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
6928
4832c9e1
JJ
69292002-05-23 Jakub Jelinek <jakub@redhat.com>
6930
6931 * configure.in: Fix as version test for binutils 2.12.1 releases
6932 (without dates).
6933 * configure: Rebuilt.
6934
c8c03509
RH
69352002-05-23 Richard Henderson <rth@redhat.com>
6936
6937 * config/i386/i386.c (get_pic_label_name): New.
6938 (load_pic_register): Remove.
6939 (output_set_got): New.
6940 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
6941 * config/i386/i386.md (UNSPEC_SET_GOT): New.
6942 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
6943 (prologue_set_got, prologue_get_pc): Remove.
6944 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
6945 (builtin_setjmp_receiver): Use gen_set_got.
6946 * config/i386/i386-protos.h: Update.
6947
d51f3632
JH
6948Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
6949
6950 * gcse.c (hash_expr): Do not use alias set for hashing.
6951
b0a93386
KB
69522002-05-22 Kevin Buettner <kevinb@redhat.com>
6953
6954 * dbxout.c (dbxout_class_name_qualifiers): New function.
6955 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
6956
bdee42b1
NB
69572002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
6958
6959 * cpperror.c (_cpp_begin_message): No special casing
6960 of CPP_FATAL_LIMIT.
6961 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
6962 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
6963 * cpplib.c (do_include_common): Use DL_ERROR.
6964 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
6965 (DL_ICE): Renumber.
6966 * fix-header.c (read_scan_file): Update.
6967
0e07aff3
RH
69682002-05-22 Richard Henderson <rth@redhat.com>
6969
6970 * config/i386/i386.c (ix86_expand_call): New function, extracted
6971 from md call patterns. Add pic_offset_table_rtx to
6972 CALL_INSN_FUNCTION_USAGE when needed.
6973 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
6974 (call_value_pop, call_value, untyped_call): Likewise.
6975 (call_exp, call_value_exp): Remove.
6976 * config/i386/i386-protos.h: Update.
6977
6f001fdf
RH
69782002-05-22 Richard Henderson <rth@redhat.com>
6979
6980 * varasm.c (default_section_type_flags): Check for VAR_DECL
6981 before using DECL_THREAD_LOCAL.
6982
cbaaba19
DE
69832002-05-22 David Edelsohn <edelsohn@gnu.org>
6984
6985 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
6986 (STARTFILE_SPEC): Delete PE crt0.o.
6987 * config/rs6000/aix51.h: Same.
6988 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
6989 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
6990 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
6991 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
6992 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
6993
c711ba8e
RH
69942002-05-22 Richard Henderson <rth@redhat.com>
6995
6996 * varasm.c (default_section_type_flags): Handle tls data and
6997 default sections.
6998 (default_unique_section): Handle tls sections.
6999
343f59d9
AM
70002002-05-23 Alan Modra <amodra@bigpond.net.au>
7001
7002 * configure.in (CROSS): Define NATIVE_CROSS.
7003 * configure: Regenerate.
7004 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
7005 (startfile_prefix_spec): New var.
7006 (static_specs): Add startfile_prefix_spec.
7007 (do_spec_2): Split out from..
7008 (do_spec): ..here.
7009 (main): Process startfile_prefix_spec.
7010 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
7011 dynamic linker.
7012 (STARTFILE_PREFIX_SPEC): Define.
7013 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 7014 absolute paths.
343f59d9 7015
df383483
KH
70162002-05-22 Kazu Hirata <kazu@cs.umass.edu>
7017
7018 * cpperror.c: Fix formatting.
7019 * cppexp.c: Likewise.
7020 * cppfiles.c: Likewise.
7021 * cpphash.c: Likewise.
7022 * cpphash.h: Likewise.
7023 * cppinit.c: Likewise.
7024 * cpplex.c: Likewise.
7025 * cpplib.c: Likewise.
7026 * cppmacro.c: Likewise.
7027 * cppmain.c: Likewise.
7028 * cppspec.c: Likewise.
7029
2dd36f90
JJ
70302002-05-22 Jakub Jelinek <jakub@redhat.com>
7031
7032 * combine.c (force_to_mode): Use gen_int_mode.
7033 Don't clear CONST_INT bits outside of mode.
7034
8dc02d7f
RH
70352002-05-22 Richard Henderson <rth@redhat.com>
7036
7037 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
7038 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
7039
45f79783
JJ
70402002-05-22 Jakub Jelinek <jakub@redhat.com>
7041
7042 PR c/6643
7043 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
7044 if DECL_SIZE_UNIT is INTEGER_CST.
7045
19f71cd7
RH
70462002-05-22 Richard Henderson <rth@redhat.com>
7047
7048 * flow.c (life_analysis): Delete broken reg_label check.
7049
d5bcfcce
RH
70502002-05-22 Richard Henderson <rth@redhat.com>
7051
7052 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
7053 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
7054
985d311b 7055Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
7056
7057 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
7058 (embed-bb.c): New rule.
985d311b 7059 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
7060 * config/sh/embed_bb.c: Delete.
7061
985d311b
R
7062Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
7063
7064 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
7065
f6d45746
KH
70662002-05-22 Kazu Hirata <kazu@cs.umass.edu>
7067
7068 * config/h8300/h8300.md (*andorqi3): New.
7069
e5f3b786
NB
70702002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
7071
7072 PR preprocessor/6517
7073 * Makefile.in: Update.
7074 * c-common.c (c_common_post_options): Add preprocessor
7075 errors to the error count.
7076 * c-lang.c (c_post_options): Kill.
7077 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
7078 * hooks.h: Add header guards.
7079 * langhooks-def.h: Include hooks.h.
7080 (LANG_HOOKS_POST_OPTIONS): Update.
7081 * langhooks.h (struct lang_hooks): Update post_options.
7082 * toplev.c (parse_options_and_default_flags): Update.
7083objc:
7084 * objc-lang.c (objc_post_options): Kill.
7085 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
7086
4c526be3
BK
70872002-05-21 Bruce Korb <bkorb@gnu.org>
7088
7089 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
7090 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
7091 * fixinc/fixincl.x: regen.
4c526be3 7092
f87c27b4
KH
70932002-05-21 Kazu Hirata <kazu@cs.umass.edu>
7094
7095 * cfgbuild.c: Fix formatting.
7096 * cfg.c: Likewise.
7097 * cfgcleanup.c: Likewise.
7098 * cfglayout.c: Likewise.
7099 * cfgloop.c: Likewise.
7100 * cfgrtl.c: Likewise.
7101
3d78f2e9
RH
71022002-05-21 Richard Henderson <rth@redhat.com>
7103
7104 * c-common.h (enum rid): Add RID_THREAD.
7105 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
7106 (grokdeclarator): Grok __thread.
7107 * c-parse.in (reswords): Add __thread.
7108 (rid_to_yy): Add RID_THREAD.
7109
7110 * tree.h (DECL_THREAD_LOCAL): New.
7111 (struct tree_decl): Add thread_local_flag.
7112 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
7113 * tree.c (staticp): TLS variables are not static.
7114
7115 * target-def.h (TARGET_HAVE_TLS): New.
7116 * target.h (have_tls): New.
7117 * output.h (SECTION_TLS): New.
7118 * varasm.c (assemble_variable): TLS variables can't be common for now.
7119 (default_section_type_flags): Handle .tdata and .tbss.
7120 (default_elf_asm_named_section): Handle SECTION_TLS.
7121 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
7122
7123 * flags.h (flag_tls_default): Declare.
7124 * toplev.c (flag_tls_default): Define.
7125 (display_help): Display help for it.
7126 (decode_f_option): Set it.
7127
7128 * doc/extend.texi (Thread-Local): New node describing language-level
7129 thread-local storage.
7130 * doc/invoke.texi (-ftls-model): Document.
7131
7132 * fixinc/inclhack.def (thread_keyword): New.
7133 * fixinc/fixincl.x: Rebuild.
7134
a151daf0
JL
71352002-05-21 Jeffrey A Law <law@redhat.com>
7136
8a951190 7137 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
7138 do not compute intermediate results into something that is
7139 not a register (such as a SUBREG or MEM).
7140
a151daf0
JL
7141 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
7142 (ix86_sched_reorder): Make sure to initialize scheduling
7143 data even when there's only one insn in the ready queue.
7144
96b1f73b
VM
71452002-05-21 Vladimir Makarov <vmakarov@redhat.com>
7146
7147 * genautomata.c (reserv_sets_hash_value): Fix a typo.
7148
dceb2b75
VM
71492002-05-21 Vladimir Makarov <vmakarov@redhat.com>
7150
7151 * genautomata.c (reserv_sets_hash_value): Define hash_value as
7152 set_el_t. Transform the hash value into unsigned.
7153 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
7154 (transform_3): Add code to process `(A,B)+(D,E)'.
7155
159d5964
NY
71562002-05-21 NIIBE Yutaka <gniibe@m17n.org>
7157
7158 * reload1.c (do_output_reload): Run delete_output_reload
7159 only if optimizing.
7160
cf5124f6
RS
71612002-05-21 Roger Sayle <roger@eyesopen.com>
7162
7163 PR middle-end/6600
7164 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
7165 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
7166 (can_store_by_pieces): ... and here to limit the largest mode used.
7167 Add a comment to document this function.
7168
380e6ade
RH
71692002-05-21 Richard Henderson <rth@redhat.com>
7170
7171 * flow.c (life_analysis): Fix test for deleted label.
7172
1f95326c
NB
71732002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
7174
7175 * doc/tm.texi: Fix typo.
7176
2a1dc0d8
ZW
71772002-05-21 Zack Weinberg <zack@codesourcery.com>
7178
7179 * c-common.c (c_common_init): Set options->unsigned_char from
7180 flag_signed_char.
7181 (cb_register_builtins): Define __STRICT_ANSI__ and
7182 __CHAR_UNSIGNED__ here...
7183 * cppinit.c (init_builtins): Not here.
7184 (cpp_create_reader): unsigned_char option defaults to 0, not
7185 !DEFAULT_SIGNED_CHAR.
7186 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
7187 and -funsigned-char.
7188
7189 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
7190 * cpphash.c (_cpp_init_hashtable): Don't set it.
7191 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
7192 directly. Clarify comment.
7193
d29146f2 71942002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 7195
f5eb2fc8
ZD
7196 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
7197 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
7198 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
7199 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 7200 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 7201 flow_preorder_transversal_compute): Too.
d29146f2 7202 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
7203 find_sub_basic_blocks): Too.
7204 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 7205 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
7206 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
7207 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
7208 * combine.c (this_basic_block): Type changed to basic_block.
7209 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
7210 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
7211 get_last_value, distribute_notes, distribute_links): Too.
7212 * final.c (compute_alignments): Too.
7213 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
7214 * function.c (thread_prologue_and_epilogue_insns): Too.
7215 * gcse.c (compute_code_hoist_vbeinout): Too.
7216 * global.c (build_insn_chain): Too.
7217 * ifcvt.c (find_if_block, find_cond_trap): Too.
7218 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
7219 * regmove.c (regmove_optimize): Too.
7220 * resource.c (find_basic_block): Too.
7221 * sched-ebb.c (schedule_ebbs): Too.
7222 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 7223
68bd6dd6
AJ
72242002-05-21 Andreas Jaeger <aj@suse.de>
7225
7226 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
7227
35a76aac
RH
72282002-05-21 Richard Henderson <rth@redhat.com>
7229
7230 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
7231 unspec names, not numbers.
7232
2870428f
JM
72332002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
7234
7235 * doc/sourcebuild.texi: Mention snapshot-README and
7236 snapshot-index.html as needing updating for new front ends.
7237
b0ad77d5
KG
72382002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7239
7240 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
7241 disabling checking, and avoid multiple evaluation of RTX.
7242
279be7c8
RE
72432002-05-21 Richard Earnshaw <rearnsha@arm.com>
7244
7245 * bitmap.c (bitmap_find_bit): Return early if we have the correct
7246 element cached.
7247
193a563a
JH
7248Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
7249
7250 * profile.c (gen_edge_profiler): Set alias set before the memory is
7251 used.
7252
31825e57
DM
72532002-05-20 David S. Miller <davem@redhat.com>
7254
7255 * cselib.c (max_value_regs): New.
7256 (cselib_lookup, cselib_invalidate_regno): Initialize it when
7257 adding new entries to the REG_VALUES table and we are dealing with
7258 a hard register.
7259 (clear_table): Initialize it.
7260 (cselib_invalidate_regno): Use it to determine which hard
7261 registers to scan when mode is not VOIDmode.
7262
68bd6dd6 72632002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
7264
7265 * tradcpp.c (fixup_newlines): Use old-style function header.
7266
e0a09fda
KW
72672002-05-20 Krister Walfridsson <cato@df.lth.se>
7268
7269 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
7270
e0c13c70
L
72712002-05-20 H.J. Lu (hjl@gnu.org)
7272
7273 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
7274
7275 * config/mips/mips.h (DFMODE_NAN): Defined.
7276 (SFMODE_NAN): Likewise.
7277
4c11675d 72782002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 7279
2a1dc0d8
ZW
7280 * combine.c (cant_combine_insn_p): Back out my
7281 previous patch.
4c11675d 7282
6a4d6760
KH
72832002-05-20 Kazu Hirata <kazu@cs.umass.edu>
7284
7285 * params.c: Fix formatting.
7286 * params.h: Likewise.
7287 * predict.c: Likewise.
7288 * prefix.c: Likewise.
7289 * print-rtl.c: Likewise.
7290 * print-tree.c: Likewise.
7291 * profile.c: Likewise.
7292
5715ca64
L
72932002-05-20 H.J. Lu (hjl@gnu.org)
7294
7295 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
7296
00b89f01
NC
72972002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
7298
7299 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
7300 switches straight on to the assembler, do not abbreviate them.
7301 * config/arm/elf.h (ASM_SPEC): As above.
7302 * config/arm/semi.h (ASM_SPEC): As above.
7303 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
7304 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
7305 -mcpu=xscale on to the assembler by default.
7306 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
7307
1441374b
RH
73082002-05-20 Richard Henderson <rth@redhat.com>
7309
7310 * cse.c (canon_hash): Reorder do_not_record test. Always
7311 allow pic_offset_table_rtx.
7312
c0fe508e
TM
73132002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
7314
7315 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
7316 (expand_binop): Ditto (3 times).
7317
f362c762
MM
73182002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
7319
7320 * Makefile.in (distclean): Remove QMTest stuff.
7321 (QMTEST_PATH): New variable.
7322 (QMTESTFLAGS): Likewise.
7323 (QMTESTRUNFLAGS): Likewise.
7324 (QMTEST): Likewise.
7325 (QMTEST_GPP_TESTS): Likewise.
7326 (QMTEST_DIR): Likewise.
7327 (QMTEST_DIR/context): New target.
7328 (qmtest-g++): Likeise.
7329 (qmtest-gui): Likewise.
7330 (QMTEST_DIR/gpp-expected.qmr): Likewise.
7331
16861f33
AH
73322002-05-19 Aldy Hernandez <aldyh@redhat.com>
7333
2a1dc0d8
ZW
7334 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
7335 an altivec register if TARGET_ALTIVEC.
16861f33 7336
2a1dc0d8
ZW
7337 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
7338 to ALTIVEC_VECTOR_MODE.
7339 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
7340 (rs6000_va_arg): Vectors may go in registers if they are not
7341 altivec vectors.
16861f33 7342
23459e15
KH
73432002-05-19 Kazu Hirata <kazu@cs.umass.edu>
7344
7345 * protoize.c: Fix formatting.
7346
174cc7d1
RH
73472002-05-19 Richard Henderson <rth@redhat.com>
7348
7349 * gensupport.c (init_include_reader): Merge into ...
7350 (process_include): ... here. Simplify composite path creation.
7351 Plug memory leaks. Fix file/line number tracking. Do not
7352 process_define_cond_exec. Return void.
7353 (process_rtx): Don't check process_include return value.
7354
918ed612
ZD
73552002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7356
7357 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
7358 fields.
7359 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
7360 traversing basic block chain.
7361 (create_basic_block_structure, create_basic_block): Declaration changed.
7362 (link_block, unlink_block): Declare.
7363 * cfg.c (entry_exit_blocks): Initialize new fields.
7364 (link_block, unlink_block): New.
7365 (expunge_block_nocompact): Unlink basic block.
7366 (dump_flow_info): Print prev_bb/next_bb fields.
7367 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
7368 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
7369 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
7370 * cfgrtl.c (create_basic_block_structure, create_basic_block,
7371 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
7372 (verify_flow_info): Check that list agrees with numbering.
7373
e0322d5c
NB
73742002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
7375
7376 * c-common.c (preprocessing_asm): New macro.
7377 * c-lex.h (builtin_define, builtin_assert): Use pfile.
7378doc:
7379 * tm.texi: Update.
7380config/alpha:
7381 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
7382 (CPP_SPEC): Simplify.
7383 (TARGET_CPU_CPP_BUILTINS): Update.
7384 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
7385 (CPP_SPEC): Simplify.
7386 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
7387 (TARGET_OS_CPP_BUILTINS): Update.
7388 * osf.h (CPP_XFLOAT_SPEC): Kill.
7389 (TARGET_OS_CPP_BUILTINS): Update.
7390 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
7391 * osf5.h (CPP_XFLOAT_SPEC): Kill.
7392 * vms.h (CPP_SUBTARGET_SPEC): Kill.
7393 (TARGET_OS_CPP_BUILTINS): Update.
7394
121f5c2c
RH
73952002-05-19 Richard Henderson <rth@redhat.com>
7396
7397 * varasm.c (default_binds_local_p): Fix typo.
7398
651c5ed9
MM
73992002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
7400
7401 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
7402 CONST_INT operand to the correct mode after adding 1 to it.
7403
bce0deb2
MM
74042002-05-19 Mark Mitchell <mark@codesourcery.com>
7405
7406 * config.gcc (powerpc-wrs-windiss*): New target.
7407
4aa74a4f
FS
74082002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7409
7410 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
7411 (ashrdi3): Use it.
7412
a15135c9
MM
74132002-05-18 Mark Mitchell <mark@codesourcery.com>
7414
7415 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
7416 alphasort.
7417 * config.in: Regenerated.
7418 * configure: Regenerated.
7419
47754fd5
RH
74202002-05-19 Richard Henderson <rth@redhat.com>
7421
7422 * target-def.h (TARGET_BINDS_LOCAL_P): New.
7423 * target.h (struct gcc_target): Move boolean fields to the end.
7424 Add binds_local_p.
7425 * varasm.c (default_binds_local_p): New.
7426 * output.h: Declare it.
7427
7428 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
7429 * config/cris/cris.c (cris_encode_section_info): Likewise.
7430 * config/i386/i386.c (i386_encode_section_info): Likewise.
7431 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
7432 * config/sh/sh.c (sh_encode_section_info): Likewise.
7433
7434 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
7435 (TARGET_BINDS_LOCAL_P): New.
7436
fc881338
RH
74372002-05-19 Richard Henderson <rth@redhat.com>
7438
7439 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
7440 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
7441 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
7442
7443 * toplev.c (display_help): Kill -a -ax help.
7444
68bd6dd6 7445 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
7446 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
7447 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
7448 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
7449 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
7450
7451 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
7452 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
7453
7454 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
7455 (ix86_output_function_block_profiler): Kill.
7456 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
7457 (m68hc11_function_block_profiler): Kill.
7458 * config/m68hc11/m68hc11-protos.h: Update.
7459 * config/m88k/m88k.c (output_block_profiler): Kill.
7460 (output_function_block_profiler): Kill.
7461 * config/m88k/m88k-protos.h: Update.
7462
772c5265
RH
74632002-05-19 Richard Henderson <rth@redhat.com>
7464
7465 * system.h (STRIP_NAME_ENCODING): Poison it.
7466 * output.h (STRIP_NAME_ENCODING): Remove.
7467 (default_strip_name_encoding): Declare.
7468 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
7469 * target.h (strip_name_encoding): New.
7470 * varasm.c (default_strip_name_encoding): New.
7471
7472 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
7473 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
7474 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
7475 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
7476 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
7477 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
7478 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
7479 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
7480 config/v850/v850.h: Use the hook, not the macro.
7481
7482 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
7483 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
7484 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
7485 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
7486 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
7487 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 7488 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
7489 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
7490 config/v850/v850.c, config/v850/v850.h:
7491 Move STRIP_NAME_ENCODING to out-of-line function and add
7492 TARGET_STRIP_NAME_ENCODING.
7493
7494 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
7495 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
7496 with TARGET_STRIP_NAME_ENCODING referencing existing function;
7497 make function static.
7498
7499 * xcoffout.c: Include target.h
7500 * Makefile.in (xcoffout.o): Update.
7501
7502 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
7503 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
7504 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
7505 reloc argument unused.
7506 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
7507
7508 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
7509 STRIP_NAME_ENCODING docs.
7510
8f9eb495
AJ
75112002-05-19 Andreas Jaeger <aj@suse.de>
7512
7513 * gengenrtl.c: Add prototype for excluded_rtx.
7514
7515 * real.h: Add prototype for exact_real_truncate.
7516
fb49053f
RH
75172002-05-18 Richard Henderson <rth@redhat.com>
7518
7519 * system.h (ENCODE_SECTION_INFO): Poison it.
7520 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
7521 * target.h (encode_section_info): New.
7522 * varasm.c (make_decl_rtl, output_constant_def): Use it.
7523 * hooks.c (hook_tree_int_void): New.
7524 * hooks.h: Declare it.
7525
7526 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
7527 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
7528 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
7529 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
7530 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
7531 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
7532 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
7533 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
7534 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
7535 config/mcore/mcore-protos.h, config/mcore/mcore.c,
7536 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
7537 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
7538 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
7539 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
7540 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
7541 referencing existing function. Make function static.
7542
7543 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 7544 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
7545 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
7546 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
7547 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 7548 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
7549 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
7550 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
7551 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
7552 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 7553 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
7554 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
7555 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
7556 Move ENCODE_SECTION_INFO to out-of-line function and add
7557 TARGET_ENCODE_SECTION_INFO.
7558
7559 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
7560 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
7561
7562 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
7563 from SUBTARGET_*
7564 (switch_to_section): Replace in_rdata case with in_readonly_data.
7565
7566 * config/h8300/h8300.c (h8300_encode_label): Make static.
7567 * config/h8300/h8300-protos.h: Update.
7568
7569 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
7570 from rs6000_encode_section_info; make static.
7571 (rs6000_xcoff_encode_section_info): New.
7572
7573 * config/v850/v850.c (v850_encode_data_area): Make static.
7574 * config/v850/v850-protos.h: Update.
7575
7576 * config/vax/vax.c: Include flags.h.
7577 (vms_select_section): Fix typo.
7578
7579 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
7580 ENCODE_SECTION_INFO docs.
7581
9fe08fd0
RH
75822002-05-18 Richard Henderson <rth@redhat.com>
7583
7584 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
7585 REGISTER_TARGET_PRAGMAS.
7586 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
7587
410b770f
RH
7588 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
7589
b64a1b53
RH
75902002-05-18 Richard Henderson <rth@redhat.com>
7591
7592 * system.h (SELECT_RTX_SECTION): Poison.
7593 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
7594 * target.h (select_rtx_section): New.
7595 * varasm.c (output_constant_pool): Use it.
7596 (default_select_rtx_section, default_elf_select_rtx_section): New.
7597 * output.h: Declare them.
7598
7599 * config/darwin.h (SELECT_RTX_SECTION): Move ...
7600 * config/darwin.c (machopic_select_rtx_section): ... here.
7601 * config/darwin-protos.h: Update.
7602
7603 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
7604 * config/nextstep.c (machopic_select_rtx_section): ... here.
7605 (nextstep_select_section): Rename variable to avoid macro clash.
7606 * config/nextstep-protos.h: Update.
7607
7608 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
7609 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
7610 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 7611 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
7612 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
7613 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 7614 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
7615 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
7616 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
7617 (SELECT_RTX_SECTION): Remove.
7618
7619 * config/darwin.h, config/elfos.h, config/nextstep.h,
7620 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
7621 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
7622 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
7623 config/sparc/lynx.h, config/xtensa/xtensa.c
7624 (TARGET_ASM_SELECT_RTX_SECTION): New.
7625
7626 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
7627 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
7628 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
7629 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
7630 (ia64_aix_select_rtx_section): New.
7631 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
7632 redefining.
7633 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 7634 Support ELF SHF_MERGE features.
b64a1b53
RH
7635 * config/mips/mips-protos.h: Update.
7636 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
7637 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
7638 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
7639 make static, fall back to default_elf_select_rtx_section.
7640 * config/rs6000/rs6000-protos.h: Update.
7641 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
7642 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
7643 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
7644 * config/romp/romp.c (romp_select_rtx_section): New.
7645 * config/s390/s390.c (s390_select_rtx_section): New.
7646 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
7647 declarations before target macro definition.
7648 (xtensa_emit_call): Use static buffer.
7649 (xtensa_select_rtx_section): New.
7650 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
7651 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
7652 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
7653
7654 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
7655 SELECT_RTX_SECTION docs.
7656
7657Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
7658
7659 * i386.md (movsi/movdi): Fix template.
7660 (sse2 patterns): Set attributes consistently.
7661
7662 * i386.md (pushqi2, ashrqi_*): Fix constraint.
7663
6835a09c
TM
76642002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
7665
7666 * optabs.c (complex_part_zero_p): New.
7667 * (expand_cmplxdiv_straight): Use it.
7668 * (expand_cmplxdiv_wide): Ditto.
7669 * (expand_binop): Ditto.
7670
d48bc59a
RH
76712002-05-18 Richard Henderson <rth@redhat.com>
7672
7673 * final.c (HAVE_READONLY_DATA_SECTION): New.
7674 (shorten_branches): Use it instead of ifdefs.
7675 * varasm.c (enum in_section): Add in_readonly_data.
7676 (text_section, data_section): Tidy.
7677 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
7678
7679 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
7680 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
7681 (READONLY_DATA_SECTION): Don't undef.
7682
7683 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
7684 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
7685 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
7686
7687 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
7688 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
7689 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
7690 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
7691
7692 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
7693 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
7694 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
7695 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
7696 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
7697 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
7698 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
7699 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
7700 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
7701
7702 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
7703 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
7704 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
7705 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
7706 config/pa/pa64-hpux.h, config/sparc/litecoff.h
7707 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
7708
7709 * config/elfos.h, config/netware.h, config/svr3.h,
7710 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
7711 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
7712 config/h8300/h8300.h, config/i386/i386-interix.h,
7713 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
7714 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
7715
7716 * config/elfos.h, config/netware.h, config/svr3.h,
7717 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
7718 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
7719 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
7720 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
7721
7722 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
7723 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
7724 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
7725 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
7726 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
7727 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
7728 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
7729 config/rs6000/sysv4.h, config/v850/v850.h
7730 (EXTRA_SECTIONS): Remove in_const/in_rdata.
7731 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
7732
7733 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
7734 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
7735 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
7736 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
7737 * config/alpha/alpha.c (alpha_start_function): Likewise.
7738 (alpha_write_linkage): Likewise.
7739 * config/m32r/m32r.c (m32r_select_section): Likewise.
7740 * config/m88k/m88k.c (m88k_select_section): Likewise.
7741 * config/mips/mips.c (mips_select_rtx_section): Likewise.
7742 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
7743 (rs6000_elf_select_section): Likewise.
7744 * config/v850/v850.c (v850_select_section): Likewise.
7745
7746 * config/1750a/1750a.h, config/i860/sysv3.h
7747 (READONLY_DATA_SECTION_ASM_OP): New.
7748 READONLY_DATA_SECTION_ASM_OP.
7749 * config/i386/interix.c, config/i386/winnt.c
7750 (i386_pe_unique_section): Always use .rdata prefix.
7751 * config/pa/som.h (readonly_data): Always switch to read-only section.
7752 (READONLY_DATA_SECTION): Predicate on flag_pic.
7753 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
7754 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
7755 (READONLY_DATA_SECTION): Update.
7756
e964a556
JT
77572002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
7758
7759 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 7760 is used without -Wformat.
e964a556
JT
7761 * c-common.h (warn_format_zero_length): Declare extern.
7762 * c-decl.c (warn_options): Add "format-zero-length".
7763 * c-format.c (warn_format_zero_length): Declare.
7764 (set_Wformat): Set warn_format_zero_length for -Wformat.
7765 (check_format_info): Only warn about zero-length formats if
7766 warn_format_zero_length is true. Include the format type
7767 name in the warning message.
7768 * doc/invoke.texi: Document -Wformat-zero-length.
7769 * testsuite/gcc.dg/format/zero-length-1.c: New test.
7770
d92b4486
KH
77712002-05-18 Kazu Hirata <kazu@cs.umass.edu>
7772
7773 * timevar.c: Fix formatting.
7774 * tlink.c: Likewise.
7775 * toplev.c: Likewise.
7776 * tree-dump.c: Likewise.
7777 * tree-inline.c: Likewise.
7778
43612ffb
NB
77792002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
7780
7781 * cppinit.c (cpp_post_options): If preprocessed, turn off
7782 traditional. If traditional, turn off column numbers.
7783 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
7784 * cpptrad.c (handle_newline): Update line_base.
7785 (skip_comment): Handle -Wcomment.
7786
f24a153a
ZW
77872002-05-17 Zack Weinberg <zack@codesourcery.com>
7788
7789 * cppinit.c (struct builtin): Remove unused fields.
7790 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
7791 (operator_array): New - was second half of builtin_array.
7792 (init_builtins): Simplify loop over builtin_array/operator_array.
7793
12403335
NB
77942002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
7795
7796 * defaults.h (UNIQUE_SECTION): Remove.
7797 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
7798
1f8c3c5b
RH
77992002-05-17 Richard Henderson <rth@redhat.com>
7800
7801 * expr.c (init_expr_once): Don't use start/end_sequence.
7802 Use rtx_alloc instead of emit_insn.
7803 * toplev.c (lang_dependent_init): Run init_expr_once here ...
7804 (lang_independent_init): ... not here.
7805
4664f4c4
JT
78062002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
7807
7808 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
7809
93febe68
MM
78102002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
7811
7812 * config/avr/avr.c (avr_regs_to_save): New function. Also check
7813 for fixed registers, possibly used for global register variables.
7814 (initial_elimination_offset, avr_output_function_prologue,
7815 avr_output_function_epilogue): Move common code to avr_regs_to_save.
7816
004cb263
NB
78172002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
7818
7819 * Makefile.in: Update for cpptrad.c.
7820 * cpphash.h (struct cpp_buffer): New members for buffer
7821 overlays.
7822 (struct cpp_reader): New members for traditional output.
7823 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
7824 * cppinit.c (cpp_create_reader): Set trad_line.
7825 (cpp_destroy): Free trad_out_base if used.
7826 (cpp_read_main_file): Overlay an empty buffer if traditional.
7827 (cpp_finish_options): Don't do builtins.
7828 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
7829 (cpp_handle_option): Handle it.
7830 * cpplex.c (continue_after_nul): New.
7831 (_cpp_lex_direct): Use handle_nul.
7832 * cpplib.h (struct cpp_options): New traditional option.
7833 * cpptrad.c: New file.
7834
bdcae02b
NB
78352002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
7836
7837 * c-common.c (c_common_init_options): Use C89 for Objective-C,
7838 and set the options flag.
7839 * cppinit.c (lang_flags): Remove objc.
7840 (lang_defaults): Remove OBJC and OBJCXX.
7841 (set_lang): Update.
7842 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
7843 (cpp_handle_option): Remove -+ and -lang-objc++.
7844 For ObjC, just set a flag.
7845 (print_help): Update.
7846 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
7847
0fca60ab
RO
78482002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7849
7850 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
7851 bootstrap with -mips3.
7852
dd3f0101
KH
78532002-05-17 Kazu Hirata <kazu@cs.umass.edu>
7854
7855 * final.c: Fix formatting.
7856 * fix-header.c: Likewise.
7857 * flow.c: Likewise.
7858 * fold-const.c: Likewise.
7859 * function.c: Likewise.
7860
5ca9299f
DM
78612002-05-17 David S. Miller <davem@redhat.com>
7862
7863 PR c/6689, PR optimization/6615
7864 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
7865 and make it a pointer to rtx. Update comments.
7866 (update_equiv_regs): When scanning for equivalences, record
7867 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
7868 it while making the equiv replacements.
7869
508bc172
RO
78702002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7871
7872 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
7873
5cd983a6
KK
78742002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
7875
7876 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
7877 when encoding visibility into SYMBOL_REF_FLAG.
7878
ce0f3925
RS
78792002-05-17 Richard Sandiford <rsandifo@redhat.com>
7880
7881 * expr.c (force_operand): Fix reversed move.
7882
06809951
GP
78832002-05-17 Kurt Wall <kwall@kurtwerks.com>
7884
7885 * doc/install.texi (Testing): Mention two common DejaGnu warnings
7886 that can be ignored.
7887
78882002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7889
7890 * doc/install.texi (Final install): Recommend to install into a
7891 "clean" target directory.
7892
1d5d7a21
RH
78932002-05-17 Richard Henderson <rth@redhat.com>
7894
7895 * config/ia64/ia64.md: Use braced strings instead of quoted strings
7896 for code blocks. Tidy whitespace.
7897
ae46c4e0
RH
78982002-05-17 Richard Henderson <rth@redhat.com>
7899
7900 * hooks.c (hook_tree_bool_false): New.
7901 * hooks.h: Declare it.
7902 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
7903 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
7904 * target.h (select_section, unique_section): New.
7905 (in_small_data_p): New.
7906 * varasm.c (resolve_unique_section): Use hooks instead of macros.
7907 (variable_section, output_constant_def_contents): Likewise.
7908 (default_select_section, default_unique_section): New.
7909 (categorize_decl_for_section, default_elf_select_section): New.
7910 * output.h: Declare them.
7911
7912 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
7913 (TARGET_ASM_SELECT_SECTION): New.
7914 (SELECT_SECTION): Move ...
7915 * config/darwin.c (machopic_select_section): ... here.
7916 * config/darwin-protos.h: Update.
7917
7918 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
7919 (SELECT_SECTION): Move ...
7920 * config/nextstep.c (nextstep_select_section): ... here.
7921 * config/nextstep-protos.h: Update.
7922
7923 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
7924 (TARGET_ASM_SELECT_SECTION): New.
7925 * config/svr3.h (SELECT_SECTION): Remove.
7926
7927 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
7928 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
7929 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
7930 (alpha_encode_section_info): Use it.
7931 * config/alpha/alpha-protos.h: Update.
7932 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
7933 (SELECT_SECTION, UNIQUE_SECTION): Remove.
7934 (TARGET_ASM_SELECT_SECTION): New.
7935 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
7936
7937 * config/arm/pe.h (UNIQUE_SECTION): Remove.
7938 (TARGET_ASM_UNIQUE_SECTION): New.
7939
7940 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
7941 (avr_unique_section): Rename from unique_section; make static.
7942 * config/avr/avr-protos.h: Update.
7943 * config/avr/avr.h (UNIQUE_SECTION): Remove.
7944
7945 * config/c4x/c4x.h (SELECT_SECTION): Remove.
7946
7947 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
7948 (TARGET_ASM_UNIQUE_SECTION): New.
7949 * config/i386/i386-interix.h: Likewise.
7950 * config/i386/win32.h: Likewise.
7951 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
7952 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
7953 * config/i386/sco5.h (SELECT_SECTION): Remove.
7954 (TARGET_ASM_SELECT_SECTION): New.
7955 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
7956
7957 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
7958 instead of SELECT_SECTION.
7959 * config/m68k/dpx2.h: Likewise.
7960 * config/rs6000/lynx.h: Likewise.
7961
7962 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
7963 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
7964 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
7965 (ia64_in_small_data_p): New.
7966 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
7967 (ia64_aix_select_section, ia64_aix_unique_section): New.
7968 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
7969 (SELECT_SECTION, UNIQUE_SECTION): Remove.
7970
7971 * config/m32r/m32r.h (SELECT_SECTION): Remove.
7972 (TARGET_ASM_SELECT_SECTION): New.
7973 * config/m32r/m32r.c (m32r_select_section): Take align argument.
7974 * config/m32r/m32r-protos.h: Update.
7975
7976 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
7977 (SELECT_SECTION): Move ...
7978 * config/m88k/m88k.c (m88k_select_section): ... here.
7979
7980 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
7981 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
7982 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
7983 (mcore_unique_section): Make static.
7984 * config/mcore/mcore-protos.h: Update.
7985
7986 * config/mips/elf.h (UNIQUE_SECTION): Remove.
7987 (TARGET_ASM_UNIQUE_SECTION): New.
7988 * config/mips/elf64.h: Likewise.
7989 * config/mips/iris6gld.h: Likewise.
7990 * config/mips/linux.h: Likewise.
7991 * config/mips/mips-protos.h: Update.
7992 * config/mips/mips.c (mips_select_section): Add align argument.
7993 * config/mips/mips.h (SELECT_SECTION): Remove.
7994 (TARGET_ASM_SELECT_SECTION): New.
7995
7996 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
7997 * config/mmix/mmix.c (mmix_select_section): Remove.
7998 (mmix_unique_section): Remove.
7999 * config/mmix/mmix-protos.h: Update.
8000
8001 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
8002 (SELECT_SECTION): Move ...
8003 * config/pa/pa.c (pa_select_section): ... here.
8004 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
8005
8006 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
8007 from rs6000_select_section and make static.
8008 (rs6000_elf_unique_section): Similarly.
8009 (rs6000_xcoff_select_section): From xcoff.h.
8010 (rs6000_xcoff_unique_section): Likewise.
8011 * config/rs6000/rs6000-protos.h: Update.
8012 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
8013 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
8014 * config/rs6000/xcoff.h: Likewise.
8015
8016 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
8017 (SELECT_SECTION): Move ...
8018 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
8019
8020 * config/v850/v850.h (SELECT_SECTION): Move ...
8021 * config/v850/v850.c (v850_select_section): ... here.
8022 (TARGET_ASM_SELECT_SECTION): New.
8023
8024 * config/vax/vms.h (SELECT_SECTION): Move ...
8025 * config/vax/vax.c (vms_select_section): ... here.
8026 (TARGET_ASM_SELECT_SECTION): New.
8027
8028 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
8029 for the target hooks.
8030
eaeb23a7
NC
80312002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
8032
8033 * config/arm/arm.c (emit_multi_reg_push): Do not set
8034 RTX_FRAME_RELATED_P on the SEQUENCE.
8035
a00fe19f
RH
80362002-05-16 Richard Henderson <rth@redhat.com>
8037
8038 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
8039 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
8040
5ccff482
RH
80412002-05-16 Richard Henderson <rth@redhat.com>
8042
8043 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
8044
068d7739
RH
8045 * config/ia64/ia64.c (saveable_obstack): Do not declare.
8046
0b17ab2f
RH
80472002-05-16 Richard Henderson <rth@redhat.com>
8048
8049 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
8050 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
8051 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
8052 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
8053 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
8054 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
8055 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
8056 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
8057 Revert "Basic block renumbering removal", and two followup patches.
8058
8ae86b3c
JT
80592002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
8060
8061 * lcm.c (optimize_mode_switching): Revert previous change.
8062
4e9f27af
ZD
80632002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8064
8065 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
8066 with only extant block numbers.
8067
3cdc1dbc
JT
80682002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
8069
8070 * lcm.c (optimize_mode_switching): Fix typo.
8071
fbfb3b09
ZD
80722002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8073
8074 * flow.c (calculate_global_regs_live): Queue blocks in program order.
8075
b4b0fb02
RO
80762002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8077
8078 * doc/install.texi (Configuration): Document PWDCMD.
8079
63b827c5
DJ
80802002-05-16 Dale Johannesen <dalej@apple.com>
8081
8082 * combine.c (cant_combine_insn_p): Reenable combinations
8083 involving hard regs unless CLASS_LIKELY_SPILLED_P.
8084
748d29c1
NB
80852002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
8086
8087 * c-common.c (cb_register_builtins): Handle more built-ins
8088 here rather than in gcc.c specs.
8089 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
8090 (cpp_options): Pass -O flags even when only preprocessing.
8091 * toplev.c (set_fast_math_flags): New prototype.
8092 (fast_math_flags_set_p): New.
8093 (set_no_fast_math_flags): Remove.
8094 (decode_f_option): Update.
8095 * toplev.h (set_fast_math_flags): Update.
8096 (fast_math_flags_set_p): New.
8097 (set_no_fast_math_flags): Remove.
8098config:
8099 * c4x/c4x.c (c4x_override_options): Update.
8100
5279d739
ZW
81012002-05-16 Zack Weinberg <zack@codesourcery.com>
8102
8103 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
8104 Default-define here.
8105 (builtin_define_with_value): Can now wrap the expansion in
8106 quotation marks if such is wanted.
a00fe19f 8107 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
8108 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
8109 here.
8110 (c_common_init): Set options->stdc_0_in_system_headers.
8111 * c-lex.h: Update prototype of builtin_define_with_value.
8112 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
8113 and REGISTER_PREFIX.
8114
8115 * cppinit.c (VERS, ULP, C, X): Kill.
8116 (builtin_array): Remove entries for __VERSION__,
8117 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
8118 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
8119 a constant.
8120 (init_builtins): Kill off a bunch of now-dead code.
8121 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
8122 -fno-leading-underscore.
8123 (cpp_handle_option): Remove code to set user_label_prefix.
8124 (cpp_post_options): Likewise.
8125
8126 * cpplib.h (struct cpp_options): Remove user_label_prefix.
8127 (stdc_0_in_system_headers): New.
8128 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
8129 stdc_0_in_system_headers) too to decide the value of __STDC__.
8130
8131 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 8132 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
8133 (initialize_builtins): Don't define __REGISTER_PREFIX__
8134 or __USER_LABEL_PREFIX__.
8135 (install_value): Wrap compound statement in dummy loop so the
8136 macro works properly in an if statement.
8137
8138
62e6ca55
JJ
81392002-05-16 Janis Johnson <janis187@us.ibm.com>
8140
8141 * loop.h (struct loop_info): Add member has_prefetch.
8142 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
8143 (prescan_loop): Initialize has_prefetch.
8144 (struct prefetch_info): Change prefetch_in_loop and
8145 prefetch_before_loop from bit fields to ints.
8146 (emit_prefetch_instructions): Several small fixes.
8147 (check_dbra_loop): Don't reverse loop that uses prefetch.
8148
1e6347d8
RO
81492002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8150
8151 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
8152 * configure.in: Likewise.
8153 * fixinc/check.tpl: Likewise.
8154 * fixinc/fixinc.dgux: Likewise.
8155 * fixinc/fixinc.svr4: Likewise.
8156 * fixinc/fixinc.winnt: Likewise.
8157 * fixinc/fixincl.sh: Likewise.
8158 * fixproto: Likewise.
8159 * configure: Regenerate.
8160
355e4ec4
ZD
81612002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8162
8163 Basic block renumbering removal:
8164 * basic_block.h (struct basic_block_def): Renamed index to sindex,
8165 added prev_bb and next_bb fields.
8166 (n_basic_blocks): Renamed to num_basic_blocks.
8167 (last_basic_block): New, index of last basic block.
8168 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
8169 traversing basic block chain.
8170 (BLOCK_NUM): index -> sindex.
8171 (create_basic_block_structure, create_basic_block): Declaration changed.
8172 (debug_num2bb): Declare.
8173 (expunge_block_nocompact): Declaration removed.
8174 (link_block, unlink_block, compact_blocks): Declare.
8175 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
8176 * cfg.c (entry_exit_blocks): Initialize new fields.
8177 (clear_edges, alloc_block, expunge_block, cached_make_edge,
8178 redirect_edge_pred, dump_flow_info, dump_edge_info,
8179 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
8180 free_aux_for_edges): Modified.
8181 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
8182 (expunge_block_nocompact): Removed.
8183 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
8184 find_unreachable_blocks, create_edge_list, print_edge_list,
8185 verify_edge_list, flow_edge_list_print, remove_fake_successors,
8186 remove_fake_edges, flow_reverse_top_sort_order_compute,
8187 flow_depth_first_order_compute, flow_preorder_transversal_compute,
8188 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
8189 flow_dfs_compute_reverse_execute): Modified.
8190 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
8191 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
8192 Modified.
8193 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
8194 merge_blocks_move_predecessor_nojumps,
8195 merge_blocks_move_successor_nojumps, merge_blocks,
8196 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
8197 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
8198 * cfglayout.c (skip_insns_after_block, label_for_bb,
8199 record_effective_endpoints, scope_to_insns_finalize,
8200 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
8201 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
8202 cfg_layout_duplicate_bb): Modified.
8203 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
8204 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
8205 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
8206 flow_loops_find, flow_loop_outside_edge_p): Modified.
8207 * cfgrtl.c (create_basic_block_structure, create_basic_block,
8208 flow_delete_block, compute_bb_for_insn, split_block,
8209 try_redirect_by_replacing_jump, redirect_edge_and_branch,
8210 force_nonfallthru_and_redirect, tidy_fallthru_edge,
8211 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
8212 commit_edge_insertions, commit_edge_insertions_watch_calls,
8213 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
8214 purge_all_dead_edges): Modified.
8215 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
8216 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
8217 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
8218 Modified.
8219 * conflict.c (conflict_graph_compute): Modified.
8220 * df.c (FOR_ALL_BBS): Removed.
8221 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
8222 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
8223 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
8224 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
8225 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
8226 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
8227 * final.c (compute_alignments, final_scan_insn): Modified.
8228 * flow.c (verify_local_live_at_start, update_life_info,
8229 update_life_info_in_dirty_blocks, free_basic_block_vars,
8230 delete_noop_moves, calculate_global_regs_live,
8231 initialize_uninitialized_subregs, allocate_bb_life_data,
8232 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
8233 mark_used_reg, count_or_remove_death_notes): Modified.
8234 * function.c (thread_prologue_and_epilogue_insns): Modified.
8235 * gcse.c (struct null_pointer_info): Change typo of current_block
8236 to basic_block.
8237 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
8238 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
8239 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
8240 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
8241 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
8242 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
8243 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
8244 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
8245 pre_delete, one_pre_gcse_pass, compute_transpout,
8246 invalidate_nonnull_info, delete_null_pointer_checks_1,
8247 free_code_hoist_mem, compute_code_hoist_vbeinout,
8248 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
8249 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
8250 compute_store_table, build_store_vectors, insert_insn_start_bb,
8251 insert_store, replace_store_insn, free_store_memory, store_motion):
8252 Modified.
8253 * global.c (global_alloc, global_conflicts, mark_elimination,
8254 build_insn_chain): Modified.
8255 * graph.c (print_rtl_graph_with_bb): Modified.
8256 * haifa-sched.c (sched_init): Modified.
8257 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
8258 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
8259 if_convert): Modified.
8260 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
8261 compute_insert_delete, pre_edge_lcm, compute_available,
8262 compute_farthest, compute_nearerout, compute_rev_insert_delete,
8263 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
8264 Modified.
8265 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
8266 * loop.c (loop_dump_aux): Modified.
8267 * predict.c (combine_predictions_for_insn, estimate_probability,
8268 last_basic_block_p, process_note_prediction, process_note_predictions,
8269 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
8270 expensive_function_p, estimate_bb_frequencies,
8271 compute_function_frequency): Modified.
8272 * print-rtl.c (print_rtx): Modified.
8273 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
8274 get_exec_counts, compute_branch_probabilities, compute_checksum,
8275 branch_prob, find_spanning_tree): Modified.
8276 * recog.c (split_all_insns, peephole2_optimize): Modified.
8277 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
8278 convert_regs_1, convert_regs_2, convert_regs): Modified.
8279 * regclass.c (scan_one_insn, regclass): Modified.
8280 * regmove.c (mark_flags_life_zones, regmove_optimize,
8281 combine_stack_adjustments): Modified.
8282 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
8283 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
8284 * reorg.c (dbr_schedule): Modified.
8285 * resource.c (find_basic_block, init_resource_info): Modified.
8286 * sbitmap.c (sbitmap_intersection_of_succs,
8287 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
8288 sbitmap_union_of_preds): Modified.
8289 * sched-deps.c (init_dependency_caches): Modified.
8290 * sched-ebb.c (schedule_ebbs): Modified.
8291 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
8292 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
8293 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
8294 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
8295 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
8296 ssa_const_prop): Modified.
8297 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
8298 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
8299 * ssa.c (remove_phi_alternative, find_evaluations,
8300 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
8301 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
8302 make_regs_equivalent_over_bad_edges,
8303 make_equivalent_phi_alternatives_equival,
8304 compute_conservative_reg_partition,
8305 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
8306 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
8307 Modified.
8308
5a566bed
MM
83092002-05-16 Mark Mitchell <mark@codesourcery.com>
8310
8311 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
8312
48f6efae
NC
83132002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
8314
8315 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
8316 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
8317 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
8318 calling CONSTANT_POOL_ADDRESS_P.
8319 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
8320 to decide whether to define __arm__ or __thumb.
355e4ec4 8321 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
8322 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
8323
b166fadd
NB
83242002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
8325
8326 * config/arc/arc.h (CPP_PREDEFINES): Remove.
8327 (CPP_SPEC): Update.
8328 (TARGET_CPU_CPP_BUILTINS): New.
8329
601328bb
NB
83302002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
8331
8332 * cpphash.h (cpp_macro): Move here, and make expansion a union.
8333 * cppmacro.c (cpp_macro): Remove.
8334 (enter_macro_context, replace_args, warn_of_redefinition,
8335 _cpp_create_definition, cpp_macro_definition): Update.
8336
ff48be5c
JM
83372002-05-16 Jason Merrill <jason@redhat.com>
8338
8339 * config/mips/mips.c (mips_output_external): Don't do sdata
8340 optimization for a variable with DECL_COMDAT set.
8341
805c42ba
AH
83422002-05-15 Aldy Hernandez <aldyh@redhat.com>
8343
355e4ec4
ZD
8344 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
8345 Cleanups for accepting modifiers on pointers.
8346 Fix predicate typos.
8347 Allow long pointers as well as int pointers.
805c42ba 8348
34fb9ba5
RH
83492002-05-15 Richard Henderson <rth@redhat.com>
8350
8351 * varasm.c (merge_weak): Remove special case for extern and common.
8352
62e118f5
MH
83532002-05-15 Matt Hiller <hiller@redhat.com>
8354
8355 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 8356 XFAILing.
62e118f5
MH
8357 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
8358 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
8359 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
8360 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
8361 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
8362 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
8363
fefac463
AH
83642002-05-15 Aldy Hernandez <aldyh@redhat.com>
8365
355e4ec4 8366 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 8367
5f004351
AH
83682002-05-15 Aldy Hernandez <aldyh@redhat.com>
8369
355e4ec4
ZD
8370 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
8371 ("altivec_mfvscr"): Read from VSCR.
8372
8373 Add vscr sets for the following insns: altivec_vctuxs,
8374 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
8375 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
8376 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
8377 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
8378 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
8379 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
8380 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
8381 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
8382 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
8383 altivec_vsum2sws, altivec_vsumsws.
8384
8385 * config/rs6000/rs6000.h: Add VSCR fixed register.
8386 (CALL_REALLY_USED_REGISTERS): Add vscr.
8387 (CALL_USED_REGISTERS): Same.
8388 (FIXED_REGISTERS): Same.
8389 (REG_ALLOC_ORDER): Same.
8390 (reg_class): Add VSCR_REGS.
8391 (REG_CLASS_NAMES): Same.
8392 (REG_CLASS_CONTENTS): Same.
8393 (VSCR_REGNO): New.
8394 (REGISTER_NAMES): Add vscr.
8395 (DEBUG_REGISTER_NAMES): Same.
8396 (ADDITIONAL_REGISTER_NAMES): Same.
8397 (FIRST_PSEUDO_REGISTER): Increment.
8398 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 8399
033afd11
RH
84002002-05-15 Jakub Jelinek <jakub@redhat.com>
8401
8402 * fold-const.c (fold): Fix a typo.
8403
84042002-05-15 Eric Botcazou <ebotcazou@multimania.com>
8405
8406 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
8407 comparison against the highest or lowest integer value before
8408 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
8409 transformation and that of an unsigned comparison against 0
8410 right after.
8411
14285ace
RH
84122002-05-15 Richard Henderson <rth@redhat.com>
8413
8414 * varasm.c (merge_weak): Error for any weakening after definition.
8415 Adjust weakening after use warning to catch more cases.
8416 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
8417 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
8418
194734e9
JH
8419Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
8420
8421 * invoke.texi (-malign-double): Re-add lost warning.
8422
8423 * i386-protos.h (x86_output_mi_thunk): Declare.
8424 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
8425 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
8426
8427 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
8428 when flag_asynchronous_unwind_tables is set.
8429
8430 * flags.h (flag_reorder_functions): Declare.
8431 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 8432 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
8433 * Makefile.in (predict.o): Add dependency on target.h and params.h
8434 * defaults.h (HOT_TEXT_SECTION_NAME,
8435 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
8436 * predict.c (choose_function_section): New function.
8437 (estimate_bb_frequencies): Use it.
8438 * toplev.c (flag_reorder_functions): New global variable.
8439 (lang_independent_options): New.
8440 (parse_options_and_default_flags): Set.
8441 * varasm.c (assemble_start_function): Bypass functdion alignment
8442 for never executed functions.
8443 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
8444 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
8445 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
8446 Document.
8447
8448 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
8449
8450 * predict.c: Inlude profile.h
8451 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
8452 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
8453 Use the information about maximal counter in the program.
8454
8455 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
8456
8457 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
8458 probably_never_executed_bb_p): New functions.
8459 * cfgcleanup.c (outgoing_edges_match): Use them.
8460 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
8461 (maybe_hot_bb_p, probably_cold_bb_p,
8462 probably_never_executed_bb_p): New functions.
8463
8464 * function.h (function): Add new field function_frequency.
8465 * predict.c (compute_function_frequency): New function.
8466 (estimate_probability): Call it.
8467
61ad9a34
JJ
84682002-03-09 Jakub Jelinek <jakub@redhat.com>
8469
8470 PR optimization/5172, optimization/5200
8471 * gcse.c (gcse_main): Disable store_motion.
8472
a11eba95
ZW
84732002-05-14 Zack Weinberg <zack@codesourcery.com>
8474
8475 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
8476 (c_common_nodes_and_builtins): Use it.
8477 (builtin_define_with_value): New function.
8478 (cb_register_builtins): Define __SIZE_TYPE__,
8479 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
8480 using builtin_define_with_value. Use consistent notation when
8481 defining __GXX_WEAK__.
8482 (WCHAR_TYPE_SIZE): Don't redefine.
8483 (combine_strings): Don't use WCHAR_TYPE_SIZE.
8484
8485 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
8486 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
8487 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
8488 * tradcpp.c (initialize_builtins): Likewise.
8489 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
8490
8491 * c-lex.h (builtin_define_with_value): Prototype.
8492 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
8493 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
8494 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
8495
8496 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
8497 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
8498 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
8499 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
8500 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
8501 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
8502 config/sparc/sol2-bi.h, config/sparc/sparc.h:
8503 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
8504 to __SIZE_TYPE__ etc from all spec strings. When this makes
8505 extra specs empty, delete them.
8506
1c31ecf6
JDA
85072002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
8508
8509 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
8510 for PA8000 or generating dwarf2 call frame information.
8511 (output_call): Remove DO_FRAME_NOTES check from return pointer
8512 optimization.
8513 (following_call): Return 0 when scheduling for PA8000 or generating
8514 dwarf2 call frame information. Revise comment.
8515
ac9cfada
NB
85162002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
8517
8518config/alpha:
8519 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
8520 and __IEEE_FP_INEXACT as appropriate.
8521 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
8522 (CPP_SPEC): Remove ieee defines.
8523 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
8524
9b690711
RH
85252002-05-14 Richard Henderson <rth@redhat.com>
8526
8527 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
8528 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
8529
e6471be6
NB
85302002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
8531
e6471be6
NB
8532 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
8533 (CPP_SPEC): Update.
8534 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
8535 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
8536 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
8537 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
8538 (EXTRA_SPECS): Update.
8539 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
8540 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
8541 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
8542 define TARGET_OS_CPP_BUILTINS if necessary.
8543
e5f5feea
NB
85442002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
8545
8546 * gcc.c (cpp_options): Must pass -m* and -f* options
8547 to the front end even when only preprocessing.
8548 (cc1_options): Remove redundant -lang-c.
8549 * tradcpp.c (main): Ignore -m options.
8550objc:
8551 * lang-specs.h: Similarly.
8552
317638a8
VM
85532002-05-14 Vladimir Makarov <vmakarov@redhat.com>
8554
8555 * genautomata.c (transform_3): Add code for transformation
8556 `(A,B,...)+C -> A+C,B,...'.
8557
4d604303
JH
8558Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
8559
8560 * final.c (end_final): Do not output profile_arcs constructor, when
8561 no functions are instrumented.
8562
b18b06ed
JH
8563Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
8564
8565 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
8566
a12f97f0
GP
85672002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8568
8569 * doc/install.texi: Remove special markup originally required for
8570 HTML generation with texi2html.
8571
c1ae3eb4
AS
85722002-05-14 Andreas Schwab <schwab@suse.de>
8573
8574 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
8575 SELECT_SECTION.
8576 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
8577
8578 * varasm.c (resolve_unique_section): Add third parameter
8579 flag_function_or_data_sections and use it instead of
8580 flag_function_sections.
8581 (assemble_start_function): Pass flag_function_sections.
8582 (asm_emit_uninitialised): Pass flag_data_sections.
8583 (assemble_variable): Likewise.
8584
8ee41eaf
RH
85852002-05-14 Richard Henderson <rth@redhat.com>
8586
8587 * config/i386/i386.md: Use define_constants for unspec numbers.
8588 * config/i386/i386.c: Likewise.
8589
e6471be6
NB
85902002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
8591
8592 * doc/contrib.texi: Update my entry.
8593
c297b764
MM
85942002-05-13 Mark Mitchell <mark@codesourcery.com>
8595
8596 * fixinc/inclhack.def (winidss_valist): Limit applicability.
8597 * fixinc/fixincl.x: Regenerated.
8598 * fixinc/tests/base/math.h: Update.
8599 * fixinc/tests/base/testing.h: Likewise.
8600
0b42c8f8
ZW
86012002-05-13 Zack Weinberg <zack@codesourcery.com>
8602
8603 * genattr.c (gen_attr): Don't emit a comma after the last
8604 enumerator.
8605
546c093e
RH
86062002-05-13 Richard Henderson <rth@redhat.com>
8607
8608 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
8609 by non-local gotos.
8610 * recog.c (peephole2_optimize): Likewise.
8611
85be8c2d
AP
86122002-05-13 Andris Pavenis <pavenis@lanet.lv>
8613
8614 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
8615 input to O_BINARY.
8616
765b8f90
JL
86172002-05-13 Jeffrey A Law (law@redhat.com)
8618
fe4b3c79
JL
8619 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
8620 Update prototype and callers.
8621 (propagate_one_insn): Stack pointer adjustments kill MEMs on
8622 the mem_set_list which reference the stack pointer, as do
8623 calls to constant functions as they may clobber outgoing
8624 argument space.
8625
16133d00
JL
8626 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
8627
765b8f90
JL
8628 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
8629 (ia32_multipass_dfa_lookahead): New function.
8630
63826d5b
NB
86312002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
8632
8633 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
8634 (translate_options): Remove 'V'.
8635 (process_command): Similarly.
8636doc:
8637 * invoke.texi: Remove documentation of 'V'.
8638
dcb41ced
UW
86392002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
8640
8641 * config/s390/linux.h: Revert 2002-04-22 changes.
8642
8dfea428
SM
86432002-05-13 Scott Marks <SMarks@mobile-mind.com>
8644
8645 * config/fr30/fr30.md: Only allow splits of immediate loads
8646 if the destination is a register.
8647
12a41c22
NB
86482002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
8649
8650 * Makefile.in (c-common.o, cppinit.o): Update.
8651 * c-common.c: Include except.h.
8652 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
8653 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
8654 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
8655 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
8656 CPP_PREDEFINES): Handle here.
8657config:
8658 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
8659 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
8660 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
8661 TARGET_OS_CPP_BUILTINS.
8662 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
8663 (CPP_SPEC, EXTRA_SPECS): Update.
8664 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
8665 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
8666 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
8667 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
8668 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
8669doc:
8670 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
8671 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
8672
5692c7bc
ZW
86732002-05-12 Zack Weinberg <zack@codesourcery.com>
8674
8675 * emit-rtl.c (global_rtl): Update comment.
8676 (const_double_htab, const_double_htab_hash,
8677 const_double_htab_hash, lookup_const_double): New.
8678 (const_int_htab_hash, const_int_htab_eq): Remove const
8679 qualifiers, which cause tons of warnings with RTL checking on.
8680 (gen_rtx_CONST_DOUBLE): Deleted.
8681 (const_double_from_real_value): New function - bears some
8682 resemblance to the former immed_real_const_1.
8683 (immed_double_const): Moved here from varasm.c and
8684 simplified.
8685 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
8686 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
8687 (gen_rtx): Use immed_double_const.
8688 (init_emit_once): Initialize the const_double_htab. Use
8689 REAL_VALUE_FROM_INT where possible. Can now use
8690 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
8691 * varasm.c (struct varasm_status): Remove x_const_double_chain.
8692 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
8693 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
8694 (init_varasm_status, mark_varasm_status): Don't touch
8695 x_const_double_chain.
8696
8697 * output.h: Delete prototype for clear_const_double_mem.
8698 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
8699 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
8700 const_double_from_real_value, not immed_real_const_1, and use
8701 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
8702 CONST_DOUBLE_ATOF.
8703 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
8704 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
8705 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
8706 (gen_rtx_REG): Second arg is unsigned.
8707
8708 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
8709 (excluded_rtx): New, return true for CONST_DOUBLE.
8710 (genmacro): Write nothing for excluded codes.
8711 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
8712 * expr.c (expand_expr): Likewise.
8713 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
8714 CONST_DOUBLE_CHAIN.
8715 * toplev.c (rest_of_compilation): Don't call
8716 clear_const_double_mem.
8717
8718 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
8719 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
8720 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
8721 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
8722 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
8723 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
8724 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
8725 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
8726
31397a7b
KG
87272002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8728
8729 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
8730
1b70d38a
TT
87312002-05-12 Tom Tromey <tromey@redhat.com>
8732
8733 * tree.h (copy_node): Don't mention TREE_PERMANENT.
8734
9a5834ae
ZW
87352002-05-12 Zack Weinberg <zack@codesourcery.com>
8736
8737 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
8738 (scan_comma_elt): New function. Accepts whitespace in comma lists.
8739 * gensupport.h: Prototype new routines.
8740 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
8741 use of printf.
8742 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
8743 (next_comma_elt): Use scan_comma_elt.
8744
8745 * config/i386/i386.md: Use new attribute notation to break up
8746 long lines in define_attr forms.
8747
51286de6
RH
87482002-05-12 Richard Henderson <rth@redhat.com>
8749
8750 * expr.c (compress_float_constant): New.
8751 (emit_move_insn): Use it.
8752 (float_extend_from_mem): New.
8753 (init_expr_once): Initialize it.
8754 * real.c (exact_real_truncate): New.
8755
8756 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
8757 dropped into memory; penalize for size.
8758 (RTX_COSTS): FLOAT_EXTEND is free.
8759 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
8760 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
8761
6412341e
RH
87622002-05-12 Richard Henderson <rth@redhat.com>
8763
8764 * profile.h (profile_info): Add missing extern to declaration.
8765 * profile.c (profile_info): Define it.
8766
12877f09
JDA
87672002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
8768
8769 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
8770 used for DImode and TImode.
8771
387f9e32
NB
87722002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
8773
8774 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
8775 fake a newline.
8776
e1a0f69c
ZW
87772002-05-11 Zack Weinberg <zack@codesourcery.com>
8778
8779 * config/rs6000/rs6000.c (rs6000_default_long_calls,
8780 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
8781 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
8782 (rs6000_override_options): Handle -m(no-)longcall.
8783 (init_cumulative_args, output_mi_thunk): Check for both
8784 longcall and shortcall attributes on the function.
8785 (rs6000_attribute_table): Add "shortcall".
8786 (rs6000_handle_longcall_attribute): Update comment.
8787 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
8788 altivec_expand_ternop_builtin): Add default clauses to switches
8789 to silence warnings.
8790
8791 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
8792 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
8793 (TARGET_OPTIONS): Add longcall and no-longcall.
8794
8795 * config/rs6000/rs6000.md (call_nonlocal_sysv,
8796 call_value_nonlocal_sysv): Split by alternatives. One pair
8797 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
8798 the call cookie. The other pair accepts only LR/CTR and has
8799 no restriction.
8800
8801 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
8802 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
8803 tmake_file.
8804 * config/rs6000/rs6000-c.c: New file.
8805 * config/rs6000/t-rs6000-c-rule: New file.
8806 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
8807 Prototype rs6000_pragma_longcall.
8808
8809 * doc/extend.texi: Document shortcall attribute.
8810 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
8811
9c64026d
JDA
88122002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
8813
8814 * reorg.c (dbr_schedule): Remove unnecessary test.
8815
6c81a490
JH
8816Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
8817
8818 * i386.md (testsi to testqi spliters): New.
8819
8820 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
8821
8822 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
8823
8824 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
8825
8826 * basic-block.h: New flag EDGE_CAN_FALLTHRU
8827 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
8828 that can be made fallthru.
8829
8830 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
8831
8832 * cfglayout.c (cleanup_unconditional_jumps): New static function.
8833 (cfg_layout_initialize): Use it.
4c476cf3 8834
e4447d94
MM
88352002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
8836
8837 * config/avr/avr.c (avr_mcu_types): Update supported devices.
8838 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
8839 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
8840
3a538a66
KH
88412002-05-11 Kazu Hirata <kazu@cs.umass.edu>
8842
8843 * dbxout.c: Fix formatting.
8844 * dependence.c: Likewise.
8845 * df.c: Likewise.
8846 * diagnostic.c: Likewise.
8847 * doloop.c: Likewise.
8848 * dominance.c: Likewise.
8849 * doschk.c: Likewise.
8850 * dwarf2asm.c: Likewise.
8851 * dwarf2out.c: Likewise.
8852 * dwarfout.c: Likewise.
8853
2292e8fc
RH
88542002-05-10 Richard Henderson <rth@redhat.com>
8855
8856 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
8857 Convert integers constants as needed. Replace "nwords" field with
8858 "sizeof_bb".
8859 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
8860 * function.h: Fix typo in comment.
8861 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
8862
dbfb1116
RS
88632002-05-10 Roger Sayle <roger@eyesopen.com>
8864
8865 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
8866 into the equivalent (signed char)c > 0.
8867
79a497cd
JJ
88682002-05-10 Janis Johnson <janis187@us.ibm.com>
8869
8870 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
8871 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
8872 (struct prefetch_info): Fix spelling of member bytes_accessed.
8873 (emit_prefetch_instructions): Make dump messages more regular;
8874 restructure code to add more dump messages; use new macros for
8875 heuristics. (There are no code generation changes in any of this).
8876
6c45cb0d
DM
88772002-05-10 David S. Miller <davem@redhat.com>
8878
7440af14
DM
8879 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
8880 (struct rtx_def): Update unchanging flag comment.
8881 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
8882 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
8883 to be handled to INSN too.
8884 (dbr_schedule): Likewise.
8885 * resource.c (next_insn_no_annul): Likewise.
8886
6c45cb0d
DM
8887 * cse.c (rtx_cost): Remove multiplication by power of 2 special
8888 casing.
8889
29f21e4f
GP
88902002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8891
8892 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
8893 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
8894 (possibly) work around broken /bin/sh.
8895
e4ba88da
RO
88962002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8897
8898 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
8899 . as N64/N32 libgcc_s.so subdirs.
8900
4f4778ee
DM
89012002-05-10 David S. Miller <davem@redhat.com>
8902
8903 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
8904
8905 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
8906 more accurately.
8907 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
8908 comment.
8909 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
8910 * doc/rtl.texi: Document these macros more accurately.
8911 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
8912 JUMP_INSNs and CALL_INSNs.
8913 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
8914 or INSN_FROM_TARGET_P if the code is appropriate.
8915
1a499b92
MM
89162002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
8917
8918 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
8919 before using SYMBOL_REF_FLAG (addr).
8920
8921 * config/avr/avr-protos.h (avr_io_address_p): Declare.
8922 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
8923 Make non-static. Update all callers.
8924 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
8925 New insns to clear/set/test a single bit in I/O address space.
8926
65212b66
KG
89272002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8928
8929 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
8930
3df89291
NB
89312002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
8932
8933 * Makefile.in: Update.
8934 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
8935 builtin_define_std): New.
8936 (c_common_init): Register CPP builtins callback.
8937 * c-common.h (flag_iso, flag_undef): New.
8938 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
8939 * c-lex.c: Don't include target.h.
8940 (cb_register_builtins): Move to c-common.c.
8941 (init_c_lex): Don't register hook here.
8942 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
8943 (cpp_define, cpp_assert): Remove.
8944 * gcc.c (cc1_options): Pass -undef to front end.
8945 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
8946 (TARGET_INITIALIZER): Update.
8947 * target.h (struct cpp_reader): Don't predeclare.
8948 (struct gcc_target): Remove cpp builtin hook.
8949 * tree.c (default_register_cpp_builtins): Remove.
8950doc:
8951 * tm.texi: Update.
8952
32fa4565
NB
89532002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
8954
8955 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
8956
23357c55
RO
89572002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8958
8959 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
8960 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
8961
5aa26af0
JJ
89622002-05-09 Jakub Jelinek <jakub@redhat.com>
8963
8964 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
8965 * config/sparc/libgcc-sparc-glibc.ver: New file.
8966 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
8967 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
8968
2937267b
JJ
89692002-05-09 Jakub Jelinek <jakub@redhat.com>
8970
8971 PR target/6429
8972 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
8973 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
8974 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
8975 base multilibs.
8976 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
8977 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
8978 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
8979 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
8980
086c0f96
RH
89812002-05-09 Richard Henderson <rth@redhat.com>
8982
8983 * config/ia64/ia64.md: Use define_constants for unspec numbers.
8984 * config/ia64/ia64.c: Likewise.
8985
a8b4881f
RS
89862002-05-09 Richard Sandiford <rsandifo@redhat.com>
8987
8988 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
8989 (save_restore_insns): Likewise.
8990 (mips_expand_prologue, mips_expand_epilogue): Update callers.
8991 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
8992
243e5500 8993Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
890d52e8 8994
af2728a4
JL
8995 * athlon.md, k6.md, pentium.md, ppro.md): New files.
8996 * i386.md: Move scheduling information into new files.
8997
890d52e8
JL
8998 * i386.md (type attribute): Add "rotate" for rotate insns.
8999 (rotate insns): Set type to "rotate".
9000 (various attributes and function units): Treat rotate like shift.
9001 (pent_pair attribute): Only rotates by one bit position are
9002 pairable.
9003 (sbb insns): Explicitly set pent_pair attribute on a couple
9004 that were missing it.
9005
f78ec36a
R
9006Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
9007
9008 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
9009 make sure that buffer starts on odd word address.
9010 (sh_va_arg): Skip odd fp registers when reading a double precision
9011 value.
9012
ff431459
NB
90132002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
9014
9015 * tree.h (preserve_data, object_permanent_p, type_precision):
9016 Remove.
9017
c3bf3e6e
NB
90182002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
9019
9020 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
9021 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
9022doc:
9023 * cpp.texi: Update for removal of obsolete features.
9024
02263a8a
JH
9025Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
9026 Jeffrey A Law (law@redhat.com)
9027
9028 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
9029 the DFA interface for Pentium processors.
9030 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
9031 (attr_pent_pair, ix86_pent_find_pair): Remove.
9032 (ix86_sched_reorder_pentium): Remove.
9033 (ix86_sched_reorder): Remove reordering for Pentium.
9034 * i386.md (Pentium scheduling): Rewrite using DFA description.
9035
3e638a90
JH
9036Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
9037
9038 * cfganal.c (can_fallthru): Fix fast path.
9039 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
9040 with edges to the next block.
9041
b7c9bf28
JH
9042Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
9043 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
9044
9045 * final.c (end_final): Use C trees to output data structures for profiling.
9046
9047 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
9048 (profile.o): New dependency profile.h
9049 (final.o): New dependency profile.h
9050 * profile.h: New file. New global structure profile_info.
9051 * final.h (count_edges_instrumented_now): Declare.
9052 (current_function_cfg_checksum): Declare.
9053 (function_list): New structure.
9054 (functions_head, functions_tail): New static variables.
9055 (end_final): Emits more data, removed some -ax stuff.
9056 (final): Stores function names and chcksums.
9057 * gcov-io.h (__write_gcov_string): New function.
9058 (__read_gcov_string): New function.
9059 * gcov.c (read_profile): New function.
9060 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 9061 da_file.
5692c7bc
ZW
9062 (read_files): Removed da_file checking, it's done by read_profile now.
9063 * libgcc2.c (bb_function_info): New structure.
9064 (bb): New field in structure, removed some -ax stuff.
9065 (__bb_exit_func): Changed structure of da_file.
9066 * profile.c (count_edges_instrumented_now): New global variable.
9067 (current_function_cfg_checksum): New global variable.
9068 (max_counter_in_program): New global variable.
9069 (get_exec_counts): New function.
9070 (compute_checksum): New function.
9071 (instrument_edges): Sets count_edges_instrumented_now.
9072 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 9073 reading da_file.
5692c7bc
ZW
9074 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
9075 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 9076 now.
5692c7bc 9077 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 9078 now.
5692c7bc 9079 * gcov.texi: Updated information about gcov file format.
b7c9bf28 9080
786de7eb
KH
90812002-05-09 Kazu Hirata <kazu@cs.umass.edu>
9082
9083 * sbitmap.c: Fix formatting.
9084 * scan.c: Likewise.
9085 * scan-decls.c: Likewise.
9086 * sched-deps.c: Likewise.
9087 * sched-ebb.c: Likewise.
9088 * sched-rgn.c: Likewise.
9089 * sched-vis.c: Likewise.
9090 * sdbout.c: Likewise.
9091 * sibcall.c: Likewise.
9092 * simplify-rtx.c: Likewise.
9093 * ssa.c: Likewise.
9094 * ssa-ccp.c: Likewise.
9095 * ssa-dce.c: Likewise.
9096 * stmt.c: Likewise.
9097 * stor-layout.c: Likewise.
9098 * stringpool.c: Likewise.
9099
b7764693
DM
91002002-05-09 David S. Miller <davem@redhat.com>
9101
9102 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
9103
4e7d5d27
DM
91042002-05-07 David S. Miller <davem@redhat.com>
9105
9106 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
9107 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
9108 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
9109 library implementation clobbers the output before the inputs
9110 are fully consumed, use stack temporary for the output.
9111
f979570e
JT
91122002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
9113
9114 * config/netbsd.h (CPP_SPEC): Remove.
9115 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
9116 * config/i386/netbsd.h (CPP_SPEC): Define.
9117 * config/ns32k/netbsd.h (CPP_SPEC): Define.
9118 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
9119 * config/sparc/netbsd.h (CPP_SPEC): Define.
9120 * config/vax/netbsd.h (CPP_SPEC): Define.
9121
a6a2274a
KH
91222002-05-08 Kazu Hirata <kazu@cs.umass.edu>
9123
9124 * read-rtl.c: Fix formatting.
9125 * real.c: Likewise.
9126 * recog.c: Likewise.
9127 * regclass.c: Likewise.
9128 * regmove.c: Likewise.
9129 * reg-stack.c: Likewise.
9130 * reload1.c: Likewise.
9131 * reload.c: Likewise.
9132 * resource.c: Likewise.
9133 * rtlanal.c: Likewise.
9134 * rtl.c: Likewise.
9135 * rtl-error.c: Likewise.
9136
461b48d5
JDA
91372002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
9138
9139 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
9140 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
9141
95d075ff
BS
91422002-05-08 Bernd Schmidt <bernds@redhat.com>
9143
9144 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
9145 use __SSE2__ macro instead.
9146 * config/i386/xmmintrin.h: Likewise.
9147
2d4cc6a7
JJ
91482002-05-08 Janis Johnson <janis187@us.ibm.com>
9149
9150 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
9151 and use it in all invocations of these macros. Clean up comments.
9152 * rtl.c (rtl_check_failed_flag): Add an argument for the name
9153 of the flag access macro whose check failed.
9154 * doc/rtl.texi (Flags): Document additional flag uses.
9155
3f8ffc7c
RS
91562002-05-08 Robert Spier <rspier@pobox.com>
9157 Neil Booth <neil@daikokuya.demon.co.uk>
9158
9159 PR preprocessor/6521
9160 * cppfiles.c (handle_missing_header): Don't do anything
9161 different for <> includes.
9162doc:
9163 * cppopts.texi: Update documentation for -MG.
9164
b9e2d17b
NB
91652002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
9166
9167 * cpplex.c (cpp_interpret_charconst): Truncate as well as
9168 sign-extend.
9169doc:
9170 * cpp.texi: Clarify multichar charconst valuation.
9171
8d8269fa
MM
91722002-05-08 Mark Mitchell <mark@codesourcery.com>
9173
9174 * doc/invoke.texi: Document -mwindiss option.
9175
29b91443
JM
91762002-05-08 Jason Merrill <jason@redhat.com>
9177
9178 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
9179
9180 * dwarf2out.c (gen_type_die): Abort on broken recursion.
9181
9182 PR c++/6381
9183 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
9184 REAL_CST.
9185
6c76b950
NC
91862002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
9187
9188 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
9189 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 9190 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
9191 multilibs for the Thumb.
9192
f90bf7ca
MM
91932002-05-08 Mark Mitchell <mark@codesourcery.com>
9194
9195 PR c/6569.
9196 * varasm.c (mark_weak): New function.
9197 (merge_weak): Use it. Do not call declare_weak.
9198 (declare_weak): Use merge_weak.
9199
1e150f2c
JH
9200Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
9201
9202 * cse.c (dead_libcall_p): Update counts.
9203 (delete_trivially_dead_insns): Update call of dead_libcall_p.
9204
969d70ca
JH
9205Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
9206
9207 * cfglayout.c (function_tail_eff_head): Rename to ...
9208 (function_footer): ... this one.
9209 (unlink_insn_chain): New functions.
9210 (label_for_bb): Only call block_label and emit debug message.
9211 (record_effective_endpoints): Actually unlink the headers and footers.
9212 (fixup_reorder_cahin): Re-insert the unlinked sequences.
9213 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
9214 * cfglayout.h (struct reorder_block_def): New fields footer/header;
9215 remove eff_head/eff_end.
9216 * rtl.h (set_first_insn): Declare.
9217 * emit-rtl.c (set_first_insn): New function.
9218
9219 * cfglayout.c (fixup_reorder_chain): Dump duplicated
9220 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
9221 cfg_layout_duplicate_bb): New global function.
9222 (duplicate_insn_chain): New static function.
9223 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
9224 cfg_layout_duplicate_bb): Declare.
9225 (struct reorder_block_def): Add "original" field.
9226 * emit-rtl.c (emit_copy_of_insn_after): New function.
9227 * rtl.h (emit_copy_of_insn_after): Declare.
9228
9229 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
9230 (fixup_reorder_chain): properly handle edges to exit block.
9231
9232Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9233 Jan Hubicka <jh@suse.cz>
9234
9235 * basic-block.h (note_prediction_to_br_prob): declare.
9236 * c-semantics.c: Inlucde predit.h
9237 (expand_stmt): predict GOTO_STMT as not taken.
9238 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
9239 (cleanup_cfg): Do not free tail_recursion_list.
9240 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
9241 (flow_delete_block): Kill predictions past end of basic block.
9242 * output.h (delete_unreachable_blocks): Declare.
9243 * predict.c (predicted_by_p, process_note_predictions,
9244 process_note_prediction, last_block_p): New function.
9245 (estimate_probability): Bypass loop on PRED_CONTINUE;
9246 do not handle noreturn heuristics; kill PRED_RETURN; add
9247 PRED_EARLY_RETURN.
9248 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
9249 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
9250 * predict.h (IS_TAKEN): New constant.
9251 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
9252 * rtl.c (NOTE_INSN_PREDICTION): New.
9253 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
9254 New macro.
9255 (insn_note): add NOTE_INSN_PREDICTION.
9256 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
9257 CFG; free tail_recursion_label_list.
9258 * stmt.c: Include predict.h;
9259 (return_prediction): New.
9260 (expand_value_return): Use it.
9261 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
9262
41f8d041
RS
92632002-05-08 Richard Sandiford <rsandifo@redhat.com>
9264
9265 * config/mips/mips.md: Name the unspecs with define_constant.
9266 (*HILO_delay): Rename to 'hilo_delay' (no star).
9267 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
9268 (reload_outdi, reload_outsi): Likewise.
9269
9cabb1d8
KH
92702002-05-07 Kazu Hirata <kazu@cs.umass.edu>
9271
9272 * toplev.c: Fix formatting.
9273
4c76f856
JJ
92742002-05-07 Janis Johnson <janis187@us.ibm.com>
9275
9276 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
9277 * configure.in (ac_rtlflag_checking): New.
9278 * doc/install.texi (--enable-checking): Document RTL flag checking.
9279
44a147ad
NB
92802002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
9281
9282 * c-common.c (c_common_init): Set options->unsigned_wchar.
9283 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
9284 group target dependencies.
9285 (init_builtins, cpp_handle_option): Update.
9286 * cpplex.c (cpp_interpret_charconst): Update.
9287 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
9288 signed_char to unsigned_char, group target dependencies.
9289 * defaults.h (WCHAR_UNSIGNED): Remove.
9290 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
9291config:
9292 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
9293 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
9294 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
9295 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
9296 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
9297doc:
9298 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
9299
cace4f93
MM
93002002-05-07 Mark Mitchell <mark@codesourcery.com>
9301
9302 * fixinc/inclhack.def (windiss_math1): New fix.
9303 (windiss_math2): Likewise.
9304 (windiss_valist): Likewise.
9305 * fixinc/fixincl.x: Regenerated.
9306
e2ff6cee
AJ
93072002-05-07 Andreas Jaeger <aj@suse.de>
9308
9309 * genautomata.c (output_internal_min_issue_delay_func): Add
9310 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
9311 (output_internal_trans_func): Likewise.
9312
bdad4be5
JL
9313Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
9314
9315 * pa.c (hppa_profile_hook): Use force_reg to get the address
9316 of the profile hook into an appropriate pseudo register.
9317
a1ffecd9
MM
93182002-05-07 Mark Mitchell <mark@codesourcery.com>
9319
9320 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
9321 (LINK_START_SPEC): Handle it.
9322 (LINK_OS_SPEC): Likewise.
9323 (CPP_SPEC): Likewise.
9324 (STARTFILE_SPEC): Likewise.
9325 (LIB_SPEC): Likewise.
9326 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
9327 all platforms.
9328 (CRTSAVRES_DEFAULT_SPEC): New macro.
9329 (LIB_WINDISS_SPEC): New macro.
9330 (CPP_OS_WINDISS_SPEC): Likewise.
9331 (STARTFILE_WINDISS_SPEC): Likewise.
9332 (ENDFILE_WINDISS_SPEC): Likewise.
9333 (LINK_START_WINDISS_SPEC): Likewise.
9334 (LINK_OS_WINDISS_SPEC): Likewise.
9335 * config/rs6000/windiss.h: New file.
e2ff6cee 9336
df966bff
AH
93372002-05-07 Aldy Hernandez <aldyh@redhat.com>
9338
a5c76ee6 9339 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 9340
db84f1bd
DM
93412002-05-06 David S. Miller <davem@redhat.com>
9342
9343 * config/sparc/sparc.md (shift insns): Do not mask off
9344 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
9345 take care of it.
9346
818c0c94
RH
93472002-05-06 Richard Henderson <rth@redhat.com>
9348
9349 PR c++/6212
9350 * expr.c (highest_pow2_factor_for_type): New.
9351 (expand_assignment): Use it.
9352
61e0b50f
AH
93532002-05-06 Aldy Hernandez <aldyh@redhat.com>
9354
818c0c94
RH
9355 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
9356 unspec_volatile.
9357 ("altivec_mfvscr"): Same.
61e0b50f 9358
5a63e069
JJ
93592002-05-06 Janis Johnson <janis187@us.ibm.com>
9360
9361 * rtl.h (struct rtx_def): Update comments.
9362 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
9363 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
9364 RTL_FLAG_CHECK macros with list of expected RTL codes.
9365 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
9366 (rtl_check_failed_flag): New.
9367 * reload1.c (reload): Use REG macro before changing rtx to MEM.
9368 (reload_cse_noop_set_p): Check rtx code before using access macro.
9369 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
9370 before using access macro.
9371
4afe3952
JJ
93722002-05-06 Janis Johnson <janis187@us.ibm.com>
9373
9374 * doc/rtl.texi (Flags): Update to reflect current usage.
9375
1f77b5da
RS
93762002-05-06 Roger Sayle <roger@eyesopen.com>
9377
9378 PR opt/3995
9379 * fold-const.c (sign_bit_p): New function.
9380 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 9381 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
9382 Reapply fold when converting (A & C) == C into (A & C) != 0.
9383 (fold_binary_op_with_conditional_arg): Fix typo in comment.
9384
a5a49440
NB
93852002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
9386
9387 * c-common.c (warn_multichar): New.
9388 (c_common_init): Set CPP's warn_multichar.
9389 * c-common.h (warn_multichar): New.
9390 * c-decl.c (warn_multichar): Remove.
9391 * c-lex.c (lex_charconst): Update.
9392 * c-tree.h (warn_multichar): Remove.
9393 * cppexp.c (eval_token): Sign-extend charconst value.
9394 * cppinit.c (cpp_create_reader): Set warn_multichar.
9395 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
9396 each character. Update prototype. Sign-extend the result.
9397 * cpplib.h: Fix conditions.
9398 (struct cpp_options): Add new warning flag.
9399 (cpp_interpret_charconst): Update prototype.
9400doc:
9401 * cpp.texi: Update documentation.
9402
83e0be55
VM
94032002-05-06 Vladimir Makarov <vmakarov@redhat.com>
9404
9405 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
9406 Fix typo in usage of allof instead of unit.
9407
688ec718
RH
94082002-05-06 Richard Henderson <rth@redhat.com>
9409
9410 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
9411 and any jump or call for IN.
9412
f6536266
BS
94132002-05-06 Bernd Schmidt <bernds@redhat.com>
9414
e2ff6cee 9415 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
9416 -msse2.
9417 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 9418
0316d49b
RS
94192002-05-06 Roger Sayle <roger@eyesopen.com>
9420
9421 * fold-const.c (lshift-double): Cast the high word to an unsigned
9422 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
9423 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
9424 avoid compiler warning. (fold): Remove redundant code from
9425 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
9426
5d50fab3
JL
94272002-05-06 Jeff Law <law@redhat.com>
9428
9429 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
9430 * pa.c (pa_adjust_cost): Remove all true dependency cost
9431 adjustments. Also remove support for non-DFA scheduling.
9432 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
9433 to adjust true dependency costs. Update various comments.
9434 (7100lc, 7200, 7300 scheduling): Simplify by combining the
9435 FP ALU & MPY units into a single unit.
9436
a17a104c
CM
94372002-05-06 Catherine Moore <clm@redhat.com>
9438
9439 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 9440 to count all of the registers that will be saved.
a17a104c 9441
7799175f
JH
9442Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
9443
9444 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
9445
0ac941a0
DM
94462002-05-06 David S. Miller <davem@redhat.com>
9447
9448 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
9449 allow result to overlap input operands in memory.
9450
95ff5d3f
NB
94512002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
9452
9453doc:
9454 * cpp.texi: Update multichar charconst docs.
9455
639e8b0c
NB
94562002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
9457
9458 * cpplex.c (cpp_interpret_charconst): Sign-extend each
9459 character. Don't ignore excess characters. Treat
9460 multicharacter character constants as signed.
9461 (cpp_parse_escape): Clarify diagnostic.
9462
84ea5bc1
JJ
94632002-05-05 Jakub Jelinek <jakub@redhat.com>
9464
9465 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
9466 use add instead of shift.
9467 (ashldi3_sp64): Likewise.
9468 (ashlsi3_const1, ashldi3_const1): Remove.
9469 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
9470 * config/sparc/sparc.c (const1_operand): New.
9471
40cd22f2
JT
94722002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
9473
9474 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
9475
cac01076
JJ
94762002-05-05 Jakub Jelinek <jakub@redhat.com>
9477
9478 PR target/6561
9479 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
9480
98791e3a
RH
94812002-05-05 Richard Henderson <rth@redhat.com>
9482
9483 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
9484 memory latency adjustments.
9485 (alpha_variable_issue): Remove.
9486 (alpha_use_dfa_pipeline_interface): New.
9487 (alpha_multipass_dfa_lookahead): New.
9488 * config/alpha/alpha.md: Remove define_function_unit scheduling;
9489 include new dfa scheduling.
9490 (attr type): Add none.
9491 (blockage): Use it.
9492 * config/alpha/ev4.md: New.
9493 * config/alpha/ev5.md: New.
9494 * config/alpha/ev6.md: New.
9495
309527ce
DM
94962002-05-05 David S. Miller <davem@redhat.com>
9497
9498 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
9499
68252e27
KH
95002002-05-05 Kazu Hirata <kazu@cs.umass.edu>
9501
9502 * cse.c: Fix formatting.
9503 * emit-rtl.c: Likewise.
9504
30cc9d00
VM
95052002-05-05 Vladimir Makarov <vmakarov@redhat.com>
9506
9507 * genautomata.c (initiate_states): Add additional guard to
9508 initialize `units_array'.
9509
deb09eff
VM
95102002-05-05 Vladimir Makarov <vmakarov@redhat.com>
9511
9512 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
9513 process_unit_to_form_the_same_automaton_unit_lists,
9514 form_the_same_automaton_unit_lists
9515 check_unit_distributions_to_automata): New prototypes and
9516 functions.
9517 (check_automata): Rename it into `check_automata_insn_issues'.
9518 (unit_decl): New fields `the_same_automaton_unit' and
9519 `the_same_automaton_message_reported_p'.
9520 (unit_decl_t): New typedef.
9521 (the_same_automaton_lists): New gloval variable.
9522 (unit_regexp, unit_set_el, units_array, units_cmp,
9523 output_get_cpu_unit_code_func): Use the typedef.
9524 (evaluate_max_reserv_cycles): Increment
9525 `description->max_insn_reserv_cycles'.
9526 (initiate_states): Don't increment `max_cycles_num'.
9527 (transform_insn_regexps): Move code around transformation of
9528 regexps from `generate'.
9529 (generate): Remove call of `transform_insn_regexps'.
9530 (expand_automata): Call `transform_insn_regexps' and
9531 `check_unit_distributions_to_automata'. Check errors before
9532 `generate'.
9533
9534 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
9535 automaton `ultrasparc3_1'.
e2ff6cee 9536
2443d4e1
NB
95372002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
9538
9539 * c-common.c (c_common_init): Set up CPP arithmetic.
9540 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
9541 something reasonable for the host.
9542 (sanity_checks): Add checks.
9543 (cpp_read_main_file): Call sanity_checks() from here...
9544 (cpp_post_options): ... not here.
9545 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
9546 * cpplib.h (struct cpp_options): New member int_precision.
9547
791a949f
FS
95482002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9549
9550 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
9551
091fb516
DM
95522002-05-04 David S. Miller <davem@redhat.com>
9553
f60ebeb7
DM
9554 * config/sparc/linux.h, config/sparc/linux64.h
9555 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
9556
214c6394
DM
9557 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
9558 more RTX codes.
9559 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
9560
091fb516
DM
9561 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
9562 of SETs.
9563
f2fdc802
TJ
95642002-05-05 Tim Josling <tej@melbpc.org.au>
9565
e2ff6cee 9566 * treelang; New directory for new sample language treelang.
f2fdc802 9567
3d90d290
NB
95682002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
9569
9570 * Makefile.in (c-lex.o): Update.
9571 * c-lex.c: Include target.h.
9572 (cb_register_builtins): New.
9573 (init_c_lex): Set builtins callback.
9574 * c-lex.h (cpp_define, cpp_assert): New prototypes.
9575 * cppinit.c (init_builtins): Use callback, including for
9576 GXX_WEAK.
9577 * cpplib.h (struct cpp_callbacks): New member.
9578 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
9579 (TARGET_INITIALIZER): Update.
9580 * target.h (struct gcc_target): New hook.
9581 * tree.c (default_register_cpp_builtins): New.
9582 * tree.h (default_register_cpp_builtins): New.
9583doc:
9584 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
9585
625458d0
NB
95862002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
9587
9588 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
9589 (cpp_post_options): Move sanity checks to...
9590 (sanity_checks): New.
9591 * cpplex.c (maybe_read_ucs): Fix prototype.
9592 (parse_string, cpp_parse_escape): Cast for %c format specifier.
9593 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
9594 if necessary.
9595
916b60b7
BS
95962002-05-04 Bernd Schmidt <bernds@redhat.com>
9597
9598 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
9599 builtins. Use V2DI patterns instead of TI for logical operations.
9600 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
9601 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
9602 (ix86_expand_builtins): Change the pattern used for movntdq.
9603 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
9604 sse2_nandv2di3): New patterns.
9605 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
9606 on operands.
9607 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
9608 (cvtdq2pd): Correct mode on operand 1.
9609 (sse2_umulsidi3): Describe without unspec.
9610 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
9611 machine modes.
9612 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
9613 (ashlv2di3): Likewise, from sse2_ashlv2di3.
9614 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
9615 ashlv4si3, ashlv2di3): Use SImode for shift count.
9616 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
9617 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
9618 New patterns.
9619 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
9620 New typedefs.
9621 (__m128i, __m128d): New macros.
9622 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
9623 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
9624 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
9625 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
9626 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 9627 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
9628 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
9629 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 9630 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
9631 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
9632 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
9633 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
9634 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
9635 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
9636 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
9637 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
9638 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
9639 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
9640 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
9641 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
9642 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
9643 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
9644 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
9645 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
9646 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
9647 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
9648 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
9649 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
9650 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
9651 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
9652 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
9653 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
9654 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
9655 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
9656 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
9657 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
9658 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
9659 functions.
e2ff6cee 9660 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
9661 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
9662
c26fbbca
KH
96632002-05-04 Kazu Hirata <kazu@cs.umass.edu>
9664
9665 * dwarf2out.c: Fix formatting.
9666 * varasm.c: Likewise.
9667
0387639b
DE
96682002-05-04 David Edelsohn <edelsohn@gnu.org>
9669
9670 PR c/6543
9671 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
9672 clobber and use result as temporary value.
9673
8a28dbcc
JH
9674Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
9675
9676 * expr.c (force_operand): Use expand_simple_* to handle more
9677 cases.
9678
4268e8bb
NB
96792002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
9680
9681 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
9682 and sign-extension.
9683 (lex_charconst): Update for change in prototype of
9684 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
9685 appropriately.
9686 * cpphash.h (BITS_PER_CPPCHAR_T): New.
9687 * cppinit.c (cpp_create_reader): Initialize them for no
9688 change in semantics.
9689 (cpp_post_options): Add sanity checks.
9690 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
9691 and truncation issues. Calculate in type cppchar_t.
9692 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
9693 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
9694 run-time dependent precision correctly. Return whether the
9695 result is signed or not.
9696 * cpplib.c (dequote_string): Use cppchar_t; update.
9697 * cpplib.h (cppchar_signed_t): New.
9698 struct cpp_options): New precision members.
9699 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 9700 * cppexp.c (eval_token): Update.
4268e8bb 9701
af54350e
DM
97022002-05-03 David S. Miller <davem@redhat.com>
9703
2ce04b6b
DM
9704 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
9705 * config/sparc/sparc.c (sparc_rtx_costs): New function
9706 implementing RTX_COSTS and CONST_COSTS.
9707 * config/sparc/sparc.h (CONST_COSTS): Delete.
9708 (RTX_COSTS_CASES): Define.
9709 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
9710 the work.
9711
a1d9bd0c
DM
9712 * config/sparc/sparc.md (DFA schedulers): Split out...
9713 * config/sparc/cypress.md, config/sparc/hypersparc.md,
9714 config/sparc/sparclet.md, config/sparc/supersparc.md,
9715 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
9716
e87bb82e
DM
9717 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
9718 checks on it, always defined for Sparc.
9719
af54350e
DM
9720 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
9721 Tweak, and add more detailed comments.
9722
935bfb44
ZW
97232002-05-03 Zack Weinberg <zack@codesourcery.com>
9724
9725 * Re-apply patch accidentally reverted with
9726 DFA scheduler merge: remove all rules and variables to slurp
9727 source files out of libiberty and rebuild them with HOST_CC.
9728 ($(HOST_PREFIX_1)varray.o): New rule.
9729 (genattrtab rule): Word wrap.
9730
fa7a0712
JT
97312002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
9732
9733 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
9734 (CPP_SUBTARGET_SPEC): Define.
9735 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
9736 cpp_subtarget specs.
9737 (CPP_SPEC): Redefine to include %(cpp_subtarget).
9738
14c93978
DM
97392002-05-03 David S. Miller <davem@redhat.com>
9740
9741 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
9742 * target.h (struct gcc_target): Delete cycle_display member.
9743
14d118d6
DM
9744 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
9745 (rtx_needs_barrier): Delete reference to cycle_display unspec.
9746 (ia64_sched_reorder2): Mention need for cycle display handling
9747 once such notes exist.
935bfb44 9748
b3ae1ccd
RH
97492002-05-03 Richard Henderson <rth@redhat.com>
9750
9751 * real.c (etoasc): Strip most trailing zeros for clarity.
9752 * sched-vis.c: Include real.h.
9753 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
9754 * Makefile.in (sched-vis.o): Add real.h.
9755
8f39865a
DM
97562002-05-03 David S. Miller <davem@redhat.com>
9757
9758 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
9759 no longer needed.
9760
b44140e7
AH
97612002-05-03 Aldy Hernandez <aldyh@redhat.com>
9762
935bfb44
ZW
9763 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
9764 when we get an out of range literal.
9765 (altivec_expand_ternop_builtin): Same.
9766 (altivec_expand_unop_builtin): Same.
9767 (altivec_expand_builtin): Same, for dss.
9768 (altivec_expand_builtin): Use trees instead of rtl when
9769 determining literal argument validity.
b44140e7 9770
aaaed752
DM
97712002-05-03 David S. Miller <davem@redhat.com>
9772
9773 Delete cycle display scheduling hook.
9774 * config/ia64/ia64.c (ia64_cycle_display,
9775 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
9776 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
9777 and use emit_insn_before instead of ia64_emit_insn_before.
9778 * config/ia64/ia64.md (unspec usage): Delete cycle display.
9779 (cycle_display): Delete insn pattern.
9780 * config/sparc/sparc.md (unspec usage): Delete cycle display.
9781 (cycle_display): Delete insn pattern.
9782 * config/sparc/sparc.c (sparc_cycle_display,
9783 TARGET_SCHED_CYCLE_DISPLAY): Delete.
9784 * doc/md.texi (cycle_display): Don't mention.
9785 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 9786
b37c2614
RH
97872002-05-03 Richard Henderson <rth@redhat.com>
9788
9789 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
9790 * recog.h: Declare them.
9791
9792 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
9793 * config/sparc/sparc.md: Use store_data_bypass_p instead.
9794 * config/sparc/sparc-protos.h: Update.
935bfb44 9795
e1c1132e
JT
97962002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
9797
9798 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
9799 -D__arch64__. Add -D_LP64.
9800 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
9801 from sparc.h.
9802 (CPP_ARCH64_SPEC): Likewise.
9803 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
9804 (NO_BUILTIN_SIZE_TYPE): Undef.
9805
0b2fb0d7
VM
98062002-05-03 Vladimir Makarov <vmakarov@redhat.com>
9807
9808 * genautomata.c (min_issue_delay_pass_states): Change return type
9809 in the prototype.
9810 (min_issue_delay_pass_states): Change the algorithm.
9811 (min_issue_delay): Set up min_insn_issue_delay for the state.
9812 (output_min_issue_delay_table): Interchange the nested loops and
9813 and initiate min_insn_issue_delay for states.
935bfb44 9814
3d4ce12a
JH
9815Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
9816
9817 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
9818 jump is simplejump.
9819
9820Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
9821
9822 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
9823 sequence.
9824
b5482208
RH
98252002-05-03 Richard Henderson <rth@redhat.com>
9826
9827 PR opt/6534
9828 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
9829 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
9830 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
9831 code before JUMP, not EARLIEST.
9832
5a3085c5
JM
98332002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
9834
9835 * c-format.c (check_format_info_main): Don't check for presence of
9836 parameter for * width until after operand number has been read,
9837 and only check for it if format parameters are available.
9838 Fixes PR c/6547.
9839
40039424
JT
98402002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
9841
9842 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
9843 (LINK_SPEC): Undef before defining.
9844
8157303b
JJ
98452002-05-03 Jakub Jelinek <jakub@redhat.com>
9846
9847 PR preprocessor/6489
9848 * tradcpp.c (fixup_newlines): New.
9849 (main, finclude): Use it.
9850
66319f5c
RS
98512002-05-03 Richard Sandiford <rsandifo@redhat.com>
9852
9853 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
9854 * config/mips/mips.c (mips_unique_section): Strip encoding from
9855 decl name.
9856
ce8076ad
JJ
98572002-05-03 Jakub Jelinek <jakub@redhat.com>
9858
9859 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
9860 mode.
9861
975c6e4e
RO
98622002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9863
9864 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
9865 (Specific): Removed buildstats references.
9866 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
9867 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
9868 Accomodate Solaris versions beyond 8.
9869 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
9870 (Specific, *-*-solaris2.8): Removed, obsolete.
9871
d70e94ec
JJ
98722002-05-03 Jakub Jelinek <jakub@redhat.com>
9873
9874 PR target/6542
9875 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
9876 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
9877 fill leaf_reg_remap with identity.
9878 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
9879
6b148bd9
KH
98802002-05-03 Kazu Hirata <kazu@cs.umass.edu>
9881
9882 * config/h8300/crti.asm: Remove trailing spaces.
9883 * config/h8300/h8300.c: Likewise.
9884 * config/h8300/lib1funcs.asm: Likewise.
9885
609688f3
JM
98862002-05-02 Jason Merrill <jason@redhat.com>
9887
9888 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
9889 * c-decl.c (c_init_decl_processing): Use it.
9890 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
9891 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
9892 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
9893
3b03c671
KH
98942002-05-03 Kazu Hirata <kazu@cs.umass.edu>
9895
9896 * regrename.c: Fix formatting.
9897 * tree.c: Likewise.
9898
3b4961bd
JH
9899Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
9900
9901 * i386.md (attribute memory): Handle compares properly.
9902
19cba4a0
JH
9903Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
9904
3b4961bd 9905 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
9906 to none.
9907
797a6ac1
KH
99082002-05-02 Kazu Hirata <kazu@cs.umass.edu>
9909
9910 * function.c: Fix formatting.
9911
6d0de005
JH
99122002-05-02 Jan Hubicka <jh@suse.cz>
9913
9914 * haifa-sched.c (schedule_insn): Print table of instructions and
9915 reservations.
9916 (sched_block): Do not print ready list at verbosity level 1.
9917 * sched-vis.c (print_insn): Make global.
9918 * sched-ebb.c (ebb_print_insn): Rename from...
9919 (print_insn): ... this one.
9920 * sched-int.h (print_insn): Declare
9921
0bfb9a69
RH
99222002-05-02 Richard Henderson <rth@redhat.com>
9923
9924 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
9925 emitted by cycle_display.
9926
6b976d99
LR
99272002-05-02 Loren J. Rittle <ljrittle@acm.org>
9928
9929 * doc/install.texi (*-*-freebsd*): Update to latest status.
9930
0a295052
JJ
99312002-05-02 Jakub Jelinek <jakub@redhat.com>
9932
9933 PR target/6540
9934 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
9935 * config/float-sparc.h: Assume 128-bit long double if
9936 __LONG_DOUBLE_128__ is defined.
9937
842d5d6c
VM
99382002-05-02 Vladimir Makarov <vmakarov@redhat.com>
9939
9940 * genattrtab.c (write_function_unit_info): Add a dummy element
9941 when num_units == 0.
9942
3d7a6309
HB
99432002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9944
9945 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
9946 TYPE_MODE (double_type_node) instead of DFmode.
9947
1b6763cf
JH
9948Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
9949
9950 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
9951 jumps post reload.
9952 * toplev.c (rest_of_compilation): Revert Richard's patch.
9953
b303008e
JDA
99542001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
9955
9956 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
9957
6ed7412a
CM
99582002-05-02 Catherine Moore <clm@redhat.com>
9959
9960 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
9961
e0a2f705
KH
99622002-05-02 Kazu Hirata <kazu@hxi.com>
9963
b32d6163 9964 * combine.c: Fix comment typos.
e0a2f705
KH
9965 * expr.c: Likewise.
9966 * genautomata.c: Likewise.
9967 * stmt.c: Likewise.
9968 * tree.h: Likewise.
9969
38e23049
JM
99702002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
9971
9972 * doc/install.texi: State GNAT version requirements.
9973
40f4a97d
NC
99742002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
9975
9976 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
9977 of the frame pointer or arg pointer register which strict register
9978 checking is not enabled.
9979
0d6d6892
AH
99802002-05-02 Aldy Hernandez <aldyh@redhat.com>
9981
b5482208 9982 * gcc.dg/altivec-8.c: New.
0d6d6892 9983
b5482208
RH
9984 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
9985 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 9986
abaa8559
BK
99872002-05-01 Bruce Korb <bkorb@gnu.org>
9988
9989 * fixinc/check.tpl(set-writable): make sure the function exists first
9990 * fixinc/inclhack.def(alpha_assert): fix test_text
9991 * fixinc/tests/base/assert.h: add in missing result
9992
ecab2143
JL
99932002-05-01 Jeff Law <law@redhat.com>
9994
9995 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
9996 'T' constraint.
9997
ea619b46
JB
99982002-05-01 Joel Brobecker <brobecker@gnat.com>
9999
10000 * dbxout.c (dbxout_type): Emit size information for range types,
10001 as well, but only when using GDB extensions.
10002
c72931a6
RH
100032002-05-01 Richard Henderson <rth@redhat.com>
10004
10005 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
10006 target-independent gnu binutils date test.
10007
2150ad33
RH
100082002-05-01 Richard Henderson <rth@redhat.com>
10009
10010 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
10011 info before expunging the block.
10012
1651cc96
JJ
100132002-05-01 Jakub Jelinek <jakub@redhat.com>
10014
10015 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
10016 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
10017 -M -or -MM is in effect.
10018
8998d5bf
ZW
100192002-05-01 Zack Weinberg <zack@codesourcery.com>
10020
10021 * config.gcc: Correct test of --enable-obsolete. Obsolete all
10022 A29k configurations.
10023 * doc/install.texi: Update to match.
10024
a81eed10
FS
100252002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10026
10027 PR bootstrap/6514
10028 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
10029 for duplicates. Always loop over whole list.
10030
8d53318f
RK
10031Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10032
10033 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
10034
4109b118
JS
100352002-05-01 Joel Sherrill <joel@OARcorp.com>
10036
10037 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
10038 support routines.
10039
c4a9c570
JS
100402002-05-01 Joel Sherrill <joel@OARcorp.com>
10041
10042 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
10043
ea112fc4
DE
100442002-05-01 David Edelsohn <edelsohn@gnu.org>
10045
10046 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
10047 (nabs_nopower): Same.
10048 (floatdisf2): New pattern.
10049 (absdi2): Convert to define_insn_and_split.
10050 (nabsdi2): Same.
10051 (trunctfsf2): Same.
10052 (floatditf2): Same.
10053 (floatsitf2): Same.
10054 (fix_trunctfdi2): Same.
10055 (fix_trunctfsi2): Same.
10056
dda78254
JM
100572002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
10058
10059 * doc/install.texi: Update Texinfo version requirement
10060 documentation.
10061
26aeede4
JJ
100622002-05-01 Jakub Jelinek <jakub@redhat.com>
10063
10064 PR target/6512, PR target/5628
10065 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
10066 when memory is not aligned.
10067 (movdf_insn_v9only_vis): Likewise.
10068 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
10069 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
10070 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
10071
9b7bc465
AH
100722002-05-01 Aldy Hernandez <aldyh@redhat.com>
10073
8998d5bf 10074 * gcc.dg/altivec-7.c: New.
9b7bc465 10075
8998d5bf 10076 * config/rs6000/altivec.h: Cleanup.
9b7bc465 10077
08b57fb3
AH
100782002-04-30 Aldy Hernandez <aldyh@redhat.com>
10079
8998d5bf
ZW
10080 * doc/invoke.texi (Option Summary): Add -mvrsave=.
10081 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 10082
8998d5bf
ZW
10083 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
10084 (rs6000_altivec_vrsave_string): Same.
10085 (rs6000_override_options): Call rs6000_parse_vrsave_option.
10086 (rs6000_parse_vrsave_option): New.
10087 (rs6000_stack_info): Only generate vrsave instructions when
10088 TARGET_ALTIVEC_VRSAVE.
08b57fb3 10089
8998d5bf
ZW
10090 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
10091 (rs6000_altivec_vrsave_string): Define extern.
10092 (rs6000_altivec_vrsave): Same.
10093 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 10094
8e8c38cd
RH
100952002-04-30 Richard Henderson <rth@redhat.com>
10096
10097 PR opt/6516
10098 * toplev.c (rest_of_compilation): Don't run cross-jump before
10099 bb-reorder.
10100
4be9e9cb
TR
101012002-04-30 Tom Rix <trix@redhat.com>
10102
8998d5bf 10103 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
10104 check which_alternative.
10105
1eeeb6a4
KH
101062002-04-30 Kazu Hirata <kazu@hxi.com>
10107
10108 * cpplex.c: Fix comment formatting.
10109 * function.c: Likewise.
10110 * integrate.c: Likewise.
10111 * regrename.c: Likewise.
10112 * sibcall.c: Likewise.
10113 * simplify-rtx.c: Likewise.
10114 * tree-inline.c: Likewise.
10115
ed9d6ff9
JDA
101162002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
10117
10118 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
10119 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
10120 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
10121 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
10122 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
10123 * pa/x-ada: New file. Define ADA_CFLAGS.
10124
1f2641b6
HPN
101252002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
10126
10127 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
10128 from MMIX_LAST_REGISTER_FILE_REGNUM.
10129 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
10130 (struct machine_function): New member highest_saved_stack_register
10131 previously static variable in mmix.c.
10132 (MACHINE_DEPENDENT_REORG): Define.
10133 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
10134 (MMIX_OUTPUT_REGNO): New.
10135 (mmix_target_asm_function_prologue): Move calculation of last used
10136 saved-stack-register into...
10137 (mmix_machine_dependent_reorg): New function. Update to also handle
10138 !TARGET_ABI_GNU.
10139 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
10140 register names, simplify somewhat by new variable regno.
10141 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
10142 register.
10143 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
10144 emitting register names.
10145 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
10146 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
10147 Remove fixed FIXME.
10148 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
10149 Declare.
10150
10151 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
10152
73985940
RH
101532002-04-30 Richard Henderson <rth@redhat.com>
10154
10155 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
10156 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
10157 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
10158 emit_tfmode_cvt): New.
10159 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
10160 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
10161 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
10162 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
10163 * config/sparc/sparc-protos.h: Update.
10164
2b46bc67
JJ
101652002-04-30 Janis Johnson <janis187@us.ibm.com>
10166
10167 * install.texi (Final install): Add to the list of info to include
10168 in a report of a successful bootstrap, and add link to 3.1 list.
10169
3d34cd91
JH
10170Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
10171
10172 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
10173 (mode): Add vector modes
10174 (i387): Kill attribute.
10175 (unit): New attribute.
10176 (length_immediate): Grok new types.
10177 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
10178 (modrm): Use "unit".
10179 (memory): Handle MMX/SSE properly.
10180 (scheduling descriptions): Kill uses of fop1.
10181 (sse, mmx, fp patterns): Set type and mode properly.
10182
243e5500 10183Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
3193c415 10184
30482eb0
JL
10185 * pa.c (override_options): Default to PA8000 scheduling.
10186 * doc/invoke.texi (HP-PA options): Mention newly added 7300
10187 scheduling parameter.
10188
3193c415
JL
10189 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
10190 handling of double precision multiplies.
10191
10192 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
10193 fpdiv and fpsqrt instructions.
10194 (7200 & 7300 scheduling): Fix typo in handling of
10195 store-load and store-store penalties.
10196
c0a34cb7
GP
101972002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10198
10199 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
10200 mips. Add two missing commas.
10201
8bce0628
PC
102022002-04-30 Paolo Carlini <pcarlini@unitus.it>
10203
10204 * doc/contrib.texi (Contributors): Update Paolo Carlini's
10205 and Benjamin Kosnik's entries.
10206
84643cbf
DM
102072002-04-29 David S. Miller <davem@redhat.com>
10208
10209 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
10210 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
10211 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
10212 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
10213
da6886f6
FS
102142002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10215
10216 * combine.c (find_split_point): Use gen_int_mode.
10217
fae15c93
VM
102182002-04-29 Vladimir Makarov <vmakarov@redhat.com>
10219
10220 Merging code from dfa-branch:
8998d5bf 10221
fae15c93
VM
10222 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
10223
10224 * genautomata.c (output_reserv_sets): Fix typo.
10225
10226 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
10227
10228 * genautomata.c (output_reserv_sets): Remove
10229 next_cycle_output_flag.
10230
10231 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
10232
8998d5bf
ZW
10233 * sched-rgn.c (init_ready_list): Make the DFA code handle
10234 USE/CLOBBER insns in the same way as the traditional
10235 scheduler.
10236 (new_ready): Similarly..
fae15c93
VM
10237
10238 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
10239
10240 * haifa-sched.c (schedule_block): Change the DFA state only after
10241 issuing insn.
10242
10243 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
10244
10245 * pa.c (hppa_use_dfa_pipeline_interface): New function.
10246 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
10247 (override_options): Add PA7300 scheduling support.
10248 (pa_adjust_cost): Update various comments. Properly
10249 handle anti and output dependencies when using the
10250 DFA scheduler.
10251 (pa_issue_rate): Add PA7300 scheduling support.
10252 (pa_can_combine_p): Call extract_insn before calling
10253 constrain_operands (taken from mainline tree).
10254 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
10255 * pa.md (cpu attr): Add 7300. Rewrite pipeline
10256 descriptions using DFA descriptions. Add PA7300
10257 scheduling support.
10258
10259 2002-03-30 David S. Miller <davem@redhat.com>
10260
10261 Add UltraSPARC-III DFA scheduling support.
10262 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
10263 Update FP conditional move on register insn patterns to use it, as
10264 appropriate.
10265 (define_attr cpu): Add ultrasparc3.
10266 (define_attr us3load_type): New, update integer load patterns to
10267 set it, as appropriate.
10268 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
10269 (rest): Add UltraSPARC3 scheduling description.
10270 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
10271 (PROCESSOR_ULTRASPARC3): New.
10272 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
10273 ({ASM,CPP}_CPU_SPEC): Likewise.
10274 (REGISTER_MOVE_COST): Likewise.
10275 (RTX_COSTS): Likewise.
10276 * config/sparc/sparc.c (sparc_override_options,
10277 sparc_initialize_trampoline, sparc64_initialize_trampoline,
10278 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
10279 sparc_issue_rate): Likewise.
10280 * config/sparc/sol2.h: Likewise.
10281 * config/sparc/sol2-sld-64.h: Likewise.
10282 * config/sparc/linux64.h: Likewise.
8998d5bf 10283
fae15c93
VM
10284 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
10285
10286 * doc/md.texi: Add comments about usage the latency time for the
10287 different dependencies and about case when two or more conditions
10288 in different define_insn_reservations returns TRUE for an insn.
10289
10290 * doc/md.texi: Add reference for automaton based pipeline
10291 description.
8998d5bf 10292
fae15c93
VM
10293 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
10294
10295 * doc/passes.texi: Add missed information about genattrtab.
10296
10297 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
10298
10299 * genautomata.c (output_automata_list_transition_code): Check
10300 automata_list on NULL.
10301
10302 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
10303
10304 * genautomata.c (output_insn_code_cases,
10305 output_automata_list_min_issue_delay_code,
10306 output_automata_list_transition_code,
10307 output_automata_list_state_alts_code): Comment the functions.
10308
10309 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
10310
10311 * genautomata.c (automata_list_el_t): New typedef.
10312 (get_free_automata_list_el,free_automata_list_el,
10313 free_automata_list, automata_list_hash, automata_list_eq_p,
10314 initiate_automata_lists, automata_list_start, automata_list_add,
10315 automata_list_finish, finish_automata_lists,
10316 output_insn_code_cases, output_automata_list_min_issue_delay_code,
10317 output_automata_list_transition_code,
10318 output_automata_list_state_alts_code, add_automaton_state,
10319 form_important_insn_automata_lists): New functions and prototypes.
10320 (insn_reserv_decl): Add members important_automata_list and
10321 processed_p.
10322 (ainsn): Add members important_p.
10323 (automata_list_el): New structure.
10324 (first_free_automata_list_el, current_automata_list,
10325 automata_list_table): New global variables.
10326 (create_ainsns): Initiate member important_p.
10327 (output_internal_min_issue_delay_func): Generate the switch and
10328 call output_insn_code_cases.
10329 (output_internal_trans_func, output_internal_state_alts_func):
10330 Ditto.
10331 (generate): Call initiate_automata_lists.
10332 (automaton_states): New global variable.
10333 (expand_automata): Call form_important_insn_automata_lists.
10334 (write_automata): Call finish_automata_lists.
8998d5bf 10335
fae15c93
VM
10336 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
10337
10338 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 10339 cpu units in the sets belong the same automaton.
fae15c93
VM
10340
10341 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
10342 about that cpu units in the sets belong the same automaton.
10343
10344 * doc/md.texi: Ditto.
8998d5bf 10345
2799d721
VM
10346 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
10347 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 10348
fae15c93
VM
10349 * config/sh/sh.c (sh_use_dfa_interface): New function.
10350
10351 (sh_issue_rate): New Function.
10352 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
10353 TARGET_SCHED_ISSUE_RATE: define.
10354
10355 * config/sh/sh.md: Add DFA based pipeline description for SH4.
10356
8998d5bf
ZW
10357 (define_attr insn_class): New attribute used for DFA
10358 scheduling.
fae15c93
VM
10359 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
10360 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
10361 cmpeqdi_t): Likewise.
10362
10363 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 10364 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
10365 ex_group.
10366 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 10367
fae15c93
VM
10368 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
10369
10370 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
10371 break.
10372
10373 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
10374
10375 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
10376 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
10377 necessary.
10378 (output_dfa_start_func): Initiate new variable insn_codes_length,
10379 (write_automata): Output definition of the new variable.
8998d5bf 10380
fae15c93
VM
10381 2001-10-02 David S. Miller <davem@redhat.com>
10382
10383 * haifa-sched.c (advance_one_cycle): New function.
10384 (schedule_block): Use it.
10385 (queue_to_ready): Use it, and also make sure to advance the DFA
10386 state on all stall cycles, not just those where insn_queue links
10387 are found.
10388
10389 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
10390
10391 * haifa-sched.c (max_issue): Remove last_p argument. Only return
10392 non-zero if the highest-priority instruction could be scheduled.
10393 (choose_ready): Remove last argument from max_issue call.
10394
10395 2001-09-28 David S. Miller <davem@redhat.com>
10396
10397 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
10398 ultrasparc and 3 for other multi-issue sparcs.
10399
10400 2001-09-27 David S. Miller <davem@redhat.com>
10401
10402 * config/sparc/sparc.md (cycle_display): New pattern.
10403 * config/sparc/sparc.c (sparc_cycle_display): New.
10404 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
10405
10406 2001-09-25 David S. Miller <davem@redhat.com>
10407
10408 Convert all of Sparc scheduling to DFA
10409 * config/sparc/sparc.md: Kill all define_function_unit
10410 directives and replace with DFA equivalent.
10411 * config/sparc/sparc.c (ultrasparc_adjust_cost,
10412 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
10413 ultra_fpmode_conflict_exists, ultra_find_type,
10414 ultra_build_types_avail, ultra_flush_pipeline,
10415 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
10416 ultrasparc_variable_issue, ultrasparc_sched_init,
10417 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
10418 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
10419 ultra_cur_hist, ultra_cycles_elapsed): Kill.
10420 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
10421 ultrasparc_store_bypass_p): New.
10422 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
10423 Declare.
10424
10425 2001-09-24 David S. Miller <davem@redhat.com>
10426
10427 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
10428 ready->vec[foo] not ready[foo].
10429
10430 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
10431
10432 * doc/md.texi: Correct examples for define_insn_reservations
10433 `mult' and `div'.
10434
10435 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
10436
10437 * genautomata.c (create_automata): Print message about creation of
10438 each automaton.
10439 (generate): Remove printing meease about creation of
10440 automata.
10441
10442 2001-09-05 David S. Miller <davem@redhat.com>
10443
10444 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
10445 * config/sparc/linux64.h: Likewise.
10446
10447 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
10448
10449 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
10450 schedule_block, sched_init, sched_finish): Add missed calls of
10451 use_dfa_pipeline_interface.
10452
10453 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
10454 Ditto.
10455
10456 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 10457
fae15c93
VM
10458 2001-08-27 Richard Henderson <rth@redhat.com>
10459
10460 * genattr.c (main): Emit state_t even when not doing scheduling.
10461
10462 2001-08-27 Richard Henderson <rth@redhat.com>
10463
10464 * genautomata.c (expand_automata): Always create a description.
10465
10466 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
10467
8998d5bf 10468 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
10469 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
10470 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
10471 RTL constructions.
10472
10473 * genattr.c (main): New variable num_insn_reservations. Increase
10474 it if there is DEFINE_INSN_RESERVATION. Output automaton based
10475 pipeline hazard recognizer interface.
10476
10477 * genattrtab.h: New file.
10478
10479 * genattrtab.c: Include genattrtab.h.
10480 (attr_printf, check_attr_test, make_internal_attr,
10481 make_numeric_value): Move protypes into genattrtab.h. Define them
10482 as external.
10483 (num_dfa_decls): New global variable.
10484 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
10485 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
10486 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
10487 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
10488
10489 * genautomata.c: New file.
10490
10491 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
10492
8998d5bf 10493 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
10494 automaton pipeline interface.
10495 (haifa_insn_data): Add comments for members blockage and units.
10496
10497 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
10498 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
10499 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
10500 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
10501 TARGET_SCHED_DFA_POST_CYCLE_INSN,
10502 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
10503 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
10504 macros.
10505 (TARGET_SCHED): Use the new macros.
10506
10507 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
10508 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
10509 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
10510 dfa_bubble): New members in gcc_target.sched.
10511
8998d5bf 10512 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
10513 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
10514 (insn_queue): Redefine it as pointer to array.
10515 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
10516 INSN_QUEUE_SIZE.
10517 (max_insn_queue_index_macro_value): New variable.
10518 (curr_state, dfa_state_size, ready_try): New varaibles for
10519 automaton interface.
10520 (ready_element, ready_remove, max_issue): New function prototypes
10521 for automaton interface.
10522 (choose_ready): New function prototype.
10523 (insn_unit, blockage_range): Add comments.
10524 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
10525 FUNCTION_UNITS_SIZE == 0.
10526 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
10527 actual_hazard, potential_hazard): Add comments.
10528 (insn_cost): Use cost -1 as undefined value. Remove
10529 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
10530 pipeline interface.
10531 (ready_element, ready_remove): New functions for automaton
10532 interface.
10533 (schedule_insn): Add new code for automaton pipeline interface.
10534 (queue_to_ready): Add new code for automaton pipeline interface.
10535 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
10536 (debug_ready_list): Print newline when the queue is empty.
10537 (max_issue): New function for automaton pipeline interface.
10538 (choose_ready): New function.
10539 (schedule_block): Add new code for automaton pipeline interface.
10540 Print ready list before scheduling each insn.
10541 (sched_init): Add new code for automaton pipeline interface.
10542 Initiate insn cost by -1.
10543 (sched_finish): Free the current automaton state and finalize
10544 automaton pipeline interface.
10545
10546 * sched-rgn.c: Include target.h.
10547 (init_ready_list, new_ready, debug_dependencies): Add new code for
10548 automaton pipeline interface.
10549
10550 * sched-vis.c: Include target.h.
10551 (get_visual_tbl_length): Add code for automaton interface.
10552 (target_units, print_block_visualization): Add comments.
10553
8998d5bf 10554 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
10555 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
10556 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
10557 (getruntime.o, genautomata.o): New entries.
10558 (genattrtab.o): Add new dependency file genattrtab.h.
10559 (genattrtab): Add new dependencies. Link it with `libm.a'.
10560 (getruntime.o, hashtab.o): New entries for canadian cross.
10561
10562 * doc/md.texi: Description of automaton based model.
10563
10564 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
10565 Add comments.
10566 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
10567 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
10568 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
10569 TARGET_SCHED_DFA_POST_CYCLE_INSN,
10570 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
10571 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
10572 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
10573 hook descriptions.
10574 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
10575 MAX_DFA_ISSUE_RATE): New macro descriptions.
10576
10577 * doc/contrib.texi: Add dfa based scheduler contribution.
10578
10579 * doc/gcc.texi: Add more information about genattrtab.
10580
a2ff290c
RK
10581Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10582
10583 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
10584 adjust_address_nv call.
10585
f97903cc
JJ
105862002-04-29 Janis Johnson <janis187@us.ibm.com>
10587
10588 * doc/install.texi (Testing): Provide additional information, and
10589 a stronger encouragement, for running the testsuites.
10590
f41a6bf1
DD
105912002-04-29 DJ Delorie <dj@redhat.com>
10592
10593 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
10594 given in upper case.
10595
d8af0868
RO
105962002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10597
10598 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
10599 Solaris 2 <widec.h> if missing.
10600 * fixinc/fixincl.x: Regenerate.
10601 * fixinc/tests/base/widec.h: New file.
10602
1034407f
NC
106032002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
10604
10605 * toplev.c (f_options): Add "profile" switch so that
10606 -fno-profile can be used to disable -p.
10607
fbe5eb6d
BS
106082002-04-29 Bernd Schmidt <bernds@redhat.com>
10609
10610 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
10611 UV2DImode.
10612 * tree.c (build_common_tree_nodes_2): Likewise.
10613 * tree.h (enum tree_index): Likewise.
10614 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
10615
10616 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
10617 entries.
10618 (init_mmx_sse_builtins): Initialize SSE2 builtins.
10619 (ix86_expand_builtin): Add support for SSE2 builtins.
10620 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
10621 (VALID_SSE_REG_MODE): Use it.
10622 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
10623 (enum ix86_builtins): Add SSE2 builtins.
10624 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
10625 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
10626 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
10627 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
10628 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
10629 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
10630 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
10631 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
10632 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
10633 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
10634 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
10635 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
10636 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
10637 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
10638 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
10639 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
10640 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
10641 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
10642 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
10643 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
10644 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
10645 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
10646 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
10647 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
10648 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
10649 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
10650 lfence_insn): New patterns.
10651 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
10652 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
10653
44aefada
JH
10654Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
10655
10656 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
10657
d5482cdc
GP
106582002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10659
10660 * doc/contrib.texi (Contributors): Add Paolo Carlini and
10661 Janis Johnson.
10662 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
10663 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
10664 and CPU instead of cpu.
10665
2c4b77f3
JH
10666Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
10667
10668 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
10669 variables.
10670 (lang_independent_options): Add -fif-conversion, -fif-conversion2
10671 (rest_of_compilation): Do if conversion only when asked for.
10672 (parse_options_and_default_flags): Set new variables to 1 for -O1
10673 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
10674
3de72741
JH
10675Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
10676
10677 * i386.c (dbx64_register_map): Fix typo.
10678
8aa18a7d
JH
10679Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
10680
10681 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
10682 real_one_half, real_bb_freq_max): New static variables.
10683 (debug_profile_bbauxs): Kill.
10684 (process_note_predictions): Kill unused variable.
10685 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
10686 volatile double.
10687 (propagate_freq): Use REAL_ARITHMETICS.
10688 (estimate_bb_frequencies): Likevise; init new static variables.
10689 * Makefile.in (predict.o): Add dependency on real.h
10690
1bbad4c6
DM
106912002-04-28 David S. Miller <davem@redhat.com>
10692
10693 PR target/6500
10694 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
10695 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
10696 several {reads,writes} instead.
10697 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
10698 Define.
10699
3ef3f384
DM
107002002-04-27 David S. Miller <davem@redhat.com>
10701
10702 PR target/6494
10703 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
10704 of the stack bias.
10705
10706 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
10707 including signal.h and sys/ucontext.h, not needed.
10708
ec493bcb
HPN
107092002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
10710
10711 * varasm.c (output_constant_def): Correct test for not calling
10712 ENCODE_SECTION_INFO for INTEGER_CST.
10713
60284a59
NB
107142002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
10715
10716 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
10717 keep most cases as function eval_token.
10718 (eval_token): New function.
10719 (_cpp_parse_expr): Read token here for improved diagnostics.
10720 Don't use op_as_text. Detect bad ':' here.
10721 (reduce): Don't detect bad ':' here.
10722 (op_as_text): Remove.
10723 * cpphash.h (_cpp_test_assertion): Change prototype.
10724 * cpplib.c (_cpp_test_assertion): Change prototype.
10725
349a4b40
RH
107262002-04-28 Richard Henderson <rth@redhat.com>
10727
10728 PR c/5154
8998d5bf 10729 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
10730 (ggc_mark_rtx_children): New.
10731
7a03f82f
JJ
107322002-04-28 Jakub Jelinek <jakub@redhat.com>
10733
10734 PR target/6496
10735 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
10736 after call peepholes for UltraSPARC.
10737 (call + jump 64-bit peepholes): Remove.
10738
80103f96
FS
107392002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10740
10741 PR c/6497
10742 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
10743 result as temporary value.
10744
06990986
JJ
107452002-04-28 Jakub Jelinek <jakub@redhat.com>
10746
10747 PR c++/6396
10748 * toplev.c (rest_of_compilation): Only run regrename and copy
10749 propagation if optimizing.
10750
a20fd5ac
JJ
107512002-04-28 Jakub Jelinek <jakub@redhat.com>
10752
10753 PR optimization/6475
10754 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
10755 register of REGNO_DECL (i).
10756 * Makefile.in (reload1.o): Add $(TREE_H).
10757
87ed109f
NB
107582002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
10759
10760 * cppexp.c (lex): Update to use state.skip_eval.
10761 (struct op): Remove prio and flags members.
10762 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
10763 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
10764 (LEFT_ASSOC): New macro.
10765 (optab): New table of operator priorities and flags.
10766 (SHIFT): Update.
10767 (_cpp_parse_expr): Clean up logic. Return bool. Use a
10768 malloc-ed parser stack.
10769 (reduce): New; reduce the operator stack.
10770 (_cpp_expand_op_stack): Expand the operator stack as necessary.
10771 * cpphash.h (struct op): Predeclare.
10772 (struct cpp_reader): New members op_stack, op_limit.
10773 (struct lexer_state): New member skip_eval.
10774 (_cpp_parse_expr): Update.
10775 (_cpp_expand_op_stack): New.
10776 * cpplib.c (do_if): Update.
10777 * cppinit.c (cpp_create_reader): Create op stack.
10778 (cpp_destroy): And destroy it.
10779 * cpplib.h (CPP_LAST_CPP_OP): Correct.
10780 (TTYPE_TABLE): Correct.
10781
45806a3f
FS
107822002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10783
10784 PR c/6343
10785 * c-decl.c (duplicate_decls): Call merge_weak.
10786 * c-pragma.c (apply_pragma_weak): Warn about misuse.
10787 * output.h (merge_weak): Prototype merge_weak.
10788 * varasm.c (merge_weak): New function.
10789 (declare_weak): Make sure we don't give an error on VAR_DECLs.
10790 Mark RTL with SYMBOL_REF_WEAK.
10791
a6227154
KG
107922002-04-27 Kurt Garloff <garloff@suse.de>
10793
10794 * tree-inline.c (inlinable_function_p): Improve heuristics
10795 by using a smoother function to cut down allowable inlinable size.
10796 * param.def: Add parameters max-inline-insns-single,
10797 max-inline-slope, min-inline-insns that determine the exact
10798 shape of the above function.
10799 * param.h: Likewise.
10800
94a50397
RH
108012002-04-26 Richard Henderson <rth@redhat.com>
10802
10803 * c-parse.in (malloced_yyss, malloced_yyvs): New.
10804 (yyoverflow): Re-add. Set them.
10805 (free_parser_stacks): New.
10806 * c-common.h: Declare it.
10807 * c-lex.c (c_common_parse_file): Call it.
10808
9c0a0632
RH
108092002-04-26 Richard Henderson <rth@redhat.com>
10810
10811 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
10812 for fallthru search.
10813
b875d2ee
EC
108142002-04-26 Eric Christopher <echristo@redhat.com>
10815
10816 PR optimization/3700
10817 * config/mips/mips.c (mips_issue_rate): Define. New function.
10818 (TARGET_SCHED_ISSUE_RATE): Use.
10819
1db828df
DM
108202002-04-25 David S. Miller <davem@redhat.com>
10821
10822 PR target/6422
10823 * reorg.c (optimize_skip): Do not allow exception causing
10824 instructions to be considered for delay slots.
10825 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
10826 (relax_delay_slots): Do not try to consider exception causing
10827 instructions as redundant.
10828
ae5d234e
RH
108292002-04-26 Richard Henderson <rth@redhat.com>
10830
10831 PR c/5225
10832 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
10833
7d793e9b
MM
108342002-04-26 Mark Mitchell <mark@codesourcery.com>
10835
10836 PR bootstrap/6445
10837 * config/i386/i386.md (untyped_call): Return the value in a float
10838 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
10839 TARGET_80387.
10840
b13ab42c
AO
108412002-04-26 Alexandre Oliva <aoliva@redhat.com>
10842
10843 * tree.c (tree_int_cst_lt): Compare constants whose types differ
10844 in unsigned-ness correctly.
10845
5e56f909
JDA
108462002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
10847
10848 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
10849 portable runtime model.
10850
bde3c0c0
RH
108512002-04-26 Richard Henderson <rth@redhat.com>
10852
a6227154 10853 * c-parse.in (yyoverflow): Revert.
bde3c0c0 10854
5276df18
DE
108552002-04-26 David Edelsohn <edelsohn@gnu.org>
10856 Richard Henderson <rth@redhat.com>
10857
10858 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
10859 result as temporary value.
10860
b84a3874
RH
108612002-04-26 Richard Henderson <rth@redhat.com>
10862
10863 PR c/3581
10864 * c-common.c (fix_string_type): Split out of ...
10865 (combine_strings): ... here. Take a varray, not a tree list.
10866 (c_expand_builtin_printf): Use fix_string_type.
10867 * c-common.h: Update decls.
10868 * c-parse.in (string): Remove. Update all uses to use STRING
10869 instead, and not call combine_strings.
10870 (yylexstring): New.
10871 (_yylex): Use it.
10872 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
10873 (build_asm_stmt): Likewise.
10874 * objc/objc-act.c (my_build_string): Use fix_string_type.
10875 (build_objc_string_object): Build varray for combine_strings.
10876
d8ae8cd4
BT
108772002-04-26 Bo Thorsen <bo@suse.co.uk>
10878
10879 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
10880 x86-64.
10881
f8b954fc
NB
108822002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
10883
10884 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
10885 (HAVE_NO_R_OPERAND): Remove.
10886 (HAVE_VALUE): Remove.
10887 (op_to_prio): Update.
10888 (UNARY): Don't alter flags.
10889 (_cpp_parse_expr): want_value used to indicate whether
10890 a number or unary operator is expected next. Distinguish
10891 unary and binary +/-.
10892 (op_as_text): Update for unary operators.
10893
6052bef0
RH
108942002-04-25 Richard Henderson <rth@redhat.com>
10895
10896 PR c/2161
10897 * c-parse.in (yyoverflow): New.
10898
5c5b2283
RH
108992002-04-25 Richard Henderson <rth@redhat.com>
10900
10901 PR c/2098
10902 * c-common.c (shorten_compare): Simplfy conditions leading to
10903 the generation of a warning.
10904
28ce94d4
RH
109052002-04-25 Richard Henderson <rth@redhat.com>
10906
10907 PR c/2035
10908 * expmed.c (extract_bit_field): Fall through to generic code rather
10909 than aborting on subreg special case.
10910
6bfd0c63
DM
109112002-04-25 David S. Miller <davem@redhat.com>
10912
10913 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
10914 for DECL being NULL.
10915
7a430e3b
SC
109162002-04-25 Steve Christiansen <smc@us.ibm.com>
10917
10918 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
10919
45c42d7d
EB
109202002-04-25 Eric Botcazou <ebotcazou@multimania.com>
10921
10922 * c-decl.c (grokdeclarator): Remove outdated ??? note
10923 on invalid declaration of flexible array members.
10924
eb7715a4
RH
109252002-04-25 Richard Henderson <rth@redhat.com>
10926
10927 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
10928
cf5ee720
UW
109292002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
10930
10931 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
10932 needed by the compiler, even if they are used as global regs.
10933
d604bca3
MH
109342002-04-25 Matt Hiller <hiller@redhat.com>
10935
10936 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
10937 functions.
10938 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
10939 of the corresponding functions.
10940 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
10941 New prototypes.
b875d2ee 10942
d604bca3
MH
109432002-04-25 Matt Hiller <hiller@redhat.com>
10944
10945 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
10946
10947 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
10948 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
10949 registers, adjust comment accordingly.
10950 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
10951 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
10952 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
10953 for coprocessor registers.
10954 (ADDITIONAL_REGISTER_NAMES): Include
10955 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 10956
d604bca3
MH
10957 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
10958 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
10959 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
10960 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
10961 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
10962
10963 (mips_char_to_class): Adjust comment to include coprocessor
10964 constraint letters.
10965
10966 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
10967 New functions.
10968 (mips_reg_names, mips_regno_to_class): Include coprocessor
10969 information.
10970 (mips_sw_reg_names): Ditto, make non-static.
10971 (mips_move_1word): Handle moves to and from coprocessor registers.
10972 (mips_move_2words): Handle moves to and from coprocessor
10973 registers.
10974 (mips_class_max_nregs, mips_register_move_cost): Handle
10975 coprocessor register classes.
10976 (override_options): Initialize mips_char_to_class and
10977 mips_hard_regno_mode_ok properly for coprocessor registers.
10978
10979 * config/mips/mips.md (movdi_internal, movdi_internal2,
10980 movsi_internal1, movsi_internal2): Add constraint-sets for
10981 coprocessor registers.
10982 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
10983 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
10984 isn't mips.
10985 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
10986 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
10987 isn't mips.
10988 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
10989 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
10990 isn't mips.
10991 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
10992 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
10993 isn't mips.
b875d2ee 10994
d604bca3
MH
10995 * doc/tm.texi: Document feature.
10996
b9a26d09
NB
109972002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
10998
10999 * integrate.c (function_attribute_inlinable_p): Simplify.
11000 Check the table pointer is not NULL.
11001
ab5973b7
SB
110022002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
11003
11004 * doc/c-tree.texi: Fix typo in introduction.
11005
ff45c01e
NB
110062002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
11007
11008 * c-common.h (c_common_parse_file): Update.
11009 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
11010 * c-lex.c (YYDEBUG): Get from c-lex.h.
11011 (c_common_parse_file): Update.
11012 * c-lex.h (YYDEBUG, yydebug): New.
11013 * c-parse.in (YYDEBUG): Get from c-lex.h.
11014 (c_set_yydebug): Remove.
11015 * c-tree.h (c_set_yydebug): Remove.
11016 * langhooks-def.h (lhd_do_nothing_i): New.
11017 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
11018 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
11019 * langhooks.c (lhd_do_nothing_i): New.
11020 (lhd_set_yydebug): Remove.
11021 * langhooks.h (struct lang_hooks): Update.
11022 * toplev.c (set_yydebug): New.
11023 (compile_file): Update call to parse_file hook.
11024 (decode_d_option): Update.
11025objc:
11026 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
11027
fcae219a
R
11028Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
11029
11030 * loop.c (load_mems): Don't change the interface of called functions.
11031
11032 * calls.c (expand_call): Take current_function_pretend_args_size
11033 into account when setting argblock for sibcalls.
11034
d0fea45a
MH
110352002-04-24 Matt Hiller <hiller@redhat.com>
11036
11037 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
11038 * c-lex.c: Ditto.
11039
11040 * cpplex.c (skip_line_comment): Process comment one multibyte
11041 character at a time rather than one char at a time, if
11042 appropriate.
11043 (parse_string): Process string one multibyte character at a time
11044 rather than one char at a time, if appropriate.
11045 * c-lex.c (lex_string): Lex and copy multibyte strings
11046 appropriately.
11047 * cpplib.h (cppchar_t): Change to unsigned.
11048
2d1b5436
RH
110492002-04-24 Richard Henderson <rth@redhat.com>
11050
11051 PR c/3467
11052 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
11053 for c99.
11054
5e039e6b
R
11055Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
11056
11057 * sh.c (sh_va_arg): If argument was passed by reference,
11058 dereference the pointer.
309d8365
R
11059
11060 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
11061
11062 * sh.md (divsi3_i4_media): Use match_operand for input values
11063 rather than hard registers.
11064 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
11065 unnecessarily through hard registers. Keep copies of pseudo
11066 registers outside of the libcall sequence.
11067
11068 * sh.md (casesi_shift_media): Add modes.
b700634a
R
11069
11070 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
11071 values in memory.
11072
349ae713
NB
110732002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
11074
11075 * attribs.c (c_common_attribute_table): Move table and handlers
11076 to c-common.c.
11077 (format_attribute_table, lang_attribute_table,
11078 lang_attribute_common): Remove.
11079 (init_attributes): Replace NULL pointers with pointers to the
11080 empty table.
11081 (handle_packed_attribute, handle_nocommon_attribute,
11082 handle_common_attribute, handle_noreturn_attribute,
11083 handle_noinline_attribute, handle_always_inline_attribute,
11084 handle_used_attribute, handle_unused_attribute,
11085 handle_const_attribute, handle_transparent_union_attribute,
11086 handle_constructor_attribute, handle_destructor_attribute,
11087 handle_mode_attribute, handle_section_attribute,
11088 handle_aligned_attribute, handle_weak_attribute,
11089 handle_alias_attribute, handle_visibility_attribute,
11090 handle_no_instrument_function_attribute, handle_malloc_attribute,
11091 handle_no_limit_stack_attribute, handle_pure_attribute,
11092 handle_deprecated_attribute, handle_vector_size_attribute,
11093 vector_size_helper): Move to c-common.c.
11094 * c-common.c (c_common_attribute_table,
11095 handle_packed_attribute, handle_nocommon_attribute,
11096 handle_common_attribute, handle_noreturn_attribute,
11097 handle_noinline_attribute, handle_always_inline_attribute,
11098 handle_used_attribute, handle_unused_attribute,
11099 handle_const_attribute, handle_transparent_union_attribute,
11100 handle_constructor_attribute, handle_destructor_attribute,
11101 handle_mode_attribute, handle_section_attribute,
11102 handle_aligned_attribute, handle_weak_attribute,
11103 handle_alias_attribute, handle_visibility_attribute,
11104 handle_no_instrument_function_attribute, handle_malloc_attribute,
11105 handle_no_limit_stack_attribute, handle_pure_attribute,
11106 handle_deprecated_attribute, handle_vector_size_attribute,
11107 vector_size_helper): Move from attribs.c.
11108 * c-common.h (c_common_attribute_table,
11109 c_common_format_attribute_table): New.
11110 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
11111 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
11112 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
11113 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
11114 (LANG_HOOKS_INITIALIZER): Update.
11115 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
11116 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
11117 * target.h: Update comment.
11118 * tree.c (default_target_attribute_table): Remove.
11119 * tree.h (default_target_attribute_table, format_attribute_table,
11120 lang_attribute_table, lang_attribute_common): Remove.
11121objc:
11122 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
11123 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
11124
84f0ace0
JM
111252002-04-24 Jason Merrill <jason@redhat.com>
11126
11127 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
11128 * dwarf2out.c (dwarf_attr_name): Support it.
11129 (gen_array_type_die): Emit it.
11130 (lookup_type_die): No special handling for VECTOR_TYPE.
11131 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
11132
120eaf28
RH
111332002-04-24 Richard Henderson <rth@redhat.com>
11134
11135 * config/mips/mips.md (movdi_usd): Renumber.
11136
e732178c
DM
111372002-04-24 David S. Miller <davem@redhat.com>
11138
11139 PR target/6420
11140 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
11141 32-bit Sparc and current_function_returns_struct is true.
11142
e879eb2f
JH
11143Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
11144
11145 * loop.c (canonicalize_condition): Use gen_int_mode.
11146
4287a893
AH
111472002-04-24 Aldy Hernandez <aldyh@redhat.com>
11148
11149 * config/rs6000/altivec.h: Cleanup file. Add non individual
11150 variants.
11151 (vec_vaddubm): New.
11152 (vec_vadduhm): New.
11153 (vec_vadduwm): New.
11154 (vec_vaddfp): New.
11155 (vec_vaddcuw): New.
11156 (vec_vaddubs): New.
11157 (vec_vaddsbs): New.
11158 (vec_vadduhs): New.
11159 (vec_vadduws): New.
11160 (vec_vaddsws): New.
11161 (vec_vand): New.
11162 (vec_vandc): New.
11163 (vec_vavgub): New.
11164 (vec_vavgsb): New.
11165 (vec_vavguh): New.
11166 (vec_vavgsh): New.
11167 (vec_vavguw): New.
11168 (vec_vavgsw): New.
11169 (vec_vrfip): New.
11170 (vec_vcmpbfp): New.
11171 (vec_vcmpequb): New.
11172 (vec_vcmpequh): New.
11173 (vec_vcmpequw): New.
11174 (vec_vcmpeqfp): New.
11175 (vec_vcmpgefp): New.
11176 (vec_vcmpgtub): New.
11177 (vec_vcmpgtsb): New.
11178 (vec_vcmpgtuh): New.
11179 (vec_vcmpgtsh): New.
11180 (vec_vcmpgtuw): New.
11181 (vec_vcmpgtsw): New.
11182 (vec_vcmpgtfp): New.
11183 (vec_vcmpgefp): New.
11184 (vec_vcfux): New.
11185 (vec_vcfsx): New.
11186 (vec_vctsxs): New.
11187 (vec_vctuxs): New.
11188 (vec_vexptefp): New.
11189 (vec_vrfim): New.
11190 (vec_lvx): New.
11191 (vec_lvebx): New.
11192 (vec_lvehx): New.
11193 (vec_lde): Add vector float variant.
11194 (vec_lvewx): New.
11195 (vec_lvxl): New.
11196 (vec_vlogefp): New.
11197 (vec_vmaddfp): New.
11198 (vec_vmhaddshs): New.
11199 (vec_vmaxub): New.
11200 (vec_vmaxsb): New.
11201 (vec_vmaxuh): New.
11202 (vec_vmaxsh): New.
11203 (vec_vmaxuw): New.
11204 (vec_vmaxsw): New.
11205 (vec_vmaxsw): New.
11206 (vec_vmaxfp): New.
11207 (vec_vmrghb): New.
11208 (vec_vmrghh): New.
11209 (vec_vmrghw): New.
11210 (vec_vmrglb): New.
11211 (vec_vmrglh): New.
11212 (vec_vmrglw): New.
11213 (vec_vminub): New.
11214 (vec_vminsb): New.
11215 (vec_vminuh): New.
11216 (vec_vminsh): New.
11217 (vec_vminuw): New.
11218 (vec_vminsw): New.
11219 (vec_vminfp): New.
11220 (vec_vmladduhm): New.
11221 (vec_vmhraddshs): New.
11222 (vec_msumubm): New.
11223 (vec_vmsummbm): New.
11224 (vec_vmsumuhm): New.
11225 (vec_vmsumshm): New.
11226 (vec_vmsumuhs): New.
11227 (vec_vmsumshs): New.
11228 (vec_vmuleub): New.
11229 (vec_vmulesb): New.
11230 (vec_vmuleuh): New.
11231 (vec_vmulesh): New.
11232 (vec_vmuloub): New.
11233 (vec_mulosb): New.
11234 (vec_vmulouh): New.
11235 (vec_vmulosh): New.
11236 (vec_vnmsubfp): New.
11237 (vec_vnor): New.
11238 (vec_vor): New.
11239 (vec_vpkuhum): New.
11240 (vec_vpkuwum): New.
11241 (vec_vpkpx): New.
11242 (vec_vpkuhus): New.
11243 (vec_vpkshss): New.
11244 (vec_vpkuwus): New.
11245 (vec_vpkswss): New.
11246 (vec_vpkshus): New.
11247 (vec_vpkswus): New.
11248 (vec_vperm): New.
11249 (vec_vrefp): New.
11250 (vec_vrlb): New.
11251 (vec_vrlh): New.
11252 (vec_vrlw): New.
11253 (vec_vrfin): New.
11254 (vec_vrsqrtefp): New.
11255 (vec_vsel): New.
11256 (vec_vslb): New.
11257 (vec_vslh): New.
11258 (vec_vslw): New.
11259 (vec_vsldoi): New.
11260 (vec_vsl): New.
11261 (vec_vslo): New.
11262 (vec_vspltb): New.
11263 (vec_vsplth): New.
11264 (vec_vspltw): New.
11265 (vec_vspltisb): New.
11266 (vec_vspltish): New.
11267 (vec_vspltisw): New.
11268 (vec_vsrb): New.
11269 (vec_vsrh): New.
11270 (vec_vsrw): New.
11271 (vec_vsrab): New.
11272 (vec_vsrah): New.
11273 (vec_vsraw): New.
11274 (vec_vsr): New.
11275 (vec_vsro): New.
11276 (vec_stvx): New.
11277 (vec_stvebx): New.
11278 (vec_stvehx): New.
11279 (vec_stvewx): New.
11280 (vec_stvxl): New.
11281 (vec_vsububm): New.
11282 (vec_vsubuhm): New.
11283 (vec_vsubuwm): New.
11284 (vec_vsubfp): New.
11285 (vec_vsubcuw): New.
11286 (vec_vsububs): New.
11287 (vec_vsubsbs): New.
11288 (vec_vsubuhs): New.
11289 (vec_vsubshs): New.
11290 (vec_vsubuws): New.
11291 (vec_vsubsws): New.
11292 (vec_vsum4ubs): New.
11293 (vec_vsum4sbs): New.
11294 (vec_vsum4shs): New.
11295 (vec_vsum2sws): New.
11296 (vec_vsumsws): New.
11297 (vec_vrfiz): New.
11298 (vec_vupkhsb): New.
11299 (vec_vupkhpx): New.
11300 (vec_vupkhsh): New.
11301 (vec_vupklsb): New.
11302 (vec_vupklpx): New.
11303 (vec_vupklsh): New.
11304 (vec_vxor): New.
11305
cff27795
EB
113062002-04-23 Eric Botcazou <ebotcazou@multimania.com>
11307
11308 PR c/5430
11309 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
11310 added literals from substracted literals.
11311 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
11312 (fold) [associate]: Preserve MINUS_EXPR if needed.
11313
952bca84
ZW
113142002-04-23 Zack Weinberg <zack@codesourcery.com>
11315
11316 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
11317 are obsoleted.
11318
50cb2154
TT
113192002-04-23 Tom Tromey <tromey@redhat.com>
11320
11321 * gcc.c: Added --resource. For PR java/6314.
11322
271f61fb
DB
113232002-04-23 David O'Brien <obrien@FreeBSD.org>
11324
9566d1e9 11325 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
11326 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
11327 these libraries.
11328
bdabbc80
DB
113292002-04-23 David O'Brien <obrien@FreeBSD.org>
11330
11331 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
11332
74411039
JH
11333Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
11334
11335 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
11336 workaround.
11337 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
11338 (ix86_expand_clrstr): Fix typo.
11339 * loop.c (gen_load_of_final_value): New.
11340 (loop_givs_rescan, strength_reduce, check_dbra_loop):
11341 Use it.
11342
1a887f86
RS
113432002-04-23 Roger Sayle <roger@eyesopen.com>
11344
11345 * builtins.c (builtin_memset_gen_str): New function.
11346 (expand_builtin_memset): Optimize the case of constant length, but
11347 unknown value.
11348
8d3441e0
AH
113492002-04-23 Aldy Hernandez <aldyh@redhat.com>
11350
cff27795
EB
11351 * config/rs6000/altivec.h (vec_step): Remove extraneous
11352 parentheses.
11353 (vec_ctu): Cast return.
8d3441e0 11354
f6f315fe
AM
113552002-04-23 Alan Modra <amodra@bigpond.net.au>
11356
11357 PR target/6413
11358 * function.h: (struct function): Add profile_label_no field.
11359 (current_function_profile_label_no): Define.
11360 * function.c: (profile_label_no): New static var.
11361 (expand_function_start): Increment it, and copy to
11362 current_function_profile_label_no.
11363 * output.h (profile_label_no): Delete.
11364 * final.c (profile_label_no): Delete.
11365 (profile_function): Use current_function_profile_label_no.
11366 (final_end_function): Don't increment profile_label_no here.
11367 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
11368 profile_label_no with current_function_profile_label_no.
11369 * config/pa/pa.c (current_function_number): Delete.
11370 (pa_output_function_prologue): Don't output profile label here.
11371 (hppa_profile_hook): Use label_no param rather than
11372 current_function_number.
11373 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
11374 * config/pa/pa.h: .. here.
11375 (FUNCTION_PROFILER): Output profile label here.
11376
d239cdc0
EC
113772002-04-22 Eric Christopher <echristo@redhat.com>
11378
11379 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
11380 patch of 2002-04-09 due to binutils issues.
11381 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
11382
04428ad4
AH
113832002-04-22 Aldy Hernandez <aldyh@redhat.com>
11384
cff27795
EB
11385 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
11386 constraint to 'o' for m=r and r=m alternatives.
11387 ("*movv8hi_internal1"): Same.
11388 ("*movv16qi_internal1"): Same.
11389 ("*movv4sf_internal1"): Same.
04428ad4 11390
2adc7f12
JJ
113912002-04-22 Janis Johnson <janis187@us.ibm.com>
11392
11393 * rtl.h (RTX_FLAG): New macro.
11394 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
11395 * final.c (alter_subreg): Use macro to access rtx flag.
11396 * integrate.c (copy_rtx_and_substitute): Use new access macro.
11397 * print-rtl.c (print_rtx): Use new access macro.
11398
11399 * cse.c (insert): Check rtx code before accessing flag.
11400
11401 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
11402 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
11403 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
11404 convert_const_symbol_ref, make_canonical, make_alternative_compare,
11405 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
11406 simplify_test_exp, optimize_attrs, simplify_by_exploding,
11407 find_and_mark_used_attributes, unmark_used_attributes,
11408 add_values_to_cover, simplify_with_current_value,
11409 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
11410 copy_rtx_unchanging, main): Use new access macros.
11411
b7c89afe
TR
114122002-04-22 Tom Rix <trix@redhat.com>
11413
11414 * expmed.c (init_expmed): Generate shifted constant once.
11415
9340544b
ZW
114162002-04-22 Zack Weinberg <zack@codesourcery.com>
11417
11418 * c-lex.c (lex_charconst): Call convert to get constant in
11419 proper type; don't just smash the type field.
11420 Fixes PR c/6300.
11421
11422 * config.gcc: Add list of obsolete configurations. Disallow
11423 building these without --enable-obsolete.
11424 * doc/install.texi: Document --enable-obsolete and obsoletion
11425 policy. Mention obsoletion of individual targets in
11426 appropriate places.
11427
f942d7a5
RH
114282002-04-22 Richard Henderson <rth@redhat.com>
11429
11430 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
11431
114322002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
11433
11434 PR f/6138.
11435 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
11436 (walk_fixup_memory_subreg): Likewise.
11437 (fixup_var_refs_insn): Adjust accordingly.
11438 (fixup_var_refs_1): Likewise.
11439
232b0b45
UW
114402002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
11441
11442 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
11443 LIBPATH_ARCH64_SPEC): Define.
11444 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
11445 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
11446 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
11447 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
11448
1b61552b
JS
114492002-04-22 Joel Sherrill <joel@OARcorp.com>
11450
11451 * gthr-rtems.h: Correct prototypes to remove warnings.
11452
0fe854a7
RH
114532002-04-22 Richard Henderson <rth@redhat.com>
11454
11455 PR c/6344
11456 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
11457
11458 * gcse.c (free_insn_expr_list_list): New.
11459 (clear_modify_mem_tables): Use it. Fix bit set usage.
11460 (canon_list_insert): Use EXPR_LISTs for expressions.
11461 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
11462
af0d16cd
NB
114632002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
11464
11465 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
11466 file change and include code to _cpp_pop_buffer.
11467 * cpphash.h (struct pending_option): Predeclare.
11468 (struct cpp_reader): New member next_include_file.
11469 (_cpp_pop_file_buffer): Update.
11470 (_cpp_push_next_buffer): Update, rename.
11471 * cppinit.c (cpp_destroy): Free include chain and pending here.
11472 (cpp_finish_options): Simplify.
11473 (_cpp_push_next_buffer): Rename and clean up.
11474 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
11475 Clarify.
11476 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
11477
0d918572
AH
114782002-04-22 Aldy Hernandez <aldyh@redhat.com>
11479
0fe854a7
RH
11480 * config/rs6000/altivec.h (vec_xor): Add variant for both args
11481 being vector signed int.
11482 (vec_andc): Same.
11483 (vec_xor): Add variant for both args being vector signed char.
11484 Remove redundant variant.
11485 (vec_andc): Same.
0d918572 11486
77e2c290
DM
114872002-04-21 David S. Miller <davem@redhat.com>
11488
11489 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
11490 compare mode in output RTL.
11491
ee2ca2a2
DE
114922002-04-22 David Edelsohn <edelsohn@gnu.org>
11493
11494 * config/rs6000/rs6000.c (rs6000_override_options): Correct
11495 style and formatting of previous patch.
11496
894bdff6
AM
114972002-04-22 Alan Modra <amodra@bigpond.net.au>
11498
11499 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
11500 flag_pic for ABI_AIX.
11501
562a5c27
NB
115022002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
11503
11504 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
11505 * cppfiles.c (read_include_file): Similarly.
11506 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
11507 uxstrdup ustrchr, ufputs): Similarly.
11508 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
11509 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
11510 cpp_ideq, parse_identifier, parse_number): Similarly.
11511 * cpplib.c (struct directive, dequote_string, D, run_directive,
11512 cpp_push_buffer): Similarly.
11513 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
11514 _cpp_create_definition, check_trad_stringification,
11515 cpp_macro_definition): Similarly.
11516
9ac3b1be
NB
115172002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
11518
11519 * cppmacro.c (funlike_invocation_p): Don't step back
11520 over CPP_EOF.
11521
9dda4cc8
DE
115222002-04-21 David Edelsohn <edelsohn@gnu.org>
11523
11524 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
11525 labelno.
11526
20764052
JM
115272002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
11528
11529 * doc/invoke.texi: Remove Chill references.
11530 * doc/gcc.texi: Update last modified date.
11531
26b29884
KH
115322002-04-20 Kazu Hirata <kazu@hxi.com>
11533
11534 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
11535 push and pop. Replace add.l with add.w.
11536
59184677
TM
115372002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
11538
11539 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
11540 multiply instructions for H8/300H case.
11541
b1113e0a
TM
115422002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
11543
11544 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
11545 Bum three instructions from each routine.
11546
b03e38e1
NB
115472002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
11548
11549 * Makefile.in: Update.
11550 * decl.c (push_c_function_context, pop_c_function_context,
11551 mark_c_function_context): Rename for consistency.
11552 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
11553 * c-tree.h (push_c_function_context, pop_c_function_context,
11554 mark_c_function_context): Rename for consistency.
11555 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
11556 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
11557 * function.c (init_lang_status, save_lang_status,
11558 restore_lang_status, mark_lang_status, free_lang_status):
11559 Move to langhooks.h.
11560 (push_function_context_to, pop_function_context_from,
11561 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
11562 Update.
11563 * function.h (init_lang_status, save_lang_status,
11564 restore_lang_status, mark_lang_status, free_lang_status):
11565 Move to langhooks.h.
11566 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
11567 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
11568 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
11569 LANG_HOOKS_FUNCTION_INITIALIZER): New.
11570 (LANG_HOOKS_INITIALIZER): Update.
11571 (lhd_do_nothing_f): New.
11572 * langhooks.h (struct lang_hooks_for_functions): New.
11573 (struct lang_hooks): New hooks.
11574 * langhooks.c (lhd_do_nothing_f): New.
11575objc:
11576 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
11577 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
11578
db430d26
DM
115792002-04-19 David S. Miller <davem@redhat.com>
11580
11581 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
11582 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
11583
0f2a3457
JJ
115842002-04-19 Jakub Jelinek <jakub@redhat.com>
11585
11586 PR optimization/3756
11587 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
11588 x = ((int) y < 0) ? cst1 : cst2.
11589
ce5e43d0
JJ
115902002-04-19 Jakub Jelinek <jakub@redhat.com>
11591
11592 PR c/6358
11593 * function.c: Reapply patch for c/6358.
11594 (expand_function_end): Copy decl_rtl's mode, not
11595 current_function_return_rtx mode.
11596
115972002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
11598
11599 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
11600 targets.
11601
40e7f8ea
TT
116022002-04-19 Tom Tromey <tromey@redhat.com>
11603
11604 * doc/install.texi (Specific): Update status of Solaris 2.8.
11605 For PR libgcj/6158.
11606
62a12b27
AS
116072002-04-19 Andreas Schwab <schwab@suse.de>
11608
11609 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
11610 (PUT_REAL): Restore old definition.
11611
1405141b
DN
116122002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
11613 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11614
11615 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
11616 binutils 2.11.2 and higher generate smaller binaries than Sun's
11617 native tools.
11618
303a3927
MM
116192002-04-19 Mark Mitchell <mark@codesourcery.com>
11620
11621 PR c++/6352
11622 * toplev.c (rest_of_compilation): Do not defer functions for which
11623 TREE_SYMBOL_REFERENCED has already been set.
11624
de80110b
JH
11625Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
11626
11627 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
11628 alternative.
11629
ab393bf1
NB
116302002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
11631
11632 * builtins.c: Include langhooks.h.
11633 (lang_type_promotes_to): Remove.
11634 (expand_builtin_va_arg): Use new hook.
11635 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
11636 (simple_type_promotes_to): Move to c-typeck.c.
11637 * c-common.h (simple_type_promotes_to): Remove.
11638 * c-decl.c (duplicate_decls, grokdeclarator): Update.
11639 * c-format.c: Include langhooks.h.
11640 (check_format_types): Update.
11641 * c-tree.h (c_type_promotes_to): New.
11642 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
11643 (type_lists_compatible_p): Update.
11644 * langhooks-def.h (lhd_type_promotes_to): New.
11645 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
11646 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
11647 * langhooks.c (lhd_type_promotes_to): New.
11648 * langhooks.h (struct lang_hooks_for_types): New hook.
11649 * tree.h (lang_type_promotes_to): Remove.
11650objc:
11651 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
11652
0cd3301b
RH
116532002-04-18 Richard Henderson <rth@redhat.com>
11654
58533fa2 11655 * function.c: Revert patch for c/6358.
0cd3301b
RH
11656
116572002-04-18 Richard Henderson <rth@redhat.com>
11658
58533fa2
RH
11659 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
11660 blocks. Handle multiple references to the TRAP block. Handle
11661 non-adjacent THEN and OTHER blocks.
0cd3301b 11662
58533fa2
RH
116632002-04-18 Richard Henderson <rth@redhat.com>
11664
11665 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
11666 crash with no type for by-mode libcalls.
11667
11668 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 11669
57174693
BW
116702002-04-18 Bob Wilson <bob.wilson@acm.org>
11671
11672 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
11673 __xtensa_nonlocal_goto): Use a syscall instructions to flush
11674 the register windows.
11675
46468cd9
ZW
116762002-04-18 Zack Weinberg <zack@codesourcery.com>
11677
11678 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
11679 appropriate. Document need for extended precision even when
11680 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
11681 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
11682 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
11683 instead of relying on later syntax error when REAL_WIDTH > 5.
11684 * real.c: Define NE based only on whether or not we have a
11685 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
11686 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
11687 define GET_REAL and PUT_REAL as simple memcpy operations; no
11688 need to byteswap or round.
11689 Use #error instead of #ifdef-ing out the entire file, for
11690 prompt error detection.
11691
11692 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
11693
2f82dbf8
DM
116942002-04-18 David S. Miller <davem@redhat.com>
11695
11696 * config/sparc/sparc.h (BRANCH_COST): Define.
11697
11698 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
11699 does it.
11700
566576e7
HPN
117012002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
11702
11703 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
11704 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
11705 propagate_block calls after relaxation loop using new variable
11706 stabilized_prop_flags.
11707
51dcde6f
RH
117082002-04-18 Richard Henderson <rth@redhat.com>
11709
11710 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
11711 (ia64_va_arg): Expect variable sized types by reference.
11712 * config/ia64/ia64-protos.h: Update.
46468cd9 11713 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
11714 ia64_function_arg_pass_by_reference.
11715
26406018
RH
117162002-04-18 Richard Henderson <rth@redhat.com>
11717
46468cd9
ZW
11718 * ifcvt.c: Include except.h.
11719 (block_has_only_trap): Break out from find_cond_trap.
11720 (find_cond_trap): Use it. Always delete the trap block.
11721 (merge_if_block): Allow then block null. Be less simplistic about
11722 what insns can end a block.
11723 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 11724
26406018
RH
11725 * config/ia64/ia64.md (trap, conditional_trap): New.
11726
a3acf46d
JJ
117272002-04-18 Jakub Jelinek <jakub@redhat.com>
11728
11729 PR c/6358
11730 * function.c (assign_parms): Assign hard current_function_return_rtx
11731 register here...
11732 (expand_function_end): ...not here.
11733
7a228918
NB
117342002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
11735
11736 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
11737 * c-tree.h (c_incomplete_type_error): New.
11738 * c-typeck.c (require_complete_type, build_component_ref): Update.
11739 (incomplete_type_error): Rename.
11740 * langhooks-def.h (lhd_incomplete_type_error): New.
11741 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
11742 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
11743 * langhooks.c (lhd_incomplete_type_error): New.
11744 * langhooks.h (struct lang_hooks_for_types): New hook.
11745 * tree.c (size_in_bytes): Use new hook.
11746 * tree.h (incomplete_type_error): Remove.
11747objc:
11748 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
11749
f18664c1
ZW
117502002-04-18 Zack Weinberg <zack@codesourcery.com>
11751
11752 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
11753 TARGET_FLOAT_FORMAT blocks.
11754
8ecab453
GP
117552002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11756
11757 * doc/install.texi (Downloading the source): Do not mention Chill
11758 any longer, but mention Ada.
11759 (Configuration): Do not mention Chill any longer.
11760
528d8489
HPN
117612002-04-18 Hans-Peter Nilsson <hp@axis.com>
11762
11763 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
11764
91da27c5
JH
11765Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
11766
11767 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
11768 in last patch.
11769
a32db605
JJ
117702002-04-18 Jakub Jelinek <jakub@redhat.com>
11771
11772 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
11773 instead of unsigned_type.
11774
5a28d8cc
JH
11775Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
11776
11777 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
11778 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
11779 later.
11780
3d980b9f
BS
117812002-04-18 Bernd Schmidt <bernds@redhat.com>
11782
11783 * attribs.c (vector_type_node_list): New static variable.
11784 (handle_vector_size_attribute): Use it to avoid generating a
11785 new type node each time we are called.
11786
2e676d78
BS
11787 * combine.c (subst): Avoid trying to make a vector mode subreg of
11788 an integer constant.
11789 (gen_lowpart_for_combine): Likewise.
46468cd9 11790
58c2956c
RS
117912002-04-18 Roger Sayle <roger@eyesopen.com>
11792 Jakub Jelinek <jakub@redhat.com>
11793
11794 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
11795 for integer constant c (if x has unsigned type or sign bit is not
11796 set in c). This folds the zero/sign extension into the bit-wise and
11797 operation.
11798
692efa8e
JJ
117992002-04-18 Jakub Jelinek <jakub@redhat.com>
11800
11801 PR middle-end/6205
11802 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
11803 otherwise xorps.
11804
1372d4ce
NY
118052002-04-17 NIIBE Yutaka <gniibe@m17n.org>
11806
11807 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
11808
169ce44d
NC
118092002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
11810
11811 * gcc.c (read_specs): Detect and fail if an attempt is made to
11812 rename a spec string to an already existing string.
11813
b30d2115
UW
118142002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
11815
11816 * config/s390/s390.c (legitimize_pic_address): Do not generate
11817 illegal address constant without CONST.
11818
d6964c30
KG
118192002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11820
11821 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
11822 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
11823
7c82a1ed
UW
118242002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
11825
11826 PR optimization/6305
11827 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
11828 to make sure previous reloads are taken into account. Generate
11829 better code if one operand is an in-range immediate constant.
11830
58db9d1a
AH
118312002-04-16 Andrew Haley <aph@cambridge.redhat.com>
11832
11833 * doc/install.texi (Building): libgcj requires GNU make.
11834
2a732575
JJ
118352002-04-17 Jakub Jelinek <jakub@redhat.com>
11836
11837 PR bootstrap/6315
11838 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
11839 even if hard quad and register is not floating.
11840 (movtf reg<-mem split): Disallow splitting if hard quad and
11841 register is floating.
11842 (movtf mem<-reg split): Likewise.
11843 * config/sparc/sparc.c (fp_register_operand): New predicate.
11844 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
11845
75a65e46
ZW
118462002-04-17 Zack Weinberg <zack@codesourcery.com>
11847
11848 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
11849 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
11850 (unprotoize.o): Ditto. Build from protoize.c. Define
11851 UNPROTOIZE on command line.
11852 * protoize.c: Include cppdefault.h. Delete include_defaults.
11853 (in_system_include_dir): Use cpp_include_defaults (defined in
11854 cppdefault.o).
11855 * unprotoize.c: Delete file.
11856
650f0e97
AH
118572002-04-17 Aldy Hernandez <aldyh@redhat.com>
11858
46468cd9
ZW
11859 * config/rs6000/altivec.h (vec_ld): Add array variants.
11860 (vec_lde): Same.
11861 (vec_ldl): Same.
650f0e97 11862
71a0ab0c 118632002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 11864 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 11865
46468cd9
ZW
11866 * config/rs6000/altivec.h: Define __ALTIVEC__.
11867 (bool): New.
11868 (__pixel): New.
11869 (pixel): New.
11870 (vec_cfux): New.
11871 (vec_vmaddfp): New.
11872 (vec_vsldoi): New.
11873 Add parentheses to all macro arguments.
71a0ab0c 11874
ff2c46ac
RH
118752002-04-16 Richard Henderson <rth@redhat.com>
11876
11877 PR c++/6320
11878 * except.c (remove_eh_handler): Insert inner regions at beginning
11879 of sibling chain. Refactor expressions.
11880
f1ba94dd
RH
118812002-04-16 Richard Henderson <rth@redhat.com>
11882
f0871dfe
RH
11883 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
11884 * config/sparc/sol2-gas-bi.h: New file.
11885 * config.gcc (sparc*-solaris): Add it as needed.
11886 * configure.in (AS_SPARC64_FLAG): Remove check.
11887 * config.in, configure: Regenerate.
11888
11889 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
11890
118912002-04-16 Richard Henderson <rth@redhat.com>
11892
11893 * config/mips/mips.c (override_options): Don't override N32 for
11894 a 64-bit ISA.
409d3c60 11895
f1ba94dd
RH
11896 PR 6202
11897 * config/mips/mips.md (can_delay): Split out of existing define_delays.
11898 (HILO_delay): Set can_delay false.
11899
178c3eff
DJ
119002002-04-16 Dale Johannesen <dalej@apple.com>
11901
11902 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
11903 instruction addresses.
11904 (rs6000_output_function_epilogue): Likewise.
11905
7d6f6369
PC
119062002-04-16 Paolo Carlini <pcarlini@unitus.it>
11907
11908 * c-parse.in (poplevel, compstmt_start,
11909 compstmt_primary_start): Add ending ';', in accordance
11910 with POSIX.
11911
8947df0c
RH
119122002-04-16 Richard Henderson <rth@redhat.com>
11913
11914 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
11915 Adjust tm_file order to get TARGET_DEFAULT set properly.
11916 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
11917 * doc/install.texi (sparc-solaris): Update.
11918
3148ad6d
DJ
119192002-04-16 Dale Johannesen <dalej@apple.com>
11920
11921 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
11922 comparison operands do not match each other or if modes of
11923 conditions do not match result.
11924
014cb9b6 119252002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 11926
014cb9b6
HP
11927 PR target/6305
11928 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 11929 multiword register.
562a69be 11930
014cb9b6 119312002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 11932
8947df0c 11933 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 11934
a9772b60
JJ
119352002-04-16 Jakub Jelinek <jakub@redhat.com>
11936
11937 PR middle-end/6279
11938 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
11939
11940 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
11941
861829ed
RH
119422002-04-15 Richard Henderson <rth@redhat.com>
11943
11944 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
11945 call_really_used_regs too.
11946
bcf2fe9c
RH
119472002-04-15 Richard Henderson <rth@redhat.com>
11948
11949 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
11950
629111c7
DM
119512002-04-15 David S. Miller <davem@redhat.com>
11952
11953 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
11954 as being CLOBBERed.
11955
98ef3137
JJ
119562002-04-16 Jakub Jelinek <jakub@redhat.com>
11957
11958 PR c/6290
11959 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
11960 CONST_VECTOR is { 0, ... 0 }.
11961
0aa911c5
LR
119622002-04-15 Loren J. Rittle <ljrittle@acm.org>
11963
11964 * doc/install.texi (Installing GCC: Configuration): Clarify
11965 the only supported ways to configure gcc.
11966
83248d49 119672002-04-15 Roland McGrath <roland@frob.com>
46468cd9 11968
83248d49
RM
11969 * config.gcc (alpha*-*-gnu*): New target configuration.
11970 * config/alpha/gnu.h: New file for it.
11971 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
11972
b2123dc0
MM
119732002-04-16 Mark Mitchell <mark@codesourcery.com>
11974
11975 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
11976 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
11977 * tree.h (expand_start_stmt_expr): Update prototype.
11978 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
11979 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
11980 on the STMT_EXPR created for the inline function.
46468cd9 11981
8fe2d853
RH
119822002-04-15 Richard Henderson <rth@redhat.com>
11983
11984 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
11985 config/i386/linux-aout.h, config/i386/linux-oldld.h,
11986 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
11987 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
11988 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
11989 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
11990 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
11991 Define __gnu_linux__, not gnu_linux.
11992 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
11993
07cdae91
MM
119942002-04-15 Mark Mitchell <mark@codesourcery.com>
11995
11996 Remove Chill front end.
11997 * gcc.c (default_compilers): Remove Chill entries.
11998 * ch: Remove directory.
11999 * doc/frontends.texi: Remove information about Chill.
12000 * doc/sourcebuild.texi: Likewise.
12001 * doc/standards.texi: Likewise.
12002
41823c5e
DR
120032002-04-15 Douglas B Rupp <rupp@gnat.com>
12004
12005 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
12006 (LONGLONG_STANDALONE): Define.
12007
eb29ddb6
DM
120082002-04-15 David S. Miller <davem@redhat.com>
12009
12010 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
12011 Call emit_library_call with LCT_NORMAL.
12012 (sparc_initialize_trampoline): Use LCT_foo instead of
12013 magic constant in emit_library_call invocations.
12014 (sparc64_initialize_trampoline): Likewise.
12015 (sparc_profile_hook): Likewise.
12016 * config/sparc/sparc.md: Likewise.
12017
12018 * config/sparc/sparc.c (sparc_extra_constraint_check):
12019 Fix type of argument 'c'.
12020 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
12021 Likewise.
12022
bd6bec6b
GDR
120232002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
12024
12025 * diagnostic.h (output_buffer_state): Redefine.
12026 (output_format_decoder): New macro.
12027 (output_prefixing_rule): Likewise.
12028 (output_line_cutoff): Likewise.
12029 (diagnostic_format_decoder): Adjust.
12030 (diagnostic_prefixing_rule): Likewise.
12031 (diagnostic_line_cutoff): Likewise.
12032 (diagnostic_state): Likewise.
12033 (diagnostic_kind_count): Likewise.
12034 (diagnostic_buffer): Now a macro.
12035
12036 * diagnostic.c (diagnostic_buffer): Remove definition.
12037 (output_is_line_wrapping): Adjust.
12038 (set_real_maximum_length): Likewise.
12039 (output_set_maximum_length): Likewise.
12040 (init_output_buffer): Likewise.
12041 (lhd_print_error_function): Likewise.
12042 (output_do_verbatim): Likewise.
12043
ebef4e8c
NB
120442002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
12045
12046 * cpperror.c (print_location): Don't print include chain
12047 if line == 0.
12048 (cpp_begin_message): Update to use DL_ macros.
12049 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
12050 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
12051 cpp_notice, cpp_notice_from_errno): Remove.
12052 (cpp_error, cpp_error_with_line): Update to take a diagnostic
12053 level.
12054 (cpp_errno): New.
12055 * cppexp.c (CPP_ICE): Remove.
12056 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
12057 lex, integer_overflow, _cpp_parse_expr): Update.
12058 * cppfiles.c (read_include_file, find_include_file,
12059 handle_missing_header, _cpp_read_file, remap_filename): Update.
12060 * cpphash.h (enum error_type): Remove.
12061 (_cpp_begin_message): Update.
12062 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
12063 cpp_handle_option, cpp_post_options): Update.
12064 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
12065 skip_whitespace, parse_identifier, parse_slow, parse_string,
12066 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
12067 cpp_interpret_charconst): Update.
12068 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
12069 lex_macro_node, do_undef, glue_header_name, parse_include,
12070 do_include_common, read_flag, do_line, do_linemarker, do_ident,
12071 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
12072 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
12073 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
12074 _cpp_pop_buffer, do_diagnostic): Update.
12075 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
12076 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
12077 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
12078 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
12079 cpp_notice, cpp_notice_from_errno): Remove.
12080 (cpp_error, cpp_error_with_line): Update to take a diagnostic
12081 level.
12082 (cpp_errno): New.
12083 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
12084 collect_args, enter_macro_context, save_parameter, parse_params,
12085 _cpp_create_definition, check_trad_stringification,
12086 cpp_macro_definition): Update.
12087 * cppmain.c (cpp_preprocess_file): Update.
12088 * fix-header.c (read_scan_file): Update.
12089
c19a3859
AS
120902002-04-14 Andreas Schwab <schwab@suse.de>
12091
12092 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
12093
10fdbed6
JD
120942002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12095
12096 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
12097
77660a9a
MM
120982002-04-13 Mark Mitchell <mark@codesourcery.com>
12099
12100 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
12101 not gnu_hurd.
12102
e0ff1ded
HPN
121032002-04-13 Hans-Peter Nilsson <hp@axis.com>
12104
12105 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
12106
2341c7ea
JS
121072002-04-13 Joel Sherrill <joel@OARcorp.com>
12108
12109 * config/sparc/t-elf: Enable v8 multilibs. Impacts
12110 sparc-elf and sparc-rtems targets.
12111
d29350c0
MM
121122002-04-13 Mark Mitchell <mark@codesourcery.com>
12113
12114 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
12115 defined, and __gnu_hurd__ wherever __GNU__ is defined.
12116 * arm/linux-elf.h: Likewise.
12117 * cris/aout.h: Likewise.
12118 * cris/linux.h: Likewise.
12119 * i370/linux.h: Likewise.
12120 * i386/gnu.h: Likewise.
12121 * i386/linux-aout.h: Likewise.
12122 * i386/linux-oldld.h: Likewise.
12123 * i386/linux.h: Likewise.
12124 * i386/linux64.h: Likewise.
12125 * ia64/linux.h: Likewise.
12126 * m68k/linux-aout.h: Likewise.
12127 * m68k/linux.h: Likewise.
12128 * mips/linux.h: Likewise.
12129 * pa/pa-linux.h: Likewise.
12130 * pj/linux.h: Likewise.
12131 * rs6000/sysv4.h: Likewise.
12132 * s390/linux.h: Likewise.
12133 * sh/linux.h: Likewise.
12134 * sparc/linux-aout.h: Likewise.
12135 * sparc/linux.h: Likewise.
12136 * sparc/linux64.h: Likewise.
12137 * xtensa/linux.h: Likewise.
12138
fc552851
RS
121392002-04-13 Richard Sandiford <rsandifo@redhat.com>
12140
12141 * stmt.c (check_unique_operand_names): Expect operand names to
12142 be strings rather than identifiers. Use simple_cst_equal to
12143 compare them.
12144 (resolve_operand_name_1): Make same identifier to string change here.
12145 * c-parse.in (asm_operand): Convert a named operand into a string.
12146 * cp/parse.y (asm_operand): Likewise.
12147
1d405c5e
AS
121482002-04-13 Andreas Schwab <schwab@suse.de>
12149
12150 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
12151
c740732f
MM
121522002-04-12 Mark Mitchell <mark@codesourcery.com>
12153
12154 Revert these changes:
12155
12156 2002-04-06 Mark Mitchell <mark@codesourcery.com>
12157
12158 PR c++/5571
12159 * stor-layout.c (layout_decl): Reset the RTL for the decl.
12160
3fc602a0
RH
121612002-04-12 Richard Henderson <rth@redhat.com>
12162
12163 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
12164 (sparc*-*-solaris): Clean up header files.
12165 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
12166 and plan on generating 64-bit code.
12167 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
12168 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
12169 * config/sparc/sol2-sld-64.h: Rename ...
12170 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
12171 for AS_SPARC64_FLAG not defined.
12172 * config/sparc/sol2-gld-bi.h: New.
12173 * config/sparc/sol2-sld.h: Remove.
12174 * config/sparc/sol26-sld.h: New.
12175 * config/sparc/sol2.h: Tidy comments.
12176 * doc/install.texi: Document sparc-solaris configury changes.
12177
2f15e255
RH
121782002-04-12 Richard Henderson <rth@redhat.com>
12179
12180 * recog.c (offsettable_address_p): Match the logic in adjust_address.
12181
12182 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
12183 in 64-bit mode only. Use only for 32-bit or MEDLOW.
12184
cc8475cb
RO
121852002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12186
12187 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
12188
6f133a4a
JL
12189Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
12190
ef1b8858 12191 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
12192 constrain_operands.
12193
1329e600
DR
121942002-04-12 Douglas B Rupp <rupp@gnat.com>
12195
12196 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
12197 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
12198 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 12199 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
12200 * config/i386/t-interix (USER_H): Remove.
12201
0339d239
DD
122022002-04-12 DJ Delorie <dj@redhat.com>
12203
12204 * integrate.c (compare_blocks): Make comparisons safe for when
12205 sizeof(int) < sizeof(char *).
12206 (find_block): Likewise.
12207
cc4d5fec
JH
122082002-04-12 Jan Hubicka <jh@suse.cz>
12209 David Edelsohn <edelsohn@gnu.org>
12210
12211 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
12212 registers.
12213 (symbol_ref_operand): New.
12214 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
12215 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
12216
93215a1b
AS
122172002-04-12 Andreas Schwab <schwab@suse.de>
12218
12219 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
12220 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
12221 overrides the definition in config/svr4.h.
46468cd9 12222
1d80248e
EN
122232002-04-12 Eric Norum <eric.norum@usask.ca>
12224
12225 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
12226 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
12227 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
12228 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
12229 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
12230 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
12231 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
12232 definitions to config/rtems.h and make the targets more similar.
12233
fa1591cb
RK
12234Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12235
fa06ab5c
RK
12236 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
12237 POINTERS_EXTEND_UNSIGNED.
12238 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
12239 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
12240
fa1591cb
RK
12241 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
12242 not specified.
12243
12e85a0e
R
12244Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
12245
12246 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
12247 depends on TARGET_SHMEDIA, not TARGET_SH5.
12248
1ab3e58a
HPN
122492002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
12250
12251 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
12252 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
12253
18778292
R
12254Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
12255
12256 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
12257 no r0 clobber.
12258
9002507c
AS
122592002-04-12 Andreas Schwab <schwab@suse.de>
12260
12261 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
12262
9be40833
RH
122632002-04-12 Richard Henderson <rth@redhat.com>
12264
12265 PR bootstrap/4191
12266 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
12267
12268 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
12269 modes spanning multiple hard regs.
46468cd9 12270
9be40833
RH
12271 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
12272
3d9268b6
JDA
122732002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
12274
12275 * pa.c (pa_output_function_prologue): Don't accumulate the total
12276 number of code bytes when using TARGET_64BIT, or gas, SOM and not
12277 the portable runtime.
12278 (output_deferred_plabels): Handle 64bit plabels.
12279 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
12280 generating pic code using the GAS assembler for object formats that
12281 are not SOM (ie., ELF32 and ELF64).
12282 (output_millicode_call): Check attribute type if attribute length is 28.
12283 Likewise use $PIC_pcrel$0. Only call get_attr_length and
12284 dbr_sequence_length once.
12285 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
12286 dbr_sequence_length once.
12287 * pa.h (TARGET_SOM): Define if not defined.
12288 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
12289 with GAS and not SOM.
12290 (jump, call_internal_reg, call_value_internal_reg): Likewise.
12291 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
12292
d360fd18
DB
122932002-04-11 David O'Brien <obrien@FreeBSD.org>
12294
12295 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
12296 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
12297 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
12298 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
12299 elfos.h and dbxelf.h values are fine now.
12300 * config/i386/freebsd.h, config/alpha/freebsd.h
12301 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
12302
5b8fcab6
DB
123032002-04-11 David O'Brien <obrien@FreeBSD.org>
12304
12305 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
12306 or set Acpu or Amachine. Reformat.
12307 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
12308 define.
12309 (LINK_SPEC): Do not need to undef.
12310 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
12311 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
12312 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
12313 define.
12314 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
12315 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
12316 (LINK_SPEC): Do not need to undef.
12317 (DONT_USE_BUILTIN_SETJMP): Do not define.
12318 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
12319 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
12320 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
12321 Remove trailing spaces.
12322 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
12323 __ELF__, or set Acpu or Amachine. Reformat.
12324 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
12325 define.
12326
fee42cc1
DB
123272002-04-11 David O'Brien <obrien@FreeBSD.org>
12328
12329 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
12330 all other *-*-freebsd* targets.
12331
77a403e4
RH
123322002-04-11 Richard Henderson <rth@redhat.com>
12333
12334 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
12335
cf0005c6
DB
123362002-04-11 David O'Brien <obrien@FreeBSD.org>
12337
12338 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
12339 Include {cpu}/{cpu}.h thru tm_file.
12340 (alpha*-*-linux*ecoff): Remove target.
12341 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
12342 (LINK_SPEC): Remove, is not OS independent.
12343 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
12344 (LINK_SPEC): Do not need to #undef any longer.
12345 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
12346 any longer.
12347 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
12348 __ELF__.
12349 (LINK_SPEC): Moved here from alpha/elf.h.
12350 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
12351 SUB_CPP_PREDEFINES.
12352 * config/alpha/linux-ecoff.h: Remove.
12353 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
12354 (CPP_SPEC): Define _POSIX_SOURCE as needed.
12355 (CPP_SUBTARGET_SPEC): Do not define.
12356 (LINK_SPEC): Do not need to #undef any longer.
12357 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
12358 * config/alpha/vms.h: Likewise.
12359
9be40833 123602002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
12361
12362 * doc/extend.texi: Remove old claim that typedefs cannot have
12363 an alignment attribute.
12364
010f87c4
JJ
123652002-04-11 Jakub Jelinek <jakub@redhat.com>
12366
12367 PR optimization/6177
12368 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
12369 bitpos is 0 and bitsize CONCAT size.
12370
578fc63d
JJ
123712002-04-11 Jakub Jelinek <jakub@redhat.com>
12372
12373 PR c/6223
12374 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
12375
bf9b85ce
DB
123762002-04-10 David O'Brien <obrien@FreeBSD.org>
12377
12378 * config/alpha/freebsd.h: Minor reformatting.
12379 (CPP_SPEC): Define ELF and add cpp_subtarget.
12380 (ASM_SPEC): No longer needed.
12381
7425707d
RH
123822002-04-11 Richard Henderson <rth@redhat.com>
12383
12384 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
12385 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
12386 (dimode mem/zero splitter): New.
12387
1a05e874
HPN
123882002-04-11 Hans-Peter Nilsson <hp@axis.com>
12389
12390 * config/cris/cris.c (cris_override_options): Tweak error message
12391 for PIC not implemented.
12392
12393 * config/cris/cris.h: Tweak comments related to parameter-passing.
12394
12395 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
12396
6f3d0447
RH
123972002-04-10 Richard Henderson <rth@redhat.com>
12398
12399 * except.c (add_ehl_entry): Allow duplicates after landing pad
12400 creation.
12401
174bf2b1
DE
124022002-04-10 David Edelsohn <edelsohn@gnu.org>
12403
12404 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
12405
03f10472
TM
124062002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
12407
12408 * c-decl.c (c_init_decl_processing): Move generation of
12409 decls for g77_integer_type_node and friends from here ...
12410 * c-common.c (c_common_nodes_and_builtins): ... to here.
12411
2f460a0a
UW
124122002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
12413
12414 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
12415 is only used as frame pointer when frame_pointer_needed is true.
12416
0be5cf85
RE
124172002-04-10 Richard Earnshaw <rearnsha@arm.com>
12418
12419 PR target/817
12420 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
12421 for the fact that the pool entry uses two words.
12422 (movdf_hard_insn): Similarly. Also, ADR instruction can span
12423 1k bytes.
12424 (movdf_soft_insn): Similarly.
12425 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
12426 for the fact that the pool entry uses three words.
12427
bf6d4777
RS
124282002-04-10 Richard Sandiford <rsandifo@redhat.com>
12429
12430 * config/mips/mips.c (mips_va_arg): When using the struct version
12431 of the EABI va_list, allow arguments in the register save area to
12432 take up less room than a stack argument.
12433
c2e9dc85
RH
124342002-04-10 Richard Henderson <rth@redhat.com>
12435
12436 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
12437 if EXPAND_INITIALIZER.
12438
bc8e8e97
RH
124392002-04-09 Richard Henderson <rth@redhat.com>
12440
12441 * config/alpha/alpha.md (movdi_er_maybe_g): New.
12442 * config/alpha/alpha.c (alpha_expand_mov): Use it.
12443
a6a063b8
AM
124442002-04-10 Alan Modra <amodra@bigpond.net.au>
12445
12446 PR optimization/6233
12447 * rtlanal.c (pure_call_p): New function.
12448 * rtl.h (pure_call_p): Declare.
12449 * loop.c (prescan_loop): Use it to set has_nonconst_call.
12450 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
12451
7b2e1077
EC
124522002-04-09 Eric Christopher <echristo@redhat.com>
12453
12454 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
12455 information to .comm directive.
12456
d8a50944
RH
124572002-04-09 Richard Henderson <rth@redhat.com>
12458
12459 PR c/5078
12460 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
12461
6a58eee9
RH
124622002-04-09 Richard Henderson <rth@redhat.com>
12463
12464 * basic-block.h (flow_delete_block_noexpunge): Declare.
12465 (expunge_block_nocompact): Declare.
12466 * cfg.c (expunge_block_nocompact): Split out from ...
12467 (expunge_block): ... here.
12468 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
12469 (flow_delete_block_noexpunge): Split out from ...
12470 (flow_delete_block): ... here.
12471 * cfgcleanup.c (delete_unreachable_blocks): Compact while
12472 removing dead blocks.
12473 * except.c (exception_handler_labels): Remove.
12474 (exception_handler_label_map): New.
12475 (struct eh_region): Add aka member.
12476 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
12477 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
12478 (for_each_eh_label, for_each_eh_label_1): New.
12479 (init_eh): Register exception_handler_label_map.
12480 (free_eh_status): Use free_region.
12481 (find_exception_handler_labels): Use the map, not the list.
12482 (remove_exception_handler_label): Likewise.
12483 (maybe_remove_eh_handler): Likewise.
12484 (remove_eh_handler): Use the region aka bitmap.
12485 * except.h (exception_handler_labels): Remove.
12486 (for_each_eh_label): Declare.
12487 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
12488 * loop.c (invalidate_loops_containing_label): New.
12489 (find_and_verify_loops): Use it. Use for_each_eh_label.
12490 * sched-rgn.c (is_cfg_nonregular): Use
12491 current_function_has_exception_handlers.
12492
b47374fa
RH
124932002-04-09 Richard Henderson <rth@redhat.com>
12494
12495 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
12496 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
12497 Do not return changed status.
12498 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
12499 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
12500 New functions that do return changed status.
12501 * sbitmap.h: Update decls.
12502 * gcse.c, lcm.c: Use _cg functions as needed.
12503
1951818c
R
12504Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
12505
12506 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
12507 (sh64-*-elf*, sh-*-rtemself*): Likewise.
12508 * config/sh/embed_bb.c: New file.
12509 * config/sh/embed-elf.h: New file.
12510 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
12511 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
12512 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
12513 __PTRDIFF_TYPE__ .
12514 (SUBTARGET_CPP_PTR_SPEC): Don't define.
12515 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
12516 Add subtarget_asm_endian_spec.
12517 (ASM_SPEC): Use subtarget_asm_endian_spec.
12518 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
12519 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
12520 (WCHAR_UNSIGNED): Define.
12521 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
12522 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
12523 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
12524 Fix value.
12525 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
12526 (sh_adjust_cost): Likewise.
12527 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
12528 __PTRDIFF_TYPE__ .
12529 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
12530 (WCHAR_TYPE_SIZE): Likewise.
12531 (ASM_SPEC): Use subtarget_asm_endian_spec.
12532 (SH_ELF_WCHAR_TYPE): #undef/ #define.
12533 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
12534 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
12535 (MAX_WCHAR_TYPE_SIZE): Don't #define .
12536 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
12537 (USER_LABEL_PREFIX): Don't #undef /#define .
12538 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
12539 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
12540 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
12541 (ASM_SPEC): Likewise.
12542 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
12543 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
12544 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
12545 (LIB2FUNCS_EXTRA): Define.
12546 * t-sh64 (LIB2FUNCS_EXTRA): Define.
12547 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
12548 (LIB1ASMFUNCS_CACHE): Define.
12549 (LIB2FUNCS_EXTRA): Redefine empty.
12550
34295799
RH
125512002-04-08 Richard Henderson <rth@redhat.com>
12552
12553 * reorg.c (get_branch_condition): Use reversed_comparison_code.
12554
e8766a39
SC
125552002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12556
12557 * config/m68hc11/larith.asm (__map_data_section): Fix condition
12558 and optimize for size.
12559 (__do_global_ctors): Fix pointer comparison.
12560 (__do_global_dtors): Likewise.
12561
f451b552
DM
125622002-04-09 David S. Miller <davem@redhat.com>
12563
12564 * config/sparc/sparc.c (sparc_extra_constraint_check): New
12565 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
12566 allow reloading pseudos.
12567 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
12568 * config/sparc/sparc-protos.h: Declare it.
12569
12570 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
12571 unsigned comparison warning.
12572 (output_restore_regs): Mark leaf_function as unused.
12573
1ce7f3c2
RK
12574Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12575
12576 * expr.c (is_aligning_offset): New function.
12577 (expand_expr, case COMPONENT_EXPR): Call it.
12578
7a31a340
DM
125792002-04-08 David S. Miller <davem@redhat.com>
12580
12581 PR target/6082
12582 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
12583
12584 Make init_priority work on Sparc when using GNU ld.
12585 * config/sparc/linux.h, config/sparc/linux64.h,
12586 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
12587 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
12588 * config/sparc/sol2-gld.h: New file to do the same.
12589 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
12590 sparc/sol2-gld.h to tm_file.
12591
12592 PR optimization/4328
12593 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
12594 * doc/md.texi: Document it.
12595 * config/sparc/sparc.md (movdi_insn_sp64_novis,
12596 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
12597 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
12598 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
12599 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
12600
11579f33
AJ
126012002-04-08 Andreas Jaeger <aj@suse.de>
12602
12603 * stmt.c (expand_asm_operands): Revert last patch from Richard
12604 Henderson.
12605
b57215d9
GP
126062002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12607
12608 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
12609 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
12610
126112002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12612
12613 * doc/contrib.texi (Contributors): Add David O'Brien.
12614
534d0cc0
AM
126152002-04-08 Alan Modra <amodra@bigpond.net.au>
12616
12617 * configure.in (auto-build.h): Use target_alias and build_alias
12618 when running configure.
12619 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
12620 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
12621 * configure: Regenerate.
12622
19fe522a
DM
126232002-04-07 David S. Miller <davem@redhat.com>
12624
12625 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
12626
bf2d0b8e
JDA
126272002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
12628
12629 PR 5933
12630 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
12631 generating 32-bit pic code.
12632
477cdac7
JT
126332002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
12634
12635 * cppinit.c (cpp_create_reader): Initialize
12636 discard_comments_in_macro_exp.
12637 (COMMAND_LINE_OPTIONS): Add "-CC" option.
12638 (cpp_handle_option): Handle "-CC" option.
12639 * cpplex.c (save_comment): If saving a C++ comment in
12640 a directive, convert it to a C comment.
12641 (_cpp_lex_direct): Pass second comment start character to
12642 save_comment to indicate comment type.
12643 * cpplib.c (_cpp_handle_directive): If processing
12644 a "#define" directive and discard_comments_in_macro_exp
12645 is false, re-enable saving of comments.
12646 (lex_macro_node): If discard_comments_in_macro_exp is false,
12647 discard any comments before the macro identifier.
12648 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
12649 member.
12650 * cppmacro.c (cpp_get_token): If expanding a macro while
12651 processing a directive, discard any comments we might encounter.
12652 (parse_params): If discard_comments_in_macro_exp is false,
12653 ignore comments in the macro parameter list.
12654 * gcc.c (cpp_unique_options): Add "-CC" option.
12655 (option_map): Map "--comments-in-macros" to "-CC".
12656 * doc/cppopts.texi: Document "-CC" option.
12657 * f/lang-specs.h: Add "-CC" option.
12658 * testsuite/gcc.dg/cpp/maccom1.c: New test.
12659 * testsuite/gcc.dg/cpp/maccom2.c: New test.
12660 * testsuite/gcc.dg/cpp/maccom3.c: New test.
12661 * testsuite/gcc.dg/cpp/maccom4.c: New test.
12662 * testsuite/gcc.dg/cpp/maccom5.c: New test.
12663 * testsuite/gcc.dg/cpp/maccom6.c: New test.
12664
f1526122
JDA
126652002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
12666
12667 PR middle-end/6180
12668 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
12669
b1896e61
MM
126702002-04-06 Mark Mitchell <mark@codesourcery.com>
12671
0154eaa8
MM
12672 PR c++/5571
12673 * stor-layout.c (layout_decl): Reset the RTL for the decl.
12674
b1896e61
MM
12675 PR opt/5120
12676 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
12677 RTX_UNCHANGING_P for the functions arguments when a tail call
12678 is made.
12679
b0148884
JM
126802002-04-06 Jason Merrill <jason@redhat.com>
12681
12682 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
12683 (parse_options_and_default_flags): Set them appropriately.
12684 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
12685
392fc5b0
HPN
126862002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
12687
12688 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
12689 here.
12690
12691 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
12692 semicolon.
12693
12694 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
12695 types come in by-reference. Fix typo in comment.
12696
2d69e3cb
DM
126972002-04-05 David S. Miller <davem@redhat.com>
12698
12699 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
12700 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
12701 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
12702 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
12703
127042002-04-05 David S. Miller <davem@redhat.com>
12705
12706 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
12707 are not going to emit return instructions, emit at least a nop
12708 for the sake of sane backtraces.
12709
5f9fb0e3
RH
127102002-04-05 Richard Henderson <rth@redhat.com>
12711
12712 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
12713
49f37a0d
JJ
127142002-04-05 Jakub Jeilnek <jakub@redhat.com>
12715
12716 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
12717
974a3101
AO
127182002-04-05 Alexandre Oliva <aoliva@redhat.com>
12719
12720 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
12721 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
12722 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
12723
2e04a694
AS
127242002-04-05 Andreas Schwab <schwab@suse.de>
12725
a40179bd 12726 * c-convert.c: Include c-common.h.
2e04a694
AS
12727 * Makefile.in (c-convert.o): Updated.
12728
1f785b7c
JJ
127292002-04-05 Jakub Jelinek <jakub@redhat.com>
12730
12731 * mklibgcc.in: Use separate libgcc.map for each multilib.
12732 * Makefile.in (distclean): Don't remove libgcc.map here.
12733
4d2fb38b
JJ
127342002-04-05 Jakub Jelinek <jakub@redhat.com>
12735
12736 * Makefile.in (s-mlib): Handle --disable-multilib by separate
12737 genmultilib invocation.
12738
bb63e5a0
RS
127392002-04-04 Richard Sandiford <rsandifo@redhat.com>
12740
12741 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
12742 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
12743 to num_gprs for symmetry.
12744 * config/mips/mips.c: Adjust accordingly.
12745
8ab80eaa
NB
127462002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
12747
12748 * c-common.c (truthvalue_conversion): Rename, update.
12749 * c-common.h (c_common_truthvalue_conversion): New.
12750 * c-convert.c (convert): Update.
12751 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
12752 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
12753 * c-typeck.c (build_binary_op, build_unary_op,
12754 build_conditional_expr): Update.
12755 * fold-const.c (constant_boolean_node, fold): Use langhook.
12756 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
12757 * langhooks.h (struct lang_hooks): New hook.
12758 * stmt.c (expand_decl_cleanup): Use langhook.
12759 * tree.h (truthvalue_conversion): Remove.
12760objc:
12761 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
12762
a2e9374a
AM
127632002-04-05 Alan Modra <amodra@bigpond.net.au>
12764
12765 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
12766 Add rules to make null object file.
12767
64d08263
JB
127682002-04-04 Jim Blandy <jimb@redhat.com>
12769
12770 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
12771 macro formal parameter names.
12772
aa7634dd
DM
127732002-04-04 David S. Miller <davem@redhat.com>
12774
12775 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
12776
ecc114f7
RH
127772002-04-04 Richard Henderson <rth@redhat.com>
12778
12779 PR middle-end/5099
12780 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
12781 Support copies into and out of memory. Don't accept allows_reg
12782 and allows_mem as gospel.
12783
c4484b8f
RH
127842002-04-04 Richard Henderson <rth@redhat.com>
12785
12786 PR opt/6165
12787 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
12788 (write_dependence_p): Likewise.
12789
39002160
RH
127902002-04-04 Richard Henderson <rth@redhat.com>
12791
12792 * predict.c (estimate_bb_frequencies): Do frequency calculation
12793 with a volatile temporary.
12794
f53ebe71
UW
127952002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
12796
12797 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
12798
15e0ecab
JJ
127992002-04-04 Jakub Jelinek <jakub@redhat.com>
12800
12801 PR c++/6119
12802 * final.c (final_start_function): Don't bump profile_label_no here...
12803 (final_end_function): ...but here.
12804
ffd386b0
JJ
128052002-04-04 Jakub Jelinek <jakub@redhat.com>
12806
12807 * config/sparc/sparc.md (pic): New attribute.
12808 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
12809 into stack slots.
12810 (split after do_builtin_setjmp_setup): New.
12811
8b156b3e
JJ
128122002-04-04 Jakub Jelinek <jakub@redhat.com>
12813
12814 PR fortran/6106
12815 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
12816 change.
12817
014c0998
JJ
128182002-04-04 Jakub Jelinek <jakub@redhat.com>
12819
12820 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
12821 UNITS_PER_WORD for zero sized aggregates.
12822
4d8611d9
DM
128232002-04-03 David S. Miller <davem@redhat.com>
12824
12825 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
12826 one-character spec for this, just use %(link_gcc_c_sequence).
12827
b03ad99d
DM
128282002-04-03 David S. Miller <davem@redhat.com>
12829
12830 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
12831 handling.
12832
823fbbce
JDA
128332002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
12834
12835 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
12836 (DWARF_FRAME_RETURN_COLUMN): Move.
12837 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
12838 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
12839 * pa.c (except.h, predict.h): Include.
12840 (FRP): Delete.
12841 (store_reg_modify, set_reg_plus_d): Revise prototypes.
12842 (output_ascii): Add cast.
12843 (store_reg_modify): Revise to add frame notes.
12844 (set_reg_plus_d): Likewise.
12845 (compute_frame_size): Include space for eh data registers in frame if
12846 the current function calls eh_return.
12847 (hppa_expand_prologue): Ensure register %r2 is saved if the current
12848 function calls eh_return. Save eh data registers if the current
12849 function calls eh_return. Fix code to add frame notes. Emit
12850 blockage to prevent insns with frame notes being scheduled in the
12851 delay slot of calls.
12852 (hppa_expand_epilogue): Restore eh data registers and do final stack
12853 adjustment if the current function calls eh_return. Don't add frame
12854 notes.
12855 (output_call): Revise for change in length of call insn. Don't do
12856 return pointer adjustment for an unconditional jump in the delay slot
12857 of a call when using frame notes.
12858 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
12859 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
12860 (ARG_POINTER_CFA_OFFSET): Define.
12861 * pa.md (return_external_pic): New pattern.
12862 (prologue): Correct formatting. Use return_external_pic if current
12863 function calls eh_return.
12864 (call_internal_symref, call_value_internal_symref,
12865 sibcall_internal_symref, sibcall_value_internal_symref): Change default
12866 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
12867 respectively.
12868 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
12869
12870 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
12871 list of targets to check using "nop" insn.
12872 * configure: Rebuilt.
12873
4078e224
AM
128742002-04-04 Alan Modra <amodra@bigpond.net.au>
12875
12876 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
12877
bbd7687d
DM
128782002-04-03 David S. Miller <davem@redhat.com>
12879
12880 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
12881 library sequence passed to the linker.
12882 (LINK_COMMAND_SPEC): Use it.
12883 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
12884 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
12885 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
12886
659e5a7a
JM
128872002-04-03 Jason Merrill <jason@redhat.com>
12888
12889 * except.c (struct eh_status): Remove protect_list.
12890 (begin_protect_partials, end_protect_partials): Remove.
12891 (add_partial_entry): Remove.
12892 * except.h: Remove prototypes.
12893
12894 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
12895 expand_decl_cleanup_eh.
12896
12897 PR c++/5636
12898 * tree.h (CLEANUP_EH_ONLY): New macro.
12899 * stmt.c (expand_decl_cleanup_eh): New fn.
12900 (expand_cleanups): Check CLEANUP_EH_ONLY.
12901 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
12902 Use expand_decl_cleanup_eh.
12903 (expand_stmt): Adjust.
12904 * c-common.h: Adjust prototype.
12905
053d3344
HPN
129062002-04-04 Hans-Peter Nilsson <hp@axis.com>
12907
12908 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
12909 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
12910 (cris_target_asm_function_epilogue): Ditto.
12911 (cris_initial_frame_pointer_offset): Ditto.
12912 (cris_simple_epilogue): Ditto.
12913 (cris_expand_builtin_va_arg): Variable-size types come in
12914 by-reference.
12915
61ab5260
DM
129162002-04-03 David S. Miller <davem@redhat.com>
12917
12918 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
12919 little-endian.
12920 (set_fast_math): Correct 'fsr' type.
12921
ef4f94ac
RH
129222002-04-03 Richard Henderson <rth@redhat.com>
12923
36c2272c 12924 PR opt/3569
ef4f94ac
RH
12925 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
12926 * toplev.c (check_global_declarations): Use it.
12927 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
12928 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
12929 (LANG_HOOKS_DECLS): Add it.
12930 * langhooks.c (lhd_warn_unused_global_decl): New.
12931 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
12932 * c-objc-common.c (c_warn_unused_global_decl): New.
12933 * c-tree.h (c_warn_unused_global_decl): Declare.
12934 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
12935
599bba86
NB
129362002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
12937
12938 * langhooks-def.h (lhd_set_decl_assembler_name,
12939 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
12940 (LANG_HOOKS_INITIALIZER): Update.
12941 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
12942 * langhooks.h (struct lang_hooks): New hook.
12943 * tree.c (set_decl_assembler_name): Move to langhooks.c.
12944 (lang_set_decl_assembler_name): Remove.
12945 (init_obstacks): Don't set hook.
12946 (decl_assembler_name): New function.
12947 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
12948 (decl_assembler_name): New.
12949 (lang_set_decl_assembler_name): Remove.
12950
cf7b8b0d
JJ
129512002-04-03 Jakub Jelinek <jakub@redhat.com>
12952
12953 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
12954 works properly with .hidden symbols.
12955 * configure: Rebuilt.
12956 * config.in: Rebuilt.
12957 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
12958 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
12959 properly with .hidden symbols.
12960
faf6db38
JJ
129612002-04-03 Jakub Jelinek <jakub@redhat.com>
12962
12963 PR middle-end/6102
12964 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
12965 USE argument.
12966
68c17f30
RH
129672002-04-03 Richard Henderson <rth@redhat.com>
12968
12969 PR opt/4120
12970 * sched-rgn.c (sets_likely_spilled): New.
12971 (sets_likely_spilled_1): New.
12972 (add_branch_dependences): Use it.
12973
6584b4aa
RH
129742002-04-02 Richard Henderson <rth@redhat.com>
12975
12976 PR opt/4311
12977 * loop.h (LOOP_FIRST_PASS): New.
12978 * loop.c (strength_reduce): Mind it when deciding to unroll.
12979 * toplev.c (rest_of_compilation): Set it.
12980
0acf409f
DM
129812002-04-02 David S. Miller <davem@redhat.com>
12982
12983 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
12984 mems_ok_for_ldd_peep when the order of the loads being examined
12985 is reversed.
12986 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
12987 existing comment to increase comprehension of this situation.
12988
85654444
ZW
129892002-04-02 Zack Weinberg <zack@codesourcery.com>
12990
12991 * config/sh/sh.md: Don't use union real_extract.
12992
543828ca
RH
129932002-04-02 Richard Henderson <rth@redhat.com>
12994
12995 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
12996
39ed301b
DB
129972002-04-02 David O'Brien <obrien@FreeBSD.org>
12998
12999 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
13000 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
13001 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
13002 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
13003 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
13004 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
13005 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
13006 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
13007 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
13008 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
13009 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
13010 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
13011 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
13012 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
13013 Include as many configury headers via tm_file as possible. This
13014 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
13015 * config/openbsd-oldgas.h: New file.
13016 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
13017 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
13018 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
13019 config/i386/i386-coff.h, config/i386/i386-interix.h,
13020 config/i386/iscdbx.h, config/i386/linux-aout.h,
13021 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
13022 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
13023 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
13024 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
13025 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
13026 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
13027 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
13028 config/i386/vxi386.h: Do not directly include configury headers.
13029 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
13030 Directly include configury headers that are no longer automatically
13031 included by the above headers.
13032 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
13033 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
13034 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
13035 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
13036 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
13037 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
13038 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
13039 (TARGET_VERSION): Define.
13040 * config/i386/beos-elf.h, config/i386/freebsd.h,
13041 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
13042 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
13043 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
13044 config/i386/sco5.h, config/i386/sysv4.h
13045 (TARGET_VERSION): Do not need to protect.
13046 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
13047 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
13048 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
13049 config/i386/i386-interix.h, config/i386/linux-aout.h,
13050 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
13051 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
13052 (YES_UNDERSCORES): Do not define - not needed.
13053 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
13054 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
13055 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
13056 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
13057 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
13058 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
13059 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
13060 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
13061
9432c136
EB
130622002-04-02 Eric Botcazou <ebotcazou@multimania.com>
13063 Richard Henderson <rth@redhat.com>
13064
13065 PR c/5484
13066 * function.c (assign_temp): Accept either type or decl argument.
13067 Detect variables whose size is too large to fit into an integer.
13068 * stmt.c (expand_decl): Pass the decl, not the type.
13069
058b1275
DB
130702002-04-02 David O'Brien <obrien@FreeBSD.org>
13071
13072 * protoize.c: Match include directory usage with cppdefault.c.
13073
5add6d1a 130742002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 13075 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
13076
13077 * combine.c (simplify_comparison): Avoid narrowing a comparison
13078 with a paradoxical subreg when doing so would drop signficant bits.
13079
1e533e4b
SE
130802002-04-02 Steve Ellcey <sje@cup.hp.com>
13081
13082 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
13083 if POINTERS_EXTEND_UNSIGNED is defined.
13084
7a145e92
RH
130852002-04-02 Richard Henderson <rth@redhat.com>
13086
13087 PR opt/3967
13088 * local-alloc.c (contains_replace_regs): LO_SUM may contain
13089 replace regs.
13090
3a079822
RH
130912002-04-02 Richard Henderson <rth@redhat.com>
13092
13093 * doc/standards.texi: Document required freestanding libc entry points.
13094
c94ccb87
AM
130952002-04-02 Alan Modra <amodra@bigpond.net.au>
13096
13097 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
13098 associated splitter. Remove MQ constraint.
13099 (ctrdi_internal4): Correct CCmode clobber.
13100
fe660a1a
JDA
131012002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
13102
13103 * milli64.S ($$dyncall): New function.
13104 * t-linux (LIB1ASMFUNCS): Revise module list.
13105 (LIB1ASMSRC): Use pa/milli64.S.
13106
eadc0202
RH
131072002-04-02 Richard Henderson <rth@redhat.com>
13108
13109 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
13110 rename solaris_sys_varargs_h.
13111
a1471322
RK
13112Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13113
13114 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
13115 the same mode as its component.
13116
c8b94768
RH
131172002-04-02 Richard Henderson <rth@redhat.com>
13118
13119 PR opt/190
13120 * final.c (this_is_asm_operands): Export.
13121 * output.h (this_is_asm_operands): Declare.
13122 * config/i386/i386.c (print_operand): Error odd asm operands.
13123
161eb4fc
RH
131242002-04-02 Richard Henderson <rth@redhat.com>
13125
13126 PR opt/420
13127 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
13128
b88a94c6
RH
131292002-04-01 Richard Henderson <rth@redhat.com>
13130
13131 PR target/1538
13132 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
13133 * fixinc/fixincl.x: Rebuild.
13134
72e32876
RH
131352002-04-01 Richard Henderson <rth@redhat.com>
13136
13137 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
13138 (atomic_alloc, atomic_free): New.
13139 (SIZE, MASK_FOR, PTR_IN): New.
13140 (emergency_reg_state, emergency_reg_state_free): New.
13141 (emergency_labeled_state, emergency_labeled_state_free): New.
13142 (reg_state_alloced, labeled_state_alloced): New.
13143 (alloc_reg_state, free_reg_state): New.
13144 (alloc_label_state, free_label_state, free_label_states): New.
13145 (push, pop, dup_state_stack, free_state_stack): Use them.
13146 (desc_label_state): Likewise.
13147 (uw_frame_state_for): Free label states and state stack.
13148 (uw_update_reg_address): Eliminate warnings.
13149
84d76074
VM
131502002-04-01 Vladimir Makarov <vmakarov@redhat.com>
13151
13152 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 13153 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 13154
dffd7eb6
NB
131552002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
13156
13157 * c-decl.c (grokdeclarator): Update.
13158 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
13159 * c-tree.h (c_mark_addressable): New.
13160 * c-typeck.c (default_function_array_conversion, build_unary_op,
13161 build_array_ref, convert_for_assignment): Update.
13162 (mark_addressable): Rename.
13163 * calls.c (try_to_integrate, expand_call): Use langhook.
13164 * expr.c (expand_expr): Use langhook.
13165 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
13166 * langhooks.h (struct lang_hooks): New hook.
13167 * stmt.c (expand_asm_operands): Use langhook.
13168 * tree.h (mark_addressable): Remove.
13169objc:
13170 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
13171
544ef5b5
BW
131722002-04-01 Bob Wilson <bob.wilson@acm.org>
13173
9be40833
RH
13174 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
13175 in previous change.
544ef5b5 13176
bcf88f9b
BW
131772002-04-01 Bob Wilson <bob.wilson@acm.org>
13178
13179 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
13180 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
13181
ceef8ce4
NB
131822002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
13183
13184 * c-common.c (unsigned_conversion_warning, convert_and_check,
13185 unsigned_type, signed_type, shorten_compare,
13186 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
13187 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
13188 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
13189 New.
13190 * c-decl.c (grokdeclarator): Update.
13191 * c-format.c (check_format_types): Update.
13192 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
13193 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
13194 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
13195 * convert.c (convert_to_integer): Use new hooks.
13196 * expmed.c (make_tree): Use new hooks.
13197 * expr.c (store_expr): Use new hooks.
13198 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
13199 all_ones_mask_p, unextend, fold): Use new hooks.
13200 * langhooks.h (struct lang_hooks_for_types): New hooks.
13201 * tree.h (signed_or_unsigned_type, signed_type,
13202 unsigned_type): Remove.
13203objc:
13204 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
13205 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
13206
1d9ad0e0
RH
132072002-03-31 Richard Henderson <rth@redhat.com>
13208
13209 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
13210 (desc_frgr_mem): Fix reference to f16-f31.
13211
d544bc39
KG
132122002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13213
13214 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
13215 RTVEC_ELT): Const-ify.
d8750784
KG
13216 * varray.h (VARRAY_CHECK): Const-ify.
13217 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
13218 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 13219
b18101c7
NB
132202002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
13221
13222 * diagnostic.c: Include langhooks-def.h.
13223 * Makefile.in (diagnostic.o): Update.
13224
48a7a235
NB
132252002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
13226
13227 * c-common.c (c_unsafe_for_reeval): Rename.
13228 * c-common.h (c_unsafe_for_reeval): Rename.
13229 * c-decl.c (finish_incomplete_decl): Rename.
13230 (c_init_decl_processing): Don't set langhook.
13231 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
13232 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
13233 * c-objc-common.c (c_objc_common_init): Don't set langhook.
13234 * c-tree.h (finish_incomplete_decl): Rename.
13235 * langhooks-def.h (lhd_unsafe_for_reeval): New.
13236 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
13237 (LANG_HOOKS_INITIALIZER): Update.
13238 * langhooks.c (lhd_unsafe_For_reeval): New.
13239 * langhooks.h (struct langhooks): New hooks.
13240 * toplev.c (incomplete_decl_finalize_hook): Remove.
13241 (wrapup_global_declarations): Update.
13242 * tree.c (lang_unsafe_for_reeval): Remove.
13243 (unsafe_for_reeval): Update.
13244 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
13245 Remove.
13246objc:
13247 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
13248 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
13249
7cb32822
NB
132502002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
13251
13252 * diagnostic.c (print_error_function): Remove.
13253 (default_print_error_function): Rename.
13254 (report_error_function): Update.
13255 * diagnostic.h (print_error_function): Remove.
13256 (default_print_error_function): Remove.
13257 * langhooks-def.h (struct diagnostic_context): Predeclare.
13258 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
13259 (LANG_HOOKS_INITIALIZER): Update.
13260 * langhooks.h (struct diagnostic context): Predeclare.
13261 (struct lang_hooks): New hook.
13262
1db02437
FS
132632002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13264
13265 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
13266 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
13267 !flag_pic.
13268 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
13269 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
13270 of PIC_OFFSET_TABLE_REGNUM thruout.
13271 * config/rs6000/rs6000.md: Likewise.
13272 * config/rs6000/darwin.h: Likewise.
13273
3bf1e984
RK
13274Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13275
13276 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
13277 unsigned HOST_WIDE_INT, not unsigned int.
13278
0864c526
JJ
132792002-03-31 Jakub Jelinek <jakub@redhat.com>
13280
13281 PR middle-end/6096, middle-end/6098, middle-end/6099
13282 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
13283 CODE_LABELs.
13284 (fill_slots_from_thread): Likewise.
13285
105b2084
JJ
132862002-03-31 Jakub Jelinek <jakub@redhat.com>
13287
13288 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
13289 floating fields in float regs.
13290 (function_arg_record_value_2): Likewise.
13291
db08fddf
HPN
132922002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
13293
13294 * config/mmix/mmix.md (define_constants): Remove misleading
13295 FIXME. Add MMIX_fp_rO_OFFSET.
13296 ("nonlocal_goto_receiver"): Don't have stack-frame address of
13297 saved rO as part of the pattern. Remove FIXME.
13298 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
13299 here, at output-time.
13300
4f31cce8
JJ
133012002-03-31 Jakub Jelinek <jakub@redhat.com>
13302
13303 PR middle-end/6100
13304 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
13305 REG_BR_PRED.
13306 (output_v9branch): Likewise.
13307
ba2b7435
AO
133082002-03-31 Alexandre Oliva <aoliva@redhat.com>
13309
13310 * gcc.c: Revert previous patch for now.
13311 * config/i386/djgpp.h: Likewise.
13312
aa66aa5f 133132002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
13314
13315 * config/mmix/crti.asm (_init): Register _fini with atexit.
13316 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
13317
41ba8a20
RH
133182002-03-31 Richard Henderson <rth@redhat.com>
13319
13320 PR target/3997
13321 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
13322 (ASM_OUTPUT_DEF_FROM_DECLS): New.
13323
adc186ef
RH
133242002-03-31 Richard Henderson <rth@redhat.com>
13325
13326 * libgcc2.c (__bb_exit_func): Make static.
13327
9be40833 13328 * config/alpha/alpha.md (trap): New.
a7648399 13329
9602f5a0
RH
133302002-03-31 Richard Henderson <rth@redhat.com>
13331
13332 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
13333 promoted argument types; build trap.
13334 (expand_builtin_trap): New.
13335 (expand_builtin): Use it.
13336 * stmt.c (expand_nl_goto_receivers): Likewise.
13337 * expr.h (expand_builtin_trap): Declare.
13338 * libfuncs.h (LTI_abort, abort_libfunc): New.
13339 * optabs.c (init_optabs): Init abort_libfunc.
13340
1a0a7539
AO
133412002-03-31 Alexandre Oliva <aoliva@redhat.com>
13342
13343 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
13344 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 13345 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
13346 shared_name in the second copy.
13347 (init_spec): Test for duplicate
13348 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
13349
b5de1a27
DM
133502002-03-30 David S. Miller <davem@redhat.com>
13351
13352 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
13353 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
13354
78414d74 133552002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 13356 Richard Henderson <rth@redhat.com>
78414d74 13357
9be40833
RH
13358 * regmove.c (combine_stack_adjustments_for_block): Avoid
13359 emitting a stack adjustment of zero bytes. Let delete_insn
13360 update bb->head.
78414d74 13361
33074e5f
RH
133622002-03-30 Richard Henderson <rth@redhat.com>
13363
13364 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
13365 (sparc_emitting_epilogue): New.
13366 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
13367 * config/sparc/sparc-protos.h: Update.
13368 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
13369 (TARGET_SWITCHES): Update.
13370 * config/sparc/sparc.md (return): Remove.
13371 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
13372 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
13373 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
13374 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
13375 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
13376 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
13377 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
13378 Remove MASK_EPILOGUE.
13379 * doc/invoke.texi: Update.
13380
606cc056
DB
133812002-03-30 Daniel Berlin <dan@dberlin.org>
13382
13383 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
13384 CPP will start the file for us.
7b2e1077 13385
bdbe5b8d
RH
133862002-03-30 Richard Henderson <rth@redhat.com>
13387
13388 PR target/5446
13389 * config/ia64/ia64.c (group_barrier_needed_p): Special case
13390 prologue_allocate_stack.
13391 (ia64_single_set): Use insn codes for recognition of special
13392 cases, not rtl matching.
13393 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
13394
4ab95d82
JH
13395Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
13396
13397 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
13398
89a8b315
RH
133992002-03-30 Richard Henderson <rth@redhat.com>
13400
13401 PR target/6032
13402 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
13403 or -fomit-frame-pointer with profiling.
13404 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
13405 (FUNCTION_PROFILER): Do nothing.
13406 (PROFILE_HOOK): New.
13407 * config/sparc/sparc.c (sparc_override_options): Don't check
13408 code models for profiling.
13409 (sparc_function_profiler): Remove.
13410 (sparc_profile_hook): New.
13411 * config/sparc/sparc-protos.h: Update.
13412
30984c57
JJ
134132002-03-30 Jakub Jelinek <jakub@redhat.com>
13414
13415 PR optimization/6086
13416 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
13417 of SUBREG of volatile MEM or because the MEM was mode dependent,
13418 return CLOBBER instead of unmodified SUBREG.
13419
1540f9eb
JH
13420Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
13421
89a8b315
RH
13422 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
13423 when not optimizing.
1540f9eb
JH
13424
13425 * toplev.c (rest_of_compilation): Cann mark_constant_function
13426 only when optimizing.
13427
89a8b315
RH
13428 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
13429 are NULL.
1540f9eb
JH
13430
13431 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
13432 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
13433 (try_optimize_cfg): clear all AUX fields.
13434
13435 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
13436 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
13437 (ix86_address_cost): Be prepared for SUBREGed registers.
13438 (legitimate_address_p): Accept SUBREGed registers.
13439
70d95bac
RH
134402002-03-29 Richard Henderson <rth@redhat.com>
13441
13442 PR target/5672
13443 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
13444
d3294cd9
FS
134452002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13446
13447 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
13448 for aggregate and TFmode types.
13449
a106c875
HPN
134502002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
13451
13452 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
13453
7d7a5d6f
RH
134542002-03-29 Richard Henderson <rth@redhat.com>
13455
6e2d670b 13456 PR target/5886
7d7a5d6f
RH
13457 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
13458 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
13459
30c99a84
RH
134602002-03-29 Richard Henderson <rth@redhat.com>
13461
6e2d670b 13462 PR target/6041
30c99a84
RH
13463 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
13464 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
13465 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
13466 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
13467 conditional.
13468 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
13469
02a566dc
DJ
134702002-03-29 Dale Johannesen <dalej@apple.com>
13471
13472 * loop.c (combine_movables): Do allow combination of pseudos.
13473
bc3a44db
LR
134742002-03-29 Loren J. Rittle <ljrittle@acm.org>
13475
13476 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
13477 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
13478 No functional change except ...
13479 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
13480 * doc/install.texi (*-*-freebsd*): Document port configuration.
13481
b0c48229
NB
134822002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
13483
13484 * Makefile.in (convert.o, calls.o, expmed.o): Update.
13485 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
13486 Use new hooks.
13487 * builtin-types.def (BT_PTRMODE): Update.
13488 * c-common.c (type_for_size): Rename c_common_type_for_size.
13489 (type_for_mode): Similarly.
13490 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
13491 Use new hook.
13492 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
13493 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
13494 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
13495 Redefine.
13496 * c-typeck.c (common_type, comptypes, default_conversion):
13497 Use new hooks.
13498 * calls.c: Include langhooks.h.
13499 (emit_library_call_value_1): Use new hooks. Avoid redundant
13500 calls.
13501 * convert.c: Include langhooks.h
13502 (convert_to_pointer, convert_to_integer): Use new hooks.
13503 * except.c (init_eh): Similarly.
13504 * expmed.c: Include langhooks.h.
13505 (expand_mult_add): Use new hooks.
13506 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
13507 try_casesi): Similarly.
13508 * fold-const.c (optimize_bit_field_compare, make_range,
13509 decode_field_reference, fold_truthop, fold): Similarly.
13510 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
13511 put_var_into_stack): Similarly.
13512 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
13513 LANG_HOOKS_TYPE_FOR_SIZE): New.
13514 (LANG_HOOKS_TYPES_INITIALIZER): Update.
13515 * langhooks.h (lang_hooks_for_types): New hooks.
13516 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
13517 * tree.c (get_unwidened, get_narrower): Similarly.
13518 * tree.h (type_for_mode, type_for_size): Remove.
13519 * varasm.c (force_const_mem): Use new hooks.
13520 * utils2.c (nonbinary_modular_operation): Update.
13521objc:
13522 * objc-act.c (handle_impent): Update.
13523 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
13524 Redefine.
13525
e206a74f
SE
135262002-03-29 Steve Ellcey <sje@cup.hp.com>
13527
13528 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
13529 * config/ia64/ia64.c (basereg_operand): New.
13530 * config/ia64/ia64-protos.h (basereg_operand): Declare.
13531 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
13532
7d9b6378
HPN
135332002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
13534
13535 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
13536 unwind information when frame_pointer_needed.
13537 (mmix_assemble_integer): Tweak wording in comment.
13538
f1e639b1
NB
135392002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
13540
13541 * Makefile.in (except.o): Update.
13542 * except.c: Include langhooks.h.
13543 (init_eh): Use langhook.
13544 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
13545 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
13546 (LANG_HOOKS_INITIALIZER): Update.
13547 * langhooks.h (lang_hooks_for_types): New.
13548 (struct lang_hooks): Add it.
13549 * tree.c (make_lang_type_fn, make_lang_type): Remove.
13550 * tree.h (make_lang_type_fn, make_lang_type): Remove.
13551config:
13552 * alpha/alpha.c: Include langhooks.h.
13553 (alpha_build_va_list): Use langhook.
13554 * d30v/d30v.c: Include langhooks.h.
13555 (d30v_build_va_list): Use langhook.
13556 * i386/i386.c: Include langhooks.h.
13557 (ix86_build_va_list): Use langhook.
13558 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
13559 * s390/s390.c: Include langhooks.h.
13560 (s390_build_va_list): Use langhook.
13561 * stormy16/stormy16.c: Include langhooks.h.
13562 (stormy16_build_va_list): Use langhook.
13563
f17f9332
JJ
135642002-03-29 Jakub Jelinek <jakub@redhat.com>
13565
13566 PR c++/5964
13567 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
13568 attributes.
13569 (length): Compute variable length for branches/calls/jumps here.
13570 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
13571 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
13572 define branch_type attribute.
13573 (divsi3_sp32): Maximum length is 6 not 7.
13574 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
13575 call_address_untyped_struct_value_sp32,
13576 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
13577 * config/sparc/sparc.c (empty_delay_slot): New function.
13578 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
13579 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
13580
0a0440c9
JJ
135812002-03-29 Jakub Jelinek <jakub@redhat.com>
13582
13583 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
13584 nonzero_bits if not needed.
13585 (nonzero_bits) [XOR]: Likewise.
13586 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
13587 reg_last_set_mode and mode are both MODE_INT, but not equal.
13588 (record_value_for_reg): Compute reg_last_set_nonzero_bits
13589 in nonzero_bits_mode for MODE_INT modes.
13590
c9045f47
RH
135912002-03-28 Richard Henderson <rth@redhat.com>
13592
13593 PR target/5715
13594 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
13595 to GAS. Correct drift between alternatives.
13596
f8ed1958
RH
135972002-03-28 Richard Henderson <rth@redhat.com>
13598
13599 PR target/6087
13600 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
13601
54e20385
LR
136022002-03-28 Alexandre Oliva <aoliva@redhat.com>
13603
13604 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
13605 emulation to the linker.
13606
136072002-03-28 Loren J. Rittle <ljrittle@acm.org>
13608
13609 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
13610 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
13611
8bc52806
JL
13612Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
13613
13614 * combine.c (simplify_and_const_int): Make sure to apply mask
13615 when force_to_mode returns a constant integer. PR3311.
13616
279dccc5
JDA
136172002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
13618
13619 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
13620
62aaa62c
GP
136212002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13622
13623 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
13624 and Objective-C Dialect Options.
13625
b8de5050
RH
136262002-03-28 Richard Henderson <rth@redhat.com>
13627
13628 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
13629 comparison should be done vs !=0 not >0 return code. Tidy cases.
13630
619708cc
RH
136312002-03-28 Richard Henderson <rth@redhat.com>
13632
13633 * c-decl.c (finish_function): New arg can_defer_p. Pass it
13634 on to c_expand_body.
13635 * c-tree.h (finish_function): Update decl.
13636 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
13637
b1d874d7
JH
13638Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
13639
13640 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
13641
f5eb5fd0
JH
13642Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
13643
13644 * rtlanal.c: Include flags.h
13645 (may_trap_p): Do not mark FP operations if trapping
13646 if !flag_trapping_math
13647 * Makefile.in (rtlanal.o): Add dependency on flag.h
13648 * ifcvt.c (noce_operand_ok): Avoid the lameness.
13649
81b4c798
ZW
136502002-03-27 Zack Weinberg <zack@codesourcery.com>
13651
13652 * mips.md: Use dconst1, not 1.0, as first argument of
13653 REAL_VALUE_LDEXP. Don't use union real_extract.
13654
55a2ea2a
AM
136552002-03-28 Alan Modra <amodra@bigpond.net.au>
13656
13657 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
13658 rather than $target. Heed program_prefix and
13659 program_transform_name. Search for gas in cross-compiler case too.
13660 "test -x" rather than "test -f".
13661 (gcc_cv_ld): Likewise.
13662 (gcc_cv_nm): Heed program_prefix and program_transform_name.
13663 (gcc_cv_objdump): Likewise.
13664 * configure: Regenerate.
13665
7ffb4fd2
NB
136662002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
13667
13668 * Makefile.in (attribs.o): Update.
13669 * attribs.c: Include langhooks.h.
13670 (decl_attributes): Use langhook.
13671 * c-decl.c (insert_default_attributes): Rename.
13672 * c-tree.h (c_insert_default_attributes): New.
13673 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
13674 (LANG_HOOKS_INITIALIZER): Update.
13675 * langhooks.h (struct lang_hooks): New hook.
13676 * tree.h (insert_default_attributes): Remove.
13677objc:
13678 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
13679
e4dbaed5
AS
136802002-03-27 Andreas Schwab <schwab@suse.de>
13681
13682 * config/i386/i386.c (classify_argument): Also check for
13683 QUAL_UNION_TYPE.
13684
18b467f1
RO
136852002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13686
13687 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
13688 any more.
13689
d337d653
JH
13690Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
13691
13692 * i960.md (ret): Set PC.
13693 (nonlocal_goto): Fix expander.
13694 * builtins.c (epxand_builin_longjmp): Check that we've emitted
13695 some jump or call.
13696
218aa620
JH
13697Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
13698
13699 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
13700 of libcall regions.
13701
e27a4eaf
ZD
13702Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13703
13704 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
13705 assigning to BLOCK_FOR_INSN directly.
13706
8a12f34c
JH
13707Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
13708
13709 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
13710
c9d892a8
NB
137112002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
13712
13713 * c-common.c (c_expand_expr): Fix prototype.
13714 * c-common.h (c_expand_expr): Always declare, update.
13715 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
13716 * c-objc-common.c (c_objc_common_init): No global hook.
13717 * expr.c (expand_expr): Use langhook.
13718 * expr.h (enum expand_modifier): Conditionally declare.
13719 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
13720 (LANG_HOOKS_INITIALIZER): Update.
13721 * langhooks.c (lhd_expand_expr): New.
13722 * langhooks.h (struct lang_hooks): New hook.
13723 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
13724 (lang_independent_init): Don't default hook.
13725objc:
13726 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
13727
6dad5a56
RH
137282002-03-27 Richard Henderson <rth@redhat.com>
13729
13730 PR target/6054
13731 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
13732 TARGET_CONST_GP. Simplify conditions.
13733
59f96879
RH
137342002-03-27 Richard Henderson <rth@redhat.com>
13735
13736 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
13737 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
13738 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
13739
f3f1190d
DS
137402002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
13741
13742 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
13743 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
13744 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
13745 Remove unnecessary masks.
13746 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
13747 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
13748 -mwindows, -mdll switches and their negations.
13749
31c816cf
NB
137502002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
13751
13752 * gcc-common.c (lang_mark_false_label_stack): Remove.
13753 * ggc.h (lang_mark_false_label_stack): Similarly.
13754
7b2e1077 137552002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
13756
13757 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
13758
13759 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
13760 or __rtems_ is defined.
13761
1ef9531b
RH
137622002-03-26 Richard Henderson <rth@redhat.com>
13763
13764 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
13765 if a non-trivial load was emitted.
13766 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
13767 in high+extra+low case.
13768
300d4093
RH
137692002-03-26 Richard Henderson <rth@redhat.com>
13770
13771 * config.gcc (sparc*-solaris): Use float_format=sparc.
13772
b3689904
RH
137732002-03-26 Richard Henderson <rth@redhat.com>
13774
13775 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
13776 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
13777 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
13778 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
13779 (WINT_TYPE_SIZE): Fix at 32.
13780
1eefb6c1
RH
137812002-03-26 Richard Henderson <rth@redhat.com>
13782
13783 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
13784 until after eh landing pad generation.
13785 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
13786 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
13787
361ea006
RH
137882002-03-26 Richard Henderson <rth@redhat.com>
13789
13790 * expr.h (ADD_PARM_SIZE): One more convert for INC.
13791
1de38a88
PE
137922002-03-26 Phil Edwards <pme@gcc.gnu.org>
13793
13794 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
13795 and warning switches.
13796 (cc1_options): Likewise.
13797
d7e60e95 137982002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 13799
d7e60e95
HB
13800 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
13801 Restore more of the signal context. Set no_reg_stack_frame.
13802 * config/ia64/unwind-ia64.c (unw_state_record):
13803 Add no_reg_stack_frame, comments.
13804 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
13805 (uw_update_context): Adjust bsp when unwinding from leaf,
13806 but not signal frame.
13807
7032923b
DE
138082002-03-26 David Edelsohn <edelsohn@gnu.org>
13809
13810 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
13811
8be56275
BW
138122002-03-26 Bob Wilson <bob.wilson@acm.org>
13813
13814 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
13815
56fbb855
RE
138162002-03-26 Richard Earnshaw <rearnsha@arm.com>
13817
13818 PR target/5621
13819 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
13820 "Add a pool_range attribute", which was lost during the ARM/Thumb
13821 merge.
13822
3437320b
BW
138232002-03-26 Bob Wilson <bob.wilson@acm.org>
13824
13825 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
13826 a register into the MAC16 accumulator.
13827
173028e5
AC
138282002-03-26 Andrew Cagney <ac131313@redhat.com>
13829
13830 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
13831 (Warning Options): Document -Wswitch-enum.
13832 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
13833 -Wswitch.
13834 (warn_switch_enum): Define variables.
13835 * flags.h (warn_switch_enum): Declare variables.
13836 * stmt.c (expand_end_case_type): When warn_switch_enum /
13837 -Wswitch-enum, perform switch checks.
13838 Fix PR c/5044.
7b2e1077 13839
e14365a7
RE
138402002-03-26 Richard Earnshaw <rearnsha@arm.com>
13841
13842 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
13843 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
13844 (reload_muladdsi_compare0_scratch): Delete.
13845
46fc709d
LR
138462002-03-26 Loren J. Rittle <ljrittle@acm.org>
13847
13848 * doc/install.texi (*-*-freebsd*): Update.
13849
f36dea3c
RH
138502002-03-26 Richard Henderson <rth@redhat.com>
13851
8e5fe23f
RH
13852 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
13853 (SUB_PARM_SIZE): Cast DEC to ssizetype.
13854
13855 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
13856 types from the normal argument frame.
13857
f36dea3c
RH
13858 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
13859 variable sized objects by reference.
13860 (sparc_va_arg): Receive them by reference too.
13861
1447dc69
HP
138622002-03-26 Hartmut Penner <hpenner@de.ibm.com>
13863
13864 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 13865 code to not restoring global registers.
1447dc69 13866
4f0ade92
NB
138672002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
13868
13869 * Makefile.in (ggc-common.o): Update.
13870 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
13871 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
13872 * c-tree.h (c_mark_tree): New.
13873 * ggc-common.c: Include langhooks.h.
13874 (gcc_mark_trees): Use new langhook.
13875 * ggc-callbacks.c: Delete file.
13876 * ggc.h (lang_mark_tree): Remove.
13877 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
13878 (LANG_HOOKS_INITIALIZER): Update.
13879 * langhooks.h (struct lang_hooks): New hook.
13880objc:
13881 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
13882
caba570b
ZW
138832002-03-25 Zack Weinberg <zack@codesourcery.com>
13884
13885 * doc/cpp.texi: Exclude entire Top node from printed manual.
13886 Move option index after directive index. Insert page breaks
13887 before GFDL and concept index. Index environment variables
13888 with command line options.
13889 * doc/cppenv.texi: Use @vtable for environment variable list.
13890 Add paragraph explaining semantics of empty elements in path
13891 variables. Exclude a cross-reference to Fishkill from the
13892 manpage. Remove an unnecessary cross-reference of the entry
13893 right above the referer. Don't use @anchor in text that goes
13894 into manpage.
13895 * doc/cppopts.texi: Cross-reference the environment variables
13896 section, not the specific environment variable, for consistency.
13897
6b2e80b7
RH
138982002-03-25 Richard Henderson <rth@redhat.com>
13899
13900 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
13901 anywhere in the block. Don't refer to insns that have been
13902 removed from the chain. Iterate backward through the new insns.
13903 Don't refer to edges that have been removed.
13904
67e469d7
AM
139052002-03-26 Alan Modra <amodra@bigpond.net.au>
13906
13907 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
13908 test for overflow of constant.
13909
f2356393
RE
139102002-03-25 Richard Earnshaw <rearnsha@arm.com>
13911
13912 PR target/2623
13913 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
13914 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
13915 these patterns on arm_archv4.
13916
355426ab
DS
139172002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
13918
13919 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
13920 int".
13921
15e5ad76
ZW
139222002-03-25 Zack Weinberg <zack@codesourcery.com>
13923
13924 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
13925 float_handled, float_handler, float_signal, set_float_handler,
13926 and do_float_handler. Set handler for SIGFPE to crash_signal.
13927 * toplev.h: Don't prototype do_float_handler.
13928
13929 * c-lex.c: Fold parse_float into lex_number. Make warning
13930 about portability of hex float constants more informative, and
13931 don't issue it on top of a syntax error.
13932 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
13933 their callers.
13934 * real.h: Define REAL_VALUE_ABS here...
13935 * simplify-rtx.c: ... not here. Fold check_fold_consts,
13936 simplify_unary_real, simplify_binary_real, and
13937 simplify_binary_is2orm1 into their callers.
13938 * tree.c: Fold build_real_from_int_cst_1 into caller.
13939
13940 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
13941
13942 * tsystem.h: Include float.h here...
13943 * libgcc2.c: ... not here.
13944
56ae9405
NC
139452002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
13946
13947 Fixes for: PR bootstrap/3591, target/5676
13948 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
13949 defined. Do not disable exceptions or rtti.
13950 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
13951 mcore.h. Disable exceptions and rtti, since they are not
13952 supported by EPOC.
13953
c88770e9
NB
139542002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
13955
13956 * c-decl.c (maybe_build_cleanup): Remove.
13957 * expr.c (expand_expr): Use langhook.
13958 * langhooks-def.h (lhd_return_null_tree,
13959 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
13960 (LANGHOOKS_INITIALIZER): Update.
13961 * langhooks.c (lhd_return_null_tree): New.
13962 * langhooks.h (struct lang_hooks): New hook.
13963 * tree-inline.c (initialize_inlined_parameters): Use langhook.
13964 * tree.h (maybe_build_cleanup): Remove.
13965
2ed1f154
JJ
139662002-03-25 Jakub Jelinek <jakub@redhat.com>
13967
13968 * regrename.c (build_def_use): Move recog_memoized
13969 before extract_insn.
13970
6ddae612
JJ
139712002-03-25 Jakub Jelinek <jakub@redhat.com>
13972
13973 PR target/6043
13974 * expr.c (emit_group_store): Handle storing into CONCAT.
13975
ea475b23
JJ
139762002-03-25 Jakub Jelinek <jakub@redhat.com>
13977
13978 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
13979 corresponding MATCH_DUP.
13980
e7d482b9
RH
139812002-03-24 Richard Henderson <rth@redhat.com>
13982
cd39fc13
RH
13983 * unroll.c (unroll_loop): Zero label_map.
13984
e7d482b9
RH
13985 * gcse.c: Include except.h.
13986 * Makefile.in (gcse.o): Update.
13987
1bd6476f
RH
139882002-03-24 Richard Henderson <rth@redhat.com>
13989
13990 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
13991 Do resolve_unique_section before shared data clause.
13992
2e6c150a
RH
139932002-03-24 Richard Henderson <rth@redhat.com>
13994
13995 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
13996
b29afcf8
RH
139972002-03-24 Richard Henderson <rth@redhat.com>
13998
15e5ad76 13999 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
14000 generated in the middle of a block. Do global life update if
14001 zapped EH edges.
14002
05ed1296
RH
140032002-03-24 Richard Henderson <rth@redhat.com>
14004
14005 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
14006
3ddbb8a9
NB
140072002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
14008
14009 preprocessor/3951
15e5ad76 14010 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
14011 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
14012 (init_dependency_output): Don't make no_output decision here.
14013
740b77b6
AC
140142002-03-24 Andrew Cagney <ac131313@redhat.com>
14015
14016 * stmt.c (check_for_full_enumeration_handling): Remove tests of
14017 warn_switch. Update description.
14018 (expand_end_case_type): Call check_for_full_enumeration_handling
14019 when warn_switch.
14020
7590cfd0
SC
140212002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14022
14023 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
14024 (m68hc11_split_move): Call it to see if the source and destination
14025 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 14026 source an offsetable memory operand and generate an add.
7590cfd0 14027
2e3d3481
SC
140282002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14029
14030 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
14031 register for operand 2.
14032 ("*subsi3_zero_extendqi"): Likewise.
14033 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
14034 bits so that it is compatible with a pop.
14035 ("*andhi3_gen"): Likewise.
14036 ("xorhi3"): Likewise.
14037
2784528c
NB
140382002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
14039
14040 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
14041 -pedantic here...
14042 (cpp_post_options): ... not here.
14043
aaf93206
NB
140442002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
14045 Aldy Hernandez <aldyh@redhat.com>
14046
14047 Removal of separate preprocessor cpp0.
14048
14049 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
14050 cpp0, install-common): Update.
14051 * c-common.c (flag_preprocess_only): New.
14052 (c_common_init): Preprocess for -E.
14053 * c-common.h (flag_preprocess_only): New.
14054 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
14055 * c-objc-common.c (c_init_decl_processing): Exit quickly
14056 for NULL return from c_common_init.
14057 * cpplib.h (cpp_preprocess_file): New.
14058 * cppmain.c (main, general_init, pfile, progname): Remove.
14059 (do_preprocessing): Rename cpp_preprocess_file, don't call
14060 cpp_finish. Don't close stdout here.
14061 (setup_callbacks): Update prototype.
14062 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
14063 Update.
14064 * tradcpp.c (main): Ignore -quiet.
14065objc:
14066 * lang-specs.h (default_compilers): Preprocess with cc1obj.
14067
c6e6f5c1
RH
140682002-03-24 Richard Henderson <rth@redhat.com>
14069
14070 PR optimization/5742
14071 * machmode.def: Add inner mode field to complex modes.
14072 * config/mips/mips.c (mips_function_value): Always define. Add
14073 new argument to handle libcalls.
14074 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
14075 (FUNCTION_VALUE): Likewise.
14076 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
14077 * config/mips/mips-protos.h: Update.
14078
d88e57d1
RH
140792002-03-23 Richard Henderson <rth@redhat.com>
14080
14081 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
14082 * config/sparc/sparc-protos.h: Update.
14083 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
14084
6dfaf9ba
RH
140852002-03-23 Richard Henderson <rth@redhat.com>
14086
14087 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
14088 _start or _init begins the text segment.
14089
0c769cf8
DE
140902002-03-23 David Edelsohn <edelsohn@gnu.org>
14091
14092 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
14093 not HOST_WIDEST_INT.
14094 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
14095
64e92a26
RE
140962002-03-23 Richard Earnshaw <rearnsha@arm.com>
14097
14098 PR java/5489
14099 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
14100 operand argument to output_return_instruction.
15e5ad76 14101 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
14102 const_true_rtx then just return.
14103 (arm_print_operand, case 'D'): If the operand is const_true_rtx
14104 then abort.
14105
d6961341
AC
141062002-03-23 Andrew Cagney <ac131313@redhat.com>
14107
14108 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
14109 (Warning Options): Document -Wswitch-default.
14110 * toplev.c (W_options): Add -Wswitch-default. Update comment on
14111 -Wswitch.
14112 (warn_switch_default): Define variable.
14113 (warn_switch): Update comment.
14114 * flags.h (warn_switch_default): Declare variable.
14115 (warn_switch): Update comment.
14116 * stmt.c (expand_end_case): Check for and, when
14117 warn_switch_no_default, warn of a missing default case.
15e5ad76 14118
d4c5ac1f
AM
141192002-03-23 Alan Modra <amodra@bigpond.net.au>
14120
bbaa9790
AM
14121 * real.h (N): Special case 128 bit doubles.
14122
d4c5ac1f
AM
14123 * combine.c (simplify_comparison): When widening modes, ignore
14124 sign extension on CONST_INTs.
14125
84bf8c2c
BW
141262002-03-22 Bob Wilson <bob.wilson@acm.org>
14127
14128 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
14129 passed to adjust_address. Fix comment formatting.
14130
14131
b216cd4a
ZW
141322002-03-22 Zack Weinberg <zack@codesourcery.com>
14133
14134 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
14135 Always make REAL_VALUE_TYPE a struct containing an array of
14136 HOST_WIDE_INT, not a double. Tidy up the code deciding how
14137 big it is. Don't declare or use union real_extract.
14138
14139 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
14140 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
14141 (print_operand), config/arm/arm.c (output_move_double),
14142 config/arm/arm.md (consttable_4, consttable_8),
14143 config/romp/romp.c (output_fpops), config/s390/s390.h
14144 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
14145 (xtensa_output_literal): Don't use union real_extract.
14146
14147 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
14148 (sfmode_constant_to_ulong), config/ns32k/merlin.h
14149 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
14150 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
14151 (PRINT_OPERAND): Don't use local version of union
14152 real_extract.
14153
14154 * config/convex/convex.c (check_float_value), config/vax/vax.c
14155 (vax_float_literal), config/m88k/m88k.md (divdf3),
14156 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
14157 config/pdp11/pdp11.c (output_move_quad): Don't do host
14158 arithmetic on target floating point quantities.
14159
14160 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
14161 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
14162
14163 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
14164 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
14165
14166 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
14167 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
14168 INFINITY.
14169 * print-rtl.c (print_rtx): Disable code which needs
14170 floating-point emulator.
14171 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
14172 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
14173 depending on HOST_FLOAT_FORMAT to be defined properly.
14174
14175 * config/1750a/1750a.c (get_double, float_label): Delete.
14176 (print_operand): Delete huge commented-out chunk. Use
14177 REAL_VALUE_TO_DECIMAL.
14178 * config/1750a/1750a-protos.h: Delete prototypes of deleted
14179 functions.
14180 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
14181 IEEE_FLOAT_FORMAT.
14182 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
14183 Use REAL_VALUE_TO_DECIMAL as ELF version does.
14184 * config/m88k/m88k.c (real_power_of_2_operand,
14185 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
14186 real_extract out of the union; run the input through
14187 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
14188 from that into the union.
14189 * config/pdp11/pdp11.c (output_move_double): Rearrange
14190 parentheses to make automatic indenter happy.
14191
14192 * doc/tm.texi (Cross-compilation): Rename node to "Floating
14193 Point" and rewrite to describe current situation. Also adjust
14194 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
14195 match code.
14196 * doc/rtl.texi: Adjust cross reference.
14197
a8cacfd2
BW
141982002-03-22 Bob Wilson <bob.wilson@acm.org>
14199
14200 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
14201 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
14202 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
14203 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
14204 prevent use of sp as a reload register.
14205 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
14206 non_acc_reg_operand.
14207 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
14208 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
14209 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
14210 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
14211
d4e6133f
NB
142122002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
14213
b216cd4a
ZW
14214 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
14215 * cpplex.c (unterminated): Delete.
14216 (parse_string): No string literal may extend over multiple
14217 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
14218 * cppmain.c (scan_translation_unit): Strings are single-line.
14219
b216cd4a 14220 * doc/cpp.texi: Update to match.
d4e6133f 14221
65e6c005
JJ
142222002-03-22 Jakub Jelinek <jakub@redhat.com>
14223
14224 PR optimization/5854
14225 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
14226 Shut up warnings.
14227 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
14228 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
14229 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
14230 const0 if scratch register was not allocated.
14231 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
14232 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
14233 with GEN_INT (...).
14234 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
14235 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
14236 with GEN_INT (...) everywhere. Remove constraints in define_split
14237 patterns.
14238 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
14239 require scratch register for setting 0 into regs/non-pushable memory.
14240
7f48c9e1
AO
142412002-03-22 Alexandre Oliva <aoliva@redhat.com>
14242
14243 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
14244 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
14245
909de5da
PE
142462002-03-22 Phil Edwards <pme@gcc.gnu.org>
14247
14248 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
14249 * cppinit.c (cpp_create_reader): On by default.
14250 (cpp_handle_option): Handle -W[no-]endif-labels.
14251 (cpp_post_options): Also enable if -pedantic.
14252 * cpplib.c (do_else): Use it.
14253 (do_endif): Likewise.
14254 * doc/cppopts.texi: Document new option.
14255 * doc/invoke.texi: Document new option.
14256
d8bf17f9
LB
142572002-03-22 Lars Brinkhoff <lars@nocrew.org>
14258
14259 * config/i386/i386.c, config/i386/i386.md: Change all occurences
14260 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
14261
70e0ccd0
AO
142622002-03-22 Alexandre Oliva <aoliva@redhat.com>
14263
14264 * flow.c (calculate_global_regs_live): Clear aux fields of
14265 ENTRY and EXIT.
14266
68882f0f
JJ
142672002-03-22 Jakub Jelinek <jakub@redhat.com>
14268
14269 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
14270 REG or MEM subregs, pass rtx * instead of rtx to it.
14271 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
14272 rtx * instead of rtx to alter_subreg.
14273 * config/m32r/m32r.c (gen_split_move_double): Likewise.
14274 * config/pj/pj.c (pj_output_rval): Likewise.
14275
648fe28b
RH
142762002-03-22 Richard Henderson <rth@redhat.com>
14277
14278 PR target/3177
14279 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
14280 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
14281 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
14282 (ia64_expand_prologue): Look at int_regs, not words, for number
14283 of incomming int regs.
14284
e8dcd824
AM
142852002-03-22 Andrew MacLeod <amacleod@redhat.com>
14286
14287 * expr.c (expand_expr): A RESULT_DECL is part of a call.
14288
96327cdc
JH
14289Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
14290
14291 * toplev.c (flag_loop_optimize, flag_crossjumping):
14292 New static variables.
14293 (rest_of_compilation): Conditionalize crossjumping and
14294 loop optimizer.
14295 (parse_options_and_default_flags): Default loop_optimize and
14296 crossjumping.
14297 (lang_independent_options): Add -fcrossjumping and -floop-optimize
14298 * invoke.texi (crossjumping, loop-optimize): Document.
14299
bc185257
RS
143002002-03-22 Richard Sandiford <rsandifo@redhat.com>
14301
14302 * real.c (eiisneg): Move outside #ifdef NANS.
14303
0a2ed1f1
JH
14304Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
14305
14306 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
14307 frequencies match; avoid match on different loop depths.
14308 (try_crossjump_to_bb): Kill tests that no longer brings time
14309 savings.
14310 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
14311 updating code.
14312 (split_edge): Likewise.
14313
14314 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
14315 variable.
14316
14317 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
14318 * cfgrtl.c: Include insn-config.h
14319 (split_block) Dirtify block in presence of conditional execution
14320
4d72536e
RS
143212002-03-22 Richard Sandiford <rsandifo@redhat.com>
14322
14323 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
14324 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
14325 (function_arg): Constify CUMULATIVE_ARGS.
14326 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
14327 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
14328 (UNITS_PER_DOUBLE): New macro.
14329 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
14330 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
14331 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
14332 fp_regs and stack_words.
14333 (EABI_FLOAT_VARARGS_P): New macro.
14334 * config/mips/mips.c (struct mips_arg_info): New.
14335 (mips_arg_info): New function.
14336 (function_arg_advance): Use it. Add adjustment instructions here
14337 rather than in function_arg.
14338 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
14339 for VOIDmode at the beginning of the function.
14340 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
14341 (function_arg_pass_by_reference): Likewise.
14342 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
14343 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
14344 (mips_va_start): Likewise. Use the new stack_words field of
14345 CUMULATIVE_ARGS to set up overflow area. Reformat.
14346 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
14347 doubles and other types, aligning the overflow pointer for non-doubles
14348 too. Remove some code duplication. Replace hard-coded constants.
14349
e6f884cd
RS
143502002-03-22 Richard Sandiford <rsandifo@redhat.com>
14351
14352 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
14353 (CLASS_UNITS): Undefine.
14354 (CLASS_MAX_NREGS): Use FP_INC.
14355 * config/mips/mips.c (compute_frame_size): Likewise.
14356 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
14357
10cf9bde
NB
143582002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
14359
14360 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
14361 prototype, and handle lexing numbers and identifiers.
14362 (parse_identifier): Update to new form of parse_slow.
14363 (parse_number): Fast path only, use parse_slow otherwise.
14364 (_cpp_lex_direct): Update calls to parse_number.
14365
fbc2782e
DD
143662002-03-21 DJ Delorie <dj@redhat.com>
14367
14368 * bb-reorder.c (make_reorder_chain_1): Protect against
14369 when redundant edges are omitted.
14370 * predict.c (dump_prediction): Likewise.
14371
fba39eaf
RH
143722002-03-21 Richard Henderson <rth@redhat.com>
14373
14374 PR target/5996
14375 * fixinc/inclhack.def (solaris_stdio_tag): New.
14376 * fixinc/fixincl.x: Regenerate.
14377
eba80994
EB
143782002-03-21 Eric Botcazou <ebotcazou@multimania.com>
14379
14380 PR c/5597
14381 * c-typeck.c (process_init_element): Flag non-static
14382 initialization of a flexible array member as illegal.
14383
2a78758b
AM
143842002-03-22 Alan Modra <amodra@bigpond.net.au>
14385
14386 * config/rs6000/t-linux64: New.
14387 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
14388 t-ppccomm. Use t-rs6000 and t-linux64.
14389 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
14390 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
14391 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
14392 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 14393
2cb921f4
AH
143942002-03-21 Aldy Hernandez <aldyh@redhat.com>
14395
eba80994
EB
14396 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
14397 flag_really_no_inline instead of optimize == 0.
2cb921f4 14398
eba80994 14399 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 14400
eba80994 14401 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 14402
eba80994 14403 * flags.h (flag_really_no_inline): New.
2cb921f4 14404
659e5a7a 14405 * c-common.c (c_common_post_options): Initialize
eba80994 14406 flag_really_no_inline.
2cb921f4 14407
eba80994 14408 * toplev.c (flag_really_no_inline): New.
2cb921f4 14409
239b8b9d
JJ
144102002-03-21 Jakub Jelinek <jakub@redhat.com>
14411
14412 * config/avr/avr.md (length): Fix length computation for
14413 conditional branches.
14414
43577e6b
NB
144152002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
14416
14417 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
14418 sdbout.o, profile.o): Update.
14419 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
14420 langhook.
14421 * c-common.h (gettags): Move here from tree.h.
14422 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
14423 insert_block, getdecls, kept_level_p, global_bindings_p): New.
14424 * dbxout.c (dbxout_init): Use getdecls langhook.
14425 * expr.c (expand_expr): Use insert_block langhook.
14426 * fold-const.c: Include langhooks.h.
14427 (fold_range_test, fold_binary_op_with_conditional_arg,
14428 fold): Use global_bindings_p langhook.
14429 * integrate.c (expand_inline_function): Use insert_block langhook.
14430 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
14431 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
14432 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
14433 LANG_HOOKS_GETDECLS): New.
14434 (LANG_HOOKS_INITIALIZER): Update.
14435 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
14436 langhook.
14437 * langhooks.h (struct lang_hooks_for_decls): New.
14438 (struct lang_hooks): Update.
14439 * profile.c: Include langhooks.h.
14440 (output_func_start_profiler): Use new langhooks.
14441 * sdbout.c: Include langhooks.h.
14442 (sdbout_init, sdbout_finish): Use getdecls langhook.
14443 * stmt.c: Include langhooks.h.
14444 (expand_fixup, fixup_gotos): Use new langhooks.
14445 * stor-layout.c: Include langhooks.h.
14446 (variable_size): Use global_bindings_p langhook.
14447 * toplev.c (compile_file): Use getdecls langhook.
14448 * tree-inline.c (remap_block): Use insert_block langhook.
14449 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
14450 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
14451
5b19b10c
RH
144522002-03-21 Richard Henderson <rth@redhat.com>
14453
14454 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
14455 constants in .data when -fpic.
14456
e05af335
GP
144572002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14458
14459 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
14460 where appropriate.
14461
60ffc997
TT
144622002-03-21 Tom Tromey <tromey@redhat.com>
14463
14464 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
14465
75897075
RK
14466Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14467
a73afd69 14468 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 14469
75897075
RK
14470 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
14471
312687cf
EB
144722002-03-21 Eric Botcazou <ebotcazou@multimania.com>
14473 Richard Henderson <rth@redhat.com>
14474
14475 PR c/5354
14476 * c-common.c (c_expand_expr): Preserve result of a statement
14477 expression if needed.
14478
f0e1f482
JJ
144792002-03-21 Jakub Jelinek <jakub@redhat.com>
14480
14481 PR bootstrap/4195
14482 * genrecog.c (maybe_both_true_mode): Remove.
14483 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
14484 * machmode.def (Pmode): Likewise.
14485
c14b9960
JW
14486Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
14487
14488 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
14489 (nonlocal_mentioned_p_1): New function.
14490 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
14491 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
14492 (mark_constant_function): Recognize pure functions.
14493 * rtl.h (global_reg_mentioned_p): New prototype.
14494 * rtlanal.c (global_reg_mentioned_p,
14495 global_reg_mentioned_p_1): New function.
14496
aaa4d130
RO
144972002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14498
14499 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
14500 UNIX assert.h.
14501 * fixinc/fixincl.x: Regenerate.
14502
e5c4bd1b
JM
145032002-03-20 Jason Merrill <jason@redhat.com>
14504
14505 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
14506
852b81bb
MM
145072002-03-20 Michael Meissner <meissner@redhat.com>
14508
14509 * doc/invoke.texi (Optimize Options): Document that -O2 sets
14510 -fstrict-aliasing.
14511
86d8c251
BW
145122002-03-20 Bob Wilson <bob.wilson@acm.org>
14513
14514 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
14515 ".literal_position" directive before the constant pool.
14516
0a39c350
GP
145172002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14518
14519 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
14520 Add Craig Rodrigues.
14521 Add Brad Lucier to testers.
14522
71a83373
JJ
145232002-03-20 Jakub Jelinek <jakub@redhat.com>
14524
14525 PR target/4792
14526 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
14527 to if_then_else.
14528 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
14529 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
14530 instead of insn_extract.
14531
a29b099d
JJ
145322002-03-20 Jakub Jelinek <jakub@redhat.com>
14533
14534 PR bootstrap/4192
71a83373 14535 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
14536
14537 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
14538 stmt if some case has been output.
14539
048b1c95
JJ
145402002-03-20 Jakub Jelinek <jakub@redhat.com>
14541
14542 PR c/5972
14543 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
14544 movsfcc_1, movdfcc_1): Add %O2.
14545 * config/i386/i386.c (print_operand): Handle %ON.
14546 Print . before float condition codes in Sun as cmov syntax.
14547 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
14548 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
14549 no longer true.
14550
f4864588
PB
145512002-03-20 Philip Blundell <pb@nexus.co.uk>
14552
14553 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
14554 return instruction if PC was popped.
14555
3a307de4
BW
145562002-03-20 Bob Wilson <bob.wilson@acm.org>
14557
14558 * config/xtensa/xtensa.md: Remove unused type attributes.
14559 (adddi_carry, subddi_carry): Change type attribute to "multi".
14560
048b1c95 145612002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
14562
14563 PR optimization/5999, middle-end/5731
14564 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
14565 multiplications by reciprocals.
14566
7afff7cf
NB
145672002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
14568
14569 * Makefile.in: Update.
14570 * c-common.c: Include langhooks.h.
14571 (inline_forbidden_p): Use new hook.
14572 * diagnostic.c: Include langhooks.h.
14573 (format_with_decl, announce_function,
14574 default_print_error_function): Use new hook.
14575 * dwarf2out.c (dwarf2_name): Use new hook.
14576 * function.c: Include langhooks.h.
14577 (init_function_start): Use new hook.
14578 * langhooks-def.h (lhd_decl_printable_name): New.
14579 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
14580 (LANGHOOKS_INITIALIZER): Update.
14581 * langhooks.c (lhd_decl_printable_name): New.
14582 * langhooks.h (struct lang_hooks): New hook.
14583 * toplev.c (decl_name, decl_printable_name): Remove.
14584 (open_dump_file): Use new hook.
14585 (process_options): Remove old hook.
14586 * tree.h (decl_printable_name): Remove.
14587objc:
14588 * objc-act.c (objc_init): Remove old hook.
14589 (objc_printable_name): Export.
14590 * objc-act.h (objc_printable_name): New.
14591 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
14592
f78ce0b7
JB
145932002-03-19 Jim Blandy <jimb@redhat.com>
14594
14595 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
14596 the start_source_file debug hook, not the current line number.
14597
15b5aef3
RH
145982002-03-19 Richard Henderson <rth@redhat.com>
14599
14600 * flow.c (EH_USES): Provide default.
14601 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
14602 * doc/tm.texi (EH_USES): New.
14603
14604 * config/ia64/ia64.c (ia64_eh_uses): New.
14605 * config/ia64/ia64-protos.h: Update.
14606 * config/ia64/ia64.h (EH_USES): New.
14607
02a7a3fd
RH
146082002-03-19 Richard Henderson <rth@redhat.com>
14609
14610 * varasm.c (output_constant_def): Fix stupid typo.
14611
93f82d60
RH
146122002-03-19 Richard Henderson <rth@redhat.com>
14613
2842be05 14614 PR 5879
93f82d60
RH
14615 * except.c (current_function_has_exception_handlers): New.
14616 * except.h: Declare it.
14617 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
14618 Combine tests that disable all sibcalls for the function.
14619
ed4fbfa0
OH
146202002-03-19 Olivier Hainque <hainque@act-europe.fr>
14621
14622 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
14623 for INTEGER_CST.
14624
ebf0e888
RH
146252002-03-19 Richard Henderson <rth@redhat.com>
14626
1e82682b 14627 PR 5977, 5991
ebf0e888
RH
14628 * config/ia64/ia64.c: Revert 2002-03-01 patch.
14629 * config/ia64/ia64.h (INIT_EXPANDERS): New.
14630
e37b38d7
JB
146312002-03-19 Jim Blandy <jimb@redhat.com>
14632
14633 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
14634 name, even if the replacement list contains no tokens, as required
14635 by Dwarf.
14636
2a4ea326
JM
146372002-03-19 Jason Merrill <jason@redhat.com>
14638
f9d09ae5
JM
14639 * varasm.c (globalize_decl): Get the name from the RTL, not
14640 DECL_ASSEMBLER_NAME.
14641
2a4ea326
JM
14642 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
14643
99b96edb
BW
146442002-03-19 Bob Wilson <bob.wilson@acm.org>
14645
14646 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
14647 subdi_carry): Define.
14648
3774b567
DE
146492002-03-19 David Edelsohn <edelsohn@gnu.org>
14650
14651 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
14652 about -fpic/-fPIC if extra_warnings set.
14653
21ef78aa
DE
146542002-03-19 David Edelsohn <edelsohn@gnu.org>
14655
14656 * expr.c (expand_expr): Sign-extend CONST_INT generated from
14657 TREE_STRING_POINTER.
0c2fdcdf 14658 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 14659
91d4b3fd
RK
14660Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14661
14662 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
14663 in favor of SP if FRAME_POINTER_REQUIRED is false.
14664
2496c7bd
LB
146652002-03-19 Lars Brinkhoff <lars@nocrew.org>
14666
14667 * emit-rtl.c (gen_int_mode): New function.
14668 * rtl.h: Prototype for it.
14669 * combine.c (make_extraction, simplify_comparison), expmed.c
14670 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
14671 (convert_modes, store_field), optabs.c (expand_fix),
14672 simplify-rtx.c (neg_const_int, simplify_unary_real),
14673
14674 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
14675 Use it instead of GEN_INT (trunc_int_for_mode (...)).
14676
f735a153
JJ
146772002-03-19 Jakub Jelinek <jakub@redhat.com>
14678
14679 PR c/5656
14680 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
14681 convert_parm_for_inlining.
14682 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
14683 Define.
14684 * langhooks-def.h: Likewise.
14685 * objc/objc-lang.c: Likewise.
14686 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
14687 function.
14688 * tree-inline.c (initialize_inlined_parameters):
14689 Call convert_parm_for_inlining lang hook if needed.
14690 * c-typeck.c (c_convert_parm_for_inlining): New function.
14691 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
14692
1929c971
MM
146932002-03-18 Mark Mitchell <mark@codesourcery.com>
14694
b216cd4a 14695 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
14696 can be destroyed after expanding the argument.
14697 (expand_call): Likewise.
14698
c79ca0ac
EC
146992002-03-15 Eric Christopher <echristo@redhat.com>
14700
14701 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
14702 Fix register preference on last change.
14703 * config/mips/mips.c (mips_return_in_memory): New function.
14704 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
14705 * config/mips/mips-protos.h: Declare.
14706 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
14707 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
14708
07e2e444
AO
147092002-03-18 Alexandre Oliva <aoliva@redhat.com>
14710
1bfbbbcf
AO
14711 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
14712 a register too.
14713 (anddi3, iorsi3): Likewise.
14714
c066429e
AO
14715 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
14716 use %gprel for symbols that are going to be placed in linkonce
14717 sections.
14718
07e2e444
AO
14719 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
14720 RETURN_ADDRESS_POINTER_REGNUM to $ra.
14721 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
14722 not needed. Disregard leaf_function_p().
14723 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
14724 mips16 frame pointer.
14725 * config/mips/mips.md (store ra): Only to small SP offsets.
14726 2001-08-22 Graham Stott <grahams@redhat.com>
14727 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
14728 return a REG rtx for the return address register.
14729
eb8e00ea
BW
147302002-03-18 Bob Wilson <bob.wilson@acm.org>
14731
14732 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
14733 constant-pool addresses as "mode-dependent".
14734 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
14735
cbb92744
JJ
147362002-03-18 Jakub Jelinek <jakub@redhat.com>
14737
14738 PR target/5740
14739 * expr.c (emit_group_load): Use extract_bit_field if
14740 needed for CONCAT arguments.
14741
657d9449
RE
147422002-03-18 Richard Earnshaw <rearnsha@arm.com>
14743
91f3a802 14744 PR target/4863
657d9449
RE
14745 * arm.md (tablejump): Make this a define_expand. For PIC add the
14746 offset to the base of the table.
14747 (thumb_tablejump): Matcher for Thumb tablejump insn.
14748 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
14749 as the difference of two labels.
14750 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
14751 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
14752 tables in the code.
14753 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
14754 * arm.c (get_jump_table_size): If the table is not in the text
14755 section, return zero.
c79ca0ac 14756
5d5603e2
BS
147572002-03-18 Bernd Schmidt <bernds@redhat.com>
14758
14759 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
14760 of gen_rtx_SUBREG.
14761 (arm_reload_out_hi): Use gen_lowpart instead of
14762 gen_rtx_SUBREG to access QImode components.
14763 * config/arm/arm.md: Disable zero_extend split for QImode
14764 subregs in BIG_ENDIAN mode.
14765 (storehi_bigend): Match use of least significant byte.
14766 (storeinthi): Remove extraneous SUBREG.
66c17b64 14767 Add missing construction of operands[2].
5d5603e2
BS
14768 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
14769 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
14770 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
14771
df15fbc7
AH
147722002-03-18 Aldy Hernandez <aldyh@redhat.com>
14773
2496c7bd
LB
14774 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
14775 any_operand.
df15fbc7 14776
b83b7fa3
RH
147772002-03-17 Richard Henderson <rth@redhat.com>
14778
14779 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
14780 explicitly.
14781
6f7c00fe
HPN
147822002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
14783
14784 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
14785 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
14786
155038f2
KG
147872002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14788
720d42fa
KG
14789 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
14790
155038f2
KG
14791 * predict.c (estimate_bb_frequencies): Delete unused variables.
14792
e6542f4e
RH
147932002-03-17 Richard Henderson <rth@redhat.com>
14794
14795 * config/ia64/ia64.c (ia64_attribute_table): Move before
14796 targetm definition. Make static.
14797
52dabb6c
NB
147982002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
14799
14800 * c-common.h (yyparse, c_common_parse_file): New.
14801 * c-lang.c: Include c-common.h.
14802 (LANG_HOOKS_PARSE_FILE): Redefine.
14803 * c-lex.c: Include c-common.h.
14804 (yyparse): Rename c_common_parse_file. Call yyparse.
14805 * c-parse.in (yyparse): Remove macro.
14806 * c-tree.h (yyparse_1): Remove.
14807 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
14808 (LANG_HOOKS_INITIALIZER): Update.
14809 * langhooks.h (struct lang_hoooks): New hook parse_file.
14810 * toplev.c (compile_file): Use parse_file hook.
14811 * tree.h (yyparse): Remove.
e6542f4e 14812 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 14813
b5ffe606
HPN
148142002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
14815
ba82f58b
HPN
14816 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
14817 float_truncate, not fix.
14818 ("*truncdfsf2_real"): Ditto.
14819 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
14820
b5ffe606
HPN
14821 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
14822
c8d1b2b7
AO
148232002-03-16 Alexandre Oliva <aoliva@redhat.com>
14824
cfb773f9
AO
14825 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
14826 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
14827 where appropriate. Make the second reference to
14828 leaf_function_p a function call, as intended. Reindented.
14829
4dffef52
AO
14830 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
14831 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
14832
4f5bd6d7
AO
14833 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
14834 add register to non-constant into sp.
14835
c8d1b2b7
AO
14836 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
14837 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
14838 (mips16_gp_pseudo_rtx): Lose.
14839 (INIT_EXPANDERS): Deleted.
14840 * config/mips/mips.c (mips_init_machine_status): New.
14841 (mips_free_machine_status): New.
14842 (mips_mark_machine_status): New.
14843 (override_options): Set them.
14844 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
14845 (struct machine_function): ... new. Replaced all references.
14846 (mips_add_gc_roots): Don't mark them.
14847 (embedded_pic_fnaddr_reg): New, extracted from...
14848 (embedded_pic_offset): ... here.
14849 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
14850 (movsi): Likewise.
14851
b3124fac
NB
148522002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
14853
14854 * cppinit.c: Revert -MD removal.
14855
121449b6
SC
148562002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14857
14858 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
14859 soft registers by default for 68HC12.
14860 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
14861 when compiling with -fomit-frame-pointer.
14862 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
14863 (expand_epilogue): Likewise.
14864 (m68hc11_gen_rotate): Use exg when rotating by 8.
14865
840e2ff1
SC
148662002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14867
14868 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
14869 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
14870 (splits): Remove unused add splits.
14871 ("*addhi3_68hc12"): Tune constraints.
14872 ("addhi_sp"): Try to use X instead of Y in all cases and if the
14873 constant fits in 8-bits and D is dead use abx/aby instructions.
14874 ("*addhi3"): Remove extern declaration of ix_reg.
14875 ("*subsi3"): Optimize and provide new split.
14876 ("subhi3"): Cleanup.
14877 ("*subhi3_sp"): Avoid saving X if we know it is dead.
14878 (arith splits): For 68hc12 save the address register on the stack
14879 and do the arithmetic operation with a pop.
14880
3c9a5efe
SC
148812002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14882
14883 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
14884 allocating QImode in address registers.
14885 ("*movqi_m68hc11"): Likewise.
14886
e41f3392
JH
14887Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
14888
14889 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
14890
576786b0
NB
148912002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
14892
14893 * cppinit.c (print_help): Display -MD and -MMD.
14894 Don't display usage string. Update assertion syntax and
14895 typo.
14896 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
14897 (cpp_handle_option): Update.
14898
1ac458d4
CD
148992002-03-15 Chris Demetriou <cgd@broadcom.com>
14900
14901 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
14902 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
14903 and define it so that regardless of target CPU size,
14904 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
14905 of "int" rather than "long."
14906
1fcd592b
RH
149072002-03-15 Richard Henderson <rth@redhat.com>
14908
14909 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
14910 size as a tree.
14911
a0df6910
SC
149122002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14913
14914 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
14915 ("tstqi" split): Avoid using memory for tstqi on address register.
14916 (splits): Remove constraints.
14917 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
14918 ("cmpdf", "cmpsf"): Remove since not used.
14919 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
14920 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
14921
015a2e59
SC
149222002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14923
14924 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
14925 ("neghi2"): Tighten constraints.
14926 ("one_cmplsi2"): Optimize and simplify split.
14927 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
14928
cd28557c
SC
149292002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14930
14931 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
14932 and split of AND operation to clear the upper bits.
14933 ("*logicalsi3_zextqi"): Likewise.
14934 ("*logicallhi3_zexthi_ashift8"): Likewise.
14935 ("*logicalsi3_silshr16"): Likewise.
14936 ("logicalsi3_silshl16"): Likewise.
14937 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
14938
932657df
SC
149392002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14940
14941 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
14942 (m68hc11_indirect_p): New function.
14943 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
14944 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
14945 TARGET_M6812.
14946 (asm_print_register): Likewise.
14947 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
14948 (m68hc11_indirect_p): Declare.
14949 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
14950 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
14951 (TARGET_SWITCHES): New option -mrelax.
14952 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
14953 destination.
14954 ("iorsi3", "xorsi3"): Likewise.
14955 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
14956 ("*andhi3_mem"): New to handle destination in memory with bclr
14957 and a scratch register.
14958 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
14959 ("*andhi3_const"): New when operand2 is constant.
14960 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
14961 ("*andhi3_gen"): Cleanup of the old "andhi3".
14962 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
14963 ("xorqi3"): Update constraints.
14964
fdffea1a
SC
149652002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14966
14967 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
14968 for reg_equiv_memory_loc when the operand is a register that does
14969 not get a hard register (stack location).
14970 (tst_operand): After reload, accept all memory operand.
14971 (symbolic_memory_operand): Fix detection of symbolic references.
14972 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
14973 accept symbols and any constant.
14974
6272bc68
SC
149752002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14976
14977 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
14978 note on the insn that sets the soft frame register.
14979 (must_parenthesize): ix and iy are also reserved names.
14980 (print_operand_address): One more place where parenthesis are required
14981 to avoid confusion with register names.
14982 (m68hc11_gen_movhi): Allow push of stack pointer.
14983 (m68hc11_check_z_replacement): Fix handling of parallel with a
14984 clobber.
14985 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
14986 the replacement register is.
14987 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
14988 and D8_REGS classes.
14989 (MODES_TIEABLE_P): All modes are tieable except QImode.
14990
1d2d9def
SC
149912002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14992
14993 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
14994 (___subdi3): Likewise.
14995 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
14996 (__map_data_section): Optimize 68hc11 case.
14997
a0ccf503
SC
149982002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14999
15000 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
15001 than a shift to avoid adding a register with itself.
15002 (m68hc11_memory_move_cost): Take into account NO_REGS.
15003 (m68hc11_register_move_cost): Update and use memory move cost
15004 for soft registers.
15005 (m68hc11_address_cost): Make cost of valid offset not 0 so that
15006 it gives more opportunities to cse to optimize.
15007 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
15008 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
15009
6e4ae815
MM
150102002-03-15 Mark Mitchell <mark@codesourcery.com>
15011
15012 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
15013 * c-common.def (CLEANUP_STMT): New tree node.
15014 * c-common.h (CLEANUP_DECL): New macro.
15015 (CLEANUP_EXPR): Likewise.
15016 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
15017 * expr.c (expand_expr): Tidy.
15018 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
15019 * tree-inline.c (initialize_inlined_parameters): Clean up
15020 new local variables.
15021
a42519be
JJ
150222002-03-15 Jakub Jelinek <jakub@redhat.com>
15023
15024 PR bootstrap/4128
15025 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
15026 before movrXX only, use reg_overlap_mentioned_p.
15027 Only special case NE if just one insn can be generated.
15028
15409448
JM
150292002-03-15 Jason Merrill <jason@redhat.com>
15030
15031 * varasm.c (assemble_variable): Call resolve_unique_section before
15032 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
15033 of error_mark_node.
15034
3a4edb44
RE
150352002-03-15 Richard Earnshaw <rearnsha@arm.com>
15036
15037 PR target/5170
15038 * arm.md (split pattern for thumb shiftable immediates): Add comment
15039 explaining non-obvious test.
15040
32defa36
RE
150412002-03-15 Richard Earnshaw <rearnsha@arm.com>
15042
15043 PR target/5712
15044 * arm.md (movaddr, movaddr_insn): Delete.
15045
5cc90635
JM
150462002-03-15 Jason Merrill <jason@redhat.com>
15047
15048 * toplev.c (wrapup_global_declarations): Clarify variable handling.
15049 -fkeep-static-consts doesn't apply to comdats.
15050
ecb0eece
RH
150512002-03-14 Richard Henderson <rth@redhat.com>
15052
15053 * c-decl.c: Include c-pragma.h.
15054 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
15055 (finish_function): Tidy.
15056 * c-pragma.c: Include c-common.h.
15057 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
15058 (handle_pragma_weak): Use them.
15059 (init_pragma): Register pending_weaks.
15060 * c-pragma.h (maybe_apply_pragma_weak): Declare.
15061 * print-tree.c (print_node): Print DECL_WEAK.
15062 * varasm.c (mark_weak_decls): Remove.
15063 (remove_from_pending_weak_list): Remove.
15064 (add_weak): Remove.
15065 (asm_emit_uninitialised): Call globalize_decl for weak commons.
15066 (weak_decls): Make a tree_list.
15067 (declare_weak): Cons weak_decls directly.
15068 (globalize_decl): Remove weak_decls elements directly.
15069 (weak_finish): Simplify weak_decls walk. Don't weaken unused
15070 symbols. Don't pretend to handle aliases.
15071 (init_varasm_once): Update weak_decls registry.
15072 * Makefile.in: Update dependencies.
15073
98d2b17e
RH
150742002-03-14 Richard Henderson <rth@redhat.com>
15075
15076 PR target/5312
15077 * config/ia64/ia64.c: Include tm_p.h last.
15078 (gen_nop_type): Remove duplicate definition.
15079 (cycle_end_fill_slots): Set sched_data for second L slot.
15080 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
15081 (nop_cycles_until): Fix typos.
15082
f2f4927e
JJ
150832002-03-15 Jakub Jelinek <jakub@redhat.com>
15084
15085 PR optimization/5891
15086 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
15087
5025a549
DM
150882002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
15089
15090 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
15091 descriptors correctly.
15092
03e9dbc9
MM
150932002-03-14 Michael Meissner <meissner@redhat.com>
15094
15095 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
15096 100, allowing MAX_UNROLLED_INSNS to be overridden.
15097
15098 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
15099 --param.
15100
15101 * unroll.c (params.h): Include.
15102 (MAX_UNROLLED_INSNS): Delete, now in params.h.
15103
15104 * doc/invoke.texi (--param max-unroll-insns): Document.
15105
15106 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
15107
12249385
RE
151082002-03-14 Richard Earnshaw <rearnsha@arm.com>
15109
15110 * arm.md: Fix warnings about constraints in peepholes and splits.
15111
f0cce04a
ZW
151122002-03-14 Zack Weinberg <zack@codesourcery.com>
15113
15114 * cpphash.h (struct lexer_state): Remove line_extension member.
15115 * cpplib.c (dequote_string, do_linemarker): New functions.
15116 (linemarker_dir): New data object.
15117 (DIRECTIVE_TABLE): No longer need to interpret #line in
15118 preprocessed source. Delete obsolete comment about return
15119 values of handlers.
15120 (end_directive, directive_diagnostics, _cpp_handle_directive):
15121 Don't muck with line_extension.
15122 (directive_diagnostics): No need to issue warnings for
15123 linemarkers here.
15124 (_cpp_handle_directive): Issue warnings for linemarkers here,
15125 when appropriate. Dispatch linemarkers to do_linemarker, not
15126 do_line.
15127 (do_line): Code to handle linemarkers split out to do_linemarker.
15128 Convert escape sequences in filename argument, both places.
15129
15130 * cppmacro.c (quote_string): Rename cpp_quote_string and
15131 export. All callers changed.
15132 * cpplib.h (cpp_quote_string): Prototype.
15133 * cppmain.c (print_line): Call cpp_quote_string on to_file
15134 before printing it.
15135
15136 * doc/cpp.texi: Document that escapes are now interpreted in
15137 #line and in linemarkers, and that non-printing characters are
15138 converted to octal escapes when linemarkers are generated.
15139
15140Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
15141
15142 * emit-rtl.c (try_split): Use delete_insns.
15143 * recog.c (split_all_insns): Fix terminating condition.
15144
c882c7ac
RE
151452002-03-14 Richard Earnshaw <rearnsha@arm.com>
15146 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
15147
15148 PR target/5828
15149 * arm.c (arm_output_epilogue): Fix floating-point register save
15150 adjustment when using a frame pointer.
15151
3f26edaa
RS
151522002-03-14 Richard Sandiford <rsandifo@redhat.com>
15153
15154 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
15155 * config/mips/mips.c (compute_frame_size): Retrofit them here.
15156 (save_restore_insns, mips_expand_epilogue): And here.
15157 (build_mips16_call_stub): And here.
15158 (mips_function_value): Use the new macros to decide whether a single
15159 or complex float can be returned in floating-point registers. Return
15160 a parallel rtx in the complex case.
15161
1e3881c2
JH
15162Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
15163
15164 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
15165 call after liveness analysis.
15166
15167 * recog.c (split_insn): Use delete_insn_and_edges.
15168
15169 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
15170 instructions to have branch prediction notes.
15171 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
15172
200ef634
GK
151732002-03-14 Geoffrey Keating <geoffk@redhat.com>
15174
15175 * configure.in: Don't pass -Wno-long-long to a ADA compiler
15176 that doesn't support it.
15177 * configure: Regenerate.
15178
0b82d204
JJ
151792002-03-13 Jakub Jelinek <jakub@redhat.com>
15180
15181 PR target/5626
15182 * config/sparc/sparc.md (normal_branch, inverted_branch,
15183 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
15184 inverted_fp_branch): Adjust calls to output_cbranch.
15185 Set length attribute.
15186 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
15187 output_v9branch. Set length attribute.
15188 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
15189 predicates.
15190 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
15191 (output_cbranch): Likewise. Handle far branches.
15192 (output_v9branch): Handle far branches.
15193 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
15194 Adjust prototypes.
15195 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
15196 noov_compare64_op predicates.
15197
7a8de19b
JM
151982002-03-13 Jason Merrill <jason@redhat.com>
15199
15200 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
15201 into the function and constify it.
15202 * gthr-dce.h, gthr-solaris.h: Likewise.
15203
2a55fd42
DE
152042002-03-13 David Edelsohn <edelsohn@gnu.org>
15205
15206 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
15207 * config/rs6000/rs6000.c (rs6000_va_arg): Use
15208 std_expand_builtin_va_arg if not ABI_V4.
15209
19c5b1cf
JM
152102002-03-13 Jason Merrill <jason@redhat.com>
15211
15212 * varasm.c (globalize_decl): New fn.
15213 (assemble_start_function): Use it.
15214 (asm_emit_uninitialized): Use it.
15215 (assemble_alias): Use it.
15216 (assemble_variable): Use it.
15217
2a15f5e1
HPN
152182002-03-13 Hans-Peter Nilsson <hp@axis.com>
15219
15220 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 15221 2002-03-12 internal visibility change.
2a15f5e1
HPN
15222 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
15223 visibility into SYMBOL_REF_FLAG.
15224
c0a3eeac
UW
152252002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
15226
15227 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
15228 VOIDmode operand. Add compile-time optimization for constant results.
15229
a1652cee
JM
152302002-03-12 Jason Merrill <jason@redhat.com>
15231
15232 * c-typeck.c (convert_for_assignment): Don't allow conversions
15233 between pointers and references. Only allow lvalues to convert to
15234 reference.
15235
c52a375d
HP
152362002-03-13 Hartmut Penner <hpenner@de.ibm.com>
15237
f0cce04a
ZW
15238 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
15239 before prologue, to avoid scheduling problems.
c52a375d 15240
e387e99b
JJ
152412002-03-13 Jakub Jelinek <jakub@redhat.com>
15242
15243 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
15244 (ELIMINABLE_REGS): Add sfp->sp.
15245 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
15246
152472002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
15248
15249 PR optimization/5892
15250 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
15251
4061c1a3
JJ
152522002-03-13 Jakub Jelinek <jakub@redhat.com>
15253
15254 * loop.c (basic_induction_var): Don't call convert_modes if mode
15255 classes are different.
15256
5b43fed1
RH
152572002-03-12 Richard Henderson <rth@redhat.com>
15258
9f53e965
RH
15259 PR optimization/5901
15260 * function.c (reposition_prologue_and_epilogue_notes): Position
15261 the markers after/before the last/first insn not deleted.
15262
152632002-03-12 Richard Henderson <rth@redhat.com>
15264
15265 PR optimization/5878
5b43fed1
RH
15266 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
15267 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
15268 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
15269
15270 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
15271 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
15272 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
15273
15274 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
15275 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
15276 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
15277 also. Don't set it if not flag_pic.
15278 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
15279 to be INVALID_REGNUM when not used.
15280
4e9bb42b
AH
152812002-03-13 Aldy Hernandez <aldyh@redhat.com>
15282
5b43fed1
RH
15283 * expmed.c (store_bit_field): Reset alias set for memory.
15284 (extract_bit_field): Same.
4e9bb42b 15285
2f9834e8
KG
152862002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15287
15288 * c-common.c (c_tree_code_type, c_tree_code_length,
15289 c_tree_code_name, add_c_tree_codes): Delete.
15290 * c-common.h (add_c_tree_codes): Delete.
15291 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
15292 Define.
15293 * c-objc-common.c (c_objc_common_init): Don't call
15294 add_c_tree_codes, instead set lang_unsafe_for_reeval.
15295 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
15296 objc_tree_code_name, add_objc_tree_codes): Delete.
15297 (objc_init): Don't call add_objc_tree_codes.
15298 * objc/objc-lang.c (tree_code_type, tree_code_length,
15299 tree_code_name): Define.
15300 * toplev.c (lang_independent_init): Don't set
15301 tree_code_length[IDENTIFIER_NODE].
15302 * tree.c (tree_code_type, tree_code_length, tree_code_name):
15303 Delete definitions, moved to language front-ends.
15304 * tree.def (IDENTIFIER_NODE): Hardwire the length.
15305 * tree.h (tree_code_type, tree_code_length, tree_code_name):
15306 Const-ify.
15307 (tree_code_length): Change type to unsigned char.
15308
36ad2436
RH
153092002-03-12 Richard Henderson <rth@redhat.com>
15310
15311 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
15312 internal visibility change.
15313
0ae02efa
BW
153142002-03-12 Bob Wilson <bob.wilson@acm.org>
15315
15316 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
15317 validize_mem() instead of change_address to avoid clobbering
15318 memory attributes.
15319
35bb2bee
NB
153202002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
15321
15322 * c-lex.h (position_after_whitespace): Remove.
15323
62ae2529
JJ
153242002-03-12 Jakub Jelinek <jakub@redhat.com>
15325
15326 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
15327 (lex_string): Use unsigned char pointers.
15328
6a45951f
UW
153292002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
15330
15331 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
15332 is not a valid memory_operand.
15333
e2fb85da
BW
153342002-03-12 Bob Wilson <bob.wilson@acm.org>
15335
15336 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
15337 * config/xtensa/lib1funcs.asm: Fix copyright to include
15338 special case for libgcc files.
15339 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
15340 (__divsi3): Likewise.
15341 (__umodsi3): Likewise.
15342 (__modsi3): Likewise.
15343 * config/xtensa/lib2funcs.S: Fix copyright to include
15344 special case for libgcc files.
15345
5b8619f8
TR
153462002-03-12 Tom Rix <trix@redhat.com>
15347
15348 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 15349 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
15350 (ignore_library): Same.
15351
089c8f97
BW
153522002-03-12 Bob Wilson <bob.wilson@acm.org>
15353
15354 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
15355
958c70ff
BW
153562002-03-12 Bob Wilson <bob.wilson@acm.org>
15357
15358 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
15359 to function_section before writing out the constant pool.
15360
a65c591c
DE
153612002-03-12 David Edelsohn <edelsohn@gnu.org>
15362
15363 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
15364 zero_constant.
15365 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
15366
153672002-03-12 Alan Modra <amodra@bigpond.net.au>
15368
15369 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
15370 (adddi3): Likewise.
15371 (movdf): Likewise.
15372 (movdi): Likewise.
15373 (cmpsi splitter): Likewise.
15374 (modsi3): Fail if <= 0.
15375 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
15376 redundant test when HOST_BITS_PER_WIDE_INT != 32.
15377 (reg_or_sub_cint64_operand): Likewise.
15378 (num_insns_constant_wide): Optimize sign extension.
15379 (rs6000_legitimize_address): Likewise.
15380
17720332
AM
153812002-03-12 Andrew MacLeod <amacleod@redhat.com>
15382
15383 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
15384 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
15385
cd49f073
AM
153862002-03-12 Andrew MacLeod <amacleod@redhat.com>
15387
15388 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
15389 address calculation.
15390
6a4e49c1
UW
153912002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
15392
15393 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
15394 scratch register to DImode / TImode.
15395 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
15396 register used does not overlap the target.
15397
54b6670a
KG
153982002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15399
15400 * Makefile.in (debug.o): Depend on debug.h.
15401 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
15402 * debug.c (do_nothing_debug_hooks): Likewise.
15403 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
15404 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
15405 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
15406 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
15407 * dwarfout.c (dwarf_debug_hooks): Likewise.
15408 * integrate.c (output_inline_function): Likewise.
15409 * objc/objc-act.c (synth_module_prologue): Likewise.
15410 * sdbout.c (sdb_debug_hooks): Likewise.
15411 * toplev.c (debug_hooks): Likewise.
15412 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
15413
2465bf76
KG
154142002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15415
15416 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
15417 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
15418 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
15419 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
15420 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
15421 * defaults.h (POINTER_SIZE): Define.
15422 * doc/tm.texi (POINTER_SIZE): Document default.
15423
53f3e9ca
KG
154242002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15425
15426 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
15427
44d3eb5b
RH
154282002-03-11 Richard Henderson <rth@redhat.com>
15429
15430 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
15431 if rebuild_label_notes_after_reload.
15432
4a085d2e
HPN
154332002-03-12 Hans-Peter Nilsson <hp@axis.com>
15434
15435 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
15436 emit pic register load if "internal" visibility.
15437 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
15438 (cris_expand_builtin_va_arg): Do all computations on trees.
15439
bc204393
RH
154402002-03-11 Richard Henderson <rth@redhat.com>
15441
15442 * rtlanal.c: Include recog.h.
15443 (keep_with_call_p): Fix thinko.
15444 * Makefile.in (rtlanal.o): Update dependencies.
15445
6b8b9d7b
CM
154462002-03-11 Chris Meyer <cmeyer@gatan.com>
15447
15448 * genflags.c (gen_insn): Use IS_VSPACE.
15449 * genoutput.c (output_insn_data): Likewise.
15450 (process_template): Likewise.
15451
6c40858f
RH
154522002-03-11 Richard Henderson <rth@redhat.com>
15453
15454 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
15455
40adaa27
NB
154562002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
15457
15458 * Makefile.in: Update.
6c40858f 15459 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 15460 Update documentation.
6c40858f
RH
15461 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
15462 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 15463
049b03f4
ZW
154642002-03-11 Zack Weinberg <zack@codesourcery.com>
15465
15466 * Makefile.in: Give texi2pod its input file as a command line
15467 argument, not on stdin.
15468
61eece67
DN
154692002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
15470 Daniel Berlin <dan@dberlin.org>
15471
15472 C++ alias analysis improvement.
f0cce04a 15473 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
15474 classes too.
15475
a65c591c
DE
154762002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
15477
ff080aba
UW
15478 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
15479
1682dbb1
DR
154802002-03-11 Douglas B Rupp <rupp@gnat.com>
15481
fa2d765a
DR
15482 * toplev.c (vms_fopen): Remove, not needed.
15483
6f1fd286
DR
15484 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
15485
b230e057
DR
15486 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
15487
cb9a8e97
DR
15488 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
15489 for FP, already done later.
15490
1682dbb1
DR
15491 * toplev.c (debug_args): Add entry for VMS_DEBUG.
15492 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
15493
3fcaac1d
RS
154942002-03-11 Richard Sandiford <rsandifo@redhat.com>
15495
15496 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
15497 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
15498 LARGEST_EXPONENT_IS_NORMAL for the given mode.
15499 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
15500 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
15501 (ediv, emul, eldexp, esqrt): Likewise.
15502 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
15503 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
15504 (saturate): New function.
15505 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
15506 (make_nan): Use a saturation value instead of a NaN if
15507 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
15508 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
15509 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
15510 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
15511 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
15512 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
15513 !ROUND_TOWARDS_ZERO.
15514 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
15515 (ROUND_TOWARDS_ZERO): Document.
15516
d25558be
AJ
155172002-03-11 Andreas Jaeger <aj@suse.de>
15518
15519 * cfg.c (dump_flow_info): Remove unused variable.
15520
c71f9ae7
HPN
155212002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
15522
15523 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
15524 computations on trees.
15525
561c9153
RH
155262002-03-10 Richard Henderson <rth@redhat.com>
15527
932b4e3e 15528 PR 5693:
561c9153
RH
15529 * reload.c (copy_replacements_1): New.
15530 (copy_replacements): Use it to recurse through the rtx.
15531
26b738be
RH
155322002-03-10 Richard Henderson <rth@redhat.com>
15533
15534 * loop.c (strength_reduce): Compute number of iterations as
15535 unsigned HOST_WIDE_INT.
15536
8d8a083e
RH
155372002-03-10 Richard Henderson <rth@redhat.com>
15538
15539 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
15540 to move away from the end of the block.
15541
32810ba3
NB
155422002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
15543
15544 PR preprocessor/5899
15545 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 15546
2b03d201
KG
155472002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15548
f90c544c
KG
15549 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
15550
2b03d201
KG
15551 * attribs.c (decl_attributes): Fix signed/unsigned warning.
15552
3ec1b4cb
HPN
155532002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
15554
15555 * config/mmix/mmix.c: Improve comments.
15556 (mmix_target_asm_function_prologue): Drop variable
15557 empty_stack_frame. Don't allocate unused slot above fp.
15558 (mmix_target_asm_function_epilogue): Mirror prologue changes.
15559 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
15560 brace in first column.
15561 (enum reg_class): Ditto.
15562 (FIRST_PARM_OFFSET): Now 0.
15563 (USER_LABEL_PREFIX): Remove #if 0:d definition.
15564
27e486c5
KG
155652002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15566
15567 * combine.c (make_extraction): Fix error in last change.
15568
0139adca
KG
155692002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15570
15571 * c4x.c (c4x_fp_reglist): Const-ify.
15572 * cris.c (cris_print_operand): Likewise.
15573 * i386.c (ix86_va_arg): Likewise.
15574 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
15575 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
15576 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
15577 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
15578 * mcore.h (regno_reg_class): Likewise.
15579 * mips.c (gen_int_relational): Likewise.
15580 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
15581 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 15582 * pdp11.c (move_costs): Likewise.
0139adca
KG
15583 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
15584 * s390.c (s390_branch_condition_mnemonic, regclass_map):
15585 Likewise.
15586 * s390.h (regclass_map): Likewise.
15587 * sh.c (shift_amounts): Likewise.
a4334c36 15588 * sh.md (rotlsi3): Likewise.
0139adca 15589
889b90a1
GK
155902002-03-09 Geoffrey Keating <geoffk@redhat.com>
15591
15592 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
15593 (ne0+5): Use new clobber to generate proper shift pattern.
15594 Patch by Michael Matz <matz@kde.org>.
15595
2877e0ae
AS
155962002-03-09 Andreas Schwab <schwab@suse.de>
15597
15598 * gcc.c (validate_all_switches): Also handle `%W{...}'.
15599
79b51cd7
GK
156002002-03-09 Geoffrey Keating <geoffk@redhat.com>
15601
15602 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
15603
e0f1be5c
JJ
156042002-03-09 Jakub Jelinek <jakub@redhat.com>
15605
15606 PR middle-end/5877
15607 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
15608 even for non-representable constants.
15609
0a7ec763
RK
15610Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15611
93fe8e92
RK
15612 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
15613 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
15614 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
15615 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
15616 (pop_function_context): Compute MAY_SHARE parameter for
15617 fixup_var_refs.
15618 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
15619 (gen_mem_addressof): Call fixup_var_refs with new parm.
15620
0a7ec763
RK
15621 * combine.c (make_extraction): Don't make extension of CONST_INT.
15622
a85cd407
AO
156232002-03-09 Alexandre Oliva <aoliva@redhat.com>
15624
9445b814
AO
15625 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
15626 in o32 and o64 ABIs.
15627 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
15628 but getting fixed-size structs passed in registers regardless of
15629 padding in o32 and o64 ABIs.
15630
a85cd407
AO
15631 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
15632 offset before loading address of argument passed by transparent
15633 reference.
15634
c51fbe40
JDA
156352002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
15636
15637 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
15638
918e70dd
AO
156392002-03-09 Alexandre Oliva <aoliva@redhat.com>
15640
15641 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
15642 marker such that registers after it are saved.
15643
3070dd00
KG
156442002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15645
15646 * sparc.c (arith_4096_operand): Fix error in last change.
15647
e25d11b0
AO
156482002-03-08 Alexandre Oliva <aoliva@redhat.com>
15649
15650 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
15651 defaults for MEABI.
15652
41daaf0e
AH
156532002-03-08 Aldy Hernandez <aldyh@redhat.com>
15654
5b43fed1
RH
15655 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
15656 vectors.
41daaf0e 15657
fa139b00
AH
156582002-03-08 Aldy Hernandez <aldyh@redhat.com>
15659
5b43fed1 15660 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 15661
c51d95ec
JH
15662Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
15663
15664 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
15665 removed; fix return value.
15666 * combine.c (combine_instructions): Dirtify blocks where we failed to
15667 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
15668 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
15669
3b25fbfe
KG
156702002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15671
15672 * gcse.c (insert_insn_end_bb): Fix typo in last change.
15673
189ae0f4
JH
15674Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
15675
15676 * recog.c (peephole2_optimize): Re-distribute EH edges.
15677
24965e7a
NB
156782002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
15679
15680 * expr.c (expand_expr): Use unsave lang hook.
15681 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
15682 (LANG_HOOKS_INITIALIZER): Update.
15683 * langhooks.h (struct lang_hooks): New hook unsave.
15684 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
15685 (unsave_expr_1): Remove unused lang_unsave_expr_now.
15686 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
15687 (unsave_expr_now): Remove.
15688 * tree.h (unsave_expr_now, lang_unsave,
15689 lang_unsave_expr_now): Remove.
15690 (lhd_unsave): New.
15691
1e4e95d6
AJ
156922002-03-08 Andreas Jaeger <aj@suse.de>
15693
15694 * flow.c (propagate_block_delete_insn): Remove unused variable.
15695
054ef905
KH
156962002-03-08 Kazu Hirata <kazu@hxi.com>
15697
15698 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
15699 insn length for memory load/store.
15700
5304400d 157012002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 15702
5304400d
CR
15703 * doc/install.texi (--with-libiconv-prefix): Document.
15704
81034129
MB
157052002-03-08 Michael Y. Brukman <myb2@cornell.edu>
15706
15707 * doc/sourcebuild.texi: Fix typo.
15708
71db7d03
JJ
157092002-03-08 Jakub Jelinek <jakub@redhat.com>
15710
15711 PR c/3711
15712 * builtins.c (std_expand_builtin_va_arg): Do all computations on
15713 trees.
15714
127c1ba5
RK
15715Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15716
15717 * rtl.c (copy_most_rtx): Move from here ...
15718 * emit-rtl.c (copy_most_rtx): ... to here.
15719
8a13c092
AO
157202002-03-08 Alexandre Oliva <aoliva@redhat.com>
15721
5faae4f7
AO
15722 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
15723 SUBTARGET_CPP_SIZE_SPEC.
15724 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
15725
8a13c092
AO
15726 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
15727
4ec59de2
MH
157282002-03-07 Matt Hiller <hiller@redhat.com>
15729
15730 * gensupport.c (first_dir_md_include): Renamed from include;
15731 change all references.
15732 (last_dir_md_include): Renamed from last_include; change all
15733 references.
15734 (init_md_reader): Unconditionally initialize base_dir whether or
15735 not filename is a relative path.
15736
12f61e77
AO
157372002-03-07 Alexandre Oliva <aoliva@redhat.com>
15738
95356058
AO
15739 * config/fp-bit.c (_unord_f2): Compile it in even if
15740 US_SOFTWARE_GOFAST is enabled.
15741
12f61e77
AO
15742 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
15743 NULL_RTX. Set all HFmode operations as NULL_RTX.
15744 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
15745 NULL_RTX, try reversing the comparison and the operands.
15746
6d7a1c4c
UW
157472002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
15748
15749 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
15750 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
15751 and MATCH_OP_DUP.
15752
66d54344
JH
15753Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
15754
15755 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
15756
068473ec
JH
15757Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
15758
15759 * basic-block.h (fixup_abnormal_edges): Declare.
15760 * reload1.c (fixup_abnormal_edges): New function.
15761 * reg-stack.c (convert_regs): Use it.
15762
15763 * gcse.c (insert_insn_end_bb): Handle trapping insns.
15764
15765 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
15766
71925bc0
RS
157672002-03-07 Richard Sandiford <rsandifo@redhat.com>
15768
15769 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
15770 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
15771 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
15772 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
15773 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
15774 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
15775 unless x and y could be infinite.
15776 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
15777 Check that the common type of both arguments is a real, even for
15778 targets without unordered comparisons. Allow an integer argument
15779 to be compared against a real.
15780 (expand_tree_builtin): Use expand_unordered_cmp.
15781 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
15782 * cse.c (fold_rtx): Likewise. Fix indentation.
15783 * fold-const.c (fold_real_zero_addition_p): New.
15784 (fold): Use it, and the new HONOR_... macros.
15785 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
15786 * jump.c (reversed_comparison_code_parts): After searching for
15787 the true comparison mode, use HONOR_NANS to decide whether it
15788 can be safely reversed.
15789 (reverse_condition_maybe_unordered): Remove IEEE check.
15790 * simplify-rtx.c (simplify_binary_operation): Use the new macros
15791 to decide which simplifications are valid. Allow the following
15792 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
15793 and (a - -b) to (a + b).
15794 (simplify_relational_operation): Use HONOR_NANS.
15795 * doc/tm.texi: Document the MODE_HAS_... macros.
15796
145d3bf2
RE
157972002-03-07 Richard Earnshaw <rearnsha@arm.com>
15798
15799 * combine.c (simplify_comparison): If simplifying a logical shift
15800 right and compare with constant, force the comparison to unsigned.
15801
76a773f3
AH
158022002-03-07 Aldy Hernandez <aldyh@redhat.com>
15803
5b43fed1 15804 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 15805
5b43fed1
RH
15806 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
15807 -mabi=no-altivec
15808 (alt_reg_names): Remove % for vrsave.
76a773f3 15809
ab55f58c
RH
158102002-03-06 Richard Henderson <rth@redhat.com>
15811
5ddec02e 15812 PR optimization/5844
ab55f58c
RH
15813 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
15814 if used indicates we've already emitted one copy of an operand.
15815 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
15816 (gen_split): Supply a non-null used.
15817
e16e3291
UW
158182002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
15819
5b43fed1 15820 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 15821
1e4e95d6 15822 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
15823 but simply fail if the expression is too complex to simplify.
15824 (simplify_gen_binary): Handle simplify_plus_minus failures.
15825
2ca6672b
JH
15826Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
15827
15828 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
15829 consistently call delete_trivially_dead_insns after CSE and GCSE;
15830 fix DFI_life dumping; do jump threading after liveness; do crossjumping
15831 after liveness2; update comment in last crossjumping.
15832 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
15833
31d0dd4f
JL
15834Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
15835
d094b0b3
JL
15836 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
15837 after completing fast dead code elimination.
15838
31d0dd4f
JL
15839 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
15840 COMPARE operator.
1e4e95d6 15841
f2b958b1
PE
158422002-03-06 Phil Edwards <pme@gcc.gnu.org>
15843
15844 * version.c: Fix misplaced leading blanks on first line.
15845
a2877a09
JH
15846Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
15847
15848 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
15849
fe477d8b
JH
15850Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
15851
15852 * cfgcleanup.c (mentions_nonequal_regs): New function.
15853 (thread_jump): Use it.
15854 * toplev.c (rest_of_compilation): Run jump threading after
15855 liveness.
15856
2041cde4
JJ
158572002-03-06 Jakub Jelinek <jakub@redhat.com>
15858
15859 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
15860 patch.
15861
82d68d46
JH
15862Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
15863
15864 * predict.c (estimate_bb_frequencies): Do not reload the
15865 frequencies from notes.
15866
3dec4024
JH
15867Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
15868
15869 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
15870 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
15871
15872 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
15873 delete_noop_moves): Return indeger.
15874 * flow.c (ndead): New variable.
15875 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
15876 BB argument; update callers.
15877 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
15878 (life_analysis): Do not call purge_all_dead_edges.
15879 (update_life_info): Return number of deleted insns; print statistics.
15880 (update_life_info_in_dirty_blocks): likewise.
15881 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
15882 return number of insns deleted.
15883
15884 * cse.c: Include timevar.h
15885 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
15886 iterate until stabilizes; print statistics; return number of killed
15887 insns.
15888 * Makefile.in: (cse.o): Add timevar.h dependency
15889 * rtl.h (delete_trivially_dead_insns): New.
15890 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
15891 * toplev.c (rest_of_compilation): Update callers.
15892
15893 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
15894 (try_optimize_cfg): Do not update liveness.
15895 (cleanup-cfg): Loop until try_optimize_cfg and dead code
15896 removal stabilizes; use delete_trivially_dead_insns.
15897
15898 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
15899
c7544dd8
ZW
159002002-03-05 Zack Weinberg <zack@codesourcery.com>
15901
15902 * cppmain.c (setup_callbacks): Disable #pragma and #ident
15903 callbacks when processing assembly language.
15904
50b424a9
JDA
159052002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
15906
15907 * pa.h (ASM_FILE_END): Define.
15908 * som.h (ASM_FILE_END): Delete.
15909
15910 * pa.c (function_arg): Don't pass floats in general registers in
15911 indirect calls if TARGET_ELF32.
15912
6185f217
RH
159132002-03-05 Richard Henderson <rth@redhat.com>
15914
15915 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
15916
3020a4b2
DS
159172002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
15918
15919 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
15920
65649daa
JJ
159212002-03-05 Jakub Jelinek <jakub@redhat.com>
15922
15923 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
15924 -r command line. Don't hide any symbols if not building
15925 shared libgcc.
15926
5a1a3e5e
JH
15927Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
15928
15929 * cfg.c (dump_flow_info): Warn about profile mismatches.
15930 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
15931 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
15932
170c56da
JJ
159332002-03-05 Jakub Jelinek <jakub@redhat.com>
15934
15935 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
15936 wide volatile memory by parts.
15937
6d051694
JJ
159382002-03-05 Jakub Jelinek <jakub@redhat.com>
15939
15940 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
15941 is NULL.
15942
28bcfd4d
RH
159432002-03-05 Richard Henderson <rth@redhat.com>
15944
5b43fed1 15945 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 15946
75227a33
GK
159472002-03-04 Geoffrey Keating <geoffk@redhat.com>
15948
15949 * toplev.c (documented_lang_options): Document more
15950 language-specific options.
15951 * doc/invoke.texi (Warning Options): Correct documentation for
15952 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
15953 * c-decl.c (c_decode_option): Use a table to handle warning options.
15954
4f1aac42
HPN
159552002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
15956
15957 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
15958 parameter to mmix_encode_section_info.
15959 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
15960 relocatably. Always produce ELF, not mmo if linking relocatably.
15961 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
15962 first is non-zero, don't add symbol prefix.
15963 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
15964 prototype accordingly.
15965
12345543
KW
159662002-03-04 Krister Walfridsson <cato@df.lth.se>
15967
15968 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
15969
8e97db8f
JM
159702002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
15971
15972 * configure.in: Increase required makeinfo version to 4.1.
15973 * configure: Regenerate.
15974
06487868
GK
159752002-03-04 Geoffrey Keating <geoffk@redhat.com>
15976
15977 * .cvsignore: Remove *.info* and genrtl*; these files are generated
15978 elsewhere now.
15979
cff42170
JM
159802002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
15981
15982 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
15983 * doc/invoke.texi: Fix @math uses.
15984
974a7f56
JH
15985Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
15986
15987 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
15988 removal
15989
3b7d0e98
AH
159902002-03-03 Aldy Hernandez <aldyh@redhat.com>
15991
5b43fed1
RH
15992 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
15993 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 15994
5b43fed1 15995 * config/rs6000/t-ppcendian: New.
3b7d0e98 15996
65f2f288
HB
159972002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
15998
15999 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
16000 nonimmediate_src_operand and nonimmediate_lsrc_operand to
16001 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
16002
8ce0a8a5
RH
160032002-03-03 Richard Henderson <rth@redhat.com>
16004
16005 * toplev.c (rest_of_decl_compilation): Revert last two changes.
16006
ba31d94e
ZW
160072002-03-03 Zack Weinberg <zack@codesourcery.com>
16008
16009 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
16010 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
16011 tree.c, config/m68k/m68k.c:
16012 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
16013 REAL_ARITHMETIC blocks unconditional. Delete some further
16014 #ifdef blocks predicated on REAL_ARITHMETIC.
16015 * flags.h, toplev.c: Delete remaining references to
16016 flag_pretend_float.
16017
16018 * doc/invoke.texi: Remove documentation of -fpretend-float.
16019 * doc/tm.texi: Describe the various REAL_* macros as provided by
16020 real.h, not by the target configuration files.
16021
16022 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
16023 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
16024 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
16025 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
16026 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
16027 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
16028 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
16029 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
16030 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
16031 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
16032 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
16033 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
16034 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
16035 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
16036 config/xtensa/xtensa.h:
16037 Do not define, undefine, or mention in comments any of
16038 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
16039 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
16040 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
16041 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
16042 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
16043 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
16044 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
16045 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
16046 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
16047
9a571cfd
KG
160482002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16049
e81dd381
KG
16050 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
16051 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
16052 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
16053 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
16054 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
16055 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
16056 Delete.
16057 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 16058 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 16059
9a571cfd
KG
16060 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
16061 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
16062 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
16063
ca7558fc
KG
160642002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16065
16066 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
16067 lieu of explicit sizeof/sizeof.
16068 * i386.c (override_options, ix86_init_mmx_sse_builtins,
16069 ix86_expand_builtin): Likewise.
16070 * mips.c (mips_add_gc_roots): Likewise.
16071 * mmix.c (mmix_output_condition): Likewise.
16072 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
16073 altivec_init_builtins): Likewise.
16074 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
16075 * cppexp.c (Nsuff, parse_number): Likewise.
16076 * cppinit.c (builtin_array_end): Likewise.
16077 * gcc.c (n_default_compilers, process_command): Likewise.
16078 * genpreds.c (output_predicate_decls): Likewise.
16079 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
16080 * lcm.c (N_ENTITIES): Likewise.
16081 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 16082
41c78c88
RH
160832002-03-03 Richard Henderson <rth@redhat.com>
16084
16085 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
16086 for types or labels.
16087
9e9b71e6
RH
160882002-03-03 Richard Henderson <rth@redhat.com>
16089
16090 * c-decl.c (start_decl): Initialized variables are not common.
16091
c26a6db8
PB
160922002-03-02 Per Bothner <per@bothner.com>
16093
16094 * gcc.c (option_map): Suport new --bootclasspath option.
16095 --CLASSPATH is now just an alias for --classpath.
16096
9e8aab55
RH
160972002-03-02 Richard Henderson <rth@redhat.com>
16098
16099 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
16100 load if "internal" visibility.
16101 * doc/extend.texi: Document visibility meanings.
16102
b3bbd220
RH
161032002-03-02 Richard Henderson <rth@redhat.com>
16104
16105 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
16106 to functions as well.
16107
b14707c3
RH
161082002-03-02 Richard Henderson <rth@redhat.com>
16109
16110 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
16111 (handle_visibility_attribute): Don't call assemble_visibility.
16112 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
16113 without asmspec. Invoke assemble_alias when needed.
16114 * varasm.c (maybe_assemble_visibility): New.
16115 (assemble_start_function, assemble_variable, assemble_alias): Use it.
16116
b2003250
RH
161172002-03-02 Richard Henderson <rth@redhat.com>
16118
16119 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
16120 invoke ENCODE_SECTION_INFO with first call flag.
16121
16122 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
16123 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 16124 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
16125 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
16126 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
16127 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
16128 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
16129 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
16130 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
16131 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
16132 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
16133 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
16134 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
16135 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
16136 config/mcore/mcore-protos.h, config/mcore/mcore.c,
16137 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
16138 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 16139 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
16140 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
16141 config/sh/sh.h, config/sparc/sparc.h,
16142 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
16143 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
16144 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
16145 FIRST argument. As needed, examine it and do nothing.
16146
ba31d94e 16147 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
16148 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
16149 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
16150
16151 * config/arm/t-pe (pe.o): Add dependencies.
16152
5c60f03d
KG
161532002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16154
16155 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
16156 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
16157 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
16158 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
16159 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
16160 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
16161 * defaults.h (BITS_PER_UNIT): Define.
16162 * doc/tm.texi (BITS_PER_UNIT): Document default value.
16163
86855e8c
KH
161642002-03-02 Kazu Hirata <kazu@hxi.com>
16165
16166 * config/h8300/h8300-protos.h: Add a prototype for
16167 compute_a_shift_length.
16168 * config/h8300/h8300.c (h8300_asm_insn_count): New.
16169 (compute_a_shift_length): Likewise.
16170 (h8300_adjust_insn_length): Do not adjust insn length of shift
16171 insns.
16172 * config/h8300/h8300.md (anonymous shift patterns): Use
16173 compute_a_shift_length.
16174
f6041ed8
RK
16175Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16176
35aa3c1c
RK
16177 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
16178 trunc_int_for_mode.
16179
f6041ed8
RK
16180 * emit-rtl.c (offset_address): Call update_temp_slot_address.
16181
27b41650
KG
161822002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16183
16184 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
16185 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
16186 * flags.h (flag_zero_initialized_in_bss): Declare.
16187 * toplev.c (flag_zero_initialized_in_bss): New flag.
16188 (lang_independent_options): Add flag_zero_initialized_in_bss.
16189 * tree.c (initializer_zerop): New function.
16190 * tree.h (initializer_zerop): Declare.
16191 * varasm.c (assemble_variable): If we can emit bss, put zero
16192 initializers in the bss section.
16193
ca734b39
AM
161942002-03-02 Alan Modra <amodra@bigpond.net.au>
16195
16196 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
16197 like more than one symbol per .weak directive.
16198
49b72306
RH
161992002-03-01 Richard Henderson <rth@redhat.com>
16200
16201 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
16202 adjust argument_pointer by pretend_args_size.
16203 (ia64_va_start): Adjust va_start address by -pretend_args_size.
16204
fbf0fe41
KH
162052002-03-01 Kazu Hirata <kazu@hxi.com>
16206
16207 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
16208
0010687d
JH
16209Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
16210
16211 * toplev.c (rest_of_compilation): Delete dead jumptables before
16212 loop.
16213 * flow.c (delete_dead_jumptables): Make global.
16214 * rtl.h (delete_dead_jumptables): Declare.
16215
9429c84c
DE
162162002-03-01 David Edelsohn <edelsohn@gnu.org>
16217
16218 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
16219 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 16220 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 16221
f0b6f9a6
KH
162222002-03-01 Kazu Hirata <kazu@hxi.com>
16223
16224 * config/h8300/h8300-protos.h: Fix formatting.
16225 * config/h8300/h8300.c: Likewise.
16226 * config/h8300/h8300.h: Likewise.
16227
bc8db8a1
KH
162282002-03-01 Kazu Hirata <kazu@hxi.com>
16229
16230 * config/h8300/h8300.c (print_operand): Support 16-bit
16231 constant addresses.
16232 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
16233
32b069d3
RH
162342002-02-28 Richard Henderson <rth@redhat.com>
16235
16236 * expmed.c (store_bit_field): Prevent generation of CONCATs;
16237 pun complex values as integers; use gen_lowpart instead of
16238 gen_rtx_SUBREG.
16239 (extract_bit_field): Likewise.
16240
79c4e63f
AM
162412002-03-01 Alan Modra <amodra@bigpond.net.au>
16242 David Edelsohn <edelsohn@gnu.org>
16243
16244 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
16245 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
16246 (SUPPORTS_WEAK): Likewise.
16247 * output.h (add_weak): Add tree param.
16248 * varasm.c (add_weak): Likewise. Save decl.
16249 (struct weak_syms): Add decl field.
16250 (mark_weak_decls): New function.
16251 (init_varasm_once): ggc_add_root mark_weak_decls.
16252 (assemble_start_function): Use ASM_WEAKEN_DECL.
16253 (assemble_variable): Likewise.
16254 (assemble_alias): Likewise.
16255 (declare_weak): Pass decl to add_weak.
16256 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
16257 (remove_from_pending_weak_list): Declare and define for
16258 ASM_WEAKEN_DECL.
16259 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
16260 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
16261 * defaults.h (SUPPORTS_WEAK): Likewise.
16262 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
16263 .weak for code sym. Do emit .size for descriptor sym.
16264 (ASM_DECLARE_FUNCTION_SIZE): Define.
16265 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
16266 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
16267 .lglobl unless TARGET_XCOFF. Formatting fixes.
16268 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
16269 .weak for code sym.
16270 (HANDLE_PRAGMA_WEAK): Remove.
16271 (ASM_WEAKEN_LABEL): Remove.
16272 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
16273
6f30f1f1
JM
162742002-03-01 Jason Merrill <jason@redhat.com>
16275
16276 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
16277 (TARGET_EXPR_CLEANUP): New macro.
16278
7879b81e
SE
162792002-02-28 Steve Ellcey <sje@cup.hp.com>
16280
16281 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
16282 to take ptr_extend into account as third type of extension.
16283 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
16284 fields used by SUBREG_PROMOTED_UNSIGNED_P.
16285 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
16286 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
16287 * calls.c (precompute_arguments): Use new macro.
16288 (expand_call): Ditto.
16289 * combine.c (nonzero_bits): Ditto.
16290 (record_promoted_value): Ditto.
16291 * expr.c (store_expr): Ditto.
16292 (expand_expr): Ditto.
16293 * function.c (assign_parms): Ditto.
16294
42d579d8
AO
162952002-02-28 Alexandre Oliva <aoliva@redhat.com>
16296
16297 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
16298 override -shared and -shared-libgcc.
16299
e0054185
DB
163002002-02-28 David O'Brien <obrien@FreeBSD.org>
16301
16302 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
16303 of "ultrasparc".
16304 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
16305 to be broken.
16306
abda4f1c
RH
163072002-02-28 Richard Henderson <rth@redhat.com>
16308
16309 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
16310 4 cycle latency from MM producers.
16311 (ia64_internal_sched_reorder): Likewise with pipeline flush.
16312
c0f08649
JJ
163132002-02-28 Jakub Jelinek <jakub@redhat.com>
16314
16315 * mklibgcc.in: Don't use GNU make extension.
16316
f79f2651
NB
163172002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
16318
16319 * c-parse.in (STATIC): New terminal.
16320 (scspec): New non-terminal. Update productions accordingly.
16321 (program): Remove bogus ifc / end ifc.
16322 (array_declarator): Simplify production using STATIC.
16323
001e3fee
JM
163242002-02-28 Jim Meyering <meyering@lucent.com>
16325
16326 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
16327 \a still means TARGET_BELL.
16328
89076bb3
RH
163292002-02-28 Richard Henderson <rth@redhat.com>
16330
16331 * haifa-sched.c (sched_emit_insn): New.
16332 (schedule_block): Use last_scheduled_insn to track last insn.
16333 * sched-int.h (sched_emit_insn): Prototype.
16334 * config/ia64/ia64.c (last_issued): Remove.
16335 (ia64_variable_issue): Don't set it.
16336 (nop_cycles_until): Use sched_emit_insn.
16337
e3aaacf4
AM
163382002-02-28 Andrew MacLeod <amacleod@redhat.com>
16339
16340 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
16341 extended constants.
16342
7f473594
KH
163432002-02-28 Kazu Hirata <kazu@hxi.com>
16344
16345 * config/h8300/h8300.c: Fix formatting.
16346 * config/h8300/h8300.h: Likewise.
16347
b96c434c
MM
163482002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
16349
16350 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
16351 which may overwrite the high byte of the frame pointer.
16352
9b420a6a
BT
163532002-02-28 Bo Thorsen <bo@suse.de>
16354
16355 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
16356 (STARTFILE_SPEC): Add 64 bit files.
16357 (ENDFILE_SPEC): Likewise.
16358
6f30f1f1 163592002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
16360
16361 * c-decl.c (finish_function): Only warn about missing return
16362 statement with -Wreturn-type.
16363
70da1d03
JH
16364Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
16365
16366 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
16367
16368 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
16369 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
16370
38c1593d
JH
16371Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
16372
16373 * basic-block.h (BB_REACHABLE): Renumber.
16374 (BB_DIRTY, BB_NEW): New flags.
16375 (clear_bb_flags): Declare.
16376 (update_life_info_in_dirty_blocks): Declare.
16377 * cfg.c (clear_bb_flags): New function.
16378 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
16379 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
16380 reorder_insns, emit_insn_after): Mark block as dirty.
16381 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
16382 (update_life_info_in_dirty_blocks): New function.
16383 * recog.c (apply_change_group): Dirtify block.
16384
16385 * cse.c (cse_insn): Reorder emitting of jump insn to keep
16386 cfg consistent.
16387 * gcse.c (delete_null_pointer_checks): Likewise.
16388
16389 * toplev.c (dump_file_index): Move cse2 after bp,
16390 add DFI_null
16391 (dump_file_info): Similary.
16392 (rest_of_compilation): Avoid most of CFG rebuilds;
16393 do first if converision after null pointer checks, do cse2
16394 after branch prediction; avoid full liveness rebuild after
16395 initializing subregs.
16396 * invoke.texi (-d options): Document -du, renumber.
16397
16398 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
16399 (notice_new_block): Do not set BB_UPDATE_LIFE.
16400 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
16401 merge_blocks_move_successor_nojumps, merge_blocks,
16402 try_crossjump_to_edge): Likewise.
16403 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
16404 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
16405 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
16406 (merge_of_block): Do not use life_data_ok.
16407 (find_if_case_1): Do not use SET_UPDATE_LIFE.
16408 (if_convert): Use BB_DIRTY mechanizm to update life.
16409 * lcm.c (optimize_mode_switching): Update
16410 update_life_info_in_dirty_blocks
16411
63e1b1c4
NB
164122002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
16413
16414 * Makefile.in (integrate.o): Update.
16415 * c-decl.c (copy_lang_decl): Rename.
16416 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
16417 * integrate.c: Include langhooks.h.
16418 (copy_decl_for_inlining): Update to use langhook.
16419 * langhooks-def.h (lhd_do_nothing_t,
16420 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
16421 (LANG_HOOKS_INITIALIZER): Update.
16422 * langhooks.c (lhd_do_nothing_t): New.
16423 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
16424 * tree.h (copy_lang_decl): Remove.
16425objc:
16426 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
16427
f472fa29
AM
164282002-02-27 Andrew MacLeod <amacleod@redhat.com>
16429
ba31d94e 16430 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
16431 POST_DEC, and POST_MODIFY.
16432
273cf2e4
ZW
164332002-02-27 Zack Weinberg <zack@codesourcery.com>
16434
16435 * c-typeck.c (digest_init): Remove unused parameter; all
16436 callers changed.
16437
4e07d762
GK
164382002-02-27 Geoffrey Keating <geoffk@redhat.com>
16439
16440 * expmed.c (expand_shift): Correctly test for low part of a
16441 subreg.
16442
6bc627b3
UW
164432002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
16444
16445 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
16446 insn UIDs with insn addresses.
16447
f458d1d5
ZW
164482002-02-27 Zack Weinberg <zack@codesourcery.com>
16449
16450 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
16451 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
16452 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
16453 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
16454 gcc.c, toplev.c: Delete code implementing -traditional mode.
16455
16456 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
16457 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
16458 Document removal of -traditional mode for compilation, and
16459 remove documentation only relevant to that mode.
16460
16461 * config/nextstep.h, config/ptx4.h, config/svr4.h,
16462 config/convex/convex.h, config/d30v/d30v.h,
16463 config/i386/dgux.h, config/i386/osf1elf.h,
16464 config/i386/osfelf.h, config/i386/osfrose.h,
16465 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
16466 config/m68k/hp310.h, config/m88k/dgux.h,
16467 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
16468 config/m88k/m88k.h, config/m88k/openbsd.h,
16469 config/mips/abi64.h, config/mips/osfrose.h,
16470 config/mips/svr4-5.h, config/mips/svr4-t.h,
16471 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
16472 config/stormy16/stormy16.h: Remove all references to
16473 -traditional from target specs. Delete all mention of the
16474 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
16475 delete a couple of commented-out definitions of
16476 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
16477 to -traditional.
16478
16479 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
16480 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
16481
e0b3a8ff
ZW
164822002-02-27 Zack Weinberg <zack@codesourcery.com>
16483
16484 * mklibgcc.in: Don't use \n in a line subject to
16485 interpretation by echo.
16486
5c6a85b7
GS
164872002-02-27 Graham Stott <grahams@redhat.com>
16488
72b05af1
GS
16489 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
16490 Constify NAME.
16491
7d104885
GS
16492 * loop.c (prescan_loop): Handle PARALLEL.
16493
8ed805d2
GS
16494 * unroll.c (loop_iterations): Return 0 if the add_val for
16495 a BIV is REG.
16496
fd478a0a
GS
16497 * final.c (output_operand_lossage): Constify PFX_STR.
16498
5c6a85b7
GS
16499 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
16500
cd98ad03
JH
16501Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
16502
16503 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
16504 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
16505
639ae55b
JH
16506Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
16507
16508 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
16509
e808ec9c
NB
165102002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
16511
16512 * cpplex.c (_cpp_lex_token): Handle directives in macro
16513 arguments.
16514 * cpplib.c (_cpp_handle_directive): Save and restore state
16515 if parsing macro args when entering a directive.
16516 * cppmacro.c (collect_args): No need to handle directives
16517 in macro arguments.
16518 (enter_macro_context, replace_args): Use the original macro
16519 definition in case it was redefined whilst collecting arguments.
16520doc:
16521 * cpp.texi: Update.
16522
f585a356
DE
165232002-02-26 David Edelsohn <edelsohn@gnu.org>
16524
16525 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
16526 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
16527 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
16528 method on AIX.
16529 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
16530 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
16531 (load_toc_v4_PIC_2): Same.
16532
165332002-02-26 Alan Modra <amodra@bigpond.net.au>
16534
16535 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
16536
d699058e
RH
165372002-02-26 Richard Henderson <rth@redhat.com>
16538
16539 * config/alpha/alpha.md (ashldi_se): Re-enable.
16540
eadccfbb
RH
165412002-02-26 Richard Henderson <rth@redhat.com>
16542
16543 * config/alpha/alpha.c (alpha_encode_section_info): Examine
16544 MODULE_LOCAL_P; improve commentary.
16545
7080ada1
ZW
165462002-02-26 Zack Weinberg <zack@codesourcery.com>
16547
16548 * doc/cpp.texi: Clarify documentation of relationship between
16549 #line and #include.
16550
b42cff6b
KH
165512002-02-26 Kazu Hirata <kazu@hxi.com>
16552
16553 * config/h8300/h8300-protos.h: Update the prototype for
16554 compute_logical_op_length. Add the prototype for
16555 compute_logical_op_cc.
16556 * config/h8300/h8300.c (compute_logical_op_length): Figure out
16557 code from operands.
16558 (compute_logical_op_cc): New.
16559 * config/h8300/h8300.md: Combine all the logical op patterns
16560 in HImode and SImode. Use compute_logical_op_cc.
16561
831c4e87
KC
165622002-02-26 Kelley Cook <kelleycook@comcast.net>
16563
16564 * config/i386/i386.c (print_operand): Don't append ATT-style
16565 length suffixs to x87 opcodes when in Intel mode.
16566
ff88fe10
RS
165672002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
16568
16569 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
16570 (init_emit_once): Update calls.
16571 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
16572 (init_syntax_once): Prototype.
16573
d4108589
JDA
165742002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
16575
16576 * pa-linux.h (LIB_SPEC): Update definition.
16577 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
16578
e013f3c7
RH
165792002-02-26 Richard Henderson <rth@redhat.com>
16580
16581 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
16582 if we emitted a stop bit.
16583
9e944a16
JJ
165842002-02-26 Jakub Jelinek <jakub@redhat.com>
16585
16586 * configure.in (libgcc_visibility): Substitute.
16587 * configure: Rebuilt.
16588 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
16589 defined symbols .hidden.
16590
47bd70b5
JJ
165912002-02-26 Jakub Jelinek <jakub@redhat.com>
16592
16593 * attribs.c (c_common_attribute_table): Add visibility.
16594 (handle_visibility_attribute): New function.
16595 * varasm.c (assemble_visibility): New function.
16596 * output.h (assemble_visibility): Add prototype.
16597 * tree.h (MODULE_LOCAL_P): Define.
16598 * crtstuff.c (__dso_handle): Use visibility attribute.
16599 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
16600 for MODULE_LOCAL_P symbols too.
16601 * config/ia64/ia64.c (ia64_encode_section_info): Handle
16602 MODULE_LOCAL_P symbols the same way as local symbols.
16603 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
16604 into .sdata/.sbss by the user.
16605 * doc/extend.texi (Function Attributes): Document visibility
16606 attribute.
16607
6d73371a
JJ
166082002-02-26 Jakub Jelinek <jakub@redhat.com>
16609
16610 PR debug/5770
16611 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
16612 STRING_CST initializer spanning the whole variable without
16613 embedded zeros.
16614 If expand_expr returned MEM, don't use it.
16615
06e224f7
AO
166162002-02-26 Alexandre Oliva <aoliva@redhat.com>
16617
16618 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
16619 generate a die for the lexical block.
16620
40367e2d
KH
166212002-02-26 Kazu Hirata <kazu@hxi.com>
16622
16623 * config/h8300/h8300-protos.h: Add a prototype for
16624 compute_logical_op_length.
16625 * config/h8300/h8300.c (compute_logical_op_length): New.
16626 * config/h8300/h8300.md (anonymous logical patterns): Use
16627 compute_logical_op_length for length.
16628
0e98f924
AH
166292002-02-26 Aldy Hernandez <aldyh@redhat.com>
16630
831c4e87
KC
16631 * dwarf2out.c (modified_type_die): Do not call type_main_variant
16632 for vectors.
16633 (gen_type_die): Same.
0e98f924 16634
831c4e87 16635 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 16636
a50cfd52
DE
166372002-02-26 Daniel Egger <degger@fhm.edu>
16638
831c4e87
KC
16639 * config/rs6000/rs6000.md: Swap define_insn attributes to
16640 fix incorrect generation of merge high instructions instead
16641 of merge low.
a50cfd52 16642
b7997284
AH
166432002-02-26 Aldy Hernandez <aldyh@redhat.com>
16644
831c4e87
KC
16645 * c-typeck.c (really_start_incremental_init): Use
16646 bitsize_zero_node for vectors.
b7997284 16647
376aec5d
AH
166482002-02-26 Aldy Hernandez <aldyh@redhat.com>
16649
831c4e87
KC
16650 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
16651 ("*set_vrsave_internal"): Same.
376aec5d 16652
3b40e71b
RH
166532002-02-25 Richard Henderson <rth@redhat.com>
16654
16655 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
16656 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
16657
232b8f52
JJ
166582002-02-25 Jakub Jelinek <jakub@redhat.com>
16659
16660 PR target/5755
16661 * config/i386/i386.c (ix86_return_pops_args): Only pop
16662 fake structure return argument if it was passed on the stack.
16663
67282790
JM
166642002-02-25 Jason Merrill <jason@redhat.com>
16665
16666 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
16667 RESULT_DECL.
16668
5c181756
AO
166692002-02-25 Alexandre Oliva <aoliva@redhat.com>
16670
16671 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
16672 link with shared_name only.
16673 * doc/invoke.texi (Link Options): Document new behavior.
16674
6786d201
AH
166752002-02-25 Aldy Hernandez <aldyh@redhat.com>
16676
831c4e87 16677 * c-typeck.c (push_init_level): Handle vectors.
6786d201 16678
7d6040e8
AO
166792002-02-25 Alexandre Oliva <aoliva@redhat.com>
16680
16681 * config/sparc/sparc.c (const64_high_operand): Zero-extend
16682 operands of SPARC_SETHI_P.
16683 (input_operand): Likewise.
16684 (sparc_emit_set_const32): Likewise.
16685 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
16686 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
16687 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
16688 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
16689 (movdi_insn_sp64_vis): Likewise.
16690 (movdi split, movdf split): Use SETHI32.
16691 * doc/md.texi: Document SPARC constraints L, M and N.
16692
b188f760
AH
166932002-02-25 Aldy Hernandez <aldyh@redhat.com>
16694
831c4e87
KC
16695 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
16696 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 16697
831c4e87
KC
16698 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
16699 gen_get_vrsave_internal.
b188f760 16700
8041889f
RK
16701Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16702
16703 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
16704
a47ed310
NB
167052002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
16706
16707 * cpplex.c (cpp_interpret_charconst): Get signedness or
16708 otherwise of wide character constants correct.
16709 * cppexp.c (lex): Get signedness of wide charconsts correct.
16710
cb8f73be
RK
16711Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16712
16713 * optabs.c (widen_operand): Only call convert_modes for
16714 promoted SUBREG if signedness matches.
16715 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
16716
2450e0b8
NB
167172002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
16718
16719 * cpplib.c (glue_header_name): Use local buffer to build up
16720 header name.
16721
70b6aaed
NB
167222002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
16723
16724 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
16725
6be580c7
KH
167262002-02-23 Kazu Hirata <kazu@hxi.com>
16727
16728 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
16729 H8/300[HS] separately.
16730 * config/h8300/h8300.md: Remove the early clobber constraint
16731 from bit field patterns.
16732
35dad9f1
KH
167332002-02-23 Kazu Hirata <kazu@hxi.com>
16734
16735 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
16736 register_operand.
16737 (mulhisi3): Likewise.
16738 (umulqisi3): Likewise.
16739 (umulhisi3): Likewise.
16740
ab8e2228
NB
167412002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
16742
16743 * cppinit.c (output_deps): Correct test for stdout output.
16744 (init_dependency_output): Cure warning.
16745
ac6f8a15
RK
16746Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16747
16748 * expr.c (store_expr): When converting expression to promoted
16749 equivalent type, allow using SUBREG_REG of TARGET as the target
16750 of the expansion of EXP.
16751 * loop.c (basic_induction_var, case SUBREG): Always look inside.
16752 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
16753 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
16754 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
16755 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
16756
f282ffb3
JM
167572002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
16758
16759 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
16760 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
16761 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
16762
44c5edc0
JJ
167632002-02-23 Jakub Jelinek <jakub@redhat.com>
16764
16765 PR optimization/5747
16766 * loop.c (scan_loop): Update reg info if move_movables created new
16767 pseudos.
16768
f98e43c0
DE
167692002-02-23 David Edelsohn <edelsohn@gnu.org>
16770
16771 * gcc.c (init_gcc_spec): Revert last change.
16772
e72247f4
DE
167732002-02-23 David Edelsohn <edelsohn@gnu.org>
16774
16775 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
16776 gpc_reg_operand constraint.
16777
167782002-02-23 Alan Modra <amodra@bigpond.net.au>
16779
16780 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
16781 Simplify comparison of `low'.
16782 (add_operand): Fix formatting.
16783 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 16784 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
16785 (rs6000_stack_info): Remove redundant test setting push_p.
16786 (output_toc): Fix formatting.
16787 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
16788 cc_reg_not_cr0_operand constraint.
16789 (booldi3, boolcdi3 splitters): Same.
16790
a5c30531
AH
167912002-02-23 Aldy Hernandez <aldyh@redhat.com>
16792
831c4e87 16793 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 16794
43710f9f
DE
167952002-02-22 David Edelsohn <edelsohn@gnu.org>
16796
16797 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
16798 gcc invoked with -shared-libgcc.
16799
3256b817
JJ
168002002-02-22 Jakub Jelinek <jakub@redhat.com>
16801
16802 PR c++/5748
16803 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
16804 decl if any of elements was TREE_USED.
16805
9e0625a3
AO
168062002-02-22 Alexandre Oliva <aoliva@redhat.com>
16807
16808 * config/sparc/sol2.h: Don't include sys/mman.h.
16809 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
16810 (arith_4096_operand): Don't throw high bits away.
16811 (const64_operand): Take sign extension of CONST_INTs into account.
16812 (const64_high_operand, sparc_emit_set_const32): Likewise.
16813 (GEN_HIGHINT64): Likewise.
16814 (sparc_emit_set_const64_quick1): Likewise.
16815 (const64_is_2insns): Likewise.
16816 (print_operand): Use trunc_int_for_mode for sign extension.
16817 * config/sparc/sparc.h (SMALL_INT32): Likewise.
16818 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
16819 chars. Assume CONST_INT is already properly sign-extended.
16820 (movdi split): Sign-extend each SImode part.
16821 (andsi3 split): Don't mask high bits off, so that result
16822 remains properly sign-extend.
16823 (iorsi3 split): Likewise.
16824 (xorsi3 split): Likewise.
16825
54fec3d5
RS
168262002-02-22 Richard Sandiford <rsandifo@redhat.com>
16827
16828 * fold-const.c (fold): Fix typo in comments.
16829
667ada9b
DN
168302002-02-21 Diego Novillo <dnovillo@redhat.com>
16831
16832 * Makefile.in (langhooks.o): Update dependencies.
16833
29ac78d5
DN
168342002-02-21 Diego Novillo <dnovillo@redhat.com>
16835
16836 * langhooks.c: Include flags.h.
16837
6aa77e6c
AH
168382002-02-21 Aldy Hernandez <aldyh@redhat.com>
16839
16840 * testsuite/gcc.dg/attr-alwaysinline.c: New.
16841
16842 * c-common.c (c_common_post_options): Set inline trees by
16843 default.
16844
16845 * doc/extend.texi (Function Attributes): Document always_inline
16846 attribute.
16847 Update documentation about inlining when not optimizing.
16848
16849 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
16850
16851 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
16852 unless DECL_ALWAYS_INLINE.
16853
16854 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
16855 unless DECL_ALWAYS_INLINE.
16856 (c_disregard_inline_limits): Disregard if always_inline set.
16857
16858 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
16859 Disregard if always_inline set.
16860 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
16861 unless DECL_ALWAYS_INLINE.
16862
16863 * attribs.c (handle_always_inline_attribute): New.
16864 (c_common_attribute_table): Add always_inline.
16865
16866 * config/rs6000/altivec.h: Add prototypes for builtins
16867 requiring the always_inline attribute.
16868
c410d49e
EC
168692002-02-21 Eric Christopher <echristo@redhat.com>
16870
16871 * expmed.c (store_bit_field): Try to simplify the subreg
16872 before generating a new one when when the mode size of
16873 value is less than maxmode.
16874
e3c8ea67
RH
168752002-02-21 Richard Henderson <rth@redhat.com>
16876
16877 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
16878 than gen_rtx_PLUS to form the sum.
16879 * explow.c (force_reg): Rearrange to not allocate new pseudo
16880 when force_operand returns a register.
16881 * expr.c (expand_assignment): Allow offset_rtx expansion to
16882 return a sum. Do not force addresses into registers.
16883 (expand_expr): Likewise.
16884 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
16885 to canonicalize arithmetic that didn't simpify.
16886 (simplify_plus_minus): New argument force; update
16887 all callers. Don't split CONST unless we can do something with it,
16888 and wouldn't lose the constness of the operands.
16889
16890 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
16891 that we generated earlier.
16892
c1a046e5
TT
168932002-02-21 Tom Tromey <tromey@redhat.com>
16894
16895 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
16896 (output_line_info): Use constant `1', with a long explanatory
16897 comment.
16898 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
16899
31fbaad4
R
16900Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
16901
16902 * jump.c (redirect_jump): If old label has no UID, don't try to
16903 delete it.
16904
a7f52356
R
16905Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
16906
16907 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
16908 If input is constant, do shifts at compile time.
16909
924fcc4e
JM
169102002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
16911
16912 * doc/extend.texi: Fix some more overfull hboxes.
16913
e5a20888
JJ
169142002-02-21 Jakub Jelinek <jakub@redhat.com>
16915
16916 PR optimization/4994
16917 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
16918 register moves.
16919
169202002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
16921
16922 PR c++/4574
16923 * expr.h (expand_and): Add mode argument.
16924 * expmed.c (expand_and): Add mode argument.
16925 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
16926 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
16927 * except.c (expand_builtin_extract_return_addr): Likewise.
16928 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
16929 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
16930 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
16931 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
16932 * config/c4x/c4x.md: Use GEN_INT (x) instead of
16933 gen_rtx (CONST_INT, VOIDmode, x).
16934
7133e992
JJ
169352002-02-21 Jakub Jelinek <jakub@redhat.com>
16936
16937 PR c/4697:
16938 * stmt.c (warn_if_unused_value): Move side effects test once more.
16939
e2ec05a6
TG
169402002-02-20 Torbjorn Granlund <tege@swox.com>
16941
16942 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 16943 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 16944
9dd791c8
AO
16945Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
16946
16947 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
16948 SUBREG or ZERO_EXTEND.
16949
7ab56274
R
16950Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
16951
16952 * sh.h (current_function_anonymous_args): Remove.
16953 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
16954 of current_function_varargs and current_function_stdarg is set.
16955 * sh.c (sh_expand_prologue): Check current_function_varargs /
16956 current_function_stdarg / TARGET_SH5 instead of
16957 current_function_anonymous_args.
16958
16959 * sh64.h (TARGET_VERSION): Define.
16960
b1765bde
DE
169612002-02-20 David Edelsohn <edelsohn@gnu.org>
16962
16963 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
16964 VRSAVE_REGNO on TARGET_ALTIVEC.
16965
169662002-02-20 Alan Modra <amodra@bigpond.net.au>
16967
16968 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
16969 bits of SImode const_int.
16970 (includes_rshift_p): Likewise.
16971 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 16972 mode.
b1765bde
DE
16973 (rs6000_output_function_epilogue): Pad traceback table to word.
16974 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
16975 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
16976 mask64_operand with correct mode.
b1765bde
DE
16977 (FUNCTION_ARG_REGNO_P): Correct parentheses.
16978
149d6f9e
JJ
169792002-02-20 Jakub Jelinek <jakub@redhat.com>
16980
16981 PR debug/4461
16982 * varasm.c (get_pool_constant_mark): New.
16983 * rtl.h (get_pool_constant_mark): Add prototype.
16984 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
16985 be represented if it has not been output.
16986
4161da12
AO
169872002-02-20 Alexandre Oliva <aoliva@redhat.com>
16988
16989 * combine.c (do_SUBST): Sanity check substitutions of
16990 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
16991 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
16992 CONST_INT into its operand.
16993 (known_cond): Likewise, for ZERO_EXTEND.
16994 * simplify-rtx.c (simplify_unary_operation): Fix condition to
16995 allow for simplification of wide modes. Reject CONST_INTs in
16996 ZERO_EXTEND when their actual mode is not given.
16997
3704ef74
AO
169982002-02-20 Alexandre Oliva <aoliva@redhat.com>
16999
17000 * c-decl.c (pushdecl): If no global declaration is found for an
17001 extern declaration in block scope, try a limbo one.
17002
7552da58
JJ
170032002-02-20 Jakub Jelinek <jakub@redhat.com>
17004
17005 PR c++/4401
17006 * c-common.c (pointer_int_sum): Moved from...
17007 * c-typeck.c (pointer_int_sum): ...here.
17008 * c-common.h (pointer_int_sum): Add prototype.
17009
00fae85d
JJ
170102002-02-20 Jakub Jelinek <jakub@redhat.com>
17011
17012 PR c++/5713
17013 * c-decl.c (duplicate_decls): Return 0 if issued error about
17014 redeclaration.
17015
4636c87e
JJ
170162002-02-20 Roger Sayle <roger@eyesopen.com>
17017 Jakub Jelinek <jakub@redhat.com>
17018
17019 PR c/4389
17020 * tree.c (host_integerp): Ensure that the constant integer is
17021 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
17022 when pos is zero or non-zero respectively. Clarify comment.
17023 * c-format.c (check_format_info_recurse): Fix host_integerp
17024 usage; the pos argument should be zero when assigning to a
17025 signed HOST_WIDE_INT.
17026
59bef189
RH
170272002-02-20 Richard Henderson <rth@redhat.com>
17028
17029 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
17030 of the operand, rather than assuming TImode.
17031 (ix86_expand_binop_builtin): Cope with commutative patterns
17032 using nonimmediate_operand for both operands.
17033 (ix86_expand_timode_binop_builtin): Likewise.
17034 (ix86_expand_store_builtin): Validate operand 1.
17035 (ix86_expand_unop1_builtin): Likewise.
17036
9338ffe6 170372002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 17038
9338ffe6
PB
17039 PR 5705
17040 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
17041
f322b423
RH
170422002-02-20 Richard Henderson <rth@redhat.com>
17043
17044 PR c/5615
17045 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
17046
d94084f7
TT
170472002-02-20 Tom Tromey <tromey@redhat.com>
17048
17049 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
17050 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
17051 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
17052 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
17053 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
17054 unconditionally.
17055
37fa124a
AM
17056Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
17057
17058 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
17059 for (const_int 0) in X not just INTVAL.
17060
6e5bb5ad
JM
170612002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
17062
17063 * doc/extend.texi: Avoid or reduce overfull hboxes.
17064
420e7dfa
DN
170652002-02-20 Diego Novillo <dnovillo@redhat.com>
17066
17067 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
17068 operations if the field does not start at a mode boundary.
17069
1b7a2af6
JS
170702001-02-20 Joel Sherrill <joel@OARcorp.com>
17071
17072 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
17073 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
17074 Also done for -Acpu and -Amachine.
17075
56cd5b95
NB
170762002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
17077
17078 * cppinit.c (init_dependency_output): Take deps output file
17079 from -o if none given with -MF. Suppress normal output.
c410d49e 17080 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
17081 * doc/cpp.texi, doc/invoke.texi: Update.
17082
042cdf71
ZW
170832002-02-19 Zack Weinberg <zack@codesourcery.com>
17084
17085 * toplev.c (output_quoted_string): Write unprintable
17086 characters with octal escapes.
17087
c1f11548
DE
170882002-02-19 David Edelsohn <edelsohn@gnu.org>
17089
17090 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
17091 really_call_used[VRSAVE_REGNO] if not Altivec.
17092
170932002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 17094
c1f11548
DE
17095 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
17096 MODE_MASK.
17097 (constant_pool_expr_1): Fix formatting.
17098 (rs6000_legitimize_reload_address): Likewise.
17099
c964d90e
RK
17100Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17101
17102 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
17103 now that we have one.
17104
ae34ac46
ZW
171052002-02-19 Zack Weinberg <zack@codesourcery.com>
17106
17107 * tree.h (struct tree_common): Remove aux. Add unused_0 at
17108 end of first block of bitfields (which was only seven bits);
17109 rename dummy to unused_1; remove comment which is no longer true.
17110
293c28ee
GS
171112002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
17112
17113 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
17114
7b8781c8
PB
171152002-02-19 Philip Blundell <pb@nexus.co.uk>
17116
0cb6c58d 17117 PR 5399
7b8781c8
PB
17118 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
17119 if generating PIC.
17120
17121 PR 5054
17122 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
17123 arm_is_longcall_p rather than inspecting call-type cookie
17124 directly.
17125 (call_value_insn) [TARGET_THUMB]: Likewise.
17126
5c464583
GS
171272002-02-19 Graham Stott <grahams@redhat.com>
17128
17129 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
17130
71c061e6
DE
171312002-02-19 David Edelsohn <edelsohn@gnu.org>
17132
17133 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
17134 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 17135 (FP_SAVE_INLINE): Delete.
71c061e6
DE
17136
17137 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
17138 * config/rs6000/eabi.asm: Remove ABI save restore routines.
17139 * config/rs6000/t-ppccomm: Build crtsavres.o.
17140 * config/rs6000/crtsavres.asm: New file.
17141
3a7731fd
PB
171422002-02-19 Philip Blundell <philb@gnu.org>
17143
17144 * config/arm/arm.c (use_return_insn): Don't reject interrupt
17145 functions.
17146 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
17147 (output_return_instruction): Allow interrupt functions to return with
17148 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
17149 (arm_expand_prologue): Subtract 4 before stacking LR in an
17150 interrupt function.
17151
14f583b8
PB
171522002-02-19 Philip Blundell <pb@nexus.co.uk>
17153
17154 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
17155 decl, not just FUNCTION_DECL.
17156 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
17157 (arm_assemble_integer): Likewise.
17158 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
17159 marked local.
c410d49e 17160
4cb7482c
MG
171612002-02-19 matthew green <mrg@eterna.com.au>
17162
17163 * config.gcc (sparc-*-netbsdelf*): Enable target.
17164 (sparc64-*-netbsd*): New target.
17165 * config/sparc/netbsd-elf.h: New file.
17166 * config/sparc/t-netbsd64: New file.
17167
2df3a718
GS
171682002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
17169
17170 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
17171
77f6c1eb
RS
171722002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
17173
17174 * doc/invoke.texi: explicitly list the style guidelines that
17175 -Weffc++ checks for.
17176
fd973d56
JH
17177Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
17178
17179 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
17180
30518e45
NB
171812002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
17182
17183 PR other/5718
17184 * gcc.c (cpp_unique_options): Treat -o as indicating object file
17185 only if not -E. If -E, pass -o through to the preprocessor.
17186
39ea5704
KH
171872002-02-19 Kazu Hirata <kazu@hxi.com>
17188
17189 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
17190 register number with an appropriate macro.
17191
7355dba7
BM
171922002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
17193
17194 * doc/rtl.texi (Constants): Close @code tag.
17195
91c8aa9e
AH
171962002-02-19 Aldy Hernandez <aldyh@redhat.com>
17197
17198 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
17199 ("mmx_uavgv4hi3"): Same.
17200 ("pmulhrwv4hi3"): Same.
17201
17202 * tree-inline.c (walk_tree): Handle vectors.
17203
17204 * c-common.c (constant_expression_warning): Handle vectors.
17205 (overflow_warning): Same.
17206
17207 * sched-deps.c (sched_analyze_2): Handle vectors.
17208
17209 * rtlanal.c (rtx_unstable_p): Handle vectors.
17210 (rtx_varies_p): Same.
17211 (count_occurrences): Same.
17212 (regs_set_between_p): Same.
17213 (modified_between_p): Same.
17214 (modified_in_p): Same.
17215 (volatile_insn_p): Same.
17216 (volatile_refs_p): Same.
17217 (side_effects_p): Same.
17218 (may_trap_p): Same.
17219 (inequality_comparisons_p): Same.
17220 (replace_regs): Same.
17221 (computed_jump_p_1): Same.
17222
17223 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
17224 argument.
17225 (inner_mode_array): New.
17226 (copy_rtx): Handle vectors.
17227 (copy_most_rtx): Same.
17228 (rtx_equal_p): Same.
17229 (get_mode_alignment): Adjust for vectors.
17230
17231 * resource.c (mark_referenced_resources): Handle vectors.
17232 (mark_set_resources): Same.
17233
17234 * reload1.c (eliminate_regs): Handle vectors.
17235 (elimination_effects): Same.
17236 (scan_paradoxical_subregs): Same.
17237
17238 * reload.c (subst_reg_equivs): Handle vectors.
17239
17240 * regrename.c (scan_rtx): Handle vectors.
17241
17242 * regclass.c (reg_scan_mark_refs): Handle vectors.
17243
17244 * recog.c (find_single_use_1): Handle vectors.
17245
17246 * local-alloc.c (equiv_init_varies_p): Handle vectors.
17247 (contains_replace_regs): Same.
17248 (memref_referenced_p): Same.
17249
17250 * integrate.c (copy_rtx_and_substitute): Handle vectors.
17251 (subst_constants): Same.
17252
17253 * genattrtab.c (attr_copy_rtx): Handle vectors.
17254 (encode_units_mask): Same.
17255 (clear_struct_flag): Same.
17256 (count_sub_rtxs): Same.
17257
17258 * gcse.c (want_to_gcse_p): Handle vectors.
17259 (oprs_unchanged_p): Same.
17260 (hash_expr_1): Same.
17261 (oprs_not_set_p): Same.
17262 (expr_killed_p): Same.
17263 (compute_transp): Same.
17264 (store_ops_ok): Same.
17265
17266 * function.c (purge_addressof_1): Do not allow paradoxical subregs
17267 of vectors.
17268 (fixup_var_refs_1): Same.
17269 (instantiate_virtual_regs_1): Same.
17270
17271 * fold-const.c (operand_equal_p): Handle vectors.
17272 (fold): Same.
17273 (rtl_expr_nonnegative_p): Same.
17274
17275 * flow.c (mark_used_regs): Handle vectors.
17276
17277 * df.c (df_uses_record): Handle vectors.
17278
17279 * cselib.c (cselib_subst_to_values): Handle vectors.
17280 (cselib_mem_conflict_p): Same.
17281 (hash_rtx): Same.
17282
17283 * cse.c (canon_reg): Handle vectors.
17284 (fold_rt): Same.
17285 (cse_process_notes): Same.
17286 (count_reg_usage): Same.
17287 (canon_hash): Same.
17288
17289 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
17290
17291 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
17292
17293 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
17294 (gen_rtx): Handle CONST_VECTOR.
17295 (gen_const_vector_0): New.
17296 (copy_rtx_if_shared): CONST_VECTORs can be shared.
17297 (reset_used_flags): Same.
17298 (copy_insn_1): Same.
17299 (initializer_constant_valid_p): Handle VECTOR_CST.
17300
17301 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
17302
17303 * doc/rtl.texi (Constants): Document const_vector.
17304 (CONST0_RTX): Update for vectors.
17305 (RTL sharing): Same.
17306
17307 * print-tree.c (print_node): Add case for VECTOR_CST.
17308
17309 * tree.h (TREE_VECTOR_CST_ELTS): New.
17310 (struct tree_vector): New.
17311 (union tree_node): Add vector node.
17312 (build_vector): Add prototype.
17313
17314 * tree.def (VECTOR_CST): New.
17315
17316 * tree.c (build_vector): New.
17317
17318 * expmed.c (make_tree): Handle CONST_VECTOR.
17319
17320 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
17321 (CONST_VECTOR_ELT): New.
17322 (CONST_VECTOR_NUNITS): New.
17323
17324 * machmode.h (GET_MODE_INNER): New.
17325 (DEF_MACHMODE): Accept 8th arg.
17326
17327 * machmode.def: Add 8th argument for vector inner mode.
17328 Add inner vector modes for vectors.
17329
17330 * rtl.def (VEC_CONST): Remove.
17331 (CONST_VECTOR): New.
17332
17333 * expr.c (clear_storage): Allow vectors.
17334 (is_zeros_p): Handle VECTOR_CST.
17335
17336 * varasm.c (output_constant_pool): Handle vectors.
17337 (rtx_const): Add veclo and vechi fields.
17338 (kind): Add RTX_VECTOR.
17339 (decode_rtx_const): Add case for vector.
17340
17341 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 17342
91c8aa9e
AH
17343 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
17344 constants. Force easy vector constants into memory.
17345 (easy_vector_constant): New.
17346 (emit_easy_vector_constant): New.
17347 (rs6000_legitimize_reload_address): Do not generate bad reloads on
17348 darwin.
17349
17350 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
17351 instruction does.
17352 ("altivec_lvxl"): Same.
17353 (altivec_lvebx): Same.
17354 (altivec_lvehx): Same.
17355 (altivec_lvewx): Same.
17356 ("*movv4si_const0"): New.
17357 ("*movv4sf_const0"): New.
17358 ("*movv8hi_const0"): New.
17359 ("*movv16qi_const0"): New.
17360
d4d6d0ce
KH
173612002-02-18 Kazu Hirata <kazu@hxi.com>
17362
17363 * config/h8300/h8300.c (notice_update_cc): Use
17364 cc_status.value2.
17365
4915d3aa
KH
173662002-02-18 Kazu Hirata <kazu@hxi.com>
17367
17368 * config/h8300/h8300.md (divmod patterns): Change the
17369 constraints for operands[1] to register_operand.
17370
82be00ee
KH
173712002-02-18 Kazu Hirata <kazu@hxi.com>
17372
17373 * config/h8300/h8300-protos.h: Remove the prototype for
17374 p_operand.
17375 * config/h8300/h8300.c (p_operand): Remove.
17376 * config/h8300/h8300.md: Replace p_operand with
17377 const_int_operand.
17378
1768c26f
PB
173792002-02-18 Philip Blundell <pb@nexus.co.uk>
17380
17381 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
17382 comment.
17383 (output_return_instruction): Allow use of LDR to unstack
17384 return addresss even for interrupt handlers or when
17385 interworking. If compiling for ARMv5, use interworking-safe
17386 return instructions by default. Remove duplicated code and
17387 lengthy "strcat" sequences.
17388
ccd84f51
FS
173892002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
17390
17391 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
17392 (LINK_EH_SPEC): Define.
17393 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
17394
2c153108
UW
173952002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
17396
17397 * config/s390/s390.c (s390_emit_prologue): Do not set the
17398 frame_related flag for call-clobbered registers.
17399
e95d6b23
JH
17400Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
17401
17402 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
17403 (construct_container): Fix handling of SSE operands.
17404 (ix86_expand_builtin): Fix handling of 64bit pointers.
17405 (mmx_maskmovq_rex): New pattern.
17406
c43a12b5
JH
17407Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
17408
17409 * regrename.c (kill_set_value): Handle subregs properly.
17410
aeb85a15
DB
174112002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
17412
17413 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 17414 from objc_class_name.
aeb85a15 17415
a615ca3e
RH
174162002-02-17 Richard Henderson <rth@redhat.com>
17417
17418 * config/alpha/alpha.c (some_small_symbolic_operand,
17419 some_small_symbolic_operand_1, split_small_symbolic_operand,
17420 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
17421 Handle small SYMBOL_REFs anywhere, not just inside memories.
17422 * config/alpha/alpha-protos.h: Update.
17423 * config/alpha/alpha.h (PREDICATE_CODES): Update.
17424 * config/alpha/alpha.md (small symbolic operand splitter): Update.
17425
ddb28441
RM
174262002-02-17 Roland McGrath <roland@frob.com>
17427
17428 * config.gcc (powerpc-*-gnu-gnualtivec*,
17429 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
17430 * config/rs6000/gnu.h: New file.
17431 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
17432 Grok "gnu" in rs6000_abi_name.
17433 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
17434 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
17435 Grok -mcall-gnu analogous to -mcall-linux et al.
17436 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
17437 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
17438 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
17439
f6f8ada3
JJ
174402002-02-17 Jakub Jelinek <jakub@redhat.com>
17441
17442 PR c/3444:
17443 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
17444 shortening.
17445
e16b32fc
PT
174462002-02-17 Philipp Thomas <pthomas@suse.de>
17447
17448 * config/cris/cris.h: Undefine STARTFILE_SPEC and
17449 ENDFILE_SPEC before (re)defining them.
17450
f9477efd
KH
174512002-02-17 Kazu Hirata <kazu@hxi.com>
17452
17453 * config/h8300/h8300.c: Fix formatting.
17454 * config/h8300/h8300.h: Likewise.
17455
404ae494
PT
174562002-02-17 Philipp Thomas <pthomas@suse.de>
17457
17458 * doc/tm.texi: Explain why empty strings should not be
17459 marked for translation.
17460
a52453cc
PT
174612002-02-17 Philipp Thomas <pthomas@suse.de>
17462
17463 * final.c (output_operand_lossage): Changed to accept
17464 printf style arguments. Change calls where necessary.
17465 * output.h (output_operand_lossage): Change declaration
17466 accordingly. Update copyright.
17467 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
17468 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
17469 Update copyright date where necessary.
c410d49e 17470
a52453cc
PT
17471 * config/i386/i386.c (print_operand): Likewise. Remove use of
17472 sprintf.
17473
17474 * config/cris/cris.c (cris_operand_lossage): Likewise.
17475 Rename parameter so that exgettext recognizes it as
17476 translatable message.
17477 (LOSE_AND_RETURN): Rename parameter to msgid.
17478
1c11abc4
KH
174792002-02-17 Kazu Hirata <kazu@hxi.com>
17480
17481 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
17482 hard coded register number with an appropriate macro.
17483 (HARD_REGNO_MODE_OK): Likewise.
17484 (ARG_POINTER_REGNUM): Likewise.
17485 (STATIC_CHAIN_REGNUM): Likewise.
17486 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
17487 * config/h8300/h8300.md (define_constants): Define more
17488 register numbers.
17489
a5d17ff3
PT
174902002-02-17 Philipp Thomas <pthomas@suse.de>
17491
17492 * config/i386/i386.h: Don't mark empty strings for translation.
17493
1a7289c4
L
174942002-02-16 H.J. Lu <hjl@gnu.org>
17495
17496 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
17497
afb58288
ZW
174982002-02-16 Zack Weinberg <zack@codesourcery.com>
17499
17500 * cppinit.c (merge_include_chains): Check for brack being
17501 NULL before attempting to merge it with qtail.
17502
d2af4dbd
AC
175032002-02-16 Andrew Cagney <ac131313@redhat.com>
17504
17505 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
17506 DBX_DEBUG.
17507
2e1ed1e3
JDA
175082002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
17509
17510 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
17511
604c75b2
JDA
175122002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
17513
17514 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
17515 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
17516 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
17517
1a42b072
RK
17518Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17519
7303604f 17520 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
17521 now only if !TARGET_FIX.
17522 (*movsi_nt_vms_fix): New pattern.
17523
c2ea1ac6
DR
175242002-02-16 Douglas B Rupp <rupp@gnat.com>
17525
17526 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
17527 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
17528 (alpha_sa_mask, alpha_sa_size): Reflect above change.
17529 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
17530 (alpha_start_function, alpha_expand_epilogue): Likewise.
17531 (unicosmk_gen_dsib): Likewise.
17532
725e58b1
RK
17533Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17534
17535 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
17536
13e58269
UW
175372002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
17538
c410d49e 17539 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
17540 check_and_change_labels, s390_final_chunkify): Delete.
17541 (s390_split_branches, s390_chunkify_pool): New functions.
17542 (s390_function_prologue): Call them.
c410d49e 17543
13e58269
UW
17544 * config/s390/s390.h (S390_REL_MAX): Delete.
17545 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
17546
c410d49e 17547 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
17548 attribute calculation.
17549
17550
34d1b01d
DE
175512002-02-15 David Edelsohn <edelsohn@gnu.org>
17552
17553 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
17554 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
17555
be5cc51a
JDA
175562002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
17557
17558 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
17559 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
17560 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
17561
ee96ce90
RS
175622002-02-15 Richard Sandiford <rsandifo@redhat.com>
17563
17564 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
17565
05fa709d
RS
175662002-02-15 Richard Sandiford <rsandifo@redhat.com>
17567
17568 * reload.c (find_dummy_reload): Check that an output register
17569 is valid for its mode.
17570
4606272b
AO
175712002-02-14 Alexandre Oliva <aoliva@redhat.com>
17572
9a360704
AO
17573 * combine.c (known_cond): After replacing the REG of a SUBREG, try
17574 to simplify it.
17575
4606272b
AO
17576 * function.c (assign_parms): Demote promoted argument passed by
17577 transparent reference.
17578
e62d89a1
JS
175792001-02-14 Joel Sherrill <joel@OARcorp.com>
17580
17581 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
17582 -Acpu() and -Amachine() to eliminate warnings.
17583
6c4cf695
UW
175842002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
17585
17586 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
17587
037f11ef
KH
175882002-02-14 Kazu Hirata <kazu@hxi.com>
17589
17590 * config/h8300/h8300-protos.h: Update the prototype for
17591 const_costs.
17592 * config/h8300/h8300.c (const_costs): Treat SET as a little
17593 more expensive operation.
17594 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
17595 reference to const_costs.
17596
fdc76b09
HPN
175972002-02-14 Hans-Peter Nilsson <hp@axis.com>
17598
17599 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
17600
d76e6800
JJ
176012002-02-14 Jakub Jelinek <jakub@redhat.com>
17602
17603 PR c/5503:
17604 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
17605 use arguments from newtype.
17606
5ae590d7
EC
176072002-02-13 Eric Christopher <echristo@redhat.com>
17608
17609 * config/mips/mips.c (override_options): Add check for march/mipsX
17610 on the same command line. Fix error message in cpu processing.
17611 Remove architecture and ISA checks.
17612
b8513691
AH
176132002-02-14 Aldy Hernandez <aldyh@redhat.com>
17614
831c4e87 17615 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 17616
831c4e87 17617 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 17618
78c875e8
AH
176192002-02-14 Aldy Hernandez <aldyh@redhat.com>
17620
831c4e87
KC
17621 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
17622 alternatives.
17623 ("*movv8hi_internal1"): Same.
17624 ("*movv16qi_internal1"): Same.
17625 ("*movv4sf_internal1"): Same.
78c875e8 17626
831c4e87
KC
17627 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
17628 not push_reload for altivec modes.
78c875e8 17629
d76e6800 176302002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
17631
17632 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
17633 all RTEMS targets including removal of #includes from config/*/rtems*.h
17634 file and adding them to tm_file setting. Added xm_defines=POSIX to
17635 many targets.
17636 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
17637 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
17638 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
17639 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
17640 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
17641 config/m68k/rtemself.h: Ditto.
17642 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
17643 config/mips/rtems64.h: Ditto.
17644 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
17645 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
17646 Ditto.
17647 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
17648 config/sparc/rtemself.h: Ditto.
17649 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
17650 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
17651 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
17652 more like arm-elf.
17653 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
17654 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
17655 target made more similar to i386-elf.
17656 * config/i386/t-rtems-i386: Added soft float support and multilibs.
17657 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
17658 be similar to config/m68k/t-m68kelf.
17659 * gthr-rtems.h: Encapsulate with extern "C" for C++.
17660
8686336f
JH
17661Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
17662
17663 * regmove.c (kill_value): Handle subregs.
17664
558740bf
JH
17665Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
17666
17667 * i386.md (mul patterns): Allow memory operand to be first;
17668 add expanders where needed; fix constraints.
17669 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
17670 Allow memory operand to be the first.
17671
17672 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
17673 operands.
17674
21117a17
JJ
176752002-02-13 Jakub Jelinek <jakub@redhat.com>
17676
17677 PR c/5681:
17678 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
17679 GET_MODE (x).
17680
ec65b2e3
JJ
176812002-02-13 Jakub Jelinek <jakub@redhat.com>
17682
17683 PR optimization/5547:
17684 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
17685 all valid IA-32 address modes involving non-scaled %ebx and
17686 GOT/GOTOFF as displacement.
17687
ce50cae8
UW
176882002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
17689
17690 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
17691 after emitting ltorg insns.
17692
17693 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
17694 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
17695 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
17696 *abssf2): Fix "op_type" attribute.
17697
09eb789b
DR
176982002-02-13 Douglas B Rupp <rupp@gnat.com>
17699
2dbe67bb
DR
17700 * mkconfig.sh: Avoid using a subshell redirect.
17701 ($output.T): Change to $(output)T.
17702 (ENABLE_NLS): Remove unneeded undef.
17703
ea5b9a1f
DR
17704 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
17705 * config/alpha/x-vms (libsubdir): Define.
17706
3deb00ce
DR
17707 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
17708 register frame procedures. Optimize retrieving context.
17709
09eb789b
DR
17710 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
17711 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
17712 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
17713
1abade85
RK
17714Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17715
17716 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
17717 Make same change as for find_base_value.
17718
c283e63f
KH
177192002-02-13 Kazu Hirata <kazu@hxi.com>
17720
17721 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
17722 of QImode and SImode.
17723
86039100
KH
177242002-02-13 Kazu Hirata <kazu@hxi.com>
17725
17726 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
17727 length computation of movsi.
17728 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
17729
e1429da0
KH
177302002-02-13 Kazu Hirata <kazu@hxi.com>
17731
17732 * config/h8300/h8300.md (subqi3): Tighten the predicate for
17733 operands[2] to register_operand.
17734
aebfea10
JH
17735Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
17736
17737 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
17738
0ec4e2a8
AH
177392002-02-12 Aldy Hernandez <aldyh@redhat.com>
17740
831c4e87
KC
17741 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
17742 for altivec_lvx* and altivec_stvx*.
17743 ("*movv4si_internal"): Add constraint for loading from GPRs.
17744 ("*movv8hi_internal1"): Same.
17745 ("*movv16qi_internal1"): Same.
17746 ("*movv4sf_internal1"): Same.
0ec4e2a8 17747
831c4e87 17748 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 17749
831c4e87
KC
17750 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
17751 altivec_register_operand.
0ec4e2a8 17752
b007569d
HPN
177532002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
17754
17755 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
17756 handle SYMBOL_REF.
17757
e6834654
SS
177582002-02-13 Stan Shebs <shebs@apple.com>
17759
831c4e87
KC
17760 * c-typeck.c (digest_init): Handle vectors.
17761 (really_start_incremental_init): Same.
17762 (pop_init_level): Same.
17763 (process_init_element): Same.
e6834654 17764
831c4e87 17765 * varasm.c (output_constant): Same.
e6834654 17766
831c4e87
KC
17767 * expr.c (clear_storage): Same.
17768 (store_constructor): Same.
e6834654 17769
d9b3eb63
EC
177702002-02-12 Eric Christopher <echristo@redhat.com>
17771
17772 * explow.c (hard_function_value): Add comment explaining
17773 signed/unsigned comparison.
17774
56d44285
JJ
177752002-02-12 Jakub Jelinek <jakub@redhat.com>
17776
17777 * jump.c (never_reached_warning): Add finish argument.
17778 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
17779 real insn after end.
17780 * rtl.h (never_reached_warning): Adjust prototype.
17781 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
17782 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
17783 never_reached_warning.
17784
fc209487
GS
177852002-02-12 Graham Stott <grahams@redhat.com>
17786
17787 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
17788
1e41e866
KH
177892002-02-12 Kazu Hirata <kazu@hxi.com>
17790
17791 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
17792 logical shifts on H8/300.
17793 (shift_alg_si): Improve several shifts on H8/300.
17794 (get_shift_alg): Likewise.
17795
a36a47ad
GS
177962002-02-12 Graham Stott <grahams@redhat.com>
17797
17798 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
17799
0aacc8ed
RK
17800Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17801
17802 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
17803 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
17804
a02ac966
HPN
178052002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
17806
17807 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
17808 non-CONST_INT through default_assemble_integer.
17809 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
17810 <case 8>: Abort for CONST_DOUBLE.
17811
d6e06ddc
JDA
178122002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
17813
17814 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
17815 is specified.
17816 * config/pa/pa-linux.h (LIB_SPEC): Delete.
17817 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
17818
515342a8
AH
178192002-02-11 Andrew Haley <aph@cambridge.redhat.com>
17820
17821 * config/stormy16/stormy16.md (zero_extendqihi2): New.
17822
cddd8b72
AO
178232002-02-11 Alexandre Oliva <aoliva@redhat.com>
17824
66df7a98
AO
17825 * regrename.c (regrename_optimize): Don't accept a
17826 part-clobbered register if the replaced register is not part
17827 clobbered.
17828
841404cd
AO
17829 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
17830 take padding into account when computing the argument value.
17831
1d1ade42
AO
17832 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
17833
cddd8b72
AO
17834 * combine.c (try_combine): Apply substitutions in
17835 CALL_INSN_FUNCTION_USAGE too.
17836
5c665b88
AH
178372002-02-11 Aldy Hernandez <aldyh@redhat.com>
17838
77f6c1eb
RS
17839 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
17840 __builtin_altivec_abs*.
17841 (bdesc_abs): New.
5c665b88 17842
77f6c1eb
RS
17843 * config/rs6000/rs6000.h (rs6000_builtins): Add
17844 ALTIVEC_BUILTIN_ABS*.
5c665b88 17845
77f6c1eb
RS
17846 * config/rs6000/altivec.h: Use const char for builtins expecting
17847 literals.
17848 (vec_abs): New versions for C and C++.
17849 (vec_abss): Same.
5c665b88 17850
3494f1b4
KH
178512002-02-10 Kazu Hirata <kazu@hxi.com>
17852
17853 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
17854 using Pmode.
17855
72431aef
KH
178562002-02-10 Kazu Hirata <kazu@hxi.com>
17857
17858 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
17859 constant definition from h8300.md.
17860 (FRAME_POINTER_REGNUM): Likewise.
17861 * config/h8300/h8300.md (define_constants): Add FP_REG.
17862
87e4ee91
KH
178632002-02-10 Kazu Hirata <kazu@hxi.com>
17864
17865 * config/h8300/h8300.c (print_operand): Remove redundant code.
17866
9c188705
KH
178672002-02-10 Kazu Hirata <kazu@hxi.com>
17868
17869 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
17870 * config/h8300/h8300.c (byte_reg): Make it static.
17871
fba78abb
RH
178722002-02-10 Richard Henderson <rth@redhat.com>
17873
17874 PR c/5623
17875 * c-typeck.c (incomplete_type_error): Handle flexible array members.
17876
65739e62
RH
178772002-02-10 Richard Henderson <rth@redhat.com>
17878
17879 PR c++/5624
17880 * tree.c (append_random_chars): Don't abort if main_input_filename
17881 does not exist.
17882
247cb9df
HPN
178832002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
17884
17885 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
17886
232bd029
KH
178872002-02-10 Kazu Hirata <kazu@hxi.com>
17888
65739e62 17889 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
17890 (pushhi1): Likewise.
17891
276ef573
JDA
178922002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
17893
17894 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
17895 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
17896
617e9ee5
DB
178972002-02-09 David O'Brien <obrien@FreeBSD.org>
17898
17899 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
17900 remove MASK_VIS.
17901 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
17902
6dfa4005
KH
179032002-02-09 Kazu Hirata <kazu@hxi.com>
17904
17905 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
17906 a half of an SImode register on H8/300.
17907
749e7b80
JH
17908Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
17909
17910 * i386.md (movdi_2): Add missing '!'.
17911
ca77d87c
KH
179122002-02-09 Kazu Hirata <kazu@hxi.com>
17913
17914 * config/h8300/h8300.h: Fix formatting. Remove commented-out
17915 definitions.
17916
16c96304
KH
179172002-02-09 Kazu Hirata <kazu@hxi.com>
17918
17919 * config/h8300/h8300.md (length): Correct the distance valid
17920 for the short branch.
17921
a364bc90
KH
179222002-02-09 Kazu Hirata <kazu@hxi.com>
17923
17924 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
17925
e4ec2cac
AO
179262002-02-09 Alexandre Oliva <aoliva@redhat.com>
17927
a138247b
AO
17928 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
17929 registers in SImode.
17930 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
17931 part-clobbered.
17932
2b1fd83f
AO
17933 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
17934 patch.
d9b3eb63 17935
fa5322fa
AO
17936 Contribute sh64-elf.
17937 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
17938 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
17939 (sh_cannot_modify_jumps_p): New function.
17940 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
17941 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
17942 (sh_ms_bitfield_layout_p): New function.
17943 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
17944 Zack Weinberg <zack@codesourcery.com>
17945 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
17946 expand_simple_binop instead of expand_binop.
17947 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
17948 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
17949 use of .quad and .uaquad.
17950 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
17951 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
17952 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
17953 * config/sh/sh.md (movdi_const, movdi_const_32bit,
17954 movdi_const_16bit): Make sure all CONSTs have modes.
17955 (sym2PIC): Ditto, but by adjusting all callers.
17956 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
17957 if the prologue calls the SHmedia argument decoder or register
17958 saver.
17959 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
17960 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
17961 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
17962 (sh_expand_epilogue): Don't emit USE of return target register.
17963 (prepare_move_operands): Legitimize DImode PIC addresses.
17964 (sh_media_register_for_return): Skip tr0, used to initialize the
17965 PIC register.
17966 (sh_expand_prologue): Remove explicit USE of return register.
17967 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
17968 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
17969 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
17970 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
17971 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
17972 EXTRA_CONSTRAINT_T.
17973 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
17974 (MOVI_SHORI_BASE_OPERAND_P): New.
17975 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
17976 (EXTRA_CONSTRAINT_T): Define in terms of them.
17977 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
17978 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
17979 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
17980 alternatives supporting TARGET_REGS.
17981 (UNSPEC_GOTPLT): New constant.
17982 (movdi split): Move incrementing of LABEL_NUSES...
17983 (movdi_const, movdi_const_32bit): Here. Use
17984 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
17985 (movdi_const_16bit): New.
17986 (call, call_value) [flag_pic]: Use GOTPLT.
17987 (call_pop, call_value_pop): New expands.
17988 (call_pop_compact, call_pop_rettramp): New insns.
17989 (call_value_pop_compact, call_value_pop_rettramp): New insns.
17990 (sibcall) [flag_pic]: Use GOT.
17991 (builtint_setjmp_receiver): Remove bogus, unused expand.
17992 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
17993 (*pt, *ptb, ptrel): New insns.
17994 (sym2GOT): Handle DImode GOT.
17995 (sym2GOTPLT, symGOTPLT2reg): New expands.
17996 (sym2PIC): New expand.
17997 (shcompact_return_tramp): Use GOTPLT to return trampoline.
17998 (shcompact_return_tramp_i): Use return register explicitly.
17999 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
18000 disable flag_reorder_blocks.
18001 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
18002 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
18003 clobbers, for clarity.
18004 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
18005 restoring of r0 in macl as MAYBE_DEAD.
18006 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
18007 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
18008 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
18009 alter_subreg all over.
18010 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
18011 reload, instead of emitting instructions that would require
18012 reloading.
18013 (casesi_load_media): Add missing modes.
18014 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
18015 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
18016 as used if the argument decoder is called.
18017 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
18018 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
18019 Pmode, then extend it to DImode if necessary.
18020 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
18021 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
18022 constants in FPU-enabled SHmedia, let them be loaded from memory.
18023 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
18024 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
18025 Adjust whitespace in assembly output templates.
18026 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
18027 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
18028 mode of if_then_else.
18029 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
18030 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
18031 sh.h.
18032 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
18033 Joern Rennecke <amylaar@redhat.com>
18034 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
18035 (SUBTARGET_CPP_PTR_SPEC): New.
18036 (SUBTARGET_CPP_SPEC): Remove.
18037 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
18038 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
18039 Fix typo in previous checkin.
18040 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
18041 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
18042 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
18043 Alexandre Oliva <aoliva@redhat.com>
18044 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
18045 what single FP register can hold for SHmedia target.
18046 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
18047 Alexandre Oliva <aoliva@redhat.com>
18048 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
18049 Do not split into SUBREG.
18050 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
18051 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
18052 and added new functions as specified in SH5 ABI r9.
18053 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
18054 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
18055 8-byte boundary.
18056 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
18057 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
18058 gen_consttable_4 and gen_consttable_8. Emit multiple labels
18059 and consttable_window_ends.
18060 2001-06-03 Graham Stott <grahams@redhat,com>
18061 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
18062 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
18063 * config/sh/sh.c (print_operand): Handle floating-point pair,
18064 vector and matrix registers.
18065 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
18066 vector modes into account.
18067 * config/sh/sh.md (movv2sf): Split move between registers into
18068 movdf.
18069 (movv4sf, movv16sf): Introduce insns that get split only after
18070 reload.
18071 * config/sh/shmedia.h: Fix Copyright dates.
18072 * config/sh/ushmedia.h: Likewise. Move loop counter
18073 declarations into conditionals that uses them.
18074 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
18075 loop boundary.
18076 * config/sh/sshmedia.h: Fix Copyright dates.
18077 (sh_media_PUTCFG): Fix constraints.
18078 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
18079 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
18080 ptrmemfunc_vbit_in_delta for SH5.
18081 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
18082 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
18083 * invoke.texi: Likewise.
18084 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
18085 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
18086 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
18087 GCC_pop_shmedia_regs_nofpu): New global symbols.
18088 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
18089 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
18090 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
18091 compact function with nonlocal labels.
18092 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
18093 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
18094 (initial_elimination_offset): Account for their stack space.
18095 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
18096 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
18097 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
18098 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
18099 least one of the operands to be a register.
18100 (movv2sf): Likewise. Renamed to movv2sf_i.
18101 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
18102 prepare_move_operands() before emitting SHmedia insns.
18103 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
18104 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
18105 Don't save nor initialize r12. Don't mis-align the stack.
18106 Pad the code with a nop.
18107 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
18108 stack.
18109 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
18110 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
18111 [__SHMEDIA__]: Implement.
18112 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
18113 * config/sh/sh.md: Set latency of `pt' closer to reality.
18114 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
18115 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
18116 Set move, load and store type attributes.
18117 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
18118 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
18119 profiling.
18120 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
18121 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
18122 * config/sh/sh.c (sh_media_register_for_return): New function.
18123 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
18124 branch-target register.
18125 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
18126 * config/sh/sh.md (return_media_i): Use any call-clobbered
18127 branch-target register.
18128 (return_media): If r18 wasn't copied in the prologue, copy it
18129 here.
18130 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
18131 Clear class FP0_REGS.
18132 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
18133 from elf.h.
18134 2001-03-08 DJ Delorie <dj@redhat.com>
18135 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
18136 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
18137 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
18138 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
18139 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
18140 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
18141 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
18142 return value correctly for call_cookie.
18143 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
18144 * config/sh/crt1.asm (start): Modified so as to call
18145 ___setup_argv_and_call_main.
18146 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
18147 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
18148 SHmedia mode.
18149 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
18150 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
18151 (STRIP_NAME_ENCODING): Use it.
18152 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
18153 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
18154 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
18155 prepare_scc_operands().
18156 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
18157 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
18158 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
18159 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
18160 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
18161 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
18162 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
18163 used in shcompact_incoming_args.
18164 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
18165 change.
18166 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
18167 mode.
18168 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
18169 Adjust accordingly.
18170 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
18171 Simplify. Adjust. Add sanity check.
18172 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
18173 FPU_SINGLE_BIT.
18174 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
18175 TARGET_SHCOMPACT.
18176 (udivsi3, divsi3): Use them.
18177 (force_mode_for_call): New insn.
18178 (call, call_value, sibcall_value): Emit it before SHcompact
18179 calls.
18180 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
18181 * config/sh/sh.md (call, call_value, sibcall): Make sure the
18182 call cookie is non-NULL before taking its value.
18183 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
18184 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
18185 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
18186 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
18187 block.
18188 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
18189 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
18190 temporary for stack adjusts. Use MACL and MACH to pass
18191 arguments to shcompact_incoming_args.
18192 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
18193 clobber r1.
18194 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
18195 (nested_trampoline): Load static chain address into r1.
18196 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
18197 2001-01-07 Alexandre Oliva <aoliva@redhat.com
18198 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
18199 fp_arith_reg_operand().
18200 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
18201 * config/sh/sh.md (casesi): Sign-extend the first two operands,
18202 and use signed compares for them.
18203 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
18204 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
18205 ones properly aligned.
18206 (find_barrier): Account for extra alignment needed for 8-byte wide
18207 constants.
18208 (machine_dependent_reorg): Require a label for the second 4-byte
18209 constant after an 8-byte one.
18210 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
18211 change.
18212 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
18213 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
18214 last_float when switching float modes.
18215 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
18216 auto-increment for general-purpose registers.
18217 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
18218 result.
18219 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
18220 for stack adjust.
18221 * config/sh/sh.c (sh_builtin_saveregs): Support using all
18222 registers for varargs.
18223 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
18224 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
18225 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
18226 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
18227 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
18228 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
18229 call_cookie accordingly.
18230 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
18231 (SHCOMPACT_BYREF): Likewise.
18232 (SHCOMPACT_FORCE_ON_STACK): New macro.
18233 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
18234 (sh_builtin_saveregs): Likewise.
18235 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
18236 shcompact_incoming_args): Use new shift values. Support
18237 sequences of consecutive and non-consecutive pushes/pops.
18238 * config/sh/sh.md (return): Don't explicitly use PR_REG.
18239 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
18240 * config/sh/sh.h (TEXT_SECTION): Define.
18241 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
18242 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
18243 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
18244 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
18245 return values on FPU-enabled SHmedia.
18246 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
18247 FPU-enabled SHmedia.
18248 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
18249 value is returned in a non-FP reg and is not returned by
18250 reference.
18251 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
18252 jump_ind.
18253 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
18254 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
18255 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
18256 quad-aligned to be passed by callee-copy reference.
18257 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
18258 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
18259 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
18260 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
18261 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
18262 copying low-numbered FP regs to r7 and r8.
18263 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
18264 FP regs to general-purpose regs only if the copy was passed on the
18265 stack.
18266 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
18267 copying FP reg to r9.
18268 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
18269 copy FP regs to general-purpose regs only in outgoing calls.
18270 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 18271 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
18272 HOST_WIDE_INT.
18273 * config/sh/sh.h (struct sh_args): Document all fields.
18274 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
18275 passed partially on the stack should not consider making
18276 sibcalls.
18277 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
18278 stack_regs only for incoming calls. When passing FP args,
18279 make sure there are FP regs available before modifying
18280 call_cookie.
18281 (SHCOMPACT_BYREF): Pass double args in general-purpose
18282 registers by reference.
18283 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
18284 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
18285 attempt to generate sibcalls if the caller got any arguments
18286 by reference.
18287 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
18288 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
18289 to 8-byte boundaries.
18290 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
18291 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
18292 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
18293 stored in the stack.
18294 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
18295 for the offsets to have the ISA bit set.
18296 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
18297 invocation. Use beq instead of bgt to mark end of sequence of
18298 loads.
18299 (shcompact_incoming_args): Fix store of r2. Use beq instead of
18300 bgt to mark end of sequence of stores.
18301 * config/sh/sh.c (arith_operand): Don't check whether
18302 CONST_OK_FOR_J for now.
18303 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
18304 instead of long for conversion.
18305 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
18306 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
18307 before passing it to fprintf.
18308 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
18309 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
18310 Call set_fpscr before reading/writing SR.
18311 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
18312 Call set_fpscr.
18313 * config/sh/lib1funcs.asm: Add `.align 2' directives before
18314 SHmedia code.
18315 (FMOVD_WORKS): Define on SH5 with FPU.
18316 (set_fpscr): Define on SH5. Remove separate _fpscr_values
18317 setting.
18318 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
18319 _fpscr_values.
18320 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
18321 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
18322 address.
18323 (ia_main_table): Ditto.
18324 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
18325 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
18326 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
18327 the definitions from sh.h.
18328 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
18329 TARGET_SH5.
18330 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
18331 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
18332 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
18333 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
18334 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
18335 Increment LABEL_NUSES.
d9b3eb63 18336
fa5322fa
AO
18337 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
18338 TARGET_SH5.
18339 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
18340 defined.
18341 * config/sh/elf.h (SIZE_TYPE): Likewise.
18342 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
18343 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
18344 shcompact_incoming_args): Load switch table addresses using
18345 datalabel.
18346 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
18347 (NO_BUILTIN_SIZE_TYPE): Define.
18348 (SIZE_TYPE): Don't define.
18349 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
18350 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
18351 definition of __SH5__=32 for -m5-compact-nofpu.
18352 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
18353 ADDR_DIFF_VEC.
18354 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
18355 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
18356 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
18357 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
18358 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
18359 (INSN_LENGTH_ALIGNMENT): Likewise.
18360 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
18361 * config/sh/sh.md (call, call_value, sibcall): Simplify
18362 copying of non-branch-target register.
18363 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 18364 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
18365 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
18366 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
18367 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
18368 floating-point values as structs.
18369 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
18370 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
18371 general-purpose register.
18372 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
18373 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
18374 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
18375 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
18376 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
18377 (ENCODE_SECTION_INFO): Enclose variables and constants in
18378 DATALABEL unspecs.
18379 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
18380 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
18381 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
18382 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
18383 only for LABEL_REFs. For SYMBOL_REFs, prepend
18384 SH_DATALABEL_ENCODING to the symbol name.
18385 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
18386 convert_mode().
18387 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
18388 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
18389 UNSPEC_DATALABEL.
18390 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
18391 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
18392 (DATALABEL_REF_P): Don't require CONST.
18393 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
18394 REL label.
18395 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
18396 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
18397 right.
18398 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
18399 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
18400 Use shallow_copy_rtx and PUT_MODE to change the mode of
18401 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
18402 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
18403 on SHmedia using GENERAL_REGs.
18404 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
18405 bltu_media_i): Fix reversion of conditions.
18406 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
18407 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
18408 * config/sh/sh.c (output_far_jump): Save r13 in macl.
18409 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
18410 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
18411 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
18412 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
18413 (GCC_nested_trampoline): Likewise.
18414 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
18415 * config/sh/sh.c (gen_datalabel_ref): Define.
18416 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
18417 (INITIALIZE_TRAMPOLINE): Likewise.
18418 (TRAMPOLINE_ADJUST_ADDRESS): Define.
18419 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
18420 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
18421 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
18422 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
18423 (ic_invalidate): Adjust for SH5.
18424 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
18425 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
18426 _nested_trampoline.
18427 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
18428 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
18429 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
18430 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
18431 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
18432 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
18433 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
18434 * config/sh/sh.c (target_reg_operand): Match only target-branch
18435 registers and pseudos that aren't virtual registers.
18436 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
18437 Copy operands that don't match target_reg_operand to pseudos.
18438 (call_media, call_value_media, sibcall_media): Use
18439 target_reg_operand instead of target_operand.
18440 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 18441 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
18442 * config/sh/sh.c (target_reg_operand): Match hardware registers
18443 other than branch-target registers.
18444 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
18445 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
18446 (fpscr_values) [SH5 == 32]: Define.
18447 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
18448 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
18449 Handle function addresses coming in SUBREGs.
18450 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
18451 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
18452 shcompact_return_trampoline): Use datalabel where appropriate.
18453 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
18454 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
18455 general-purpose register to copy one branch-target register to
18456 another.
18457 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
18458 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
18459 SYMBOL_REFs with VOIDmode.
18460 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
18461 bltu_media_i): New insns.
18462 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
18463 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
18464 (INIT_CUMULATIVE_ARGS): Likewise.
18465 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
18466 * machmode.def (V16SFmode): New mode.
18467 * c-common.c (type_for_mode): Support V2SF and V16SF.
18468 * tree.c (build_common_tree_nodes_2): Likewise.
18469 * tree.h (tree_index): Likewise.
18470 * calls.c (emit_call_1): Take args_so_far. Adjust all
18471 callers. Introduce CALL_POPS_ARGS.
18472 * tm.texi (CALL_POPS_ARGS): Document.
18473 * config/sh/crt1.asm: Implement in SHmedia mode.
18474 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
18475 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
18476 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
18477 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
18478 Implement divsi and udivsi in SHmedia mode. Introduce
18479 SHcompact trampolines.
18480 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
18481 only in SHmedia64.
18482 (regno_reg_class): Rewrite.
18483 (fp_reg_names): Remove.
18484 (sh_register_names, sh_additional_register_names): New.
18485 (print_operand): Added `u'. Support SUBREGs in addresses.
18486 Add parentheses around shifted CONSTs.
18487 (output_file_start): Output .mode and .abi directives.
18488 (shiftcosts, addsubcosts, multcosts): Adjust.
18489 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
18490 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
18491 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
18492 bytes, not registers. Take into account the need for the
18493 SHcompact incoming args trampoline. Adjust all callers.
18494 (sh_expand_prologue): Take stack_regs into account. Call
18495 incoming args trampoline. Keep stack aligned as per SH5 ABI.
18496 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
18497 stack aligned as per SH5 ABI.
18498 (sh_builtin_saveregs): Support SH5 ABI.
18499 (sh_build_va_list, sh_va_start): Likewise.
18500 (initial_elimination_offset): Take alignment into account.
18501 Compute location of PR according to the SH5 stack frame.
18502 (arith_reg_operand): Reject branch-target registers.
18503 (shmedia_6bit_operand): New.
18504 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
18505 (target_reg_operand): Match DImode only. Accept SUBREGs.
18506 (target_operand): New.
18507 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
18508 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
18509 SIBCALL_REGS for SHmedia.
18510 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
18511 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
18512 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
18513 (TARGET_SWITCHES): New SH5 flags.
18514 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
18515 VALID_REGISTER_P to disable unsupported registers.
18516 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
18517 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
18518 (FUNCTION_ARG_PADDING): Define.
18519 (FASTEST_ALIGNMENT): Adjust.
18520 (SH_REGISTER_NAMES_INITIALIZER): New.
18521 (sh_register_names): Declare.
18522 (DEBUG_REGISTER_NAMES): Define.
18523 (REGISTER_NAMES): Define based on sh_register_names.
18524 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
18525 (sh_additional_register_names): Declare.
18526 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
18527 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
18528 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
18529 (REGISTER_NATURAL_MODE): Define.
18530 (FIRST_PSEUDO_REGISTER): Adjust.
18531 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
18532 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
18533 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
18534 (VECTOR_MODE_SUPPORTED_P): Define.
18535 (REG_CLASS_CONTENTS): Adjust.
18536 (SMALL_REGISTER_CLASSES): Adjust.
18537 (REG_ALLOC_ORDER): Adjust.
18538 (INDEX_REG_CLASS): Adjust.
18539 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
18540 (CONST_OK_FOR_LETTER_P): Adjust.
18541 (PREFERRED_RELOAD_CLASS): Adjust.
18542 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
18543 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
18544 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
18545 (FIRST_FP_PARM_REG): Adjust.
18546 (CALL_POPS_ARGS): Define.
18547 (FUNCTION_ARG_REGNO_P): Adjust.
18548 (struct sh_args): New fields.
18549 (GET_SH_ARG_CLASS): Adjust.
18550 (INIT_CUMULATIVE_ARGS): Adjust.
18551 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
18552 (FUNCTION_ARG_ADVANCE): Adjust.
18553 (FUNCTION_ARG): Adjust.
18554 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
18555 (FUNCTION_ARG_CALLEE_COPIES): Define.
18556 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
18557 (STRICT_ARGUMENT_NAMING): Define.
18558 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
18559 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
18560 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
18561 (SETUP_INCOMING_VARARGS): Adjust.
18562 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
18563 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
18564 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
18565 (SUBREG_OK_FOR_INDEX_P): Adjust.
18566 (EXTRA_CONSTRAINT_S): Update.
18567 (EXTRA_CONSTRAINT_T): New.
18568 (EXTRA_CONSTRAINT): Adjust.
18569 (GO_IF_LEGITIMATE_INDEX): Adjust.
18570 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
18571 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
18572 (MOVE_MAX): Adjust.
18573 (MAX_MOVE_MAX): Define.
18574 (Pmode): Adjust.
18575 (CONST_COSTS): Adjust.
18576 (REGISTER_MOVE_COST): Adjust.
18577 (BRANCH_COST): Adjust.
18578 (TEXT_SECTION_ASM_OP): Adjust.
18579 (DBX_REGISTER_NUMBER): Adjust.
18580 (ASM_OUTPUT_DOUBLE_INT): New.
18581 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
18582 (PREDICATE_CODES): Adjust.
18583 (PROMOTE_MODE): Adjust.
18584 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
18585 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
18586 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
18587 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
18588 (DR0_REG, DR2_REG, DR4_REG): Renumber.
18589 (TR0_REG, TR1_REG, TR2_REG): New.
18590 (XD0_REG): Renumber.
18591 (UNSPEC_COMPACT_ARGS): New.
18592 (type): Added pt and ptabs.
18593 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 18594 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
18595 (pt): New function unit.
18596 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
18597 Add whitespace between operands of SHmedia instructions.
18598 (movdicc): Fix.
18599 (adddi3_media, addsi3_media): Adjust constraints.
18600 (subsi3) [SHmedia]: Force operand 1 into a register.
18601 (udivsi3_i1_media, udivsi3_i4_media): New.
18602 (udivsi3): Support SHmedia.
18603 (divsi3_i1_media, divsi3_i4_media): New.
18604 (divsi3): Support SHmedia.
18605 (anddi3, iordi3, xordi3): Adjust constraints.
18606 (zero_extendhidi2, zero_extendqidi2): New.
18607 (extendsidi2, extendhidi2, extendqidi2): New.
18608 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
18609 (pop_e, pop_fpul, pop_4): Likewise.
18610 (movsi_media): Support FP and BT registers.
18611 (movsi_media_nofpu): New. Adjust splits to DImode.
18612 (lduw, ldub): Renamed to zero_extend* above.
18613 (movqi_media): Fix typo.
18614 (movdi_media): Support FP and BT registers.
18615 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
18616 (movdi_const_32bit): New.
18617 (shori_media): Require immediate operand. Use `u' for output.
18618 (movdf_media, movsf_media): Simplified.
18619 (movdf_media_nofpu, movsf_media_nofpu): New.
18620 (movdf, movsf): Adjust
18621 (movv2sf, movv2sf, movv16sf): New.
18622 (beq_media, beq_media_i): Adjust constraints. Don't use
18623 scratch BT register.
18624 (bne_media, bne_media_i): Likewise.
18625 (bgt_media, bgt_media_i): Likewise.
18626 (bge_media, bge_media_i): Likewise.
18627 (bgtu_media, bgtu_media_i): Likewise.
18628 (bgeu_media, bgeu_media_i): Likewise.
18629 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
18630 bunordered): Emit jump insn. Force operands to registers when
18631 needed.
18632 (jump_media, jump): Simplify.
18633 (call_compact, call_compact_rettramp): New.
18634 (call_value_compact, call_value_compact_rettramp): New.
18635 (call_media, call_value_media): Simplify.
18636 (sibcall_compact, sibcall_media): New.
18637 (call, call_value): Adjust for SHmedia and SHcompact.
18638 (sibcall, sibcall_value, untyped_call): Likewise.
18639 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
18640 (indirect_jump): Adjust for SHmedia.
18641 (casesi_jump_media): New.
18642 (nop): Re-enable for SHmedia.
18643 (call_site): Restrict to SH1.
18644 (casesi): Adjust for SHmedia.
18645 (casesi_shift_media, casesi_load_media): New.
18646 (return): Explicitly use PR register. Call return trampoline
18647 on SHcompact.
18648 (return_i): Explicitly use PR register.
18649 (shcompact_return_tramp, shcompact_return_tramp_i): New.
18650 (return_media): Adjust.
18651 (shcompact_incoming_args): New.
18652 (epilogue): Adjust.
18653 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
18654 (movstrsi): Disable on SH5.
18655 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
18656 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
18657 (subsf3, subsf3_media): Likewise.
18658 (mulsf3, mulsf3_media, mac_media): Likewise.
18659 (divsf3, divsf3_media): Likewise.
18660 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
18661 (floatsisf2, fux_truncsfsi2): Likewise.
18662 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
18663 constraints.
18664 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
18665 (cmpunsf_media, cmpsf): Likewise.
18666 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
18667 (abssf2, abssf2_media): Likewise.
18668 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
18669 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
18670 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
18671 (floatsidf2, fix_truncdfsi2): Likewise.
18672 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
18673 constraints.
18674 (cmpeqdf_media, cmpgtdf_media): Likewise.
18675 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
18676 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
18677 (absdf2, absdf2_media): Likewise.
18678 (extendsfdf2, extendsfdf2_media): Likewise.
18679 (truncsfdf2, truncsfdf2_media): Likewise.
18680 * config/sh/sh64.h: New file.
18681 * config/sh/t-sh64: New file.
18682 * config/sh/shmedia.h: New file.
18683 * config/sh/ushmedia.h: New file.
18684 * config/sh/sshmedia.h: New file.
18685 * configure.in: Added sh64-*-elf.
18686 * configure: Rebuilt.
18687 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
18688 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
18689 (reg_class_from_letter): Use `b' for TARGET_REGS.
18690 (print_operand): Support `%M', `%m', `AND' and
18691 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
18692 (andcosts): Adjust for SHmedia.
18693 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
18694 Likewise.
18695 (target_reg_operand): New function.
18696 * config/sh/sh-protos.h (target_reg_operand): Declare.
18697 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
18698 FP registers on SH5.
18699 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
18700 on SH4.
18701 (TARGET_REGISTER_P): New macro.
18702 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
18703 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
18704 (EXTRA_CONSTRAINT_S): New macro.
18705 (EXTRA_CONSTRAINT): Adjust.
18706 (FLOAT_TYPE_SIZE): Define to 32.
18707 (Pmode): DImode on SHmedia.
18708 (CONST_COSTS): Adjust for SHmedia literals.
18709 (PREDICATE_CODES): Added target_reg_operand.
18710 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
18711 * config/sh/sh.md: Remove all attrs from SHmedia insns.
18712 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
18713 (cmpdi): Accept SHmedia.
18714 (movdicc_false, movdicc_true): New insns.
18715 (movdicc): New expand.
18716 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
18717 no_new_pseudos.
18718 (addsi3_media): Match `S' constraint.
18719 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
18720 (negdi2): Expand for SHmedia.
18721 (one_cmpldi2): New expand.
18722 (zero_extendsidi2): Change from expand to insn.
18723 (extendsidi2): Add constraints.
18724 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
18725 LD/ST address. Fix SI immediate loading split.
18726 (movhi_media, movqi_media, lduw, ldub): New insns.
18727 (movhi, movqi): Accept SHmedia.
18728 (shori_media, movdi_media): Relax input constraints. Split
18729 symbolic constants.
18730 (movdf_media, movsf_media): New insn. New split to movdi.
18731 (movdf, movsf): Match on SHmedia.
18732 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
18733 bgeu_media): New insns and splits. New insns with `_i' suffix.
18734 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
18735 (bunordered): New expand.
18736 (jump_compact): Renamed from `jump'.
18737 (jump_media): New insn.
18738 (jump): New expand.
18739 (call_media, call_value_media): New insns.
18740 (call, call_value): Adjust.
18741 (indirect_jump_compact): Renamed from `indirect_jump'.
18742 (indirect_jump_media): New insn.
18743 (indirect_jump): New expand.
18744 (untyped_call, return): Accept SHmedia.
18745 (return_media): New insn.
18746 (prologue, epilogue, blockage): Accept SHmedia.
18747 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
18748 (sunordered): New expand.
18749 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
18750 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
18751 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
18752 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
18753 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
18754 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
18755 abssf2_media): New insns.
18756 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
18757 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
18758 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
18759 floatdidf2, floatsidf2_media, fix_truncdfdi2,
18760 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
18761 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
18762 absdf2_media): New insns.
18763 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
18764 (extendsfdf2_media, truncdfsf2_media): New insns.
18765 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
18766 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
18767 * config/sh/sh.h (CONST_OK_FOR_J): Document.
18768 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
18769 * config/sh/sh.md (adddi3): New expand.
18770 (adddi3_media, adddi3z_media): New insns.
18771 (adddi3_compact): Renamed from adddi3.
18772 (addsi3_media): Use add.l r63 to add constant zero.
18773 (subdi3): New expand.
18774 (subdi3_media): New insn.
18775 (subdi3_compact): Renamed from subdi3.
18776 (mulsidi3): New expand.
18777 (mulsidi3_media): New insn.
18778 (mulsidi3_compact): Renamed from mulsidi3.
18779 (umulsidi3): New expand.
18780 (umulsidi3_media): New insn.
18781 (umulsidi3_compact): Renamed from umulsidi3.
18782 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
18783 (ashlsi3, ashrsi3, lshrsi3): Use them.
18784 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
18785 (ashldi3, ashrdi3, lshrdi3): Use them.
18786 (zero_extendsidi2): New expand.
18787 (extendsidi2): New insn.
18788 (movsi_media): New insn. Split to movdi to load constants.
18789 (movsi): Enable for shmedia.
18790 (movdi_media): New insn. Use shori_media to load wide constants.
18791 (short_media): New insn.
18792 (movdi): Enable for shmedia.
18793 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
18794 * config/sh/sh.h (CPP_SPEC): Added `m5'.
18795 (SUBTARGET_CPP_SPEC): Added `!m5'.
18796 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
18797 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
18798 to all other SH variants.
18799 (TARGET_DEFAULT): Set to SH1_BIT.
18800 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
18801 (BITS_PER_WORD): Raise to 64 on shmedia.
18802 (MAX_BITS_PER_WORD): Change to 64.
18803 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
18804 (INT_TYPE_SIZE): Keep as 32.
18805 (UNITS_PER_WORD): Raise to 8 on shmedia.
18806 (MIN_UNITS_PER_WORD): Keep as 4.
18807 (POINTER_SIZE): Raise to 64 on shmedia.
18808 (CONST_OK_FOR_J): New macro.
18809 (CONST_OK_FOR_LETTER_P): Use it.
18810 (processor_type): Add PROCESSOR_SH5.
18811 * config/sh/sh.md: Conditionalize all expands, insns and
18812 splits to TARGET_SH1.
18813 (cpu): Added sh5.
18814 (addsi3_compact): Renamed from...
18815 (addsi3): Now an expand.
18816 (addsi3_media, subsi3_media): New insns.
18817 (subsi3): Don't negate constants with SHmedia.
18818
e4ec2cac
AO
18819 * hooks.c: New file.
18820 * hooks.h: New file.
18821 * Makefile.in (HOOKS_H): New.
18822 (TARGET_DEF_H): Added $(HOOKS_H).
18823 (OBJS): Added hooks.o.
18824 (cfgcleanup.o, bb-reorder.o): Added target.h.
18825 (hooks.o): Added dependencies.
18826 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
18827 (TARGET_INITIALIZER): this.
18828 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
18829 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
18830 * bb-reorder.c: Include target.h.
18831 (reorder_basic_blocks): Skip if cannot modify jumps.
18832 * cfgcleanup.c: Include target.h.
18833 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
18834
246a46e0
CD
188352002-02-08 Chris Demetriou <cgd@broadcom.com>
18836
831c4e87
KC
18837 * config/mips/mips.md (casesi_internal, casesi_internal_di):
18838 Protect jump delay slot instructions with .set noreorder and
18839 .set nomacro.
246a46e0
CD
18840
188412002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
18842
18843 * config/mips/mips.md (casesi_internal_di): Calculate
18844 the index into the target offset table correctly.
18845
fdf473ae
RH
188462002-02-08 Richard Henderson <rth@redhat.com>
18847
18848 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
18849 * final.c (output_addr_const): Accept and discard SUBREG.
18850 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
18851 mark them unknown instead.
18852 (simplify_subtraction): Handle RTX_UNKNOWN.
18853 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
18854
c50503ac
DE
188552002-02-08 David Edelsohn <edelsohn@gnu.org>
18856
18857 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
18858
3660d217
RH
188592002-02-08 Richard Henderson <rth@redhat.com>
18860
18861 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
18862
56547299
AJ
188632002-02-08 Andreas Jaeger <aj@suse.de>
18864
18865 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
18866 * config/i386/t-linux64: New file.
18867
1cf537c5
JJ
188682002-02-08 Jakub Jelinek <jakub@redhat.com>
18869
18870 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
18871 * c-parse.in (compstmt): Clear last_expr_type.
18872
5c7f5a5f
RH
188732002-02-07 Richard Henderson <rth@redhat.com>
18874
18875 * loop.c (strength_reduce): Sink final_value when not
18876 eliminating a biv.
18877
b1138bf3
DB
188782002-02-07 David O'Brien <obrien@FreeBSD.org>
18879
18880 * config/sparc/freebsd.h: Fix mismatched spec {.
18881
b6878a45
RH
188822002-02-07 Richard Henderson <rth@redhat.com>
18883
18884 * cfgrtl.c: Include recog.h and insn-config.h.
18885 (keep_with_call_p): Fix general_operand invocation.
18886 * Makefile.in (cfgrtl.o): Update dependencies.
18887
ae19f5ef
KH
188882002-02-07 Kazu Hirata <kazu@hxi.com>
18889
18890 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
18891 comment. Accept HImode only if TARGET_H8300.
18892
b137f9fc
EC
188932002-02-07 Eric Christopher <echristo@redhat.com>
18894
18895 * config/mips/crtn.asm: Cleanup #ifdefs.
18896
188972002-02-07 Eric Christopher <echristo@redhat.com>
18898
18899 * config/mips/crti.asm: Add changes for mips16. mips16 uses
18900 register 7 as RA instead of $31.
18901 * config/mips/crtn.asm: Ditto.
18902 * config/mips/mips.c (mips_move_2words): Add case for
18903 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
18904 (compute_frame_size): Fix typo.
18905 (save_restore_insns): Ditto. Make documentation about using
18906 register $7 as return register more precise.
18907 (mips_expand_epilogue): Fix comment. Add code to work around not
18908 being able to add to the stack pointer directly.
18909 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
18910 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
18911 epilogue.
18912
768070a0
TR
189132002-02-07 Tom Rix <trix@redhat.com>
18914
b137f9fc 18915 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
18916 immediates in ldu and stdu DS opcode field.
18917 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
18918 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
18919 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
18920
225909c3
JS
189212002-02-07 Jeff Sturm <jsturm@one-point.com>
18922
18923 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
18924 offset for stack bias.
18925
15fae023
L
189262002-02-07 H.J. Lu <hjl@gnu.org>
18927
18928 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
18929
fde5badd
UW
189302002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
18931
18932 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
18933
162f023b
JH
18934Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
18935
18936 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
18937 * i386.c (x86_order_regs_for_local_alloc): New global function.
18938 * i386.h (REG_ALLOC_ORDER): CLeanup.
18939 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
18940
9b462c42
RH
189412002-02-07 Richard Henderson <rth@redhat.com>
18942
85aa876c 18943 PR optimization/2463
9b462c42
RH
18944 * alias.c (find_base_value): Recall base values for fixed hard regs.
18945 * loop.c (loop_regs_update): Don't use single_set on non-insns.
18946
06e455a9
AO
189472002-02-07 Alexandre Oliva <aoliva@redhat.com>
18948
18949 * config/mips/mips.md (define_delay) [mips16]: Adjust required
18950 length.
18951
edd1967d
RH
189522002-02-06 Richard Henderson <rth@redhat.com>
18953
18954 PR c/5609
18955 * stmt.c (resolve_operand_name_1): Take more care with mixed
18956 named and unnamed operands.
18957
a2cd028f
JJ
189582002-02-06 Janis Johnson <janis187@us.ibm.com>
18959 Jan Hubicka <jh@suse.cz>
18960
18961 * loop.c (remove_constant_addition): Avoid clobbering a shared
18962 CONST expression.
18963
e8487c04
UW
189642002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
18965
18966 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
18967 * config/s390/t-linux64: New file.
18968 * config/s390/libgcc-glibc.ver: New file.
18969
58d10f89
UW
189702002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
18971
18972 * config/s390/linux64.h: Delete file.
18973 * config/s390/s390x.h: New file.
18974 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
18975 as target header file.
18976 * config/s390/linux.h (TARGET_VERSION): Define depending on
18977 DEFAULT_TARGET_64BIT.
18978 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
18979 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
18980 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
18981 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
18982 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
18983 (EXTRA_SPEC): New define.
18984 * config/s390/s390.h (TARGET_VERSION): Define depending on
18985 DEFAULT_TARGET_64BIT.
18986 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
18987
5ce89b2e
JM
189882002-02-06 Jason Merrill <jason@redhat.com>
18989
18990 * c-decl.c (finish_function): Warn about a non-void function with
18991 no return statement and no abnormal exit.
18992 (current_function_returns_abnormally): New variable.
18993 (start_function): Clear it.
18994 (struct c_language_function): Add returns_abnormally.
18995 (push_c_function_context): Save it.
18996 (pop_c_function_context): Restore it.
18997 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
18998 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
18999 an explicit return type.
19000 * c-tree.h: Declare current_function_returns_abnormally.
19001 (C_FUNCTION_IMPLICIT_INT): New macro.
19002 * c-typeck.c (build_function_call): Set it.
19003 (c_expand_return): Set current_function_returns_value even if the
19004 value is erroneous.
19005
caaf2272
JJ
190062002-02-06 Jakub Jelinek <jakub@redhat.com>
19007
19008 PR c/5420:
19009 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
19010 unsafe for reevaluation.
19011
d5129288
JJ
190122002-02-06 Jakub Jelinek <jakub@redhat.com>
19013
19014 PR c/5482:
19015 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
19016 EXPR_STMT, but COMPOUND_STMT, recurse into it.
19017
7fb75099
RH
190182002-02-06 Richard Henderson <rth@redhat.com>
19019
19020 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
19021 be a general_operand. Dest for function value must be a pseudo.
19022
d3a8b6a6
NC
190232002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
19024
19025 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
19026 as SYMBOL_REFs from the constant pool.
19027
3c1299c5
AO
190282002-02-06 Alexandre Oliva <aoliva@redhat.com>
19029
19030 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
19031 passed by invisible reference.
19032
c2c9f6c9
RH
190332002-02-05 Richard Henderson <rth@redhat.com>
19034
19035 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
19036
a824924d
HPN
190372002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
19038
19039 Implement using "base addresses" in insn operands as default.
19040 * config/mmix/mmix.c (mmix_conditional_register_usage): if
19041 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
19042 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
19043 used to read the rtx value.
19044 (mmix_target_asm_function_epilogue): Fix spacing.
19045 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
19046 (mmix_legitimate_address): Ditto.
19047 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
19048 should be loaded with a GETA insn. Don't allocate needless extra
19049 char for nul termination and fix misleading comment.
19050 (mmix_print_operand_address): Handle constants if
19051 TARGET_BASE_ADDRESSES.
19052 (mmix_output_register_setting): Use base addressing if
19053 TARGET_BASE_ADDRESSES and the number of insns is 3.
19054 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
19055 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
19056 to use R as constraint, add LDA to match s.
19057 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
19058 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
19059 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
19060 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
19061 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
19062 order with other fixed registers.
19063 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
19064 other parameter/call-clobbered registers.
19065 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
19066 -mbase-addresses, -mno-base-addresses.
19067 (MMIX Options): Ditto.
19068
73c342b9
JDA
190692002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
19070
19071 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
19072
ef238c58
AH
190732002-02-06 Aldy Hernandez <aldyh@redhat.com>
19074
831c4e87 19075 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 19076
ad08e60e
JT
190772002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
19078
19079 * config/netbsd.h (WCHAR_TYPE): Define.
19080 (WCHAR_TYPE_SIZE): Ditto.
19081 (WINT_TYPE): Ditto.
19082 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
19083 (WCHAR_UNSIGNED): Ditto.
19084 (WCHAR_TYPE_SIZE): Ditto.
19085 (WINT_TYPE): Ditto.
19086 * config/arm/netbsd.h: Likewise.
19087 * config/i386/netbsd-elf.h: Likewise.
19088 * config/i386/netbsd.h: Likewise.
19089 * config/m68k/netbsd-elf.h: Likewise.
19090 * config/m68k/netbsd.h: Likewise.
19091 * config/ns32k/netbsd.h: Likewise.
19092 * config/sparc/netbsd.h: Likewise.
19093 * config/vax/netbsd.: Likewise.
19094
f913c102
AO
190952002-02-05 Alexandre Oliva <aoliva@redhat.com>
19096
19097 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
19098 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
19099 (TARGET_INITIALIZER): this.
19100 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
19101 (BITFIELD_NBYTES_LIMITED): Markup fix.
19102 * tree.h (default_ms_bitfield_layout_p): Declare.
19103 (record_layout_info): Added prev_field.
19104 * tree.c (default_ms_bitfield_layout_p): New fn.
19105 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
19106 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
19107 * stor-layout.c: Include target.h.
19108 (start_record_layout): Initialize prev_field.
19109 (place_field): Handle MS bit-field layout, and disregard
19110 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
19111 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
19112 * Makefile.in (stor-layout.o): Adjust dependencies.
19113
c13db5d1
JM
191142002-02-05 Jason Merrill <jason@redhat.com>
19115
c13db5d1
JM
19116 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
19117
4505024e
AJ
191182002-02-05 Andreas Jaeger <aj@suse.de>
19119
19120 * crtstuff.c: Fix comments.
19121
794ad79d
RH
191222002-02-05 Richard Henderson <rth@redhat.com>
19123
2e279a9b
RH
19124 PR fortran/3393
19125 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
19126 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
19127
794ad79d
RH
19128 PR fortran/3392
19129 * config/mips/mips.c (function_arg): Handle TImode.
19130 (function_arg_advance): Likewise.
19131
8f909017
AH
191322002-02-05 Aldy Hernandez <aldyh@redhat.com>
19133
c13db5d1
JM
19134 * config/rs6000/altivec.h (vec_step_help): Rename to
19135 __vec_step_help.
8f909017 19136
66daa9e3
AH
191372002-02-05 Aldy Hernandez <aldyh@redhat.com>
19138
c13db5d1 19139 * config/rs6000/altivec.h: Fix typos.
66daa9e3 19140
2696e97b
JT
191412002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
19142
19143 * config/arm/netbsd.h: Correct a comment.
19144
3deb2758
AH
191452002-02-05 Aldy Hernandez <aldyh@redhat.com>
19146
c13db5d1
JM
19147 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
19148 building void typed builtins.
3deb2758 19149
c13db5d1
JM
19150 * config/rs6000/altivec.h (vec_ld*): Fix typos.
19151 (vec_step): Implement for C++.
3deb2758 19152
c13db5d1 19153Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
19154
19155 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
19156
ebbb0a63
RH
191572002-02-04 Richard Henderson <rth@redhat.com>
19158
19159 * combine.c (nonzero_bits): Re-introduce special case for
19160 sp/fp/ap wrt REGNO_POINTER_ALIGN.
19161
ae4b4a02
AH
191622002-02-05 Aldy Hernandez <aldyh@redhat.com>
19163
c13db5d1
JM
19164 * doc/extend.texi: Warn about unsupported usage of altivec
19165 builtins.
ae4b4a02 19166
c13db5d1
JM
19167 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
19168 (altivec_predicate_*): New.
ae4b4a02 19169
c13db5d1
JM
19170 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
19171 Add C++ version of vec_*() functions.
ae4b4a02 19172
c13db5d1
JM
19173 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
19174 (bdesc_2arg): Remove altivec predicates.
19175 (altivec_expand_builtin): Handle predicates.
19176 (altivec_init_builtins): Handle predicates.
19177 (altivec_expand_predicate_builtin): New.
ae4b4a02 19178
f6bcf44c
JDA
191792002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
19180
19181 * pa.c (DO_FRAME_NOTES): Move forward.
19182 (store_reg): Revise handling of frame notes.
19183 (load_reg): Likewise.
19184 (set_reg_plus_d): Likewise.
19185 (hppa_expand_prologue): Likewise.
19186 (hppa_expand_epilogue): Likewise.
b137f9fc 19187
703b0080
JDA
191882002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
19189
19190 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
19191
6f9fdf4d
JJ
191922002-02-04 Jakub Jelinek <jakub@redhat.com>
19193
19194 PR c/4475, c++/3780:
19195 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
19196 * c-common.h (SWITCH_TYPE): Define.
19197 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
19198 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
19199 Rename spareness variable to sparseness.
19200 (expand_end_case_type): Renamed from expand_end_case, use orig_type
19201 if non-NULL instead of TREE_TYPE (orig_index).
19202 * tree.h (expand_end_case_type): Renamed from expand_end_case.
19203 (expand_end_case): Define using expand_end_case_type.
19204 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
19205 to expand_end_case_type.
19206 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
19207
79109502
JDA
192082002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
19209
19210 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
19211 (BIGGEST_ALIGNMENT): Change to 128.
19212
e62a5987
JDA
192132002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
19214
19215 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
19216
219f24a4
JDA
192172002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
19218
19219 * pa.md (call_internal_reg_64bit): Remove unused variable.
19220
3cb66fd7
NC
192212002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
19222
19223 * config/arm/arm.h (machine_function): Add uses_anonymous_args
19224 field.
831c4e87 19225 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 19226 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
19227 replace uses with cfun->machine->uses_anonymous_args.
19228 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
19229
19230 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
19231 any geenral register.
b137f9fc 19232
5d5603e2 192332001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
19234
19235 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
19236 the entry block.
19237
563c12b0
RH
192382002-02-04 Richard Henderson <rth@redhat.com>
19239
19240 * combine.c (force_to_mode): Remove STACK_BIAS code.
19241 (nonzero_bits): Likewise. Replace sp/fp special case with
19242 REGNO_POINTER_ALIGN.
19243
19244 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
19245 (HARD_FRAME_POINTER_REGNUM): New.
19246 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
19247 (FIXED_REGS, CALL_USED_REGS): Update.
19248 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
19249 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
19250 (HARD_REGNO_NREGS): Update for SFP.
19251 (STACK_POINTER_OFFSET): Include bias here ...
19252 (FIRST_PARM_OFFSET): ... not here.
19253 (STACK_BIAS): Remove.
19254 (INIT_EXPANDERS): New.
19255 (STARTING_FRAME_OFFSET): Do not include bias.
19256 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
19257 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
19258 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
19259 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
19260 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
19261 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
19262 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
19263 (MUST_SAVE_REGISTER): Likewise.
19264 (sparc_flat_function_prologue): Likewise.
19265 (sparc_flat_function_epilogue): Likewise.
19266 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
19267 (sparc_init_modes): SFP is GENERAL_REGS.
19268 (sparc_builtin_saveregs): SFP does not have bias applied.
19269
14691f8d
RH
192702002-02-04 Richard Henderson <rth@redhat.com>
19271
19272 * config/alpha/alpha.c (current_function_is_thunk): Don't check
19273 current_function_is_thunk.
19274 (alpha_sa_mask): Distinguish between current_function_is_thunk
19275 called from ASM_OUTPUT_MI_THUNK and not.
19276 (alpha_does_function_need_gp): Thunks always need gp.
19277 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
19278 (alpha_output_mi_thunk_osf): New.
19279 * config/alpha/alpha-protos.h: Update.
19280 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
19281
af702de8
RS
192822002-02-04 Richard Sandiford <rsandifo@redhat.com>
19283
19284 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
19285 function types, not when they're taken away.
19286
5b1cacd8
JL
19287Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
19288
19289 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
19290 CODE_LABEL and jump table when replacing a table jump with a
19291 simple jump.
19292
f3e9edff
UW
192932002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
19294
19295 * config/s390/s390-protos.h (legitimize_la_operand,
19296 s390_secondary_input_reload_class, s390_plus_operand,
19297 s390_expand_plus_operand): Add prototypes.
19298
19299 config/s390/s390.c (s390_secondary_input_reload_class,
19300 s390_plus_operand, s390_expand_plus_operand): New functions.
19301
19302 (struct s390_address): New member 'pointer'.
19303 (s390_decompose_address): Compute it.
19304 (legitimate_la_operand_p): Use it.
19305 (legitimize_la_operand): New function.
19306 (movti, movdi, movdf splitters): Call it.
19307
19308 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
19309 (PREDICATE_CODES): Add s390_plus_operand.
19310
19311 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
19312 (la_ccclobber): Allow GENERAL_REGS as output operand.
19313
19314 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
19315 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
19316 (*la_64, *la_31, reload_indi, reload_insi): ... these.
19317
3c9a08ec
UW
193182002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
19319
19320 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
19321 register names for regular asm () construct.
19322
ac300a45
JJ
193232002-02-04 Jakub Jelinek <jakub@redhat.com>
19324
19325 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
19326 registers.
19327
fa852403
JJ
193282002-02-04 Jakub Jelinek <jakub@redhat.com>
19329
19330 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
19331 pat for recog.
19332
fecaac37
HP
193332002-02-04 Hartmut Penner <hpenner@de.ibm.com>
19334
831c4e87
KC
19335 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
19336 constant pool to be identical by string address and index.
fecaac37 19337
10c45943
AG
193382002-02-04 Anthony Green <green@redhat.com>
19339
19340 * output.h (SECTION_OVERRIDE): Define.
19341 * varasm.c (named_section): Obey SECTION_OVERRIDE.
19342
69474c3c
JT
193432002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
19344
19345 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
19346 by existing arm*-*-netbsd* (a.out) target.
19347 (ns32k-*-netbsdelf*): Likewise.
19348 (sparc-*-netbsdelf*): Likewise.
19349 (vax-*-netbsdelf*): Likewise.
19350
939a46f6 193512002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
19352
19353 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
19354 headers and libobjc headers.
19355
193562002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
19357
19358 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
19359 (_mingw.h): Remove duplicate include.
19360
2fd95d71
JT
193612002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
19362
19363 * config.gcc: Set cpu_type to m68k for 68010, as well.
19364 (m68010-*-netbsdelf*): New...
19365 (m68k*-*-netbsdelf*): ...targets.
19366 * config/m68k/netbsd-elf.h: New file.
19367
0ea6f6a0
KH
193682002-02-02 Kazu Hirata <kazu@hxi.com>
19369
19370 * config/h8300/h8300.c (hand_list): Move inside function_arg.
19371
cbf1b2da
KH
193722002-02-02 Kazu Hirata <kazu@hxi.com>
19373
19374 * config/h8300/h8300.c (h8_push_ops): Move inside
19375 h8300_init_once.
19376 (h8_pop_ops): Likewise.
19377 (h8_move_ops): Likewise.
19378
0869f126
KH
193792002-02-02 Kazu Hirata <kazu@hxi.com>
19380
19381 * config/h8300/h8300.c (os_task): Make it static.
19382 (monitor): Likewise.
19383 (pragma_saveall): Likewise.
19384
90e65b70
AO
193852002-02-02 Alexandre Oliva <aoliva@redhat.com>
19386
19387 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
19388 constant is a valid sign-extension for Pmode.
19389
9cbcd983
KH
193902002-02-02 Kazu Hirata <kazu@hxi.com>
19391
19392 * config/h8300/h8300.c: Fix formatting.
19393
7a27efc4
KH
193942002-02-02 Kazu Hirata <kazu@hxi.com>
19395
19396 * config/h8300/h8300.md: Fix formatting.
19397
54175a44
KH
193982002-02-02 Kazu Hirata <kazu@hxi.com>
19399
19400 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
19401 predicates of operands[1]. Split the patterns for each
19402 processor variant.
19403
eceb1755
KH
194042002-02-02 Kazu Hirata <kazu@hxi.com>
19405
19406 * config/h8300/h8300.md (xor patterns): Tighten the predicates
19407 of operands[1] to register_operand.
19408
0fef3fd0
NB
194092002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
19410
19411 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
19412 * cpphash.c (_cpp_init_hashtable): Similarly.
19413 * cppinit.c (cpp_create_reader): Default the signed_char flag.
19414 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
19415 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
19416 (cpp_handle_option): Handle the new options.
19417 * cpplex.c (cpp_interpret_charconst): Use new flag.
19418 * cpplib.h (struct cpp_options): New member signed_char.
19419 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
19420 (cpp_options): Handle -fsigned-char and -funsigned-char.
19421 (static_specs): Remove signed_char_spec.
19422 (do_spec1): Don't handle %c.
19423 * system.h: Poison SIGNED_CHAR_SPEC.
19424 * tradcif.y (yylex): Use flag_signed_char.
19425 * tradcpp.h (flag_signed_char): New.
19426 * tradcpp.c (flag_signed_char): New.
19427 (main): Handle new command-line options.
19428 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
19429config:
19430 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
19431 * avr/avr.h: Remove old comments.
19432 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
19433 (CC1_SPEC): Pass -fsigned-char if -mic*.
19434 (SIGNED_CHAR_SPEC): Remove.
19435doc:
19436 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
19437
0617ed52
EC
194382002-02-01 Eric Christopher <echristo@redhat.com>
19439
19440 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
19441 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
19442 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
19443 (ASM_OUTPUT_REG_POP): Ditto.
19444
dfd48d76
NB
194452002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
19446
19447 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
19448 patch.
19449
4a23409e
JJ
194502002-02-02 Jakub Jelinek <jakub@redhat.com>
19451
19452 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
19453
d3c52658
JJ
194542002-02-02 Jakub Jelinek <jakub@redhat.com>
19455
19456 PR c/5304:
19457 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
19458 unconditionally.
19459
02c5a3bd
JJ
194602002-02-01 Janis Johnson <janis187@us.ibm.com>
19461
19462 * cfganal.c: Include tm_p.h.
19463 (keep_with_call_p): Fix the test that determines if a register holds
19464 the return value of a call.
19465
3968de80
DD
194662002-02-01 DJ Delorie <dj@redhat.com>
19467
19468 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
19469 we are given conflicting registers, switch to the other one we
19470 had allocated for us.
19471 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
19472 as TImode so we know when the "other" register is available.
19473
1338ea6c
DB
194742002-02-01 David O'Brien <obrien@FreeBSD.org>
19475
19476 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
19477 sparc/sparc_bi.h.
19478
f015be23
JJ
194792002-02-01 Janis Johnson <janis187@us.ibm.com>
19480
19481 * cfganal.c (keep_with_call_p): New function.
19482 (flow_call_edges_add): Prevent splitting a block between a call and
19483 a single-set instruction that should be kept in the same block.
19484
63708ffc
CR
194852002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
19486
19487 * doc/install.texi (avr): Update outdated URL.
19488
5ee4950e
AH
194892002-01-30 Andrew Haley <aph@cambridge.redhat.com>
19490
831c4e87
KC
19491 * config/stormy16/stormy16.md (pushqi): New.
19492 (popqi): New.
19493 (pushhi): New.
19494 (pophi): New.
19495 (movhi): Remove stack operands.
19496 (movqi): Likewise.
19497 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
19498 nonimmediate_nonstack_operand.
19499 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
19500 New.
19501 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
19502 New.
5ee4950e 19503
b88c0704
JM
195042002-01-31 Jason Merrill <jason@redhat.com>
19505
19506 * Makefile.in (c-parse.c): Handle .output file.
19507 * objc/Make-lang.in (objc-parse.c): Likewise.
19508
ac282977
AO
195092002-02-01 Alexandre Oliva <aoliva@redhat.com>
19510
19511 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
19512 the -me[lb] option is given. Don't output the default flag
19513 twice.
19514
bebc7e8b
ZW
195152002-01-31 Zack Weinberg <zack@codesourcery.com>
19516
19517 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
19518 the primary source file; this has not been done yet.
19519 * c-decl.c (c_expand_body): Reset input_filename from
19520 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
19521
5809eb5f
KH
195222002-01-31 Kazu Hirata <kazu@hxi.com>
19523
19524 * rtlanal.c (subreg_regno_offset): Do not use
19525 SUBREG_REGNO_OFFSET.
19526 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
19527 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
19528
8512bbd7
JM
195292002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
19530
19531 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
19532 version rather than GNATS version in --version output.
19533
74cb3cc8
RS
195342002-01-31 Richard Sandiford <rsandifo@redhat.com>
19535
19536 * ifcvt.c (noce_process_if_block): Make a copy of the destination
19537 when copying back from a temporary.
19538
874b5b14
RH
195392002-01-30 Richard Henderson <rth@redhat.com>
19540
19541 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
19542 and new_dest are the same.
19543
e803a64b
RH
195442002-01-30 Richard Henderson <rth@redhat.com>
19545
89cf7be5 19546 PR opt/5076
e803a64b
RH
19547 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
19548 * rtl.c (note_insn_name): Update.
19549 * emit-rtl.c (remove_unnecessary_notes): Kill it.
19550 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
19551 to perform loop rotation.
19552 (expand_exit_loop_top_cond): New.
19553 * tree.h (expand_exit_loop_top_cond): Declare it.
19554 * c-semantics.c (genrtl_while_stmt): Use it.
19555 (genrtl_for_stmt): Likewise.
19556
0b51254d
AO
195572002-01-30 Alexandre Oliva <aoliva@redhat.com>
19558
19559 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
19560 arguments to 64-bit boundaries on 64-bit ABIs.
19561
71cef493
SE
195622002-01-30 Steve Ellcey <sje@cup.hp.com>
19563
19564 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
19565
6169e5fd
JM
195662002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
19567
19568 * c-decl.c (grokdeclarator): Handle type being a typedef for an
19569 invalid type.
19570
86f808dc
DB
195712002-01-30 David O'Brien <obrien@FreeBSD.org>
19572
19573 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
19574 * config/sparc/sparc_bi.h: Remove file.
19575 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
19576
5748ebeb
RH
195772002-01-30 Richard Henderson <rth@redhat.com>
19578
19579 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
19580
20d32cc2
ZW
195812002-01-30 Zack Weinberg <zack@codesourcery.com>
19582
19583 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
19584
b88c0704 195852002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
19586
19587 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
19588 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
19589 (reg_save): Use DW_CFA_offset_extended_sf instead.
19590
19591 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
19592
37060e78
JJ
195932002-01-29 Jakub Jelinek <jakub@redhat.com>
19594
19595 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
19596 in cselib_lookup.
19597
d18dba68
AH
195982002-01-29 Aldy Hernandez <aldyh@redhat.com>
19599
bebc7e8b
ZW
19600 * rs6000.md ("*call_value_local32"): Remove constraints.
19601 ("*call_value_local64"): Same.
19602 ("*call_value_indirect_nonlocal_aix32"): Same.
19603 ("*call_value_nonlocal_aix32"): Same.
19604 ("*call_value_indirect_nonlocal_aix64"): Same.
19605 ("*call_value_nonlocal_aix64"): Same.
19606 ("*call_value_nonlocal_sysv"): Same.
d18dba68 19607
80a8aac6
RH
196082002-01-29 Richard Henderson <rth@redhat.com>
19609
19610 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
19611
12beba6f
RH
196122002-01-29 Richard Henderson <rth@redhat.com>
19613
19614 * expr.c (force_operand): Ignore flag_pic for detecting pic
19615 address loads.
19616 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
19617 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
19618 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
19619 instead of open-coded loop.
19620 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
19621 be fixed when in use.
19622
2583081e
RH
196232002-01-29 Richard Henderson <rth@redhat.com>
19624
19625 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
19626 * sched-rgn.c (propagate_deps): Update them.
19627 * sched-deps.c (sched_analyze_insn): Update them. Flush the
19628 clobbers list when either gets too long.
19629
3b8d200e
JJ
196302002-01-29 Jakub Jelinek <jakub@redhat.com>
19631
19632 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
19633 and INDEX_REGS the same as GENERAL_REGS.
19634 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
19635
2d3115eb
NB
196362002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
19637
bebc7e8b 19638 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 19639
ecbe845e
UW
196402002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
19641
bebc7e8b 19642 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 19643 movstrsix_31): Remove, replace by ...
bebc7e8b 19644 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
19645 movstrsi_long): ... these. New.
19646 (movstrdi, movstrsi): Adapt.
19647
19648 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 19649 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
19650 Remove unnecessary CC clobber.
19651 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
19652 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
19653
19654 (divmoddi4): Don't partially initialize TImode register.
19655
0b32fca5
GK
196562002-01-29 Geoffrey Keating <geoffk@redhat.com>
19657
19658 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
19659
08ef5437
RH
196602002-01-29 Richard Henderson <rth@redhat.com>
19661
19662 * flow.c (print_rtl_and_abort): Remove.
19663 (print_rtl_and_abort_fcn): Remove.
19664 (verify_local_live_at_start): Use dump_bb instead.
19665 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
19666 (verify_wide_reg_1): Return 2 on mode test failure.
19667
8469e54e
NB
196682002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
19669
19670 PR c/3325, c/3326, c/2511, c/3347
19671 * c-decl.c (enum_decl_context): Remove BITFIELD.
19672 (grokdeclarator): Take bitfield width as an input.
19673 Ensure bitfields are given the correct type. Perform
19674 bitfield width validation with build_bitfield_integer_type
19675 rather than waiting for finish_struct.
19676 (grok_typename, grok_typename_in_parm_context, start_decl,
19677 push_parmdecl, grokfield, start_function): Update calls to
19678 grokdeclarator.
19679 (build_bitfield_integer_type): New function.
19680 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 19681 and build_bitfield_integer_type.
8469e54e
NB
19682 * tree.c (build_nonstandard_integer_type): New function.
19683 * tree.h (build_nonstandard_integer_type): New prototype.
19684objc:
19685 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
19686
ffdeea47
JJ
196872002-01-29 Jakub Jelinek <jakub@redhat.com>
19688
19689 PR other/1502:
19690 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
19691 don't ignore unrecognized -W* options.
19692 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
19693 * cpplib.h (cpp_handle_option): Adjust prototype.
19694 * c-decl.c (c_decode_options): Pass 0 as last argument to
19695 cpp_handle_option.
19696
19697 PR c/2896:
19698 * gcc.c (cpp_unique_options): Split from cpp_options.
19699 (cpp_options): Source cpp_unique_options.
19700 (default_compilers): Use cpp_unique_options instead of cpp_options
19701 when used together with cc1_options.
19702 (static_specs): Add cpp_unique_options.
19703 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
19704 when used together with cc1_options.
19705
1a275226
KH
197062002-01-29 Kazu Hirata <kazu@hxi.com>
19707
19708 * config/h8300/h8300-protos.h: Update the prototype of
19709 output_a_shift.
19710 * config/h8300/h8300.c (output_a_shift): Remove an unused
19711 argument 'insn'. Remove redundant code.
19712 * config/h8300/h8300.md: Adust to the new prototype of
19713 output_a_shift.
19714
a11d9dfc
KH
197152002-01-29 Kazu Hirata <kazu@hxi.com>
19716
19717 * config/h8300/h8300-protos.h: Update the prototypes of
19718 emit_a_rotate and expand_a_rotate.
19719 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
19720 first argument to 'enum rtx_code'.
19721 (expand_a_rotate): Likewise.
19722
871f73e3
KH
197232002-01-28 Kazu Hirata <kazu@hxi.com>
19724
19725 * config/h8300/h8300-protos.h: Update the prototype of
19726 output_simode_bld.
19727 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
19728 'log2'.
19729 * config/h8300/h8300.md: Adjust to the new prototype.
19730
5fc4b751
KH
197312002-01-28 Kazu Hirata <kazu@hxi.com>
19732
19733 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
19734 redundant code.
19735
2d67bd7b
JDA
197362002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
19737
19738 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
19739 is a fixed register before returning pic_offset_table_rtx.
19740 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
19741 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
19742
5a852b3e
JM
197432002-01-28 Jason Merrill <jason@redhat.com>
19744
6bb28965 19745 * dwarf2.h: Sync with src version.
5a852b3e 19746
3bca17dd
PK
197472002-01-28 Paul Koning <pkoning@equallogic.com>
19748
19749 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
19750 BT_FN_VOID_PTR_VAR.
19751 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
19752 * doc/extend.texi (__builtin_prefetch): Update documentation:
19753 first argument is now const void ptr.
19754
7dc3f8c0
KH
197552002-01-28 Kazu Hirata <kazu@hxi.com>
19756
19757 * config/h8300/h8300-protos.h: Remove an unused prototype.
19758
e83cb5f0
RZ
197592002-01-28 Roman Zippel <zippel@linux-m68k.org>
19760
19761 * toplev.c (lang_independent_init): Round up identifier size.
19762
5721cd84
RE
197632002-01-28 Richard Earnshaw <rearnsha@arm.com>
19764
19765 * config.gcc: Revert previous change.
19766
d534119e
AP
197672002-01-28 Andris Pavenis <pavenis@latnet.lv>
19768
19769 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
19770
5a721dab
RE
197712002-01-28 Richard Earnshaw <rearnsha@arm.com>
19772
19773 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
19774 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
19775 other non-elf netbsd config frags.
19776 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
19777 collect2 will does that.
19778 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
19779 shared-lib frobbing will work.
19780
da1775d6
KH
197812002-01-28 Kazu Hirata <kazu@hxi.com>
19782
19783 * config/h8300/h8300.h: Fix formatting.
19784 * config/h8300/h8300.md: Likewise.
19785
8f2e963b
LR
197862002-01-28 Loren J. Rittle <ljrittle@acm.org>
19787
19788 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
19789 the old, removed AAA_standards fix.
19790 * fixinc/fixincl.x: Rebuilt.
19791
fdae5767
HPN
197922002-01-28 Hans-Peter Nilsson <hp@axis.com>
19793
19794 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
19795 atexit call in crtbegin, hooked in after call to frame_dummy;
19796 register EH before registering __fini__start.
19797
2a2ecb63
AH
197982002-01-28 Aldy Hernandez <aldyh@redhat.com>
19799
19800 * config/rs6000/altivec.h: Remove spurious semicolons.
19801
8ed43adf
KH
198022002-01-27 Kazu Hirata <kazu@hxi.com>
19803
19804 * config/h8300/h8300.md: Replace dead bit extraction patterns
19805 with ones that work.
19806
917afb0c
RK
19807Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19808
19809 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
19810 if not STRICT_ALIGNMENT.
19811 * rtl.h (MEM_ALIGN): Likewise.
19812
f70a54cb
CR
198132002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
19814
19815 * doc/invoke.texi (-fdump-translation-unit): Revert this
19816 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
19817
d8fd4914
KH
198182002-01-27 Kazu Hirata <kazu@hxi.com>
19819
19820 * config/h8300/h8300.md (define_constants): New.
19821 (anonymous patterns) Use defined constants appropriately.
19822
15e0e275
KH
198232002-01-27 Kazu Hirata <kazu@hxi.com>
19824
19825 * config/h8300/h8300.c (function_arg): Remove redundant code.
19826
37a0f8a5
RH
198272002-01-26 Richard Henderson <rth@redhat.com>
19828
19829 * sched-deps.c (reg_pending_uses_head): New.
19830 (reg_pending_barrier): Rename from reg_pending_sets_all.
19831 (find_insn_list): Don't mark inline.
19832 (find_insn_mem_list): Remove.
19833 (add_dependence_list, add_dependence_list_and_free): New.
19834 (flush_pending_lists): Replace only_write param with separate
19835 for_read and for_write parameters. Update all callers. Use
19836 add_dependence_list_and_free.
19837 (sched_analyze_1): Do not add reg dependencies here; just set
19838 the pending bits. Use add_dependence_list.
19839 (sched_analyze_2): Likewise.
19840 (sched_analyze_insn): Replace schedule_barrier_found with
19841 reg_pending_barrier. Add all dependencies for pending reg
19842 uses, sets, and clobbers.
19843 (sched_analyze): Don't add reg dependencies for calls, just
19844 set pending bits. Use regs_invalidated_by_call. Treat
19845 sched_before_next_call as a normal list, not a fake insn.
19846 (init_deps): No funny init for sched_before_next_call.
19847 (free_deps): Free pending mems lists. Don't zero reg_last.
19848 (init_deps_global): Init reg_pending_uses.
19849 (finish_deps_global): Free it.
19850 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
19851 (find_insn_mem_list): Remove.
19852 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
19853 (propagate_deps): Use them. Zero temp mem lists.
19854
cea3bd3e
RH
198552002-01-26 Richard Henderson <rth@redhat.com>
19856
19857 * Makefile.in (CRTSTUFF_CFLAGS): New.
19858 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
19859 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
19860 crtstuff.c instead of alpha assembly version.
19861 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
19862 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
19863 not FORCE_{INIT,FINI}_SECTION_ALIGN.
19864 (__do_global_dtors_aux): Mark used.
19865 (frame_dummy, __do_global_ctors_aux): Mark used.
19866 (fini_dummy, init_dummy): Remove.
19867
19868 * config/alpha/crtbegin.asm: Remove file.
19869 * config/alpha/crtend.asm: Remove file.
19870 * config/alpha/t-crtbe: Remove file.
19871 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
19872 (LINK_EH_SPEC): New.
19873
19874 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
19875 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
19876 calling constructors.
19877 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
19878
19879 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
19880 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
19881 CRT_END_INIT_DUMMY hack.
19882 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
19883 FORCE_{INIT,FINI}_SECTION_ALIGN.
19884
19885 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
19886 FORCE_{INIT,FINI}_SECTION_ALIGN.
19887
19888 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
19889 invocation sequence.
19890 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
19891
19892 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
19893 (FORCE_CODE_SECTION_ALIGN): New.
19894
60ffa0e5
RH
198952002-01-26 Richard Henderson <rth@redhat.com>
19896
19897 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
19898
61334ebe
RH
198992002-01-26 Richard Henderson <rth@redhat.com>
19900
19901 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
19902 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
19903
1d788fb6
KH
199042002-01-26 Kazu Hirata <kazu@hxi.com>
19905
19906 * config/h8300/h8300.md: Remove bit extraction patterns that
19907 cannot be triggered.
19908 Restrict each bit extraction pattern to a variant on which the
19909 pattern is tested.
19910
87611f88
JM
199112002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
19912
19913 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
19914
cd74ec59
KH
199152002-01-26 Kazu Hirata <kazu@hxi.com>
19916
19917 * config/h8300/h8300.md: Remove bit test patterns that cannot
19918 be triggered.
19919 Restrict each bit test pattern to a variant on which the
19920 pattern is tested.
19921
93051e0f
KG
199222002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19923
19924 * builtins.c (expand_builtin_strncat): Remove redundant check for
19925 INTEGER_CST.
19926
216c995f
DB
199272002-01-25 David O'Brien <obrien@FreeBSD.org>
19928
19929 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
19930 default setting.
19931 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
19932 existing setting.
19933
33c7f925
GK
199342002-01-25 Geoffrey Keating <geoffk@redhat.com>
19935
19936 * dbxout.c (dbxout_init): Use assemble_name rather than just
19937 stripping off the first character.
19938 (dbxout_source_file): Likewise.
19939
6cd444b4
DD
199402002-01-25 DJ Delorie <dj@redhat.com>
19941
19942 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
19943 using rtx_equal_p, not by comparing pointers.
19944
751551d5
SE
199452002-01-25 Steve Ellcey <sje@cup.hp.com>
19946
19947 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
19948 for PIC_OFFSET_TABLE_REGNUM.
19949 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
19950
e564e618
DB
199512002-01-25 David O'Brien <obrien@FreeBSD.org>
19952
19953 * config.gcc (x86_64-*-freebsd*): New target.
19954 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
19955 value.
19956 (i[34567]86-*-freebsd*): Don't include svr4.h.
19957 * config/i386/freebsd64.h: New file.
19958
ff3aaf17
DR
199592002-01-25 Douglas B Rupp <rupp@gnat.com>
19960
4857d29d
DR
19961 * config/alpha/x-vms (version): Make static.
19962
19963 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
19964 in previous checkin.
19965
ff3aaf17
DR
19966 * Makefile.in (install-headers-cp): New target.
19967 * config.gcc (alpha-dec-*vms*): Install headers with
19968 install-headers-cp
19969
48d79c43
JH
19970Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
19971
19972 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
19973 avoid it's copies.
19974
995b5904
RK
19975Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19976
19977 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
19978 of compare_tree_int.
19979 (expand_builtin_strncat): Likewise.
19980 * c-decl.c (finish_struct): Use tree_low_cst.
19981 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
19982 * tree.c (compare_tree_int): Likewise.
19983
75eefe3f
UW
199842002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
19985
19986 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
19987 adjustments even if they are implemented by more than two insns.
19988
5a133afd
JH
19989Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
19990
995b5904 19991 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
19992 * df.h (struct ref): Kill B.
19993 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
19994
19995 * basic-block.h (PROP_EQUAL_NOTES): New flag.
19996 * flow.c (propagate_one_insn): Use it.
19997 (mark_used_regs): Handle NIL.
19998
ead39bdf 199992002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
20000
20001 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
20002 to help folding.
20003
01a2ccd0
DE
200042002-01-25 David Edelsohn <edelsohn@gnu.org>
20005
20006 * rs6000.md (prefetch): Make address V4SI mode so that the address
20007 is restricted to legitimate form for instruction.
20008
fd29f6ea
BW
200092002-01-25 Bob Wilson <bob.wilson@acm.org>
20010
20011 * doc/install.texi (xtensa-*-elf): New target.
20012 (xtensa-*-linux*): New target.
20013 * doc/contrib.texi: Add myself.
20014
55492b32
NC
200152002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
20016
20017 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
20018 purpose register to hold an SImode (or smaller) value.
20019
72c7c913
JJ
200202002-01-25 Jakub Jelinek <jakub@redhat.com>
20021
20022 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
20023 registry only.
20024 * crtstuff.c: Likewise.
20025
c4df4ceb
KH
200262002-01-25 Kazu Hirata <kazu@hxi.com>
20027
20028 * config/h8300/h8300.md (negation patterns): Tighten
20029 predicates to register_operand.
20030
70e531f5
AH
200312002-01-24 Aldy Hernandez <aldyh@redhat.com>
20032
3bca17dd
PK
20033 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
20034 mode, not Pmode.
70e531f5 20035
3bca17dd 20036 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 20037
a4f76ef9
AO
200382002-01-24 Alexandre Oliva <aoliva@redhat.com>
20039
20040 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
20041 modes.
20042
9bf25b09
KH
200432002-01-24 Kazu Hirata <kazu@hxi.com>
20044
20045 * config/h8300/h8300.c (print_operand): Remove support for
20046 operand character 'A'.
20047 * config/h8300/h8300.md (three anonymous patterns): Replace
20048 operand character 'A' with either 'T' or 'S'.
20049
974af6a5
KH
200502002-01-24 Kazu Hirata <kazu@hxi.com>
20051
20052 * config/h8300/h8300.c (print_operand): Remove support for
20053 operand character 'U'.
20054
7a5bb7b8
AP
200552002-01-24 Andris Pavenis <pavenis@latnet.lv>
20056
3bca17dd 20057 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 20058
92a4639e
NC
200592002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
20060
20061 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
20062 values to be assigned to the stack pointer.
20063
467cb2da
HP
200642002-01-14 Hartmut Penner <hpenner@de.ibm.com>
20065
bebc7e8b 20066 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
20067 to const_double needs to be done right for big-endian systems.
20068
3b6cb920
JM
200692002-01-24 Jason Merrill <jason@redhat.com>
20070
b08dd119 20071 PR c++/2432
3b6cb920
JM
20072 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
20073 to can_throw_internal.
20074
f3077311
RH
200752002-01-23 Richard Henderson <rth@redhat.com>
20076
20077 * fold-const.c (fold): Change UINT_MAX test to check vs precision
20078 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
20079
e1d71275
AO
200802002-01-24 Alexandre Oliva <aoliva@redhat.com>
20081
20082 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
20083 (symGOT2reg): Use them, then set as GOT value as unchanging.
20084 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
20085 as a temporary, if possible.
20086 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
20087 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
20088
dc271dbe
KH
200892002-01-23 Kazu Hirata <kazu@hxi.com>
20090
20091 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
20092 accept to accept 0x80 as operands[2].
20093
1a9017f9
AO
200942002-01-24 Alexandre Oliva <aoliva@redhat.com>
20095
20096 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
20097
6932f033
RH
200982002-01-23 Richard Henderson <rth@redhat.com>
20099
20100 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
20101
709619d9
AH
201022002-01-23 Aldy Hernandez <aldyh@redhat.com>
20103
3bca17dd
PK
20104 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
20105 (parmlist_or_identifiers_1): Verify that only a parmlist follows
20106 an attribute.
709619d9 20107
3d709fd3
RH
201082002-01-23 Richard Henderson <rth@redhat.com>
20109
20110 * expr.c (move_by_pieces_1): Extend size before negation.
20111
88a446c0
RH
20112 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
20113 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
20114 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
20115 * config/m68k/t-m68kelf: Likewise.
20116
03984308
BW
201172002-01-23 Bob Wilson <bob.wilson@acm.org>
20118
20119 * config/xtensa/elf.h: New file.
20120 * config/xtensa/lib1funcs.asm: New file.
20121 * config/xtensa/lib2funcs.S: New file.
20122 * config/xtensa/linux.h: New file.
20123 * config/xtensa/t-xtensa: New file.
20124 * config/xtensa/xtensa-config.h: New file.
20125 * config/xtensa/xtensa-protos.h: New file.
20126 * config/xtensa/xtensa.c: New file.
20127 * config/xtensa/xtensa.h: New file.
20128 * config/xtensa/xtensa.md: New file.
20129 * config.gcc (xtensa-*-elf*): New target.
20130 (xtensa-*-linux*): New target.
20131 * cse.c (canon_hash): Compare rtx pointers instead of register
20132 numbers. This is required for the Xtensa port.
20133 * integrate.c (copy_insn_list): Handle case where the static
20134 chain is in memory and the memory address has to be copied to
20135 a register.
20136 * doc/invoke.texi (Option Summary): Add Xtensa options.
20137 (Xtensa Options): New node.
20138 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
20139
c3d5c3fa
ZW
201402002-01-23 Zack Weinberg <zack@codesourcery.com>
20141
a63bea75
ZW
20142 * diagnostic.c (internal_error): Do ICE suppression only
20143 when ENABLE_CHECKING is not defined.
20144
c3d5c3fa
ZW
20145 * c-typeck.c (require_complete_type): Return error_mark_node
20146 if type is error_mark_node.
20147
1398974c
JJ
201482002-01-23 Janis Johnson <janis187@us.ibm.com>
20149
20150 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
20151 -Os and issue a warning.
20152
807633e5
ZW
201532002-01-23 Zack Weinberg <zack@codesourcery.com>
20154
20155 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
20156 current (lack of) need for host configuration by hand.
20157
20158 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
20159 references. Documentation of some target macros moved from
20160 hostconfig.texi to tm.texi.
20161
cf8002d0
WC
201622002-01-23 Will Cohen <wcohen@redhat.com>
20163
20164 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
20165 defined.
20166
d1e76310
KH
201672002-01-23 Kazu Hirata <kazu@hxi.com>
20168
20169 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
20170 operand[3].
20171
b2115575
JM
201722002-01-23 Jason Merrill <jason@redhat.com>
20173
f893c16e
JM
20174 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
20175
b2115575
JM
20176 * function.c (assign_parms): Don't put args of inline functions
20177 into registers when not optimizing.
20178
6bacc7b0
NC
201792002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
20180
20181 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
20182 (prologue_use): New pattern.
20183 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
20184 preference to gen_rtx_USE.
20185 (thumb_expand_prologue): Use gen_prologue_use in preference to
20186 gen_rtx_USE.
20187 (thumb_expand_epilogue): Use gen_prologue_use in preference to
20188 gen_rtx_USE.
20189
a415f7bc
HPN
201902002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
20191
20192 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
20193
5372b3fb
NB
201942002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
20195
20196 PR c/3504
20197 * doc/extend.texi: Correct documentation of __alignof__.
20198
bd571ffc
ZW
201992002-01-22 Zack Weinberg <zack@codesourcery.com>
20200
20201 * params.h: Rename arguments of DEFPARAM so that it will be
20202 recognized as a translation keyword.
20203
333c8841
AH
202042002-01-22 Aldy Hernandez <aldyh@redhat.com>
20205
bd571ffc
ZW
20206 * extend.texi: Document altivec functions.
20207 Fix N-bit adjectives in X86 builtin documentation.
333c8841 20208
38979c65
AO
202092002-01-22 Alexandre Oliva <aoliva@redhat.com>
20210
20211 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
20212 auto_inc_dec values.
20213
7458a9f0
RE
202142002-01-22 Richard Earnshaw <rearnsha@arm.com>
20215
20216 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
20217 after backslash.
20218 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
20219
129bd0c4
AO
202202002-01-22 Alexandre Oliva <aoliva@redhat.com>
20221
20222 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
20223
8b9b74a9
RH
202242002-01-22 Richard Henderson <rth@redhat.com>
20225
20226 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
20227 copy_insn not copy_rtx.
20228
d0c9db30
AM
202292002-01-23 Alan Modra <amodra@bigpond.net.au>
20230
20231 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
20232 "nonzero" as that might add "1" bits. Ensure "constop" is
20233 properly sign extened.
20234 (force_to_mode): Tweak for sign extended constop.
20235
1e7e480e
RH
202362002-01-22 Richard Henderson <rth@redhat.com>
20237
20238 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
20239 for_each_rtx instead of assuming we're already looking at the MEM.
20240 (split_small_symbolic_mem_operand): Likewise.
20241 * config/alpha/alpha.h (PREDICATE_CODES): Update.
20242 * config/alpha/alpha.md (small symbolic memory splitters): Update.
20243
202442002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
20245
20246 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
20247 sequence number for the literal.
20248 (divmoddi_internal_er): Likewise.
20249
b7f2fb96
CR
202502002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
20251
20252 PR java/4972
20253 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
20254 in LIBICONV variable.
20255 * configure: Regenerated.
20256
f66a0046
KW
202572002-01-22 Krister Walfridsson <cato@df.lth.se>
20258
20259 * dependence.c (build_def_use): Remove array_idx.
20260
e3b0efd1
KW
20261 * dwarfout.c (last_filename): Remove.
20262 (output_compile_unit_die): Remove last_filename.
20263
d8086cbb
RS
202642002-01-22 Roger Sayle <roger@eyesopen.com>
20265 Richard Henderson <rth@redhat.com>
20266
20267 PR opt/3640
20268 * fold-const.c (fold): Optimize unsigned comparisons against
20269 UINT_MAX (and similar unsigned constants).
20270
e8d52ba0
JJ
202712002-01-22 Janis Johnson <janis187@us.ibm.com>
20272
d8086cbb 20273 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 20274 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 20275 against the predicate.
11303d15 20276
e8d52ba0
JJ
20277 PR target/5379
20278 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
20279 for the address operand.
20280
cc7b420e
RH
202812002-01-22 Richard Henderson <rth@redhat.com>
20282
20283 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
20284
816e265a
CR
202852002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
20286
20287 PR other/5450
cc7b420e
RH
20288 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
20289 preprocessor flags.
816e265a 20290
7c884404
JT
202912002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
20292
20293 * config.gcc (x86_64-*-netbsd*): New target.
20294 * config/i386/netbsd64.h: New file.
20295
2b672c08
AH
202962002-01-22 Aldy Hernandez <aldyh@redhat.com>
20297
d8086cbb 20298 * regrename.c (kill_value): Fix typo.
2b672c08
AH
20299
203002002-01-22 Aldy Hernandez <aldyh@redhat.com>
20301
d8086cbb 20302 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 20303
d8086cbb 20304 * config/rs6000/rs6000.h: Same.
2b672c08 20305
d8086cbb
RS
20306 * function.c (instantiate_virtual_regs): Remove
20307 STARTING_FRAME_PHASE.
20308 (assign_stack_local_1): Same.
20309 Calculate frame phase.
2b672c08 20310
4b02997f
NC
203112002-01-22 Nick Clifton <nickc@redhat.com>
20312
20313 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
20314 variable declaration to outer scope in order to simplify
20315 future extensions.
20316 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
20317 arm_hard_regno_mode_ok.
20318 * config/arm/arm-protos.h: Add a prototype for
20319 arm_hard_regno_mode_ok.
20320 * config/arm/arm.c (soft_df_operand): Remove now redundant
20321 check for DImode values using IP_REGNUM.
20322 (nonimmediate_soft_df_operand): Remove now redundant check for
20323 DImode values using IP_REGNUM.
20324 (arm_hard_regno_mode_ok): New function. New check: make sure
20325 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
20326
20327 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
20328 note with a USE.
20329 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
20330
8a827ab2
JM
203312002-01-22 Jason Merrill <jason@redhat.com>
20332
20333 * c-semantics.c (genrtl_compound_stmt): Only check nesting
20334 consistency if this COMPOUND_STMT is scoped.
20335
cf403648
KH
203362002-01-22 Kazu Hirata <kazu@hxi.com>
20337
20338 * predict.c: Fix formatting.
20339 * print-tree.c: Likewise.
20340 * protoize.c: Likewise.
20341 * real.h: Likewise.
20342 * rtl.h: Likewise.
20343 * sbitmap.h: Likewise.
20344 * scan.c: Likewise.
20345 * sched-deps.c: Likewise.
20346 * sched-vis.c: Likewise.
20347 * sdbout.c: Likewise.
20348 * sibcall.c: Likewise.
20349 * ssa.c: Likewise.
20350 * ssa-ccp.c: Likewise.
20351 * ssa-dce.c: Likewise.
20352 * stmt.c: Likewise.
20353 * stor-layout.c: Likewise.
20354 * system.h: Likewise.
20355
aea9695c
RK
20356Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20357
a8765ae7
RK
20358 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
20359 if fits in bounds of base type.
20360
aea9695c
RK
20361 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
20362 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
20363 (add_bound_info, default): If can't find a context, make a
20364 SAVE_EXPR.
20365 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
20366
58bf601b
HPN
203672002-01-22 Hans-Peter Nilsson <hp@axis.com>
20368
20369 * c-typeck.c (parser_build_binary_op): If result from
20370 build_binary_op is ERROR_MARK just return error_mark_node without
20371 further processing.
20372
f982f805
JT
203732002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
20374
20375 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
20376 Split a.out-specific bits into...
20377 * config/netbsd-aout.h: ...this.
20378 * config/netbsd-elf.h: New file.
20379 * config/alpha/netbsd-elf.h: Remove.
20380 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
20381 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 20382 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
20383 (ENDFILE_SPEC): Likewise.
20384 (LINK_SPEC): Likewise.
20385 (CPP_SPEC): Likewise.
20386 (ASM_SPEC): Likewise.
20387 (LIB_SPEC): Likewise.
20388 (SWITCH_TAKES_ARG): Likewise.
20389 (TARGET_MEM_FUNCTIONS): Likewise.
20390 (CPP_PREDEFINES): Redefine.
20391 (ASM_FINAL_SPEC): Remove redefinition.
20392 (ASM_COMMENT_START): Redefine.
20393 (FUNCTION_PROFILER): Define.
20394 (TARGET_VERSION): Redefine.
20395 Comment and formatting cleanup.
20396 * config/i386/netbsd.h: Include <netbsd-aout.h>.
20397 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
20398 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
20399 big- or little-endian.
20400 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
20401 * config.gcc (*-*-netbsd*): Add definitions common to all
20402 NetBSD configs.
20403 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
20404 gnu_ld definitions. Add netbsd-elf.h to and remove
20405 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
20406 tmake_file, and don't lose previous tmake_file contents.
20407 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
20408 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
20409 gnu_ld definitions. Add netbsd-elf.h to tm_file.
20410 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
20411 (mipsel-*-netbsd*): Rename this to...
20412 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
20413 mips/little.h to tm_file for mips*el-*.
20414 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
20415 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
20416 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
20417
2e396476
JDA
204182002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
20419
20420 * pa-protos.h (reg_before_reload_operand): New function prototype.
20421 * pa.c (reg_before_reload_operand): New function implementation.
20422 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
20423 contraints to "*m".
20424
3b5708e7
FS
204252002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
20426
20427 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
20428
85e79f96
JDA
204292002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
20430
20431 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
20432 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
20433 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
20434 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
20435 (ENDFILE_SPEC): Undefine.
20436 (STARTFILE_SPEC): Redefine for PA.
20437
38abadee
FS
204382002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
20439
20440 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
20441
94f1d97c
DJ
204422002-01-21 Daniel Jacobowitz <drow@mvista.com>
20443
20444 * config.gcc: Add entries to supported PowerPC --with-cpu
20445 types.
20446
0333394e
JJ
204472002-01-21 Jakub Jelinek <jakub@redhat.com>
20448
20449 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
20450 true for 64-bit mode only SSE registers in 32-bit mode.
20451
e9d1b155
KH
204522002-01-21 Kazu Hirata <kazu@hxi.com>
20453
20454 * unwind-dw2.c: Fix formatting.
20455 * unwind-dw2-fde.c: Likewise.
20456 * unwind-dw2-fde.h: Likewise.
20457 * unwind-pe.h: Likewise.
20458 * varasm.c: Likewise.
20459 * varray.h: Likewise.
20460
07338cf8
HPN
204612002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
20462
20463 Remove workaround for register stack overwrite bug in mmix.
20464 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
20465 support for TARGET_REG_STACK_FILL_BUG.
20466 * config/mmix/mmix.h: Remove member has_call_without_parameters.
20467 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
20468 Delete.
20469 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
20470 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
20471 -mno-reg-stack-fill-bug-workaround.
20472 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
20473 machine member has_call_without_parameters.
20474 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
20475 -mreg-stack-fill-bug-workaround and
20476 -mno-reg-stack-fill-bug-workaround.
20477 (MMIX Options): Ditto.
20478
7192cbf1
KH
204792002-01-21 Kazu Hirata <kazu@hxi.com>
20480
20481 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
20482 as appropriate.
20483 Remove redundant code.
20484
d1552d7b
JM
204852002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
20486
20487 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
20488 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
20489 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
20490 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
20491 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
20492 out target macro definitions and non-target-specific comments
20493 mostly taken from old versions of the manual.
20494
ed168e45
KH
204952002-01-20 Kazu Hirata <kazu@hxi.com>
20496
20497 * config/h8300/h8300.h: Fix comment formatting.
20498 * config/ia64/aix.h: Likewise.
20499 * config/ia64/ia64-protos.h: Likewise.
20500 * config/ia64/ia64.c: Likewise.
20501 * config/ia64/ia64.h: Likewise.
20502 * config/ia64/ia64intrin.h: Likewise.
20503 * config/ia64/linux.h: Likewise.
20504 * config/ia64/unwind-aix.c: Likewise.
20505 * config/ia64/unwind-ia64.c: Likewise.
20506
005e3e05
KH
205072002-01-20 Kazu Hirata <kazu@hxi.com>
20508
20509 * config/h8300/h8300.c: Revise comments about shift code.
20510
64bead4c
KH
205112002-01-20 Kazu Hirata <kazu@hxi.com>
20512
20513 * config/h8300/h8300.c (function_arg): Update a comment.
20514
ed863595
KH
205152002-01-20 Kazu Hirata <kazu@hxi.com>
20516
20517 * config/h8300/h8300.md: Update the comments at the beginning
20518 of the file.
20519
5904dc87
KH
205202002-01-20 Kazu Hirata <kazu@hxi.com>
20521
20522 * config/i370/i370.c: Fix comment formatting.
20523 * config/i370/i370.h: Likewise.
20524 * config/i370/i370.md: Likewise.
20525 * config/i370/linux.h: Likewise.
20526
9702143f
RK
20527Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20528
cbafacd1
RK
20529 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
20530
9702143f
RK
20531 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
20532 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
20533 in incomplete case.
20534
6b6996b8
GS
205352002-01-20 Graham Stott <grahams@redhat.com>
20536
20537 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
20538
eab854f6
JDA
205392002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
20540
20541 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
20542
5b029315
TR
205432002-01-19 Tom Rix <trix@redhat.com>
20544
20545 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
20546
1d690052
AH
205472002-01-18 Aldy Hernandez <aldyh@redhat.com>
20548
d8086cbb 20549 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 20550
d8086cbb
RS
20551 * function.c (assign_stack_local_1): Adjust x_frame_offset with
20552 STARTING_FRAME_PHASE.
20553 (STARTING_FRAME_PHASE): New.
20554 (instantiate_virtual_regs): Check saneness of
20555 STARTING_FRAME_PHASE.
1d690052 20556
d8086cbb 20557 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 20558
4dd8c093
AO
205592002-01-19 Alexandre Oliva <aoliva@redhat.com>
20560
20561 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
20562
6f2a28d7
CR
205632002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
20564
20565 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
20566 be used for bootstrapping GCC 3.0.
20567
8763a465
KH
205682002-01-18 Kazu Hirata <kazu@hxi.com>
20569
20570 * config/h8300/h8300.md: Fix an insn length.
20571
3ef42a0c
KH
205722002-01-18 Kazu Hirata <kazu@hxi.com>
20573
20574 * bitmap.h: Fix comment formatting.
20575 * combine.c: Likewise.
20576 * cppfiles.c: Likewise.
20577 * c-pragma.h: Likewise.
20578 * c-typeck.c: Likewise.
20579 * df.c: Likewise.
20580 * dwarf2out.c: Likewise.
20581 * function.c: Likewise.
20582 * gcc.c: Likewise.
20583 * genattrtab.c: Likewise.
20584 * gthr-win32.h: Likewise.
20585 * haifa-sched.c: Likewise.
20586 * predict.c: Likewise.
20587 * rtlanal.c: Likewise.
20588 * rtl.h: Likewise.
20589 * unwind-dw2-fde.h: Likewise.
20590 * unwind-pe.h: Likewise.
20591 * vmsdbgout.c: Likewise.
20592
dd4dc3cd
RK
20593Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20594
20595 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
20596 if type_required and passed decl.
20597
5fb4cf24
AH
205982002-01-17 Aldy Hernandez <aldyh@redhat.com>
20599
d8086cbb
RS
20600 * config.gcc (cpu_type): Include altivec.h in powerpc
20601 extra_headers.
20602 Same for darwin.
5fb4cf24 20603
d8086cbb 20604 * config/rs6000/altivec.h: New.
5fb4cf24 20605
2705baf5
DE
206062002-01-17 David Edelsohn <edelsohn@gnu.org>
20607
20608 * doc/install.texi (*-ibm-aix*): Update assembler and exception
20609 handling information.
20610 * doc/trouble.texi (Interoperation): Add libstdc++ information
20611 for AIX.
20612 (Misunderstandings): Add template instantiation and static template
20613 member information for AIX.
20614
dbd680e1
JM
206152002-01-17 Jason Merrill <jason@redhat.com>
20616
821adc5e
JM
20617 * dbxout.c (dbxout_type): Support const and volatile.
20618
dbd680e1
JM
20619 * except.c (add_partial_entry): Remove backwards compatibility code.
20620 (end_protect_partials): Likewise.
20621
d0e82870
JJ
206222002-01-17 Jakub Jelinek <jakub@redhat.com>
20623
20624 * config/ia64/ia64.md (prologue_use): New.
20625 * config/ia64/ia64.c (ia64_expand_prologue): Use
20626 gen_prologue_use instead of gen_rtx_USE.
20627 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
20628 as CODE_FOR_pred_rel_mutex.
20629 (ia64_sched_reorder2): Likewise.
20630
f9f45c65
EC
206312002-01-16 Eric Christopher <echristo@redhat.com>
20632
20633 * config/mips/r3900.h: Reformat.
20634 (SUBTARGET_CPP_SIZE_SPEC): Remove.
20635 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
20636 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
20637 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
20638 * config/mips/t-elf: Remove mips3 multilib.
20639
c66c8b0e
L
206402002-01-16 H.J. Lu <hjl@gnu.org>
20641
20642 * config/mips/linux.h: Include "mips/abi64.h".
20643
5f083b72
L
206442002-01-16 H.J. Lu <hjl@gnu.org>
20645
20646 * config/mips/t-linux: New.
20647
20648 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
20649
20650 * config/mips/linux.h: Don't include "gofast.h".
20651 (INIT_SUBTARGET_OPTABS): Removed.
20652
af3c90a6
KH
206532002-01-16 Kazu Hirata <kazu@hxi.com>
20654
20655 * config/h8300/h8300-protos.h: Replace emit_a_shift with
20656 output_a_shift.
20657 * config/h8300/h8300.c: Likewise.
20658 * config/h8300/h8300.md: Likewise.
20659
a1bf0a16
KH
206602002-01-16 Kazu Hirata <kazu@hxi.com>
20661
20662 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
20663 spaces after an opcode name.
20664 (pushqi1_h8300hs): Likewise.
20665 (pushhi1_h8300hs): Likewise.
20666
88ab0d1c
KH
206672002-01-16 Kazu Hirata <kazu@hxi.com>
20668
20669 * doc/extend.texi: Replace "option" with "attribute"
20670 appropriately.
20671
51c561e3
JJ
206722002-01-16 Jakub Jelinek <jakub@redhat.com>
20673
20674 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
20675 (and:DI () (const_int -8)).
20676 (split_small_symbolic_mem_operand): Split
20677 (mem (and:DI () (const_int -8)).
20678
b8c1a6b8
JJ
206792002-01-16 Jakub Jelinek <jakub@redhat.com>
20680
20681 PR target/5309:
d8086cbb 20682 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
20683 same way as TYPE_IMUL.
20684 (ultrasparc_sched_reorder): Likewise.
20685 * config/sparc/sparc.md (type): Add comment to update
20686 ultrasparc_sched_reorder when making changes.
20687
1e4e4df2
KH
206882002-01-16 Kazu Hirata <kazu@hxi.com>
20689
20690 * doc/invoke.texi: Change the dump file name of block
20691 reordering pass from 28.bbro to 29.bbro.
20692 Mention -dk option.
20693
14d920c0
JH
20694Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
20695
20696 * i386.md (minsf splitter): Fix pasto.
20697
2e99323f
NC
206982002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
20699
20700 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
20701 to frame pointer initialisation instruction.
20702 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
20703 initialisation instruction.
ab8081c1
NC
20704 (soft_df_operand): Do not accept the IP register.
20705 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 20706
c4031a04
JJ
207072002-01-16 Jakub Jelinek <jakub@redhat.com>
20708
20709 PR target/5357:
20710 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
20711 MASK_V8 being both set.
20712
44b8152b
UW
207132002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
20714
20715 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
20716 insn for GOT register; add REG_MAYBE_DEAD notes instead.
20717 config/s390/s390.md (call, call_value): Add GOT register to
20718 CALL_INSN_FUNCTION_USAGE where needed.
20719 (call_exp, call_value_exp): New.
20720
1d6e90ac
NC
207212002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
20722
20723 * config/arm/arm.c: General formatting tidy up.
20724
207252002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
20726
20727 * calls.c (try_to_integrate): Use "(size_t)" intermediate
20728 cast and when casting an integer literal to "rtx" pointer.
20729 (expand_call): Likewise.
20730 * flow.c (try_pre_increment): Likewise.
20731 (find_use_as_address): Likewise.
20732 * integrate.c (expand_iline_function): Likewise.
20733 * regmove.c (try_auto_increment): Likewise.
20734
1d6e90ac 207352002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
20736
20737 * sched-rgn.c (passed): Use sbitmap_free.
20738 (header): Likewise.
20739 (inner): Likewise.
20740 (in_queue): Likewise.
20741 (in_stack): Likewise.
20742
31fce3c4
EC
207432002-01-15 Eric Christopher <echristo@redhat.com>
20744
20745 * flow.c (propagate_one_insn): Change to use fatal_insn.
20746
c99d986a
KH
207472002-01-15 Kazu Hirata <kazu@hxi.com>
20748
20749 * expmed.c (extract_fixed_bit_field): Remove unused code.
20750 * system.h: Poison SLOW_ZERO_EXTEND.
20751 * doc/tm.texi: Remove.
20752 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
20753 * config/arm/arm.h: Likewise.
20754 * config/avr/avr.h: Likewise.
20755 * config/clipper/clipper.h: Likewise.
20756 * config/convex/convex.h: Likewise.
20757 * config/d30v/d30v.h: Likewise.
20758 * config/dsp16xx/dsp16xx.h: Likewise.
20759 * config/elxsi/elxsi.h: Likewise.
20760 * config/fr30/fr30.h: Likewise.
20761 * config/h8300/h8300.h: Likewise.
20762 * config/i370/i370.h: Likewise.
20763 * config/i386/i386.h: Likewise.
20764 * config/m68k/m68k.h: Likewise.
20765 * config/mips/mips.h: Likewise.
20766 * config/ns32k/ns32k.h: Likewise.
20767 * config/pdp11/pdp11.h: Likewise.
20768 * config/pj/pj.h: Likewise.
20769 * config/s390/s390.h: Likewise.
20770 * config/sh/sh.h: Likewise.
20771 * config/stormy16/stormy16.h: Likewise.
20772 * config/v850/v850.h: Likewise.
20773 * config/vax/vax.h: Likewise.
20774 * config/we32k/we32k.h: Likewise.
20775
acfab996
AH
207762002-01-15 Aldy Hernandez <aldyh@redhat.com>
20777
d8086cbb
RS
20778 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
20779 (altivec_lvsl): Change constraint to b.
20780 (altivec_lvsr): Same.
20781 (altivec_lvebx): Same.
20782 (altivec_lvehx): Same.
20783 (altivec_lvewx): Same.
20784 (altivec_lvxl): Same.
20785 (altivec_lvx): Same.
20786 (altivec_stvx): Add parallel.
20787 (altivec_stvxl): Same.
20788 (altivec_stvehx): Same.
20789 (altivec_stvebx): Same.
20790 (altivec_stvebx): Same.
acfab996 20791
5e505bc9
AH
207922002-01-15 Aldy Hernandez <aldyh@redhat.com>
20793
d8086cbb 20794 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 20795
d8086cbb 20796 * config/rs6000/altivec.h: Delete.
5e505bc9 20797
d8086cbb 20798 * config/rs6000/altivec-defs.h: Add.
5e505bc9 20799
5c41fdfb
JDA
208002002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
20801
20802 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
20803 and UMOD modes.
20804
20805 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
20806 less than or equal to eight bytes.
20807
20808 * vax.md (andsi3): Remove constraints and change SET destination
20809 operand type to nonimmediate_operand.
20810 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
20811 when it is a CONST_INT.
20812
de097a2d
JM
208132002-01-15 Jason Merrill <jason@redhat.com>
20814
20815 * c-common.def (FILE_STMT): New code.
20816 * c-common.c (statement_code_p): It's a statement.
20817 * c-common.h (stmt_tree_s): Add x_last_filename.
20818 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
20819 (last_expr_filename): New macro.
20820 * c-semantics.c (begin_stmt_tree): Initialize it.
20821 (add_stmt): If the filename changed, also insert a
20822 FILE_STMT.
20823 (expand_stmt): Handle seeing one.
20824
4a913dd6
EC
208252002-01-15 Eric Christopher <echristo@redhat.com>
20826
20827 * flow.c (propagate_one_insn): Add error message and print out
20828 insn for debugging.
20829
006946e4
JM
208302002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
20831
20832 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
20833 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
20834 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
20835 TRAMPOLINE_ALIGNMENT.
20836 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
20837 to be in bits.
20838 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
20839 PCC_BITFIELD_TYPE_MATTERS.
20840 * config/interix.h (STDC_VALUE): Remove. Use
20841 STDC_0_IN_SYSTEM_HEADERS.
20842 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
20843 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
20844 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
20845
751a1458
CR
208462002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
20847
20848 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
20849 not work on this platform currently.
20850
57771fe8
JM
208512002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
20852
20853 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
20854 readonly_warning in _().
20855
0e83ceb1 208562002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 20857
0e83ceb1 20858 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 20859
8e2e89f7
KH
208602002-01-15 Kazu Hirata <kazu@hxi.com>
20861
0e83ceb1
DR
20862 * config/h8300/h8300.c (print_operand): Remove support for
20863 unused operand characters.
20864
8e2e89f7
KH
20865 * read-rtl.c: Fix formatting.
20866 * real.c: Likewise.
20867 * recog.c: Likewise.
20868 * regclass.c: Likewise.
20869 * regmove.c: Likewise.
20870 * reg-stack.c: Likewise.
20871 * reload1.c: Likewise.
20872 * rtlanal.c: Likewise.
20873
b531087a
KH
208742002-01-15 Kazu Hirata <kazu@hxi.com>
20875
20876 * config/i386/i386.c: Fix formatting.
20877
7c94ce7f
JJ
208782002-01-15 Jakub Jelinek <jakub@redhat.com>
20879
20880 * c-typeck.c (process_init_element): Don't save_expr
20881 COMPOUND_LITERAL_EXPR if just its initializer will be used.
20882
6041bf2f
DE
208832002-01-15 David Edelsohn <edelsohn@gnu.org>
20884
20885 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
20886 emit optional traceback table if optimize_size or TARGET_ELF.
20887 * config/rs6000/rs6000.md (prefetch): New.
20888
8559c8c0
AJ
208892002-01-15 Andreas Jaeger <aj@suse.de>
20890
20891 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
20892
70f122f2
KH
208932002-01-15 Kazu Hirata <kazu@hxi.com>
20894
20895 * mips-tfile.c: Fix formatting.
20896
6a7b4ca6
JH
20897Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
20898
20899 * unroll.c (final_reg_note_copy): Fix previous commit.
20900
e7afe229
KH
209012002-01-14 Kazu Hirata <kazu@hxi.com>
20902
20903 * config/h8300/h8300-protos.h: Remove the prototype for
20904 eq_operator.
20905 * config/h8300/h8300.c (eq_operator): Remove.
20906
7d378549
RH
209072002-01-14 Richard Henderson <rth@redhat.com>
20908
20909 * config/i386/i386.md (prefetch): Tidy.
20910 (prefetch_3dnow): Fix locality operand.
20911
ab093b81
RH
209122002-01-14 Richard Henderson <rth@redhat.com>
20913
20914 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
20915 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
20916
d300f51f
HPN
209172002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
20918
20919 * reload1.c (reload_combine): Pass reg_sum replacement through
20920 copy_rtx in loop performing multiple changes.
20921
655dd289
JJ
209222002-01-14 Jakub Jelinek <jakub@redhat.com>
20923
20924 * except.c (remove_unreachable_regions): New.
20925 (free_eh_status): Clear exception_handler_labels.
20926 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
20927 (find_exception_handler_labels): Don't add the same label more than
20928 once.
20929 (remove_exception_handler_label): Don't die if
20930 find_exception_handler_labels hasn't been called for the current
20931 function yet.
20932
1fba46a7
JH
20933Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
20934
20935 * toplev.c (rest_of_compilation): Rebuild jump labels after
20936 gcse.
20937
0975678f
JM
209382002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
20939
20940 * doc/extend.texi: Move documentation of X86 built-in functions
20941 here.
20942 * doc/invoke.texi: From here.
20943 * doc/sourcebuild.texi: Document location of documentation for
20944 machine built-in functions.
20945
969815c7
CF
209462002-01-13 Christopher Faylor <cgf@redhat.com>
20947
20948 * cppfiles.c (TEST_THRESHOLD): New macro.
20949 (SHOULD_MMAP): Ditto.
20950 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
20951 be used.
20952
494c950b
JH
20953Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
20954
20955 * unroll.c (final_reg_note_copy): Properly handle
20956 REG_LABEL
20957 (unroll_loops): Fix LOOP_CONDITION heuristics.
20958
69a0611f
GK
209592002-01-14 Geoffrey Keating <geoffk@redhat.com>
20960
20961 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
20962 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
20963
b90e45ae
JH
20964Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
20965
20966 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
20967 threaded loop.
20968
8377288b
TR
209692002-01-14 Tom Rix <trix@redhat.com>
20970
20971 * config/rs6000/rs6000.md: Fix typo with sradi.
20972
9f37ccb1
UW
209732002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
20974
20975 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
20976 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
20977 (clrstrdi, clrstrsi): Adapt callers.
20978
20979 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
20980
8559c8c0 20981 (movti splitter): Never use register 0 as base register.
9f37ccb1 20982
6c2d03d0
HP
209832002-01-14 Hartmut Penner <hpenner@de.ibm.com>
20984
8559c8c0
AJ
20985 * combine.c (simplify_shift_const): Always generate new rtx
20986 for shift expression instead of reusing given expression.
6c2d03d0 20987
d3e98208
RK
20988Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20989
20990 * config/alpha/alpha.c (alpha_expand_mov): Don't call
20991 alpha_legitimize_address unless mode is Pmode.
20992
9f339dde
GK
209932002-01-13 Geoffrey Keating <geoffk@redhat.com>
20994
20995 * doc/md.texi (Modifiers): Document the '*' constraint for the
20996 user.
20997
20998 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
20999 * doc/extend.texi (Function Attributes): 'interrupt' is valid
21000 for xstormy16 too.
21001
02a10130
RH
210022002-01-13 Richard Henderson <rth@redhat.com>
21003
21004 * reload.c (find_reloads): Use a hard reg destination as reload reg
21005 for an input reload of the source.
21006
61d47787
GP
210072002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
21008
21009 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
21010 more generic.
21011
f0df8029
DR
21012Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
21013
21014 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
21015 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
21016
d2a37256
DR
21017 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
21018
a9e8a5ee
RK
21019Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21020
21021 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
21022
bc06712d
TR
210232002-01-12 Tom Rix <trix@redhat.com>
21024
8559c8c0 21025 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
21026 TARGET_POWERPC64.
21027
7cbe9bb7
RH
210282002-01-12 Richard Henderson <rth@redhat.com>
21029
38b29e64
RH
21030 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
21031
58605ba0
RH
21032 * doc/invoke.texi: Update Alpha options.
21033
7cbe9bb7
RH
21034 * doc/invoke.texi: Update i386 built-in function lists.
21035
9d560860
JH
21036Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
21037
21038 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
21039 referencing outside.
21040
bb93b973
RK
21041Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21042
21043 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
21044 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
21045 offsets, and change line folding.
21046 * optabs.c (expand_binop): Remove warnings.
21047 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 21048
f9f6b7df
GS
210492002-01-12 Graham Stott <grahams@redhat.com>
21050
21051 * attribs.c (handle_deprecated_attribute): constify WHAT.
21052 * diagnostic.c (warn_deprecated_use): Add braces, fixes
21053 dangling else warning and constify WHAT.
21054 * except.h (struct function, struct inline_remap): Move
21055 struct tag forward defs before all prototypes.
21056 (duplicate_eh_regions): Whitespace.
21057
4a692617
NC
210582002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
21059
21060 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
21061 MODE_BASE_REG_CLASS.
21062 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
21063
e37af218
RH
210642002-01-12 Richard Henderson <rth@redhat.com>
21065
21066 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
21067 (ix86_expand_vector_move): New.
21068 (bdesc_2arg): Remove andps, andnps, orps, xorps.
21069 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
21070 Remove old prefetch builtins. Special case the logicals removed above.
21071 (ix86_expand_builtin): Likewise.
21072 (safe_vector_operand): Use V4SFmode, not TImode.
21073 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
21074 (ix86_expand_timode_binop_builtin): New.
21075 * config/i386/i386-protos.h: Update.
21076 * config/i386/i386.h (enum ix86_builtins): Update.
21077 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
21078 Use ix86_expand_vector_move in vector move expanders.
21079 (movti_internal, movti_rex64): Add xorps alternative.
21080 (sse_clrv4sf): Rename and adjust from sse_clrti.
21081 (prefetch): Don't work so hard.
21082 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
21083 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
21084 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
21085
6f1a6c5b
RH
210862002-01-11 Richard Henderson <rth@redhat.com>
21087
21088 * config/i386/mmintrin.h: New file.
21089 * config/i386/xmmintrin.h: New file.
21090 * config.gcc (i?86-*-*): Add extra_headers.
21091 * simplify-rtx.c (simplify_unary_operation): Handle saturating
21092 truncation codes.
21093 (simplify_binary_operation): Handle saturating arithmetic codes.
21094 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
21095 not the lowpart subreg.
21096 (ix86_expand_builtin): Return a TImode dummy register instead of 0
21097 on error.
21098 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
21099
cdb574d3
MH
211002002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
21101
21102 * conflict.c (conflict_graph_compute): Free regsets when finished.
21103 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 21104
cf11ac55
HB
211052002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
21106
21107 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
21108 every where we allocate a register.
21109
76ac938b
MH
211102002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
21111
21112 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
21113 * lcm.c (compute_earliest, compute_farthest): Likewise.
21114
a84b4898
JJ
211152002-01-11 Janis Johnson <janis187@us.ibm.com>
21116
21117 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
21118
aaef1c12
JJ
211192002-01-11 Janis Johnson <janis187@us.ibm.com>
21120
21121 * doc/rtl.texi (Insns): Fix 2 typos.
21122
5d22c1a5
JM
211232002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
21124
21125 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
21126 options. Use @table @gcctabopt for MMIX options. Add index
21127 entries for MMIX options. Start new paragraph with first
21128 heading of the machine-dependent options.
21129
3e92902c
CR
211302002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
21131
21132 PR other/5299
21133 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
21134 * combine.c (force_to_mode): Same.
21135 * reload1.c (clear_reload_reg_in_use): Same.
21136
96ae8197
NC
211372002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
21138
21139 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
21140 and 'subtargets'.
21141
9b780582
AJ
211422002-01-11 Andreas Jaeger <aj@suse.de>,
21143 Brad Lucier <lucier@math.purdue.edu>
21144
21145 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
21146 mcpu.
21147
12300dad
DR
21148Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
21149
21150 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
21151 Protect with IN_LIBGCC.
21152 (LINK_EH_SPEC): Add required trailing space.
21153
27511a9a
NP
21154Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
21155
9b780582 21156 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
21157 under the filename which contains them.
21158 (check_identifier, finish_decl_top_level,
21159 lookup_name_current_level_global, shadow_record_fields): Remove.
21160
4daeab16
AJ
211612002-01-11 Andreas Jaeger <aj@suse.de>
21162
21163 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
21164 march.
21165
40571d67
RH
211662002-01-10 Richard Henderson <rth@redhat.com>
21167
21168 * config/alpha/alpha.c (print_operand): Add 'J'.
21169 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
21170 new operand with the sequence number for the lituse. When splitting
21171 the insns, use gen_movdi_er_high_g and generate a sequence number.
21172 (gen_movdi_er_high_g): Print the sequence number if non-zero.
21173
6525c0e7
AH
211742002-01-10 Aldy Hernandez <aldyh@redhat.com>
21175
d8086cbb
RS
21176 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
21177 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
21178 stvxl.
21179 (altivec_expand_builtin): Same.
21180 (altivec_expand_stv_builtin): New.
21181
21182 * config/rs6000/rs6000.h (rs6000_builtins): Same.
21183
21184 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
21185 ("altivec_lvehx"): New.
21186 ("altivec_lvewx"): New.
21187 ("altivec_lvxl"): New.
21188 ("altivec_lvx"): New.
21189 ("altivec_stvx"): New.
21190 ("altivec_stvebx"): New.
21191 ("altivec_stvehx"): New.
21192 ("altivec_stvewx"): New.
21193 ("altivec_stvxl"): New.
6525c0e7 21194
cda94cbb
RH
211952002-01-10 Richard Henderson <rth@redhat.com>
21196
21197 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
21198 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
21199 care not to delete instructions twice.
21200
df2c9a44
ZW
212012002-01-10 Zack Weinberg <zack@codesourcery.com>
21202
21203 * toplev.c: Don't declare environ (it's not used anywhere).
21204 * configure.in: Don't check for declaration of environ.
21205 * config/i386/xm-mingw32.h: Don't #define environ.
21206 * config.in, configure: Regenerate.
21207
5dd8a9b1
ZW
212082002-01-10 Zack Weinberg <zack@codesourcery.com>
21209
21210 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
21211 * configure: Regenerate.
21212
21213 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
21214 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
21215 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
21216 alpha/xm-vms.h.
21217 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
21218 LIMITS_H_TEST here, not in m68k/x-next.
21219 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
21220 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
21221
21222 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
21223 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
21224 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
21225
21226 * config/i386/x-djgpp: Renamed i386/t-djgpp.
21227 * config/m88k/x-dolph: Renamed m88k/t-dolph.
21228 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
21229 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
21230 replacement of quadlib.asm with quadlib.c.
21231
21232 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
21233 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
21234 config/rs6000/xm-beos.h: Delete file.
21235
21236 * config.gcc: Update to match above changes.
21237
d10dd44c
KH
212382002-01-10 Kazu Hirata <kazu@hxi.com>
21239
21240 * config/h8300/h8300.h: Fix comment typos.
21241 * config/h8300/h8300.md: Likewise.
21242 * config/h8300/lib1funcs.asm: Likewise.
21243
04894c5a
DJ
212442002-01-10 Dale Johannesen <dalej@apple.com>
21245
21246 PR optimization/5269
21247 * unroll.c (precondition_loop_p): Make *increment be the correct
21248 sign when n_iterations known, to avoid confusing caller.
21249
adc9fe67
KH
212502002-01-10 Kazu Hirata <kazu@hxi.com>
21251
21252 * doc/extend.texi (deprecated): Fix a typo.
21253
b446e5a2
JH
21254Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
21255
21256 * basic-block.h (update_br_prob_note): Declare.
21257 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
21258 (try_forward_edges): Care negative frequencies and update note.
21259 (outgoing_edges_match): Tweek conditional merging heuristics.
21260 (try_crossjump_to_edge): use update_br_prob_note.
21261 * cfglayout.c (fixup_reorder_chain): Likewise.
21262 * cfrtl.c (update_br_prob_note): New.
21263 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
21264
21265 * i386.c (ix86_decompose_address): Return -1 if address contains
21266 shift.
21267 (legitimate_address_p): Require ix86_decompose_address to return 1.
21268
21269 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
21270 (cprop_insn): Likewise.
21271
a01da83b
KH
212722002-01-10 Kazu Hirata <kazu@hxi.com>
21273
21274 * toplev.c: Fix formatting.
21275 * tree.c: Likewise.
21276 * tree-dump.c: Likewise.
21277 * unroll.c: Likewise.
21278 * unwind-dw2.c: Likewise.
21279 * unwind-dw2-fde.c: Likewise.
21280 * unwind-dw2-fde-glibc.c: Likewise.
21281 * unwind-sjlj.c: Likewise.
21282
9f85bca7
JM
212832002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
21284
21285 * doc/invoke.texi: Document PDP-11 options.
21286
f48f56b1
KH
212872002-01-10 Kazu Hirata <kazu@hxi.com>
21288
21289 * config/h8300/h8300.h: Fix formatting.
21290
ead39bdf 212912002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
21292
21293 Add __attribute__ ((deprecated)).
21294 * extend.texi: Document __attribute__ ((deprecated)).
21295 * invoke.texi: Document -Wno-deprecated-declarations.
21296 * testsuite/g++.dg/other/deprecated.C: New C++ test.
21297 * testsuite/gcc.dg/deprecated.c: New C test.
21298 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
21299 (c_common_attribute_table): Add "deprecated" entry.
21300 (handle_deprecated_attribute): New function.
21301 * c-decl.c (deprecated_states): New enum.
21302 deprecated_state: State of "deprecated" handling.
21303 (start_decl): Set deprecated_state based on attributes.
21304 (grokdeclarator): Test for deprecated uses, propagate attribute.
21305 * c-typeck.c (build_component_ref): Test for deprecated fields.
21306 (build_external_ref): Test for deprecated primaries.
21307 * diagnostic.c (warn_deprecated_use) New function to issue
21308 warnings about __attribute__ ((depricated)) references.
21309 * flags.h (warn_deprecated_decl): Extern declared for
21310 -W[no-]deprecated-declarations option.
21311 * print-tree.c (print_node): Show deprecated flag status.
21312 * toplev.c (warn_deprecated_decl): Defined.
21313 (W_options): Added "deprecated-declaration".
21314 * toplev.h (warn_deprecated_use): Extern declared.
21315 * tree.h (struct tree_common): Define deprecated_flag.
21316 (TREE_DEPRECATED): New macro to access flag.
21317 * cp/call.c (build_call): Test for deprecated calls.
21318 * cp/class.c (add_implicitly_declared_members): Set global
21319 flag to tell grokdeclarator to not issue deprecated warnings.
21320 * cp/cp-tree.h: Add extern for adding_implicit_members.
21321 * cp/decl.c (deprecated_states): New enum.
21322 (start_decl): Set deprecated_state based on attributes.
21323 (grokdeclarator): Test for deprecated uses, propagate attribute.
21324 * cp/lex.c (do_identifier): Test for deprecated primaries.
21325 * cp/typeck.c (build_component_ref): Test for deprecated fields.
21326
ead39bdf 213272002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
21328
21329 Fix to assign attributes to inline member functions.
21330 * cp/decl.c (start_method): Handle attrlist.
21331
47073a38
KH
213322002-01-10 Kazu Hirata <kazu@hxi.com>
21333
21334 * combine.c (expand_field_assignment): Use subreg_lsb().
21335
d288e53d
DE
213362002-01-10 David Edelsohn <edelsohn@gnu.org>
21337
21338 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
21339 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
21340 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
21341 Recurse for any operand of AND as long as constant is non-zero.
21342
08a02ffa
KH
213432002-01-10 Kazu Hirata <kazu@hxi.com>
21344
21345 * config/h8300/h8300.md: Remove constraints from expanders.
21346
c203e7fe
KH
213472002-01-10 Kazu Hirata <kazu@hxi.com>
21348
21349 * varasm.c: Fix formatting.
21350 * varray.c: Likewise.
21351 * vmsdbgout.c: Likewise.
21352 * xcoffout.c: Likewise.
21353
bcb3bc6d
JH
21354Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
21355
21356 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 21357 update edge probabilities to match.
bcb3bc6d 21358
0a553c7e
JM
213592002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
21360
21361 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
21362 dependencies.
21363 * doc/languages.texi, doc/sourcebuild.texi: New files.
21364 * doc/configfiles.texi: Make a subsubsection. Update.
21365 * doc/configterms.texi: Add @node. Remove warning that this isn't
21366 instructions for building GCC.
21367 * doc/makefile.texi: Make a subsection.
21368 * doc/gccint.texi: Update.
21369
adc7fcb8
JH
21370Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
21371
21372 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
21373
5a4dd0b3
NP
21374Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
21375
21376 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
21377
3987b9db
JH
21378Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
21379
21380 * optabs.c (expand_fix): Look for wider integer modes first.
21381
21382 * i386.md (mov?f): Avoid the fake const double trick for medium
21383 memory model.
21384 (min?f*/max?f*): Prohibit memory operands for i387 variant.
21385 (fop_df_4): Disable for SSE compilation.
21386
ceb15948 213872002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
21388
21389 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 21390 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 21391
e1623399
RH
213922002-01-10 Richard Henderson <rth@redhat.com>
21393
21394 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
21395
c4abb293
RH
213962002-01-10 Richard Henderson <rth@redhat.com>
21397
21398 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
21399 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
21400
d2604ae9
KH
214012002-01-10 Kazu Hirata <kazu@hxi.com>
21402
21403 * combine.c (can_combine_p): Fix a comment typo.
21404
766c7ad1
ZW
214052002-01-09 Zack Weinberg <zack@codesourcery.com>
21406
21407 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
21408 empty list correctly. Change loop index $t to $f for
21409 consistency with rest of Makefile.
21410
95385cbb
AH
214112002-01-08 Aldy Hernandez <aldyh@redhat.com>
21412
21413 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
21414 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
21415
21416 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
21417 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
21418 (altivec_init_builtins): Same.
21419 (altivec_expand_unop_builtin): Return NULL_RTX on error.
21420 (altivec_expand_binop_builtin): Same.
21421 (altivec_expand_ternop_builtin): Same.
21422 (bdesc_dst): New.
21423
21424 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
21425 ("altivec_vctuxs"): Fix typo.
21426 ("altivec_vnmsubfp"): Same.
21427 ("altivec_dssall"): New.
21428 ("altivec_mfvscr"): New.
21429 ("altivec_dss"): New.
21430 ("altivec_lvsl"): New.
21431 ("altivec_lvsr"): New.
21432 ("altivec_dstt"): New.
21433 ("altivec_dstst"): New.
21434 ("altivec_dststt"): New.
21435 ("altivec_dst"): New.
21436
21437 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
21438 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
21439
e4ac76b4
RH
214402002-01-09 Richard Henderson <rth@redhat.com>
21441
21442 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
21443
c893e4a4
HPN
214442002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
21445
21446 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
21447 function.
21448 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
21449 prototype.
7387c700 21450 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 21451
f4f4d0f8
KH
214522002-01-09 Kazu Hirata <kazu@hxi.com>
21453
21454 * read-rtl.c: Fix formatting.
21455 * real.c: Likewise.
21456 * regclass.c: Likewise.
21457 * regrename.c: Likewise.
21458 * reg-stack.c: Likewise.
21459 * reload1.c: Likewise.
21460 * reload.c: Likewise.
21461 * rtl.c: Likewise.
21462
cc863bea
KH
214632002-01-09 Kazu Hirata <kazu@hxi.com>
21464
21465 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
21466 to extract items in the expr_list chain.
21467
7b4dfe3d
RH
214682002-01-09 Richard Henderson <rth@redhat.com>
21469
21470 * config/vax/vax.c (vax_rtx_cost): Never abort.
21471
1d969638
RH
21472 * config/vax/vax.h (REAL_ARITHMETIC): Define.
21473
7d5ab30e
JH
214742002-01-09 Jan Hubicka <jh@suse.cz>
21475
21476 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
21477
9503f3d1
RH
214782002-01-09 Richard Henderson <rth@redhat.com>
21479
21480 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
21481 Unify code from various alternatives.
21482
42bd17b7
RH
214832002-01-09 Richard Henderson <rth@redhat.com>
21484
21485 * regrename.c (copy_value): Ignore the copy if the source register
21486 is present in the value chain with a narrower mode.
21487
bdca3c33
HB
214882002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
21489
cda94cbb
RH
21490 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
21491 for the c4x target. Also improve layout.
bdca3c33 21492
c73a5e94
RH
214932002-01-09 Richard Henderson <rth@redhat.com>
21494
21495 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
21496 * config/m32r/m32r.md (and ior xor splitters): Swap operands
21497 to match insn patterns.
21498
dd0a18c0
RH
214992002-01-09 Richard Henderson <rth@redhat.com>
21500
21501 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
21502 (copyprop_hardreg_forward_1): Likewise.
21503
1fd9ac1e
JDA
215042002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
21505
21506 * pa.md (decrement_and_branch_until_zero): Change predicate for
21507 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
21508
5cb265ec
BM
215092002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
21510
21511 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
21512 gets undefined. For Darwin.
21513
fcd8fa8b
HB
215142002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
21515
21516 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
21517
bd3ab23a
MH
215182002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
21519
21520 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
21521
21e16bd6
RH
215222002-01-08 Richard Henderson <rth@redhat.com>
21523
21524 * regrename.c (copy_value): Ignore overlapping copies.
21525
a5376276
RH
215262002-01-08 Richard Henderson <rth@redhat.com>
21527
21528 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
21529 as needed to avoid shared structure.
21530
18cf8dda
KH
215312002-01-08 Kazu Hirata <kazu@hxi.com>
21532
21533 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
21534 H8/300H and H8/S.
21535
16c484c7
JM
215362002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
21537
21538 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
21539 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
21540 documentation of obsolete macros.
21541 * system.h: Poison these macros.
21542 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
21543 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
21544 config/c4x/c4x.h, config/clipper/clipper.h,
21545 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
21546 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
21547 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
21548 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
21549 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
21550 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
21551 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
21552 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
21553 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
21554 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
21555 config/sparc/sparc.h, config/stormy16/stormy16.h,
21556 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
21557 definitions and commented out definitions of obsolete macros.
21558 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
21559 of MAX_INT_TYPE_SIZE.
21560
14b3e8ef
UW
215612002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
21562
21563 * config/s390/s390.c (s390_preferred_reload_class): Never
21564 return ADDR_REGS if it isn't a subset of the given class.
21565 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
21566 FP_REGS, but all superclasses as well.
21567
21568 * config/s390/s390.c (s390_function_profiler): Fix thinko.
21569
21570 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
21571 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
21572 must not be a const_int.
21573
a693284d
RH
215742002-01-08 Richard Henderson <rth@redhat.com>
21575
21576 * Makefile.in (toplev.o): Depend on options.h.
21577 (gcc.o): Depend on specs.h.
21578
b3ca30df
JJ
215792002-01-08 Jakub Jelinek <jakub@redhat.com>
21580
21581 * expr.c (store_expr): Convert VOIDmode constants back to target's
21582 mode.
21583
24dbb440
GP
215842002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
21585
21586 * doc/invoke.texi: Markup gcc as @command. Refer to
21587 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
21588 of http://gcc.gnu.org/thanks.html.
21589
234e114c
DJ
215902002-01-08 Dale Johannesen <dalej@apple.com>
21591
21592 * config/rs6000/rs6000.md: Add missing int register
21593 target case to movdf_low.
21594
0d24f4d1
ZW
215952002-01-08 Zack Weinberg <zack@codesourcery.com>
21596
21597 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
21598 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
21599 (cppinit.o): Depend on except.h.
21600 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
21601 s-specs): New rules.
21602
21603 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
21604 Don't create specs.h/options.h/gencheck.h here. Remove
21605 unnecessary variable settings from last argument of AC_OUTPUT.
21606 * config.in, configure: Regenerate.
21607 * intl.c: Hardcode package name as "gcc".
21608
21609 * cppinit.c: Include except.h.
21610 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
21611 appropriate.
21612 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
21613 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
21614 (!)USING_SJLJ_EXCEPTIONS.
21615 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
21616
ed722f66
JM
216172002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
21618
21619 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
21620 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
21621 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
21622 documentation of obsolete macros.
21623 * system.h: Poison these macros.
21624 * config/d30v/d30v.h, config/ns32k/encore.h,
21625 config/stormy16/stormy16.h: Remove definitions and commented out
21626 definitions of obsolete macros.
21627
31e5e29a
NP
21628Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
21629
21630 * objc/objc-act.c (handle_class_ref): Mark the declaration of
21631 %sobjc_class_ref_%s as used - to prevent unwanted compiler
21632 warnings.
21633
bc1fa59c
UW
216342002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
21635
21636 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
21637 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
21638 to insn adjusting stack/frame pointer.
0d24f4d1 21639 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
21640 accept operands that cause the insn to be non-splittable.
21641
a8086abf
GS
216422002-01-08 Graham Stott <grahams@redhat.com>
21643
21644 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
21645 (C_TYPE_FIELDS_VOLATILE): Likewise.
21646 (C_TYPE_BEING_DEFINED): Likewise.
21647 (C_IS_RESERVED_WORD): Likewise.
21648 (C_TYPE_VARIABLE_SIZE): Likewise.
21649 (C_DECL_VARIABLE_SIZE): Likewise.
21650 (C_MISSING_PROTOTYPE_WARNED): Likewise.
21651 (C_SET_EXP_ORIGINAL_CODE): Likewise.
21652 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
21653 parenthesis.
21654 (C_DECL_ANTICIPATED): Likewise.
21655 (c_build_type_variant): Add parenthesis.
21656
3f595aa1
JM
216572002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
21658
21659 * gcc.c (option_map): Remove --version.
21660 (process_command): Handle -fversion following the GNU Coding
21661 Standards. Partially addresses PR other/704.
21662
5bc5a8f9
GS
216632002-01-08 Graham Stott <grahams@redhat.com>
21664
21665 * combine.c (combine_instructions): Fix typo.
21666
16ec4ebf
GS
216672002-01-08 Graham Stott <grahams@redhat.com>
21668
21669 * debug.h: Use "tree" and "rtx" throughout.
21670
21671 * debug.c: Likewise.
21672
4b69f385
NC
216732002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
21674
21675 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
21676 constant pool, use the pool's version of the symbol instead.
21677
57d1019b
RH
216782002-01-07 Richard Henderson <rth@redhat.com>
21679
21680 * regrename.c (find_oldest_value_reg): Ignore the value chain if
21681 the original register was copied in a mode with a fewer number of
21682 hard registers than the desired mode.
21683 (copyprop_hardreg_forward_1): Likewise.
21684 (debug_value_data): Fix loop test.
21685 * toplev.c (parse_options_and_default_flags): Reenable
21686 -fcprop-registers at -O1.
21687
216882002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 21689
0d24f4d1
ZW
21690 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
21691 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 21692
0d24f4d1
ZW
21693 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
21694 predicates.
fa066a23 21695
0d24f4d1 21696 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 21697
8f949e7e
JDA
216982002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
21699
21700 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
21701 (pa_output_function_prologue): Output local label at the beginning of
21702 the prologue when profiling.
21703 (hppa_profile_hook): Use the local label rather than the function label.
21704 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
21705
c62f2db5
AH
217062002-01-07 Aldy Hernandez <aldyh@redhat.com>
21707
0d24f4d1
ZW
21708 * config/rs6000/rs6000.c (print_operand): Remove extra space.
21709 (altivec_expand_unop_builtin): Fix thinko.
21710 (altivec_expand_binop_builtin): Same.
21711 (altivec_expand_ternop_builtin): Same.
21712 (altivec_expand_builtin): Same.
c62f2db5 21713
b5235ba7
RH
217142002-01-07 Richard Henderson <rth@redhat.com>
21715
21716 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
21717
7d8ac293
JM
217182002-01-07 Jason Merrill <jason@redhat.com>
21719
21720 * unwind-dw2.c (execute_cfa_program): Use < again.
21721
571a03b8
JJ
217222002-01-07 Jakub Jelinek <jakub@redhat.com>
21723
21724 * predict.c (combine_predictions_for_insn): Avoid division by zero.
21725
2e951384
JJ
217262002-01-07 Jakub Jelinek <jakub@redhat.com>
21727
21728 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
21729 Don't allow -1 - x -> ~x simplifications in the first pass.
21730
20e26713
AH
217312002-01-07 Aldy Hernandez <aldyh@redhat.com>
21732
0d24f4d1
ZW
21733 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
21734 arguments.
21735 (altivec_expand_binop_builtin): Same.
21736 (altivec_expand_unop_builtin): Same.
21737 (print_operand): Fix typo.
21738 (bdesc_1arg): Add vupk* variants.
20e26713 21739
0d24f4d1 21740 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 21741
0d24f4d1 21742 * rs6000.md: Add altivec_vupk* variants.
20e26713 21743
4dd57c18
JM
217442002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
21745
21746 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
21747 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
21748 and last update dates.
21749
0341c5d2
JJ
217502002-01-07 Janis Johnson <janis187@us.ibm.com>
21751
21752 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
21753
c7f3e0b0
MM
217542002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
21755
21756 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
21757 * config/avr/avr.h (CPP_SPEC): Likewise.
21758 (LINK_SPEC): Likewise.
21759 (CRT_BINUTILS_SPECS): Likewise.
21760 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
21761 * doc/invoke.texi (AVR Options): Document them.
21762
6ba4d630
JH
21763Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
21764
21765 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
21766 LABEL_NUSES.
21767
6253d571
GS
217682002-01-07 Graham Stott <grahams@redhat.com>
21769
0d24f4d1
ZW
21770 * config/i386/i386.h: Update copyright date.
21771 (HALF_PIC_PTR): Add parenthesis.
21772 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
21773 (CONSTANT_ALIGNMENT): Add parenthesis.
21774 (DATA_ALIGNMENT): Likewise.
21775 (LOCAL_ALIGNMENT): Likewise.
21776 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
21777 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
21778 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
21779 (HARD_REGNO_NREGS): Add paranethesis.
21780 (VALID_SSE_REG_MODE): Whitespace.
21781 (VALID_MMX_REG_MODE): Whitespace.
21782 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
21783 (ix86_hard_regno_mode_ok): Add parenthesis.
21784 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
21785 (RETURN_IN_MEMORY): Whitespace.
21786 (N_REG_CLASSES): Add parenthesis.
21787 (INTEGER_CLASS_P): Add parenthesis and wrap.
21788 (FLOAT_CLASS_P): Likewise.
21789 (SSE_CLASS_P): Likewise.
21790 (MMX_CLASS_P): Likewise.
21791 (MAYBE_INTEGER_CLASS_P): Likewise.
21792 (MAYBE_FLOAT_CLASS_P): Likewise.
21793 (MAYBE_SSE_CLASS_P): Likewise.
21794 (MAYBE_MMX_CLASS_P): Likewise.
21795 (Q_CLASS_P): Likewise.
21796 (GENERAL_REGNO_P): Uppercase macro parameter.
21797 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
21798 (FP_REGNO_P): Likewise.
21799 (ANY_FP_REGNO_P): Uppercase macro parameter.
21800 (SSE_REGNO_P): Likewise.
21801 (SSE_REGNO): Likewise.
21802 (SSE_REG_P): Likewise.
21803 (SSE_FLOAT_MODE_P): Likewise.
21804 (MMX_REGNO_P): Likewise.
21805 (MMX_REG_P):Likewise.
21806 (STACK_REG_P): Likewise.
21807 (NON_STACK_REG_P): Likewise.
21808 (STACK_TOP_P): Likewise.
21809 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
21810 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
21811 (SECONDARY_MEMORY_NEEDED): Likewise.
21812 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
21813 (MD_ASM_CLOBBERS): Whitespace and wrap.
21814 (MUST_PASS_IN_STACK): Whitespace and wrap.
21815 (RETURN_POPS_ARGS): Add parenthesis.
21816 (INIT_CUMULATIVE_ARGS): Likewise.
21817 (FUNCTION_ARG): Likewise.
21818 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
21819 (SETUP_INCOMING_VARARGS): Likewise.
21820 (BUILD_VA_LIST_TYPE): Add parenthesis.
21821 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
21822 parenthsis.
21823 (EXPAND_BUILTIN_VA_ARG): Likewise.
21824 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
21825 (INITIALIZE_TRAMPOLINE): Add parenthesis.
21826 (INITIAL_ELIMINATION_OFFSET): Likewise.
21827 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
21828 (REGNO_OK_FOR_BASE_P): Likewise.
21829 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
21830 (REGNO_OK_FOR_DIREG_P): Likewise.
21831 (REG_OK_FOR_INDEX_P): Whitespace.
21832 (REG_OK_FOR_BASE_P): Whitespace.
21833 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
21834 parenthesis.
21835 (FIND_BASE_TERM): Fix typo.
21836 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
21837 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
21838 (SYMBOLIC_CONST; Whitespace.
21839 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
21840 (ENCODE_SECTION_INFO): Whitespace.
21841 (FINALIZE_PIC): Remove do { ... } while (0).
21842 (PROMOTE_MODE): Wrap in do { ... } while (0).
21843 (CONST_COSTS): Whitespace.
21844 (RTX_COSTS): Add paramethesis, whitespace and wrap.
21845 (REGISTER_MOVE_COST): Add parenthesis.
21846 (MEMORY_MOVE_COST): Likewise.
21847 (EXTRA_CC_MODES): Whitespace.
21848 (SELECT_CC_MODE): Add parenthesis and whitespace.
21849 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
21850 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
21851 (ASM_OUTPUT_LABEL): Add paramethesis.
21852 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
21853 (ASM_OUTPUT_REG_POP): Likewise.
21854 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
21855 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 21856
07933f72
GS
21857 * config/i386/i386.c: Update copyright.
21858 (CHECK_STACK_LIMIT): Add parenthesis.
21859 (AT_BP): Uppercase macro parameter.
21860 (x86_64_int_parameter_registers): Constify.
21861 (x86_64_int_return_registers): Likewise.
21862 (ix86_compare_op0): Use rtx.
21863 (construct_container): Constify INTREG parameter.
21864 (function_arg): Use rtx.
21865
0b4d32c9
GS
21866 * diagnostic.h: Update copyright date.
21867 (output_buffer_state): Add parenthesis.
21868 (output_buffer_format_args): Likewise.
21869
6253d571
GS
21870 * combine.c (combine_instructions): Replace XEXP (links, 0)
21871 with link.
21872
68f3f6f1
L
218732002-01-06 H.J. Lu <hjl@gnu.org>
21874
21875 * cfgcleanup.c (thread_jump): Fix 2 typos.
21876
218772002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 21878
0d24f4d1 21879 * config.gcc: Add support for --enable-altivec.
480f7f3a 21880
13b8c631
CR
218812002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
21882
21883 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
21884
58ad89b1
JJ
218852002-01-06 Jakub Jelinek <jakub@redhat.com>
21886
21887 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
21888 __objc_class_name_*.
21889
e403b4bc
CR
218902002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
21891
21892 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
21893
e41c7831
RH
218942002-01-06 Richard Henderson <rth@redhat.com>
21895
21896 * reorg.c (emit_delay_sequence): Remove death notes, not merely
21897 nop them out. Increment label reference count for REG_LABEL.
21898 (fill_slots_from_thread): Frob label reference count around
21899 delete_related_insns.
21900
3b3b1e32
RH
219012002-01-05 Richard Henderson <rth@redhat.com>
21902
21903 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
21904 jump threading.
21905
c28abdf0
RH
219062002-01-05 Richard Henderson <rth@redhat.com>
21907
21908 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
21909 * integrate.c (output_inline_function): Likewise.
21910 * toplev.c (rest_of_compilation): Do it here instead. Move call
21911 to remove_unnecessary_notes after emitting abstract instance.
21912 Force an emitted nested function to have its parent emited as well.
21913 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
21914 for null.
21915 (rtl_for_decl_location): Do not look at reload data structures
21916 before reload has run.
21917
c4f2c499
KH
219182002-01-05 Kazu Hirata <kazu@hxi.com>
21919
21920 * cse.c: Fix formatting.
21921 * dwarf2asm.c: Likewise.
21922 * dwarf2out.c: Likewise.
21923 * explow.c: Likewise.
21924 * expmed.c: Likewise.
21925 * function.c: Likewise.
21926 * gcov.c: Likewise.
21927 * gencheck.c: Likewise.
21928 * genrecog.c: Likewise.
21929 * ggc-common.c: Likewise.
21930 * ggc-page.c: Likewise.
21931 * global.c: Likewise.
21932
cf0d9408
KH
219332002-01-05 Kazu Hirata <kazu@hxi.com>
21934
21935 * combine.c: Fix formatting.
21936
bedca03a
CR
219372002-01-05 Craig Rodrigues <crodrigu@bbn.com>
21938
21939 PR middle-end/1557
21940 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
21941
0134bf2d
DE
219422002-01-05 David Edelsohn <edelsohn@gnu.org>
21943
21944 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
21945 as 1 for __powerpc64__ as well.
21946
21947 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
21948
21949 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
21950 return it.
21951
9ca88d5a
DB
219522002-01-05 Daniel Berlin <dan@dberlin.org>
21953
21954 * lcm.c: Revert change, due to performance regression it causes on
21955 SPEC because it's slightly more conservative (sigh, I hate
21956 edge-based LCM).
0d24f4d1 21957
1c570418
JH
21958Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
21959
21960 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
21961
d83bb9f7
NB
219622002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
21963
21964 * doc/cppinternals.texi: Update.
21965
3e0f61ac
HPN
219662002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
21967
21968 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
21969 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
21970 negatives.
21971 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
21972 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
21973 kludge for pre-october-14th mmix versions to handle new-found bug
21974 with PUSHJ/PUSHGO and the register stack.
21975 * config/mmix/mmix.h (struct machine_function): Rename member
21976 has_call_value_without_parameters to has_call_without_parameters.
21977 All referers changed.
21978 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
21979 TARGET_MASK_BRANCH_PREDICT): New macros.
21980 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
21981 -mno-reg-stack-fill-bug-workaround.
21982 * config/mmix/mmix.md ("call"): Set struct machine member
21983 has_call_without_parameters.
21984
4deaa2f8
JH
21985Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
21986
21987 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
21988
9f16e871
JH
21989Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
21990
21991 * cfgcleanup.c: Include tm_p.h
21992 (mark_effect): Fix handling of hard register; fix handling of SET
21993
96eb1157
KH
219942002-01-04 Kazu Hirata <kazu@hxi.com>
21995
21996 * config/h8300/h8300.md (anonymous patterns): Check that
21997 operands are registers before using REGNO on them.
21998
48180d68
RM
219992002-01-03 Roland McGrath <roland@frob.com>
22000
22001 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
22002
b0832fe1
JJ
220032002-01-04 Jakub Jelinek <jakub@redhat.com>
22004
22005 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
22006 * c-common.h (genrtl_expr_stmt_value): Likewise.
22007 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
22008 (expand_expr_stmt_value): Add maybe_last argument.
22009 Don't warn about statement with no effect if it is the last statement
22010 in expression statement.
22011 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
22012 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
22013 expand_expr_stmt_value.
22014 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
22015 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
22016 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
22017 as maybe_last to expand_expr_stmt_value.
22018
c1e14513
JL
22019Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
22020
0d24f4d1
ZW
22021 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
22022 be passed in, do not build it.
22023 (c_begin_if_stmt): New function.
22024 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
22025 * c-common.h (c_expand_start_cond): Update prototype.
22026 (c_begin_if_stmt): Prototype new function.
22027 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
22028 * c-parse.in (if_prefix): Use c_begin_if_stmt,
22029 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 22030
b6ec437a
WC
220312002-01-04 William Cohen <wcohen@redhat.com>
22032
22033 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
22034 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
22035 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
22036 * config/pa/som.h (ASM_FILE_START): Likewise.
22037
ead39bdf 220382002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
22039
22040 * lcm.c: Include df.h.
22041 Add available_transfer_function prototype.
22042 (compute_available): Rework to use iterative dataflow framework.
22043 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
22044 with bb_info in df.h
22045 (available_transfer_function): New function.
22046
22047 * Makefile.in (lcm.o): add df.h to dependencies.
22048
551cc6fd
RH
220492002-01-04 Richard Henderson <rth@redhat.com>
22050
22051 * config/alpha/alpha.c (some_operand): Accept HIGH.
22052 (input_operand): Likewise; accept simple references to globals.
22053 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
22054 (alpha_const_double_ok_for_letter_p): Likewise.
22055 (alpha_extra_constraint): Likewise.
22056 (alpha_preferred_reload_class): Likewise. Do not force
22057 symbolic constants to memory.
22058 (alpha_legitimate_address_p): Accept simple references
22059 to small_symbolic_operand.
22060 (alpha_legitimize_address): New arg scratch. Be prepared to be
22061 called when no_new_pseudos. Emit simple symbolic references.
22062 Split integers into low, high, and rest.
22063 (alpha_expand_mov): Use alpha_legitimize_address.
22064 (some_small_symbolic_mem_operand): New.
22065 (split_small_symbolic_mem_operand): New.
22066 * config/alpha/alpha-protos.h: Update.
22067 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
22068 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
22069 (EXTRA_CONSTRAINT): Likewise.
22070 (PREFERRED_RELOAD_CLASS): Likewise.
22071 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
22072 (PREDICATE_CODES): Update.
22073 * config/alpha/alpha.md: New post-reload splitters to convert
22074 simplfied symbolic operands to the form that references $29.
22075 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
22076 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
22077
1eaea054
RH
220782002-01-03 Richard Henderson <rth@redhat.com>
22079
22080 * local-alloc.c (function_invariant_p): Update commentary.
22081
c4cc12b7
L
220822002-01-04 H.J. Lu <hjl@gnu.org>
22083
22084 * toplev.c (rest_of_compilation): Fix a typo when calling
22085 cleanup_cfg.
22086
173bf5be
KH
220872002-01-03 Kazu Hirata <kazu@hxi.com>
22088
22089 * c-common.c: Fix formatting.
22090 * diagnostic.c: Likewise.
22091 * doloop.c: Likewise.
22092 * dwarf2out.c: Likewise.
22093
187462ac
KH
220942002-01-03 Kazu Hirata <kazu@hxi.com>
22095
22096 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
22097 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
22098
5d8ebbd8
NB
220992002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
22100
22101 * cpperror.c: Update comments and copyright.
22102 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
22103 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
22104
518c1311
JDA
221052002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
22106
22107 * collect2.c (main): Use strcmp when testing for "-shared".
22108
d15a58c0
NB
221092002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
22110
22111 * cppmacro.c: Don't include intl.h. Update comments.
22112 (new_number_token): Allocate enough buffer for 64-bit unsigned
22113 integers; update prototype.
22114 * cppmain.c: Update comments.
22115
70f4f91c
WC
221162002-01-03 William Cohen <wcohen@redhat.com>
22117
22118 * function.h (struct function): Add profile.
22119 (current_function_profile): New.
22120 doc/extend.texi: Update documentation.
22121 * final.c (final_start_function): Use current_function_profile
22122 instead of profile_flag.
22123 (profile_after_prologue): Likewise.
22124 * function.c (expand_function_start): Likewise.
22125 (expand_function_start): Likewise.
c4cc12b7 22126 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
22127 (alpha_does_function_need_gp): Likewise.
22128 (alpha_expand_prologue): Likewise.
22129 * config/arm/arm.c (arm_expand_prologue): Likewise.
22130 thumb_expand_prologue: Likewise.
22131 * config/d30v/d30v.c (d30v_stack_info): Likewise.
22132 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
22133 (fr30_expand_prologue): Likewise.
22134 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
22135 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
22136 * config/i386/i386.h (FINALIZE_PIC): Likewise.
22137 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
22138 * config/i960/i960.c (i960_output_function_prologue): Likewise.
22139 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
22140 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
22141 (m32r_expand_prologue): Likewise.
22142 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
22143 (m88k_expand_prologue): Likewise.
22144 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
22145 * config/mips/mips.c (compute_frame_size): Likewise.
22146 (mips_expand_prologue): Likewise.
22147 (mips_can_use_return_insn): Likewise.
22148 * config/pa/elf.h (ASM_FILE_START): Likewise.
22149 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
22150 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
22151 * config/pa/som.h (ASM_FILE_START): Likewise.
22152 * config/romp/romp.c (romp_using_r14): Likewise.
22153 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
22154 (rs6000_stack_info): Likewise.
22155 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 22156 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
22157 * config/v850/v850.c (compute_register_save_size): Likewise.
22158
cb1ac742
JJ
221592002-01-03 Jakub Jelinek <jakub@redhat.com>
22160
22161 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
22162 gen_lowpart_common fails, use gen_lowpart_SUBREG.
22163
61d951df 221642002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 22165
61d951df
TC
22166 * darwin.c (machopic_output_possible_stub_label): Don't generate
22167 stub routines for pseudo-stubs which we've just defined.
22168
505ddab6
KH
221692002-01-03 Kazu Hirata <kazu@hxi.com>
22170
22171 * builtins.c: Fix formatting.
22172 * c-typeck.c: Likewise.
22173 * combine.c: Likewise.
22174 * expr.c: Likewise.
22175 * loop.c: Likewise.
22176
b7e30d8a
AS
221772002-01-03 Andreas Schwab <schwab@suse.de>
22178
22179 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
22180 and return true if _cpp_push_next_buffer pushed a new include
22181 file.
22182 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
22183 _cpp_pop_file_buffer did not push a new file.
22184 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
22185
ff81832f
EC
221862002-01-02 Eric Christopher <echristo@redhat.com>
22187
22188 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
22189 FIND_REG_INC_NOTE call. Update copyright.
22190 * loop.c (canonicalize_condition): Ditto.
22191 * reorg.c (delete_scheduled_jump): Ditto.
22192
8e42ace1
KH
221932002-01-03 Kazu Hirata <kazu@hxi.com>
22194
22195 * gcse.c: Fix formatting.
22196
fb2bf631
GS
221972002-01-03 Graham Stott <grahams@redhat.com>
22198
22199 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
22200 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 22201 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
22202
22203 * system.h: Move forward defs for struct tags rtx_def, union_tree,
22204 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 22205 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
22206
222072002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
22208
22209 * tree.h: Update copyright date.
22210 (IS_EXPR_CODE_CLASS): Add parenthesis.
22211 (TREE_SET_CODE): Add whitespace.
22212 (TREE_CHECK): Add parenthesis.
22213 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
22214 (CST_OR_CONSTRUCTOR_CHECK):
22215 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
22216 (TREE_SYMBOL_REFERENCED): Whitespace.
22217 (INT_CST_LT): Likewise.
22218 (INT_CST_LT_UNSIGNED): Likewise.
22219 (tree_real_cst): Unwrap comment.
22220 (tree_string): Likewise.
22221 (tree_complex): Likewise.
22222 (IDENTIFIER_POINTER): correct cast.
22223 (SAVE_EXPR_CONTEXT): Whitespace.
22224 (EXPR_WFL_FILENAME_NODE): Likewise.
22225 (EXPR_WFL_FILENAME): Remove parenthesis.
22226 (DECL_ORIGIN): Add parenthesis.
22227 (DECL_FROM_INLINE): Use NULL_TREE.
22228 (build_int_2): Whitespace.
22229 (build_type_variant): Add parenthesis.
22230
22231 * gcc/jcf-parse.c: Update copyright date.
22232 (yyparse): Constify resource_filename.
22233
f52eda29
GS
222342002-01-03 Graham Stott <grahams@redhat.com>
22235
22236 * rtl.h: Update copyright date.
22237 (RTL_CHECK1): Wrap long line.
22238 (RTL_CHECK2): Likewise.
22239 (RTL_CHECKC1): Wrap long line and whitespace.
22240 (RTL_CHECKC2): Likewise.
22241 (XWINT): Whitespace.
22242 (XINT): Likewise.
22243 (XSTR): Likewise.
22244 (XEXP): Likewise.
22245 (XVEC): Likewise.
22246 (XMODE): Likewise.
22247 (XBITMAP): Likewise.
22248 (XTREE): Likewise.
22249 (XBBDEF): Likewise.
22250 (XTMPL): Likewise.
22251 (X0WINT): Likewise.
22252 (X0INT):Likewise.
22253 (X0UINT): Likewise.
22254 (X0STR): Likewise.
22255 (X0EXP): Likewise.
22256 (X0VEC): Likewise.
22257 (X0MODE): Likewise.
22258 (X0BITMAP): Likewise.
22259 (X0TREE): Likewise.
22260 (X0BBDEF): Likewise.
22261 (X0ADVFLAGS): Likewise.
22262 (X0CSELIB): Likewise.
22263 (X0MEMATTR): Likewise.
22264 (XCWINT): Likewise.
22265 (XCINT): Likewise.
22266 (XCUINT): Likewise.
22267 (XCSTR): Likewise.
22268 (XCEXP): Likewise.
22269 (XCVEC): Likewise.
22270 (XCMODE): Likewise.
22271 (XCBITMAP): Likewise.
22272 (XCTREE): Likewise.
22273 (XCBBDEF): Likewise.
22274 (XCADVFLAGS): Likewise.
22275 (XCCSELIB): Likewise.
22276 (XC2EXP): Likewise.
22277 (INSN_UID): Likewise.
22278 (PREV_INSN): Likewise.
22279 (PATTERN): Likewise.
22280 (INSN_CODE): Likewise.
22281 (PUT_REG_NOTE_KIND): Likewise.
22282 (CODE_LABEL_NUMBER): Likewise.
22283 (NOTE_SOURCE_FILE): Likewise.
22284 (NOTE_BLOCK): Likewise.
22285 (NOTE_EH_HANDLER): Likewise.
22286 (NOTE_RANGE_INFO): Likewise.
22287 (NOTE_LIVE_INFO): Likewise.
22288 (NOTE_BASIC_BLOCK): Likewise.
22289 (NOTE_EXPECTED_VALUE): Likewise.
22290 (NOTE_LINE_NUMBER): Likewise.
22291 (LABEL_NAME): Likewise.
22292 (LABEL_NUSES): Likewise.
22293 (LABEL_ALTERNATE_NAME): Likewise.
22294 (ADDRESSOF_DECL): Likewise.
22295 (JUMP_LABEL): Likewise.
22296 (LABEL_NEXTREF): Likewise.
22297 (REGNO): Likewise.
22298 (ORIGINAL_REGNO: Likewise.
22299 (HARD_REGISTER_NUM_P): Add parenthesis.
22300 (SUBREG_REG): Whitespace.
22301 (SUBREG_BYTE): Likewise.
22302 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
22303 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
22304 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
22305 (ASM_OPERANDS_INPUT_VEC): Likewise.
22306 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
22307 (ASM_OPERANDS_INPUT): Likewise.
22308 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
22309 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
22310 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
22311 (ASM_OPERANDS_INPUT_MODE): Likewise.
22312 (ASM_OPERANDS_SOURCE_FILE): Likewise.
22313 (ASM_OPERANDS_SOURCE_LINE): Likewise.
22314 (MEM_SET_IN_STRUCT_P): Minor reformat.
22315 (TRAP_CONDITION): Whitespace.
22316 (TRAP_CODE): Likewise.
22317 (COND_EXEC_TEST): Likewise.
22318 (COND_EXEC_CODE): Likewise.
22319 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
22320 (PHI_NODE_P): Add parenthesis.
22321 (plus_constant): Whitespace and add parenthesis.
22322
e03f5d43
KH
223232002-01-03 Kazu Hirata <kazu@hxi.com>
22324
22325 * config/avr/avr.c: Fix comment typos.
22326 * config/c4x/c4x.md: Likewise.
22327 * config/dsp16xx/dsp16xx.h: Likewise.
22328 * config/dsp16xx/dsp16xx.md: Likewise.
22329 * config/i386/i386.md: Likewise.
22330 * config/ia64/ia64.c: Likewise.
22331 * config/m32r/m32r.h: Likewise.
22332 * config/m68hc11/m68hc11.md: Likewise.
22333 * config/mmix/mmix.c: Likewise.
22334 * config/mn10200/mn10200.c: Likewise.
22335 * config/romp/romp.c: Likewise.
22336 * config/sh/sh.c: Likewise.
22337 * config/stormy16/stormy16.c: Likewise.
22338 * config/stormy16/stormy16.h: Likewise.
22339 * config/stormy16/stormy16.md: Likewise.
22340
97e300e9
GS
223412002-01-03 Graham Stott <grahams@redhat.com>
22342
22343 * loop.h: Update copyright date.
0d24f4d1
ZW
22344 (LOOP_MOVABLES): Fix typo.
22345 (LOOP_REGS): Likewise.
22346 (LOOP_IVS): Likewise.
ff81832f 22347
745b26b3
GS
223482002-01-03 Graham Stott <grahams@redhat.com>
22349
22350 * cppinit.c: Update copyright date.
22351 Don't include output.h
22352 * Makefile.in: Update copyright date.
22353 Update dependency.
22354
0a379b7a
CR
223552002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
22356
22357 PR c/5226
22358 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
22359 (-pthread) Add to RS/6000 options.
22360
a8154559
KH
223612002-01-02 Kazu Hirata <kazu@hxi.com>
22362
22363 * except.c: Fix comment typos.
22364 * loop.c: Likewise.
22365 * varasm.c: Likewise.
22366 * doc/tm.texi: Fix a typo.
22367
e6ecc89b
JJ
223682002-01-02 Jakub Jelinek <jakub@redhat.com>
22369
22370 * c-typeck.c (output_init_element): Allow initializing static storage
22371 duration objects with compound literals.
22372
d1094b40
RH
223732002-01-02 Richard Henderson <rth@redhat.com>
22374
22375 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
22376 after abusing it.
22377
0c5d8c82
KG
223782002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
22379
5e65297b
KG
22380 * gcc.c (default_compilers): Const-ify.
22381 * mips-tdump.c (stab_names): Likewise.
22382 * mips-tfile.c (map_coff_types, map_coff_storage,
22383 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
22384 pseudo_ops_t, pseudo_ops): Likewise.
22385 * protoize.c (default_include): Likewise
22386
0c5d8c82
KG
22387 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
22388 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
22389 Add array size in declaration.
22390 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
22391 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
22392 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
22393 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
22394 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
22395 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
22396 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
22397 emtens, make_nan): Const-ify.
22398 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
22399 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
22400
817e13c4
JM
224012002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
22402
22403 * config.gcc (ia64-*-*): Set extra_headers.
22404 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
22405 * config/alpha/t-osf: Remove.
22406 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
22407
98095e2b
DE
224082002-01-02 David Edelsohn <edelsohn@gnu.org>
22409
22410 * config/rs6000/t-aix43: Revert previous change.
22411
a4200657
JM
224122002-01-02 Jason Merrill <jason@redhat.com>
22413
22414 * c-decl.c (c_expand_body): Call outlining_inline_function when
22415 emitting an inline function out of line.
22416
54ba1f0d
RH
224172002-01-02 Richard Henderson <rth@redhat.com>
22418
22419 * dwarf2out.c (limbo_die_node): Add created_for member.
22420 (new_die): New argument created_for. Update all callers.
22421 (mark_limbo_die_list): New.
22422 (dwarf2out_init): Register limbo_die_list as a root.
22423 (dwarf2out_finish): Force insert limbo dies into their function
22424 context.
22425
323728aa
NS
224262002-01-02 Nathan Sidwell <nathan@codesourcery.com>
22427
22428 PR c++/5089
22429 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
22430
aefc5826
KH
224312002-01-02 Kazu Hirata <kazu@hxi.com>
22432
22433 * config/h8300/fixunssfsi.c: Update copyright.
22434 Fix comment typos.
22435 Fix formatting.
22436 * config/h8300/h8300.c: Update copyright.
22437 Eliminate warnings.
22438
b1c9bc51
KH
224392002-01-02 Kazu Hirata <kazu@hxi.com>
22440
22441 * config/romp/romp.c: Fix comment formatting.
22442 * config/romp/romp.h: Likewise.
22443 * config/romp/romp.md: Likewise.
22444 * config/s390/s390.c: Likewise.
22445 * config/stormy16/stormy16.c: Likewise.
22446 * config/stormy16/stormy16.h: Likewise.
22447
1574ef13
AO
224482002-01-02 Alexandre Oliva <aoliva@redhat.com>
22449
22450 * c-common.h (genrtl_expr_stmt_value): Declare.
22451 * c-semantics.c (genrtl_goto_stmt): Redirect to...
22452 (genrtl_goto_stmt_value): ... this new function. Pass new
22453 argument down to expand_expr_stmt_value, taking
22454 TREE_ADDRESSABLE into account.
22455 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
22456 STMT_EXPR as addressable, i.e., one whose result we want.
22457 * expr.c (expand_expr): Don't save expression statement value
22458 of labeled_blocks or loop_exprs.
22459 * stmt.c (expand_expr_stmt): Redirect to...
22460 (expand_expr_stmt_value): ... this new function. Use new
22461 argument to tell whether to save expression value.
22462 (expand_end_stmt_expr): Reset last_expr_type and
22463 last_expr_value if we don't have either.
22464 * tree-inline.c (declare_return_variable): Mark its use
22465 statement as addressable.
22466 * tree.h: Document new use of TREE_ADDRESSABLE.
22467 (expand_expr_stmt_value): Declare.
22468
252b88f7
TR
224692002-01-01 Tom Rix <trix@redhat.com>
22470
22471 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
22472 rs6000_emit_allocate_stack.
22473
29f7a208
JM
224742002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
22475
22476 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
22477 ${srcdir}/ginclude/ to every entry in extra_headers.
22478 * configure: Regenerate.
22479 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
22480 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
22481 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
22482 * ginclude/proto.h: Rename to config/convex/proto.h.
22483
2cc2d4bb
RK
22484Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22485
22486 * attribs.c (handle_vector_size_attribute): Use host_integerp
22487 and tree_int_cst; remove warnings.
22488 * caller-save.c (insert_restore): Add cast to get rid of warning.
22489 (insert_save): Likewise.
22490 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
22491 * regmove.c (find_matches): Add temporary var to kill a warning.
22492
f01c9bcd
DR
224932002-01-01 Douglas B Rupp <rupp@gnat.com>
22494
16b61764
DR
22495 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
22496 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
22497 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
22498 (vms-dwarf2eh.o): Add Makefile rule.
22499 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
22500 * config/alpha/vms-dwarf2eh.asm: New file.
22501
f01c9bcd
DR
22502 * gcc.c (delete_if_ordinary): Delete all versions.
22503
91312b81
HPN
225042002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
22505
22506 * config/mmix/mmix.md: Update FIXME to not mention
22507 define_constants.
22508 (MMIX_rJ_REGNUM): New define_constants constant.
22509 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
22510 "*movdicc_real"): Adjust contraints formatting.
22511 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
22512 for branch prediction.
22513 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
22514 output template.
22515 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
22516 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
22517 number. Delete related FIXMEs.
22518 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
22519 from number to MMIX_rJ_REGNUM.
22520 (TARGET_MASK_BRANCH_PREDICT): New.
22521 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
22522 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
22523 value. Add -mbranch-predict and -mno-branch-predict.
22524 (TARGET_VERSION): Drop date.
22525 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
22526 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
22527 for finding out global symbols.
22528 (mmix_asm_output_labelref): Revert condition for global symbol.
22529 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
22530 (mmix_print_operand_punct_valid_p): A '+' is valid.
22531
619acae7 22532See ChangeLog.6 for earlier changes.
This page took 2.805857 seconds and 5 git commands to generate.