]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
emit-rtl.c (static_regno_reg_rtx): Define.
[gcc.git] / gcc / ChangeLog
CommitLineData
dd3fbd93
UW
12002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
2
3 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
4 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
5 (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
6 (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
7
0d0f605c
GDR
82002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
9
10 * tree-inline.c (expand_call_inline): Don' mess with _DECL
11 fields.
12
c92bcccb
GDR
132002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
14
15 * diagnostic.c (output_format): Recognize "%H" as a format
16 specifier for a location_t.
17 (text_specifies_location): New function.
18 (diagnostic_set_info): Use it.
19
7f243674
JL
202002-06-13 Jeffrey Law <law@redhat.com>
21
6cde4876
JL
22 * emit-rtl.c (static_regno_reg_rtx): Define.
23 (init_emit_once): Initialize static_regno_reg_rtx.
24 (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
25 of building new hard reg objects once per function.
26 (gen_rtx_REG): Try to share hard regs.
27 * regclass.c (init_fake_stack_mems): New function broken out from
28 init_regs.
29 * rtl.h (init_fake_stack_mems): Declare.
30 * toplev.c (lang_independent_init): Call init_regs before
31 init_emit_once. Call init_fake_stack_mems after init_emit_once.
32
110b3faa
JL
33 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
34
7f243674
JL
35 * alias.c (argument_registers): Remove.
36 (init_alias_once): Initialize static_reg_base_value here. Remove
37 initialization of argument_registers.
38 (init_alias_once_per_function): Remove.
39 (init_alias_analysis): Copy all the entries from static_reg_base_value
40 into new_reg_base_value all at once.
41 * rtl.h (init_alias_once_per_function): Remove declaration.
42 * function.c (prepare_function_start): Do not call
43 init_alias_once_per_function.
44
45 * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
46 starting a sequence and emitting an INSN.
47
a336f2e5
RS
482002-06-13 Richard Sandiford <rsandifo@redhat.com>
49
50 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
51
2acf0fa9
DM
522002-06-13 David S. Miller <davem@redhat.com>
53
54 * expmed.c (init_expmed): Remove duplicate init of 'reg'.
55
974c43f1
NB
562002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
57
58 * cpplib.c (end_directive): Handle line skipping. Only remove
59 the rest of the line if the directive was valid.
60 * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
61 expanding a traditional macro.
62 * cpptrad.c (recursive_macro): New.
63 (read_logical_line_trad): Handle skipping.
64 (scan_out_logical_line): Continue after a successful directive.
65 Don't expand macros whilst skipping, or if recursing.
66 (_cpp_create_trad_definition): scan_out_logical_line now sets
67 the output current position.
68
12bf26b6
EC
692002-06-12 Eric Christopher <echristo@redhat.com>
70
71 From Chris Demetriou <cgd@broadcom.com>
72 * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
73 comment.
74 (ISA_HAS_MADD_MSUB): Ditto.
75 (ISA_HAS_NMADD_NMSUB): Ditto.
76
be95b8a5
EC
772002-06-12 Eric Christopher <echristo@redhat.com>
78
79 * config.gcc: Consolidate little endian handling and
80 little/big endian targets.
81 * config/mips/elfl.h: Remove file.
82 * config/mips/elfl64.h: Ditto.
83 * config/mips/ecoffl.h: Ditto.
84 * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
85
e03856fe
GK
862002-06-12 Geoffrey Keating <geoffk@redhat.com>
87
88 * gengtype.h (xvasprintf): New prototype.
89 (xasprintf): New prototype.
90 (struct outf): New.
91 (get_output_file): Return an outf_p.
92 (header_file): Is now an outf_p.
93 (base_files): Now are outf_p.
94 (oprintf): New.
95 * gengtype.c: Replace all output FILE * with outf_p; use oprintf
96 rather than stdio operations. Use xasprintf in a few places,
97 when appropriate.
98 (xvasprintf): New.
99 (xasprintf): New.
100 (struct filemap): Delete.
101 (files): Delete.
102 (output_files): New.
103 (oprintf): New.
104 (create_file): Create an outf_p. Add parameter to indicate output
105 file name, change all callers.
106 (open_base_files): Create gtype-desc.c here.
107 (get_output_file_with_visibility): Rewrite.
108 (get_output_file_name): Just look at 'name' field in struct outf.
109 (close_output_files): Rewrite.
110
ec01703c
JT
1112002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
112
113 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
be95b8a5 114 (MASK_G_FLOAT): Define.
ec01703c
JT
115 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
116 (TARGET_SWITCHES): Likewise.
117 (TARGET_DEFAULT): Likewise.
118
8b0397a6
DJ
1192002-06-12 Daniel Jacobowitz <drow@mvista.com>
120
121 * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
122 * config/mips/mips.c (mips_output_filename): Don't print a
123 ".file" directive if we are using DWARF-2.
124 (mips_output_function_prologue): Do not emit source file
125 name for TARGET_GAS.
126
495333a6
JH
127Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
128
129 * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
130 decide whether emit the short opcode.
131 * i386.h (x86_shift1): Declare.
132 (TARGET_SHIFT1): New macro.
133 * i386.c (x86_shift1): New global variable.
134
8b0397a6
DJ
135 * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
136 unconditionally; make loop to rebuild CFG; kill unnecesary
137 find_basic_block calls; kill compute_bb_for_insn call.
495333a6
JH
138 * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
139 * haifa-sched.c (sched_init): Likewise.
140 * ssa-ccp.c (ssa_const_prop): Likewise.
141 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
142
d11cea13
DM
1432002-06-11 David S. Miller <davem@redhat.com>
144
145 * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
146 active_insn_p.
147
676997cf
RH
1482002-06-11 Richard Henderson <rth@redhat.com>
149
150 * c-common.c (builtin_define_type_max): New.
151 (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
152 __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
153
154 From Joseph S. Myers:
155 * glimits.h: Rewrite to expect the double underscore definitions
156 from the compiler.
157
158 * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
159 config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
160 config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
161 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
162 config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
163 config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
164 config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
165 __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
166
116b7a5e
RH
1672002-06-11 Richard Henderson <rth@redhat.com>
168
169 * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
170 (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
171 (code_for_builtns): Update.
172 (alpha_init_builtins): Add __builtin_thread_pointer and
173 __builtin_set_thread_pointer.
174 (alpha_expand_builtin): Handle void builtins.
175 * doc/extend.texi (Alpha Built-in Functions): Update.
176
0cec6af1
HPN
1772002-06-11 Hans-Peter Nilsson <hp@axis.com>
178
179 PR target/6997
180 * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
181
1c0ca89d
ZW
1822002-06-11 Zack Weinberg <zack@codesourcery.com>
183
184 * config.gcc: Make the name of the extra-modes file adjustable
185 by target stanzas.
186 (s390x, strongarm, xscale stanzas): Use this facility.
187 * configure.in: Update to match.
188 * configure: Regenerate.
189
5dc8d536
AH
1902002-06-11 Aldy Hernandez <aldyh@redhat.com>
191
1c0ca89d
ZW
192 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
193 max/mins as unsigned GE compares.
5dc8d536 194
169274cd
JT
1952002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
196
1c0ca89d 197 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
169274cd
JT
198 * config/vax/bsd.h: New file.
199 * config/vax/netbsd.h: Add missing notice.
1c0ca89d
ZW
200 (CPP_PREDEFINES): Remove.
201 (TARGET_OS_CPP_BUILTINS): Define.
202 (CPP_SPEC): Use NETBSD_CPP_SPEC.
169274cd
JT
203 * config/vax/openbsd.h: Update copyright years.
204 (CPP_PREDEFINES): Remove.
205 (TARGET_OS_CPP_BUILTINS): Define.
206 * config/vax/ultrix.h: Likewise.
207 * config/vax/vaxv.h: Likewise.
208 * config/vax/vms.h: Likewise.
209 * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
210 (CPP_PREDEFINES, CPP_SPEC): Remove.
211
2f41793e
JH
212Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz>
213
214 * i386.md (addqi_1_slp, subqi_1_slp
215 (andqi_ext0, testqi_ext0): Remove unnecesary check.
216 (addhi*, addqi*): Simplify "dec" condition.
217 (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
218 (and, or, xor to QImode splitters): New.
219 (iorqi_ext*): New.
220 (xorqi_ext_0): New.
221 (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
222 (andqi_ext_1_rex64): New.
223 (ashrqi*_slp): New.
224 (ashlqi*_slp): New.
225 (lshlqi*_slp): New.
226 (rotrqi3*_slp): New.
227 (rotlqi3*_slp): New.
228
fc5c400a
GK
2292002-06-11 Geoffrey Keating <geoffk@redhat.com>
230
4c4eb375
GK
231 * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
232 softfloat.h.
233 * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
234 (CPP_ENDIAN_LITTLE_SPEC): Delete.
235 * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
236 * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
237 __LONG_DOUBLE_128__ setting, _CALL_* setting.
238 (CPP_DEFAULT_SPEC): Delete.
239 (CPP_FLOAT_DEFAULT_SPEC): Delete.
240 (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
241 (CPP_SYSV_DEFAULT_SPEC): Delete.
242 (CPP_ENDIAN_BIG_SPEC): Delete.
243 (CPP_ENDIAN_LITTLE_SPEC): Delete.
244 (CPP_ENDIAN_SPEC): Delete.
245 (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
246 (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
247 cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
248 cpp_longdouble_default.
249 * config/rs6000/softfloat.h: Delete.
250 * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
251 (EXTRA_SPECS): Delete cpp_cpu.
252 (TARGET_CPU_CPP_BUILTINS): New.
253 * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
254 prototype.
255 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
256 * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
257 (CPP_DEFAULT_SPEC): Delete.
258 * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
259 * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
260 * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
261 (CPP_DEFAULT_SPEC): Delete.
262 * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
263 (CPLUSPLUS_CPP_SPEC): Likewise.
264 (CPP_CPU_SPEC): Delete.
265 (CPP_DEFAULT_SPEC): Delete.
266 * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
267 (CPLUSPLUS_CPP_SPEC): Likewise.
268 (CPP_CPU_SPEC): Delete.
269 (CPP_DEFAULT_SPEC): Delete.
270 * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
271 (CPP_DEFAULT_SPEC): Delete.
272 * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
273 (CPP_DEFAULT_SPEC): Delete.
274
fc5c400a
GK
275 * doc/gty.texi: Small updates.
276
13f0d49c
GDR
2772002-06-12 Gabriel Dos Reis <gdr@codesourcery.com>
278
279 * objc/objc-act.c (warn_with_ivar): Adjust calls to
280 diagnostic_count_error.
281 (warn_with_method): Likewise.
282
283 * diagnostic.h (warnings_are_errors_message): New field of
284 diagnostic_context.
285 (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
286 match semantics.
287 * diagnostic.c: Adjust calls to diagnostic_count_error through out.
288 (diagnostic_count_diagnostic): Make aware of other kinds of
1c0ca89d 289 diagnostics.
13f0d49c
GDR
290 (diagnostic_initialize): Initialize warnings_are_errors_message field.
291
0797e472
TT
2922002-06-11 Tom Tromey <tromey@redhat.com>
293
294 For PR java/6520:
295 * fold-const.c (fold_convert): Don't modify existing tree's type.
296
f288d4aa
GK
2972002-06-11 Geoffrey Keating <geoffk@redhat.com>
298
299 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
300
d27bab4c
RH
3012002-06-11 Richard Henderson <rth@redhat.com>
302
303 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
304
bc2a8f08
RH
3052002-06-11 Richard Henderson <rth@redhat.com>
306
1c0ca89d 307 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
bc2a8f08
RH
308 DWARF2_UNWIND_INFO is false.
309
b217ec1b
BW
3102002-06-11 Bob Wilson <bob.wilson@acm.org>
311
312 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
313
11819f80
UW
314 * config/s390/s390.c (emit_prologue): gen_store_multiple
315 returns an insn now, not a pattern.
316
c2727579
RO
3172002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
318
319 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
320 $(TEXI2DVI) -o.
321
285464d0
JH
322Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
323
324 * i386.c (x86_promote_QImode): Set for Athlon
325 (x86_fast_prefix): New global variable.
326 (x86_arch_always_fancy_math_387): Fix formating.
327 * i386.h (x86_fast_prefix): Declare
328 (TARGET_FAST_PREFIX): define.
329 * i386.md (and to strict_low_part, HI to SI
330 promoting splitter): Use new macro.
331
332 * i386.h (RTX_COSTS): float_extend is not for free for SSE.
333
1bb1f121
ZW
3342002-06-11 Zack Weinberg <zack@codesourcery.com>
335
336 * Makefile.in (distclean): Delete junk left in testsuite
337 directory, too.
338
88c65786
JL
3392002-06-11 Jeffrey Law <law@redhat.com>
340
c6a3fcf0
JL
341 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
342 last insn created by the splitter.
343
0db79a6b
JL
344 * caller-save.c (init_caller_save): Move creation of SAVEINSN
345 and RESTINSN into into the scope of the sequence.
346
47eb2ca8
JL
347 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
348 RETURN insns.
349
603b4b92
JL
350 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
351
88c65786
JL
352 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
353 not the pattern. So extract the pattern from the insn.
882c7223
JL
354
355 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
356
df14489a
UW
3572002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
358
359 * config/s390/s390.md (movsi): Only use floating point
360 register alternatives when operands are already fprs.
361 (movdi_31, movdi_64): Likewise.
362
6f9703af
DM
3632002-06-11 David S. Miller <davem@redhat.com>
364
365 * emit-rtl.c (try_split): Do not abort on non-INSN_P.
366 Only run RTX equality checks on INSN_P rtl.
367
b2ccb744
UW
3682002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
369
370 * config/s390/s390.md (reload_base, ltorg): Remove.
1c0ca89d 371 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744 372 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
1c0ca89d 373 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744
UW
374 s390_asm_output_pool_prologue): Likewise.
375 * s390.h (s390_pool_start_insn): Likewise.
376
1c0ca89d 377 * s390.c (s390_output_symbolic_const): Remove support for
b2ccb744
UW
378 old-style pool chunks.
379 (s390_function_epilogue): Likewise.
1c0ca89d 380 (s390_output_constant_pool): Likewise. Also, fix incorrect
b2ccb744
UW
381 alignment for 64-bit literal pools.
382 (print_operand_address): Remove 'y' and 'Y' format flags.
1c0ca89d 383 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
b2ccb744
UW
384 old-style pool chunks.
385 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
386 (ASM_OUTPUT_POOL_EPILOGUE): Remove.
387 (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
388
389 * s390.c (consttable_operand): New function.
390 * s390-protos.h (consttable_operand): Declare it.
391 * s390.h (PREDICATE_CODES): Add consttable_operand.
1c0ca89d
ZW
392 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
393 consttable_sf, consttable_df, pool_start_31, pool_end_31,
b2ccb744
UW
394 pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
395 * s390.c (struct constant, struct constant_pool): New data types.
396 (constant_modes, gen_consttable): New variables.
1c0ca89d 397 (s390_start_pool, s390_end_pool, s390_add_pool,
b2ccb744 398 s390_dump_pool, s390_free_pool): New functions.
1c0ca89d 399 (s390_chunkify_pool): Completely reimplement literal pool
b2ccb744
UW
400 overflow handling.
401
402 * s390.c (s390_pool_overflow): New variable.
403 * s390.h (s390_pool_overflow): Declare it.
1c0ca89d 404 * s390.md (cjump, icjump): Use it to adapt length for out-of-range
b2ccb744
UW
405 jumps in literal pool overflow situations.
406
407 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
1c0ca89d 408 (s390_frame_info): Account for possible use of RETURN_REGNUM
b2ccb744
UW
409 by new literal pool overflow code.
410 (s390_emit_prologue): Likewise.
411
2f937369
DM
4122002-06-05 David S. Miller <davem@redhat.com>
413
414 Delete SEQUENCE rtl usage outside of reorg and ssa passes.
415 * rtl.h (gen_sequence, emit_insns, emit_insns_before,
416 emit_insns_before_scope, emit_insns_after,
417 emit_insns_after_scope): Delete declaration.
418 * ada/misc.c (insert_code_for): Use emit_insn* instead of
419 emit_insns_foo.
420 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
421 (alpha_set_memflags): Fix comment.
422 (set_frame_related_p): Use get_insns instead of gen_sequence.
423 * config/alpha/alpha.md (setjmp receiver splitter): Avoid
424 emitting no insns.
425 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
426 gen_sequence.
427 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
428 * config/fr30/fr30.c (fr30_move_double): Likewise.
429 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
430 Likewise.
431 * config/ia64/ia64.c (spill_restore_mem): Likewise.
432 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
433 no insns.
434 * config/m32r/m32r.c (gen_split_move_double): Use get_insns
435 instead of gen_sequence.
436 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
437 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
438 * config/sh/sh.c (sh_need_epilogue): Likewise.
439 * config/sparc/sparc.md (current_function_calls_alloca, flat): New
440 attributes.
441 (setjmp pattern and split): Use them to avoid splitter which emits
442 no RTL.
443 * genattrtab.c (main): Emit include of function.h
444 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
445 get_insns instead of gen_sequence.
446 * config/cris/cris.c (cris_split_movdx): Likewise.
447 * emit-rtl.c (emit_insns*): Kill.
448 (try_split): Expect insn list instead of SEQUENCE.
449 (make_jump_insn_raw, make_call_insn_raw): Fix comments.
450 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
451 Make them abort if a SEQUENCE is given and RTL checking is
452 enabled.
453 (emit_*_scope): Don't forget to set scope on final insn.
454 (gen_sequence): Move from here...
455 * ssa.c (gen_sequence): To here as private function.
456 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
457 comments.
458 (expand_builtin_return, expand_builtin_mathfn): Likewise.
459 (expand_builtin_strlen): Use get_insns instead of gen_sequence.
460 (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
461 (expand_builtin_expect_jump): Use get_insns and fix comments.
462 * calls.c (try_to_integrate): Use emit_insn_foo.
463 (expand_call, emit_library_call_value_1): Likewise.
464 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
465 (emit_move_insn_1): Use get_insns instead of gen_sequence.
466 (expand_expr): Use emit_insn_foo.
467 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
468 * except.c (build_post_landing_pads): Likewise.
469 * flow.c (attempt_auto_inc): Likewise.
470 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
471 expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
472 * function.c (fixup_var_refs_insn): Use get_insns instead of
473 gen_sequence.
474 (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
475 (fixup_memory_subreg): Use get_insns instead of gen_sequence.
476 (fixup_stack_1, purge_addressof_1, expand_main_function,
477 get_arg_pointer_save_area): Likewise.
478 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
479 expand_function_end): Use emit_insn_foo.
480 (record_insns, keep_stack_depressed): Work with insn list instead
481 of SEQUENCE, fix comments.
482 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
483 noce_try_store_flag_constants, noce_try_store_flag_inc,
484 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
485 noce_try_minmax, noce_try_abs): Use emit_insn_foo.
486 (noce_process_if_block): Use get_insns instead of gen_sequence.
487 * optabs.c (add_equal_note): Work with insn list, fix comments.
488 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
489 (expand_unop, expand_complex_abs, expand_unop_insn,
490 expand_no_conflict_block): Likewise.
491 (gen_move_insn): Use get_insns instead of gen_sequence.
492 (gen_cond_trap): Likewise.
493 * integrate.c (copy_rtx_and_substitute): Likewise.
494 (emit_initial_value_sets): Use emit_insn_foo.
495 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
496 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
497 now that RTL generators give insn lists.
498 * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
499 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
500 instead of gen_sequence.
501 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
502 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
503 instead of gen_sequence.
504 * loop.c (move_movables, emit_prefetch_instructions,
505 gen_add_mult, check_dbra_loop, gen_load_of_final_value):
506 Likewise.
507 (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
508 (product_cheap_p): Likewise, and add commentary about RTL wastage
509 here.
510 * lcm.c (optimize_mode_switching): Use get_insns instead of
511 gen_sequence.
512 * profile.c (gen_edge_profiler): Likewise.
513 * regmove.c (copy_src_to_dest): Likewise.
514 * reg-stack.c (compensate_edge): Likewise and fix comment.
515 * gcse.c (process_insert_insn): Likewise.
516 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
517 * jump.c (delete_prior_computation): Update comment.
518 * genemit.c (gen_expand, gen_split, main): Use get_insns instead
519 of gen_sequence, update comments to match.
520 * recog.c (peephole2_optimize): Work with insn lists instead of
521 SEQUENCE rtl.
522 * sched-vis.c (print_pattern): Abort on SEQUENCE.
523 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
524 Use get_insns instead of gen_sequence.
525 (copy_loop_body): Likewise and don't emit dummy NOTE.
526 * genrecog.c: Don't mention SEQUENCE rtl in comments.
527 * combine.c (try_combine): Expect insn lists from split generator.
528 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
529 hand.
1c0ca89d 530
43cf10b5
RS
5312002-06-11 Roger Sayle <roger@eyesopen.com>
532 Andreas Jaeger <aj@suse.de>
533
534 * cfgbuild.c: Update copyright years.
535
1062f15a
AS
5362002-06-11 Andreas Schwab <schwab@suse.de>
537
1c0ca89d 538 * config/m68k/m68k.h (PREDICATE_CODES): Define.
1062f15a 539
ce3649d2
EC
5402002-06-11 Eric Christopher <echristo@redhat.com>
541
542 * doc/tm.texi (Run-time Target): Add comment about flag_iso
543 and strict ANSI.
544 * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
545 * config/mips/ecoffl.h: Ditto.
546 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
547 (CPP_PREDEFINES): Ditto.
548 * config/mips/elfl64.h: Ditto.
549 * config/mips/elfl.h: Ditto.
550 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
551 out until irix header consolidation.
552 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
553 with SUBTARGET_OS_CPP_BUILTINS.
554 * config/mips/iris6.h: Ditto.
555 (CPLUSPLUS_CPP_SPEC): Remove.
556 * config/mips/linux.h: Ditto.
557 * config/mips/netbsd.h: Ditto.
558 * config/mips/openbsd.h: Ditto.
559 * config/mips/rtems.h: Ditto.
560 * config/mips/rtems64.h: Ditto.
561 * config/mips/sni-svr4.h: Ditto.
562 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
563 ISA_MIPS32, ISA_MIPS64): New defines.
564 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
565 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
566 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
567 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
568 (TARGET_CPU_CPP_BUILTINS): Define.
569 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
570 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
571 (movdicc): Remove check for ISA_MIPS32.
572 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
573 sunordered_df, sunordered_sf, sordered_df, sordered_sf,
574 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
575 sunge_sf, sunle_df, sunle_sf): New patterns.
576
bc3437ba
NB
5772002-06-11 Neil Booth <neil@daikokuya.demon.co.uk>
578
579 * Makefile.in: Update cppmain.o.
580 * cpphash.h (struct cpp_reader): Move some members to a
581 nested structure.
582 (trad_line): Rename saved_line.
583 (_cpp_read_logical_line_trad): Update.
584 (_cpp_remove_overlay): New.
585 * cppinit.c (cpp_create_reader): No need to set saved_line.
586 (cpp_destroy): Update.
587 (cpp_read_main_file): Only overlay if compiling.
588 * cpplex.c (continue_after_nul): Return false if in directive.
589 * cpplib.c (EXPAND): New.
590 (directive_table, SEEN_EOL): Update.
591 (end_directive): Remove overlay if traditional; don't skip
592 line in traditional #define.
593 (prepare_directive_trad): New.
594 (_cpp_handle_directive, run_directive): Update for traditional
595 directives.
596 (lex_macro_node): Simplify, don't use lex_identifier_trad.
597 * cpplib.h (struct options): Add preprocess_only.
598 * cppmain.c: Don't include intl.h.
599 (cpp_preprocess_file): Set options->preprocess_only.
600 (scan_translation_unit_trad): Fix, and print line numbers.
601 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
602 maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
603 save_replacement_text, _cpp_create_trad_definition): Update for
604 variable renaming.
605 (_cpp_overlay_buffer): Save line number.
606 (_cpp_remove_overlay): Rename from restore_buff, restore line.
607 (_cpp_read_logical_line_trad): Don't handle overlays here.
608 (scan_out_logical_line): Process directives.
609
b25bb36a
DS
6102002-06-11 Danny Smith <dannysmith@users.sourforge.net>
611
612 * gthr-win32.h: Wrap functions in extern "C".
613 (__gthread_key_t): Typedef as unsigned long,
614 not win32 DWORD.
615 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
616 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
617 (__gthr_win32_once, __gthr_win32_key_create,
618 __gthr_win32_key_delete, __gthr_win32_getspecific,
619 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
620 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
621 __gthr_win32_mutex_unlock): Declare.
622 (__gthread_once,__gthread_key_create,
623 __gthread_key_delete, __gthread_getspecific,
624 __gthread_setspecific, __gthread_mutex_init_function,
625 __gthread_mutex_lock,__gthread_mutex_trylock,
626 __gthread_mutex_unlock): Call corresponding
627 __gthr_win32_* extern implementations if #defined
628 __GTHREAD_HIDE_WIN32API.
629 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
ce3649d2 630 $(srcdir)/config/i386/gthr-win32.c
b25bb36a
DS
631 * config/i386/gthr-win32.c: New implementation file.
632 (__gthr_win32_once, __gthr_win32_key_create,
633 __gthr_win32_key_delete, __gthr_win32_getspecific,
634 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
635 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
636 __gthr_win32_mutex_unlock): New functions, based on
637 static inlines in gthr-win32.h.
638
a69c385e
BW
6392002-06-10 Bob Wilson <bob.wilson@acm.org>
640
641 * config/xtensa/xtensa.c (override_options): Don't warn about
642 using -fpic or -fPIC when PIC is enabled by default.
643
e654730d
RS
6442002-06-10 Roger Sayle <roger@eyesopen.com>
645
646 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
647
a5381466
ZW
6482002-06-10 Zack Weinberg <zack@codesourcery.com>
649
650 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
ce3649d2 651 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
a5381466
ZW
652 exists, substitute its pathname as @extra_modes_file@, define
653 EXTRA_MODES_FILE to be an appropriate string to #include it
654 with, and define EXTRA_CC_MODES to 1.
655
656 * machmode.def: Update comments. Include EXTRA_MODES_FILE if
657 it's defined. Get rid of redundancy in calling sequence for
658 CC; don't use it to define CCmode, to avoid a warning.
659 * libgcc2.c: Include symcat.h for the sake of machmode.def.
660
661 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
662 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
663 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
664 New files.
665 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
666 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
667
668 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
669 defining extra CC modes.
670
852c6ec7
RS
6712002-06-10 Roger Sayle <roger@eyesopen.com>
672 Andreas Jaeger <aj@suse.de>
673
674 * cfgrtl.c (create_basic_block_structure): Remove index argument
675 and use last_basic_block++ instead. (create_basic_block): Update.
676 * cfgbuild.c (find_basic_blocks_1): Likewise.
677
678 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
679 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
680 * sched-ebb.c (schedule_ebbs): Likewise.
681 * sched-rgn.c (schedule_insns): Likewise.
682 * ssa-ccp.c (ssa_const_prop): Likewise.
683 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
684 * toplev.c (rest_of_compilation): Likewise.
685 * config/ia64/ia64.c (ia64_reorg): Likewise.
686
60c86d4e
RS
6872002-06-10 Roger Sayle <roger@eyesopen.com>
688
689 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
690 of matching registers.
691
9543a9d2
RS
6922002-06-10 Roger Sayle <roger@eyesopen.com>
693
694 * toplev.c (rest_of_compilation): Disable early if-conversion pass.
695 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
696
38e18619
HPN
6972002-06-10 Hans-Peter Nilsson <hp@bitrange.com>
698
699 * config/mmix/mmix.h: Improve comments.
700 (CPP_SPEC, CPP_PREDEFINES): Don't define.
701 (TARGET_CPU_CPP_BUILTINS): Define.
702 (CANONICALIZE_COMPARISON): Don't define, replace with comment.
703 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
704 unused predicate.
705 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
706 compiler warning.
707 (mmix_constant_address_p): Remove another
708 redundant test before case.
709 (mmix_canonicalize_comparison): Remove unused function.
710 (mmix_print_operand_address): Don't test and adjust for operand in
711 non-canonical format.
712 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
713 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
714
ac17cd8f
ZW
7152002-06-10 Zack Weinberg <zack@codesourcery.com>
716
717 * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
718 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
719 * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
720 (gen_compare): Use CCmode unconditionally.
721
7b668f9e
JJ
7222002-06-10 Jakub Jelinek <jakub@redhat.com>
723
724 PR optimization/6759
725 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
726 the REQ_EQUAL note.
727
85d49058
JJ
7282002-06-10 Jakub Jelinek <jakub@redhat.com>
729
730 PR c/6660
731 * c-decl.c (grokfield): Allow user defined types if they declare
732 structs or unions for unnamed fields.
733
50f30e6b
JJ
7342002-06-10 Jakub Jelinek <jakub@redhat.com>
735
736 PR c/6809
737 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
738
156755ac
JJ
7392002-06-10 Jakub Jelinek <jakub@redhat.com>
740
741 PR optimization/6842
742 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
743 operand subreg cannot be simplified.
744
5d056e9b
JJ
7452002-06-10 Jakub Jelinek <jakub@redhat.com>
746
747 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
748 (compare_constant): Likewise.
749 (output_addressed_constants): Likewise.
750
2bf87216
JJ
7512002-06-10 Jakub Jelinek <jakub@redhat.com>
752
753 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
754 merge bb with itself.
755
135fd2d8
RH
7562002-06-10 Richard Henderson <rth@redhat.com>
757
758 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
759 (builtin_zapnot): Likewise.
760
761 * config/alpha/ev5.md: Don't combine shift and mvi insns in one
762 reservation.
763
fce5a9f2
EC
7642002-06-10 Eric Christopher <echristo@redhat.com>
765
766 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
767 prototype and function.
768 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
769 (call_insn_operand): Remove half pic references.
770 (legitimate_address_p): Ditto.
771 * config/i386/i386.h: Remove half pic defines.
772
95b1627e
EC
7732002-06-10 Eric Christopher <echristo@redhat.com>
774
775 * doc/extend.texi (Return Address): Add note explaining the side-
776 effects of inlining on __builtin_return_address.
777
aea185b3
TT
7782002-06-10 Tom Tromey <tromey@redhat.com>
779
780 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
781 (c-common.o): Depend on langhooks.h.
782
afb03408
NB
7832002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
784
785 * cpphash.h (_cpp_read_logical_line_trad,
786 _cpp_expansions_different_trad): Update prototypes.
787 * cpplex.c (continue_after_nul): New.
788 * cppmain.c: Include cpphash.h.
789 (scan_translation_unit_trad): New.
790 (cpp_preprocess_file): Call it.
791 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
792 overlay.
793 (_cpp_expansions_different_trad): Update prototype.
794
2754d3c5
R
795Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
796
797 Fix cfi generation for SH[1-4]:
798
799 * sh.c (frame_insn): New function.
800 (output_stack_adjust): Add parameter emit_fn. All callers changed.
801 (push): Now returns rtx. Use frame_insn.
802 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
803 of a DF register.
804 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
805
ad854f24
ZW
8062002-06-10 Zack Weinberg <zack@codesourcery.com>
807
808 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
809 and gtype-desc.c.
810 (mostlyclean): Delete specs.h, options.h, gencheck.h here...
811 (distclean): ... not here. But do delete all testsuite/*.log,
812 testsuite/*.sum files here. Delete mkheaders. Delete
813 po/*.gmo and the testsuite directory in a split tree build.
814
bf1660a6
JL
8152002-06-10 Jeffrey Law <law@redhat.com>
816
817 * alias.c (static_reg_base_value): New to hold RTL for
818 items allocated once per function for the aliasing code.
819 (init_alias_once_per_function): Initialize static_reg_base_value.
820 (init_alias_analysis): Avoid throw-away allocations of RTL by
821 using pre-computed values in static_reg_base_value.
822 * function.c (prepare_function_start): Call
823 init_alias_once_per_function appropriately.
824 * rtl.h (init_alias_once_per_function): Declare.
825 * caller-save (init_caller_save): Restructure slightly to
826 avoid lots of silly RTL generation.
827 * expr.c (init_expr_once): Likewise.
828 * reload1.c (reload_cse_regs_1): Allocate throw-away register
829 RTL object here. Pass it into children.
830 (reload_cse_simplify_operands): Use passed-in register RTL
831 object.
832 (reload_cse_simplify): Pass through throw-away register
833 RTL object.
834
8dc58484 8352002-06-10 Daniel Berlin <dberlin@dberlin.org>
ad854f24 836
8dc58484
DB
837 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
838
ea16b5ee
RS
8392002-06-10 Richard Sandiford <rsandifo@redhat.com>
840
841 * gcc.c (process_command): Avoid assignment to read-only location.
842 Fix sizeof calculation.
843
6618c5d4
NB
8442002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
845
846 * cpphash.h (struct cpp_macro): Put comments on their own lines.
847 (_cpp_expansions_different_trad): New.
848 * cppmacro.c (warn_of_redefinition): Fix for traditional case.
849 * cpptrad.c (canonicalize_text): New.
850 (scan_out_logical_line): Handle no arguments correctly.
851 (save_replacement_text): Commit memory when finished.
852 (_cpp_expansions_different_trad): New.
853
96e3ac4f
TJ
8542002-06-10 Tim Josling <tej@melbpc.org.au>
855
856 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
857 TREELANG and COBOL.
858 (lang_names): Add treelang and cobol.
859 (get_file_basename): Add code to support treelang and cobol as
860 4th and 5th users of c-common.c.
861
37a4aa31
GK
8622002-06-09 Geoffrey Keating <geoffk@redhat.com>
863
864 * Makefile.in (install-driver): Install driver as
865 $(target_alias)-gcc-$(version).
866 * gcc.c (spec_version): Make const.
867 (process_command): Handle -V and -b by using exec.
868 * doc/invoke.texi (Target Options): Restore -V option,
869 update docs for -b option.
870
02ef40d9
TJ
8712002-06-10 Tim Josling <tej@melbpc.org.au>
872
ad854f24
ZW
873 * configure.in (remaining_languages_check):
874 Added check that all languages specified were found.
02ef40d9
TJ
875 Exit if not found. Previous behaviour was silent failure.
876 * configure: Regenerated.
877
b38b97c4 8782002-06-10 Tim Josling <tej@melbpc.org.au>
ad854f24 879
1c0ca89d 880 First steps to making treelang documentation compliant, based on
b38b97c4
TJ
881 instructions in sourcebuild.texi. Also add to gcc.c list of
882 default languages.
ad854f24 883
b38b97c4
TJ
884 * doc/contrib.texi: Add self as contributor of treelang.
885
886 * doc/frontends.texi: Add mention of treelang.
887
888 * doc/invoke.texi (Overall Options): Add mention of treelang.
889
890 * doc/standards.texi: Add mention of treelang.
891
ae9dbf1f
HPN
8922002-06-09 Hans-Peter Nilsson <hp@axis.com>
893
894 * config/cris/cris.c: Include ggc.h
895
1ce676a0
NB
8962002-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
897
898 * cpphash.h (_cpp_push_text_context): Update.
899 (_cpp_arguments_ok): New.
900 * cppmacro.c (_cpp_arguments_ok): New, split out from...
901 (collect_args): ...here.
902 (_cpp_push_text_context): Change inputs.
903 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
904 replace_args_and_push): New.
905 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
906 Don't use IS macros directly.
907 (scan_out_logical_line): Handle function-like macro argument
908 collection.
909 (push_replacement_text): Update.
910 (replacement_length): Remove.
911 (_cpp_create_trad_definition): Don't skip whitespace before
912 checking for '('.
913
25f2e176
MM
9142002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
915
916 * config/avr/avr.c (avr_mcu_types): Update for new devices.
917 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
918 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
919 * config/avr/avr.md ("type" and "length" attributes): New type
920 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that
921 output a single "call" or "rcall" insn depending on device size.
922 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
923
309323c2
DE
9242002-06-09 David Edelsohn <edelsohn@gnu.org>
925
926 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
927 synonym for 630. Add power4. Remove embedded processors. Use -m604
928 assembler option.
929 (CPP_CPU_SPEC): Add power3 and power4.
930 (PROCESSOR_DEFAULT): Change to 604e.
931 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
932 (CPP_CPU_SPEC): Similar additions.
933 (enum process_type): Add POWER4.
934 (RTX_COSTS): Add POWER4.
935 (CPP_CPU_SPEC): Similar additions.
936 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
6ef0903d 937 (PROCESSOR_DEFAULT64): Define.
309323c2
DE
938 * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
939 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
940 branch adjustment.
941 (rs6000_issue_rate): Add Power4.
942 * config/rs6000/rs6000.md (cpu attr): Add power4.
943 (iu compare): Remove 604, 604e, 620, 630.
944 Add basic Power4 scheduling information.
945 (mfcr/mtcrf): Change type attribute to cr_logical.
946
1f8e4682
KG
9472002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
948
57d80297
KG
949 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
950 ATTRIBUTE_PRINTF_2.
951 * gengtype-lex.l: Fix format specifier warning.
952
1f8e4682
KG
953 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,
954 not isspace.
955 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
956 lieu of isspace/IDchar.
957 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
958 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
959 ISSPACE.
960
5a9ee623
ZW
9612002-06-08 Zack Weinberg <zack@codesourcery.com>
962
963 * Makefile.in (LIBCPP_OBJS): Take out version.o.
964 * cpphash.h (cpp_reader): Take out print_version member.
965 * cppinit.c: (cpp_handle_option): Don't do anything with
966 -version. Just set help_only for --version, --target-help.
967 Just set verbose option for -v.
968 (cpp_post_options): Don't print a version string.
969
c16e5a35
MM
9702002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
971
972 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
973 (avr_section_type_flags): New, handle .noinit* sections.
974
79bc889e
JT
9752002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
976
977 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
978 and include netbsd_entry_point.
979 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
980 (NETBSD_ENTRY_POINT): Define.
981
6a79bb0a
JT
9822002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
983
984 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
5a9ee623 985 if not already defined.
6a79bb0a
JT
986 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
987
e52b6b63
MM
9882002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
989
990 * config/avr/avr.c (avr_regs_to_save): No need to save any registers
991 in a noreturn function.
992 (avr_output_function_prologue, avr_output_function_epilogue):
993 Correct function size calculation. Do not crash on empty function.
994 (avr_output_function_epilogue): No need for epilogue after a BARRIER.
995
1569d670
JT
9962002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
997
998 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
999 netbsd_link_spec and netbsd_entry_point.
1000 (LINK_SPEC): Use %(netbsd_link_spec).
1001 (NETBSD_ENTRY_POINT): Define.
1002
cfb06024
JT
10032002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1004
1005 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
1006 linker emulation.
1007 (LINK_ARCH64_SPEC): Likewise.
1008 (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
1009 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
1010
5a9ee623
ZW
10112002-06-08 Marc Espie <espie@openbsd.org>
1012
1013 * lists.c (free_list): Fix typo in comment.
e3623158 1014
272cdf58
AJ
10152002-06-08 Andreas Jaeger <aj@suse.de>
1016
1017 * lcm.c (optimize_mode_switching): Add unused attribute for
1018 variable.
1019
1020 * sched-deps.c (sched_analyze): Remove unused variable.
1021
bf3f2a12
GDR
10222002-06-08 Gabriel Dos Reis <gdr@codesourcery.com>
1023
1024 * diagnostic.def: Don't capitalize diagnostict descriptors.
1025
523a5f2f
JT
10262002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1027
1028 * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
1029 (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
1030 (NETBSD_ENTRY_POINT): Define.
1031
a3e944f9
JT
10322002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1033
1034 * config/i386/netbsd-elf.h (LINK_SPEC): Define as
1035 NETBSD_LINK_SPEC_ELF.
1036 (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
1037 (NETBSD_ENTRY_POINT): Define.
1038 * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
1039 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
1040 netbsd_entry_point.
1041 (NETBSD_ENTRY_POINT): Define.
1042
854928a0
JT
10432002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1044
1045 * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
1046 netbsd_link_spec and netbsd_entry_point.
1047 (LINK_SPEC): Use %(netbsd_link_spec).
1048 (NETBSD_ENTRY_POINT): Define.
1049
6bb5d2e7
JT
10502002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1051
1052 * config/netbsd-elf.h (LINK_SPEC): Rename to...
1053 (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point)
1054 to specify program entry point.
1055
e50126e8
JL
10562002-06-07 Jeff Law <law@redhat.com
1057
1058 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
272cdf58 1059 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
e50126e8
JL
1060 than creating a new register.
1061 (distribute_notes): Likewise.
1062 * df.c (df_reg_use_gen): Likewise.
1063 (df_reg_clobber_gen): Likewise.
1064 (df_ref_record): Likewise.
1065 * expr.c (use_regs): Likewise.
1066 * flow.c (propagate_one_insn): Likewise.
1067 (mark_set_1): Likewise.
1068 (mark_used_reg): Likewise.
1069 * reload.c (emit_reload_insns): Likewise.
1070
bc9c18c3
RS
10712002-06-07 Roger Sayle <roger@eyesopen.com>
1072
1073 * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
1074 (ne (comp x y) 0) into (comp x y) where comp is a comparison code.
1075 Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
1076 comparison code comp can be reversed.
1077
437f1df1
RS
10782002-06-07 Roger Sayle <roger@eyesopen.com>
1079
1080 * fold-const.c (fold) [EQ_EXPR]: Place both integer and real
1081 constants last in comparisons. Optimize (x+1.0)>0.0 into the
1082 equivalent x > -1.0 when -ffast-math.
1083
cd24b8a4
JT
10842002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
1085
1086 * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
1087 * config/mips/t-netbsd: New file.
1088
09e77dee
ZW
10892002-06-07 Zack Weinberg <zack@codesourcery.com>
1090
1091 * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
1092 options their own entries.
1093 (parse_option): Clarify comment.
1094 (cpp_handle_option): Remove 'ignore' parameter and OPT_W
1095 special case. Replace if/strcmp chain for -W options with
1096 use of new OPT_* entries for them.
1097 (cpp_handle_options): Update to match.
1098 * cpplib.h: Remove last parameter to cpp_handle_option from prototype.
1099 * c-decl.c: Update call to cpp_handle_option.
1100
942030dc
AD
11012002-06-07 Akim Demaille <akim@epita.fr>
1102
1103 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
1104 Whitespace changes.
1105
f2846820
JL
11062002-06-07 Jeffrey Law <law@redhat.com>
1107
1108 * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
1109 on empty lists.
1110
4bafaa6f
L
11112002-06-07 H.J. Lu (hjl@gnu.org)
1112
1113 * configure.in: Add --enable-__cxa_atexit.
1114 * configure: Regenerated.
1115 * config.in: Likewise.
1116
1117 * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
1118 not defined.
1119
caef5b46
GDR
11202002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net>
1121
1122 * diagnostic.c (diagnostic_build_prefix): Fix initialization.
1123
ac64a17c
JT
11242002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
1125
1126 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
1127
97459791
JM
11282002-06-07 Jason Merrill <jason@redhat.com>
1129
1130 * cppexp.c (num_equality_op): Use a temporary variable to work
1131 around gcc 3.0.4 bug.
1132
4b1d52c7
GDR
11332002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
1134
1135 * diagnostic.c (diagnostic_build_prefix): Tidy.
1136
c70f6ed3
NB
11372002-06-07 Neil Booth <neil@daikokuya.demon.co.uk>
1138
1139 * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
1140 scan_parameters, save_replacement_text, replacement_length): New.
1141 (scan_out_logical_line): Take a macro and save parameters if
1142 non-NULL.
1143 (_cpp_logical_line_trad): Update.
1144 (_cpp_create_trad_definition): Update to handle function-like
1145 macros.
1146 * cpplex.c (new_buff): Update.
1147 (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
1148 * cpphash.h: ...here.
1149 (CPP_ALIGN2, _cpp_save_parameter): New.
1150 * cppmacro.c (save_parameter): Rename, export.
1151 (parse_params): Update.
1152
aec2ac46
AJ
11532002-06-07 Andreas Jaeger <aj@suse.de>
1154
1155 * config/mmix/mmix.c: Remove extra broken prototype for
1156 mmix_init_machine_status.
1157
9f313342
GK
11582002-06-06 Geoffrey Keating <geoffk@redhat.com>
1159
1160 * gengtype.c: Add comments before all the routines.
1161
3fa1b448
JT
11622002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
1163
1164 * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
1165 from and add t-sh64 to ${tmake_file}.
1166 (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
1167 * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
1168 * config/sh/t-netbsd-sh5-32: Remove.
1169 * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
1170 MULTILIB_ENDIAN.
1171 (MULTILIB_DIRNAMES): Define.
1172
0d682900
JH
1173Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz>
1174
1175 * i386.md (and promoting splitters): Disable QI to SImode promoting
1176 when doing so changes immediate to be 32bit.
1177
1178 * rtl.h (emit_*_scope): Declare.
1179 * emit-rtl.c (emit_*_scope): New global functions.
1180 (try_split): Copy scope.
1181 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
1182 noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
1183 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
1184 noce_process_if_block, find_cond_trap): Copy scopes.
1185 * recog.c (peephole2_optimize): likewise.
1186
c991649c
JL
11872002-06-06 Jeffrey Law <law@redhat.com>
1188
1189 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
1190
8a5d66c4
R
1191Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
1192
1193 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
1194
d7f8491b
RO
11952002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1196
1197 * Makefile.in (TEXI_GCCINSTALL_FILES): Define.
1198 ($(docdir)/gccinstall.info): New target.
1199 (info): Depend on it.
1200 (gccinstall.dvi): New target.
1201 (dvi): Depend on it.
1202 * doc/.cvsignore: Ignore new info files.
1203 * doc/install.texi (@setfilename): Reflect new info filename.
1204
eaeb7de8
R
1205Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com>
1206
1207 * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
1208 on an UNSPEC.
1209
0c7aeb88
NP
1210Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it>
1211
1212 PR objc/6834
1213 * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
1214 c_common_get_alias_set.
aec2ac46 1215 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
0c7aeb88 1216
2a496e8b
JDA
12172002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
1218
1219 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
1220 functions.
1221 * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
1222 * avr/avr.c (avr_output_function_epilogue): Use above to determine
1223 function size.
1224 * pa/pa.c (pa_output_function_prologue): Likewise.
1225
2ff581c3
DM
12262002-06-05 David S. Miller <davem@redhat.com>
1227
1228 * integrate.c (subst_constants): Handle 'B' RTL format.
1229
b2e2d0cc
EC
12302002-06-05 Eric Christopher <echristo@redhat.com>
1231
1232 * varasm.c (make_decl_rtl): Fix comment for removed
1233 halfpic.c.
1234
0f81faf6
EC
12352002-06-05 Eric Christopher <echristo@redhat.com>
1236
1237 * Makefile.in: Remove missed halfpic bits.
1238
33005162
EC
12392002-06-05 Eric Christopher <echristo@redhat.com>
1240
1241 * toplev.c: Remove half-pic.
1242 * config/mips/mips.c: Ditto.
1243 * config/mips/mips.h: Ditto. Remove unused defines.
1244 * config/mips/openbsd.h: Update comment to reflect above.
1245 * config/mips/mips.md: Remove half-pic constraints.
1246 * halfpic.h: Delete.
1247 * halfpic.c: Ditto.
1248
80081028
JL
12492002-06-05 Jeffrey Law <law@redhat.com>
1250
5a9ee623
ZW
1251 * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
1252 rejects (mem (lo_sum (reg) (unspec))), but will allow
1253 (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
80081028 1254
cbc69f84
NB
12552002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
1256
1257 * cpphash.h (_cpp_create_definition): Update prototype.
1258 (_cpp_push_text_context, _cpp_create_trad_definition): New.
1259 ( cpp_lex_identifier_trad): New.
1260 (_cpp_set_trad_context): New.
1261 * cppinit.c (cpp_finish_options): Don't conditionalize builtins.
1262 * cpplib.c (SEEN_EOL): Update.
1263 (lex_macro_node): Update for -traditional.
1264 (cpp_push_buffer, _cpp_pop_buffer): Similarly.
1265 * cppmacro.c (_cpp_create_definition): Split into
1266 create_iso_definition() and _cpp_create_trad_definition().
1267 (warn_of_redefinition): Update prototype; handle traditional
1268 macros.
1269 (_cpp_push_text_context): New.
1270 * cpptrad.c (skip_whitespace, push_replacement_text): New.
1271 (lex_identifier): Call ht_lookup with correct start.
1272 (_cpp_lex_identifier_tradm _cpp_create_trad_definition,
1273 _cpp_set_trad_context): New.
1274 (scan_out_logical_line): Update to handle changing contexts.
1275
dbf87f32
R
1276Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
1277
1278 * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
1279 (shl*-*-elf*): Add.
1280 * config/sh/t-be (MULTILIB_ENDIAN): Set.
1281 * config/sh/t-le (MULTILIB_ENDIAN): Likewise.
1282 * t-sh (MULTILIB_ENDIAN): Set.
1283 (MULTILIB_OPTIONS): Use it.
1284 * t-sh64 (MULTILIB_OPTIONS): Likewise.
1285 (MULTILIB_DIRNAMES): Likewise.
1286
47b69537
GDR
12872002-06-05 Gabriel Dos Reis <gdr@codesourcery.com>
1288
1289 * toplev.h (report_error_function): Remove.
1290
1291 * diagnostic.h (location_t): New datatype.
1292 (text_info): Likewise.
1293 (diagnostic_info): Likewise.
1294 (output_prefix): New macro.
1295 (diagnostic_last_function_changed): Likewise.
1296 (diagnostic_set_last_function): Likewise.
1297 (diagnostic_last_module_changed): Likewise.
1298 (diagnostic_set_last_module): Likewise.
1299 (report_diagnostic): Now macro.
1300 (diagnostic_set_info): Declare.
1301
1302 * diagnostic.c (report_problematic_module): Rename to
33005162 1303 diagnostic_repor_current_module.
47b69537
GDR
1304 (set_diagnostic_context): Remove.
1305 (count_error): Rename to diagnostic_error_count.
1306 (error_function_changed): Remove.
1307 (record_last_error_function): Likewise.
1308 (error_module_changed): Likewise.
1309 (record_last_error_module): Likewise.
1310 (context_as_prefix): Rename to diagnostic_build_prefix.
1311 (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
1312 (diagnostic_set_info): New function.
1313
1314 * objc/objc-act.c: #include diagnostic.h
1315 (error_with_ivar): Adjust call to count_error.
1316 (warn_with_method): Likewise.
1317 * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
1318
540eaea8
BW
13192002-06-05 Bob Wilson <bob.wilson@acm.org>
1320
1321 * config/xtensa/xtensa.c (xtensa_build_va_list): Use
1322 lang_hooks.types.make_type instead of make_node; set up
1323 __va_list_tag type decl.
1324 (xtensa_builtin_saveregs): Remove broken use of
1325 RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
1326 for saved registers; add varargs alias set.
1327
f23a084d
NB
13282002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
1329
1330config:
1331 * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
1332 * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
1333 CPP_PREDEFINES and part of CPP_SPEC.
1334 i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
1335 i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
1336
3fe3a596
JH
1337Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
1338
1339 * reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
1340
1fd9ba59
AM
13412002-06-05 Alan Modra <amodra@bigpond.net.au>
1342
1343 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
1344
cea554e0
ZW
13452002-06-04 Zack Weinberg <zack@codesourcery.com>
1346
1347 * gengtype-yacc.y: Make sure all rules end with a semicolon.
1348
07232638
BW
13492002-06-04 Bob Wilson <bob.wilson@acm.org>
1350
1351 * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
1352 typo in function prototype and include "ggc.h" header.
1353
c4b50f1a
RH
13542002-06-04 Richard Henderson <rth@redhat.com>
1355
1356 * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
1357 (print_operand) ['U']: Likewise.
1358 (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
1359 (alpha_expand_unaligned_store_words): Likewise.
1360 (alpha_expand_builtin_vector_binop): Fix typo.
1361 (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
1362 umulh, and cix insns.
1363 (one_arg_builtins): Add cix builtins.
1364 (two_arg_builtins): Add ext, ins, msk, umulh builtins.
1365 (alpha_expand_builtin): Fix typo in arity.
1366 * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
1367 (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
1368 builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
1369 builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
1370 builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
1371 builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
1372 builtin_ctlz, builtin_ctpop): New.
1373 * doc/extend.texi (Alpha Built-in Functions): Update.
1374
aaab35ae
GK
13752002-06-04 Geoffrey Keating <geoffk@redhat.com>
1376
afb0f770
GK
1377 * gengtype.c (write_gc_root): Don't unnecessarily prevent
1378 global variable-length arrays being roots.
1379
aaab35ae
GK
1380 * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
1381 * configure.in (config_gtfiles): New variable.
1382 (all_gtfiles): Initialise from config_gtfiles.
1383 * configure: Regenerate.
1384
1ba7b414
NB
13852002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
1386
1387config/i386:
1388 * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
1389 i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
1390 mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
1391 sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
1392 win32.h (CPP_SPEC): Remove cpp_cpu.
1393 * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
1394 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
1395
135ca7b2
JJ
13962002-06-04 Janis Johnson <janis187@us.ibm.com>
1397
1398 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
1399
85d69216 14002002-06-04 Jeff Law <law@redhat.com.
5a9ee623
ZW
1401 David Edelsohn <edelsohn@gnu.org>
1402 Michael Matz <matz@kde.org>
85d69216
JL
1403
1404 * sched-int.h (struct deps): New field libcall_block_tail_insn.
1405 * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
1406 * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
1407 is set, then mark the current insn as being part of a libcall
1408 scheduling group.
1409 (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
1410
1411 * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
1412 insns against the issue rate.
1413
63f4a88e
JH
1414Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
1415
1416 * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
1417 * final.c (final_scan_insn): Likewise.
1418 * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
1419 NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
1420 * haifa-sched.c (unlink_other_notes): Likeewise.
1421 (reemit_notes): Likewise.
1422 * print-rtl.c (print_rtx): Likewise.
1423 * sched-deps (sched-analyze): Likewise.
1424 * rtl.c (note_insn_name): Likewise.
1425 * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
1426 (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
1427 (RANGE_*): Kill.
1428
a5d1f75b
JT
14292002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
1430
1431 * varasm.c (mark_constants): Handle RTX format 'B'.
1432
82eda77e
NB
14332002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
1434
1435 * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
1436 (struct cpp_context): Add traditional fields.
1437 * cppmacro.c (paste_all_tokens, push_ptoken_context,
1438 push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
1439 * cpptrad.c (skip_comment, lex_identifier,
1440 _cpp_read_logical_line_trad, scan_out_logical_line): Update.
1441
589005ff
KH
14422002-06-04 Kazu Hirata <kazu@cs.umass.edu>
1443
1444 * gbl-ctors.h: Fix formatting.
1445 * gcc.c: Likewise.
1446 * gccspec.c: Likewise.
1447 * gcov.c: Likewise.
1448 * gcov-io.h: Likewise.
1449 * gcse.c: Likewise.
1450 * ggc-common.c: Likewise.
1451 * ggc.h: Likewise.
1452 * ggc-page.c: Likewise.
1453 * ggc-simple.c: Likewise.
1454 * global.c: Likewise.
1455 * graph.h: Likewise.
1456 * gthr-dce.h: Likewise.
1457 * gthr.h: Likewise.
1458 * gthr-posix.h: Likewise.
1459 * gthr-rtems.h: Likewise.
1460 * gthr-solaris.h: Likewise.
1461 * gthr-win32.h: Likewise.
1462
e2500fed
GK
14632002-06-03 Geoffrey Keating <geoffk@redhat.com>
1464
1465 Merge from pch-branch:
33005162 1466
e2500fed
GK
1467 * gengtype.h (UNION_OR_STRUCT_P): New macro.
1468 * gengtype.c (write_gc_structure_fields): Use it.
1469 (write_gc_root): Use it here too.
1470
1471 * gengtype.c (write_gc_structure_fields): Assume that lengths
1472 of typenames fit into an 'int'; don't pass a size_t to "%d" in
1473 printf.
1474 (write_gc_marker_routine_for_structure): Likewise.
1475 (write_gc_types): Likewise.
1476 (write_gc_root): Likewise.
1477
1478 * varray.h (VARRAY_CLEAR): New.
1479 (varray_clear): Prototype.
1480 * varray.c (varray_clear): New.
1481 * cselib.c (reg_values_old): New.
1482 (used_regs_old): New.
1483 (cselib_init): Use cached varrays if available to avoid
1484 generating large amounts of garbage.
1485 (cselib_finish): Don't throw away old varrays.
1486
1487 * final.c (insn_addresses_): Move out of ifdef.
1488
1489 * varray.c (uses_ggc): Make more varray kinds GCable.
1490 * varray.h (union varray_data_tag): Let gengtype see
1491 fields 'generic' and 'te'.
1492 * reg-stack.c: Include gt-reg-stack.h, ggc.h.
1493 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
1494 (reg_to_stack): Don't call VARRAY_FREE.
1495 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
1496 (insn_addresses_): Use gengtype to mark.
1497 * gengtype.c (write_gc_structure_fields): Handle arrays of generic
1498 pointers; handle generic pointers in unused union fields.
1499 (get_output_file_with_visibility): Include cselib.h,
1500 insn-addr.h in gtype-desc.c.
1501 * function.c (prologue): Use gengtype to mark.
1502 (epilogue): Likewise.
1503 (sibcall_epilogue): Likewise.
1504 * dependence.c: Include gt-dependence.h, ggc.h.
1505 (struct def_use): Use gengtype to mark.
1506 (struct loop): Likewise.
1507 (struct induction): Likewise.
1508 (struct dependence): Likewise.
1509 (def_use_chain): Likewise.
1510 (dep_chain): Likewise.
1511 (loop_chain): Likewise.
1512 (induction_chain): Likewise.
1513 (init_dependence_analysis): Don't free anything, just clear pointers.
1514 (build_def_use): Use GGC to allocate def_use.
1515 (add_loop): Use GGC to allocate loop.
1516 (find_induction_variable): Use GGC to allocate induction.
1517 (check_node_dependence): Use GGC to allocate induction, dependence.
1518 (dump_node_dependence): Don't free varrays.
1519 (end_dependence_analysis): Likewise.
1520 * cselib.h (struct cselib_val_struct): Use gengtype to mark.
1521 (struct elt_loc_list): Likewise.
1522 (struct elt_list): Likewise.
1523 * cselib.c: Don't include obstack.h.
1524 (hash_table): Use gengtype to mark.
1525 (reg_values): Use gengtype to mark.
1526 (used_regs): Use gengtype to mark.
1527 (cselib_obstack): Delete.
1528 (cselib_startobj): Delete.
1529 (empty_vals): Mark as deletable.
1530 (empty_elt_lists): Mark as deletable.
1531 (empty_elt_loc_lists): Mark as deletable.
1532 (new_elt_list): Use GGC to allocate struct elt_list.
1533 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
1534 (clear_table): Don't delete obstack; don't unnecessarily clear
1535 deletable variables.
1536 (new_cselib_val): Use GGC to allocate struct cselib_val.
1537 (cselib_init): Don't set up obstacks. Use GGC to allocate
1538 hash table.
1539 (cselib_finish): Just clear variables, don't free anything.
1540 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
1541 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
1542 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
1543 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
1544 (gt-reg-stack.h): New rule.
1545 (gt-dependence.h): New rule.
1546 (gtype-desc.o): Add cselib.h, insn-addr.h.
1547
1548 * varray.c: Use only necessary headers.
1549 (element_size): New.
1550 (uses_ggc): New.
1551 (varray_init): Take type, not size. Use GGC if appropriate.
1552 (varray_grow): Update for change to struct varray_head_tag.
1553 Use GGC if appropriate.
1554 * varray.h (struct const_equiv_data): Use gengtype.
1555 (enum varray_data_enum): New.
1556 (union varray_data_tag): Use gengtype.
1557 (struct varray_head_tag): Use gengtype. Replace size field with
1558 enum varray_data_enum.
1559 (varray_init): Update prototype.
1560 (VARRAY_SCHED_INIT): Delete.
1561 (VARRAY_*_INIT): Update for change to varray_init.
1562 (VARRAY_SCHED): Delete.
1563 (VARRAY_PUSH_SCHED): Delete.
1564 (VARRAY_TOP_SCHED): Delete.
1565 * tree.h: Update for change to length specifier.
1566 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
1567 (clone_body): Likewise.
1568 * ssa.h (ssa_definition): Use gengtype to mark.
1569 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
1570 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
1571 * rtl.h (struct rtvec_def): Update for change to length specifier.
1572 * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
1573 (struct initial_value_struct): Update for change to length specifier.
1574 * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
1575 (ggc_add_tree_varray_root): Delete prototype.
1576 (ggc_mark_rtx_varray): Delete prototype.
1577 (ggc_mark_tree_varray): Delete prototype.
1578 * ggc-common.c (ggc_add_rtx_varray_root): Delete.
1579 (ggc_add_tree_varray_root): Delete.
1580 (ggc_mark_rtx_varray): Delete.
1581 (ggc_mark_tree_varray): Delete.
1582 (ggc_mark_rtx_varray_ptr): Delete.
1583 (ggc_mark_tree_varray_ptr): Delete.
1584 * gengtype.h (enum typekind): Remove TYPE_VARRAY.
1585 (create_varray): Delete prototype.
1586 * gengtype.c (varrays): Delete.
1587 (create_varray): Delete.
1588 (adjust_field_type): Detect array of string pointers.
1589 (process_gc_options): Remove code to handle varray_type option.
1590 (set_gc_used_type): Remove TYPE_VARRAY case.
1591 (output_escaped_param): New.
1592 (write_gc_structure_fields): Use output_escaped_param on all
1593 parameters. Handle 'skip' with 'use_param' option. Handle
1594 arrays of strings. Remove TYPE_VARRAY handling.
1595 (write_gc_roots): Use boolean to detect 'length' option.
1596 * gengtype-yacc.y (VARRAY_TYPE): Delete token.
1597 (struct_fields): Call adjust_field_type on array fields.
1598 (type): Remove VARRAY_TYPE case.
1599 (type_option): Likewise.
1600 * gengtype-lex.l: Don't consider varray_type a keyword.
1601 * function.h: Update for change to length specifier.
1602 (free_eh_status): Delete prototype.
1603 * function.c (free_after_compilation): Don't call free_eh_status.
1604 (reorder_blocks): Don't use VARRAY_FREE.
1605 * except.c (struct eh_status): Update for change to length specifier.
1606 remove varray_type specifier.
1607 (free_eh_status): Delete.
1608 * dwarf2out.c: Include gt-dwarf2out.h.
1609 (used_rtx_varray): Use gengtype to mark, move
1610 outside ifdefs.
1611 (incomplete_types): Likewise.
1612 (decl_scope_table): Likewise.
33005162 1613 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
e2500fed
GK
1614 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
1615 * c-tree.h (struct lang_type): Update for change to length specifier.
1616 * c-parse.in (yylexstring): Don't use VARRAY_FREE.
1617 * c-objc-common.c: Include gt-c-objc-common.h.
1618 (deferred_fns): Mark for gengtype.
1619 (c_objc_common_init): Don't call ggc_add_tree_varray_root.
1620 (expand_deferred_fns): Just set deferred_fns to 0 to free it.
1621 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
1622 (gtype-desc.o): Update dependencies.
1623 (dwarf2out.o): Add gt-dwarf2out.h.
1624 (varray.o): Update dependencies.
1625 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
1626 (gt-c-objc-common.h): New rule.
1627 (gt-dwarf2out.h): New rule.
1628 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
1629
1630 * doc/gty.texi (GTY Options): Correct spelling.
1631 (GGC Roots): Likewise.
1632 * Makefile.in (TEXI_CPP_FILES): New.
1633 (TEXI_GCC_FILES): New.
1634 (TEXI_GCCINT_FILES): New.
1635 (TEXI_CPPINT_FILES): New.
1636 ($(docdir)/cpp.info): Use new macros.
1637 ($(docdir)/gcc.info): Likewise.
1638 ($(docdir)/gccint.info): Likewise.
1639 ($(docdir)/cppinternals.info): Likewise.
1640 (cpp.dvi): Likewise.
1641 (gcc.dvi): Likewise.
1642 (gccint.dvi): Likewise.
1643 (cppinternals.dvi): Likewise.
1644
1645 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
1646 * doc/gccint.texi (Top): Include gty.texi.
1647 * doc/gty.texi: New file.
1648
1649 * bitmap.c: Include ggc.h, gt-bitmap.h.
1650 (bitmap_ggc_free): New.
1651 (bitmap_elem_to_freelist): New.
1652 (bitmap_element_free): Use bitmap_elem_to_freelist.
1653 (bitmap_element_allocate): Allow use of GGC.
1654 (bitmap_clear): Use bitmap_elem_to_freelist.
1655 (bitmap_copy): Update for change to bitmap_element_allocate.
1656 (bitmap_set_bit): Likewise.
1657 (bitmap_operation): Update for changes elsewhere.
1658 (bitmap_initialize): Allow to create bitmaps that will use GGC.
1659 * bitmap.h (struct bitmap_element_def): Use gengtype.
1660 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
1661 (bitmap_initialize): Add extra parameter.
1662 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
1663 (BITMAP_ALLOCA): Delete.
1664 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
1665 (BITMAP_GGC_ALLOC): New.
1666 * Makefile.in (gtype-desc.o): Add bitmap.h.
1667 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
1668 (GTFILES): Add bitmap.c.
1669 (gt-bitmap.h): New rule.
1670 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
1671 * basic-block.h: Update for changes to bitmap_initialize.
1672 * except.c (exception_handler_label_map): Move into...
1673 (struct eh_status): Here.
1674 (struct eh_region): Make 'aka' GCable.
1675 (free_eh_status): Don't need to specially handle
1676 exception_handler_label_map.
1677 (add_ehl_entry): Update for changes to exception_handler_label_map.
1678 (find_exception_handler_labels): Likewise.
1679 (remove_exception_handler_label): Likewise.
1680 (maybe_remove_eh_handler): Likewise.
1681 (for_each_eh_label): Likewise.
1682 (remove_eh_handler): Allocate 'aka' using GGC.
1683 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
1684 to list of includes.
1685
1686 * gengtype.c (write_gc_marker_routine_for_structure): Name
33005162 1687 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
e2500fed
GK
1688 (write_gc_types): Arrange for the tests with NULL to be inlined.
1689 (write_gc_roots): Update uses of procedure pointers.
1690 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
1691
1692 * Makefile.in (explow.o): Add dependency on gt-explow.h.
1693 (sdbout.o): Add dependency on gt-sdbout.h.
1694
1695 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
1696 (mem_attrs_htab): Likewise.
1697 (init_emit_once): Don't call ggc_add_deletable_htab.
1698 * fold-const.c (size_htab): Use gengtype to clear unused entries.
1699 (size_int_type_wide): Don't call ggc_add_deletable_htab.
1700 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
1701 parameters, use them, change callers.
1702 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
1703 (write_gc_roots): Handle 'if_marked' option.
1704 (main): Don't need to call set_gc_used_type any more.
1705 * ggc.h (ggc_htab_marked_p): Delete.
1706 (ggc_htab_mark): Delete.
1707 (struct ggc_cache_tab): New.
1708 (gt_ggc_cache_rtab): New declaration.
1709 * ggc-common.c (struct d_htab_root): Delete.
1710 (d_htab_roots): Delete.
1711 (ggc_add_deletable_htab): Delete.
1712 (ggc_htab_delete): Handle new htab-deleting mechanism.
1713 (ggc_mark_roots): Use new htab-deleting mechanism.
1714 * tree.c (type_hash_table): Use gengtype to clear unused entries.
1715 Make static.
1716 (init_obstacks): Don't call ggc_add_deletable_htab.
1717
1718 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
1719 (struct hashed_entry): Likewise.
1720 (nst_method_hash_list): Likewise.
1721 (cls_method_hash_list): Likewise.
1722 (HASH_ALLOC_LIST_SIZE): Delete.
1723 (ATTR_ALLOC_LIST_SIZE): Delete.
1724 * objc/objc-act.c (hash_init): Use ggc to allocate
1725 nst_method_hash_list, cls_method_hash_list.
1726 (hash_enter): Use ggc to allocate; allocate one entry at a time.
1727 (hash_add_attr): Likewise.
1728 (ggc_mark_hash_table): Delete.
1729 (objc_act_parse_init): Delete.
1730 (objc_init): Delete reference to objc_act_parse_init.
1731 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
1732 obstack.h. Replace references to 'struct hash_table' with htab_t.
1733 (struct symbol_hash_entry): Replace hash header with key field.
1734 (struct file_hash_entry): Replace hash header with key field.
1735 (struct demangled_hash_entry): Replace hash header with key field.
1736 (hash_string_eq): New.
1737 (hash_string_hash): New.
1738 (symbol_hash_newfunc): Delete.
1739 (symbol_hash_lookup): Modify to use htab_t.
1740 (file_hash_newfunc): Delete.
1741 (file_hash_lookup): Modify to use htab_t.
1742 (demangled_hash_newfunc): Delete.
1743 (demangled_hash_lookup): Modify to use htab_t.
1744 (tlink_init): Modify to use htab_t.
1745 * hash.h: Delete.
1746 * hash.c: Delete.
1747 * ggc.h: Delete forward structure declarations.
1748 Delete prototypes for deleted functions.
1749 * ggc-common.c: Don't include hash.h.
1750 (ggc_add_tree_hash_table_root): Delete.
1751 (ggc_mark_tree_hash_table_entry): Delete.
1752 (ggc_mark_tree_hash_table): Delete.
1753 (ggc_mark_tree_hash_table_ptr): Delete.
1754 * gengtype.c (write_gc_structure_fields): Allow param_is option.
1755 (write_gc_marker_routine_for_structure): Use visibility of
1756 the parameter if there is one.
1757 * function.c: Replace hash.h with hashtab.h. Replace references
1758 to 'struct hash_table *' with htab_t.
1759 (struct insns_for_mem_entry): Include a plain key.
1760 (fixup_var_refs_insns_with_hash): Update to use htab_t.
1761 (insns_for_mem_newfunc): Delete.
1762 (insns_for_mem_hash): Update to use htab_t.
1763 (insns_for_mem_comp): Likewise.
1764 (insns_for_mem_walk): Likewise.
1765 * c-lang.c: Include ggc.h.
1766 * Makefile.in (OBJS): Remove hash.o.
1767 (c-lang.o): Add GGC_H.
1768 (COLLECT2_OBJS): Remove hash.o.
1769 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
1770 (ggc-common.o): Remove hash.h.
1771 (function.o): Remove hash.h, add HASHTAB_H.
1772 (genautomata.o): Remove hash.h, add HASHTAB_H.
1773
1774 * varasm.c (mark_const_str_htab_1): Delete.
1775 (mark_const_str_htab): Delete.
1776 (const_str_htab_del): Delete.
1777 (const_str_htab): Use gengtype to mark.
1778 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
1779 allocate them.
1780 * tree.c (mark_tree_hashtable_entry): Delete.
1781 (mark_tree_hashtable): Delete.
1782 * tree.h (mark_tree_hashtable): Delete prototype.
1783 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
1784 (ggc_mark): Likewise.
1785 (ggc_calloc): New.
1786 (htab_create_ggc): New.
1787 * ggc-common.c (ggc_calloc): New.
1788 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
1789 (struct type): Add param_struct structure.
1790 * gengtype.c (param_structs): New.
1791 (adjust_field_type): Handle param_is option.
1792 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
1793 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
1794 (write_gc_structure_fields): Add new PARAM parameter. Update
1795 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
1796 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
1797 Use it to generate function name. Update callers.
1798 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
1799 Process them.
1800 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
1801 option.
1802 (main): Define PTR as pointer-to-scalar. Don't specially
1803 mark deferred_string or ehl_map_entry.
1804 * gengtype-yacc.y (PARAM_IS): Add new token.
1805 (externstatic): Use adjust_field_type.
1806 (type_option): Add PARAM_IS.
1807 * gengtype-lex.l: Add rule for typedef of function pointers.
1808 Add rule for PARAM_IS.
1809 (IWORD): Add size_t.
1810 * except.c (exception_handler_label_map): Use gengtype to mark.
1811 (type_to_runtime_map): Likewise.
1812 (mark_ehl_map_entry): Delete.
1813 (mark_ehl_map): Delete.
1814 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
1815 (t2r_mark_1): Delete.
1816 (t2r_mark): Delete.
1817 * Makefile.in (gtype-desc.o): Correct dependencies.
1818 (GTFILES): Add hashtab.h.
1819 (genautomata.o): Actually uses hashtab.h.
1820
1821 * Makefile.in (stringpool.o): Add $(GGC_H).
1822 (dwarf2asm.o): Likewise.
1823 (GTFILES): Add hashtable.h.
1824 * c-common.h (struct c_common_identifier): Use gengtype.
1825 * c-decl.h (c_mark_tree): Delete.
1826 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
1827 * c-tree.h (struct lang_identifier): Use gengtype.
1828 (union lang_tree_node): New.
1829 (c_mark_tree): Delete prototype.
33005162 1830 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
e2500fed
GK
1831 dwarf2_debug_hooks.
1832 * gengtype-lex.l (IWORD): Allow 'bool'.
1833 (ptr_alias): Match.
1834 * gengtype-yacc.y (ALIAS): New token.
1835 (type_option): New rule.
1836 (option): Use type_option.
1837 * gengtype.c (process_gc_options): New.
1838 (set_gc_used_type): Use it.
1839 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
1840 Add new variable 't' to hold the type of the field being processed.
1841 Add more error checking. Use UNION_P when looking at 'desc' option.
1842 Handle language-specific structures containing other
1843 language-specific structures.
1844 (write_gc_types): Handle 'ptr_alias' option.
1845 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
1846 * ggc-common.c (ggc_pending_trees): Delete.
1847 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
1848 (ggc_mark_trees): Delete.
1849 (gt_ggc_m_tree_node): Delete.
1850 * ggc.h (ggc_pending_trees): Delete.
1851 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
1852 * hashtable.h (ht_identifier): Use gengtype.
1853 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
1854 * langhooks.h (struct lang_hooks): Delete mark_tree.
1855 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
1856 anyway.
1857 * system.h: Poison LANG_HOOKS_MARK_TREE.
1858 * tree.c (tree_node_structure): New.
1859 * tree.h (struct tree_common): Use gengtype.
1860 (struct tree_int_cst): Likewise.
1861 (struct tree_real_cst): Likewise.
1862 (struct tree_string): Likewise.
1863 (struct tree_complex): Likewise.
1864 (struct tree_vector): Likewise.
1865 (struct tree_identifier): Likewise.
1866 (struct tree_list): Likewise.
1867 (struct tree_vec): Likewise.
1868 (struct tree_exp): Likewise.
1869 (struct tree_block): Likewise.
1870 (struct tree_type): Likewise.
1871 (struct tree_decl): Likewise.
1872 (enum tree_structure_enum): New.
1873 (union tree_node): Use gengtype, with an alias.
1874 (tree_node_structure): Prototype.
1875 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
1876
1877 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
1878 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
1879 to LANG_HOOKS_FUNCTION_FINAL.
1880 * Makefile.in (GTFILES): Add bitmap.h.
1881 * except.c (struct eh_region): Mark field 'aka' to be skipped.
1882
1883 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
1884 (alpha_init_machine_status): Give proper type.
1885 * Makefile.in (c-lang.o): Depend on gtype-c.h.
1886 (optabs.o): Depend on gt-optabs.h.
1887 (GTFILES): Add optabs.o.
1888 (gt-optabs.h): Add rule.
1889 * optabs.c: Include gt-optabs.h.
1890
1891 * gengtype.c (set_gc_used_type): Correct some errors in last change.
1892 (write_gc_structure_fields): If a field which should be NULL is
1893 not, abort.
1894 * c-pragma.c: Move struct align_stack and variable alignment_stack
1895 out from the ifdef.
1896
1897 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
1898 * config/xtensa/xtensa.c: Include gt-cris.h.
1899 (struct machine_function): Use gengtype to mark.
1900 * config/mmix/mmix.h (struct machine_function): Use gengtype
1901 to mark.
1902 * config/cris/t-cris: Add dependencies for gt-cris.h.
1903 * config/cris/cris.c: Include gt-cris.h.
1904 (struct machine_function): Use gengtype to mark.
1905 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
1906 to mark.
1907 * doc/tm.texi (Per-Function Data): Delete references to
1908 mark_machine_status.
1909 * config/ia64/ia64.c (ia64_override_options): Don't set
1910 mark_machine_status.
1911 * config/i386/i386.c (override_options): Likewise.
1912 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
1913 * config/arm/arm.c (arm_init_expanders): Likewise.
1914 * config/alpha/alpha.c (override_options): Likewise.
33005162 1915 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
e2500fed
GK
1916 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
1917 (write_gc_structure_fields): Don't handle 'really' option.
1918 Handle 'maybe_null' option.
1919 (write_gc_types): Handle 'maybe_null' option.
1920 * function.h (struct function): Don't use "really".
1921 (mark_machine_status): Delete declaration.
1922 (mark_lang_status): Delete declaration.
1923 (gt_ggc_mr_machine_function): Delete prototype.
1924 (gt_ggc_mr_language_function): Delete prototype.
1925 * function.c (mark_machine_status): Delete.
1926 (mark_lang_status): Delete.
1927 (gt_ggc_mr_machine_function): Delete.
1928 (gt_ggc_mr_language_function): Delete.
1929 * c-tree.h (mark_c_function_context): Delete prototype.
1930 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
1931 * c-decl.c (struct language_function): Rename from struct
1932 c_language_function. Update uses. Use gengtype to mark.
1933 (mark_c_function_context): Delete.
1934 * c-common.h (struct c_language_function): Rename from struct
1935 language_function.
1936 (mark_stmt_tree): Delete prototype.
1937 (c_mark_lang_decl): Delete prototype.
1938 (mark_c_language_function): Delete prototype.
1939 * c-common.c (mark_stmt_tree): Delete.
1940 (c_mark_lang_decl): Delete.
1941 (mark_c_language_function): Delete.
1942
1943 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
1944 (lang_bitmap): New typedef. Use where appropriate.
1945 (struct type): Add gc_used field, lang_struct field.
1946 (UNION_P): New macro.
1947 (new_structure): New prototype.
1948 (find_structure): Remove 'pos' parameter. Change all callers.
1949 * gengtype-lex.l: Update for changes to find_structure.
1950 * gengtype-yacc.y (typedef_struct): Use new_structure.
1951 (yacc_ids): Suppress warning.
1952 (type): Use new_structure.
1953 * gengtype.c (string_type): Update for changes to struct type.
1954 (find_structure): Just find a structure, don't worry about
1955 creating one.
1956 (new_structure): New.
1957 (note_yacc_type): Use new_structure.
1958 (set_gc_used_type): New.
1959 (set_gc_used): New.
1960 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
1961 (write_gc_types): Handle TYPE_LANG_STRUCT.
1962 (write_gc_marker_routine_for_structure): New.
1963 (main): Call set_gc_used. Add some calls to set_gc_used_type
1964 for places where GCC doesn't use gengtype properly yet.
1965 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
1966 (gt_ggc_m_tree_node): Likewise.
1967
1968 * varasm.c (copy_constant): Call expand_constant if we hit
1969 something we can't recognise.
1970
1971 * ggc-common.c (ggc_mark_rtvec_children): Delete.
1972 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
1973 (lang_mark_false_label_stack): Delete.
1974 * rtl.h (struct rtvec_def): Use gengtype to mark.
1975 * ggc.h (ggc_mark_rtvec): Delete.
1976 (gt_ggc_m_rtvec_def): Delete.
1977 (ggc_mark_nonnull_tree): Delete.
1978 (ggc_mark_rtvec_children): Delete prototype.
1979 (lang_mark_false_label_stack): Delete declaration.
1980
1981 * gengtype.h (note_yacc_type): Add prototype.
1982 * gengtype.c (note_yacc_type): New function.
1983 * gengtype-lex.l: Add lexer support for yacc files.
1984 * gengtype-yacc.y (start): Extract union from yacc files.
1985 (yacc_union): New rule.
1986 (yacc_typematch): New rule.
1987 (yacc_ids): New rule.
1988 (enum_items): Tweak for efficiency.
1989 (optionseq): Likewise.
1990
1991 * c-common.h (struct language_function): Use gengtype.
1992 (struct c_lang_decl): Likewise.
1993 * c-tree.h (struct lang_decl): Likewise.
1994 (struct lang_type): Likewise.
1995 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
1996 tree language substructures.
1997
1998 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
1999 ggc_mark_tree.
2000 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
2001
2002 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
2003
2004 * stmt.c (struct nesting): Add discriminator. Use gengtype to
2005 mark. Remove 'data.block.cleanup_ptr' field.
2006 (struct stmt_status): Use usual technique to mark struct nesting.
2007 (gt_ggc_mr_nesting_cond): Delete.
2008 (gt_ggc_mr_nesting_loop): Delete.
2009 (gt_ggc_mr_nesting_block): Delete.
2010 (gt_ggc_mr_nesting_case_stmt): Delete.
2011 (expand_start_cond): Set discriminator.
2012 (expand_start_loop): Likewise.
2013 (expand_start_null_loop): Likewise.
2014 (expand_start_bindings_and_block): Set discriminator. Don't set
2015 deleted fields.
2016 (expand_decl_cleanup): Replace 'cleanup_ptr' with
2017 &thisblock->data.block.cleanups.
2018 (expand_start_case): Set discriminator.
2019 (expand_start_case_dummy): Set discriminator.
2020
2021 * ggc-callbacks.c: Remove.
2022
2023 * gengtype.h (struct type): Add 'u.s.bitmap' field.
2024 (find_structure): Add 'pos' parameter.
2025 * gengtype-lex.l: Update callers to find_structure.
2026 * gengtype-yacc.y: Likewise.
2027 * gengtype.c (find_structure): Allow for structures to be defined
2028 in multiple language backends.
2029 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
2030 (counter): Rename to gc_counter.
2031 (write_gc_structure_fields): Fail when writing out fields for
2032 an incomplete structure. Ignore arrays of scalars. Handle
2033 'tree_vec' special.
2034 (write_gc_types): Reset counter for each procedure written.
2035
2036 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
2037 (free_case_nodes): Delete.
2038 (expand_end_case_type): Delete call to free_case_nodes.
2039
2040 * Makefile.in (cselib.o): Include gt-<filename>.h.
2041 (gcse.o): Likewise.
2042 (profile.o): Likewise.
2043 (alias.o): Likewise.
2044 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
2045 alphabetize backend files.
2046 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
2047 * alias.c: Use gengtype for roots.
2048 * c-common.h (struct stmt_tree_s): Use gengtype.
2049 * c-decl.c: Use gengtype for roots.
2050 * cselib.c: Use gengtype for roots.
2051 * expr.c: Use gengtype for roots.
2052 * fold-const.c: Use gengtype for roots.
2053 * gcse.c: Use gengtype for roots.
2054 * gengtype-lex.l: Handle typedefs of function types.
2055 Allow for empty array bounds.
2056 Allow processing to stop on initialisers.
2057 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
2058 (semiequal): New rule.
2059 * gengtype.c (create_file): Tidy output files.
2060 (get_output_file_with_visibility): Fix paren warning. Fix bug
2061 involving multiple input files mapping to one output file.
2062 (write_gc_structure_fields): Skip arrays of scalars.
2063 (write_gc_types): Tidy output files.
2064 (write_gc_root): New function.
2065 (write_gc_roots): Fix bugs, add support for roots that are
2066 structures.
2067 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
2068 (ggc_mark_tree_ptr): Delete.
2069 (ggc_add_rtx_root): Delete.
2070 (ggc_add_tree_root): Delete.
2071 (ggc_del_root): Delete.
2072 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
2073 allocate struct initial_value_struct.
2074 * profile.c: Use gengtype for roots.
2075 * sdbout.c: Use gengtype for roots.
2076 * varasm.c (mark_weak_decls): Delete unused prototype.
2077 (mark_const_hash_entry): Delete unused function.
2078 * config/darwin-protos.h: Use gengtype for roots.
2079 (machopic_add_gc_roots): Delete.
2080 * config/arm/arm.c: Use gengtype for roots.
2081 * config/arm/arm.h: Use gengtype for roots.
2082 * config/c4x/c4x-protos.h: Use gengtype for roots.
2083 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
2084 * config/d30v/d30v-protos.h: Use gengtype for roots.
2085 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
2086 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
2087 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
2088 * config/ia64/ia64-protos.h: Use gengtype for roots.
2089 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
2090 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
2091 * config/m68hc11/m68hc11.c (z_reg): Make global.
2092 (z_reg_qi): Make global.
2093 (m68hc11_add_gc_roots): Delete.
2094 * config/mcore/mcore-protos.h: Use gengtype for roots.
2095 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
2096 * config/mips/mips.c (mips_add_gc_roots): Delete.
2097 * config/mips/mips.h: Use gengtype for roots.
2098 * config/mmix/mmix.c (override_options): Use gengtype for roots.
2099 * config/mmix/mmix.h: Use gengtype for roots.
2100 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
2101 * config/mn10200/mn10200.h: Use gengtype for roots.
2102 * config/pa/pa.c: Use gengtype for roots, marking.
2103 (struct deferred_plabel): Use GGC, gengtype.
2104 (pa_add_gc_roots): Delete.
2105 (mark_deferred_plabels): Delete.
2106 * config/pj/pj-protos.h: Use gengtype for roots.
2107 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
2108 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
2109 machopic_add_gc_roots.
2110 * config/rs6000/rs6000.h: Use gengtype for roots.
2111 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
2112 (gt-darwin.h): Add rule.
2113 * config/sh/sh.c: Use gengtype for roots.
2114 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
2115 (gt-sh.h): Add rule.
2116 * config/sparc/sparc.c: Use gengtype for roots.
2117 (sparc_add_gc_roots): Delete.
2118 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
2119 (mark_ultrasparc_pipeline_state): Delete.
2120 * config/sparc/sparc.h: Use gengtype for roots.
2121
2122 * Makefile.in (c-parse.o): Update dependencies.
2123 (c-common.o): Likewise.
2124 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
2125 Add dependencies for the files they generate.
2126 * c-common.c: Replace ggc_add_* uses with GTY annotations.
2127 * c-common.h: Likewise.
2128 * c-decl.c: Likewise.
2129 (gt_ggc_mp_binding_level): Delete.
2130 * c-lang.c: Include gtype-c.h.
2131 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
2132 gt-c-parse.h.
2133 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
2134 (gt_ggc_mp_align_stack): Delete.
2135 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
2136 * function.c: Replace ggc_add_* uses with GTY annotations.
2137 (gt_ggc_mp_function): Delete.
2138 * function.h: Replace ggc_add_* uses with GTY annotations.
2139 * gengtype.c (lang_names): New.
2140 (NUM_BASE_FILES): New.
2141 (open_base_files): Create language base files.
2142 (startswith): New.
2143 (get_file_basename): New.
2144 (get_base_file_bitmap): New.
2145 (get_output_file_with_visibility): Rename from get_output_file.
2146 Add more mappings for various C/Objc filenames.
2147 (finish_root_table): New.
2148 (write_gc_roots): Handle dependencies and scoping properly.
2149 * gengtype.h: Add prototypes for new functions.
2150 * ggc-common.c (struct deletable_root): Delete.
2151 (deletables): Delete.
2152 (ggc_add_deletable_root): Delete.
2153 (ggc_mark_roots): No need to deal with deleted functionality.
2154 * ggc.h (ggc_add_deletable_root): Delete prototype.
2155 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
2156 (gtype-objc.h): Add rule to create.
2157 * objc/config-lang.in (gtfiles): New.
2158 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
2159 ggc_add_* with GTY markers. Include gtype-objc.h.
2160 (ggc_mark_imp_list): Delete.
2161 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
2162 * objc/objc-lang.c: Random Whitespace Change.
2163
2164 * except.h (exception_handler_labels): Delete.
2165 (get_exception_handler_labels): New.
2166 * except.c (exception_handler_labels): Delete.
2167 (struct eh_status): Add exception_handler_labels field.
2168 (doing_eh): Don't add exception_handler_labels as root.
2169 (free_eh_status): Don't need to free exception_handler_labels.
2170 (get_exception_handler_labels): New.
2171 (find_exception_handler_labels): Update for move of
2172 exception_handler_labels.
2173 (remove_exception_handler_label): Likewise.
2174 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
2175 * jump.c (rebuild_jump_labels): Likewise.
2176 * loop.c (find_and_verify_loops): Likewise.
2177 * sched-rgn.c (is_cfg_nonregular): Likewise.
2178
2179 * gengtype.c (write_gc_structure_fields): Handle variable-length
2180 TYPE_ARRAYs.
2181
2182 * varasm.c (struct weak_syms): Use GGC, gengtype.
2183 (mark_weak_decls): Delete.
2184 (weak_decls): Likewise.
2185 (add_weak): Likewise.
2186 (remove_from_pending_weak_list): Likewise.
2187 (init_varasm_once): Likewise.
2188
2189 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
2190 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
2191 stor-layout.c, regclass.c, and lists.c.
2192 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
2193 gt-regclass.h and gt-lists.h on s-gtype.
2194 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
2195 * except.c: Use gengtype for roots.
2196 * explow.c: Use gengtype for roots. Include gt-explow.h.
2197 * expr.h (init_stor_layout_once): Delete prototype.
2198 * function.c: Use gengtype for roots.
2199 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
2200 * gengtype-yacc.y (start): Can also be an externstatic.
2201 (externstatic): New production.
2202 (struct_fields): Correct array bounds inversion for 2-d arrays.
2203 * gengtype.c (variables): New variable.
2204 (note_variable): New function.
2205 (get_output_file): Include libfuncs.h into gtype-desc.c.
2206 (get_output_file_name): New function.
2207 (write_gc_structure_fields): Suppress warnings.
2208 (write_gc_types): Make static.
2209 (put_mangled_filename): New function.
2210 (write_gc_roots): New function.
2211 (main): Call write_gc_roots.
2212 * gengtype.h (note_variable): Prototype.
2213 (get_output_file_name): Prototype.
2214 (write_gc_types): Delete prototype.
2215 * ggc.h: Clean up unnecessary structure predefinitions.
2216 (struct ggc_root_tab): Define.
2217 (gt_ggc_m_rtx_def): Make function, not macro.
2218 (gt_ggc_m_tree_node): Likewise.
2219 * libfuncs.h: Use gengtype for roots.
2220 * lists.c: Use gengtype for roots. Include gt-lists.h.
2221 (init_EXPR_INSN_LIST_cache): Delete.
2222 * optabs.c: Use gengtype for roots.
2223 (gt_ggc_mp_optab): Delete.
2224 * optabs.h: Use gengtype for roots.
2225 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
2226 * rtl.h: Use gengtype for roots.
2227 (init_EXPR_INSN_LIST_cache): Delete prototype.
2228 * stor-layout.c: Use gengtype for roots.
2229 Include gt-stor-layout.h.
2230 (init_stor_layout_once): Delete.
2231 * toplev.c: Use gengtype for roots. Delete calls to deleted
2232 routines.
2233 * tree.c: Use gengtype for roots.
2234 * tree.h: Use gengtype for roots.
2235 * varasm.c: Use gengtype for roots.
33005162 2236
e2500fed
GK
2237 * Makefile.in (GTFILES): Add @all_gtfiles@.
2238 * configure: Regenerate.
2239 * configure.in: Construct all_gtfiles from the gtfiles definitions
2240 in config-lang.in.
2241 * gengtype-yacc.y (type): Warn about duplicate structure names.
2242 * gengtype.c (get_output_file): Handle .c files in language
2243 subdirectories.
2244
2245 * Makefile.in (GTFILES): Run gengtype on all the config files
2246 and on the target .c file.
2247 * except.c (mark_eh_region): Delete.
2248 (init_eh_for_function): Use GGC on struct eh_status.
2249 (mark_eh_status): Delete.
2250 (free_eh_status): Use GGC.
2251 (expand_eh_region_start): Use GGC to
2252 (collect_eh_region_array): Allocate last_region_number using GGC.
2253 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
2254 (remove_eh_handler): Let GGC free struct eh_region.
2255 (add_call_site): Use GGC to reallocate call_site_record array.
2256 * function.c (init_machine_status): Update calling sequence.
2257 (mark_machine_status): Likewise.
2258 (mark_lang_status): Likewise.
2259 (prepare_function_start): Update init_machine_status call.
2260 (mark_function_status): Delete.
2261 (maybe_mark_struct_function): Delete.
2262 (ggc_mark_struct_function): Delete.
2263 (gt_ggc_mp_function): New.
2264 (gt_ggc_mr_machine_function): New.
2265 (gt_ggc_mr_language_function): New.
2266 (init_function_once): Use canonical names.
2267 * function.h (struct function): Use gengtype.
2268 (init_machine_status): Return the structure.
2269 (mark_machine_status): Take a 'void *'.
2270 (mark_lang_status): Likewise.
2271 * ggc-common.c (ggc_mark_trees): Use canonical name for
2272 ggc_mark_struct_function.
2273 * tree.h (ggc_mark_struct_function): Delete prototype.
2274 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
2275 (alpha_init_machine_status): Likewise.
2276 (override_options): Use canonical name for alpha_mark_machine_status.
2277 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
2278 * config/arm/arm.h (struct machine_function): Use gengtype.
2279 * config/arm/arm.c (arm_mark_machine_status): Delete.
2280 (arm_init_machine_status): Update calling sequence.
2281 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
33005162 2282 * config/cris/cris.c (cris_init_machine_status): Update
e2500fed
GK
2283 calling sequence.
2284 * config/d30v/d30v.h (struct machine_function): Use gengtype.
33005162 2285 * config/d30v/d30v.c (d30v_init_machine_status): Update
e2500fed
GK
2286 calling sequence.
2287 (d30v_mark_machine_status): Delete.
2288 * config/i386/i386.c: Include gt-i386.h.
2289 (struct machine_function): Use gengtype.
2290 (ix86_init_machine_status): Update calling sequence.
2291 (ix86_mark_machine_status): Delete.
2292 (override_options): Use canonical namke for ix86_mark_machine_status.
2293 * config/ia64/ia64.h (struct machine_function): Use gengtype.
33005162 2294 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
e2500fed
GK
2295 sequence.
2296 (ia64_mark_machine_status): Delete.
33005162 2297 (ia64_override_options): Use canonical name for
e2500fed 2298 ia64_mark_machine_status.
33005162 2299 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
e2500fed
GK
2300 sequence.
2301 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
2302 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
2303 * gengtype.c (get_output_file): Fix warning.
2304 (main): Add prototype to suppress warning.
2305 * tree.c: Remove tree_hash_mark prototype.
2306
2307 * tree.h (init_stmt): Delete prototype.
2308 * toplev.c (lang_independent_init): Don't call init_stmt.
2309 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
2310 (stmt_obstack): Delete.
2311 (POPSTACK): No need to free 'struct nesting'.
2312 (gt_ggc_mr_nesting_cond): Use canonical names.
2313 (gt_ggc_mr_nesting_loop): Use canonical names.
2314 (gt_ggc_mr_nesting_block): Use canonical names.
2315 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
2316 (mark_stmt_status): Delete.
2317 (init_stmt): Delete.
2318 (clear_last_expr): Clear both last_expr_type and last_expr_value.
2319 Use it everywhere that last_expr_type was cleared.
2320 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
2321 (zap_lists): Delete.
2322 * ggc.h (ggc_add_deletable_root): Prototype.
2323 (mark_stmt_status): Remove prototype.
2324 * ggc-common.c (ggc_add_deletable_root): New.
2325 (ggc_mark_roots): Handle deletable roots.
2326 * function.c (ggc_mark_struct_function): Use canonical name
2327 for mark_stmt_status.
2328 * emit-rtl.c (free_sequence_stack): New.
2329 (start_sequence): Use a freelist for sequences.
2330 (end_sequence): Likewise.
2331 (init_emit_once): Add free_sequence_stack as a deleteable root.
2332 * c-pragma.c Include gt-c-pragma.h.
2333 (struct align_stack): Use gengtype.
2334 (push_alignment): Use GGC for struct align_stack.
2335 (mark_align_stack): Delete.
2336 (gt_ggc_mp_align_stack): New.
2337 (init_pragma): Use canonical name for mark_align_stack.
2338 * c-decl.c: Include gt-c-decl.h.
2339 (struct binding_level): Use gengtype.
2340 (make_binding_level): Use GGC; handle the freelist here.
2341 (pop_binding_level): New.
2342 (pushlevel): Move code into make_binding_level.
2343 (push_label_level): Likewise.
2344 (poplevel): Move code into pop_binding_level.
2345 (pop_label_level): Likewise.
2346 (mark_binding_level): Delete.
2347 (gt_ggc_mp_binding_level): New.
2348 (c_init_decl_processing): Use canonical name for mark_binding_level.
2349 Add free_binding_level as deletable root.
2350 (mark_c_function_context): Use canonical name for mark_binding_level.
2351 * Makefile.in (c-decl.o): Add gt-c-decl.h.
2352 (c-pragma.o): Add gt-c-pragma.h.
2353 (GTFILES): Add c-decl.c and c-pragma.c.
2354 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
2355
2356 * tree.c (struct type_hash): Use gengtype.
2357 (init_obstacks): Use canonical name for type_hash_mark.
2358 (type_hash_mark): Delete.
2359 Include gt-tree.h.
2360 * rtl.h (struct mem_attrs): Use gengtype.
2361 * optabs.h (struct optab): Use gengtype.
2362 * optabs.c (expand_binop): Squish signed/unsigned warning.
2363 (mark_optab): Make local, use canonical name, use autogenerated
2364 marker procedure.
2365 (init_optabs): Use canonical name for mark_optab.
2366 (new_optab): Use GGC to allocate optabs.
2367 * ggc.h: Delete mark_optab prototype.
2368 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
2369 mem_attrs marker procedure.
2370 * gengtype.c (get_output_file): Include headers in gtype-desc.c
2371 explicitly rather than deducing them from file names.
2372 (write_gc_structure_fields): Handle arrays of structures.
2373 (main): Return non-zero exit code if errors occur during output.
2374 * emit-rtl.c (mem_attrs_mark): Delete.
2375 (init_emit_once): Use canonical name for mem_attrs marker procedure.
2376 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
2377 (tree.o): Depend on gt-tree.h.
2378 (GTFILES): Add rtl.h, optabs.h, tree.c.
2379 (gt-tree.h): Add it to s-gtype rule.
2380
2381 * .cvsignore: Ignore gengtype flex/bison generated files.
2382 * Makefile.in (GGC_H): Add gtype-desc.h.
2383 (OBJS): Add gtype-desc.o.
2384 (GEN): Add gengtype.
2385 (STAGESTUFF): Add gengtype.
2386 (varasm.o): Add gt-varasm.h.
2387 (stmt.o): Add gt-stmt.h.
2388 (except.o): Add gt-except.h.
2389 (integrate.o): Add gt-integrate.h.
2390 (GTFILES): New.
2391 Add new rules for new files.
2392 * configure: Regenerate.
2393 * configure.in: Correct defaults.h paths.
2394 * emit-rtl.c (mark_sequence_stack): Delete.
2395 (mark_emit_status): Delete.
2396 (start_sequence): Allocate sequence structures using GGC.
2397 (end_sequence): Allocate sequence structures using GGC.
2398 * except.c: Use gengtype for various structures. Include
2399 gt-except.h.
2400 * expr.c (mark_expr_status): Delete.
2401 * function.c: Use gengtype for various structures. Include
2402 gt-function.h.
2403 (mark_function_status): Use standard gt_ggc names for marker functions.
2404 (ggc_mark_struct_function): Likewise.
2405 * function.h: Use gengtype for various structures.
2406 * gengtype-lex.l: New file.
2407 * gengtype-yacc.y: New file.
2408 * gengtype.c: New file.
2409 * gengtype.h: New file.
2410 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
2411 the standard names. Remove some now-unnecessary prototypes.
2412 * integrate.c: Use gengtype for various structures. Include
2413 gt-integrate.h.
2414 (mark_hard_reg_initial_vals): Delete.
2415 * integrate.h (mark_hard_reg_initial_vals): Delete.
2416 * stmt.c: Use gengtype for various structures. Include
2417 gt-stmt.h.
2418 (mark_case_node): Delete.
2419 (mark_goto_fixup): Delete.
2420 (mark_stmt_status): Use standard gt_ggc names for marker functions.
2421 * system.h: Define GTY to empty. In flex/bison files,
2422 don't poison malloc or realloc, instead just define them to
2423 xmalloc and xrealloc.
2424 * varasm.c: Use gengtype for various structures. Include
2425 gt-varasm.h. Use standard gt_ggc names for marker functions.
2426 (mark_pool_constant): Delete.
2427 (mark_varasm_status): Delete.
2428 (decode_rtx_const): #if 0 out non-typesafe hack.
2429
2430 * function.h (free_lang_status): Mark as obsolete.
2431 * function.c (free_lang_status): Mark as obsolete.
2432 * c-decl.c (push_c_function_context): Use GC to allocate and free
2433 struct language_function.
2434 (pop_c_function_context): Likewise.
2435 * c-common.c (mark_c_language_function): Mark struct
2436 language_function.
2437
2438 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
2439 Document that the machine_function structures must be allocated
2440 using GC. Update mark_machine_status documentation.
2441 * function.h: Don't declare free_machine_status.
33005162 2442 * function.c (free_machine_status): Don't define.
e2500fed
GK
2443 (free_after_compilation): Don't call free_machine_status.
2444 (ggc_mark_struct_function): Mark f->machine. Call
2445 mark_machine_status only on non-NULL pointers.
2446 * system.h: Poison free_machine_status.
2447 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
2448 struct machine_function.
2449 (xtensa_free_machine_status): Delete.
2450 (override_options): Don't set free_machine_status.
2451 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
2452 free_machine_status.
2453 (rs6000_init_machine_status): Use GC on struct machine_function.
2454 (rs6000_free_machine_status): Delete.
2455 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
2456 machine_function.
2457 (ia64_mark_machine_status): Likewise.
2458 (ia64_free_machine_status): Delete.
2459 (ia64_override_options): Don't set free_machine_status.
2460 * config/i386/i386.c (override_options): Don't set
2461 free_machine_status.
2462 (ix86_init_machine_status): Use GC on struct machine_function.
2463 (ix86_mark_machine_status): Likewise.
2464 (ix86_free_machine_status): Delete.
2465 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
2466 machine_function.
2467 (d30v_mark_machine_status): Likewise.
2468 (d30v_free_machine_status): Delete.
2469 (d30v_init_expanders): Don't set free_machine_status.
2470 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
2471 machine_function.
2472 (arm_init_machine_status): Likewise.
2473 (arm_free_machine_status): Delete.
2474 (arm_init_expanders): Don't set free_machine_status.
2475 * config/alpha/alpha.c (override_options): Don't set
2476 free_machine_status.
2477 (alpha_init_machine_status): Use GC on struct machine_function.
2478 (alpha_mark_machine_status): Likewise.
2479 (alpha_free_machine_status): Delete.
2480
2481 * varasm.c (compare_constant): Fix typo.
2482
2483 * varasm.c: Don't include obstack.h.
2484 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
2485 (struct rtx_const): Give substructures names, improve formatting.
2486 (struct constant_descriptor): Delete.
2487 (struct constant_descriptor_tree): New, based on constant_descriptor.
2488 (const_hash_table): Is a hash table of trees.
2489 (mark_const_hash_entry): Is used for hashes of trees. Mark
2490 constant_descriptor_tree structure.
2491 (mark_const_str_htab_1): Mark deferred_string structure.
2492 (compare_constant): Rewrite to compare trees.
2493 (compare_constant_1): Delete.
2494 (record_constant): Delete.
2495 (record_constant_1): Delete.
2496 (output_constant_def): Use struct constant_descriptor_tree.
2497 Don't duplicate trees twice.
2498 (struct constant_descriptor_rtx): New.
2499 (struct pool_constant): Used for rtx constants.
2500 (init_varasm_status): Update for change to struct varasm_status.
2501 (mark_varasm_status): Likewise.
2502 (free_varasm_status): Delete.
2503 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
2504 (record_constant_rtx): Likewise.
2505 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
2506 (force_const_mem): Likewise.
2507 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
2508 * function.c (free_after_compilation): Don't use free_varasm_status.
2509 * function.h: Don't prototype free_varasm_status.
2510
2511 * ggc-common.c (ggc_realloc): Handle X being NULL.
2512
2513 * ggc-common.c (ggc_realloc): New function.
2514 * ggc.h: Prototype it.
2515 * emit-rtl.c (free_emit_status): Delete.
2516 (init_emit): Allocate emit subarrays using GC.
2517 (gen_reg_rtx): Reallocate subarrays using GC.
2518 (init_emit): Use GC to allocate 'struct emit_status' and its
2519 subarrays.
2520 (mark_emit_status): Mark structure and its subarrays.
2521 * stmt.c (free_stmt_status): Delete.
2522 * expr.c (free_expr_status): Delete.
2523 * function.h: Remove prototypes for deleted functions.
2524 * function.c (free_after_compilation): Don't use deleted functions.
2525 Don't call free() on x_parm_reg_stack_loc.
2526 (free_after_parsing): Don't use free_stmt_status.
2527 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
2528 (mark_function_status): Mark x_parm_reg_stack_loc.
2529
2530 * varasm.c (init_varasm_status): Use GC to allocate
2531 'struct varasm_status' and its fields x_const_rtx_hash_table
2532 and x_const_rtx_sym_hash_table.
2533 (mark_varasm_status): Mark them.
2534 (free_varasm_status): Use GC to free them.
2535 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
2536 (mark_expr_status): Mark the structure itself.
2537 (free_expr_status): Use GC to free the structure.
2538 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
2539 (mark_stmt_status): Mark the 'struct stmt_status' itself.
2540 (init_stmt_for_function): Allocate the structure for GC.
2541
2542 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
2543 (equate_type_number_to_die): Likewise.
2544 * tree.h (TYPE_SYMTAB_DIE): New macro.
2545 (struct die_struct): Predeclare.
2546 (struct tree_type): Add field symtab.die. Add a tag
2547 to the union type of field symtab.
2548
2549 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
2550 'struct rtvec_def *', not 'struct rtvec_def'.
2551
2552 * function.h (original_arg_vector): Make a real rtvec.
2553 * function.c (ggc_mark_struct_function): Adjust.
2554 * integrate.c (expand_inline_function): Adjust.
2555
b655555e
JT
25562002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
2557
2558 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
2559 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
2560 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
2561 (TARGET_VERSION_CPU): Define according to the
2562 default target.
2563 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
2564 TARGET_VERSION_CPU.
2565 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
2566 if TARGET_SHMEDIA64.
2567 (LINK_DEFAULT_CPU_EMUL): Define according to the
2568 default target.
2569 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
2570 (SUBTARGET_LINK_SPEC): Define.
2571 (LINK_SPEC): Use SH_LINK_SPEC.
2572 (ASM_SPEC): Remove.
2573 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
2574 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
2575 and TARGET_SHMEDIA64 which abort, for now.
2576 * config/sh/t-netbsd-sh5: New file.
2577 * config/sh/t-netbsd-sh5-32: New file.
2578 * config/sh/t-netbsd-sh5-64: New file.
2579
6d8fd7bb
RH
25802002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
2581 Richard Henderson <rth@redhat.com>
2582
2583 * config/alpha/alpha.c (reg_or_const_int_operand): New.
2584 (some_operand, input_operand): Accept CONST_VECTOR.
2585 (alpha_extra_constraint): Add 'W'.
2586 (alpha_expand_zap_mask): New.
2587 (alpha_expand_builtin_vector_binop): New.
2588 (enum alpha_builtin): New.
2589 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
2590 (alpha_init_builtins, alpha_expand_builtin): New.
2591 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
2592 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
2593 (PREDICATE_CODES): Update.
2594 * config/alpha/alpha-protos.h: Update.
2595 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
2596 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
2597 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
2598 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
2599 (movv2si, movv2si_fix, movv2si_nofix): New.
2600 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
2601 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
2602 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
2603 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
2604 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
2605 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
2606 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
2607 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
2608 builtin_unpkbw, unpkbw): New.
2609 * doc/extend.texi (Alpha Built-in Functions): New.
2610
618939de
RH
26112002-06-03 Richard Henderson <rth@redhat.com>
2612
2613 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
2614 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
2615
73db7137
RH
26162002-06-03 Richard Henderson <rth@redhat.com>
2617
6933647a
RH
2618 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
2619
73db7137
RH
2620 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
2621 (const0_operand): New.
2622 (reg_or_fp0_operand, fp0_operand): Remove.
2623 * config/alpha/alpha.h (PREDICATE_CODES): Update.
2624 * config/alpha/alpha-protos.h: Update.
2625 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
2626 and fp0_operand with reg_or_0_operand and const0_operand.
2627
a6f7c915
DN
26282002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
2629
2630 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
2631
b2f02503
RS
26322002-06-03 Roger Sayle <roger@eyesopen.com>
2633
2634 * gcse.c (cprop_jump): Use single_set to get the pattern
2635 from the setcc argument.
2636
4fcc2065
GDR
26372002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
2638
33005162 2639 * diagnostic.h (diagnostic_count): Move from output_buffer to
4fcc2065
GDR
2640 diagnostic_context.
2641 (diagnostic_kind_count): Adjust definition.
2642
5204d665
JH
2643Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
2644
2645 * except.c (except.c): Do not rebuild CFG.
2646 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
2647 optimization.
2648
0478a14c
JH
2649Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
2650
2651 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
2652 * toplev.c: Include cfglahout.h
2653 * Makefile.in (toplev.c): Add dependnecy.
2654
30efe578
NB
26552002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
2656
2657 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
2658 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
2659 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
2660
a782515b
JT
26612002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
2662
2663 * config/ns32k/netbsd.h: Update copyright years.
2664 (TARGET_OS_CPP_BUILTINS): Define.
2665 (CPP_PREDEFINES): Remove.
2666 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
2667 (TARGET_CPU_CPP_BUILTINS): Define.
2668
0fb7aeda
KH
26692002-06-02 Kazu Hirata <kazu@cs.umass.edu>
2670
589005ff 2671 * emit-rtl.c: Fix formatting.
0fb7aeda
KH
2672 * errors.h: Likewise.
2673 * except.c: Likewise.
2674 * explow.c: Likewise.
2675 * expmed.c: Likewise.
2676 * expr.c: Likewise.
2677 * expr.h: Likewise.
2678
1c8ec18b
KH
26792002-06-02 Kazu Hirata <kazu@cs.umass.edu>
2680
2681 * config/h8300/elf.h: Fix formatting.
2682 * config/h8300/rtems.h: Likewise.
2683
86cb04f6
JT
26842002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
2685
2686 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
2687
5d83269d
TT
26882002-06-02 Tom Tromey <tromey@redhat.com>
2689
2690 * fixinc/fixincl.x: Rebuilt.
2691 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
2692
62f6a494
NB
26932002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2694
2695config/i370:
2696 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
2697 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
2698 * mvs.h: Similarly.
2699 * oe.h: Similarly.
2700
0acb0203
JH
2701Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
2702
2703 * final.c (final): Allow notes to not have computed addresses;
2704 kill no longer needed STACK_REGS ifdef.
2705
ada8d98a
RH
27062002-06-02 Richard Henderson <rth@redhat.com>
2707
2708 * gcse.c (bypass_conditional_jumps): Fix typo last change.
2709
ba4f7968
JH
2710Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
2711
ada8d98a
RH
2712 * loop.c (emit_prefetch_instructions): Properly place the address
2713 computation.
ba4f7968
JH
2714
2715Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
2716
2717 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
2718 (set_block_for_insn): Turn into macro.
2719 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
2720 * cfglayout.c (insn_scopes): Kill.
2721 (scope_to_insns_initialize): Do not use insn_scopes.
2722 (scope_to_insns_finalize): Likewise.
2723 (duplicate_insn_chain): Likewise.
2724 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
2725 * cfgrtl.c (basic_block_for_insn): Kill.
2726 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
2727 (create_basic_block_structure): Use reorder_insns.
2728 (compute_bb_for_insn): Do not use basic_block_for_insn.
2729 (merge_blocks_nomove): Likewise.
2730 (update_bb_for_insn): Likewise.
2731 (verify_flow_info): Likewise.
2732 (set_block_for_insn): Kill.
2733 * combine.c (try_combine): Update gen_rtx_INSN call.
2734 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
2735 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
2736 scopes and BBs.
2737 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
2738 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
2739 Clear BB.
2740 (emit_insns_after): Simplify.
2741 (emit_copy_of_insn_after): Copy scope.
2742 * final.c (final_start_function): Lower scopes.
2743 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
2744 * integrate.c (copy_insn_list): Cope scopes.
2745 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
2746 * loop.c (loop_optimize): Do not care block notes.
2747 * print-rtl.c (print_rtx): Print BB.
2748 * recog.c (apply_change_group): Simplify.
2749 * rtl.c (copy_rtx): Handle 'B'.
2750 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
2751 * rtl.h (Field accessors): Update indexes.
2752 * sched-ebb.c (schedule_ebbs): Do not lower notes.
2753 * sched-rgn.c (schedule_insns): Likewise.
2754 * toplev.c (rest_of_compilation): Lower notes.
2755 * unroll.c (unroll_loop): Do not care scoping notes.
2756 (copy_loop_body): Copy scopes.
2757
537fc532
NB
27582002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2759
2760config/h8300:
2761 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
2762 SUBTARGET_SPEC.
2763 * rtems.h: Similarly.
2764 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
2765 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
2766 (TARGET_CPU_CPP_BUILTINS): Use.
2767
ab780373
RH
27682002-06-02 Richard Henderson <rth@redhat.com>
2769
2770 * alias.c: Include target.h.
2771 (mark_constant_function): Use targetm.binds_local_p instead
2772 of checking TREE_PUBLIC ourselves.
2773 * Makefile.in (alias.o): Add TARGET_H.
2774
b9305c66
NB
27752002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2776
2777 * c-lex.c: Update copyright and file description.
2778
0ac3e0c4
NB
27792002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2780
2781 * config/fr30/fr30.h: Update to new CPP macros.
2782
be3a1d46
NB
27832002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2784
2785 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
2786
ceeedfc1 27872002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
a8fd5963 2788 Zack Weinberg <zack@codesourcery.com>
ceeedfc1
NB
2789
2790 * c-common.c (c_common_init): Override cpplib's default
2791 warn_long_long setting.
2792 * c-lex.c (lex_number): Replace with interpret_integer,
2793 interpret_float, narrowest_unsigned_type and
2794 narrowest_signed_type, taking advantage of the new
2795 cpplib functionality.
2796 * cpperror.c (_cpp_begin_message): If a warning is turned
2797 into an error, avoid printing "warning:".
2798 * cppexp.c (cpp_num_sign_extend): New.
2799 * cppinit.c: Update comment.
2800 * cpplib.h (cpp_num_sign_extend): New.
2801 * tree.h: Update comment.
2802
27e511e0
GDR
28032002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
2804
2805 * diagnostic.h (struct diagnostic_context): Add new member
33005162 2806 internal_error.
27e511e0
GDR
2807 (internal_error_function): Remove declaration.
2808 * diagnostic.c (internal_error_function): Remove definition..
2809 (internal_error): Adjust use.
2810
818b6b7f
RH
28112002-06-02 Richard Henderson <rth@redhat.com>
2812
2813 * rtl.h (CC0_P): New.
2814 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
2815 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
2816 (bypass_block): Save old dest block for dump text.
2817 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
2818 Allow only true SET insns, not single_set.
2819
167143a0
GDR
28202002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
2821
2822 * diagnostic.c (diagnostic_finish): Rename to output_flush.
2823 (clear_disgnostic_info): Rename to output_clear_data. Use false
2824 instead of 0 for boolean value.
2825 Adjust function call throughout.
2826
eae4bc56
JH
2827Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
2828
2829 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
2830 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
2831
9eb404a0
NB
28322002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2833
2834 * d30v.h (CPP_PREDEFINES): Replace with
2835 (TARGET_CPU_CPP_BUILTINS): New.
2836
53e8b0b8
RS
28372002-06-02 Roger Sayle <roger@eyesopen.com>
2838
2839 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
2840
92e34b67
JH
2841Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
2842
2843 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
2844
e7e9d242
RH
28452002-06-02 Richard Henderson <rth@redhat.com>
2846
2847 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
2848
9af145ae
MM
28492002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
2850
2851 Support for C++ constructors/destructors.
2852 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
2853 instead of looping if main() returns.
2854 (asm_file_start): Output global symbols that cause .data and .bss
2855 initialization code to be linked in, unconditionally for now.
2856 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
2857 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
2858 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
2859 (LIBSTDCXX): New.
2860 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
2861 (__tablejump__): New.
2862 (__do_copy_data, __do_clear_bss): New.
2863 (__do_global_ctors, __do_global_dtors): New.
2864 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
2865 _ctors, _dtors.
2866
0d66ad57
NB
28672002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
2868
2869 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
2870 (CPP_SPEC, CPP_PREDEFINES): Kill.
2871 * c4x/rtems.h (CPP_PREDEFINES): Kill.
2872 (TARGET_OS_CPP_BUILTINS): New.
2873
5c856b23
JH
2874Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
2875
2876 * Makefile.in (tracer.o): New.
2877 * params.def (TRACER_*): New options.
2878 * rtl.h (tracer): Declare.
2879 * timevar.def (TV_TRACER): New.
2880 * toplev.c (dump_file_index): Add DFI_tracer.
2881 (dump_file_info): Add tracer.
2882 (flag_tracer): New.
2883 (lang_indepdenent_options): Add tracer.
2884 (rest_of_compilation): Call tracer.
2885 * tracer.c: New file.
2886 * invoke.texi (-ftracer): Document.
2887 (--param tracer-*): Document.
2888
e2405951
DB
28892002-06-01 Daniel Berlin <dberlin@dberlin.org>
2890
2891 * tree-inline.c (expand_call_inline): Make the statement
33005162 2892 expression we generate have a COMPOUND_STMT.
e2405951 2893
0e3f0221
RS
28942002-06-01 Roger Sayle <roger@eyesopen.com>
2895
2896 * gcse.c (cprop_cc0_jump): Function deleted.
2897 (cprop_jump): Take an additional argument which is the possibly
2898 NULL cc setting insn immediately before the conditional jump.
2899 When a MODE_CC set is present, substitute it into the JUMP_INSN
2900 before attempting the constant propagation.
2901 (cprop_insn): Recognize cc setters followed by conditional jumps
2902 as a special case. Use cprop_jump instead of cprop_cc0_jump.
2903 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
2904 (find_bypass_set): New function based upon find_avail_set used by
2905 cprop, but finds constant expressions available at the end of
2906 basic blocks.
2907 (bypass_block): New function. Given a basic block that begins
2908 with a conditional jump and multiple incoming edges, perform
2909 the jump bypass optimization.
2910 (bypass_conditional_jumps): New function. Call bypass_block with
2911 each suitable basic block in the CFG using a simple single pass.
2912
378393da
RS
29132002-06-01 Roger Sayle <roger@eyesopen.com>
2914
2915 * tree.c (real_minus_onep): New function to test for -1.0.
2916 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
2917
01c58f26
RS
29182002-06-01 Roger Sayle <roger@eyesopen.com>
2919
2920 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
2921 and "!p && !q" into "(p|q) == 0" under suitable conditions.
2922
91b12472
AJ
29232002-06-01 Andreas Jaeger <aj@suse.de>
2924
2925 * cppexp.c (cpp_classify_number): Cast precission to int for
2926 correct printf format.
2927
01e9ae86
MM
29282002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
2929
2930 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
2931 expected, but don't really exist: atmega83, atmega85, attiny10.
2932 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
2933 emulations for all devices.
2934 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
2935 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
2936
be1e06df
KH
29372002-06-01 Kazu Hirata <kazu@cs.umass.edu>
2938
2939 * config/h8300/h8300-protos.h: Add a prototype for
2940 h8300_shift_needs_scratch_p.
2941 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
2942 * config/h8300/h8300.h (OK_FOR_R): New.
2943 (OK_FOR_S): Likewise.
2944 (OK_FOR_T): Likewise.
2945 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
2946 * config/h8300/h8300.md (anonymous shift patterns): Use
2947 constraints R, S, and T.
2948
2ecfd709
ZD
2949Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2950
2951 * basic-block.h (struct basic_block_def): New field loop_father.
2952 (BB_VISITED): New flag.
2953 (struct loop): New field pred, removed field shared.
2954 (struct loops): New field parray.
2955 (LOOP_EXITS_DOMS): Removed.
2956 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
2957 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
2958 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
2959 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
2960 verify_loop_structure): Declare.
2961 * cfg.c (entry_exit_blocks): Initialize loop_father field.
2962 * cfganal.c (dfs_enumerate_from): New function.
2963 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
2964 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
2965 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
2966 flow_loop_dump, flow_loops_dump, flow_loops_free,
2967 flow_loop_tree_node_add, flow_loop_level_compute,
2968 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
2969 flow_loop_outside_edge_p): Modified for new infrastructure.
2970 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
2971 redirect_edge_with_latch_update, flow_loop_free): New static functions.
2972 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
2973 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
2974 find_common_loop, verify_loop_structure, loop_latch_edge,
2975 loop_preheader_edge): New functions.
2976 (flow_loops_cfg_dump): Do not show dominators, as this information
2977 does not remain up to date long.
2978 (flow_loops_find): Store results in new format.
2979 * predict.c (propagate_freq, estimate_probability,
2980 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
2981 infrastructure.
2982
d9763749 29832002-06-01 Alan Lehotsky <apl@alum.mit.edu>
91b12472 2984
d9763749
AL
2985 * except.c (nothrow_function_p): Walk epilogue delay list
2986 checking the insn, not the chain for potential throws.
91b12472 2987
1e730c5c
ZW
29882002-05-31 Zack Weinberg <zack@codesourcery.com>
2989
2990 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
2991 (install): Refer to install-cpp directly.
2992 (uninstall-cpp): Folded into uninstall rule.
2993 * configure.in: Delete all code relating to --disable-cpp.
2994 * configure: Regenerate.
2995 * config/t-install-cpp: Delete.
2996
6f9b006d
RH
29972002-05-31 Richard Henderson <rth@redhat.com>
2998
2999 * configure.in (HAVE_AS_TLS): Add alpha tests.
3000 * configure: Rebuild.
3001 * config/alpha/alpha.c (TARGET_AS_TLS): New.
3002 (alpha_tls_size, alpha_tls_size_string): New.
3003 (overide_options): Set it. Always install machine_status hooks.
3004 (input_operand): Accept got tls predicates.
3005 (local_symbol_p): Merge into ...
3006 (local_symbolic_operand): ... here. Reject tls symbols.
3007 (global_symbolic_operand): Likewise.
3008 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
3009 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
3010 (tp16_symbolic_operand, tp32_symbolic_operand): New.
3011 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
3012 (alpha_encode_section_info): Handle TLS symbols.
3013 (alpha_strip_name_encoding): Likewise.
3014 (alpha_legitimate_address_p): Likewise.
3015 (alpha_legitimize_address): Likewise.
3016 (alpha_expand_mov): Early exit to avoid nop moves.
3017 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
3018 (alpha_init_machine_status, alpha_mark_machine_status,
3019 alpha_free_machine_status): Always define.
3020 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
3021 (print_operand, print_operand_address): Add TLS relocs.
3022 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
3023 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
3024 (TARGET_SWITCHES): Add -mtls-kernel.
3025 (alpha_tls_size, alpha_tls_size_string): New.
3026 (TARGET_OPTIONS): Add -mtls-size=.
3027 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
3028 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
3029 (ASM_OUTPUT_LABELREF): Skip %.
3030 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
3031 (PREDICATE_CODES): Update.
3032 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
3033 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
3034 UNSPEC_TP, UNSPECV_SET_TP): New.
3035 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
3036 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
3037 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
3038 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
3039 (call_value_osf_2_er): Accept anything as op4.
3040 * config/alpha/alpha-protos.h: Update.
3041 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
3042
39e5db1a
ZW
30432002-05-31 Zack Weinberg <zack@codesourcery.com>
3044
3045 * cppinit.c (append_include_chain): Always pay attention to
3046 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
3047 marker on argument.
3048
41077ce4
KH
30492002-05-31 Kazu Hirata <kazu@cs.umass.edu>
3050
3051 * target.h: Fix formatting.
3052 * timevar.h: Likewise.
3053 * tlink.c: Likewise.
3054 * toplev.c: Likewise.
3055 * toplev.h: Likewise.
3056 * tree.c: Likewise.
3057 * tree-dump.h: Likewise.
3058 * tree.h: Likewise.
3059 * tree-inline.h: Likewise.
3060 * unroll.c: Likewise.
3061 * unwind-dw2.c: Likewise.
3062 * unwind-dw2-fde.c: Likewise.
3063 * unwind-dw2-fde-glibc.c: Likewise.
3064 * unwind-dw2-fde.h: Likewise.
3065 * unwind.h: Likewise.
3066 * unwind-sjlj.c: Likewise.
3067 * varasm.c: Likewise.
3068 * varray.h: Likewise.
3069 * vmsdbg.h: Likewise.
3070 * vmsdbgout.c: Likewise.
3071 * xcoffout.h: Likewise.
3072
b2e426a0
IS
30732002-05-31 Igor Shevlyakov <igor@microunity.com>
3074
1e730c5c 3075 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
b2e426a0
IS
3076 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
3077
8b968bd1
MW
30782002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
3079
3080 * gcc.c (cpp_unique_options): Remove "-d" options.
3081 (cpp_debug_options): New spec string.
3082 (default_compilers): Use it.
3083 * objc/lang-specs.h: Likewise.
3084
5c35940c
NN
30852002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
3086
1e730c5c 3087 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
5c35940c
NN
3088 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
3089 * gcc/mklibgcc.in: Likewise.
3090 * gcc/config/arc/t-arc: Likewise.
3091 * gcc/configure.in: Likewise.
3092 * gcc/configure: Regenerate.
3093
8b496ceb
SS
30942002-05-31 Stan Shebs <shebs@apple.com>
3095 Turly O'Connor <turly@apple.com>
3096
3097 * c-decl.c (struct binding_level): Change int field n_incomplete
3098 to tree list incomplete_list.
3099 (clear_binding_level): Init field with NULL.
3100 (pushdecl): Add incomplete type to list.
3101 (mark_binding_level): Mark the incomplete list.
3102 (finish_struct): Scan the incomplete list for types instead
3103 of all decls in the current binding level.
3104
4722213d
JDA
31052002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
3106
3107 * pa.c (output_millicode_call): Add missing '%' characters.
3108 (output_call): Likewise.
3109
1086fcb1
DE
31102002-05-31 David Edelsohn <edelsohn@gnu.org>
3111
3112 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
3113 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
3114
afdfb380 31152002-05-31 Alan Lehotsky <apl@alum.mit.edu>
91b12472 3116
afdfb380
AL
3117 * varasm.c (mark_constant_pool): Walk epilogue delay list
3118 checking the insn, not the chain for potential constants.
1e730c5c 3119
f2df45f6
R
3120Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
3121
3122 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
3123
91ea38f9
JH
3124Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
3125
3126 * i386.c (classify_argument): Properly handle base types.
3127
3128 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
3129 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
3130 registers.
3131
10d1bb36
JH
3132Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
3133
3134 * gcse.c (gcse_emit_move_after): New.
3135 (pre_delete, hoist_store): Use it.
3136
3137 * reload1.c (emit_input_reload_insns): Use constrain_operands
3138 instead of constraint_accepts_reg_p to verify optimization.
3139 (constraint_accepts_reg_p): Kill
3140
3141 * reload1.c (reload_cse_delete_noop_set): Kill.
3142 (reload_cse_simplify): use delte_insn_and_edges.
3143
8a72fb76
ZD
31442002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3145
3146 * cfgloop.c (flow_loops_find): Initialize first and last fields
3147 correctly.
3148
a9da2e5b
NB
31492002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
3150
3151 * c-common.c (builtin_define_std): Correct logic.
3152
6248c4dd
JDA
31532002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
3154
3155 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
3156 (output_call): Likewise.
3157
d499455b
JDA
31582002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
3159
3160 * pa.c: Move output.h include after tree.h include.
3161 (pa_asm_output_mi_thunk): Constify identifier lab.
3162
2eb2901a
JT
31632002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
3164
3165 * config/ns32k/ns32k.h: Define named constants for the
3166 bits in target_flags and use them.
3167 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
3168
806bf413
JDA
31692002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
3170
3171 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
3172 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
3173 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
3174 default scheduling model.
3175 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
3176 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
3177 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
3178 * doc/install.texi (hppa*-*-*): Document default scheduling.
3179
6d8d2bbc
JDA
31802002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
3181
3182 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
3183
c8eb9785
JT
31842002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
3185
3186 * config.gcc (ns32k-*-netbsd*): Set tm_file to
3187 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
3188 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
3189 netbsd.h, or netbsd-aout.h.
3190
6e2e5b6a
JT
31912002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
3192
3193 * longlong.h (count_trailing_zeros): Add missing \, and clean up
3194 whitespace in __ns32000__ case.
3195
00182e1e
AH
31962002-05-31 Aldy Hernandez <aldyh@redhat.com>
3197
1e730c5c
ZW
3198 * expr.c (expand_expr): Output partially zeroed out vectors with
3199 output_constant_def.
00182e1e 3200
b4eb03fe
JT
32012002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
3202
3203 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
3204 (sh-*-netbsdelf*)
3205 (shl*-*-netbsdelf*): New targets.
3206 * config/sh/netbsd-elf.h: New file.
8fd0df91 3207 * config/sh/t-netbsd: New file.
b4eb03fe 3208
261376e7
RH
32092002-05-30 Richard Henderson <rth@redhat.com>
3210 Eric Botcazou <ebotcazou@multimania.com>
3211
3212 PR optimization/6822
3213 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
3214 to unsigned int for op1 comparisons. Use gen_int_mode.
3215
ce60bf25
EB
32162002-05-30 Eric Botcazou <ebotcazou@multimania.com>
3217
3218 * expmed.c (const_mult_add_overflow_p): New.
3219 * expr.h: Declare it.
3220 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
3221 Don't eliminate the biv if the giv has a constant multiplier and
3222 the rhs argument of the comparison does satisfy the predicate.
3223 Use expand_mult_add to compute the replacement constant.
3224
d18b1ed8
OS
32252002-05-30 Osku Salerma <osku@iki.fi>
3226
3227 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
3228 (c_common_get_alias_set): Handle it.
3229 * doc/extend.texi: Document it.
3230
a7943381
RH
32312002-05-30 Richard Henderson <rth@redhat.com>
3232
3233 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
3234 * toplev.c (process_options): Don't check it.
3235 * doc/tm.texi: Don't document it.
3236 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
3237 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
3238 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
3239 frame pointer optimization if current_function_profile.
3240
e11e816e
KH
32412002-05-30 Kazu Hirata <kazu@cs.umass.edu>
3242
3243 * langhooks.c: Fix formatting.
3244 * langhooks.h: Likewise.
3245 * lcm.c: Likewise.
3246 * libgcc2.c: Likewise.
3247 * lists.c: Likewise.
3248 * local-alloc.c: Likewise.
3249 * loop.c: Likewise.
3250 * loop.h: Likewise.
3251
32522002-05-30 Marc Espie <espie@openbsd.org>
3253
3254 * config.gcc (sparc64-*-openbsd*): New.
3255 * config/sparc/openbsd1-64.h: New.
3256 * config/sparc/openbsd64.h: New.
91f0fcee 3257
d35dfca9
JL
32582002-05-30 Jeff Law <law@redhat.com>
3259
3260 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
3261 a dead insn with a REG_RETVAL note when the entire libcall is not
3262 dead and remove the associated REG_LIBCALL note at the same time.
3263
81b40b72
R
3264Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
3265
3266 * lcm.c (output.h): #include.
3267 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
3268 as an ordinary block.
3269 (optimize_mode_switching): Don't pretend that the exit block is
3270 an ordinary block, or handle sucessors of entry block specially.
3271 Instead, split edges from entry block and to exit block, and
3272 put a computing definition on the thus gained post-entry-block,
3273 and a need on the pre-exit-block.
3274
c8ea9a0f
JH
3275Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
3276
3277 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
3278 * rtl.texi: Document 'B'
3279
348f0869
JT
32802002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
3281
3282 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
3283 at run-time.
3284 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
3285
9a171fcd
AH
32862002-05-30 Aldy Hernandez <aldyh@redhat.com>
3287
1e730c5c
ZW
3288 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
3289 const0_rtx instead of NULL_RTX when in error.
3290 (altivec_expand_abs_builtin): Same.
3291 (rs6000_expand_binop_builtin): Same.
3292 (altivec_expand_predicate_builtin): Same.
3293 (altivec_expand_stv_builtin): Same.
3294 (rs6000_expand_ternop_builtin): Same.
3295 (altivec_expand_builtin): Same.
9a171fcd 3296
62a35e60
DM
32972002-05-29 David S. Miller <davem@redhat.com>
3298
3299 * rtl.h (clear_emit_caches): Delete.
3300 * integrate.c (output_inline_function): Don't call it.
3301 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
3302 (clear_emit_caches): Delete definition.
3303 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
3304
cbc39da8
HPN
33052002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
3306
3307 * config/mmix/mmix.c: Include real.h.
3308 (mmix_constant_address_p): Remove redundant test before switch.
3309
50efa737
JT
33102002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
3311
3312 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
3313 only if not already defined.
3314
2e760b15
KH
33152002-05-29 Kazu Hirata <kazu@cs.umass.edu>
3316
3317 * config/h8300/h8300-protos.h: Remove prototypes for
3318 ok_for_bclr and small_power_of_two.
3319 * config/h8300/h8300.c (small_power_of_two): Remove.
3320 (ok_for_blcr): Likewise.
3321 (fix_bit_operand): Make WHAT deal with an integer instead of a
3322 constraint character.
3323 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
3324 (CONST_OK_FOR_P): Likewise.
3325 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
3326 CONST_OK_FOR_P any more.
3327 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
3328 of fix_bit_operand.
3329 (iorqi3): Likewise.
3330 (xorqi3): Likewise.
3331
e1c293ae
JT
33322002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
3333
3334 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
3335 (CPP_PREDEFINES): Make sure this is undefined.
3336 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
3337 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
3338 or -U__MIPSEB__ before defining one or the other. Instead,
3339 use %(subtarget_endian_default) if neither -EB nor -EL are
3340 specified.
3341 (SUBTARGET_EXTRA_SPECS): Define.
3342 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
3343 %(netbsd_cpp_spec).
3344
fde6d81f
HPN
33452002-05-29 Hans-Peter Nilsson <hp@axis.com>
3346
3347 * doc/md.texi (Patterns): Note pattern condition pitfall
3348 for unnamed insn.
3349
92898235
AH
33502002-05-29 Aldy Hernandez <aldyh@redhat.com>
3351
1e730c5c
ZW
3352 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
3353 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
3354 ternary operations from here...
3355 (rs6000_expand_builtin): ...to here.
3356 New argument expandedp.
3357 Change all instances of altivec_expand_binop_builtin to
3358 rs6000_expand_binop_builtin.
3359 (altivec_expand_unop_builtin): Rename to
3360 rs6000_expand_unop_builtin.
3361 (altivec_expand_binop_builtin): Rename to
3362 rs6000_expand_binop_builtin.
3363 (altivec_expand_ternop_builtin): Rename to
3364 rs6000_expand_ternop_builtin.
92898235 3365
67adf6a9
RH
33662002-05-29 Richard Henderson <rth@redhat.com>
3367
3368 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
3369 (TARGET_BI_ARCH): Likewise.
3370 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
3371 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
3372 (TARGET_64BIT_DEFAULT): Default to 0.
3373 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
3374
145aacc2
RH
33752002-05-29 Richard Henderson <rth@redhat.com>
3376
3377 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
3378 (get_pc_thunk_name): New.
3379 (output_set_got): Use it.
3380 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
3381 into linkonce sections.
3382
a5b49bbc
JT
33832002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
3384
3385 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
3386 (CPP_PREDEFINES): Make sure this is undefined.
3387 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
3388 (CPP_SUBTARGET_SPEC): Don't provide different versions for
3389 default-32 and default-64. Just always use %(netbsd_cpp_spec).
3390 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
3391 cpp_subtarget_spec64. Add netbsd_cpp_spec.
3392 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
3393 (CPP_PREDEFINES): Make sure this is undefined.
3394 (SUBTARGET_EXTRA_SPECS): Define.
3395 (CPP_SPEC): Use %(netbsd_cpp_spec).
3396
54374491
JL
33972002-05-29 Jeff Law <law@redhat.com>
3398
ae02eae8
JL
3399 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
3400
b862c2aa
JL
3401 * flow.c (propagate_one_insn): Do not remove a dead insn if it
3402 contains a REG_RETVAL note.
3403
d10791ba
JL
3404 * haifa-sched (sched_analyze): Remove another useless clearing
3405 of SCHED_GROUP_P I missed yesterday.
3406
54374491
JL
3407 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
3408 * pa.c (pa_asm_output_mi_thunk): New function.
3409 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
3410
92c392e6
NB
34112002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
3412 Marek Michalkiewicz <marekm@amelek.gda.pl>
3413
3414 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
3415 (avr_asm_only_p): Make non-static.
3416 (enum avr_arch): Remove.
3417 (avr_arch_types): New.
3418 (avr_mcu_types): Update.
3419 (avr_override_options): Use avr_arch_types table instead of switch.
3420 * avr.h (CPP_PREDEFINES): Die.
3421 (avr_base_arch_macro, avr_extra_arch_macro): New.
3422 (TARGET_CPU_CPP_BUILTINS): New.
3423 (CPP_SPEC, EXTRA_SPECS): Simplify.
3424 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
3425 CPP_AVR5_SPEC): Die.
3426
4528173e
JT
34272002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
3428
3429 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
3430 NETBSD_OS_CPP_BUILTINS_AOUT.
3431 (SUBTARGET_EXTRA_SPECS): Define.
3432 (CPP_SPEC): Use %(netbsd_cpp_spec).
3433
bd09bdeb
RH
34342002-05-29 Richard Henderson <rth@redhat.com>
3435
3436 * config/i386/i386.c (ix86_output_function_epilogue): New.
3437 (TARGET_ASM_FUNCTION_EPILOGUE): New.
3438 (pic_label_name): Remove.
3439 (pic_labels_used): New.
3440 (ix86_asm_file_end): Emit one pc load stub for each register used.
3441 (output_set_got): Generate deep pc load to any register.
3442 (ix86_select_alt_pic_regnum): New.
3443 (ix86_save_reg): Don't save pic register if we can find a valid
3444 call-clobbered replacement.
3445 (ix86_expand_prologue): If we found a valid replacement, renumber
3446 pic_offset_table_rtx.
3447 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
3448 pic_offset_table_rtx after reload.
3449 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
3450 * config/i386/i386.md (set_got): Make insn, not expander.
3451 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
3452
002ff5bc
RH
34532002-05-29 Richard Henderson <rth@redhat.com>
3454
3455 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
3456 alignment for alloca.
3457
edfe8595
RH
34582002-05-29 Richard Henderson <rth@redhat.com>
3459
3460 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
3461 (print_operand_address): Only add rip for symbolic addresses
3462 for which we do not have another relocation type.
3463
cd7714ee
JT
34642002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
3465
3466 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
3467 (EXTRA_SPECS): Add netbsd_cpp_spec.
3468 (CPP_SPEC): Use %(netbsd_cpp_spec).
3469 (CPP_PREDEFINES): Remove.
3470 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
3471 (EXTRA_SPECS): Define.
3472 (CPP_SPEC): Use %(netbsd_cpp_spec).
3473 (CPP_PREDEFINES): Remove.
3474
8dc901de
NB
34752002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
3476
3477 PR preprocessor/6844
3478 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
3479 NUL.
3480
2274b31a
EC
34812002-05-29 Eric Christopher <echristo@redhat.com>
3482
3483 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
3484 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
3485
5c7666c1
NC
34862002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
3487
3488 * config/fr30/fr30.md: Remove previous restriction on splits.
3489 Enforce conformance through gen_lowpart and cont_int_operand.
1e730c5c 3490 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
5c7666c1
NC
3491 as the assembler does not support ".bss".
3492
45beef47
JT
34932002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
3494
3495 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
3496 (CPP_PREDEFINES): Remove.
3497 (SUBTARGET_EXTRA_SPECS): Define.
3498 (CPP_SPEC): Use %(netbsd_cpp_spec).
3499 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
3500 (CPP_PREDEFINES): Remove.
3501 (SUBTARGET_EXTRA_SPECS): Define.
3502 (CPP_SPEC): Use %(netbsd_cpp_spec).
3503 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
3504 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
3505 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
3506 Add netbsd_cpp_spec.
3507 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
3508
cd7ab83f
NB
35092002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
3510 Zack Weinberg <zack@codesourcery.com>
3511
3512 * cppexp.c (cpp_num): Move to cpplib.h.
3513 (CPP_ERROR): Remove.
3514 (interpret_float_suffix, interpret_int_suffix): New.
3515 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
3516 (cpp_classify_number, cpp_interpret_integer): New.
3517 (interpret_number): Remove.
3518 (eval_token): Update to use new routines.
3519 * cpphash.h (cpp_num_part): Move to cpplib.h.
3520 * cppinit.c (cpp_post_options): Set warn_long_long.
3521 * cpplib.h (struct cpp_options): Add warn_long_long.
3522 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
3523 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
3524 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
3525 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
3526 cpp_interpret_integer): New.
3527
61a8515c
JS
35282002-05-29 Joel Sherrill <joel@OARcorp.com>
3529
3530 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
3531
53a428b5
JT
35322002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
3533
3534 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
2274b31a
EC
3535 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
3536 (CPP_SUBTARGET_SPEC): Define.
3537 (SUBTARGET_EXTRA_SPECS): Define.
53a428b5
JT
3538 (CPP_SPEC): Remove.
3539
45b1f7c7
CL
35402002-05-29 Chris Lattner <sabre@nondot.org>
3541
1e730c5c
ZW
3542 * ssa.c (rename_insn_1): Rename uses of undefined registers to
3543 prevent confusion if/when the register is defined.
45b1f7c7 3544
049746c2
HPN
35452002-05-29 Hans-Peter Nilsson <hp@axis.com>
3546
3547 PR target/6838
3548 * config/cris/cris.md: Fix typos and thinkos in comments.
3549 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
3550 second alternative.
3551 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
3552 ("*mov_sideqi_mem"): Similar, but for operand 3.
3553 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
3554 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
3555 Remove spurious mode specifier on operand 2.
3556
4d4d89e2
KH
35572002-05-29 Kazu Hirata <kazu@cs.umass.edu>
3558
3559 * config/h8300/h8300-protos.h: Remove the prototype for
3560 o_operand.
3561 Add prototypes for single_one_operand and single_zero_operand.
3562 * config/h8300/h8300.c (o_operand): Remove.
3563 (single_one_operand): New.
3564 (single_zero_operand): Likewise.
3565 (print_operand): For 'V' operand, and the operand with 0xff.
3566 For 'V' and 'W' operands, do not and the bit position with 7.
3567 * config/h8300/h8300.md (various anonymous patterns): Replace
3568 use of exact_log2 with single_one_operand/single_zero_operand.
3569
abd6ddec
UW
35702002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
3571
3572 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
3573
da06d85a
UW
35742002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
3575
3576 * config/s390/s390.c (legitimate_pic_operand_p): Do not
3577 accept symbolic LARL operands.
2274b31a 3578 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
da06d85a 3579 epilogue insns.
2274b31a 3580
f8766020
HP
35812002-05-29 Hartmut Penner <hpenner@de.ibm.com>
3582
3583 * config/s390/s390.md (cmpstr_64/31): Mark whole
2274b31a 3584 input registers as used.
f8766020 3585
66edd3b4
RH
35862002-05-28 Richard Henderson <rth@redhat.com>
3587
3588 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
3589 not current_function_uses_pic_offset_table and
3590 current_function_uses_const_pool; examine current_function_profile.
3591 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
3592 input to blockage if needed.
3593 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
3594 (legitimize_pic_address): Likewise. Set regs_ever_live for
3595 pic_offset_table_rtx when invoked during reload.
3596 * config/i386/i386.h (FINALIZE_PIC): Remove.
3597 * config/i386/i386.md (tablejump): Reformat. Do not set
3598 current_function_uses_pic_offset_table.
3599 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
3600 (blockage): Accept anything as operand 0.
3601
52f4fff6
JT
36022002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
3603
3604 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
3605 common CPP built-ins for all NetBSD a.out targets.
3606 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
3607 common CPP built-ins for all NetBSD ELF targets.
3608 * config/netbsd.h: Add missing notice.
3609 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
3610 for all NetBSD targets.
3611 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
3612 for all NetBSD targets using an LP64 code model.
3613 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
3614 NetBSD targets.
3615
e0e577a2
RH
36162002-05-28 Richard Henderson <rth@redhat.com>
3617
3618 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
3619 update if UPDATE_LIFE_LOCAL.
3620
36212002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
62526ec3
TM
3622
3623 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
3624
f1a58d92 3625Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1e730c5c 3626 Jason R. Thorpe <thorpej@wasabisystems.com>
f1a58d92
R
3627
3628 config/sh reorganization to factor out endianness and coff:
3629
3630 * config/sh/little.h: New file.
1e730c5c
ZW
3631 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
3632 defined, define to 0 to select big-endian.
f1a58d92 3633 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
1e730c5c
ZW
3634 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
3635 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
3636 * config/sh/t-be: New file.
3637 * config/sh/t-le: New file.
f1a58d92
R
3638
3639 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
3640 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
3641 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
3642 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
3643 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
3644 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
3645 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
3646 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
3647 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
3648 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
3649 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
3650 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
3651 (LINK_SPEC): Define to SH_LINK_SPEC.
3652 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
3653 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
3654 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
3655 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
3656 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
3657 * config/sh/coff.h: New file.
3658 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
3659 (TARGET_OBJFMT_CPP_BUILTINS): Define.
3660 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
3661 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
3662 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
3663 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
3664 (PTRDIFF_TYPE): Likewise.
3665 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
3666 (CPP_PREDEFINES): Don't define.
3667 (TARGET_OBJFMT_CPP_BUILTINS): Define.
3668 (LINK_SPEC): Define to SH_LINK_SPEC.
3669 (LINK_EMUL_PREFIX): Redefine.
3670 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
3671 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
3672 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
3673 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
3674 (TARGET_OS_CPP_BUILTINS): Define.
3675 (TARGET_DEFAULT): Redefine.
3676 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
3677 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
3678 (LINK_SPEC): Don't redefine.
3679 (LINK_DEFAULT_CPU_EMUL): Redefine.
3680 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
3681 * sh.c (sh_asm_named_section): Don't declare / define.
3682 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
3683 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
3684 (sh64-*-elf* tm_file): Likewise.
3685 (sh-*-rtemself* tm_file): Likewise.
3686 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
3687 (sh-*-linux* tmake_file): Add sh/t-le.
3688 (sh-*-rtems* tm_file): Add sh/coff.h
3689 (sh-*-* tm_file): Likewise.
3690
3691Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
3692
3693 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
3694 CONSTANT_POOL_ADDRESS_P.
3695
3696 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
3697
d10791ba 36982002-05-28 David Edelsohn <edelsohn@gnu.org>
33a3dfc4
DE
3699 Jeff Law <law@redhat.com>
3700
64de6c0a
DE
3701 * optabs.c (expand_binop): Fix nwords sign warnings.
3702 generate pseudo for add_optab.
3703
33a3dfc4
DE
3704 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
3705 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
3706
972957ba 37072002-05-28 Marc Espie <espie@openbsd.org>
33a3dfc4 3708
2274b31a 3709 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
972957ba
ME
3710 inherited from gas.h.
3711 (ASM_QUAD): Undef. OpenBSD does not support it.
3712
cc92b8ab
DS
37132002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
3714
3715 * doc/install.texi (binaries): Change mingw binaries
3716 link to www.mingw.org.
3717
f8088d55
ZD
37182002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3719
3720 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
3721
0b7ae565
RH
37222002-05-28 Richard Henderson <rth@redhat.com>
3723
3724 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
3725 bottom alignment for leaf functions.
3726
16069d69
ZW
37272002-05-28 Zack Weinberg <zack@codesourcery.com>
3728
3729 * config/pa/milli32.S, config/pa/lib1funcs.asm,
3730 config/sparc/sol2-g1.asm: Delete unused files.
3731
04653686
RH
37322002-05-28 Richard Henderson <rth@redhat.com>
3733
3734 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
3735
f3ea5f6a
RH
3736 * flow.c (calculate_global_regs_live): Rename call_used to
3737 invalidated_by_call. Initialize from regs_invalidated_by_call
3738 instead of call_used_regs.
3739
923c7cdf
RH
3740 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
3741 DECL_EXTERNAL.
3742
11ad4784
ZW
37432002-05-28 Zack Weinberg <zack@codesourcery.com>
3744
8abbd76a
ZW
3745 * tree.h: Don't include real.h.
3746 Forward-declare struct realvaluetype.
11ad4784
ZW
3747 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
3748 contain it.
3749 (TREE_REAL_CST_PTR): New accessor.
3750 (TREE_REAL_CST): Update.
3751 * real.h: Include machmode.h.
2274b31a 3752 (realvaluetype): Make it struct realvaluetype, not a typedef.
11ad4784
ZW
3753 (build_real): Prototype here.
3754
3755 * tree.c: Include real.h.
2274b31a
EC
3756 (build_real): Allocate the REAL_VALUE_TYPE as a separate
3757 object in GC memory, set TREE_REAL_CST_PTR to point to it.
11ad4784
ZW
3758 (build_real_from_int_cst): Use build_real.
3759 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
3760 REAL_CST.
3761
3762 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
3763 fold-const.c, print-tree.c, real.c: Include real.h.
3764 * Makefile.in: Update dependency lists.
3765
bf77398c
ZD
37662002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3767
3768 * basic-block.h (last_basic_block): Declare.
3769 (expunge_block_nocompact): Declaration removed.
3770 (compact_blocks): Declare.
3771 * cfg.c (last_basic_block): New variable.
3772 (expunge_block_nocompact): Removed.
3773 (expunge_block): Do not compact basic blocks.
3774 (compact_blocks): New.
3775 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
3776 longer change.
3777 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
3778 last_basic_block.
3779 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
3780 real positions of blocks.
3781 (delete_unreachable_blocks): Simplified -- quadratic behavior now
3782 cannot occur.
3783 (cleanup_cfg): Compact blocks.
3784 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
3785 basic_block_info varray.
3786 (flow_delete_block): Comment update.
3787 (back_edge_of_syntactic_loop_p): Modify position check code.
3788 (verify_flow_info): Update checking.
3789 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
3790 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
3791 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
3792 indices no longer change.
3793 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
3794 last_basic_block.
3795 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
3796 * profile.c (branch_prob): Compact blocks.
3797 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
3798 last_basic_block.
3799
ae12a094
KH
38002002-05-28 Kazu Hirata <kazu@cs.umass.edu>
3801
3802 * config/h8300/h8300.md (two anonymous patterns): New.
3803
c6172f14
DM
38042002-05-28 David S. Miller <davem@redhat.com>
3805
3806 * config/sparc/sparc.md (cpu): Tidy.
3807 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
3808 'trap'.
3809 (in_call_delay): Delete reference to 'return' type.
3810 (eligible_for_return_delay, in_return_delay, define_delay
3811 referencing those): Delete.
3812 (rest of file): Use new type attributes as appropriate.
3813 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
3814 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
3815 * config/sparc/ultra1_2.md (us1_single): New reservation.
3816 (us1_ialuX): Likewise.
3817 * config/sparc/ultra3.md (us3_single): Likewise.
3818 (us3_ialuX): Likewise.
3819 (us3_imul, us3_idiv): Tweak.
2274b31a 3820
34a6c2ec
RH
38212002-05-28 Richard Henderson <rth@redhat.com>
3822
3823 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
3824 STRING_CST.
3825
9c075570
RH
38262002-05-28 Richard Henderson <rth@redhat.com>
3827
3828 * config.gcc: Obsolete mn10200.
3829
359b0bec
NB
38302002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
3831
3832 * cppexp.c (interpret_number): Optimize for single-digit
3833 and less-than-half-precision cases.
3834 (num_trim, num_positive, num_div_op): Cast constants.
3835
4075db8f
BT
38362002-05-27 Bo Thorsen <bo@suse.de>
3837
3838 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
3839 3.1 branch. The file was made by Jakub Jelinek.
3840 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
3841 support so multilib doesn't break. And don't define this at all
3842 when -Dinhibit_libc is used.
3843 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
3844 * config/i386/t-linux64: Implement full multilib support. Patch
3845 originally done by Andreas Jaeger and Jakub Jelinek.
3846
39f2f3c8
RS
38472002-05-27 Roger Sayle <roger@eyesopen.com>
3848
3849 * c-common.c: Add support for __attribute__((nothrow)) to specify
3850 that a function cannot throw an exception (using TREE_NOTHROW).
3851 (handle_nothrow_attribute): New function to process this attribute.
3852
3853 * doc/extend.texi: Document the new nothrow function attribute.
3854
d51b0053
L
38552002-05-27 H.J. Lu (hjl@gnu.org)
3856
3857 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
3858 (num_positive): Likewise.
3859 (num_div_op): Likewise.
3860
630363b4
NB
38612002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
3862
3863 * c-common.c (c_common_init): Always use intmax_t.
3864
d94cde01
NB
38652002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
3866
3867 * c-common.c (c_common_init): Use intmax_t for now.
3868
57f851a3
AH
38692002-05-24 Andrew Haley <aph@redhat.com>
3870
3871 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
3872 if T is a boolean type.
3873
d55bc081
ZD
38742002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3875
3876 * basic-block.h (last_basic_block): Defined as synonym for
3877 n_basic_blocks.
3878 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
3879 flow_depth_first_order_compute, flow_preorder_transversal_compute,
3880 flow_dfs_compute_reverse_init): Replaced relevant occurences of
3881 n_basic_blocks with last_basic_block.
3882 * cfgbuild.c (make_edges): Likewise.
3883 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
3884 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
3885 * combine.c (combine_instructions): Likewise.
3886 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
3887 iterative_dataflow_bitmap): Likewise.
3888 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
3889 calc_idoms, idoms_to_doms): Likewise.
3890 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
3891 Likewise.
3892 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
3893 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
3894 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
3895 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
3896 delete_null_pointer_checks, compute_code_hoist_vbeinout,
3897 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
3898 compute_store_table, build_store_vectors): Likewise.
3899 * haifa-sched.c (sched_init): Likewise.
3900 * ifcvt.c (if_convert): Likewise.
3901 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
3902 pre_edge_lcm, compute_available, compute_nearerout,
3903 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
3904 Likewise.
3905 * predict.c (estimate_probability, process_note_prediction,
3906 note_prediction_to_br_prob): Likewise.
3907 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
3908 * recog.c (split_all_insns, peephole2_optimize): Likewise.
3909 * regrename.c (copyprop_hardreg_forward): Likewise.
3910 * resource.c (init_resource_info): Likewise.
3911 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
3912 init_regions, schedule_insns): Likewise.
3913 * ssa-ccp.c (ssa_const_prop): Likewise.
3914 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
3915 * ssa.c (compute_dominance_frontiers,
3916 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
3917
3918 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
3919 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
3920 sizes consistently.
3921
71d2c5bd
JH
3922Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
3923
3924 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
3925 new.
3926 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
3927 hoist_insn_after, hoist_insn_to_edge): New.
3928
5149f070
JH
3929Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
3930
3931 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
3932 (PROP_FINAL): Include.
3933 * flow.c (life_analysis, update_life_info,
3934 init_propagate_block_info, mark_set_1, mark_used_rgs):
3935 Support SCAN_DEAD_STORE.
3936
c9220e3a
NB
39372002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
3938
3939 * c-common.c (c_common_init): Set CPP arithmetic precision.
3940 * cppexp.c (cpp_num_part): Move typedef ...
3941 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
3942 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
3943 (sanity_checks): Update.
3944
e34a3d31
GK
39452002-05-26 Geoffrey Keating <geoffk@redhat.com>
3946
3947 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
3948 (mkheaders): New rule.
3949 (install-mkheaders): New rule.
3950 * configure.in (all_outputs): Add mkheaders.
3951 * configure: Regenerate.
3952 * mkheaders.in: New file.
3953
9059e33c
JJ
39542002-05-26 Jakub Jelinek <jakub@redhat.com>
3955
3956 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
3957
291cc0fe
AJ
39582002-05-26 Andreas Jaeger <aj@suse.de>
3959
3960 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
3961
91318908
NB
39622002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
3963
3964 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
3965 right_shift): Remove.
3966 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
3967 HIGH_PART): New.
3968 (struct op): Use cpp_num.
3969 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
3970 num_part_mul, num_unary_op, num_binary_op, num_negate,
3971 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
3972 num_div_op, num_lshift, num_rshift, append_digit): New.
3973 (interpret_number, parse_defined, eval_token, reduce): Update
3974 for two-integer arithmetic.
3975 (binary_handler): New typedef.
3976 (optab): Update.
3977 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
3978 (_cpp_parse_expr, reduce): Update to handle two-integers.
3979 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
3980
331ca350
MM
39812002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
3982
3983 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
3984 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
3985 branch insn into account, do not assume 1.
3986 (avr_out_sbxx_branch): New function. Optimize cases of skipping
3987 over single word insn. Handle upper half of I/O space too.
3988 * config/avr/avr.md (*sbrx_branch): Use it.
3989 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
3990 (*sbix_branch, *sbix_branch_bit7): Likewise.
3991 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
3992 Use RTL peepholes to optimize register operand sign tests.
3993
bcb6a2be
MM
39942002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
3995
3996 * config/avr/avr.c (avr_asm_only_p): New variable.
3997 (avr_override_options): Set it here if AVR1.
3998 (asm_file_start): Test it here, report an error if set.
3999
ca7fd9cd
KH
40002002-05-26 Kazu Hirata <kazu@cs.umass.edu>
4001
4002 * alias.c: Fix formatting.
4003 * attribs.c: Likewise.
4004 * bb-reorder.c: Likewise.
4005 * bitmap.c: Likewise.
4006 * bitmap.h: Likewise.
4007 * builtins.c: Likewise.
4008
a65dc37d
JH
4009Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
4010
4011 * reload.c (find_valid_class): Accept new argument DEST,
4012 choose class accordingly.
4013 (push_reload): Update callers.
4014
9b89393b
AJ
40152002-05-26 Andreas Jaeger <aj@suse.de>
4016
4017 * combine.c (combine_instructions): Do not indent #if for
4018 traditional C.
4019
b53bb376
RH
40202002-05-25 Richard Henderson <rth@redhat.com>
4021
4022 * c-pragma.c (apply_pragma_weak): Convert value identifier to
4023 string for decl_attributes.
4024 (handle_pragma_weak): Call assemble_alias if we're modifying
4025 an existing decl.
4026
e133041b
RH
40272002-05-25 Richard Henderson <rth@redhat.com>
4028
4029 PR target/6788
4030 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
4031 using rtl instead of fprintf.
4032 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
4033 * config/sparc/sparc-protos.h: Update.
4034
81a75f0f
NB
40352002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
4036
4037 * Makefile.in (C_COMMON_H): Fix.
4038 Update other targets.
4039 * c-common.c: Don't include c-lex.h.
4040 (builtin_define_with_value): Make static and prototype.
4041 (builtin_define_std): Move from c-lex.h.
4042 * c-common.h (init_c_lex): Move from c-lex.h.
4043 * c-decl.c: Don't include c-lex.h.
4044 (make_pointer_declarator): Move from c-parse.in.
4045 * c-lex.c: Don't include c-lex.h.
4046 * c-lex.h: Remove.
4047 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
4048 (make_pointer_declarator): Move to c-decl.c.
4049 * c-pragma.c: Don't include c-lex.h.
4050 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
4051 * c-tree.h (make_pointer_declarator): New.
4052doc:
4053 * passes.texi, tm.texi: Update.
4054objc:
4055 * Make-lang.in: Update and correct.
4056 * objc-act.c: Don't include c-lex.h or cpplib.h.
4057treelang:
4058 * treetree.c: Don't include c-lex.h.
4059config:
4060 * darwin-c.c: Don't include c-lex.h.
4061 * c4x/c4x-c.c: Don't include c-lex.h.
4062 * c4x/t-c4x: Update.
4063 * i370/i370-c.c: Don't include c-lex.h.
4064 * i370/t-i370: Update.
4065 * i960/i960-c.c: Don't include c-lex.h.
4066 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
4067 * i960/t-960bare: Update.
4068 * i960/t-vxworks: Update.
4069 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
4070 * rs6000/t-darwin: Update.
4071 * rs6000/t-rs6000-c-rule: Update.
4072 * v850/v850-c.c: Don't include c-lex.h.
4073 * v850/v850.c: Don't include c-lex.h or cpplib.h.
4074
4075
04d2be8e
KH
40762002-05-25 Kazu Hirata <kazu@cs.umass.edu>
4077
4078 * tree.def: Fix typos.
4079 * doc/install.texi: Likewise.
4080
7b6e506e
RH
40812002-05-25 Richard Henderson <rth@redhat.com>
4082
4083 * configure.in (HAVE_AS_TLS): Add ia64 test.
4084 * configure: Rebuild.
4085 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
4086 (override_options): Set it.
4087 (TARGET_HAVE_TLS): New.
4088 (sdata_symbolic_operand): Look for 's'.
4089 (tls_symbolic_operand): New.
4090 (ia64_expand_load_address): Abort for tls symbols.
4091 (gen_tls_get_addr): New.
4092 (gen_thread_pointer): New.
4093 (ia64_expand_move): Split out from movdi. Handle tls symbols.
4094 (rtx_needs_barrier): Add new unspecs.
4095 (ia64_encode_section_info): Handle tls symbols.
4096 (ia64_strip_name_encoding): Strip two encoding chars.
4097 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
4098 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
4099 (TARGET_OPTIONS): Add tls-size.
4100 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
4101 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
4102 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
4103 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
4104 (movsf, movdf): Likewise.
4105 (movdi_symbolic): Use match_scratch. Don't split if we won't
4106 have a scratch availiable.
4107 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
4108 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
4109 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
4110 * config/ia64/ia64-protos.h: Update.
4111 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
4112 sdata_symbolic_operand.
4113 (ASM_OUTPUT_LABELREF): Strip two characters.
4114
8c1d52a3
KH
41152002-05-25 Kazu Hirata <kazu@cs.umass.edu>
4116
4117 * combine.c (simplify_set): Remove an unnecessary subreg.
4118
b47cae3d
MM
41192002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
4120
4121 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
4122
4123 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
4124
ce9e3a6d
GDR
41252002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
4126
4127 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
4128
fb2c6841
RS
41292002-05-25 Roger Sayle <roger@eyesopen.com>
4130
4131 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
4132 (cond (compare x y) 0) into the equivalent (cond x y).
4133
da7ac8f1
GDR
41342002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
4135
4136 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
4137
c7bdf0a6
ZW
41382002-05-24 Zack Weinberg <zack@codesourcery.com>
4139
4140 * config.gcc: Remove all stanzas for previously obsoleted
4141 systems. Where necessary, add explicit error stanzas to
4142 prevent removed systems from being misidentified as something
4143 else. Begin a fresh obsoletions list, with the systems that
4144 were reprieved last round.
4145 * doc/install.texi: Remove all mention of dead targets.
4146 * fixinc/mkfixinc.sh: Likewise.
4147
4148 * config/arm/arm.h: Bit 31 of target_flags is no longer
4149 reserved.
4150
4151 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
4152 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
4153 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
4154 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
4155 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
4156 config/alpha/osf12.h, config/alpha/osf2or3.h,
4157 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
4158 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
4159 config/clipper/clipper-protos.h, config/clipper/clipper.c,
4160 config/clipper/clipper.h, config/clipper/clipper.md,
4161 config/clipper/clix.h, config/convex/convex-protos.h,
4162 config/convex/convex.c, config/convex/convex.h,
4163 config/convex/convex.md, config/convex/fixinc.convex,
4164 config/convex/proto.h, config/elxsi/elxsi-protos.h,
4165 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
4166 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
4167 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
4168 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
4169 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
4170 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
4171 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
4172 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
4173 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
4174 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
4175 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
4176 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
4177 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
4178 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
4179 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
4180 config/m68k/altos3068.h, config/m68k/apollo68.h,
4181 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
4182 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
4183 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
4184 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
4185 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
4186 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
4187 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
4188 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
4189 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
4190 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
4191 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
4192 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
4193 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
4194 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
4195 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
4196 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
4197 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
4198 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
4199 config/mips/dec-osf1.h, config/mips/elflorion.h,
4200 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
4201 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
4202 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
4203 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
4204 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
4205 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
4206 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
4207 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
4208 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
4209 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
4210 config/ns32k/sequent.h, config/ns32k/tek6000.h,
4211 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
4212 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
4213 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
4214 config/sparc/rtems.h, config/we32k/we32k-protos.h,
4215 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
4216 Delete file.
4217
755ac5d4
RH
42182002-05-24 Richard Henderson <rth@redhat.com>
4219
4220 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
4221 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
4222 * config/i386/i386.c (tls_model_chars): Add leading space.
4223 (tls_symbolic_operand): Don't bias by 1.
4224 (legitimize_address): Don't unbias by 1.
4225
c429f12e
TM
42262002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
4227
4228 * lcm.c (optimize_mode_switching): Change bb used as indices
4229 to bb->index.
4230
8beda321
RH
42312002-05-24 Richard Henderson <rth@redhat.com>
4232
4233 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
4234 of update_life_info_in_dirty_blocks.
4235
90442291
JJ
42362002-05-24 Jakub Jelinek <jakub@redhat.com>
4237
4238 PR other/6782
4239 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
4240
3620711b
NB
42412002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
4242
4243 PR preprocessor/6780
4244 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
4245
2f8d482e
JB
42462002-05-24 Jim Blandy <jimb@redhat.com>
4247
4248 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
4249 entry with a type code of zero, marking the end of the compilation
4250 unit's macro info.
4251
95bfe95f
RH
42522002-05-24 Richard Henderson <rth@redhat.com>
4253
c7bdf0a6
ZW
4254 * varasm.c (asm_output_bss): Always output one byte.
4255 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 4256
7efda054
BM
42572002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
4258
4259 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
4260 namespace.
4261
8a951190
AJ
42622002-05-24 Andreas Jaeger <aj@suse.de>
4263
4264 * ggc-page.c (alloc_page): Cast variables of type size_t to
4265 unsigned long, adjust printf format string.
4266 (ggc_alloc): Likewise.
4267 (ggc_print_statistics): Likewise.
4268 (ggc_print_statistics): Correct printf format string for SCALE to
4269 use unsigned long.
4270
f29e2ec0
DS
42712002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
4272
4273 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
4274
211a0cbe 42752002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 4276 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
4277
4278 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
4279 quoted strings.
4280 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 4281 directive in assembly file.
211a0cbe
GDR
4282 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
4283 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
4284 * config/pj/pj.h (ASM_FILE_START): Likewise.
4285 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
4286 * config/avr/avr.c (asm_file_end): Likewise.
4287 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 4288 char.
211a0cbe
GDR
4289 * toplev.h (output_clean_symbol_name): Declare
4290 * toplev.c (output_clean_symbol_name): Define.
4291 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
4292 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
4293
2f0552b6
AM
42942002-05-24 Alan Modra <amodra@bigpond.net.au>
4295
4296 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
4297
b326b2c1
VM
42982002-05-23 Vladimir Makarov <vmakarov@redhat.com>
4299
4300 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
4301 of size of unsigned.
4302
f996902d
RH
43032002-05-23 Richard Henderson <rth@redhat.com>
4304
4305 * configure.in (HAVE_AS_TLS): New test.
4306 * config.in, configure: Rebuild.
4307 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
4308 (ix86_tls_dialect_string, ix86_tls_dialect): New.
4309 (override_options): Set it.
4310 (tls_model_chars, tls_symbolic_operand): New.
4311 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
4312 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
4313 (local_exec_symbolic_operand): New.
4314 (get_pic_label_name): Merge into output_set_got.
4315 (ix86_asm_file_end): Emit pic_label_name if defined.
4316 (legitimate_constant_p, constant_address_p): New.
4317 (legitimate_pic_operand_p): New.
4318 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
4319 (legitimate_address_p): Likewise.
4320 (ix86_encode_section_info): Rename from i386_; handle tls decls.
4321 (ix86_strip_name_encoding): New.
4322 (get_thread_pointer): New.
4323 (legitimize_address): Handle tls symbols.
4324 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
4325 Remove UNSPEC_PLT.
4326 (struct machine_function): Add some_ld_name.
4327 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
4328 (print_operand) [&]: Use it. Handle UNSPEC_TP.
4329 (output_addr_const_extra): New.
4330 (maybe_get_pool_constant): New.
4331 (ix86_split_to_parts): Use it.
4332 (ix86_expand_move): Handle tls symbols.
4333 (ix86_tls_get_addr): New.
4334 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
4335 (TARGET_OPTIONS): Add tls-dialect.
4336 (CONSTANT_ADDRESS_P): Use new out-of-line function.
4337 (LEGITIMATE_CONSTANT_P): Likewise.
4338 (LEGITIMATE_PIC_OPERAND_P): Likewise.
4339 (TARGET_STRIP_NAME_ENCODING): New.
4340 (ASM_OUTPUT_LABELREF): New.
4341 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
4342 (OUTPUT_ADDR_CONST_EXTRA): New.
4343 (PREDICATE_CODES): Update.
4344 (ix86_tls_dialect, ix86_tls_dialect_string): New.
4345 * config/i386/i386.md: Regroup and renumber unspec constants.
4346 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
4347 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
4348 (tls_global_dynamic, tls_local_dynamic_base): New.
4349 (tls_local_dynamic_once): New.
4350 * config/i386/i386-protos.h: Update.
4351
821e35ba
RH
43522002-05-23 Richard Henderson <rth@redhat.com>
4353
4354 * genemit.c (gen_insn): Print file:lineno comment before function.
4355 (main): likewise.
4356 * gensupport.c (struct queue_elem): Add filename member.
4357 (queue_pattern): Initialize it; update all callers.
4358 (process_include): Don't free filename.
4359 (read_md_rtx): Set read_rtx_filename.
4360
0f1ffa23 43612002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
4362
4363 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 4364
8e9fadc3
RH
43652002-05-23 Richard Henderson <rth@redhat.com>
4366
4367 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
4368
244c2241
RH
43692002-05-23 Richard Henderson <rth@redhat.com>
4370
4371 * doc/extend.texi (C++98 Thread-Local Edits): Update with
4372 commentary from Mark.
4373
e0082a72
ZD
43742002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4375
4376 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
4377 Use FOR_EACH_BB macros to iterate over basic block chain.
4378 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
4379 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
4380 Likewise.
4381 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
4382 find_unreachable_blocks, create_edge_list, verify_edge_list,
4383 remove_fake_edges, add_noreturn_fake_exit_edges,
4384 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
4385 Likewise.
4386 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
4387 find_sub_basic_blocks): Likewise.
4388 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
4389 Likewise.
4390 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
4391 Likewise.
4392 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
4393 Likewise.
4394 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
4395 commit_edge_insertions, commit_edge_insertions_watch_calls,
4396 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
4397 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
4398 * conflict.c (conflict_graph_compute): Likewise.
4399 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
4400 df_modified_p, df_refs_unlink, df_dump): Likewise.
4401 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
4402 * final.c (compute_alignments): Likewise.
4403 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
4404 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
4405 count_or_remove_death_notes): Likewise.
4406 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
4407 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
4408 classic_gcse, compute_transp, cprop, compute_pre_data,
4409 compute_transpout, invalidate_nonnull_info,
4410 delete_null_pointer_checks_1, delete_null_pointer_checks,
4411 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
4412 compute_store_table, build_store_vectors, store_motion): Likewise.
4413 * global.c (global_conflicts, mark_elimination): Likewise.
4414 * graph.c (print_rtl_graph_with_bb): Likewise.
4415 * haifa-sched.c (sched_init): Likewise.
4416 * ifcvt.c (if_convert): Likewise.
4417 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
4418 compute_available, compute_nearerout, compute_rev_insert_delete,
4419 optimize_mode_switching): Likewise.
4420 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
4421 * predict.c (estimate_probability, note_prediction_to_br_prob,
4422 propagate_freq, counts_to_freqs, expensive_function_p,
4423 estimate_bb_frequencies): Likewise.
4424 * profile.c (instrument_edges, get_exec_counts,
4425 compute_branch_probabilities, compute_checksum, branch_prob,
4426 find_spanning_tree): Likewise.
4427 * recog.c (split_all_insns, peephole2_optimize): Likewise.
4428 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
4429 Likewise.
4430 * regclass.c (scan_one_insn, regclass): Likewise.
4431 * regmove.c (mark_flags_life_zones, regmove_optimize,
4432 record_stack_memrefs): Likewise.
4433 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
4434 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
4435 * resource.c (find_basic_block): Likewise.
4436 * sched-ebb.c (schedule_ebbs): Likewise.
4437 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
4438 find_single_block_region, find_rgns, schedule_insns)
4439 * sibcall.c (optimize_sibling_and_tail_recursive_call)
4440 * ssa-ccp.c (optimize_unexecutable_edges,
4441 ssa_ccp_df_delete_unreachable_insns): Likewise.
4442 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
4443 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
4444 rename_block, convert_to_ssa, compute_conservative_reg_partition,
4445 compute_coalesced_reg_partition, rename_equivalent_regs,
4446 convert_from_ssa): Likewise.
4447 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
4448 process_for_unwind_directive): Likewise.
4449
4450 * df.c (FOR_ALL_BBS): Removed.
4451 * gcse.c (struct null_pointer_info): Type of current_block field
4452 changed.
4453 (struct reg_avail_info): Type of last_bb field changed.
4454 * config/ia64/ia64.c (block_num): Removed.
4455 (need_copy_state): Type changed.
4456 (last_block): New.
4457
17645b15
NB
44582002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
4459
4460 * cppinit.c (mark_named_operators): Split out from init_builtins.
4461 (cpp_finish_options): Call it from here instead.
4462
79ed7328
JT
44632002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
4464
4465 * builtin-attrs.def: Update copyright years.
4466 (ATTR_NONNULL): New attribute identifier.
4467 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
4468 attribute tree lists.
4469 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
4470 format operand.
4471 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
4472 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
4473 attribute lists. Chain the appropriate nonnull attribute.
4474 * c-format.c (check_format_arg): Remove null format string
4475 warning.
4476 * testsuite/gcc.dg/format/null-1.c: New test.
4477
7d600178
RO
44782002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4479
4480 * Makefile.in (ADAC): Define.
4481 (SYSLIBS): Define.
4482 (.SUFFIXES): Move before language makefile fragments.
4483 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
4484
5ff225fc
MM
44852002-05-23 Mark Mitchell <mark@codesourcery.com>
4486
4487 * varasm.c (make_decl_rtl): Don't allow weak variables to be
4488 placed in common.
4489
0f72964f
JH
4490Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
4491
4492 * cfg.c (dump_flow_info): Print results of
4493 maybe_hot/probably_never_executed predicates.
4494 * toplev.c (open_dump_file): Print function frequency.
4495
c863f8c2
DM
44962002-05-23 David S. Miller <davem@redhat.com>
4497
4498 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
4499 regsets.
4500
b34c7881
JT
45012002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
4502
4503 * c-common.c (warn_nonnull): Declare.
4504 (c_common_attribute_table): Add "nonnull" attribute.
4505 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
4506 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
4507 check_function_arguments_recurse): New functions.
4508 * c-common.h (warn_nonnull): Declare extern.
4509 (check_function_arguments, check_function_arguments_recurse): New
4510 prototypes.
4511 * c-decl.c (c_decode_option): Add -Wnonnull option.
4512 * c-format.c (set_Wformat): Set warn_nonnull if enabling
4513 format checking.
4514 (format_check_context): New structure.
4515 (check_format_info_recurse): Remove recursion and rename to...
4516 (check_format_arg): ...this. Update comment.
4517 (check_format_info): Use check_function_arguments_recurse.
4518 * c-typeck.c (build_function_call): Call check_function_arguments
4519 instead of check_function_format.
4520 * doc/extend.texi: Document "nonnull" attribute.
4521 * doc/invoke.texi: Docuemnt -Wnonnull option.
4522 * testsuite/gcc.dg/nonnull-1.c: New test.
4523 * testsuite/gcc.dg/nonnull-2.c: New test.
4524
95479831
DM
45252002-05-23 David S. Miller <davem@redhat.com>
4526
4527 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
4528 * cfgcleanup.c (cleanup_cfg): If it is set do not
4529 attempt to delete trivially dead insns.
4530 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
4531 * toplev.c (rest_of_compilation): Document non-trivial aspect
4532 the RTL before optimize_save_area_alloca is run.
4533
a97d1398
NB
45342002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
4535
4536 * c-lex.c (indent_level): Remove.
4537 (cb_file_change, c_lex): Remove indent level handling.
4538 * c-lex.h (indent_level): Remove.
4539 * input.h (struct file_stack): Remove indent_level.
4540 * toplev.c (push_srcloc): Remove indent_level handling.
4541
66b408f2
JJ
45422002-05-23 Jakub Jelinek <jakub@redhat.com>
4543
4544 PR target/6753
4545 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
4546 of x in constraints for clarity.
4547 (sse_mov?fcc split): abort if op2 == op3.
4548 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
4549 sse_movsfcc_const0_4): Add earlyclobber.
4550 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
4551 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
4552 Use Y instead of x in constraints.
4553
5bf0ebab
RH
45542002-05-23 Richard Henderson <rth@redhat.com>
4555
9217ef40
RH
4556 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
4557 (C++98 Thread-Local Edits): New subsection.
4558
5bf0ebab
RH
4559 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
4560 (ix86_arch): Set type to enum processor_type.
4561
8a951190 4562 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
4563 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
4564
4832c9e1
JJ
45652002-05-23 Jakub Jelinek <jakub@redhat.com>
4566
4567 * configure.in: Fix as version test for binutils 2.12.1 releases
4568 (without dates).
4569 * configure: Rebuilt.
4570
c8c03509
RH
45712002-05-23 Richard Henderson <rth@redhat.com>
4572
4573 * config/i386/i386.c (get_pic_label_name): New.
4574 (load_pic_register): Remove.
4575 (output_set_got): New.
4576 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
4577 * config/i386/i386.md (UNSPEC_SET_GOT): New.
4578 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
4579 (prologue_set_got, prologue_get_pc): Remove.
4580 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
4581 (builtin_setjmp_receiver): Use gen_set_got.
4582 * config/i386/i386-protos.h: Update.
4583
d51f3632
JH
4584Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
4585
4586 * gcse.c (hash_expr): Do not use alias set for hashing.
4587
b0a93386
KB
45882002-05-22 Kevin Buettner <kevinb@redhat.com>
4589
4590 * dbxout.c (dbxout_class_name_qualifiers): New function.
4591 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
4592
bdee42b1
NB
45932002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
4594
4595 * cpperror.c (_cpp_begin_message): No special casing
4596 of CPP_FATAL_LIMIT.
4597 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
4598 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
4599 * cpplib.c (do_include_common): Use DL_ERROR.
4600 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
4601 (DL_ICE): Renumber.
4602 * fix-header.c (read_scan_file): Update.
4603
0e07aff3
RH
46042002-05-22 Richard Henderson <rth@redhat.com>
4605
4606 * config/i386/i386.c (ix86_expand_call): New function, extracted
4607 from md call patterns. Add pic_offset_table_rtx to
4608 CALL_INSN_FUNCTION_USAGE when needed.
4609 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
4610 (call_value_pop, call_value, untyped_call): Likewise.
4611 (call_exp, call_value_exp): Remove.
4612 * config/i386/i386-protos.h: Update.
4613
6f001fdf
RH
46142002-05-22 Richard Henderson <rth@redhat.com>
4615
4616 * varasm.c (default_section_type_flags): Check for VAR_DECL
4617 before using DECL_THREAD_LOCAL.
4618
cbaaba19
DE
46192002-05-22 David Edelsohn <edelsohn@gnu.org>
4620
4621 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
4622 (STARTFILE_SPEC): Delete PE crt0.o.
4623 * config/rs6000/aix51.h: Same.
4624 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
4625 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
4626 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
4627 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
4628 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
4629
c711ba8e
RH
46302002-05-22 Richard Henderson <rth@redhat.com>
4631
4632 * varasm.c (default_section_type_flags): Handle tls data and
4633 default sections.
4634 (default_unique_section): Handle tls sections.
4635
343f59d9
AM
46362002-05-23 Alan Modra <amodra@bigpond.net.au>
4637
4638 * configure.in (CROSS): Define NATIVE_CROSS.
4639 * configure: Regenerate.
4640 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
4641 (startfile_prefix_spec): New var.
4642 (static_specs): Add startfile_prefix_spec.
4643 (do_spec_2): Split out from..
4644 (do_spec): ..here.
4645 (main): Process startfile_prefix_spec.
4646 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
4647 dynamic linker.
4648 (STARTFILE_PREFIX_SPEC): Define.
4649 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 4650 absolute paths.
343f59d9 4651
df383483
KH
46522002-05-22 Kazu Hirata <kazu@cs.umass.edu>
4653
4654 * cpperror.c: Fix formatting.
4655 * cppexp.c: Likewise.
4656 * cppfiles.c: Likewise.
4657 * cpphash.c: Likewise.
4658 * cpphash.h: Likewise.
4659 * cppinit.c: Likewise.
4660 * cpplex.c: Likewise.
4661 * cpplib.c: Likewise.
4662 * cppmacro.c: Likewise.
4663 * cppmain.c: Likewise.
4664 * cppspec.c: Likewise.
4665
2dd36f90
JJ
46662002-05-22 Jakub Jelinek <jakub@redhat.com>
4667
4668 * combine.c (force_to_mode): Use gen_int_mode.
4669 Don't clear CONST_INT bits outside of mode.
4670
8dc02d7f
RH
46712002-05-22 Richard Henderson <rth@redhat.com>
4672
4673 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
4674 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
4675
45f79783
JJ
46762002-05-22 Jakub Jelinek <jakub@redhat.com>
4677
4678 PR c/6643
4679 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
4680 if DECL_SIZE_UNIT is INTEGER_CST.
4681
19f71cd7
RH
46822002-05-22 Richard Henderson <rth@redhat.com>
4683
4684 * flow.c (life_analysis): Delete broken reg_label check.
4685
d5bcfcce
RH
46862002-05-22 Richard Henderson <rth@redhat.com>
4687
4688 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
4689 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
4690
985d311b 4691Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
4692
4693 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
4694 (embed-bb.c): New rule.
985d311b 4695 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
4696 * config/sh/embed_bb.c: Delete.
4697
985d311b
R
4698Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
4699
4700 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
4701
f6d45746
KH
47022002-05-22 Kazu Hirata <kazu@cs.umass.edu>
4703
4704 * config/h8300/h8300.md (*andorqi3): New.
4705
e5f3b786
NB
47062002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
4707
4708 PR preprocessor/6517
4709 * Makefile.in: Update.
4710 * c-common.c (c_common_post_options): Add preprocessor
4711 errors to the error count.
4712 * c-lang.c (c_post_options): Kill.
4713 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
4714 * hooks.h: Add header guards.
4715 * langhooks-def.h: Include hooks.h.
4716 (LANG_HOOKS_POST_OPTIONS): Update.
4717 * langhooks.h (struct lang_hooks): Update post_options.
4718 * toplev.c (parse_options_and_default_flags): Update.
4719objc:
4720 * objc-lang.c (objc_post_options): Kill.
4721 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
4722
4c526be3
BK
47232002-05-21 Bruce Korb <bkorb@gnu.org>
4724
4725 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
4726 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
4727 * fixinc/fixincl.x: regen.
4c526be3 4728
f87c27b4
KH
47292002-05-21 Kazu Hirata <kazu@cs.umass.edu>
4730
4731 * cfgbuild.c: Fix formatting.
4732 * cfg.c: Likewise.
4733 * cfgcleanup.c: Likewise.
4734 * cfglayout.c: Likewise.
4735 * cfgloop.c: Likewise.
4736 * cfgrtl.c: Likewise.
4737
3d78f2e9
RH
47382002-05-21 Richard Henderson <rth@redhat.com>
4739
4740 * c-common.h (enum rid): Add RID_THREAD.
4741 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
4742 (grokdeclarator): Grok __thread.
4743 * c-parse.in (reswords): Add __thread.
4744 (rid_to_yy): Add RID_THREAD.
4745
4746 * tree.h (DECL_THREAD_LOCAL): New.
4747 (struct tree_decl): Add thread_local_flag.
4748 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
4749 * tree.c (staticp): TLS variables are not static.
4750
4751 * target-def.h (TARGET_HAVE_TLS): New.
4752 * target.h (have_tls): New.
4753 * output.h (SECTION_TLS): New.
4754 * varasm.c (assemble_variable): TLS variables can't be common for now.
4755 (default_section_type_flags): Handle .tdata and .tbss.
4756 (default_elf_asm_named_section): Handle SECTION_TLS.
4757 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
4758
4759 * flags.h (flag_tls_default): Declare.
4760 * toplev.c (flag_tls_default): Define.
4761 (display_help): Display help for it.
4762 (decode_f_option): Set it.
4763
4764 * doc/extend.texi (Thread-Local): New node describing language-level
4765 thread-local storage.
4766 * doc/invoke.texi (-ftls-model): Document.
4767
4768 * fixinc/inclhack.def (thread_keyword): New.
4769 * fixinc/fixincl.x: Rebuild.
4770
a151daf0
JL
47712002-05-21 Jeffrey A Law <law@redhat.com>
4772
8a951190 4773 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
4774 do not compute intermediate results into something that is
4775 not a register (such as a SUBREG or MEM).
4776
a151daf0
JL
4777 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
4778 (ix86_sched_reorder): Make sure to initialize scheduling
4779 data even when there's only one insn in the ready queue.
4780
96b1f73b
VM
47812002-05-21 Vladimir Makarov <vmakarov@redhat.com>
4782
4783 * genautomata.c (reserv_sets_hash_value): Fix a typo.
4784
dceb2b75
VM
47852002-05-21 Vladimir Makarov <vmakarov@redhat.com>
4786
4787 * genautomata.c (reserv_sets_hash_value): Define hash_value as
4788 set_el_t. Transform the hash value into unsigned.
4789 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
4790 (transform_3): Add code to process `(A,B)+(D,E)'.
4791
159d5964
NY
47922002-05-21 NIIBE Yutaka <gniibe@m17n.org>
4793
4794 * reload1.c (do_output_reload): Run delete_output_reload
4795 only if optimizing.
4796
cf5124f6
RS
47972002-05-21 Roger Sayle <roger@eyesopen.com>
4798
4799 PR middle-end/6600
4800 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
4801 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
4802 (can_store_by_pieces): ... and here to limit the largest mode used.
4803 Add a comment to document this function.
4804
380e6ade
RH
48052002-05-21 Richard Henderson <rth@redhat.com>
4806
4807 * flow.c (life_analysis): Fix test for deleted label.
4808
1f95326c
NB
48092002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
4810
4811 * doc/tm.texi: Fix typo.
4812
2a1dc0d8
ZW
48132002-05-21 Zack Weinberg <zack@codesourcery.com>
4814
4815 * c-common.c (c_common_init): Set options->unsigned_char from
4816 flag_signed_char.
4817 (cb_register_builtins): Define __STRICT_ANSI__ and
4818 __CHAR_UNSIGNED__ here...
4819 * cppinit.c (init_builtins): Not here.
4820 (cpp_create_reader): unsigned_char option defaults to 0, not
4821 !DEFAULT_SIGNED_CHAR.
4822 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
4823 and -funsigned-char.
4824
4825 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
4826 * cpphash.c (_cpp_init_hashtable): Don't set it.
4827 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
4828 directly. Clarify comment.
4829
d29146f2 48302002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 4831
f5eb2fc8
ZD
4832 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
4833 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
4834 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
4835 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 4836 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 4837 flow_preorder_transversal_compute): Too.
d29146f2 4838 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
4839 find_sub_basic_blocks): Too.
4840 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 4841 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
4842 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
4843 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
4844 * combine.c (this_basic_block): Type changed to basic_block.
4845 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
4846 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
4847 get_last_value, distribute_notes, distribute_links): Too.
4848 * final.c (compute_alignments): Too.
4849 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
4850 * function.c (thread_prologue_and_epilogue_insns): Too.
4851 * gcse.c (compute_code_hoist_vbeinout): Too.
4852 * global.c (build_insn_chain): Too.
4853 * ifcvt.c (find_if_block, find_cond_trap): Too.
4854 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
4855 * regmove.c (regmove_optimize): Too.
4856 * resource.c (find_basic_block): Too.
4857 * sched-ebb.c (schedule_ebbs): Too.
4858 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 4859
68bd6dd6
AJ
48602002-05-21 Andreas Jaeger <aj@suse.de>
4861
4862 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
4863
35a76aac
RH
48642002-05-21 Richard Henderson <rth@redhat.com>
4865
4866 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
4867 unspec names, not numbers.
4868
2870428f
JM
48692002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
4870
4871 * doc/sourcebuild.texi: Mention snapshot-README and
4872 snapshot-index.html as needing updating for new front ends.
4873
b0ad77d5
KG
48742002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4875
4876 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
4877 disabling checking, and avoid multiple evaluation of RTX.
4878
279be7c8
RE
48792002-05-21 Richard Earnshaw <rearnsha@arm.com>
4880
4881 * bitmap.c (bitmap_find_bit): Return early if we have the correct
4882 element cached.
4883
193a563a
JH
4884Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
4885
4886 * profile.c (gen_edge_profiler): Set alias set before the memory is
4887 used.
4888
31825e57
DM
48892002-05-20 David S. Miller <davem@redhat.com>
4890
4891 * cselib.c (max_value_regs): New.
4892 (cselib_lookup, cselib_invalidate_regno): Initialize it when
4893 adding new entries to the REG_VALUES table and we are dealing with
4894 a hard register.
4895 (clear_table): Initialize it.
4896 (cselib_invalidate_regno): Use it to determine which hard
4897 registers to scan when mode is not VOIDmode.
4898
68bd6dd6 48992002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
4900
4901 * tradcpp.c (fixup_newlines): Use old-style function header.
4902
e0a09fda
KW
49032002-05-20 Krister Walfridsson <cato@df.lth.se>
4904
4905 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
4906
e0c13c70
L
49072002-05-20 H.J. Lu (hjl@gnu.org)
4908
4909 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
4910
4911 * config/mips/mips.h (DFMODE_NAN): Defined.
4912 (SFMODE_NAN): Likewise.
4913
4c11675d 49142002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 4915
2a1dc0d8
ZW
4916 * combine.c (cant_combine_insn_p): Back out my
4917 previous patch.
4c11675d 4918
6a4d6760
KH
49192002-05-20 Kazu Hirata <kazu@cs.umass.edu>
4920
4921 * params.c: Fix formatting.
4922 * params.h: Likewise.
4923 * predict.c: Likewise.
4924 * prefix.c: Likewise.
4925 * print-rtl.c: Likewise.
4926 * print-tree.c: Likewise.
4927 * profile.c: Likewise.
4928
5715ca64
L
49292002-05-20 H.J. Lu (hjl@gnu.org)
4930
4931 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
4932
00b89f01
NC
49332002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
4934
4935 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
4936 switches straight on to the assembler, do not abbreviate them.
4937 * config/arm/elf.h (ASM_SPEC): As above.
4938 * config/arm/semi.h (ASM_SPEC): As above.
4939 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
4940 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
4941 -mcpu=xscale on to the assembler by default.
4942 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
4943
1441374b
RH
49442002-05-20 Richard Henderson <rth@redhat.com>
4945
4946 * cse.c (canon_hash): Reorder do_not_record test. Always
4947 allow pic_offset_table_rtx.
4948
c0fe508e
TM
49492002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
4950
4951 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
4952 (expand_binop): Ditto (3 times).
4953
f362c762
MM
49542002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
4955
4956 * Makefile.in (distclean): Remove QMTest stuff.
4957 (QMTEST_PATH): New variable.
4958 (QMTESTFLAGS): Likewise.
4959 (QMTESTRUNFLAGS): Likewise.
4960 (QMTEST): Likewise.
4961 (QMTEST_GPP_TESTS): Likewise.
4962 (QMTEST_DIR): Likewise.
4963 (QMTEST_DIR/context): New target.
4964 (qmtest-g++): Likeise.
4965 (qmtest-gui): Likewise.
4966 (QMTEST_DIR/gpp-expected.qmr): Likewise.
4967
16861f33
AH
49682002-05-19 Aldy Hernandez <aldyh@redhat.com>
4969
2a1dc0d8
ZW
4970 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
4971 an altivec register if TARGET_ALTIVEC.
16861f33 4972
2a1dc0d8
ZW
4973 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
4974 to ALTIVEC_VECTOR_MODE.
4975 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
4976 (rs6000_va_arg): Vectors may go in registers if they are not
4977 altivec vectors.
16861f33 4978
23459e15
KH
49792002-05-19 Kazu Hirata <kazu@cs.umass.edu>
4980
4981 * protoize.c: Fix formatting.
4982
174cc7d1
RH
49832002-05-19 Richard Henderson <rth@redhat.com>
4984
4985 * gensupport.c (init_include_reader): Merge into ...
4986 (process_include): ... here. Simplify composite path creation.
4987 Plug memory leaks. Fix file/line number tracking. Do not
4988 process_define_cond_exec. Return void.
4989 (process_rtx): Don't check process_include return value.
4990
918ed612
ZD
49912002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4992
4993 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
4994 fields.
4995 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
4996 traversing basic block chain.
4997 (create_basic_block_structure, create_basic_block): Declaration changed.
4998 (link_block, unlink_block): Declare.
4999 * cfg.c (entry_exit_blocks): Initialize new fields.
5000 (link_block, unlink_block): New.
5001 (expunge_block_nocompact): Unlink basic block.
5002 (dump_flow_info): Print prev_bb/next_bb fields.
5003 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
5004 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
5005 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
5006 * cfgrtl.c (create_basic_block_structure, create_basic_block,
5007 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
5008 (verify_flow_info): Check that list agrees with numbering.
5009
e0322d5c
NB
50102002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
5011
5012 * c-common.c (preprocessing_asm): New macro.
5013 * c-lex.h (builtin_define, builtin_assert): Use pfile.
5014doc:
5015 * tm.texi: Update.
5016config/alpha:
5017 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
5018 (CPP_SPEC): Simplify.
5019 (TARGET_CPU_CPP_BUILTINS): Update.
5020 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
5021 (CPP_SPEC): Simplify.
5022 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
5023 (TARGET_OS_CPP_BUILTINS): Update.
5024 * osf.h (CPP_XFLOAT_SPEC): Kill.
5025 (TARGET_OS_CPP_BUILTINS): Update.
5026 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
5027 * osf5.h (CPP_XFLOAT_SPEC): Kill.
5028 * vms.h (CPP_SUBTARGET_SPEC): Kill.
5029 (TARGET_OS_CPP_BUILTINS): Update.
5030
121f5c2c
RH
50312002-05-19 Richard Henderson <rth@redhat.com>
5032
5033 * varasm.c (default_binds_local_p): Fix typo.
5034
651c5ed9
MM
50352002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
5036
5037 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
5038 CONST_INT operand to the correct mode after adding 1 to it.
5039
bce0deb2
MM
50402002-05-19 Mark Mitchell <mark@codesourcery.com>
5041
5042 * config.gcc (powerpc-wrs-windiss*): New target.
5043
4aa74a4f
FS
50442002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5045
5046 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
5047 (ashrdi3): Use it.
5048
a15135c9
MM
50492002-05-18 Mark Mitchell <mark@codesourcery.com>
5050
5051 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
5052 alphasort.
5053 * config.in: Regenerated.
5054 * configure: Regenerated.
5055
47754fd5
RH
50562002-05-19 Richard Henderson <rth@redhat.com>
5057
5058 * target-def.h (TARGET_BINDS_LOCAL_P): New.
5059 * target.h (struct gcc_target): Move boolean fields to the end.
5060 Add binds_local_p.
5061 * varasm.c (default_binds_local_p): New.
5062 * output.h: Declare it.
5063
5064 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
5065 * config/cris/cris.c (cris_encode_section_info): Likewise.
5066 * config/i386/i386.c (i386_encode_section_info): Likewise.
5067 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
5068 * config/sh/sh.c (sh_encode_section_info): Likewise.
5069
5070 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
5071 (TARGET_BINDS_LOCAL_P): New.
5072
fc881338
RH
50732002-05-19 Richard Henderson <rth@redhat.com>
5074
5075 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
5076 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
5077 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
5078
5079 * toplev.c (display_help): Kill -a -ax help.
5080
68bd6dd6 5081 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
5082 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
5083 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
5084 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
5085 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
5086
5087 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
5088 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
5089
5090 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
5091 (ix86_output_function_block_profiler): Kill.
5092 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
5093 (m68hc11_function_block_profiler): Kill.
5094 * config/m68hc11/m68hc11-protos.h: Update.
5095 * config/m88k/m88k.c (output_block_profiler): Kill.
5096 (output_function_block_profiler): Kill.
5097 * config/m88k/m88k-protos.h: Update.
5098
772c5265
RH
50992002-05-19 Richard Henderson <rth@redhat.com>
5100
5101 * system.h (STRIP_NAME_ENCODING): Poison it.
5102 * output.h (STRIP_NAME_ENCODING): Remove.
5103 (default_strip_name_encoding): Declare.
5104 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
5105 * target.h (strip_name_encoding): New.
5106 * varasm.c (default_strip_name_encoding): New.
5107
5108 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
5109 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
5110 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
5111 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
5112 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
5113 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
5114 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
5115 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
5116 config/v850/v850.h: Use the hook, not the macro.
5117
5118 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
5119 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
5120 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
5121 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
5122 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
5123 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 5124 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
5125 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
5126 config/v850/v850.c, config/v850/v850.h:
5127 Move STRIP_NAME_ENCODING to out-of-line function and add
5128 TARGET_STRIP_NAME_ENCODING.
5129
5130 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
5131 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
5132 with TARGET_STRIP_NAME_ENCODING referencing existing function;
5133 make function static.
5134
5135 * xcoffout.c: Include target.h
5136 * Makefile.in (xcoffout.o): Update.
5137
5138 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
5139 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
5140 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
5141 reloc argument unused.
5142 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
5143
5144 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
5145 STRIP_NAME_ENCODING docs.
5146
8f9eb495
AJ
51472002-05-19 Andreas Jaeger <aj@suse.de>
5148
5149 * gengenrtl.c: Add prototype for excluded_rtx.
5150
5151 * real.h: Add prototype for exact_real_truncate.
5152
fb49053f
RH
51532002-05-18 Richard Henderson <rth@redhat.com>
5154
5155 * system.h (ENCODE_SECTION_INFO): Poison it.
5156 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
5157 * target.h (encode_section_info): New.
5158 * varasm.c (make_decl_rtl, output_constant_def): Use it.
5159 * hooks.c (hook_tree_int_void): New.
5160 * hooks.h: Declare it.
5161
5162 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
5163 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
5164 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
5165 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
5166 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
5167 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
5168 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
5169 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
5170 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
5171 config/mcore/mcore-protos.h, config/mcore/mcore.c,
5172 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
5173 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
5174 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
5175 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
5176 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
5177 referencing existing function. Make function static.
5178
5179 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 5180 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
5181 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
5182 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
5183 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 5184 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
5185 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
5186 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
5187 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
5188 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 5189 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
5190 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
5191 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
5192 Move ENCODE_SECTION_INFO to out-of-line function and add
5193 TARGET_ENCODE_SECTION_INFO.
5194
5195 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
5196 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
5197
5198 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
5199 from SUBTARGET_*
5200 (switch_to_section): Replace in_rdata case with in_readonly_data.
5201
5202 * config/h8300/h8300.c (h8300_encode_label): Make static.
5203 * config/h8300/h8300-protos.h: Update.
5204
5205 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
5206 from rs6000_encode_section_info; make static.
5207 (rs6000_xcoff_encode_section_info): New.
5208
5209 * config/v850/v850.c (v850_encode_data_area): Make static.
5210 * config/v850/v850-protos.h: Update.
5211
5212 * config/vax/vax.c: Include flags.h.
5213 (vms_select_section): Fix typo.
5214
5215 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
5216 ENCODE_SECTION_INFO docs.
5217
9fe08fd0
RH
52182002-05-18 Richard Henderson <rth@redhat.com>
5219
5220 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
5221 REGISTER_TARGET_PRAGMAS.
5222 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
5223
410b770f
RH
5224 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
5225
b64a1b53
RH
52262002-05-18 Richard Henderson <rth@redhat.com>
5227
5228 * system.h (SELECT_RTX_SECTION): Poison.
5229 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
5230 * target.h (select_rtx_section): New.
5231 * varasm.c (output_constant_pool): Use it.
5232 (default_select_rtx_section, default_elf_select_rtx_section): New.
5233 * output.h: Declare them.
5234
5235 * config/darwin.h (SELECT_RTX_SECTION): Move ...
5236 * config/darwin.c (machopic_select_rtx_section): ... here.
5237 * config/darwin-protos.h: Update.
5238
5239 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
5240 * config/nextstep.c (machopic_select_rtx_section): ... here.
5241 (nextstep_select_section): Rename variable to avoid macro clash.
5242 * config/nextstep-protos.h: Update.
5243
5244 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
5245 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
5246 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 5247 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
5248 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
5249 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 5250 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
5251 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
5252 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
5253 (SELECT_RTX_SECTION): Remove.
5254
5255 * config/darwin.h, config/elfos.h, config/nextstep.h,
5256 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
5257 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
5258 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
5259 config/sparc/lynx.h, config/xtensa/xtensa.c
5260 (TARGET_ASM_SELECT_RTX_SECTION): New.
5261
5262 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
5263 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
5264 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
5265 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
5266 (ia64_aix_select_rtx_section): New.
5267 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
5268 redefining.
5269 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 5270 Support ELF SHF_MERGE features.
b64a1b53
RH
5271 * config/mips/mips-protos.h: Update.
5272 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
5273 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
5274 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
5275 make static, fall back to default_elf_select_rtx_section.
5276 * config/rs6000/rs6000-protos.h: Update.
5277 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
5278 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
5279 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
5280 * config/romp/romp.c (romp_select_rtx_section): New.
5281 * config/s390/s390.c (s390_select_rtx_section): New.
5282 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
5283 declarations before target macro definition.
5284 (xtensa_emit_call): Use static buffer.
5285 (xtensa_select_rtx_section): New.
5286 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
5287 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
5288 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
5289
5290 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
5291 SELECT_RTX_SECTION docs.
5292
5293Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
5294
5295 * i386.md (movsi/movdi): Fix template.
5296 (sse2 patterns): Set attributes consistently.
5297
5298 * i386.md (pushqi2, ashrqi_*): Fix constraint.
5299
6835a09c
TM
53002002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
5301
5302 * optabs.c (complex_part_zero_p): New.
5303 * (expand_cmplxdiv_straight): Use it.
5304 * (expand_cmplxdiv_wide): Ditto.
5305 * (expand_binop): Ditto.
5306
d48bc59a
RH
53072002-05-18 Richard Henderson <rth@redhat.com>
5308
5309 * final.c (HAVE_READONLY_DATA_SECTION): New.
5310 (shorten_branches): Use it instead of ifdefs.
5311 * varasm.c (enum in_section): Add in_readonly_data.
5312 (text_section, data_section): Tidy.
5313 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
5314
5315 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
5316 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
5317 (READONLY_DATA_SECTION): Don't undef.
5318
5319 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
5320 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
5321 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
5322
5323 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
5324 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
5325 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
5326 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
5327
5328 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
5329 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
5330 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
5331 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
5332 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
5333 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
5334 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
5335 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
5336 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
5337
5338 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
5339 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
5340 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
5341 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
5342 config/pa/pa64-hpux.h, config/sparc/litecoff.h
5343 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
5344
5345 * config/elfos.h, config/netware.h, config/svr3.h,
5346 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
5347 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
5348 config/h8300/h8300.h, config/i386/i386-interix.h,
5349 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
5350 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
5351
5352 * config/elfos.h, config/netware.h, config/svr3.h,
5353 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
5354 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
5355 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
5356 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
5357
5358 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
5359 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
5360 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
5361 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
5362 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
5363 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
5364 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
5365 config/rs6000/sysv4.h, config/v850/v850.h
5366 (EXTRA_SECTIONS): Remove in_const/in_rdata.
5367 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
5368
5369 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
5370 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
5371 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
5372 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
5373 * config/alpha/alpha.c (alpha_start_function): Likewise.
5374 (alpha_write_linkage): Likewise.
5375 * config/m32r/m32r.c (m32r_select_section): Likewise.
5376 * config/m88k/m88k.c (m88k_select_section): Likewise.
5377 * config/mips/mips.c (mips_select_rtx_section): Likewise.
5378 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
5379 (rs6000_elf_select_section): Likewise.
5380 * config/v850/v850.c (v850_select_section): Likewise.
5381
5382 * config/1750a/1750a.h, config/i860/sysv3.h
5383 (READONLY_DATA_SECTION_ASM_OP): New.
5384 READONLY_DATA_SECTION_ASM_OP.
5385 * config/i386/interix.c, config/i386/winnt.c
5386 (i386_pe_unique_section): Always use .rdata prefix.
5387 * config/pa/som.h (readonly_data): Always switch to read-only section.
5388 (READONLY_DATA_SECTION): Predicate on flag_pic.
5389 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
5390 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
5391 (READONLY_DATA_SECTION): Update.
5392
e964a556
JT
53932002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
5394
5395 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 5396 is used without -Wformat.
e964a556
JT
5397 * c-common.h (warn_format_zero_length): Declare extern.
5398 * c-decl.c (warn_options): Add "format-zero-length".
5399 * c-format.c (warn_format_zero_length): Declare.
5400 (set_Wformat): Set warn_format_zero_length for -Wformat.
5401 (check_format_info): Only warn about zero-length formats if
5402 warn_format_zero_length is true. Include the format type
5403 name in the warning message.
5404 * doc/invoke.texi: Document -Wformat-zero-length.
5405 * testsuite/gcc.dg/format/zero-length-1.c: New test.
5406
d92b4486
KH
54072002-05-18 Kazu Hirata <kazu@cs.umass.edu>
5408
5409 * timevar.c: Fix formatting.
5410 * tlink.c: Likewise.
5411 * toplev.c: Likewise.
5412 * tree-dump.c: Likewise.
5413 * tree-inline.c: Likewise.
5414
43612ffb
NB
54152002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
5416
5417 * cppinit.c (cpp_post_options): If preprocessed, turn off
5418 traditional. If traditional, turn off column numbers.
5419 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
5420 * cpptrad.c (handle_newline): Update line_base.
5421 (skip_comment): Handle -Wcomment.
5422
f24a153a
ZW
54232002-05-17 Zack Weinberg <zack@codesourcery.com>
5424
5425 * cppinit.c (struct builtin): Remove unused fields.
5426 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
5427 (operator_array): New - was second half of builtin_array.
5428 (init_builtins): Simplify loop over builtin_array/operator_array.
5429
12403335
NB
54302002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
5431
5432 * defaults.h (UNIQUE_SECTION): Remove.
5433 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
5434
1f8c3c5b
RH
54352002-05-17 Richard Henderson <rth@redhat.com>
5436
5437 * expr.c (init_expr_once): Don't use start/end_sequence.
5438 Use rtx_alloc instead of emit_insn.
5439 * toplev.c (lang_dependent_init): Run init_expr_once here ...
5440 (lang_independent_init): ... not here.
5441
4664f4c4
JT
54422002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
5443
5444 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
5445
93febe68
MM
54462002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
5447
5448 * config/avr/avr.c (avr_regs_to_save): New function. Also check
5449 for fixed registers, possibly used for global register variables.
5450 (initial_elimination_offset, avr_output_function_prologue,
5451 avr_output_function_epilogue): Move common code to avr_regs_to_save.
5452
004cb263
NB
54532002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
5454
5455 * Makefile.in: Update for cpptrad.c.
5456 * cpphash.h (struct cpp_buffer): New members for buffer
5457 overlays.
5458 (struct cpp_reader): New members for traditional output.
5459 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
5460 * cppinit.c (cpp_create_reader): Set trad_line.
5461 (cpp_destroy): Free trad_out_base if used.
5462 (cpp_read_main_file): Overlay an empty buffer if traditional.
5463 (cpp_finish_options): Don't do builtins.
5464 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
5465 (cpp_handle_option): Handle it.
5466 * cpplex.c (continue_after_nul): New.
5467 (_cpp_lex_direct): Use handle_nul.
5468 * cpplib.h (struct cpp_options): New traditional option.
5469 * cpptrad.c: New file.
5470
bdcae02b
NB
54712002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
5472
5473 * c-common.c (c_common_init_options): Use C89 for Objective-C,
5474 and set the options flag.
5475 * cppinit.c (lang_flags): Remove objc.
5476 (lang_defaults): Remove OBJC and OBJCXX.
5477 (set_lang): Update.
5478 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
5479 (cpp_handle_option): Remove -+ and -lang-objc++.
5480 For ObjC, just set a flag.
5481 (print_help): Update.
5482 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
5483
0fca60ab
RO
54842002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5485
5486 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
5487 bootstrap with -mips3.
5488
dd3f0101
KH
54892002-05-17 Kazu Hirata <kazu@cs.umass.edu>
5490
5491 * final.c: Fix formatting.
5492 * fix-header.c: Likewise.
5493 * flow.c: Likewise.
5494 * fold-const.c: Likewise.
5495 * function.c: Likewise.
5496
5ca9299f
DM
54972002-05-17 David S. Miller <davem@redhat.com>
5498
5499 PR c/6689, PR optimization/6615
5500 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
5501 and make it a pointer to rtx. Update comments.
5502 (update_equiv_regs): When scanning for equivalences, record
5503 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
5504 it while making the equiv replacements.
5505
508bc172
RO
55062002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5507
5508 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
5509
5cd983a6
KK
55102002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
5511
5512 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
5513 when encoding visibility into SYMBOL_REF_FLAG.
5514
ce0f3925
RS
55152002-05-17 Richard Sandiford <rsandifo@redhat.com>
5516
5517 * expr.c (force_operand): Fix reversed move.
5518
06809951
GP
55192002-05-17 Kurt Wall <kwall@kurtwerks.com>
5520
5521 * doc/install.texi (Testing): Mention two common DejaGnu warnings
5522 that can be ignored.
5523
55242002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5525
5526 * doc/install.texi (Final install): Recommend to install into a
5527 "clean" target directory.
5528
1d5d7a21
RH
55292002-05-17 Richard Henderson <rth@redhat.com>
5530
5531 * config/ia64/ia64.md: Use braced strings instead of quoted strings
5532 for code blocks. Tidy whitespace.
5533
ae46c4e0
RH
55342002-05-17 Richard Henderson <rth@redhat.com>
5535
5536 * hooks.c (hook_tree_bool_false): New.
5537 * hooks.h: Declare it.
5538 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
5539 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
5540 * target.h (select_section, unique_section): New.
5541 (in_small_data_p): New.
5542 * varasm.c (resolve_unique_section): Use hooks instead of macros.
5543 (variable_section, output_constant_def_contents): Likewise.
5544 (default_select_section, default_unique_section): New.
5545 (categorize_decl_for_section, default_elf_select_section): New.
5546 * output.h: Declare them.
5547
5548 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
5549 (TARGET_ASM_SELECT_SECTION): New.
5550 (SELECT_SECTION): Move ...
5551 * config/darwin.c (machopic_select_section): ... here.
5552 * config/darwin-protos.h: Update.
5553
5554 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
5555 (SELECT_SECTION): Move ...
5556 * config/nextstep.c (nextstep_select_section): ... here.
5557 * config/nextstep-protos.h: Update.
5558
5559 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
5560 (TARGET_ASM_SELECT_SECTION): New.
5561 * config/svr3.h (SELECT_SECTION): Remove.
5562
5563 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
5564 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
5565 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
5566 (alpha_encode_section_info): Use it.
5567 * config/alpha/alpha-protos.h: Update.
5568 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
5569 (SELECT_SECTION, UNIQUE_SECTION): Remove.
5570 (TARGET_ASM_SELECT_SECTION): New.
5571 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
5572
5573 * config/arm/pe.h (UNIQUE_SECTION): Remove.
5574 (TARGET_ASM_UNIQUE_SECTION): New.
5575
5576 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
5577 (avr_unique_section): Rename from unique_section; make static.
5578 * config/avr/avr-protos.h: Update.
5579 * config/avr/avr.h (UNIQUE_SECTION): Remove.
5580
5581 * config/c4x/c4x.h (SELECT_SECTION): Remove.
5582
5583 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
5584 (TARGET_ASM_UNIQUE_SECTION): New.
5585 * config/i386/i386-interix.h: Likewise.
5586 * config/i386/win32.h: Likewise.
5587 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
5588 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
5589 * config/i386/sco5.h (SELECT_SECTION): Remove.
5590 (TARGET_ASM_SELECT_SECTION): New.
5591 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
5592
5593 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
5594 instead of SELECT_SECTION.
5595 * config/m68k/dpx2.h: Likewise.
5596 * config/rs6000/lynx.h: Likewise.
5597
5598 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
5599 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
5600 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
5601 (ia64_in_small_data_p): New.
5602 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
5603 (ia64_aix_select_section, ia64_aix_unique_section): New.
5604 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
5605 (SELECT_SECTION, UNIQUE_SECTION): Remove.
5606
5607 * config/m32r/m32r.h (SELECT_SECTION): Remove.
5608 (TARGET_ASM_SELECT_SECTION): New.
5609 * config/m32r/m32r.c (m32r_select_section): Take align argument.
5610 * config/m32r/m32r-protos.h: Update.
5611
5612 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
5613 (SELECT_SECTION): Move ...
5614 * config/m88k/m88k.c (m88k_select_section): ... here.
5615
5616 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
5617 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
5618 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
5619 (mcore_unique_section): Make static.
5620 * config/mcore/mcore-protos.h: Update.
5621
5622 * config/mips/elf.h (UNIQUE_SECTION): Remove.
5623 (TARGET_ASM_UNIQUE_SECTION): New.
5624 * config/mips/elf64.h: Likewise.
5625 * config/mips/iris6gld.h: Likewise.
5626 * config/mips/linux.h: Likewise.
5627 * config/mips/mips-protos.h: Update.
5628 * config/mips/mips.c (mips_select_section): Add align argument.
5629 * config/mips/mips.h (SELECT_SECTION): Remove.
5630 (TARGET_ASM_SELECT_SECTION): New.
5631
5632 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
5633 * config/mmix/mmix.c (mmix_select_section): Remove.
5634 (mmix_unique_section): Remove.
5635 * config/mmix/mmix-protos.h: Update.
5636
5637 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
5638 (SELECT_SECTION): Move ...
5639 * config/pa/pa.c (pa_select_section): ... here.
5640 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
5641
5642 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
5643 from rs6000_select_section and make static.
5644 (rs6000_elf_unique_section): Similarly.
5645 (rs6000_xcoff_select_section): From xcoff.h.
5646 (rs6000_xcoff_unique_section): Likewise.
5647 * config/rs6000/rs6000-protos.h: Update.
5648 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
5649 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
5650 * config/rs6000/xcoff.h: Likewise.
5651
5652 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
5653 (SELECT_SECTION): Move ...
5654 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
5655
5656 * config/v850/v850.h (SELECT_SECTION): Move ...
5657 * config/v850/v850.c (v850_select_section): ... here.
5658 (TARGET_ASM_SELECT_SECTION): New.
5659
5660 * config/vax/vms.h (SELECT_SECTION): Move ...
5661 * config/vax/vax.c (vms_select_section): ... here.
5662 (TARGET_ASM_SELECT_SECTION): New.
5663
5664 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
5665 for the target hooks.
5666
eaeb23a7
NC
56672002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
5668
5669 * config/arm/arm.c (emit_multi_reg_push): Do not set
5670 RTX_FRAME_RELATED_P on the SEQUENCE.
5671
a00fe19f
RH
56722002-05-16 Richard Henderson <rth@redhat.com>
5673
5674 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
5675 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
5676
5ccff482
RH
56772002-05-16 Richard Henderson <rth@redhat.com>
5678
5679 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
5680
068d7739
RH
5681 * config/ia64/ia64.c (saveable_obstack): Do not declare.
5682
0b17ab2f
RH
56832002-05-16 Richard Henderson <rth@redhat.com>
5684
5685 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
5686 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
5687 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
5688 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
5689 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
5690 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
5691 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
5692 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
5693 Revert "Basic block renumbering removal", and two followup patches.
5694
8ae86b3c
JT
56952002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
5696
5697 * lcm.c (optimize_mode_switching): Revert previous change.
5698
4e9f27af
ZD
56992002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5700
5701 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
5702 with only extant block numbers.
5703
3cdc1dbc
JT
57042002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
5705
5706 * lcm.c (optimize_mode_switching): Fix typo.
5707
fbfb3b09
ZD
57082002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5709
5710 * flow.c (calculate_global_regs_live): Queue blocks in program order.
5711
b4b0fb02
RO
57122002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5713
5714 * doc/install.texi (Configuration): Document PWDCMD.
5715
63b827c5
DJ
57162002-05-16 Dale Johannesen <dalej@apple.com>
5717
5718 * combine.c (cant_combine_insn_p): Reenable combinations
5719 involving hard regs unless CLASS_LIKELY_SPILLED_P.
5720
748d29c1
NB
57212002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
5722
5723 * c-common.c (cb_register_builtins): Handle more built-ins
5724 here rather than in gcc.c specs.
5725 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
5726 (cpp_options): Pass -O flags even when only preprocessing.
5727 * toplev.c (set_fast_math_flags): New prototype.
5728 (fast_math_flags_set_p): New.
5729 (set_no_fast_math_flags): Remove.
5730 (decode_f_option): Update.
5731 * toplev.h (set_fast_math_flags): Update.
5732 (fast_math_flags_set_p): New.
5733 (set_no_fast_math_flags): Remove.
5734config:
5735 * c4x/c4x.c (c4x_override_options): Update.
5736
5279d739
ZW
57372002-05-16 Zack Weinberg <zack@codesourcery.com>
5738
5739 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
5740 Default-define here.
5741 (builtin_define_with_value): Can now wrap the expansion in
5742 quotation marks if such is wanted.
a00fe19f 5743 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
5744 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
5745 here.
5746 (c_common_init): Set options->stdc_0_in_system_headers.
5747 * c-lex.h: Update prototype of builtin_define_with_value.
5748 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
5749 and REGISTER_PREFIX.
5750
5751 * cppinit.c (VERS, ULP, C, X): Kill.
5752 (builtin_array): Remove entries for __VERSION__,
5753 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
5754 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
5755 a constant.
5756 (init_builtins): Kill off a bunch of now-dead code.
5757 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
5758 -fno-leading-underscore.
5759 (cpp_handle_option): Remove code to set user_label_prefix.
5760 (cpp_post_options): Likewise.
5761
5762 * cpplib.h (struct cpp_options): Remove user_label_prefix.
5763 (stdc_0_in_system_headers): New.
5764 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
5765 stdc_0_in_system_headers) too to decide the value of __STDC__.
5766
5767 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 5768 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
5769 (initialize_builtins): Don't define __REGISTER_PREFIX__
5770 or __USER_LABEL_PREFIX__.
5771 (install_value): Wrap compound statement in dummy loop so the
5772 macro works properly in an if statement.
5773
5774
62e6ca55
JJ
57752002-05-16 Janis Johnson <janis187@us.ibm.com>
5776
5777 * loop.h (struct loop_info): Add member has_prefetch.
5778 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
5779 (prescan_loop): Initialize has_prefetch.
5780 (struct prefetch_info): Change prefetch_in_loop and
5781 prefetch_before_loop from bit fields to ints.
5782 (emit_prefetch_instructions): Several small fixes.
5783 (check_dbra_loop): Don't reverse loop that uses prefetch.
5784
1e6347d8
RO
57852002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5786
5787 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
5788 * configure.in: Likewise.
5789 * fixinc/check.tpl: Likewise.
5790 * fixinc/fixinc.dgux: Likewise.
5791 * fixinc/fixinc.svr4: Likewise.
5792 * fixinc/fixinc.winnt: Likewise.
5793 * fixinc/fixincl.sh: Likewise.
5794 * fixproto: Likewise.
5795 * configure: Regenerate.
5796
355e4ec4
ZD
57972002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5798
5799 Basic block renumbering removal:
5800 * basic_block.h (struct basic_block_def): Renamed index to sindex,
5801 added prev_bb and next_bb fields.
5802 (n_basic_blocks): Renamed to num_basic_blocks.
5803 (last_basic_block): New, index of last basic block.
5804 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
5805 traversing basic block chain.
5806 (BLOCK_NUM): index -> sindex.
5807 (create_basic_block_structure, create_basic_block): Declaration changed.
5808 (debug_num2bb): Declare.
5809 (expunge_block_nocompact): Declaration removed.
5810 (link_block, unlink_block, compact_blocks): Declare.
5811 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
5812 * cfg.c (entry_exit_blocks): Initialize new fields.
5813 (clear_edges, alloc_block, expunge_block, cached_make_edge,
5814 redirect_edge_pred, dump_flow_info, dump_edge_info,
5815 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
5816 free_aux_for_edges): Modified.
5817 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
5818 (expunge_block_nocompact): Removed.
5819 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
5820 find_unreachable_blocks, create_edge_list, print_edge_list,
5821 verify_edge_list, flow_edge_list_print, remove_fake_successors,
5822 remove_fake_edges, flow_reverse_top_sort_order_compute,
5823 flow_depth_first_order_compute, flow_preorder_transversal_compute,
5824 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
5825 flow_dfs_compute_reverse_execute): Modified.
5826 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
5827 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
5828 Modified.
5829 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
5830 merge_blocks_move_predecessor_nojumps,
5831 merge_blocks_move_successor_nojumps, merge_blocks,
5832 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
5833 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
5834 * cfglayout.c (skip_insns_after_block, label_for_bb,
5835 record_effective_endpoints, scope_to_insns_finalize,
5836 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
5837 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
5838 cfg_layout_duplicate_bb): Modified.
5839 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
5840 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
5841 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
5842 flow_loops_find, flow_loop_outside_edge_p): Modified.
5843 * cfgrtl.c (create_basic_block_structure, create_basic_block,
5844 flow_delete_block, compute_bb_for_insn, split_block,
5845 try_redirect_by_replacing_jump, redirect_edge_and_branch,
5846 force_nonfallthru_and_redirect, tidy_fallthru_edge,
5847 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
5848 commit_edge_insertions, commit_edge_insertions_watch_calls,
5849 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
5850 purge_all_dead_edges): Modified.
5851 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
5852 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
5853 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
5854 Modified.
5855 * conflict.c (conflict_graph_compute): Modified.
5856 * df.c (FOR_ALL_BBS): Removed.
5857 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
5858 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
5859 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
5860 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
5861 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
5862 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
5863 * final.c (compute_alignments, final_scan_insn): Modified.
5864 * flow.c (verify_local_live_at_start, update_life_info,
5865 update_life_info_in_dirty_blocks, free_basic_block_vars,
5866 delete_noop_moves, calculate_global_regs_live,
5867 initialize_uninitialized_subregs, allocate_bb_life_data,
5868 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
5869 mark_used_reg, count_or_remove_death_notes): Modified.
5870 * function.c (thread_prologue_and_epilogue_insns): Modified.
5871 * gcse.c (struct null_pointer_info): Change typo of current_block
5872 to basic_block.
5873 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
5874 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
5875 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
5876 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
5877 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
5878 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
5879 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
5880 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
5881 pre_delete, one_pre_gcse_pass, compute_transpout,
5882 invalidate_nonnull_info, delete_null_pointer_checks_1,
5883 free_code_hoist_mem, compute_code_hoist_vbeinout,
5884 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
5885 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
5886 compute_store_table, build_store_vectors, insert_insn_start_bb,
5887 insert_store, replace_store_insn, free_store_memory, store_motion):
5888 Modified.
5889 * global.c (global_alloc, global_conflicts, mark_elimination,
5890 build_insn_chain): Modified.
5891 * graph.c (print_rtl_graph_with_bb): Modified.
5892 * haifa-sched.c (sched_init): Modified.
5893 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
5894 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
5895 if_convert): Modified.
5896 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
5897 compute_insert_delete, pre_edge_lcm, compute_available,
5898 compute_farthest, compute_nearerout, compute_rev_insert_delete,
5899 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
5900 Modified.
5901 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
5902 * loop.c (loop_dump_aux): Modified.
5903 * predict.c (combine_predictions_for_insn, estimate_probability,
5904 last_basic_block_p, process_note_prediction, process_note_predictions,
5905 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
5906 expensive_function_p, estimate_bb_frequencies,
5907 compute_function_frequency): Modified.
5908 * print-rtl.c (print_rtx): Modified.
5909 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
5910 get_exec_counts, compute_branch_probabilities, compute_checksum,
5911 branch_prob, find_spanning_tree): Modified.
5912 * recog.c (split_all_insns, peephole2_optimize): Modified.
5913 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
5914 convert_regs_1, convert_regs_2, convert_regs): Modified.
5915 * regclass.c (scan_one_insn, regclass): Modified.
5916 * regmove.c (mark_flags_life_zones, regmove_optimize,
5917 combine_stack_adjustments): Modified.
5918 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
5919 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
5920 * reorg.c (dbr_schedule): Modified.
5921 * resource.c (find_basic_block, init_resource_info): Modified.
5922 * sbitmap.c (sbitmap_intersection_of_succs,
5923 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
5924 sbitmap_union_of_preds): Modified.
5925 * sched-deps.c (init_dependency_caches): Modified.
5926 * sched-ebb.c (schedule_ebbs): Modified.
5927 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
5928 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
5929 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
5930 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
5931 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
5932 ssa_const_prop): Modified.
5933 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
5934 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
5935 * ssa.c (remove_phi_alternative, find_evaluations,
5936 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
5937 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
5938 make_regs_equivalent_over_bad_edges,
5939 make_equivalent_phi_alternatives_equival,
5940 compute_conservative_reg_partition,
5941 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
5942 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
5943 Modified.
5944
5a566bed
MM
59452002-05-16 Mark Mitchell <mark@codesourcery.com>
5946
5947 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
5948
48f6efae
NC
59492002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
5950
5951 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
5952 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
5953 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
5954 calling CONSTANT_POOL_ADDRESS_P.
5955 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
5956 to decide whether to define __arm__ or __thumb.
355e4ec4 5957 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
5958 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
5959
b166fadd
NB
59602002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
5961
5962 * config/arc/arc.h (CPP_PREDEFINES): Remove.
5963 (CPP_SPEC): Update.
5964 (TARGET_CPU_CPP_BUILTINS): New.
5965
601328bb
NB
59662002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
5967
5968 * cpphash.h (cpp_macro): Move here, and make expansion a union.
5969 * cppmacro.c (cpp_macro): Remove.
5970 (enter_macro_context, replace_args, warn_of_redefinition,
5971 _cpp_create_definition, cpp_macro_definition): Update.
5972
ff48be5c
JM
59732002-05-16 Jason Merrill <jason@redhat.com>
5974
5975 * config/mips/mips.c (mips_output_external): Don't do sdata
5976 optimization for a variable with DECL_COMDAT set.
5977
805c42ba
AH
59782002-05-15 Aldy Hernandez <aldyh@redhat.com>
5979
355e4ec4
ZD
5980 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
5981 Cleanups for accepting modifiers on pointers.
5982 Fix predicate typos.
5983 Allow long pointers as well as int pointers.
805c42ba 5984
34fb9ba5
RH
59852002-05-15 Richard Henderson <rth@redhat.com>
5986
5987 * varasm.c (merge_weak): Remove special case for extern and common.
5988
62e118f5
MH
59892002-05-15 Matt Hiller <hiller@redhat.com>
5990
5991 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 5992 XFAILing.
62e118f5
MH
5993 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
5994 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
5995 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
5996 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
5997 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
5998 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
5999
fefac463
AH
60002002-05-15 Aldy Hernandez <aldyh@redhat.com>
6001
355e4ec4 6002 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 6003
5f004351
AH
60042002-05-15 Aldy Hernandez <aldyh@redhat.com>
6005
355e4ec4
ZD
6006 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
6007 ("altivec_mfvscr"): Read from VSCR.
6008
6009 Add vscr sets for the following insns: altivec_vctuxs,
6010 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
6011 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
6012 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
6013 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
6014 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
6015 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
6016 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
6017 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
6018 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
6019 altivec_vsum2sws, altivec_vsumsws.
6020
6021 * config/rs6000/rs6000.h: Add VSCR fixed register.
6022 (CALL_REALLY_USED_REGISTERS): Add vscr.
6023 (CALL_USED_REGISTERS): Same.
6024 (FIXED_REGISTERS): Same.
6025 (REG_ALLOC_ORDER): Same.
6026 (reg_class): Add VSCR_REGS.
6027 (REG_CLASS_NAMES): Same.
6028 (REG_CLASS_CONTENTS): Same.
6029 (VSCR_REGNO): New.
6030 (REGISTER_NAMES): Add vscr.
6031 (DEBUG_REGISTER_NAMES): Same.
6032 (ADDITIONAL_REGISTER_NAMES): Same.
6033 (FIRST_PSEUDO_REGISTER): Increment.
6034 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 6035
033afd11
RH
60362002-05-15 Jakub Jelinek <jakub@redhat.com>
6037
6038 * fold-const.c (fold): Fix a typo.
6039
60402002-05-15 Eric Botcazou <ebotcazou@multimania.com>
6041
6042 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
6043 comparison against the highest or lowest integer value before
6044 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
6045 transformation and that of an unsigned comparison against 0
6046 right after.
6047
14285ace
RH
60482002-05-15 Richard Henderson <rth@redhat.com>
6049
6050 * varasm.c (merge_weak): Error for any weakening after definition.
6051 Adjust weakening after use warning to catch more cases.
6052 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
6053 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
6054
194734e9
JH
6055Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
6056
6057 * invoke.texi (-malign-double): Re-add lost warning.
6058
6059 * i386-protos.h (x86_output_mi_thunk): Declare.
6060 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
6061 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
6062
6063 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
6064 when flag_asynchronous_unwind_tables is set.
6065
6066 * flags.h (flag_reorder_functions): Declare.
6067 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 6068 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
6069 * Makefile.in (predict.o): Add dependency on target.h and params.h
6070 * defaults.h (HOT_TEXT_SECTION_NAME,
6071 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
6072 * predict.c (choose_function_section): New function.
6073 (estimate_bb_frequencies): Use it.
6074 * toplev.c (flag_reorder_functions): New global variable.
6075 (lang_independent_options): New.
6076 (parse_options_and_default_flags): Set.
6077 * varasm.c (assemble_start_function): Bypass functdion alignment
6078 for never executed functions.
6079 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
6080 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
6081 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
6082 Document.
6083
6084 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
6085
6086 * predict.c: Inlude profile.h
6087 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
6088 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
6089 Use the information about maximal counter in the program.
6090
6091 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
6092
6093 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
6094 probably_never_executed_bb_p): New functions.
6095 * cfgcleanup.c (outgoing_edges_match): Use them.
6096 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
6097 (maybe_hot_bb_p, probably_cold_bb_p,
6098 probably_never_executed_bb_p): New functions.
6099
6100 * function.h (function): Add new field function_frequency.
6101 * predict.c (compute_function_frequency): New function.
6102 (estimate_probability): Call it.
6103
61ad9a34
JJ
61042002-03-09 Jakub Jelinek <jakub@redhat.com>
6105
6106 PR optimization/5172, optimization/5200
6107 * gcse.c (gcse_main): Disable store_motion.
6108
a11eba95
ZW
61092002-05-14 Zack Weinberg <zack@codesourcery.com>
6110
6111 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
6112 (c_common_nodes_and_builtins): Use it.
6113 (builtin_define_with_value): New function.
6114 (cb_register_builtins): Define __SIZE_TYPE__,
6115 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
6116 using builtin_define_with_value. Use consistent notation when
6117 defining __GXX_WEAK__.
6118 (WCHAR_TYPE_SIZE): Don't redefine.
6119 (combine_strings): Don't use WCHAR_TYPE_SIZE.
6120
6121 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
6122 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
6123 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
6124 * tradcpp.c (initialize_builtins): Likewise.
6125 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
6126
6127 * c-lex.h (builtin_define_with_value): Prototype.
6128 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
6129 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
6130 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
6131
6132 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
6133 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
6134 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
6135 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
6136 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
6137 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
6138 config/sparc/sol2-bi.h, config/sparc/sparc.h:
6139 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
6140 to __SIZE_TYPE__ etc from all spec strings. When this makes
6141 extra specs empty, delete them.
6142
1c31ecf6
JDA
61432002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
6144
6145 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
6146 for PA8000 or generating dwarf2 call frame information.
6147 (output_call): Remove DO_FRAME_NOTES check from return pointer
6148 optimization.
6149 (following_call): Return 0 when scheduling for PA8000 or generating
6150 dwarf2 call frame information. Revise comment.
6151
ac9cfada
NB
61522002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
6153
6154config/alpha:
6155 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
6156 and __IEEE_FP_INEXACT as appropriate.
6157 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
6158 (CPP_SPEC): Remove ieee defines.
6159 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
6160
9b690711
RH
61612002-05-14 Richard Henderson <rth@redhat.com>
6162
6163 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
6164 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
6165
e6471be6
NB
61662002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
6167
e6471be6
NB
6168 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
6169 (CPP_SPEC): Update.
6170 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
6171 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
6172 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
6173 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
6174 (EXTRA_SPECS): Update.
6175 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
6176 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
6177 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
6178 define TARGET_OS_CPP_BUILTINS if necessary.
6179
e5f5feea
NB
61802002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
6181
6182 * gcc.c (cpp_options): Must pass -m* and -f* options
6183 to the front end even when only preprocessing.
6184 (cc1_options): Remove redundant -lang-c.
6185 * tradcpp.c (main): Ignore -m options.
6186objc:
6187 * lang-specs.h: Similarly.
6188
317638a8
VM
61892002-05-14 Vladimir Makarov <vmakarov@redhat.com>
6190
6191 * genautomata.c (transform_3): Add code for transformation
6192 `(A,B,...)+C -> A+C,B,...'.
6193
4d604303
JH
6194Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
6195
6196 * final.c (end_final): Do not output profile_arcs constructor, when
6197 no functions are instrumented.
6198
b18b06ed
JH
6199Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
6200
6201 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
6202
a12f97f0
GP
62032002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6204
6205 * doc/install.texi: Remove special markup originally required for
6206 HTML generation with texi2html.
6207
c1ae3eb4
AS
62082002-05-14 Andreas Schwab <schwab@suse.de>
6209
6210 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
6211 SELECT_SECTION.
6212 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
6213
6214 * varasm.c (resolve_unique_section): Add third parameter
6215 flag_function_or_data_sections and use it instead of
6216 flag_function_sections.
6217 (assemble_start_function): Pass flag_function_sections.
6218 (asm_emit_uninitialised): Pass flag_data_sections.
6219 (assemble_variable): Likewise.
6220
8ee41eaf
RH
62212002-05-14 Richard Henderson <rth@redhat.com>
6222
6223 * config/i386/i386.md: Use define_constants for unspec numbers.
6224 * config/i386/i386.c: Likewise.
6225
e6471be6
NB
62262002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
6227
6228 * doc/contrib.texi: Update my entry.
6229
c297b764
MM
62302002-05-13 Mark Mitchell <mark@codesourcery.com>
6231
6232 * fixinc/inclhack.def (winidss_valist): Limit applicability.
6233 * fixinc/fixincl.x: Regenerated.
6234 * fixinc/tests/base/math.h: Update.
6235 * fixinc/tests/base/testing.h: Likewise.
6236
0b42c8f8
ZW
62372002-05-13 Zack Weinberg <zack@codesourcery.com>
6238
6239 * genattr.c (gen_attr): Don't emit a comma after the last
6240 enumerator.
6241
546c093e
RH
62422002-05-13 Richard Henderson <rth@redhat.com>
6243
6244 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
6245 by non-local gotos.
6246 * recog.c (peephole2_optimize): Likewise.
6247
85be8c2d
AP
62482002-05-13 Andris Pavenis <pavenis@lanet.lv>
6249
6250 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
6251 input to O_BINARY.
6252
765b8f90
JL
62532002-05-13 Jeffrey A Law (law@redhat.com)
6254
fe4b3c79
JL
6255 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
6256 Update prototype and callers.
6257 (propagate_one_insn): Stack pointer adjustments kill MEMs on
6258 the mem_set_list which reference the stack pointer, as do
6259 calls to constant functions as they may clobber outgoing
6260 argument space.
6261
16133d00
JL
6262 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
6263
765b8f90
JL
6264 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
6265 (ia32_multipass_dfa_lookahead): New function.
6266
63826d5b
NB
62672002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
6268
6269 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
6270 (translate_options): Remove 'V'.
6271 (process_command): Similarly.
6272doc:
6273 * invoke.texi: Remove documentation of 'V'.
6274
dcb41ced
UW
62752002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
6276
6277 * config/s390/linux.h: Revert 2002-04-22 changes.
6278
8dfea428
SM
62792002-05-13 Scott Marks <SMarks@mobile-mind.com>
6280
6281 * config/fr30/fr30.md: Only allow splits of immediate loads
6282 if the destination is a register.
6283
12a41c22
NB
62842002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
6285
6286 * Makefile.in (c-common.o, cppinit.o): Update.
6287 * c-common.c: Include except.h.
6288 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
6289 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
6290 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
6291 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
6292 CPP_PREDEFINES): Handle here.
6293config:
6294 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
6295 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
6296 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
6297 TARGET_OS_CPP_BUILTINS.
6298 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
6299 (CPP_SPEC, EXTRA_SPECS): Update.
6300 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
6301 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
6302 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
6303 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
6304 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
6305doc:
6306 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
6307 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
6308
5692c7bc
ZW
63092002-05-12 Zack Weinberg <zack@codesourcery.com>
6310
6311 * emit-rtl.c (global_rtl): Update comment.
6312 (const_double_htab, const_double_htab_hash,
6313 const_double_htab_hash, lookup_const_double): New.
6314 (const_int_htab_hash, const_int_htab_eq): Remove const
6315 qualifiers, which cause tons of warnings with RTL checking on.
6316 (gen_rtx_CONST_DOUBLE): Deleted.
6317 (const_double_from_real_value): New function - bears some
6318 resemblance to the former immed_real_const_1.
6319 (immed_double_const): Moved here from varasm.c and
6320 simplified.
6321 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
6322 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
6323 (gen_rtx): Use immed_double_const.
6324 (init_emit_once): Initialize the const_double_htab. Use
6325 REAL_VALUE_FROM_INT where possible. Can now use
6326 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
6327 * varasm.c (struct varasm_status): Remove x_const_double_chain.
6328 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
6329 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
6330 (init_varasm_status, mark_varasm_status): Don't touch
6331 x_const_double_chain.
6332
6333 * output.h: Delete prototype for clear_const_double_mem.
6334 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
6335 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
6336 const_double_from_real_value, not immed_real_const_1, and use
6337 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
6338 CONST_DOUBLE_ATOF.
6339 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
6340 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
6341 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
6342 (gen_rtx_REG): Second arg is unsigned.
6343
6344 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
6345 (excluded_rtx): New, return true for CONST_DOUBLE.
6346 (genmacro): Write nothing for excluded codes.
6347 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
6348 * expr.c (expand_expr): Likewise.
6349 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
6350 CONST_DOUBLE_CHAIN.
6351 * toplev.c (rest_of_compilation): Don't call
6352 clear_const_double_mem.
6353
6354 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
6355 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
6356 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
6357 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
6358 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
6359 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
6360 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
6361 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
6362
31397a7b
KG
63632002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6364
6365 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
6366
1b70d38a
TT
63672002-05-12 Tom Tromey <tromey@redhat.com>
6368
6369 * tree.h (copy_node): Don't mention TREE_PERMANENT.
6370
9a5834ae
ZW
63712002-05-12 Zack Weinberg <zack@codesourcery.com>
6372
6373 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
6374 (scan_comma_elt): New function. Accepts whitespace in comma lists.
6375 * gensupport.h: Prototype new routines.
6376 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
6377 use of printf.
6378 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
6379 (next_comma_elt): Use scan_comma_elt.
6380
6381 * config/i386/i386.md: Use new attribute notation to break up
6382 long lines in define_attr forms.
6383
51286de6
RH
63842002-05-12 Richard Henderson <rth@redhat.com>
6385
6386 * expr.c (compress_float_constant): New.
6387 (emit_move_insn): Use it.
6388 (float_extend_from_mem): New.
6389 (init_expr_once): Initialize it.
6390 * real.c (exact_real_truncate): New.
6391
6392 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
6393 dropped into memory; penalize for size.
6394 (RTX_COSTS): FLOAT_EXTEND is free.
6395 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
6396 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
6397
6412341e
RH
63982002-05-12 Richard Henderson <rth@redhat.com>
6399
6400 * profile.h (profile_info): Add missing extern to declaration.
6401 * profile.c (profile_info): Define it.
6402
12877f09
JDA
64032002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
6404
6405 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
6406 used for DImode and TImode.
6407
387f9e32
NB
64082002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
6409
6410 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
6411 fake a newline.
6412
e1a0f69c
ZW
64132002-05-11 Zack Weinberg <zack@codesourcery.com>
6414
6415 * config/rs6000/rs6000.c (rs6000_default_long_calls,
6416 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
6417 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
6418 (rs6000_override_options): Handle -m(no-)longcall.
6419 (init_cumulative_args, output_mi_thunk): Check for both
6420 longcall and shortcall attributes on the function.
6421 (rs6000_attribute_table): Add "shortcall".
6422 (rs6000_handle_longcall_attribute): Update comment.
6423 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
6424 altivec_expand_ternop_builtin): Add default clauses to switches
6425 to silence warnings.
6426
6427 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
6428 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
6429 (TARGET_OPTIONS): Add longcall and no-longcall.
6430
6431 * config/rs6000/rs6000.md (call_nonlocal_sysv,
6432 call_value_nonlocal_sysv): Split by alternatives. One pair
6433 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
6434 the call cookie. The other pair accepts only LR/CTR and has
6435 no restriction.
6436
6437 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
6438 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
6439 tmake_file.
6440 * config/rs6000/rs6000-c.c: New file.
6441 * config/rs6000/t-rs6000-c-rule: New file.
6442 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
6443 Prototype rs6000_pragma_longcall.
6444
6445 * doc/extend.texi: Document shortcall attribute.
6446 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
6447
9c64026d
JDA
64482002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
6449
6450 * reorg.c (dbr_schedule): Remove unnecessary test.
6451
6c81a490
JH
6452Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
6453
6454 * i386.md (testsi to testqi spliters): New.
6455
6456 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
6457
6458 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
6459
6460 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
6461
6462 * basic-block.h: New flag EDGE_CAN_FALLTHRU
6463 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
6464 that can be made fallthru.
6465
6466 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
6467
6468 * cfglayout.c (cleanup_unconditional_jumps): New static function.
6469 (cfg_layout_initialize): Use it.
4c476cf3 6470
e4447d94
MM
64712002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
6472
6473 * config/avr/avr.c (avr_mcu_types): Update supported devices.
6474 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
6475 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
6476
3a538a66
KH
64772002-05-11 Kazu Hirata <kazu@cs.umass.edu>
6478
6479 * dbxout.c: Fix formatting.
6480 * dependence.c: Likewise.
6481 * df.c: Likewise.
6482 * diagnostic.c: Likewise.
6483 * doloop.c: Likewise.
6484 * dominance.c: Likewise.
6485 * doschk.c: Likewise.
6486 * dwarf2asm.c: Likewise.
6487 * dwarf2out.c: Likewise.
6488 * dwarfout.c: Likewise.
6489
2292e8fc
RH
64902002-05-10 Richard Henderson <rth@redhat.com>
6491
6492 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
6493 Convert integers constants as needed. Replace "nwords" field with
6494 "sizeof_bb".
6495 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
6496 * function.h: Fix typo in comment.
6497 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
6498
dbfb1116
RS
64992002-05-10 Roger Sayle <roger@eyesopen.com>
6500
6501 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
6502 into the equivalent (signed char)c > 0.
6503
79a497cd
JJ
65042002-05-10 Janis Johnson <janis187@us.ibm.com>
6505
6506 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
6507 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
6508 (struct prefetch_info): Fix spelling of member bytes_accessed.
6509 (emit_prefetch_instructions): Make dump messages more regular;
6510 restructure code to add more dump messages; use new macros for
6511 heuristics. (There are no code generation changes in any of this).
6512
6c45cb0d
DM
65132002-05-10 David S. Miller <davem@redhat.com>
6514
7440af14
DM
6515 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
6516 (struct rtx_def): Update unchanging flag comment.
6517 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
6518 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
6519 to be handled to INSN too.
6520 (dbr_schedule): Likewise.
6521 * resource.c (next_insn_no_annul): Likewise.
6522
6c45cb0d
DM
6523 * cse.c (rtx_cost): Remove multiplication by power of 2 special
6524 casing.
6525
29f21e4f
GP
65262002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6527
6528 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
6529 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
6530 (possibly) work around broken /bin/sh.
6531
e4ba88da
RO
65322002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6533
6534 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
6535 . as N64/N32 libgcc_s.so subdirs.
6536
4f4778ee
DM
65372002-05-10 David S. Miller <davem@redhat.com>
6538
6539 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
6540
6541 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
6542 more accurately.
6543 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
6544 comment.
6545 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
6546 * doc/rtl.texi: Document these macros more accurately.
6547 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
6548 JUMP_INSNs and CALL_INSNs.
6549 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
6550 or INSN_FROM_TARGET_P if the code is appropriate.
6551
1a499b92
MM
65522002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
6553
6554 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
6555 before using SYMBOL_REF_FLAG (addr).
6556
6557 * config/avr/avr-protos.h (avr_io_address_p): Declare.
6558 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
6559 Make non-static. Update all callers.
6560 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
6561 New insns to clear/set/test a single bit in I/O address space.
6562
65212b66
KG
65632002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6564
6565 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
6566
3df89291
NB
65672002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
6568
6569 * Makefile.in: Update.
6570 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
6571 builtin_define_std): New.
6572 (c_common_init): Register CPP builtins callback.
6573 * c-common.h (flag_iso, flag_undef): New.
6574 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
6575 * c-lex.c: Don't include target.h.
6576 (cb_register_builtins): Move to c-common.c.
6577 (init_c_lex): Don't register hook here.
6578 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
6579 (cpp_define, cpp_assert): Remove.
6580 * gcc.c (cc1_options): Pass -undef to front end.
6581 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
6582 (TARGET_INITIALIZER): Update.
6583 * target.h (struct cpp_reader): Don't predeclare.
6584 (struct gcc_target): Remove cpp builtin hook.
6585 * tree.c (default_register_cpp_builtins): Remove.
6586doc:
6587 * tm.texi: Update.
6588
32fa4565
NB
65892002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
6590
6591 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
6592
23357c55
RO
65932002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6594
6595 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
6596 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
6597
5aa26af0
JJ
65982002-05-09 Jakub Jelinek <jakub@redhat.com>
6599
6600 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
6601 * config/sparc/libgcc-sparc-glibc.ver: New file.
6602 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
6603 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
6604
2937267b
JJ
66052002-05-09 Jakub Jelinek <jakub@redhat.com>
6606
6607 PR target/6429
6608 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
6609 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
6610 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
6611 base multilibs.
6612 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
6613 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
6614 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
6615 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
6616
086c0f96
RH
66172002-05-09 Richard Henderson <rth@redhat.com>
6618
6619 * config/ia64/ia64.md: Use define_constants for unspec numbers.
6620 * config/ia64/ia64.c: Likewise.
6621
a8b4881f
RS
66222002-05-09 Richard Sandiford <rsandifo@redhat.com>
6623
6624 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
6625 (save_restore_insns): Likewise.
6626 (mips_expand_prologue, mips_expand_epilogue): Update callers.
6627 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
6628
243e5500 6629Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
890d52e8 6630
af2728a4
JL
6631 * athlon.md, k6.md, pentium.md, ppro.md): New files.
6632 * i386.md: Move scheduling information into new files.
6633
890d52e8
JL
6634 * i386.md (type attribute): Add "rotate" for rotate insns.
6635 (rotate insns): Set type to "rotate".
6636 (various attributes and function units): Treat rotate like shift.
6637 (pent_pair attribute): Only rotates by one bit position are
6638 pairable.
6639 (sbb insns): Explicitly set pent_pair attribute on a couple
6640 that were missing it.
6641
f78ec36a
R
6642Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
6643
6644 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
6645 make sure that buffer starts on odd word address.
6646 (sh_va_arg): Skip odd fp registers when reading a double precision
6647 value.
6648
ff431459
NB
66492002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
6650
6651 * tree.h (preserve_data, object_permanent_p, type_precision):
6652 Remove.
6653
c3bf3e6e
NB
66542002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
6655
6656 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
6657 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
6658doc:
6659 * cpp.texi: Update for removal of obsolete features.
6660
02263a8a
JH
6661Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
6662 Jeffrey A Law (law@redhat.com)
6663
6664 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
6665 the DFA interface for Pentium processors.
6666 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
6667 (attr_pent_pair, ix86_pent_find_pair): Remove.
6668 (ix86_sched_reorder_pentium): Remove.
6669 (ix86_sched_reorder): Remove reordering for Pentium.
6670 * i386.md (Pentium scheduling): Rewrite using DFA description.
6671
3e638a90
JH
6672Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
6673
6674 * cfganal.c (can_fallthru): Fix fast path.
6675 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
6676 with edges to the next block.
6677
b7c9bf28
JH
6678Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
6679 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
6680
6681 * final.c (end_final): Use C trees to output data structures for profiling.
6682
6683 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
6684 (profile.o): New dependency profile.h
6685 (final.o): New dependency profile.h
6686 * profile.h: New file. New global structure profile_info.
6687 * final.h (count_edges_instrumented_now): Declare.
6688 (current_function_cfg_checksum): Declare.
6689 (function_list): New structure.
6690 (functions_head, functions_tail): New static variables.
6691 (end_final): Emits more data, removed some -ax stuff.
6692 (final): Stores function names and chcksums.
6693 * gcov-io.h (__write_gcov_string): New function.
6694 (__read_gcov_string): New function.
6695 * gcov.c (read_profile): New function.
6696 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 6697 da_file.
5692c7bc
ZW
6698 (read_files): Removed da_file checking, it's done by read_profile now.
6699 * libgcc2.c (bb_function_info): New structure.
6700 (bb): New field in structure, removed some -ax stuff.
6701 (__bb_exit_func): Changed structure of da_file.
6702 * profile.c (count_edges_instrumented_now): New global variable.
6703 (current_function_cfg_checksum): New global variable.
6704 (max_counter_in_program): New global variable.
6705 (get_exec_counts): New function.
6706 (compute_checksum): New function.
6707 (instrument_edges): Sets count_edges_instrumented_now.
6708 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 6709 reading da_file.
5692c7bc
ZW
6710 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
6711 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 6712 now.
5692c7bc 6713 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 6714 now.
5692c7bc 6715 * gcov.texi: Updated information about gcov file format.
b7c9bf28 6716
786de7eb
KH
67172002-05-09 Kazu Hirata <kazu@cs.umass.edu>
6718
6719 * sbitmap.c: Fix formatting.
6720 * scan.c: Likewise.
6721 * scan-decls.c: Likewise.
6722 * sched-deps.c: Likewise.
6723 * sched-ebb.c: Likewise.
6724 * sched-rgn.c: Likewise.
6725 * sched-vis.c: Likewise.
6726 * sdbout.c: Likewise.
6727 * sibcall.c: Likewise.
6728 * simplify-rtx.c: Likewise.
6729 * ssa.c: Likewise.
6730 * ssa-ccp.c: Likewise.
6731 * ssa-dce.c: Likewise.
6732 * stmt.c: Likewise.
6733 * stor-layout.c: Likewise.
6734 * stringpool.c: Likewise.
6735
b7764693
DM
67362002-05-09 David S. Miller <davem@redhat.com>
6737
6738 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
6739
4e7d5d27
DM
67402002-05-07 David S. Miller <davem@redhat.com>
6741
6742 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
6743 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
6744 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
6745 library implementation clobbers the output before the inputs
6746 are fully consumed, use stack temporary for the output.
6747
f979570e
JT
67482002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
6749
6750 * config/netbsd.h (CPP_SPEC): Remove.
6751 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
6752 * config/i386/netbsd.h (CPP_SPEC): Define.
6753 * config/ns32k/netbsd.h (CPP_SPEC): Define.
6754 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
6755 * config/sparc/netbsd.h (CPP_SPEC): Define.
6756 * config/vax/netbsd.h (CPP_SPEC): Define.
6757
a6a2274a
KH
67582002-05-08 Kazu Hirata <kazu@cs.umass.edu>
6759
6760 * read-rtl.c: Fix formatting.
6761 * real.c: Likewise.
6762 * recog.c: Likewise.
6763 * regclass.c: Likewise.
6764 * regmove.c: Likewise.
6765 * reg-stack.c: Likewise.
6766 * reload1.c: Likewise.
6767 * reload.c: Likewise.
6768 * resource.c: Likewise.
6769 * rtlanal.c: Likewise.
6770 * rtl.c: Likewise.
6771 * rtl-error.c: Likewise.
6772
461b48d5
JDA
67732002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
6774
6775 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
6776 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
6777
95d075ff
BS
67782002-05-08 Bernd Schmidt <bernds@redhat.com>
6779
6780 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
6781 use __SSE2__ macro instead.
6782 * config/i386/xmmintrin.h: Likewise.
6783
2d4cc6a7
JJ
67842002-05-08 Janis Johnson <janis187@us.ibm.com>
6785
6786 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
6787 and use it in all invocations of these macros. Clean up comments.
6788 * rtl.c (rtl_check_failed_flag): Add an argument for the name
6789 of the flag access macro whose check failed.
6790 * doc/rtl.texi (Flags): Document additional flag uses.
6791
3f8ffc7c
RS
67922002-05-08 Robert Spier <rspier@pobox.com>
6793 Neil Booth <neil@daikokuya.demon.co.uk>
6794
6795 PR preprocessor/6521
6796 * cppfiles.c (handle_missing_header): Don't do anything
6797 different for <> includes.
6798doc:
6799 * cppopts.texi: Update documentation for -MG.
6800
b9e2d17b
NB
68012002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
6802
6803 * cpplex.c (cpp_interpret_charconst): Truncate as well as
6804 sign-extend.
6805doc:
6806 * cpp.texi: Clarify multichar charconst valuation.
6807
8d8269fa
MM
68082002-05-08 Mark Mitchell <mark@codesourcery.com>
6809
6810 * doc/invoke.texi: Document -mwindiss option.
6811
29b91443
JM
68122002-05-08 Jason Merrill <jason@redhat.com>
6813
6814 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
6815
6816 * dwarf2out.c (gen_type_die): Abort on broken recursion.
6817
6818 PR c++/6381
6819 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
6820 REAL_CST.
6821
6c76b950
NC
68222002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
6823
6824 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
6825 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 6826 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
6827 multilibs for the Thumb.
6828
f90bf7ca
MM
68292002-05-08 Mark Mitchell <mark@codesourcery.com>
6830
6831 PR c/6569.
6832 * varasm.c (mark_weak): New function.
6833 (merge_weak): Use it. Do not call declare_weak.
6834 (declare_weak): Use merge_weak.
6835
1e150f2c
JH
6836Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
6837
6838 * cse.c (dead_libcall_p): Update counts.
6839 (delete_trivially_dead_insns): Update call of dead_libcall_p.
6840
969d70ca
JH
6841Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
6842
6843 * cfglayout.c (function_tail_eff_head): Rename to ...
6844 (function_footer): ... this one.
6845 (unlink_insn_chain): New functions.
6846 (label_for_bb): Only call block_label and emit debug message.
6847 (record_effective_endpoints): Actually unlink the headers and footers.
6848 (fixup_reorder_cahin): Re-insert the unlinked sequences.
6849 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
6850 * cfglayout.h (struct reorder_block_def): New fields footer/header;
6851 remove eff_head/eff_end.
6852 * rtl.h (set_first_insn): Declare.
6853 * emit-rtl.c (set_first_insn): New function.
6854
6855 * cfglayout.c (fixup_reorder_chain): Dump duplicated
6856 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
6857 cfg_layout_duplicate_bb): New global function.
6858 (duplicate_insn_chain): New static function.
6859 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
6860 cfg_layout_duplicate_bb): Declare.
6861 (struct reorder_block_def): Add "original" field.
6862 * emit-rtl.c (emit_copy_of_insn_after): New function.
6863 * rtl.h (emit_copy_of_insn_after): Declare.
6864
6865 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
6866 (fixup_reorder_chain): properly handle edges to exit block.
6867
6868Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6869 Jan Hubicka <jh@suse.cz>
6870
6871 * basic-block.h (note_prediction_to_br_prob): declare.
6872 * c-semantics.c: Inlucde predit.h
6873 (expand_stmt): predict GOTO_STMT as not taken.
6874 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
6875 (cleanup_cfg): Do not free tail_recursion_list.
6876 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
6877 (flow_delete_block): Kill predictions past end of basic block.
6878 * output.h (delete_unreachable_blocks): Declare.
6879 * predict.c (predicted_by_p, process_note_predictions,
6880 process_note_prediction, last_block_p): New function.
6881 (estimate_probability): Bypass loop on PRED_CONTINUE;
6882 do not handle noreturn heuristics; kill PRED_RETURN; add
6883 PRED_EARLY_RETURN.
6884 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
6885 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
6886 * predict.h (IS_TAKEN): New constant.
6887 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
6888 * rtl.c (NOTE_INSN_PREDICTION): New.
6889 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
6890 New macro.
6891 (insn_note): add NOTE_INSN_PREDICTION.
6892 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
6893 CFG; free tail_recursion_label_list.
6894 * stmt.c: Include predict.h;
6895 (return_prediction): New.
6896 (expand_value_return): Use it.
6897 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
6898
41f8d041
RS
68992002-05-08 Richard Sandiford <rsandifo@redhat.com>
6900
6901 * config/mips/mips.md: Name the unspecs with define_constant.
6902 (*HILO_delay): Rename to 'hilo_delay' (no star).
6903 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
6904 (reload_outdi, reload_outsi): Likewise.
6905
9cabb1d8
KH
69062002-05-07 Kazu Hirata <kazu@cs.umass.edu>
6907
6908 * toplev.c: Fix formatting.
6909
4c76f856
JJ
69102002-05-07 Janis Johnson <janis187@us.ibm.com>
6911
6912 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
6913 * configure.in (ac_rtlflag_checking): New.
6914 * doc/install.texi (--enable-checking): Document RTL flag checking.
6915
44a147ad
NB
69162002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
6917
6918 * c-common.c (c_common_init): Set options->unsigned_wchar.
6919 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
6920 group target dependencies.
6921 (init_builtins, cpp_handle_option): Update.
6922 * cpplex.c (cpp_interpret_charconst): Update.
6923 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
6924 signed_char to unsigned_char, group target dependencies.
6925 * defaults.h (WCHAR_UNSIGNED): Remove.
6926 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
6927config:
6928 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
6929 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
6930 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
6931 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
6932 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
6933doc:
6934 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
6935
cace4f93
MM
69362002-05-07 Mark Mitchell <mark@codesourcery.com>
6937
6938 * fixinc/inclhack.def (windiss_math1): New fix.
6939 (windiss_math2): Likewise.
6940 (windiss_valist): Likewise.
6941 * fixinc/fixincl.x: Regenerated.
6942
e2ff6cee
AJ
69432002-05-07 Andreas Jaeger <aj@suse.de>
6944
6945 * genautomata.c (output_internal_min_issue_delay_func): Add
6946 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
6947 (output_internal_trans_func): Likewise.
6948
bdad4be5
JL
6949Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
6950
6951 * pa.c (hppa_profile_hook): Use force_reg to get the address
6952 of the profile hook into an appropriate pseudo register.
6953
a1ffecd9
MM
69542002-05-07 Mark Mitchell <mark@codesourcery.com>
6955
6956 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
6957 (LINK_START_SPEC): Handle it.
6958 (LINK_OS_SPEC): Likewise.
6959 (CPP_SPEC): Likewise.
6960 (STARTFILE_SPEC): Likewise.
6961 (LIB_SPEC): Likewise.
6962 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
6963 all platforms.
6964 (CRTSAVRES_DEFAULT_SPEC): New macro.
6965 (LIB_WINDISS_SPEC): New macro.
6966 (CPP_OS_WINDISS_SPEC): Likewise.
6967 (STARTFILE_WINDISS_SPEC): Likewise.
6968 (ENDFILE_WINDISS_SPEC): Likewise.
6969 (LINK_START_WINDISS_SPEC): Likewise.
6970 (LINK_OS_WINDISS_SPEC): Likewise.
6971 * config/rs6000/windiss.h: New file.
e2ff6cee 6972
df966bff
AH
69732002-05-07 Aldy Hernandez <aldyh@redhat.com>
6974
a5c76ee6 6975 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 6976
db84f1bd
DM
69772002-05-06 David S. Miller <davem@redhat.com>
6978
6979 * config/sparc/sparc.md (shift insns): Do not mask off
6980 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
6981 take care of it.
6982
818c0c94
RH
69832002-05-06 Richard Henderson <rth@redhat.com>
6984
6985 PR c++/6212
6986 * expr.c (highest_pow2_factor_for_type): New.
6987 (expand_assignment): Use it.
6988
61e0b50f
AH
69892002-05-06 Aldy Hernandez <aldyh@redhat.com>
6990
818c0c94
RH
6991 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
6992 unspec_volatile.
6993 ("altivec_mfvscr"): Same.
61e0b50f 6994
5a63e069
JJ
69952002-05-06 Janis Johnson <janis187@us.ibm.com>
6996
6997 * rtl.h (struct rtx_def): Update comments.
6998 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
6999 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
7000 RTL_FLAG_CHECK macros with list of expected RTL codes.
7001 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
7002 (rtl_check_failed_flag): New.
7003 * reload1.c (reload): Use REG macro before changing rtx to MEM.
7004 (reload_cse_noop_set_p): Check rtx code before using access macro.
7005 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
7006 before using access macro.
7007
4afe3952
JJ
70082002-05-06 Janis Johnson <janis187@us.ibm.com>
7009
7010 * doc/rtl.texi (Flags): Update to reflect current usage.
7011
1f77b5da
RS
70122002-05-06 Roger Sayle <roger@eyesopen.com>
7013
7014 PR opt/3995
7015 * fold-const.c (sign_bit_p): New function.
7016 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 7017 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
7018 Reapply fold when converting (A & C) == C into (A & C) != 0.
7019 (fold_binary_op_with_conditional_arg): Fix typo in comment.
7020
a5a49440
NB
70212002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
7022
7023 * c-common.c (warn_multichar): New.
7024 (c_common_init): Set CPP's warn_multichar.
7025 * c-common.h (warn_multichar): New.
7026 * c-decl.c (warn_multichar): Remove.
7027 * c-lex.c (lex_charconst): Update.
7028 * c-tree.h (warn_multichar): Remove.
7029 * cppexp.c (eval_token): Sign-extend charconst value.
7030 * cppinit.c (cpp_create_reader): Set warn_multichar.
7031 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
7032 each character. Update prototype. Sign-extend the result.
7033 * cpplib.h: Fix conditions.
7034 (struct cpp_options): Add new warning flag.
7035 (cpp_interpret_charconst): Update prototype.
7036doc:
7037 * cpp.texi: Update documentation.
7038
83e0be55
VM
70392002-05-06 Vladimir Makarov <vmakarov@redhat.com>
7040
7041 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
7042 Fix typo in usage of allof instead of unit.
7043
688ec718
RH
70442002-05-06 Richard Henderson <rth@redhat.com>
7045
7046 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
7047 and any jump or call for IN.
7048
f6536266
BS
70492002-05-06 Bernd Schmidt <bernds@redhat.com>
7050
e2ff6cee 7051 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
7052 -msse2.
7053 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 7054
0316d49b
RS
70552002-05-06 Roger Sayle <roger@eyesopen.com>
7056
7057 * fold-const.c (lshift-double): Cast the high word to an unsigned
7058 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
7059 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
7060 avoid compiler warning. (fold): Remove redundant code from
7061 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
7062
5d50fab3
JL
70632002-05-06 Jeff Law <law@redhat.com>
7064
7065 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
7066 * pa.c (pa_adjust_cost): Remove all true dependency cost
7067 adjustments. Also remove support for non-DFA scheduling.
7068 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
7069 to adjust true dependency costs. Update various comments.
7070 (7100lc, 7200, 7300 scheduling): Simplify by combining the
7071 FP ALU & MPY units into a single unit.
7072
a17a104c
CM
70732002-05-06 Catherine Moore <clm@redhat.com>
7074
7075 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 7076 to count all of the registers that will be saved.
a17a104c 7077
7799175f
JH
7078Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
7079
7080 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
7081
0ac941a0
DM
70822002-05-06 David S. Miller <davem@redhat.com>
7083
7084 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
7085 allow result to overlap input operands in memory.
7086
95ff5d3f
NB
70872002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
7088
7089doc:
7090 * cpp.texi: Update multichar charconst docs.
7091
639e8b0c
NB
70922002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
7093
7094 * cpplex.c (cpp_interpret_charconst): Sign-extend each
7095 character. Don't ignore excess characters. Treat
7096 multicharacter character constants as signed.
7097 (cpp_parse_escape): Clarify diagnostic.
7098
84ea5bc1
JJ
70992002-05-05 Jakub Jelinek <jakub@redhat.com>
7100
7101 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
7102 use add instead of shift.
7103 (ashldi3_sp64): Likewise.
7104 (ashlsi3_const1, ashldi3_const1): Remove.
7105 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
7106 * config/sparc/sparc.c (const1_operand): New.
7107
40cd22f2
JT
71082002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
7109
7110 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
7111
cac01076
JJ
71122002-05-05 Jakub Jelinek <jakub@redhat.com>
7113
7114 PR target/6561
7115 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
7116
98791e3a
RH
71172002-05-05 Richard Henderson <rth@redhat.com>
7118
7119 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
7120 memory latency adjustments.
7121 (alpha_variable_issue): Remove.
7122 (alpha_use_dfa_pipeline_interface): New.
7123 (alpha_multipass_dfa_lookahead): New.
7124 * config/alpha/alpha.md: Remove define_function_unit scheduling;
7125 include new dfa scheduling.
7126 (attr type): Add none.
7127 (blockage): Use it.
7128 * config/alpha/ev4.md: New.
7129 * config/alpha/ev5.md: New.
7130 * config/alpha/ev6.md: New.
7131
309527ce
DM
71322002-05-05 David S. Miller <davem@redhat.com>
7133
7134 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
7135
68252e27
KH
71362002-05-05 Kazu Hirata <kazu@cs.umass.edu>
7137
7138 * cse.c: Fix formatting.
7139 * emit-rtl.c: Likewise.
7140
30cc9d00
VM
71412002-05-05 Vladimir Makarov <vmakarov@redhat.com>
7142
7143 * genautomata.c (initiate_states): Add additional guard to
7144 initialize `units_array'.
7145
deb09eff
VM
71462002-05-05 Vladimir Makarov <vmakarov@redhat.com>
7147
7148 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
7149 process_unit_to_form_the_same_automaton_unit_lists,
7150 form_the_same_automaton_unit_lists
7151 check_unit_distributions_to_automata): New prototypes and
7152 functions.
7153 (check_automata): Rename it into `check_automata_insn_issues'.
7154 (unit_decl): New fields `the_same_automaton_unit' and
7155 `the_same_automaton_message_reported_p'.
7156 (unit_decl_t): New typedef.
7157 (the_same_automaton_lists): New gloval variable.
7158 (unit_regexp, unit_set_el, units_array, units_cmp,
7159 output_get_cpu_unit_code_func): Use the typedef.
7160 (evaluate_max_reserv_cycles): Increment
7161 `description->max_insn_reserv_cycles'.
7162 (initiate_states): Don't increment `max_cycles_num'.
7163 (transform_insn_regexps): Move code around transformation of
7164 regexps from `generate'.
7165 (generate): Remove call of `transform_insn_regexps'.
7166 (expand_automata): Call `transform_insn_regexps' and
7167 `check_unit_distributions_to_automata'. Check errors before
7168 `generate'.
7169
7170 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
7171 automaton `ultrasparc3_1'.
e2ff6cee 7172
2443d4e1
NB
71732002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
7174
7175 * c-common.c (c_common_init): Set up CPP arithmetic.
7176 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
7177 something reasonable for the host.
7178 (sanity_checks): Add checks.
7179 (cpp_read_main_file): Call sanity_checks() from here...
7180 (cpp_post_options): ... not here.
7181 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
7182 * cpplib.h (struct cpp_options): New member int_precision.
7183
791a949f
FS
71842002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7185
7186 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
7187
091fb516
DM
71882002-05-04 David S. Miller <davem@redhat.com>
7189
f60ebeb7
DM
7190 * config/sparc/linux.h, config/sparc/linux64.h
7191 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
7192
214c6394
DM
7193 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
7194 more RTX codes.
7195 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
7196
091fb516
DM
7197 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
7198 of SETs.
7199
f2fdc802
TJ
72002002-05-05 Tim Josling <tej@melbpc.org.au>
7201
e2ff6cee 7202 * treelang; New directory for new sample language treelang.
f2fdc802 7203
3d90d290
NB
72042002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
7205
7206 * Makefile.in (c-lex.o): Update.
7207 * c-lex.c: Include target.h.
7208 (cb_register_builtins): New.
7209 (init_c_lex): Set builtins callback.
7210 * c-lex.h (cpp_define, cpp_assert): New prototypes.
7211 * cppinit.c (init_builtins): Use callback, including for
7212 GXX_WEAK.
7213 * cpplib.h (struct cpp_callbacks): New member.
7214 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
7215 (TARGET_INITIALIZER): Update.
7216 * target.h (struct gcc_target): New hook.
7217 * tree.c (default_register_cpp_builtins): New.
7218 * tree.h (default_register_cpp_builtins): New.
7219doc:
7220 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
7221
625458d0
NB
72222002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
7223
7224 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
7225 (cpp_post_options): Move sanity checks to...
7226 (sanity_checks): New.
7227 * cpplex.c (maybe_read_ucs): Fix prototype.
7228 (parse_string, cpp_parse_escape): Cast for %c format specifier.
7229 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
7230 if necessary.
7231
916b60b7
BS
72322002-05-04 Bernd Schmidt <bernds@redhat.com>
7233
7234 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
7235 builtins. Use V2DI patterns instead of TI for logical operations.
7236 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
7237 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
7238 (ix86_expand_builtins): Change the pattern used for movntdq.
7239 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
7240 sse2_nandv2di3): New patterns.
7241 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
7242 on operands.
7243 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
7244 (cvtdq2pd): Correct mode on operand 1.
7245 (sse2_umulsidi3): Describe without unspec.
7246 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
7247 machine modes.
7248 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
7249 (ashlv2di3): Likewise, from sse2_ashlv2di3.
7250 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
7251 ashlv4si3, ashlv2di3): Use SImode for shift count.
7252 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
7253 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
7254 New patterns.
7255 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
7256 New typedefs.
7257 (__m128i, __m128d): New macros.
7258 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
7259 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
7260 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
7261 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
7262 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 7263 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
7264 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
7265 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 7266 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
7267 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
7268 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
7269 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
7270 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
7271 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
7272 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
7273 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
7274 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
7275 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
7276 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
7277 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
7278 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
7279 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
7280 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
7281 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
7282 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
7283 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
7284 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
7285 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
7286 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
7287 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
7288 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
7289 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
7290 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
7291 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
7292 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
7293 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
7294 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
7295 functions.
e2ff6cee 7296 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
7297 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
7298
c26fbbca
KH
72992002-05-04 Kazu Hirata <kazu@cs.umass.edu>
7300
7301 * dwarf2out.c: Fix formatting.
7302 * varasm.c: Likewise.
7303
0387639b
DE
73042002-05-04 David Edelsohn <edelsohn@gnu.org>
7305
7306 PR c/6543
7307 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
7308 clobber and use result as temporary value.
7309
8a28dbcc
JH
7310Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
7311
7312 * expr.c (force_operand): Use expand_simple_* to handle more
7313 cases.
7314
4268e8bb
NB
73152002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
7316
7317 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
7318 and sign-extension.
7319 (lex_charconst): Update for change in prototype of
7320 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
7321 appropriately.
7322 * cpphash.h (BITS_PER_CPPCHAR_T): New.
7323 * cppinit.c (cpp_create_reader): Initialize them for no
7324 change in semantics.
7325 (cpp_post_options): Add sanity checks.
7326 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
7327 and truncation issues. Calculate in type cppchar_t.
7328 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
7329 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
7330 run-time dependent precision correctly. Return whether the
7331 result is signed or not.
7332 * cpplib.c (dequote_string): Use cppchar_t; update.
7333 * cpplib.h (cppchar_signed_t): New.
7334 struct cpp_options): New precision members.
7335 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 7336 * cppexp.c (eval_token): Update.
4268e8bb 7337
af54350e
DM
73382002-05-03 David S. Miller <davem@redhat.com>
7339
2ce04b6b
DM
7340 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
7341 * config/sparc/sparc.c (sparc_rtx_costs): New function
7342 implementing RTX_COSTS and CONST_COSTS.
7343 * config/sparc/sparc.h (CONST_COSTS): Delete.
7344 (RTX_COSTS_CASES): Define.
7345 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
7346 the work.
7347
a1d9bd0c
DM
7348 * config/sparc/sparc.md (DFA schedulers): Split out...
7349 * config/sparc/cypress.md, config/sparc/hypersparc.md,
7350 config/sparc/sparclet.md, config/sparc/supersparc.md,
7351 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
7352
e87bb82e
DM
7353 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
7354 checks on it, always defined for Sparc.
7355
af54350e
DM
7356 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
7357 Tweak, and add more detailed comments.
7358
935bfb44
ZW
73592002-05-03 Zack Weinberg <zack@codesourcery.com>
7360
7361 * Re-apply patch accidentally reverted with
7362 DFA scheduler merge: remove all rules and variables to slurp
7363 source files out of libiberty and rebuild them with HOST_CC.
7364 ($(HOST_PREFIX_1)varray.o): New rule.
7365 (genattrtab rule): Word wrap.
7366
fa7a0712
JT
73672002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
7368
7369 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
7370 (CPP_SUBTARGET_SPEC): Define.
7371 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
7372 cpp_subtarget specs.
7373 (CPP_SPEC): Redefine to include %(cpp_subtarget).
7374
14c93978
DM
73752002-05-03 David S. Miller <davem@redhat.com>
7376
7377 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
7378 * target.h (struct gcc_target): Delete cycle_display member.
7379
14d118d6
DM
7380 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
7381 (rtx_needs_barrier): Delete reference to cycle_display unspec.
7382 (ia64_sched_reorder2): Mention need for cycle display handling
7383 once such notes exist.
935bfb44 7384
b3ae1ccd
RH
73852002-05-03 Richard Henderson <rth@redhat.com>
7386
7387 * real.c (etoasc): Strip most trailing zeros for clarity.
7388 * sched-vis.c: Include real.h.
7389 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
7390 * Makefile.in (sched-vis.o): Add real.h.
7391
8f39865a
DM
73922002-05-03 David S. Miller <davem@redhat.com>
7393
7394 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
7395 no longer needed.
7396
b44140e7
AH
73972002-05-03 Aldy Hernandez <aldyh@redhat.com>
7398
935bfb44
ZW
7399 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
7400 when we get an out of range literal.
7401 (altivec_expand_ternop_builtin): Same.
7402 (altivec_expand_unop_builtin): Same.
7403 (altivec_expand_builtin): Same, for dss.
7404 (altivec_expand_builtin): Use trees instead of rtl when
7405 determining literal argument validity.
b44140e7 7406
aaaed752
DM
74072002-05-03 David S. Miller <davem@redhat.com>
7408
7409 Delete cycle display scheduling hook.
7410 * config/ia64/ia64.c (ia64_cycle_display,
7411 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
7412 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
7413 and use emit_insn_before instead of ia64_emit_insn_before.
7414 * config/ia64/ia64.md (unspec usage): Delete cycle display.
7415 (cycle_display): Delete insn pattern.
7416 * config/sparc/sparc.md (unspec usage): Delete cycle display.
7417 (cycle_display): Delete insn pattern.
7418 * config/sparc/sparc.c (sparc_cycle_display,
7419 TARGET_SCHED_CYCLE_DISPLAY): Delete.
7420 * doc/md.texi (cycle_display): Don't mention.
7421 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 7422
b37c2614
RH
74232002-05-03 Richard Henderson <rth@redhat.com>
7424
7425 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
7426 * recog.h: Declare them.
7427
7428 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
7429 * config/sparc/sparc.md: Use store_data_bypass_p instead.
7430 * config/sparc/sparc-protos.h: Update.
935bfb44 7431
e1c1132e
JT
74322002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
7433
7434 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
7435 -D__arch64__. Add -D_LP64.
7436 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
7437 from sparc.h.
7438 (CPP_ARCH64_SPEC): Likewise.
7439 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
7440 (NO_BUILTIN_SIZE_TYPE): Undef.
7441
0b2fb0d7
VM
74422002-05-03 Vladimir Makarov <vmakarov@redhat.com>
7443
7444 * genautomata.c (min_issue_delay_pass_states): Change return type
7445 in the prototype.
7446 (min_issue_delay_pass_states): Change the algorithm.
7447 (min_issue_delay): Set up min_insn_issue_delay for the state.
7448 (output_min_issue_delay_table): Interchange the nested loops and
7449 and initiate min_insn_issue_delay for states.
935bfb44 7450
3d4ce12a
JH
7451Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
7452
7453 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
7454 jump is simplejump.
7455
7456Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
7457
7458 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
7459 sequence.
7460
b5482208
RH
74612002-05-03 Richard Henderson <rth@redhat.com>
7462
7463 PR opt/6534
7464 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
7465 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
7466 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
7467 code before JUMP, not EARLIEST.
7468
5a3085c5
JM
74692002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
7470
7471 * c-format.c (check_format_info_main): Don't check for presence of
7472 parameter for * width until after operand number has been read,
7473 and only check for it if format parameters are available.
7474 Fixes PR c/6547.
7475
40039424
JT
74762002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
7477
7478 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
7479 (LINK_SPEC): Undef before defining.
7480
8157303b
JJ
74812002-05-03 Jakub Jelinek <jakub@redhat.com>
7482
7483 PR preprocessor/6489
7484 * tradcpp.c (fixup_newlines): New.
7485 (main, finclude): Use it.
7486
66319f5c
RS
74872002-05-03 Richard Sandiford <rsandifo@redhat.com>
7488
7489 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
7490 * config/mips/mips.c (mips_unique_section): Strip encoding from
7491 decl name.
7492
ce8076ad
JJ
74932002-05-03 Jakub Jelinek <jakub@redhat.com>
7494
7495 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
7496 mode.
7497
975c6e4e
RO
74982002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7499
7500 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
7501 (Specific): Removed buildstats references.
7502 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
7503 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
7504 Accomodate Solaris versions beyond 8.
7505 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
7506 (Specific, *-*-solaris2.8): Removed, obsolete.
7507
d70e94ec
JJ
75082002-05-03 Jakub Jelinek <jakub@redhat.com>
7509
7510 PR target/6542
7511 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
7512 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
7513 fill leaf_reg_remap with identity.
7514 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
7515
6b148bd9
KH
75162002-05-03 Kazu Hirata <kazu@cs.umass.edu>
7517
7518 * config/h8300/crti.asm: Remove trailing spaces.
7519 * config/h8300/h8300.c: Likewise.
7520 * config/h8300/lib1funcs.asm: Likewise.
7521
609688f3
JM
75222002-05-02 Jason Merrill <jason@redhat.com>
7523
7524 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
7525 * c-decl.c (c_init_decl_processing): Use it.
7526 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
7527 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
7528 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
7529
3b03c671
KH
75302002-05-03 Kazu Hirata <kazu@cs.umass.edu>
7531
7532 * regrename.c: Fix formatting.
7533 * tree.c: Likewise.
7534
3b4961bd
JH
7535Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
7536
7537 * i386.md (attribute memory): Handle compares properly.
7538
19cba4a0
JH
7539Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
7540
3b4961bd 7541 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
7542 to none.
7543
797a6ac1
KH
75442002-05-02 Kazu Hirata <kazu@cs.umass.edu>
7545
7546 * function.c: Fix formatting.
7547
6d0de005
JH
75482002-05-02 Jan Hubicka <jh@suse.cz>
7549
7550 * haifa-sched.c (schedule_insn): Print table of instructions and
7551 reservations.
7552 (sched_block): Do not print ready list at verbosity level 1.
7553 * sched-vis.c (print_insn): Make global.
7554 * sched-ebb.c (ebb_print_insn): Rename from...
7555 (print_insn): ... this one.
7556 * sched-int.h (print_insn): Declare
7557
0bfb9a69
RH
75582002-05-02 Richard Henderson <rth@redhat.com>
7559
7560 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
7561 emitted by cycle_display.
7562
6b976d99
LR
75632002-05-02 Loren J. Rittle <ljrittle@acm.org>
7564
7565 * doc/install.texi (*-*-freebsd*): Update to latest status.
7566
0a295052
JJ
75672002-05-02 Jakub Jelinek <jakub@redhat.com>
7568
7569 PR target/6540
7570 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
7571 * config/float-sparc.h: Assume 128-bit long double if
7572 __LONG_DOUBLE_128__ is defined.
7573
842d5d6c
VM
75742002-05-02 Vladimir Makarov <vmakarov@redhat.com>
7575
7576 * genattrtab.c (write_function_unit_info): Add a dummy element
7577 when num_units == 0.
7578
3d7a6309
HB
75792002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
7580
7581 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
7582 TYPE_MODE (double_type_node) instead of DFmode.
7583
1b6763cf
JH
7584Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
7585
7586 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
7587 jumps post reload.
7588 * toplev.c (rest_of_compilation): Revert Richard's patch.
7589
b303008e
JDA
75902001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
7591
7592 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
7593
6ed7412a
CM
75942002-05-02 Catherine Moore <clm@redhat.com>
7595
7596 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
7597
e0a2f705
KH
75982002-05-02 Kazu Hirata <kazu@hxi.com>
7599
b32d6163 7600 * combine.c: Fix comment typos.
e0a2f705
KH
7601 * expr.c: Likewise.
7602 * genautomata.c: Likewise.
7603 * stmt.c: Likewise.
7604 * tree.h: Likewise.
7605
38e23049
JM
76062002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
7607
7608 * doc/install.texi: State GNAT version requirements.
7609
40f4a97d
NC
76102002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
7611
7612 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
7613 of the frame pointer or arg pointer register which strict register
7614 checking is not enabled.
7615
0d6d6892
AH
76162002-05-02 Aldy Hernandez <aldyh@redhat.com>
7617
b5482208 7618 * gcc.dg/altivec-8.c: New.
0d6d6892 7619
b5482208
RH
7620 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
7621 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 7622
abaa8559
BK
76232002-05-01 Bruce Korb <bkorb@gnu.org>
7624
7625 * fixinc/check.tpl(set-writable): make sure the function exists first
7626 * fixinc/inclhack.def(alpha_assert): fix test_text
7627 * fixinc/tests/base/assert.h: add in missing result
7628
ecab2143
JL
76292002-05-01 Jeff Law <law@redhat.com>
7630
7631 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
7632 'T' constraint.
7633
ea619b46
JB
76342002-05-01 Joel Brobecker <brobecker@gnat.com>
7635
7636 * dbxout.c (dbxout_type): Emit size information for range types,
7637 as well, but only when using GDB extensions.
7638
c72931a6
RH
76392002-05-01 Richard Henderson <rth@redhat.com>
7640
7641 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
7642 target-independent gnu binutils date test.
7643
2150ad33
RH
76442002-05-01 Richard Henderson <rth@redhat.com>
7645
7646 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
7647 info before expunging the block.
7648
1651cc96
JJ
76492002-05-01 Jakub Jelinek <jakub@redhat.com>
7650
7651 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
7652 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
7653 -M -or -MM is in effect.
7654
8998d5bf
ZW
76552002-05-01 Zack Weinberg <zack@codesourcery.com>
7656
7657 * config.gcc: Correct test of --enable-obsolete. Obsolete all
7658 A29k configurations.
7659 * doc/install.texi: Update to match.
7660
a81eed10
FS
76612002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7662
7663 PR bootstrap/6514
7664 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
7665 for duplicates. Always loop over whole list.
7666
8d53318f
RK
7667Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7668
7669 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
7670
4109b118
JS
76712002-05-01 Joel Sherrill <joel@OARcorp.com>
7672
7673 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
7674 support routines.
7675
c4a9c570
JS
76762002-05-01 Joel Sherrill <joel@OARcorp.com>
7677
7678 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
7679
ea112fc4
DE
76802002-05-01 David Edelsohn <edelsohn@gnu.org>
7681
7682 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
7683 (nabs_nopower): Same.
7684 (floatdisf2): New pattern.
7685 (absdi2): Convert to define_insn_and_split.
7686 (nabsdi2): Same.
7687 (trunctfsf2): Same.
7688 (floatditf2): Same.
7689 (floatsitf2): Same.
7690 (fix_trunctfdi2): Same.
7691 (fix_trunctfsi2): Same.
7692
dda78254
JM
76932002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
7694
7695 * doc/install.texi: Update Texinfo version requirement
7696 documentation.
7697
26aeede4
JJ
76982002-05-01 Jakub Jelinek <jakub@redhat.com>
7699
7700 PR target/6512, PR target/5628
7701 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
7702 when memory is not aligned.
7703 (movdf_insn_v9only_vis): Likewise.
7704 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
7705 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
7706 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
7707
9b7bc465
AH
77082002-05-01 Aldy Hernandez <aldyh@redhat.com>
7709
8998d5bf 7710 * gcc.dg/altivec-7.c: New.
9b7bc465 7711
8998d5bf 7712 * config/rs6000/altivec.h: Cleanup.
9b7bc465 7713
08b57fb3
AH
77142002-04-30 Aldy Hernandez <aldyh@redhat.com>
7715
8998d5bf
ZW
7716 * doc/invoke.texi (Option Summary): Add -mvrsave=.
7717 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 7718
8998d5bf
ZW
7719 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
7720 (rs6000_altivec_vrsave_string): Same.
7721 (rs6000_override_options): Call rs6000_parse_vrsave_option.
7722 (rs6000_parse_vrsave_option): New.
7723 (rs6000_stack_info): Only generate vrsave instructions when
7724 TARGET_ALTIVEC_VRSAVE.
08b57fb3 7725
8998d5bf
ZW
7726 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
7727 (rs6000_altivec_vrsave_string): Define extern.
7728 (rs6000_altivec_vrsave): Same.
7729 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 7730
8e8c38cd
RH
77312002-04-30 Richard Henderson <rth@redhat.com>
7732
7733 PR opt/6516
7734 * toplev.c (rest_of_compilation): Don't run cross-jump before
7735 bb-reorder.
7736
4be9e9cb
TR
77372002-04-30 Tom Rix <trix@redhat.com>
7738
8998d5bf 7739 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
7740 check which_alternative.
7741
1eeeb6a4
KH
77422002-04-30 Kazu Hirata <kazu@hxi.com>
7743
7744 * cpplex.c: Fix comment formatting.
7745 * function.c: Likewise.
7746 * integrate.c: Likewise.
7747 * regrename.c: Likewise.
7748 * sibcall.c: Likewise.
7749 * simplify-rtx.c: Likewise.
7750 * tree-inline.c: Likewise.
7751
ed9d6ff9
JDA
77522002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
7753
7754 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
7755 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
7756 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
7757 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
7758 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
7759 * pa/x-ada: New file. Define ADA_CFLAGS.
7760
1f2641b6
HPN
77612002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
7762
7763 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
7764 from MMIX_LAST_REGISTER_FILE_REGNUM.
7765 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
7766 (struct machine_function): New member highest_saved_stack_register
7767 previously static variable in mmix.c.
7768 (MACHINE_DEPENDENT_REORG): Define.
7769 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
7770 (MMIX_OUTPUT_REGNO): New.
7771 (mmix_target_asm_function_prologue): Move calculation of last used
7772 saved-stack-register into...
7773 (mmix_machine_dependent_reorg): New function. Update to also handle
7774 !TARGET_ABI_GNU.
7775 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
7776 register names, simplify somewhat by new variable regno.
7777 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
7778 register.
7779 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
7780 emitting register names.
7781 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
7782 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
7783 Remove fixed FIXME.
7784 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
7785 Declare.
7786
7787 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
7788
73985940
RH
77892002-04-30 Richard Henderson <rth@redhat.com>
7790
7791 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
7792 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
7793 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
7794 emit_tfmode_cvt): New.
7795 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
7796 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
7797 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
7798 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
7799 * config/sparc/sparc-protos.h: Update.
7800
2b46bc67
JJ
78012002-04-30 Janis Johnson <janis187@us.ibm.com>
7802
7803 * install.texi (Final install): Add to the list of info to include
7804 in a report of a successful bootstrap, and add link to 3.1 list.
7805
3d34cd91
JH
7806Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
7807
7808 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
7809 (mode): Add vector modes
7810 (i387): Kill attribute.
7811 (unit): New attribute.
7812 (length_immediate): Grok new types.
7813 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
7814 (modrm): Use "unit".
7815 (memory): Handle MMX/SSE properly.
7816 (scheduling descriptions): Kill uses of fop1.
7817 (sse, mmx, fp patterns): Set type and mode properly.
7818
243e5500 7819Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
3193c415 7820
30482eb0
JL
7821 * pa.c (override_options): Default to PA8000 scheduling.
7822 * doc/invoke.texi (HP-PA options): Mention newly added 7300
7823 scheduling parameter.
7824
3193c415
JL
7825 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
7826 handling of double precision multiplies.
7827
7828 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
7829 fpdiv and fpsqrt instructions.
7830 (7200 & 7300 scheduling): Fix typo in handling of
7831 store-load and store-store penalties.
7832
c0a34cb7
GP
78332002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7834
7835 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
7836 mips. Add two missing commas.
7837
8bce0628
PC
78382002-04-30 Paolo Carlini <pcarlini@unitus.it>
7839
7840 * doc/contrib.texi (Contributors): Update Paolo Carlini's
7841 and Benjamin Kosnik's entries.
7842
84643cbf
DM
78432002-04-29 David S. Miller <davem@redhat.com>
7844
7845 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
7846 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
7847 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
7848 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
7849
da6886f6
FS
78502002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7851
7852 * combine.c (find_split_point): Use gen_int_mode.
7853
fae15c93
VM
78542002-04-29 Vladimir Makarov <vmakarov@redhat.com>
7855
7856 Merging code from dfa-branch:
8998d5bf 7857
fae15c93
VM
7858 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
7859
7860 * genautomata.c (output_reserv_sets): Fix typo.
7861
7862 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
7863
7864 * genautomata.c (output_reserv_sets): Remove
7865 next_cycle_output_flag.
7866
7867 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
7868
8998d5bf
ZW
7869 * sched-rgn.c (init_ready_list): Make the DFA code handle
7870 USE/CLOBBER insns in the same way as the traditional
7871 scheduler.
7872 (new_ready): Similarly..
fae15c93
VM
7873
7874 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
7875
7876 * haifa-sched.c (schedule_block): Change the DFA state only after
7877 issuing insn.
7878
7879 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
7880
7881 * pa.c (hppa_use_dfa_pipeline_interface): New function.
7882 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
7883 (override_options): Add PA7300 scheduling support.
7884 (pa_adjust_cost): Update various comments. Properly
7885 handle anti and output dependencies when using the
7886 DFA scheduler.
7887 (pa_issue_rate): Add PA7300 scheduling support.
7888 (pa_can_combine_p): Call extract_insn before calling
7889 constrain_operands (taken from mainline tree).
7890 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
7891 * pa.md (cpu attr): Add 7300. Rewrite pipeline
7892 descriptions using DFA descriptions. Add PA7300
7893 scheduling support.
7894
7895 2002-03-30 David S. Miller <davem@redhat.com>
7896
7897 Add UltraSPARC-III DFA scheduling support.
7898 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
7899 Update FP conditional move on register insn patterns to use it, as
7900 appropriate.
7901 (define_attr cpu): Add ultrasparc3.
7902 (define_attr us3load_type): New, update integer load patterns to
7903 set it, as appropriate.
7904 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
7905 (rest): Add UltraSPARC3 scheduling description.
7906 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
7907 (PROCESSOR_ULTRASPARC3): New.
7908 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
7909 ({ASM,CPP}_CPU_SPEC): Likewise.
7910 (REGISTER_MOVE_COST): Likewise.
7911 (RTX_COSTS): Likewise.
7912 * config/sparc/sparc.c (sparc_override_options,
7913 sparc_initialize_trampoline, sparc64_initialize_trampoline,
7914 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
7915 sparc_issue_rate): Likewise.
7916 * config/sparc/sol2.h: Likewise.
7917 * config/sparc/sol2-sld-64.h: Likewise.
7918 * config/sparc/linux64.h: Likewise.
8998d5bf 7919
fae15c93
VM
7920 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
7921
7922 * doc/md.texi: Add comments about usage the latency time for the
7923 different dependencies and about case when two or more conditions
7924 in different define_insn_reservations returns TRUE for an insn.
7925
7926 * doc/md.texi: Add reference for automaton based pipeline
7927 description.
8998d5bf 7928
fae15c93
VM
7929 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
7930
7931 * doc/passes.texi: Add missed information about genattrtab.
7932
7933 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
7934
7935 * genautomata.c (output_automata_list_transition_code): Check
7936 automata_list on NULL.
7937
7938 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
7939
7940 * genautomata.c (output_insn_code_cases,
7941 output_automata_list_min_issue_delay_code,
7942 output_automata_list_transition_code,
7943 output_automata_list_state_alts_code): Comment the functions.
7944
7945 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
7946
7947 * genautomata.c (automata_list_el_t): New typedef.
7948 (get_free_automata_list_el,free_automata_list_el,
7949 free_automata_list, automata_list_hash, automata_list_eq_p,
7950 initiate_automata_lists, automata_list_start, automata_list_add,
7951 automata_list_finish, finish_automata_lists,
7952 output_insn_code_cases, output_automata_list_min_issue_delay_code,
7953 output_automata_list_transition_code,
7954 output_automata_list_state_alts_code, add_automaton_state,
7955 form_important_insn_automata_lists): New functions and prototypes.
7956 (insn_reserv_decl): Add members important_automata_list and
7957 processed_p.
7958 (ainsn): Add members important_p.
7959 (automata_list_el): New structure.
7960 (first_free_automata_list_el, current_automata_list,
7961 automata_list_table): New global variables.
7962 (create_ainsns): Initiate member important_p.
7963 (output_internal_min_issue_delay_func): Generate the switch and
7964 call output_insn_code_cases.
7965 (output_internal_trans_func, output_internal_state_alts_func):
7966 Ditto.
7967 (generate): Call initiate_automata_lists.
7968 (automaton_states): New global variable.
7969 (expand_automata): Call form_important_insn_automata_lists.
7970 (write_automata): Call finish_automata_lists.
8998d5bf 7971
fae15c93
VM
7972 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
7973
7974 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 7975 cpu units in the sets belong the same automaton.
fae15c93
VM
7976
7977 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
7978 about that cpu units in the sets belong the same automaton.
7979
7980 * doc/md.texi: Ditto.
8998d5bf 7981
2799d721
VM
7982 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
7983 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 7984
fae15c93
VM
7985 * config/sh/sh.c (sh_use_dfa_interface): New function.
7986
7987 (sh_issue_rate): New Function.
7988 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
7989 TARGET_SCHED_ISSUE_RATE: define.
7990
7991 * config/sh/sh.md: Add DFA based pipeline description for SH4.
7992
8998d5bf
ZW
7993 (define_attr insn_class): New attribute used for DFA
7994 scheduling.
fae15c93
VM
7995 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
7996 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
7997 cmpeqdi_t): Likewise.
7998
7999 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 8000 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
8001 ex_group.
8002 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 8003
fae15c93
VM
8004 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
8005
8006 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
8007 break.
8008
8009 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
8010
8011 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
8012 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
8013 necessary.
8014 (output_dfa_start_func): Initiate new variable insn_codes_length,
8015 (write_automata): Output definition of the new variable.
8998d5bf 8016
fae15c93
VM
8017 2001-10-02 David S. Miller <davem@redhat.com>
8018
8019 * haifa-sched.c (advance_one_cycle): New function.
8020 (schedule_block): Use it.
8021 (queue_to_ready): Use it, and also make sure to advance the DFA
8022 state on all stall cycles, not just those where insn_queue links
8023 are found.
8024
8025 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
8026
8027 * haifa-sched.c (max_issue): Remove last_p argument. Only return
8028 non-zero if the highest-priority instruction could be scheduled.
8029 (choose_ready): Remove last argument from max_issue call.
8030
8031 2001-09-28 David S. Miller <davem@redhat.com>
8032
8033 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
8034 ultrasparc and 3 for other multi-issue sparcs.
8035
8036 2001-09-27 David S. Miller <davem@redhat.com>
8037
8038 * config/sparc/sparc.md (cycle_display): New pattern.
8039 * config/sparc/sparc.c (sparc_cycle_display): New.
8040 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
8041
8042 2001-09-25 David S. Miller <davem@redhat.com>
8043
8044 Convert all of Sparc scheduling to DFA
8045 * config/sparc/sparc.md: Kill all define_function_unit
8046 directives and replace with DFA equivalent.
8047 * config/sparc/sparc.c (ultrasparc_adjust_cost,
8048 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
8049 ultra_fpmode_conflict_exists, ultra_find_type,
8050 ultra_build_types_avail, ultra_flush_pipeline,
8051 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
8052 ultrasparc_variable_issue, ultrasparc_sched_init,
8053 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
8054 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
8055 ultra_cur_hist, ultra_cycles_elapsed): Kill.
8056 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
8057 ultrasparc_store_bypass_p): New.
8058 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
8059 Declare.
8060
8061 2001-09-24 David S. Miller <davem@redhat.com>
8062
8063 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
8064 ready->vec[foo] not ready[foo].
8065
8066 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
8067
8068 * doc/md.texi: Correct examples for define_insn_reservations
8069 `mult' and `div'.
8070
8071 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
8072
8073 * genautomata.c (create_automata): Print message about creation of
8074 each automaton.
8075 (generate): Remove printing meease about creation of
8076 automata.
8077
8078 2001-09-05 David S. Miller <davem@redhat.com>
8079
8080 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
8081 * config/sparc/linux64.h: Likewise.
8082
8083 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
8084
8085 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
8086 schedule_block, sched_init, sched_finish): Add missed calls of
8087 use_dfa_pipeline_interface.
8088
8089 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
8090 Ditto.
8091
8092 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 8093
fae15c93
VM
8094 2001-08-27 Richard Henderson <rth@redhat.com>
8095
8096 * genattr.c (main): Emit state_t even when not doing scheduling.
8097
8098 2001-08-27 Richard Henderson <rth@redhat.com>
8099
8100 * genautomata.c (expand_automata): Always create a description.
8101
8102 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
8103
8998d5bf 8104 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
8105 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
8106 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
8107 RTL constructions.
8108
8109 * genattr.c (main): New variable num_insn_reservations. Increase
8110 it if there is DEFINE_INSN_RESERVATION. Output automaton based
8111 pipeline hazard recognizer interface.
8112
8113 * genattrtab.h: New file.
8114
8115 * genattrtab.c: Include genattrtab.h.
8116 (attr_printf, check_attr_test, make_internal_attr,
8117 make_numeric_value): Move protypes into genattrtab.h. Define them
8118 as external.
8119 (num_dfa_decls): New global variable.
8120 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
8121 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
8122 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
8123 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
8124
8125 * genautomata.c: New file.
8126
8127 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
8128
8998d5bf 8129 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
8130 automaton pipeline interface.
8131 (haifa_insn_data): Add comments for members blockage and units.
8132
8133 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8134 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8135 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8136 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8137 TARGET_SCHED_DFA_POST_CYCLE_INSN,
8138 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8139 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
8140 macros.
8141 (TARGET_SCHED): Use the new macros.
8142
8143 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
8144 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
8145 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
8146 dfa_bubble): New members in gcc_target.sched.
8147
8998d5bf 8148 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
8149 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
8150 (insn_queue): Redefine it as pointer to array.
8151 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
8152 INSN_QUEUE_SIZE.
8153 (max_insn_queue_index_macro_value): New variable.
8154 (curr_state, dfa_state_size, ready_try): New varaibles for
8155 automaton interface.
8156 (ready_element, ready_remove, max_issue): New function prototypes
8157 for automaton interface.
8158 (choose_ready): New function prototype.
8159 (insn_unit, blockage_range): Add comments.
8160 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
8161 FUNCTION_UNITS_SIZE == 0.
8162 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
8163 actual_hazard, potential_hazard): Add comments.
8164 (insn_cost): Use cost -1 as undefined value. Remove
8165 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
8166 pipeline interface.
8167 (ready_element, ready_remove): New functions for automaton
8168 interface.
8169 (schedule_insn): Add new code for automaton pipeline interface.
8170 (queue_to_ready): Add new code for automaton pipeline interface.
8171 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
8172 (debug_ready_list): Print newline when the queue is empty.
8173 (max_issue): New function for automaton pipeline interface.
8174 (choose_ready): New function.
8175 (schedule_block): Add new code for automaton pipeline interface.
8176 Print ready list before scheduling each insn.
8177 (sched_init): Add new code for automaton pipeline interface.
8178 Initiate insn cost by -1.
8179 (sched_finish): Free the current automaton state and finalize
8180 automaton pipeline interface.
8181
8182 * sched-rgn.c: Include target.h.
8183 (init_ready_list, new_ready, debug_dependencies): Add new code for
8184 automaton pipeline interface.
8185
8186 * sched-vis.c: Include target.h.
8187 (get_visual_tbl_length): Add code for automaton interface.
8188 (target_units, print_block_visualization): Add comments.
8189
8998d5bf 8190 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
8191 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
8192 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
8193 (getruntime.o, genautomata.o): New entries.
8194 (genattrtab.o): Add new dependency file genattrtab.h.
8195 (genattrtab): Add new dependencies. Link it with `libm.a'.
8196 (getruntime.o, hashtab.o): New entries for canadian cross.
8197
8198 * doc/md.texi: Description of automaton based model.
8199
8200 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
8201 Add comments.
8202 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8203 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8204 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8205 TARGET_SCHED_DFA_POST_CYCLE_INSN,
8206 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8207 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8208 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
8209 hook descriptions.
8210 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
8211 MAX_DFA_ISSUE_RATE): New macro descriptions.
8212
8213 * doc/contrib.texi: Add dfa based scheduler contribution.
8214
8215 * doc/gcc.texi: Add more information about genattrtab.
8216
a2ff290c
RK
8217Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8218
8219 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
8220 adjust_address_nv call.
8221
f97903cc
JJ
82222002-04-29 Janis Johnson <janis187@us.ibm.com>
8223
8224 * doc/install.texi (Testing): Provide additional information, and
8225 a stronger encouragement, for running the testsuites.
8226
f41a6bf1
DD
82272002-04-29 DJ Delorie <dj@redhat.com>
8228
8229 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
8230 given in upper case.
8231
d8af0868
RO
82322002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8233
8234 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
8235 Solaris 2 <widec.h> if missing.
8236 * fixinc/fixincl.x: Regenerate.
8237 * fixinc/tests/base/widec.h: New file.
8238
1034407f
NC
82392002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
8240
8241 * toplev.c (f_options): Add "profile" switch so that
8242 -fno-profile can be used to disable -p.
8243
fbe5eb6d
BS
82442002-04-29 Bernd Schmidt <bernds@redhat.com>
8245
8246 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
8247 UV2DImode.
8248 * tree.c (build_common_tree_nodes_2): Likewise.
8249 * tree.h (enum tree_index): Likewise.
8250 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
8251
8252 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
8253 entries.
8254 (init_mmx_sse_builtins): Initialize SSE2 builtins.
8255 (ix86_expand_builtin): Add support for SSE2 builtins.
8256 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
8257 (VALID_SSE_REG_MODE): Use it.
8258 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
8259 (enum ix86_builtins): Add SSE2 builtins.
8260 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
8261 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
8262 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
8263 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
8264 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
8265 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
8266 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
8267 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
8268 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
8269 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
8270 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
8271 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
8272 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
8273 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
8274 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
8275 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
8276 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
8277 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
8278 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
8279 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
8280 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
8281 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
8282 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
8283 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
8284 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
8285 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
8286 lfence_insn): New patterns.
8287 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
8288 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
8289
44aefada
JH
8290Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
8291
8292 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
8293
d5482cdc
GP
82942002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8295
8296 * doc/contrib.texi (Contributors): Add Paolo Carlini and
8297 Janis Johnson.
8298 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
8299 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
8300 and CPU instead of cpu.
8301
2c4b77f3
JH
8302Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
8303
8304 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
8305 variables.
8306 (lang_independent_options): Add -fif-conversion, -fif-conversion2
8307 (rest_of_compilation): Do if conversion only when asked for.
8308 (parse_options_and_default_flags): Set new variables to 1 for -O1
8309 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
8310
3de72741
JH
8311Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
8312
8313 * i386.c (dbx64_register_map): Fix typo.
8314
8aa18a7d
JH
8315Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
8316
8317 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
8318 real_one_half, real_bb_freq_max): New static variables.
8319 (debug_profile_bbauxs): Kill.
8320 (process_note_predictions): Kill unused variable.
8321 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
8322 volatile double.
8323 (propagate_freq): Use REAL_ARITHMETICS.
8324 (estimate_bb_frequencies): Likevise; init new static variables.
8325 * Makefile.in (predict.o): Add dependency on real.h
8326
1bbad4c6
DM
83272002-04-28 David S. Miller <davem@redhat.com>
8328
8329 PR target/6500
8330 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
8331 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
8332 several {reads,writes} instead.
8333 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
8334 Define.
8335
3ef3f384
DM
83362002-04-27 David S. Miller <davem@redhat.com>
8337
8338 PR target/6494
8339 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
8340 of the stack bias.
8341
8342 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
8343 including signal.h and sys/ucontext.h, not needed.
8344
ec493bcb
HPN
83452002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
8346
8347 * varasm.c (output_constant_def): Correct test for not calling
8348 ENCODE_SECTION_INFO for INTEGER_CST.
8349
60284a59
NB
83502002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
8351
8352 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
8353 keep most cases as function eval_token.
8354 (eval_token): New function.
8355 (_cpp_parse_expr): Read token here for improved diagnostics.
8356 Don't use op_as_text. Detect bad ':' here.
8357 (reduce): Don't detect bad ':' here.
8358 (op_as_text): Remove.
8359 * cpphash.h (_cpp_test_assertion): Change prototype.
8360 * cpplib.c (_cpp_test_assertion): Change prototype.
8361
349a4b40
RH
83622002-04-28 Richard Henderson <rth@redhat.com>
8363
8364 PR c/5154
8998d5bf 8365 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
8366 (ggc_mark_rtx_children): New.
8367
7a03f82f
JJ
83682002-04-28 Jakub Jelinek <jakub@redhat.com>
8369
8370 PR target/6496
8371 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
8372 after call peepholes for UltraSPARC.
8373 (call + jump 64-bit peepholes): Remove.
8374
80103f96
FS
83752002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8376
8377 PR c/6497
8378 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
8379 result as temporary value.
8380
06990986
JJ
83812002-04-28 Jakub Jelinek <jakub@redhat.com>
8382
8383 PR c++/6396
8384 * toplev.c (rest_of_compilation): Only run regrename and copy
8385 propagation if optimizing.
8386
a20fd5ac
JJ
83872002-04-28 Jakub Jelinek <jakub@redhat.com>
8388
8389 PR optimization/6475
8390 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
8391 register of REGNO_DECL (i).
8392 * Makefile.in (reload1.o): Add $(TREE_H).
8393
87ed109f
NB
83942002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
8395
8396 * cppexp.c (lex): Update to use state.skip_eval.
8397 (struct op): Remove prio and flags members.
8398 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
8399 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
8400 (LEFT_ASSOC): New macro.
8401 (optab): New table of operator priorities and flags.
8402 (SHIFT): Update.
8403 (_cpp_parse_expr): Clean up logic. Return bool. Use a
8404 malloc-ed parser stack.
8405 (reduce): New; reduce the operator stack.
8406 (_cpp_expand_op_stack): Expand the operator stack as necessary.
8407 * cpphash.h (struct op): Predeclare.
8408 (struct cpp_reader): New members op_stack, op_limit.
8409 (struct lexer_state): New member skip_eval.
8410 (_cpp_parse_expr): Update.
8411 (_cpp_expand_op_stack): New.
8412 * cpplib.c (do_if): Update.
8413 * cppinit.c (cpp_create_reader): Create op stack.
8414 (cpp_destroy): And destroy it.
8415 * cpplib.h (CPP_LAST_CPP_OP): Correct.
8416 (TTYPE_TABLE): Correct.
8417
45806a3f
FS
84182002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8419
8420 PR c/6343
8421 * c-decl.c (duplicate_decls): Call merge_weak.
8422 * c-pragma.c (apply_pragma_weak): Warn about misuse.
8423 * output.h (merge_weak): Prototype merge_weak.
8424 * varasm.c (merge_weak): New function.
8425 (declare_weak): Make sure we don't give an error on VAR_DECLs.
8426 Mark RTL with SYMBOL_REF_WEAK.
8427
a6227154
KG
84282002-04-27 Kurt Garloff <garloff@suse.de>
8429
8430 * tree-inline.c (inlinable_function_p): Improve heuristics
8431 by using a smoother function to cut down allowable inlinable size.
8432 * param.def: Add parameters max-inline-insns-single,
8433 max-inline-slope, min-inline-insns that determine the exact
8434 shape of the above function.
8435 * param.h: Likewise.
8436
94a50397
RH
84372002-04-26 Richard Henderson <rth@redhat.com>
8438
8439 * c-parse.in (malloced_yyss, malloced_yyvs): New.
8440 (yyoverflow): Re-add. Set them.
8441 (free_parser_stacks): New.
8442 * c-common.h: Declare it.
8443 * c-lex.c (c_common_parse_file): Call it.
8444
9c0a0632
RH
84452002-04-26 Richard Henderson <rth@redhat.com>
8446
8447 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
8448 for fallthru search.
8449
b875d2ee
EC
84502002-04-26 Eric Christopher <echristo@redhat.com>
8451
8452 PR optimization/3700
8453 * config/mips/mips.c (mips_issue_rate): Define. New function.
8454 (TARGET_SCHED_ISSUE_RATE): Use.
8455
1db828df
DM
84562002-04-25 David S. Miller <davem@redhat.com>
8457
8458 PR target/6422
8459 * reorg.c (optimize_skip): Do not allow exception causing
8460 instructions to be considered for delay slots.
8461 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
8462 (relax_delay_slots): Do not try to consider exception causing
8463 instructions as redundant.
8464
ae5d234e
RH
84652002-04-26 Richard Henderson <rth@redhat.com>
8466
8467 PR c/5225
8468 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
8469
7d793e9b
MM
84702002-04-26 Mark Mitchell <mark@codesourcery.com>
8471
8472 PR bootstrap/6445
8473 * config/i386/i386.md (untyped_call): Return the value in a float
8474 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
8475 TARGET_80387.
8476
b13ab42c
AO
84772002-04-26 Alexandre Oliva <aoliva@redhat.com>
8478
8479 * tree.c (tree_int_cst_lt): Compare constants whose types differ
8480 in unsigned-ness correctly.
8481
5e56f909
JDA
84822002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
8483
8484 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
8485 portable runtime model.
8486
bde3c0c0
RH
84872002-04-26 Richard Henderson <rth@redhat.com>
8488
a6227154 8489 * c-parse.in (yyoverflow): Revert.
bde3c0c0 8490
5276df18
DE
84912002-04-26 David Edelsohn <edelsohn@gnu.org>
8492 Richard Henderson <rth@redhat.com>
8493
8494 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
8495 result as temporary value.
8496
b84a3874
RH
84972002-04-26 Richard Henderson <rth@redhat.com>
8498
8499 PR c/3581
8500 * c-common.c (fix_string_type): Split out of ...
8501 (combine_strings): ... here. Take a varray, not a tree list.
8502 (c_expand_builtin_printf): Use fix_string_type.
8503 * c-common.h: Update decls.
8504 * c-parse.in (string): Remove. Update all uses to use STRING
8505 instead, and not call combine_strings.
8506 (yylexstring): New.
8507 (_yylex): Use it.
8508 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
8509 (build_asm_stmt): Likewise.
8510 * objc/objc-act.c (my_build_string): Use fix_string_type.
8511 (build_objc_string_object): Build varray for combine_strings.
8512
d8ae8cd4
BT
85132002-04-26 Bo Thorsen <bo@suse.co.uk>
8514
8515 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
8516 x86-64.
8517
f8b954fc
NB
85182002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
8519
8520 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
8521 (HAVE_NO_R_OPERAND): Remove.
8522 (HAVE_VALUE): Remove.
8523 (op_to_prio): Update.
8524 (UNARY): Don't alter flags.
8525 (_cpp_parse_expr): want_value used to indicate whether
8526 a number or unary operator is expected next. Distinguish
8527 unary and binary +/-.
8528 (op_as_text): Update for unary operators.
8529
6052bef0
RH
85302002-04-25 Richard Henderson <rth@redhat.com>
8531
8532 PR c/2161
8533 * c-parse.in (yyoverflow): New.
8534
5c5b2283
RH
85352002-04-25 Richard Henderson <rth@redhat.com>
8536
8537 PR c/2098
8538 * c-common.c (shorten_compare): Simplfy conditions leading to
8539 the generation of a warning.
8540
28ce94d4
RH
85412002-04-25 Richard Henderson <rth@redhat.com>
8542
8543 PR c/2035
8544 * expmed.c (extract_bit_field): Fall through to generic code rather
8545 than aborting on subreg special case.
8546
6bfd0c63
DM
85472002-04-25 David S. Miller <davem@redhat.com>
8548
8549 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
8550 for DECL being NULL.
8551
7a430e3b
SC
85522002-04-25 Steve Christiansen <smc@us.ibm.com>
8553
8554 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
8555
45c42d7d
EB
85562002-04-25 Eric Botcazou <ebotcazou@multimania.com>
8557
8558 * c-decl.c (grokdeclarator): Remove outdated ??? note
8559 on invalid declaration of flexible array members.
8560
eb7715a4
RH
85612002-04-25 Richard Henderson <rth@redhat.com>
8562
8563 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
8564
cf5ee720
UW
85652002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
8566
8567 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
8568 needed by the compiler, even if they are used as global regs.
8569
d604bca3
MH
85702002-04-25 Matt Hiller <hiller@redhat.com>
8571
8572 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
8573 functions.
8574 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
8575 of the corresponding functions.
8576 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
8577 New prototypes.
b875d2ee 8578
d604bca3
MH
85792002-04-25 Matt Hiller <hiller@redhat.com>
8580
8581 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
8582
8583 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
8584 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
8585 registers, adjust comment accordingly.
8586 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
8587 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
8588 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
8589 for coprocessor registers.
8590 (ADDITIONAL_REGISTER_NAMES): Include
8591 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 8592
d604bca3
MH
8593 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
8594 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
8595 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
8596 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
8597 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
8598
8599 (mips_char_to_class): Adjust comment to include coprocessor
8600 constraint letters.
8601
8602 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
8603 New functions.
8604 (mips_reg_names, mips_regno_to_class): Include coprocessor
8605 information.
8606 (mips_sw_reg_names): Ditto, make non-static.
8607 (mips_move_1word): Handle moves to and from coprocessor registers.
8608 (mips_move_2words): Handle moves to and from coprocessor
8609 registers.
8610 (mips_class_max_nregs, mips_register_move_cost): Handle
8611 coprocessor register classes.
8612 (override_options): Initialize mips_char_to_class and
8613 mips_hard_regno_mode_ok properly for coprocessor registers.
8614
8615 * config/mips/mips.md (movdi_internal, movdi_internal2,
8616 movsi_internal1, movsi_internal2): Add constraint-sets for
8617 coprocessor registers.
8618 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
8619 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
8620 isn't mips.
8621 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
8622 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
8623 isn't mips.
8624 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
8625 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
8626 isn't mips.
8627 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
8628 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
8629 isn't mips.
b875d2ee 8630
d604bca3
MH
8631 * doc/tm.texi: Document feature.
8632
b9a26d09
NB
86332002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
8634
8635 * integrate.c (function_attribute_inlinable_p): Simplify.
8636 Check the table pointer is not NULL.
8637
ab5973b7
SB
86382002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
8639
8640 * doc/c-tree.texi: Fix typo in introduction.
8641
ff45c01e
NB
86422002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
8643
8644 * c-common.h (c_common_parse_file): Update.
8645 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
8646 * c-lex.c (YYDEBUG): Get from c-lex.h.
8647 (c_common_parse_file): Update.
8648 * c-lex.h (YYDEBUG, yydebug): New.
8649 * c-parse.in (YYDEBUG): Get from c-lex.h.
8650 (c_set_yydebug): Remove.
8651 * c-tree.h (c_set_yydebug): Remove.
8652 * langhooks-def.h (lhd_do_nothing_i): New.
8653 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
8654 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
8655 * langhooks.c (lhd_do_nothing_i): New.
8656 (lhd_set_yydebug): Remove.
8657 * langhooks.h (struct lang_hooks): Update.
8658 * toplev.c (set_yydebug): New.
8659 (compile_file): Update call to parse_file hook.
8660 (decode_d_option): Update.
8661objc:
8662 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
8663
fcae219a
R
8664Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
8665
8666 * loop.c (load_mems): Don't change the interface of called functions.
8667
8668 * calls.c (expand_call): Take current_function_pretend_args_size
8669 into account when setting argblock for sibcalls.
8670
d0fea45a
MH
86712002-04-24 Matt Hiller <hiller@redhat.com>
8672
8673 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
8674 * c-lex.c: Ditto.
8675
8676 * cpplex.c (skip_line_comment): Process comment one multibyte
8677 character at a time rather than one char at a time, if
8678 appropriate.
8679 (parse_string): Process string one multibyte character at a time
8680 rather than one char at a time, if appropriate.
8681 * c-lex.c (lex_string): Lex and copy multibyte strings
8682 appropriately.
8683 * cpplib.h (cppchar_t): Change to unsigned.
8684
2d1b5436
RH
86852002-04-24 Richard Henderson <rth@redhat.com>
8686
8687 PR c/3467
8688 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
8689 for c99.
8690
5e039e6b
R
8691Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
8692
8693 * sh.c (sh_va_arg): If argument was passed by reference,
8694 dereference the pointer.
309d8365
R
8695
8696 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
8697
8698 * sh.md (divsi3_i4_media): Use match_operand for input values
8699 rather than hard registers.
8700 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
8701 unnecessarily through hard registers. Keep copies of pseudo
8702 registers outside of the libcall sequence.
8703
8704 * sh.md (casesi_shift_media): Add modes.
b700634a
R
8705
8706 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
8707 values in memory.
8708
349ae713
NB
87092002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
8710
8711 * attribs.c (c_common_attribute_table): Move table and handlers
8712 to c-common.c.
8713 (format_attribute_table, lang_attribute_table,
8714 lang_attribute_common): Remove.
8715 (init_attributes): Replace NULL pointers with pointers to the
8716 empty table.
8717 (handle_packed_attribute, handle_nocommon_attribute,
8718 handle_common_attribute, handle_noreturn_attribute,
8719 handle_noinline_attribute, handle_always_inline_attribute,
8720 handle_used_attribute, handle_unused_attribute,
8721 handle_const_attribute, handle_transparent_union_attribute,
8722 handle_constructor_attribute, handle_destructor_attribute,
8723 handle_mode_attribute, handle_section_attribute,
8724 handle_aligned_attribute, handle_weak_attribute,
8725 handle_alias_attribute, handle_visibility_attribute,
8726 handle_no_instrument_function_attribute, handle_malloc_attribute,
8727 handle_no_limit_stack_attribute, handle_pure_attribute,
8728 handle_deprecated_attribute, handle_vector_size_attribute,
8729 vector_size_helper): Move to c-common.c.
8730 * c-common.c (c_common_attribute_table,
8731 handle_packed_attribute, handle_nocommon_attribute,
8732 handle_common_attribute, handle_noreturn_attribute,
8733 handle_noinline_attribute, handle_always_inline_attribute,
8734 handle_used_attribute, handle_unused_attribute,
8735 handle_const_attribute, handle_transparent_union_attribute,
8736 handle_constructor_attribute, handle_destructor_attribute,
8737 handle_mode_attribute, handle_section_attribute,
8738 handle_aligned_attribute, handle_weak_attribute,
8739 handle_alias_attribute, handle_visibility_attribute,
8740 handle_no_instrument_function_attribute, handle_malloc_attribute,
8741 handle_no_limit_stack_attribute, handle_pure_attribute,
8742 handle_deprecated_attribute, handle_vector_size_attribute,
8743 vector_size_helper): Move from attribs.c.
8744 * c-common.h (c_common_attribute_table,
8745 c_common_format_attribute_table): New.
8746 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
8747 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
8748 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
8749 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
8750 (LANG_HOOKS_INITIALIZER): Update.
8751 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
8752 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
8753 * target.h: Update comment.
8754 * tree.c (default_target_attribute_table): Remove.
8755 * tree.h (default_target_attribute_table, format_attribute_table,
8756 lang_attribute_table, lang_attribute_common): Remove.
8757objc:
8758 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
8759 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
8760
84f0ace0
JM
87612002-04-24 Jason Merrill <jason@redhat.com>
8762
8763 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
8764 * dwarf2out.c (dwarf_attr_name): Support it.
8765 (gen_array_type_die): Emit it.
8766 (lookup_type_die): No special handling for VECTOR_TYPE.
8767 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
8768
120eaf28
RH
87692002-04-24 Richard Henderson <rth@redhat.com>
8770
8771 * config/mips/mips.md (movdi_usd): Renumber.
8772
e732178c
DM
87732002-04-24 David S. Miller <davem@redhat.com>
8774
8775 PR target/6420
8776 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
8777 32-bit Sparc and current_function_returns_struct is true.
8778
e879eb2f
JH
8779Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
8780
8781 * loop.c (canonicalize_condition): Use gen_int_mode.
8782
4287a893
AH
87832002-04-24 Aldy Hernandez <aldyh@redhat.com>
8784
8785 * config/rs6000/altivec.h: Cleanup file. Add non individual
8786 variants.
8787 (vec_vaddubm): New.
8788 (vec_vadduhm): New.
8789 (vec_vadduwm): New.
8790 (vec_vaddfp): New.
8791 (vec_vaddcuw): New.
8792 (vec_vaddubs): New.
8793 (vec_vaddsbs): New.
8794 (vec_vadduhs): New.
8795 (vec_vadduws): New.
8796 (vec_vaddsws): New.
8797 (vec_vand): New.
8798 (vec_vandc): New.
8799 (vec_vavgub): New.
8800 (vec_vavgsb): New.
8801 (vec_vavguh): New.
8802 (vec_vavgsh): New.
8803 (vec_vavguw): New.
8804 (vec_vavgsw): New.
8805 (vec_vrfip): New.
8806 (vec_vcmpbfp): New.
8807 (vec_vcmpequb): New.
8808 (vec_vcmpequh): New.
8809 (vec_vcmpequw): New.
8810 (vec_vcmpeqfp): New.
8811 (vec_vcmpgefp): New.
8812 (vec_vcmpgtub): New.
8813 (vec_vcmpgtsb): New.
8814 (vec_vcmpgtuh): New.
8815 (vec_vcmpgtsh): New.
8816 (vec_vcmpgtuw): New.
8817 (vec_vcmpgtsw): New.
8818 (vec_vcmpgtfp): New.
8819 (vec_vcmpgefp): New.
8820 (vec_vcfux): New.
8821 (vec_vcfsx): New.
8822 (vec_vctsxs): New.
8823 (vec_vctuxs): New.
8824 (vec_vexptefp): New.
8825 (vec_vrfim): New.
8826 (vec_lvx): New.
8827 (vec_lvebx): New.
8828 (vec_lvehx): New.
8829 (vec_lde): Add vector float variant.
8830 (vec_lvewx): New.
8831 (vec_lvxl): New.
8832 (vec_vlogefp): New.
8833 (vec_vmaddfp): New.
8834 (vec_vmhaddshs): New.
8835 (vec_vmaxub): New.
8836 (vec_vmaxsb): New.
8837 (vec_vmaxuh): New.
8838 (vec_vmaxsh): New.
8839 (vec_vmaxuw): New.
8840 (vec_vmaxsw): New.
8841 (vec_vmaxsw): New.
8842 (vec_vmaxfp): New.
8843 (vec_vmrghb): New.
8844 (vec_vmrghh): New.
8845 (vec_vmrghw): New.
8846 (vec_vmrglb): New.
8847 (vec_vmrglh): New.
8848 (vec_vmrglw): New.
8849 (vec_vminub): New.
8850 (vec_vminsb): New.
8851 (vec_vminuh): New.
8852 (vec_vminsh): New.
8853 (vec_vminuw): New.
8854 (vec_vminsw): New.
8855 (vec_vminfp): New.
8856 (vec_vmladduhm): New.
8857 (vec_vmhraddshs): New.
8858 (vec_msumubm): New.
8859 (vec_vmsummbm): New.
8860 (vec_vmsumuhm): New.
8861 (vec_vmsumshm): New.
8862 (vec_vmsumuhs): New.
8863 (vec_vmsumshs): New.
8864 (vec_vmuleub): New.
8865 (vec_vmulesb): New.
8866 (vec_vmuleuh): New.
8867 (vec_vmulesh): New.
8868 (vec_vmuloub): New.
8869 (vec_mulosb): New.
8870 (vec_vmulouh): New.
8871 (vec_vmulosh): New.
8872 (vec_vnmsubfp): New.
8873 (vec_vnor): New.
8874 (vec_vor): New.
8875 (vec_vpkuhum): New.
8876 (vec_vpkuwum): New.
8877 (vec_vpkpx): New.
8878 (vec_vpkuhus): New.
8879 (vec_vpkshss): New.
8880 (vec_vpkuwus): New.
8881 (vec_vpkswss): New.
8882 (vec_vpkshus): New.
8883 (vec_vpkswus): New.
8884 (vec_vperm): New.
8885 (vec_vrefp): New.
8886 (vec_vrlb): New.
8887 (vec_vrlh): New.
8888 (vec_vrlw): New.
8889 (vec_vrfin): New.
8890 (vec_vrsqrtefp): New.
8891 (vec_vsel): New.
8892 (vec_vslb): New.
8893 (vec_vslh): New.
8894 (vec_vslw): New.
8895 (vec_vsldoi): New.
8896 (vec_vsl): New.
8897 (vec_vslo): New.
8898 (vec_vspltb): New.
8899 (vec_vsplth): New.
8900 (vec_vspltw): New.
8901 (vec_vspltisb): New.
8902 (vec_vspltish): New.
8903 (vec_vspltisw): New.
8904 (vec_vsrb): New.
8905 (vec_vsrh): New.
8906 (vec_vsrw): New.
8907 (vec_vsrab): New.
8908 (vec_vsrah): New.
8909 (vec_vsraw): New.
8910 (vec_vsr): New.
8911 (vec_vsro): New.
8912 (vec_stvx): New.
8913 (vec_stvebx): New.
8914 (vec_stvehx): New.
8915 (vec_stvewx): New.
8916 (vec_stvxl): New.
8917 (vec_vsububm): New.
8918 (vec_vsubuhm): New.
8919 (vec_vsubuwm): New.
8920 (vec_vsubfp): New.
8921 (vec_vsubcuw): New.
8922 (vec_vsububs): New.
8923 (vec_vsubsbs): New.
8924 (vec_vsubuhs): New.
8925 (vec_vsubshs): New.
8926 (vec_vsubuws): New.
8927 (vec_vsubsws): New.
8928 (vec_vsum4ubs): New.
8929 (vec_vsum4sbs): New.
8930 (vec_vsum4shs): New.
8931 (vec_vsum2sws): New.
8932 (vec_vsumsws): New.
8933 (vec_vrfiz): New.
8934 (vec_vupkhsb): New.
8935 (vec_vupkhpx): New.
8936 (vec_vupkhsh): New.
8937 (vec_vupklsb): New.
8938 (vec_vupklpx): New.
8939 (vec_vupklsh): New.
8940 (vec_vxor): New.
8941
cff27795
EB
89422002-04-23 Eric Botcazou <ebotcazou@multimania.com>
8943
8944 PR c/5430
8945 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
8946 added literals from substracted literals.
8947 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
8948 (fold) [associate]: Preserve MINUS_EXPR if needed.
8949
952bca84
ZW
89502002-04-23 Zack Weinberg <zack@codesourcery.com>
8951
8952 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
8953 are obsoleted.
8954
50cb2154
TT
89552002-04-23 Tom Tromey <tromey@redhat.com>
8956
8957 * gcc.c: Added --resource. For PR java/6314.
8958
271f61fb
DB
89592002-04-23 David O'Brien <obrien@FreeBSD.org>
8960
9566d1e9 8961 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
8962 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
8963 these libraries.
8964
bdabbc80
DB
89652002-04-23 David O'Brien <obrien@FreeBSD.org>
8966
8967 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
8968
74411039
JH
8969Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
8970
8971 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
8972 workaround.
8973 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
8974 (ix86_expand_clrstr): Fix typo.
8975 * loop.c (gen_load_of_final_value): New.
8976 (loop_givs_rescan, strength_reduce, check_dbra_loop):
8977 Use it.
8978
1a887f86
RS
89792002-04-23 Roger Sayle <roger@eyesopen.com>
8980
8981 * builtins.c (builtin_memset_gen_str): New function.
8982 (expand_builtin_memset): Optimize the case of constant length, but
8983 unknown value.
8984
8d3441e0
AH
89852002-04-23 Aldy Hernandez <aldyh@redhat.com>
8986
cff27795
EB
8987 * config/rs6000/altivec.h (vec_step): Remove extraneous
8988 parentheses.
8989 (vec_ctu): Cast return.
8d3441e0 8990
f6f315fe
AM
89912002-04-23 Alan Modra <amodra@bigpond.net.au>
8992
8993 PR target/6413
8994 * function.h: (struct function): Add profile_label_no field.
8995 (current_function_profile_label_no): Define.
8996 * function.c: (profile_label_no): New static var.
8997 (expand_function_start): Increment it, and copy to
8998 current_function_profile_label_no.
8999 * output.h (profile_label_no): Delete.
9000 * final.c (profile_label_no): Delete.
9001 (profile_function): Use current_function_profile_label_no.
9002 (final_end_function): Don't increment profile_label_no here.
9003 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
9004 profile_label_no with current_function_profile_label_no.
9005 * config/pa/pa.c (current_function_number): Delete.
9006 (pa_output_function_prologue): Don't output profile label here.
9007 (hppa_profile_hook): Use label_no param rather than
9008 current_function_number.
9009 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
9010 * config/pa/pa.h: .. here.
9011 (FUNCTION_PROFILER): Output profile label here.
9012
d239cdc0
EC
90132002-04-22 Eric Christopher <echristo@redhat.com>
9014
9015 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
9016 patch of 2002-04-09 due to binutils issues.
9017 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
9018
04428ad4
AH
90192002-04-22 Aldy Hernandez <aldyh@redhat.com>
9020
cff27795
EB
9021 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
9022 constraint to 'o' for m=r and r=m alternatives.
9023 ("*movv8hi_internal1"): Same.
9024 ("*movv16qi_internal1"): Same.
9025 ("*movv4sf_internal1"): Same.
04428ad4 9026
2adc7f12
JJ
90272002-04-22 Janis Johnson <janis187@us.ibm.com>
9028
9029 * rtl.h (RTX_FLAG): New macro.
9030 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
9031 * final.c (alter_subreg): Use macro to access rtx flag.
9032 * integrate.c (copy_rtx_and_substitute): Use new access macro.
9033 * print-rtl.c (print_rtx): Use new access macro.
9034
9035 * cse.c (insert): Check rtx code before accessing flag.
9036
9037 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
9038 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
9039 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
9040 convert_const_symbol_ref, make_canonical, make_alternative_compare,
9041 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
9042 simplify_test_exp, optimize_attrs, simplify_by_exploding,
9043 find_and_mark_used_attributes, unmark_used_attributes,
9044 add_values_to_cover, simplify_with_current_value,
9045 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
9046 copy_rtx_unchanging, main): Use new access macros.
9047
b7c89afe
TR
90482002-04-22 Tom Rix <trix@redhat.com>
9049
9050 * expmed.c (init_expmed): Generate shifted constant once.
9051
9340544b
ZW
90522002-04-22 Zack Weinberg <zack@codesourcery.com>
9053
9054 * c-lex.c (lex_charconst): Call convert to get constant in
9055 proper type; don't just smash the type field.
9056 Fixes PR c/6300.
9057
9058 * config.gcc: Add list of obsolete configurations. Disallow
9059 building these without --enable-obsolete.
9060 * doc/install.texi: Document --enable-obsolete and obsoletion
9061 policy. Mention obsoletion of individual targets in
9062 appropriate places.
9063
f942d7a5
RH
90642002-04-22 Richard Henderson <rth@redhat.com>
9065
9066 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
9067
90682002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
9069
9070 PR f/6138.
9071 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
9072 (walk_fixup_memory_subreg): Likewise.
9073 (fixup_var_refs_insn): Adjust accordingly.
9074 (fixup_var_refs_1): Likewise.
9075
232b0b45
UW
90762002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
9077
9078 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
9079 LIBPATH_ARCH64_SPEC): Define.
9080 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
9081 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
9082 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
9083 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
9084
1b61552b
JS
90852002-04-22 Joel Sherrill <joel@OARcorp.com>
9086
9087 * gthr-rtems.h: Correct prototypes to remove warnings.
9088
0fe854a7
RH
90892002-04-22 Richard Henderson <rth@redhat.com>
9090
9091 PR c/6344
9092 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
9093
9094 * gcse.c (free_insn_expr_list_list): New.
9095 (clear_modify_mem_tables): Use it. Fix bit set usage.
9096 (canon_list_insert): Use EXPR_LISTs for expressions.
9097 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
9098
af0d16cd
NB
90992002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
9100
9101 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
9102 file change and include code to _cpp_pop_buffer.
9103 * cpphash.h (struct pending_option): Predeclare.
9104 (struct cpp_reader): New member next_include_file.
9105 (_cpp_pop_file_buffer): Update.
9106 (_cpp_push_next_buffer): Update, rename.
9107 * cppinit.c (cpp_destroy): Free include chain and pending here.
9108 (cpp_finish_options): Simplify.
9109 (_cpp_push_next_buffer): Rename and clean up.
9110 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
9111 Clarify.
9112 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
9113
0d918572
AH
91142002-04-22 Aldy Hernandez <aldyh@redhat.com>
9115
0fe854a7
RH
9116 * config/rs6000/altivec.h (vec_xor): Add variant for both args
9117 being vector signed int.
9118 (vec_andc): Same.
9119 (vec_xor): Add variant for both args being vector signed char.
9120 Remove redundant variant.
9121 (vec_andc): Same.
0d918572 9122
77e2c290
DM
91232002-04-21 David S. Miller <davem@redhat.com>
9124
9125 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
9126 compare mode in output RTL.
9127
ee2ca2a2
DE
91282002-04-22 David Edelsohn <edelsohn@gnu.org>
9129
9130 * config/rs6000/rs6000.c (rs6000_override_options): Correct
9131 style and formatting of previous patch.
9132
894bdff6
AM
91332002-04-22 Alan Modra <amodra@bigpond.net.au>
9134
9135 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
9136 flag_pic for ABI_AIX.
9137
562a5c27
NB
91382002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
9139
9140 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
9141 * cppfiles.c (read_include_file): Similarly.
9142 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
9143 uxstrdup ustrchr, ufputs): Similarly.
9144 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
9145 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
9146 cpp_ideq, parse_identifier, parse_number): Similarly.
9147 * cpplib.c (struct directive, dequote_string, D, run_directive,
9148 cpp_push_buffer): Similarly.
9149 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
9150 _cpp_create_definition, check_trad_stringification,
9151 cpp_macro_definition): Similarly.
9152
9ac3b1be
NB
91532002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
9154
9155 * cppmacro.c (funlike_invocation_p): Don't step back
9156 over CPP_EOF.
9157
9dda4cc8
DE
91582002-04-21 David Edelsohn <edelsohn@gnu.org>
9159
9160 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
9161 labelno.
9162
20764052
JM
91632002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
9164
9165 * doc/invoke.texi: Remove Chill references.
9166 * doc/gcc.texi: Update last modified date.
9167
26b29884
KH
91682002-04-20 Kazu Hirata <kazu@hxi.com>
9169
9170 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
9171 push and pop. Replace add.l with add.w.
9172
59184677
TM
91732002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
9174
9175 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
9176 multiply instructions for H8/300H case.
9177
b1113e0a
TM
91782002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
9179
9180 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
9181 Bum three instructions from each routine.
9182
b03e38e1
NB
91832002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
9184
9185 * Makefile.in: Update.
9186 * decl.c (push_c_function_context, pop_c_function_context,
9187 mark_c_function_context): Rename for consistency.
9188 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
9189 * c-tree.h (push_c_function_context, pop_c_function_context,
9190 mark_c_function_context): Rename for consistency.
9191 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
9192 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
9193 * function.c (init_lang_status, save_lang_status,
9194 restore_lang_status, mark_lang_status, free_lang_status):
9195 Move to langhooks.h.
9196 (push_function_context_to, pop_function_context_from,
9197 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
9198 Update.
9199 * function.h (init_lang_status, save_lang_status,
9200 restore_lang_status, mark_lang_status, free_lang_status):
9201 Move to langhooks.h.
9202 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
9203 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
9204 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
9205 LANG_HOOKS_FUNCTION_INITIALIZER): New.
9206 (LANG_HOOKS_INITIALIZER): Update.
9207 (lhd_do_nothing_f): New.
9208 * langhooks.h (struct lang_hooks_for_functions): New.
9209 (struct lang_hooks): New hooks.
9210 * langhooks.c (lhd_do_nothing_f): New.
9211objc:
9212 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
9213 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
9214
db430d26
DM
92152002-04-19 David S. Miller <davem@redhat.com>
9216
9217 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
9218 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
9219
0f2a3457
JJ
92202002-04-19 Jakub Jelinek <jakub@redhat.com>
9221
9222 PR optimization/3756
9223 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
9224 x = ((int) y < 0) ? cst1 : cst2.
9225
ce5e43d0
JJ
92262002-04-19 Jakub Jelinek <jakub@redhat.com>
9227
9228 PR c/6358
9229 * function.c: Reapply patch for c/6358.
9230 (expand_function_end): Copy decl_rtl's mode, not
9231 current_function_return_rtx mode.
9232
92332002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
9234
9235 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
9236 targets.
9237
40e7f8ea
TT
92382002-04-19 Tom Tromey <tromey@redhat.com>
9239
9240 * doc/install.texi (Specific): Update status of Solaris 2.8.
9241 For PR libgcj/6158.
9242
62a12b27
AS
92432002-04-19 Andreas Schwab <schwab@suse.de>
9244
9245 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
9246 (PUT_REAL): Restore old definition.
9247
1405141b
DN
92482002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
9249 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9250
9251 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
9252 binutils 2.11.2 and higher generate smaller binaries than Sun's
9253 native tools.
9254
303a3927
MM
92552002-04-19 Mark Mitchell <mark@codesourcery.com>
9256
9257 PR c++/6352
9258 * toplev.c (rest_of_compilation): Do not defer functions for which
9259 TREE_SYMBOL_REFERENCED has already been set.
9260
de80110b
JH
9261Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
9262
9263 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
9264 alternative.
9265
ab393bf1
NB
92662002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
9267
9268 * builtins.c: Include langhooks.h.
9269 (lang_type_promotes_to): Remove.
9270 (expand_builtin_va_arg): Use new hook.
9271 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
9272 (simple_type_promotes_to): Move to c-typeck.c.
9273 * c-common.h (simple_type_promotes_to): Remove.
9274 * c-decl.c (duplicate_decls, grokdeclarator): Update.
9275 * c-format.c: Include langhooks.h.
9276 (check_format_types): Update.
9277 * c-tree.h (c_type_promotes_to): New.
9278 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
9279 (type_lists_compatible_p): Update.
9280 * langhooks-def.h (lhd_type_promotes_to): New.
9281 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
9282 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
9283 * langhooks.c (lhd_type_promotes_to): New.
9284 * langhooks.h (struct lang_hooks_for_types): New hook.
9285 * tree.h (lang_type_promotes_to): Remove.
9286objc:
9287 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
9288
0cd3301b
RH
92892002-04-18 Richard Henderson <rth@redhat.com>
9290
58533fa2 9291 * function.c: Revert patch for c/6358.
0cd3301b
RH
9292
92932002-04-18 Richard Henderson <rth@redhat.com>
9294
58533fa2
RH
9295 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
9296 blocks. Handle multiple references to the TRAP block. Handle
9297 non-adjacent THEN and OTHER blocks.
0cd3301b 9298
58533fa2
RH
92992002-04-18 Richard Henderson <rth@redhat.com>
9300
9301 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
9302 crash with no type for by-mode libcalls.
9303
9304 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 9305
57174693
BW
93062002-04-18 Bob Wilson <bob.wilson@acm.org>
9307
9308 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
9309 __xtensa_nonlocal_goto): Use a syscall instructions to flush
9310 the register windows.
9311
46468cd9
ZW
93122002-04-18 Zack Weinberg <zack@codesourcery.com>
9313
9314 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
9315 appropriate. Document need for extended precision even when
9316 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
9317 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
9318 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
9319 instead of relying on later syntax error when REAL_WIDTH > 5.
9320 * real.c: Define NE based only on whether or not we have a
9321 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
9322 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
9323 define GET_REAL and PUT_REAL as simple memcpy operations; no
9324 need to byteswap or round.
9325 Use #error instead of #ifdef-ing out the entire file, for
9326 prompt error detection.
9327
9328 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
9329
2f82dbf8
DM
93302002-04-18 David S. Miller <davem@redhat.com>
9331
9332 * config/sparc/sparc.h (BRANCH_COST): Define.
9333
9334 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
9335 does it.
9336
566576e7
HPN
93372002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
9338
9339 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
9340 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
9341 propagate_block calls after relaxation loop using new variable
9342 stabilized_prop_flags.
9343
51dcde6f
RH
93442002-04-18 Richard Henderson <rth@redhat.com>
9345
9346 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
9347 (ia64_va_arg): Expect variable sized types by reference.
9348 * config/ia64/ia64-protos.h: Update.
46468cd9 9349 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
9350 ia64_function_arg_pass_by_reference.
9351
26406018
RH
93522002-04-18 Richard Henderson <rth@redhat.com>
9353
46468cd9
ZW
9354 * ifcvt.c: Include except.h.
9355 (block_has_only_trap): Break out from find_cond_trap.
9356 (find_cond_trap): Use it. Always delete the trap block.
9357 (merge_if_block): Allow then block null. Be less simplistic about
9358 what insns can end a block.
9359 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 9360
26406018
RH
9361 * config/ia64/ia64.md (trap, conditional_trap): New.
9362
a3acf46d
JJ
93632002-04-18 Jakub Jelinek <jakub@redhat.com>
9364
9365 PR c/6358
9366 * function.c (assign_parms): Assign hard current_function_return_rtx
9367 register here...
9368 (expand_function_end): ...not here.
9369
7a228918
NB
93702002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
9371
9372 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
9373 * c-tree.h (c_incomplete_type_error): New.
9374 * c-typeck.c (require_complete_type, build_component_ref): Update.
9375 (incomplete_type_error): Rename.
9376 * langhooks-def.h (lhd_incomplete_type_error): New.
9377 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
9378 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
9379 * langhooks.c (lhd_incomplete_type_error): New.
9380 * langhooks.h (struct lang_hooks_for_types): New hook.
9381 * tree.c (size_in_bytes): Use new hook.
9382 * tree.h (incomplete_type_error): Remove.
9383objc:
9384 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
9385
f18664c1
ZW
93862002-04-18 Zack Weinberg <zack@codesourcery.com>
9387
9388 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
9389 TARGET_FLOAT_FORMAT blocks.
9390
8ecab453
GP
93912002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9392
9393 * doc/install.texi (Downloading the source): Do not mention Chill
9394 any longer, but mention Ada.
9395 (Configuration): Do not mention Chill any longer.
9396
528d8489
HPN
93972002-04-18 Hans-Peter Nilsson <hp@axis.com>
9398
9399 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
9400
91da27c5
JH
9401Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
9402
9403 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
9404 in last patch.
9405
a32db605
JJ
94062002-04-18 Jakub Jelinek <jakub@redhat.com>
9407
9408 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
9409 instead of unsigned_type.
9410
5a28d8cc
JH
9411Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
9412
9413 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
9414 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
9415 later.
9416
3d980b9f
BS
94172002-04-18 Bernd Schmidt <bernds@redhat.com>
9418
9419 * attribs.c (vector_type_node_list): New static variable.
9420 (handle_vector_size_attribute): Use it to avoid generating a
9421 new type node each time we are called.
9422
2e676d78
BS
9423 * combine.c (subst): Avoid trying to make a vector mode subreg of
9424 an integer constant.
9425 (gen_lowpart_for_combine): Likewise.
46468cd9 9426
58c2956c
RS
94272002-04-18 Roger Sayle <roger@eyesopen.com>
9428 Jakub Jelinek <jakub@redhat.com>
9429
9430 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
9431 for integer constant c (if x has unsigned type or sign bit is not
9432 set in c). This folds the zero/sign extension into the bit-wise and
9433 operation.
9434
692efa8e
JJ
94352002-04-18 Jakub Jelinek <jakub@redhat.com>
9436
9437 PR middle-end/6205
9438 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
9439 otherwise xorps.
9440
1372d4ce
NY
94412002-04-17 NIIBE Yutaka <gniibe@m17n.org>
9442
9443 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
9444
169ce44d
NC
94452002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
9446
9447 * gcc.c (read_specs): Detect and fail if an attempt is made to
9448 rename a spec string to an already existing string.
9449
b30d2115
UW
94502002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
9451
9452 * config/s390/s390.c (legitimize_pic_address): Do not generate
9453 illegal address constant without CONST.
9454
d6964c30
KG
94552002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9456
9457 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
9458 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
9459
7c82a1ed
UW
94602002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
9461
9462 PR optimization/6305
9463 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
9464 to make sure previous reloads are taken into account. Generate
9465 better code if one operand is an in-range immediate constant.
9466
58db9d1a
AH
94672002-04-16 Andrew Haley <aph@cambridge.redhat.com>
9468
9469 * doc/install.texi (Building): libgcj requires GNU make.
9470
2a732575
JJ
94712002-04-17 Jakub Jelinek <jakub@redhat.com>
9472
9473 PR bootstrap/6315
9474 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
9475 even if hard quad and register is not floating.
9476 (movtf reg<-mem split): Disallow splitting if hard quad and
9477 register is floating.
9478 (movtf mem<-reg split): Likewise.
9479 * config/sparc/sparc.c (fp_register_operand): New predicate.
9480 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
9481
75a65e46
ZW
94822002-04-17 Zack Weinberg <zack@codesourcery.com>
9483
9484 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
9485 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
9486 (unprotoize.o): Ditto. Build from protoize.c. Define
9487 UNPROTOIZE on command line.
9488 * protoize.c: Include cppdefault.h. Delete include_defaults.
9489 (in_system_include_dir): Use cpp_include_defaults (defined in
9490 cppdefault.o).
9491 * unprotoize.c: Delete file.
9492
650f0e97
AH
94932002-04-17 Aldy Hernandez <aldyh@redhat.com>
9494
46468cd9
ZW
9495 * config/rs6000/altivec.h (vec_ld): Add array variants.
9496 (vec_lde): Same.
9497 (vec_ldl): Same.
650f0e97 9498
71a0ab0c 94992002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 9500 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 9501
46468cd9
ZW
9502 * config/rs6000/altivec.h: Define __ALTIVEC__.
9503 (bool): New.
9504 (__pixel): New.
9505 (pixel): New.
9506 (vec_cfux): New.
9507 (vec_vmaddfp): New.
9508 (vec_vsldoi): New.
9509 Add parentheses to all macro arguments.
71a0ab0c 9510
ff2c46ac
RH
95112002-04-16 Richard Henderson <rth@redhat.com>
9512
9513 PR c++/6320
9514 * except.c (remove_eh_handler): Insert inner regions at beginning
9515 of sibling chain. Refactor expressions.
9516
f1ba94dd
RH
95172002-04-16 Richard Henderson <rth@redhat.com>
9518
f0871dfe
RH
9519 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
9520 * config/sparc/sol2-gas-bi.h: New file.
9521 * config.gcc (sparc*-solaris): Add it as needed.
9522 * configure.in (AS_SPARC64_FLAG): Remove check.
9523 * config.in, configure: Regenerate.
9524
9525 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
9526
95272002-04-16 Richard Henderson <rth@redhat.com>
9528
9529 * config/mips/mips.c (override_options): Don't override N32 for
9530 a 64-bit ISA.
409d3c60 9531
f1ba94dd
RH
9532 PR 6202
9533 * config/mips/mips.md (can_delay): Split out of existing define_delays.
9534 (HILO_delay): Set can_delay false.
9535
178c3eff
DJ
95362002-04-16 Dale Johannesen <dalej@apple.com>
9537
9538 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
9539 instruction addresses.
9540 (rs6000_output_function_epilogue): Likewise.
9541
7d6f6369
PC
95422002-04-16 Paolo Carlini <pcarlini@unitus.it>
9543
9544 * c-parse.in (poplevel, compstmt_start,
9545 compstmt_primary_start): Add ending ';', in accordance
9546 with POSIX.
9547
8947df0c
RH
95482002-04-16 Richard Henderson <rth@redhat.com>
9549
9550 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
9551 Adjust tm_file order to get TARGET_DEFAULT set properly.
9552 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
9553 * doc/install.texi (sparc-solaris): Update.
9554
3148ad6d
DJ
95552002-04-16 Dale Johannesen <dalej@apple.com>
9556
9557 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
9558 comparison operands do not match each other or if modes of
9559 conditions do not match result.
9560
014cb9b6 95612002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 9562
014cb9b6
HP
9563 PR target/6305
9564 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 9565 multiword register.
562a69be 9566
014cb9b6 95672002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 9568
8947df0c 9569 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 9570
a9772b60
JJ
95712002-04-16 Jakub Jelinek <jakub@redhat.com>
9572
9573 PR middle-end/6279
9574 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
9575
9576 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
9577
861829ed
RH
95782002-04-15 Richard Henderson <rth@redhat.com>
9579
9580 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
9581 call_really_used_regs too.
9582
bcf2fe9c
RH
95832002-04-15 Richard Henderson <rth@redhat.com>
9584
9585 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
9586
629111c7
DM
95872002-04-15 David S. Miller <davem@redhat.com>
9588
9589 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
9590 as being CLOBBERed.
9591
98ef3137
JJ
95922002-04-16 Jakub Jelinek <jakub@redhat.com>
9593
9594 PR c/6290
9595 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
9596 CONST_VECTOR is { 0, ... 0 }.
9597
0aa911c5
LR
95982002-04-15 Loren J. Rittle <ljrittle@acm.org>
9599
9600 * doc/install.texi (Installing GCC: Configuration): Clarify
9601 the only supported ways to configure gcc.
9602
83248d49 96032002-04-15 Roland McGrath <roland@frob.com>
46468cd9 9604
83248d49
RM
9605 * config.gcc (alpha*-*-gnu*): New target configuration.
9606 * config/alpha/gnu.h: New file for it.
9607 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
9608
b2123dc0
MM
96092002-04-16 Mark Mitchell <mark@codesourcery.com>
9610
9611 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
9612 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
9613 * tree.h (expand_start_stmt_expr): Update prototype.
9614 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
9615 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
9616 on the STMT_EXPR created for the inline function.
46468cd9 9617
8fe2d853
RH
96182002-04-15 Richard Henderson <rth@redhat.com>
9619
9620 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
9621 config/i386/linux-aout.h, config/i386/linux-oldld.h,
9622 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
9623 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
9624 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
9625 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
9626 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
9627 Define __gnu_linux__, not gnu_linux.
9628 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
9629
07cdae91
MM
96302002-04-15 Mark Mitchell <mark@codesourcery.com>
9631
9632 Remove Chill front end.
9633 * gcc.c (default_compilers): Remove Chill entries.
9634 * ch: Remove directory.
9635 * doc/frontends.texi: Remove information about Chill.
9636 * doc/sourcebuild.texi: Likewise.
9637 * doc/standards.texi: Likewise.
9638
41823c5e
DR
96392002-04-15 Douglas B Rupp <rupp@gnat.com>
9640
9641 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
9642 (LONGLONG_STANDALONE): Define.
9643
eb29ddb6
DM
96442002-04-15 David S. Miller <davem@redhat.com>
9645
9646 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
9647 Call emit_library_call with LCT_NORMAL.
9648 (sparc_initialize_trampoline): Use LCT_foo instead of
9649 magic constant in emit_library_call invocations.
9650 (sparc64_initialize_trampoline): Likewise.
9651 (sparc_profile_hook): Likewise.
9652 * config/sparc/sparc.md: Likewise.
9653
9654 * config/sparc/sparc.c (sparc_extra_constraint_check):
9655 Fix type of argument 'c'.
9656 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
9657 Likewise.
9658
bd6bec6b
GDR
96592002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
9660
9661 * diagnostic.h (output_buffer_state): Redefine.
9662 (output_format_decoder): New macro.
9663 (output_prefixing_rule): Likewise.
9664 (output_line_cutoff): Likewise.
9665 (diagnostic_format_decoder): Adjust.
9666 (diagnostic_prefixing_rule): Likewise.
9667 (diagnostic_line_cutoff): Likewise.
9668 (diagnostic_state): Likewise.
9669 (diagnostic_kind_count): Likewise.
9670 (diagnostic_buffer): Now a macro.
9671
9672 * diagnostic.c (diagnostic_buffer): Remove definition.
9673 (output_is_line_wrapping): Adjust.
9674 (set_real_maximum_length): Likewise.
9675 (output_set_maximum_length): Likewise.
9676 (init_output_buffer): Likewise.
9677 (lhd_print_error_function): Likewise.
9678 (output_do_verbatim): Likewise.
9679
ebef4e8c
NB
96802002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
9681
9682 * cpperror.c (print_location): Don't print include chain
9683 if line == 0.
9684 (cpp_begin_message): Update to use DL_ macros.
9685 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
9686 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
9687 cpp_notice, cpp_notice_from_errno): Remove.
9688 (cpp_error, cpp_error_with_line): Update to take a diagnostic
9689 level.
9690 (cpp_errno): New.
9691 * cppexp.c (CPP_ICE): Remove.
9692 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
9693 lex, integer_overflow, _cpp_parse_expr): Update.
9694 * cppfiles.c (read_include_file, find_include_file,
9695 handle_missing_header, _cpp_read_file, remap_filename): Update.
9696 * cpphash.h (enum error_type): Remove.
9697 (_cpp_begin_message): Update.
9698 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
9699 cpp_handle_option, cpp_post_options): Update.
9700 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
9701 skip_whitespace, parse_identifier, parse_slow, parse_string,
9702 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
9703 cpp_interpret_charconst): Update.
9704 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
9705 lex_macro_node, do_undef, glue_header_name, parse_include,
9706 do_include_common, read_flag, do_line, do_linemarker, do_ident,
9707 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
9708 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
9709 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
9710 _cpp_pop_buffer, do_diagnostic): Update.
9711 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
9712 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
9713 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
9714 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
9715 cpp_notice, cpp_notice_from_errno): Remove.
9716 (cpp_error, cpp_error_with_line): Update to take a diagnostic
9717 level.
9718 (cpp_errno): New.
9719 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
9720 collect_args, enter_macro_context, save_parameter, parse_params,
9721 _cpp_create_definition, check_trad_stringification,
9722 cpp_macro_definition): Update.
9723 * cppmain.c (cpp_preprocess_file): Update.
9724 * fix-header.c (read_scan_file): Update.
9725
c19a3859
AS
97262002-04-14 Andreas Schwab <schwab@suse.de>
9727
9728 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
9729
10fdbed6
JD
97302002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
9731
9732 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
9733
77660a9a
MM
97342002-04-13 Mark Mitchell <mark@codesourcery.com>
9735
9736 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
9737 not gnu_hurd.
9738
e0ff1ded
HPN
97392002-04-13 Hans-Peter Nilsson <hp@axis.com>
9740
9741 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
9742
2341c7ea
JS
97432002-04-13 Joel Sherrill <joel@OARcorp.com>
9744
9745 * config/sparc/t-elf: Enable v8 multilibs. Impacts
9746 sparc-elf and sparc-rtems targets.
9747
d29350c0
MM
97482002-04-13 Mark Mitchell <mark@codesourcery.com>
9749
9750 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
9751 defined, and __gnu_hurd__ wherever __GNU__ is defined.
9752 * arm/linux-elf.h: Likewise.
9753 * cris/aout.h: Likewise.
9754 * cris/linux.h: Likewise.
9755 * i370/linux.h: Likewise.
9756 * i386/gnu.h: Likewise.
9757 * i386/linux-aout.h: Likewise.
9758 * i386/linux-oldld.h: Likewise.
9759 * i386/linux.h: Likewise.
9760 * i386/linux64.h: Likewise.
9761 * ia64/linux.h: Likewise.
9762 * m68k/linux-aout.h: Likewise.
9763 * m68k/linux.h: Likewise.
9764 * mips/linux.h: Likewise.
9765 * pa/pa-linux.h: Likewise.
9766 * pj/linux.h: Likewise.
9767 * rs6000/sysv4.h: Likewise.
9768 * s390/linux.h: Likewise.
9769 * sh/linux.h: Likewise.
9770 * sparc/linux-aout.h: Likewise.
9771 * sparc/linux.h: Likewise.
9772 * sparc/linux64.h: Likewise.
9773 * xtensa/linux.h: Likewise.
9774
fc552851
RS
97752002-04-13 Richard Sandiford <rsandifo@redhat.com>
9776
9777 * stmt.c (check_unique_operand_names): Expect operand names to
9778 be strings rather than identifiers. Use simple_cst_equal to
9779 compare them.
9780 (resolve_operand_name_1): Make same identifier to string change here.
9781 * c-parse.in (asm_operand): Convert a named operand into a string.
9782 * cp/parse.y (asm_operand): Likewise.
9783
1d405c5e
AS
97842002-04-13 Andreas Schwab <schwab@suse.de>
9785
9786 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
9787
c740732f
MM
97882002-04-12 Mark Mitchell <mark@codesourcery.com>
9789
9790 Revert these changes:
9791
9792 2002-04-06 Mark Mitchell <mark@codesourcery.com>
9793
9794 PR c++/5571
9795 * stor-layout.c (layout_decl): Reset the RTL for the decl.
9796
3fc602a0
RH
97972002-04-12 Richard Henderson <rth@redhat.com>
9798
9799 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
9800 (sparc*-*-solaris): Clean up header files.
9801 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
9802 and plan on generating 64-bit code.
9803 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
9804 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
9805 * config/sparc/sol2-sld-64.h: Rename ...
9806 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
9807 for AS_SPARC64_FLAG not defined.
9808 * config/sparc/sol2-gld-bi.h: New.
9809 * config/sparc/sol2-sld.h: Remove.
9810 * config/sparc/sol26-sld.h: New.
9811 * config/sparc/sol2.h: Tidy comments.
9812 * doc/install.texi: Document sparc-solaris configury changes.
9813
2f15e255
RH
98142002-04-12 Richard Henderson <rth@redhat.com>
9815
9816 * recog.c (offsettable_address_p): Match the logic in adjust_address.
9817
9818 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
9819 in 64-bit mode only. Use only for 32-bit or MEDLOW.
9820
cc8475cb
RO
98212002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9822
9823 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
9824
6f133a4a
JL
9825Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
9826
ef1b8858 9827 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
9828 constrain_operands.
9829
1329e600
DR
98302002-04-12 Douglas B Rupp <rupp@gnat.com>
9831
9832 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
9833 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
9834 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 9835 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
9836 * config/i386/t-interix (USER_H): Remove.
9837
0339d239
DD
98382002-04-12 DJ Delorie <dj@redhat.com>
9839
9840 * integrate.c (compare_blocks): Make comparisons safe for when
9841 sizeof(int) < sizeof(char *).
9842 (find_block): Likewise.
9843
cc4d5fec
JH
98442002-04-12 Jan Hubicka <jh@suse.cz>
9845 David Edelsohn <edelsohn@gnu.org>
9846
9847 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
9848 registers.
9849 (symbol_ref_operand): New.
9850 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
9851 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
9852
93215a1b
AS
98532002-04-12 Andreas Schwab <schwab@suse.de>
9854
9855 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
9856 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
9857 overrides the definition in config/svr4.h.
46468cd9 9858
1d80248e
EN
98592002-04-12 Eric Norum <eric.norum@usask.ca>
9860
9861 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
9862 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
9863 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
9864 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
9865 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
9866 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
9867 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
9868 definitions to config/rtems.h and make the targets more similar.
9869
fa1591cb
RK
9870Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9871
fa06ab5c
RK
9872 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
9873 POINTERS_EXTEND_UNSIGNED.
9874 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
9875 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
9876
fa1591cb
RK
9877 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
9878 not specified.
9879
12e85a0e
R
9880Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
9881
9882 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
9883 depends on TARGET_SHMEDIA, not TARGET_SH5.
9884
1ab3e58a
HPN
98852002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
9886
9887 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
9888 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
9889
18778292
R
9890Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
9891
9892 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
9893 no r0 clobber.
9894
9002507c
AS
98952002-04-12 Andreas Schwab <schwab@suse.de>
9896
9897 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
9898
9be40833
RH
98992002-04-12 Richard Henderson <rth@redhat.com>
9900
9901 PR bootstrap/4191
9902 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
9903
9904 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
9905 modes spanning multiple hard regs.
46468cd9 9906
9be40833
RH
9907 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
9908
3d9268b6
JDA
99092002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
9910
9911 * pa.c (pa_output_function_prologue): Don't accumulate the total
9912 number of code bytes when using TARGET_64BIT, or gas, SOM and not
9913 the portable runtime.
9914 (output_deferred_plabels): Handle 64bit plabels.
9915 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
9916 generating pic code using the GAS assembler for object formats that
9917 are not SOM (ie., ELF32 and ELF64).
9918 (output_millicode_call): Check attribute type if attribute length is 28.
9919 Likewise use $PIC_pcrel$0. Only call get_attr_length and
9920 dbr_sequence_length once.
9921 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
9922 dbr_sequence_length once.
9923 * pa.h (TARGET_SOM): Define if not defined.
9924 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
9925 with GAS and not SOM.
9926 (jump, call_internal_reg, call_value_internal_reg): Likewise.
9927 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
9928
d360fd18
DB
99292002-04-11 David O'Brien <obrien@FreeBSD.org>
9930
9931 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
9932 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
9933 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
9934 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
9935 elfos.h and dbxelf.h values are fine now.
9936 * config/i386/freebsd.h, config/alpha/freebsd.h
9937 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
9938
5b8fcab6
DB
99392002-04-11 David O'Brien <obrien@FreeBSD.org>
9940
9941 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
9942 or set Acpu or Amachine. Reformat.
9943 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
9944 define.
9945 (LINK_SPEC): Do not need to undef.
9946 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
9947 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
9948 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
9949 define.
9950 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
9951 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
9952 (LINK_SPEC): Do not need to undef.
9953 (DONT_USE_BUILTIN_SETJMP): Do not define.
9954 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
9955 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
9956 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
9957 Remove trailing spaces.
9958 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
9959 __ELF__, or set Acpu or Amachine. Reformat.
9960 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
9961 define.
9962
fee42cc1
DB
99632002-04-11 David O'Brien <obrien@FreeBSD.org>
9964
9965 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
9966 all other *-*-freebsd* targets.
9967
77a403e4
RH
99682002-04-11 Richard Henderson <rth@redhat.com>
9969
9970 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
9971
cf0005c6
DB
99722002-04-11 David O'Brien <obrien@FreeBSD.org>
9973
9974 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
9975 Include {cpu}/{cpu}.h thru tm_file.
9976 (alpha*-*-linux*ecoff): Remove target.
9977 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
9978 (LINK_SPEC): Remove, is not OS independent.
9979 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
9980 (LINK_SPEC): Do not need to #undef any longer.
9981 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
9982 any longer.
9983 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
9984 __ELF__.
9985 (LINK_SPEC): Moved here from alpha/elf.h.
9986 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
9987 SUB_CPP_PREDEFINES.
9988 * config/alpha/linux-ecoff.h: Remove.
9989 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
9990 (CPP_SPEC): Define _POSIX_SOURCE as needed.
9991 (CPP_SUBTARGET_SPEC): Do not define.
9992 (LINK_SPEC): Do not need to #undef any longer.
9993 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
9994 * config/alpha/vms.h: Likewise.
9995
9be40833 99962002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
9997
9998 * doc/extend.texi: Remove old claim that typedefs cannot have
9999 an alignment attribute.
10000
010f87c4
JJ
100012002-04-11 Jakub Jelinek <jakub@redhat.com>
10002
10003 PR optimization/6177
10004 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
10005 bitpos is 0 and bitsize CONCAT size.
10006
578fc63d
JJ
100072002-04-11 Jakub Jelinek <jakub@redhat.com>
10008
10009 PR c/6223
10010 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
10011
bf9b85ce
DB
100122002-04-10 David O'Brien <obrien@FreeBSD.org>
10013
10014 * config/alpha/freebsd.h: Minor reformatting.
10015 (CPP_SPEC): Define ELF and add cpp_subtarget.
10016 (ASM_SPEC): No longer needed.
10017
7425707d
RH
100182002-04-11 Richard Henderson <rth@redhat.com>
10019
10020 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
10021 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
10022 (dimode mem/zero splitter): New.
10023
1a05e874
HPN
100242002-04-11 Hans-Peter Nilsson <hp@axis.com>
10025
10026 * config/cris/cris.c (cris_override_options): Tweak error message
10027 for PIC not implemented.
10028
10029 * config/cris/cris.h: Tweak comments related to parameter-passing.
10030
10031 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
10032
6f3d0447
RH
100332002-04-10 Richard Henderson <rth@redhat.com>
10034
10035 * except.c (add_ehl_entry): Allow duplicates after landing pad
10036 creation.
10037
174bf2b1
DE
100382002-04-10 David Edelsohn <edelsohn@gnu.org>
10039
10040 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
10041
03f10472
TM
100422002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
10043
10044 * c-decl.c (c_init_decl_processing): Move generation of
10045 decls for g77_integer_type_node and friends from here ...
10046 * c-common.c (c_common_nodes_and_builtins): ... to here.
10047
2f460a0a
UW
100482002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
10049
10050 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
10051 is only used as frame pointer when frame_pointer_needed is true.
10052
0be5cf85
RE
100532002-04-10 Richard Earnshaw <rearnsha@arm.com>
10054
10055 PR target/817
10056 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
10057 for the fact that the pool entry uses two words.
10058 (movdf_hard_insn): Similarly. Also, ADR instruction can span
10059 1k bytes.
10060 (movdf_soft_insn): Similarly.
10061 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
10062 for the fact that the pool entry uses three words.
10063
bf6d4777
RS
100642002-04-10 Richard Sandiford <rsandifo@redhat.com>
10065
10066 * config/mips/mips.c (mips_va_arg): When using the struct version
10067 of the EABI va_list, allow arguments in the register save area to
10068 take up less room than a stack argument.
10069
c2e9dc85
RH
100702002-04-10 Richard Henderson <rth@redhat.com>
10071
10072 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
10073 if EXPAND_INITIALIZER.
10074
bc8e8e97
RH
100752002-04-09 Richard Henderson <rth@redhat.com>
10076
10077 * config/alpha/alpha.md (movdi_er_maybe_g): New.
10078 * config/alpha/alpha.c (alpha_expand_mov): Use it.
10079
a6a063b8
AM
100802002-04-10 Alan Modra <amodra@bigpond.net.au>
10081
10082 PR optimization/6233
10083 * rtlanal.c (pure_call_p): New function.
10084 * rtl.h (pure_call_p): Declare.
10085 * loop.c (prescan_loop): Use it to set has_nonconst_call.
10086 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
10087
7b2e1077
EC
100882002-04-09 Eric Christopher <echristo@redhat.com>
10089
10090 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
10091 information to .comm directive.
10092
d8a50944
RH
100932002-04-09 Richard Henderson <rth@redhat.com>
10094
10095 PR c/5078
10096 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
10097
6a58eee9
RH
100982002-04-09 Richard Henderson <rth@redhat.com>
10099
10100 * basic-block.h (flow_delete_block_noexpunge): Declare.
10101 (expunge_block_nocompact): Declare.
10102 * cfg.c (expunge_block_nocompact): Split out from ...
10103 (expunge_block): ... here.
10104 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
10105 (flow_delete_block_noexpunge): Split out from ...
10106 (flow_delete_block): ... here.
10107 * cfgcleanup.c (delete_unreachable_blocks): Compact while
10108 removing dead blocks.
10109 * except.c (exception_handler_labels): Remove.
10110 (exception_handler_label_map): New.
10111 (struct eh_region): Add aka member.
10112 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
10113 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
10114 (for_each_eh_label, for_each_eh_label_1): New.
10115 (init_eh): Register exception_handler_label_map.
10116 (free_eh_status): Use free_region.
10117 (find_exception_handler_labels): Use the map, not the list.
10118 (remove_exception_handler_label): Likewise.
10119 (maybe_remove_eh_handler): Likewise.
10120 (remove_eh_handler): Use the region aka bitmap.
10121 * except.h (exception_handler_labels): Remove.
10122 (for_each_eh_label): Declare.
10123 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
10124 * loop.c (invalidate_loops_containing_label): New.
10125 (find_and_verify_loops): Use it. Use for_each_eh_label.
10126 * sched-rgn.c (is_cfg_nonregular): Use
10127 current_function_has_exception_handlers.
10128
b47374fa
RH
101292002-04-09 Richard Henderson <rth@redhat.com>
10130
10131 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
10132 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
10133 Do not return changed status.
10134 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
10135 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
10136 New functions that do return changed status.
10137 * sbitmap.h: Update decls.
10138 * gcse.c, lcm.c: Use _cg functions as needed.
10139
1951818c
R
10140Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
10141
10142 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
10143 (sh64-*-elf*, sh-*-rtemself*): Likewise.
10144 * config/sh/embed_bb.c: New file.
10145 * config/sh/embed-elf.h: New file.
10146 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
10147 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
10148 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
10149 __PTRDIFF_TYPE__ .
10150 (SUBTARGET_CPP_PTR_SPEC): Don't define.
10151 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
10152 Add subtarget_asm_endian_spec.
10153 (ASM_SPEC): Use subtarget_asm_endian_spec.
10154 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
10155 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
10156 (WCHAR_UNSIGNED): Define.
10157 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
10158 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
10159 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
10160 Fix value.
10161 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
10162 (sh_adjust_cost): Likewise.
10163 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
10164 __PTRDIFF_TYPE__ .
10165 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
10166 (WCHAR_TYPE_SIZE): Likewise.
10167 (ASM_SPEC): Use subtarget_asm_endian_spec.
10168 (SH_ELF_WCHAR_TYPE): #undef/ #define.
10169 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
10170 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
10171 (MAX_WCHAR_TYPE_SIZE): Don't #define .
10172 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
10173 (USER_LABEL_PREFIX): Don't #undef /#define .
10174 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
10175 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
10176 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
10177 (ASM_SPEC): Likewise.
10178 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
10179 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
10180 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
10181 (LIB2FUNCS_EXTRA): Define.
10182 * t-sh64 (LIB2FUNCS_EXTRA): Define.
10183 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
10184 (LIB1ASMFUNCS_CACHE): Define.
10185 (LIB2FUNCS_EXTRA): Redefine empty.
10186
34295799
RH
101872002-04-08 Richard Henderson <rth@redhat.com>
10188
10189 * reorg.c (get_branch_condition): Use reversed_comparison_code.
10190
e8766a39
SC
101912002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
10192
10193 * config/m68hc11/larith.asm (__map_data_section): Fix condition
10194 and optimize for size.
10195 (__do_global_ctors): Fix pointer comparison.
10196 (__do_global_dtors): Likewise.
10197
f451b552
DM
101982002-04-09 David S. Miller <davem@redhat.com>
10199
10200 * config/sparc/sparc.c (sparc_extra_constraint_check): New
10201 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
10202 allow reloading pseudos.
10203 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
10204 * config/sparc/sparc-protos.h: Declare it.
10205
10206 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
10207 unsigned comparison warning.
10208 (output_restore_regs): Mark leaf_function as unused.
10209
1ce7f3c2
RK
10210Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10211
10212 * expr.c (is_aligning_offset): New function.
10213 (expand_expr, case COMPONENT_EXPR): Call it.
10214
7a31a340
DM
102152002-04-08 David S. Miller <davem@redhat.com>
10216
10217 PR target/6082
10218 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
10219
10220 Make init_priority work on Sparc when using GNU ld.
10221 * config/sparc/linux.h, config/sparc/linux64.h,
10222 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
10223 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
10224 * config/sparc/sol2-gld.h: New file to do the same.
10225 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
10226 sparc/sol2-gld.h to tm_file.
10227
10228 PR optimization/4328
10229 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
10230 * doc/md.texi: Document it.
10231 * config/sparc/sparc.md (movdi_insn_sp64_novis,
10232 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
10233 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
10234 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
10235 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
10236
11579f33
AJ
102372002-04-08 Andreas Jaeger <aj@suse.de>
10238
10239 * stmt.c (expand_asm_operands): Revert last patch from Richard
10240 Henderson.
10241
b57215d9
GP
102422002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10243
10244 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
10245 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
10246
102472002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10248
10249 * doc/contrib.texi (Contributors): Add David O'Brien.
10250
534d0cc0
AM
102512002-04-08 Alan Modra <amodra@bigpond.net.au>
10252
10253 * configure.in (auto-build.h): Use target_alias and build_alias
10254 when running configure.
10255 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
10256 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
10257 * configure: Regenerate.
10258
19fe522a
DM
102592002-04-07 David S. Miller <davem@redhat.com>
10260
10261 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
10262
bf2d0b8e
JDA
102632002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
10264
10265 PR 5933
10266 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
10267 generating 32-bit pic code.
10268
477cdac7
JT
102692002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
10270
10271 * cppinit.c (cpp_create_reader): Initialize
10272 discard_comments_in_macro_exp.
10273 (COMMAND_LINE_OPTIONS): Add "-CC" option.
10274 (cpp_handle_option): Handle "-CC" option.
10275 * cpplex.c (save_comment): If saving a C++ comment in
10276 a directive, convert it to a C comment.
10277 (_cpp_lex_direct): Pass second comment start character to
10278 save_comment to indicate comment type.
10279 * cpplib.c (_cpp_handle_directive): If processing
10280 a "#define" directive and discard_comments_in_macro_exp
10281 is false, re-enable saving of comments.
10282 (lex_macro_node): If discard_comments_in_macro_exp is false,
10283 discard any comments before the macro identifier.
10284 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
10285 member.
10286 * cppmacro.c (cpp_get_token): If expanding a macro while
10287 processing a directive, discard any comments we might encounter.
10288 (parse_params): If discard_comments_in_macro_exp is false,
10289 ignore comments in the macro parameter list.
10290 * gcc.c (cpp_unique_options): Add "-CC" option.
10291 (option_map): Map "--comments-in-macros" to "-CC".
10292 * doc/cppopts.texi: Document "-CC" option.
10293 * f/lang-specs.h: Add "-CC" option.
10294 * testsuite/gcc.dg/cpp/maccom1.c: New test.
10295 * testsuite/gcc.dg/cpp/maccom2.c: New test.
10296 * testsuite/gcc.dg/cpp/maccom3.c: New test.
10297 * testsuite/gcc.dg/cpp/maccom4.c: New test.
10298 * testsuite/gcc.dg/cpp/maccom5.c: New test.
10299 * testsuite/gcc.dg/cpp/maccom6.c: New test.
10300
f1526122
JDA
103012002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
10302
10303 PR middle-end/6180
10304 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
10305
b1896e61
MM
103062002-04-06 Mark Mitchell <mark@codesourcery.com>
10307
0154eaa8
MM
10308 PR c++/5571
10309 * stor-layout.c (layout_decl): Reset the RTL for the decl.
10310
b1896e61
MM
10311 PR opt/5120
10312 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
10313 RTX_UNCHANGING_P for the functions arguments when a tail call
10314 is made.
10315
b0148884
JM
103162002-04-06 Jason Merrill <jason@redhat.com>
10317
10318 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
10319 (parse_options_and_default_flags): Set them appropriately.
10320 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
10321
392fc5b0
HPN
103222002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
10323
10324 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
10325 here.
10326
10327 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
10328 semicolon.
10329
10330 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
10331 types come in by-reference. Fix typo in comment.
10332
2d69e3cb
DM
103332002-04-05 David S. Miller <davem@redhat.com>
10334
10335 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
10336 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
10337 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
10338 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
10339
103402002-04-05 David S. Miller <davem@redhat.com>
10341
10342 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
10343 are not going to emit return instructions, emit at least a nop
10344 for the sake of sane backtraces.
10345
5f9fb0e3
RH
103462002-04-05 Richard Henderson <rth@redhat.com>
10347
10348 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
10349
49f37a0d
JJ
103502002-04-05 Jakub Jeilnek <jakub@redhat.com>
10351
10352 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
10353
974a3101
AO
103542002-04-05 Alexandre Oliva <aoliva@redhat.com>
10355
10356 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
10357 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
10358 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
10359
2e04a694
AS
103602002-04-05 Andreas Schwab <schwab@suse.de>
10361
a40179bd 10362 * c-convert.c: Include c-common.h.
2e04a694
AS
10363 * Makefile.in (c-convert.o): Updated.
10364
1f785b7c
JJ
103652002-04-05 Jakub Jelinek <jakub@redhat.com>
10366
10367 * mklibgcc.in: Use separate libgcc.map for each multilib.
10368 * Makefile.in (distclean): Don't remove libgcc.map here.
10369
4d2fb38b
JJ
103702002-04-05 Jakub Jelinek <jakub@redhat.com>
10371
10372 * Makefile.in (s-mlib): Handle --disable-multilib by separate
10373 genmultilib invocation.
10374
bb63e5a0
RS
103752002-04-04 Richard Sandiford <rsandifo@redhat.com>
10376
10377 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
10378 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
10379 to num_gprs for symmetry.
10380 * config/mips/mips.c: Adjust accordingly.
10381
8ab80eaa
NB
103822002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
10383
10384 * c-common.c (truthvalue_conversion): Rename, update.
10385 * c-common.h (c_common_truthvalue_conversion): New.
10386 * c-convert.c (convert): Update.
10387 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
10388 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
10389 * c-typeck.c (build_binary_op, build_unary_op,
10390 build_conditional_expr): Update.
10391 * fold-const.c (constant_boolean_node, fold): Use langhook.
10392 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
10393 * langhooks.h (struct lang_hooks): New hook.
10394 * stmt.c (expand_decl_cleanup): Use langhook.
10395 * tree.h (truthvalue_conversion): Remove.
10396objc:
10397 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
10398
a2e9374a
AM
103992002-04-05 Alan Modra <amodra@bigpond.net.au>
10400
10401 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
10402 Add rules to make null object file.
10403
64d08263
JB
104042002-04-04 Jim Blandy <jimb@redhat.com>
10405
10406 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
10407 macro formal parameter names.
10408
aa7634dd
DM
104092002-04-04 David S. Miller <davem@redhat.com>
10410
10411 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
10412
ecc114f7
RH
104132002-04-04 Richard Henderson <rth@redhat.com>
10414
10415 PR middle-end/5099
10416 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
10417 Support copies into and out of memory. Don't accept allows_reg
10418 and allows_mem as gospel.
10419
c4484b8f
RH
104202002-04-04 Richard Henderson <rth@redhat.com>
10421
10422 PR opt/6165
10423 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
10424 (write_dependence_p): Likewise.
10425
39002160
RH
104262002-04-04 Richard Henderson <rth@redhat.com>
10427
10428 * predict.c (estimate_bb_frequencies): Do frequency calculation
10429 with a volatile temporary.
10430
f53ebe71
UW
104312002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
10432
10433 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
10434
15e0ecab
JJ
104352002-04-04 Jakub Jelinek <jakub@redhat.com>
10436
10437 PR c++/6119
10438 * final.c (final_start_function): Don't bump profile_label_no here...
10439 (final_end_function): ...but here.
10440
ffd386b0
JJ
104412002-04-04 Jakub Jelinek <jakub@redhat.com>
10442
10443 * config/sparc/sparc.md (pic): New attribute.
10444 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
10445 into stack slots.
10446 (split after do_builtin_setjmp_setup): New.
10447
8b156b3e
JJ
104482002-04-04 Jakub Jelinek <jakub@redhat.com>
10449
10450 PR fortran/6106
10451 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
10452 change.
10453
014c0998
JJ
104542002-04-04 Jakub Jelinek <jakub@redhat.com>
10455
10456 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
10457 UNITS_PER_WORD for zero sized aggregates.
10458
4d8611d9
DM
104592002-04-03 David S. Miller <davem@redhat.com>
10460
10461 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
10462 one-character spec for this, just use %(link_gcc_c_sequence).
10463
b03ad99d
DM
104642002-04-03 David S. Miller <davem@redhat.com>
10465
10466 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
10467 handling.
10468
823fbbce
JDA
104692002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
10470
10471 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
10472 (DWARF_FRAME_RETURN_COLUMN): Move.
10473 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10474 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
10475 * pa.c (except.h, predict.h): Include.
10476 (FRP): Delete.
10477 (store_reg_modify, set_reg_plus_d): Revise prototypes.
10478 (output_ascii): Add cast.
10479 (store_reg_modify): Revise to add frame notes.
10480 (set_reg_plus_d): Likewise.
10481 (compute_frame_size): Include space for eh data registers in frame if
10482 the current function calls eh_return.
10483 (hppa_expand_prologue): Ensure register %r2 is saved if the current
10484 function calls eh_return. Save eh data registers if the current
10485 function calls eh_return. Fix code to add frame notes. Emit
10486 blockage to prevent insns with frame notes being scheduled in the
10487 delay slot of calls.
10488 (hppa_expand_epilogue): Restore eh data registers and do final stack
10489 adjustment if the current function calls eh_return. Don't add frame
10490 notes.
10491 (output_call): Revise for change in length of call insn. Don't do
10492 return pointer adjustment for an unconditional jump in the delay slot
10493 of a call when using frame notes.
10494 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
10495 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
10496 (ARG_POINTER_CFA_OFFSET): Define.
10497 * pa.md (return_external_pic): New pattern.
10498 (prologue): Correct formatting. Use return_external_pic if current
10499 function calls eh_return.
10500 (call_internal_symref, call_value_internal_symref,
10501 sibcall_internal_symref, sibcall_value_internal_symref): Change default
10502 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
10503 respectively.
10504 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
10505
10506 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
10507 list of targets to check using "nop" insn.
10508 * configure: Rebuilt.
10509
4078e224
AM
105102002-04-04 Alan Modra <amodra@bigpond.net.au>
10511
10512 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
10513
bbd7687d
DM
105142002-04-03 David S. Miller <davem@redhat.com>
10515
10516 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
10517 library sequence passed to the linker.
10518 (LINK_COMMAND_SPEC): Use it.
10519 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
10520 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
10521 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
10522
659e5a7a
JM
105232002-04-03 Jason Merrill <jason@redhat.com>
10524
10525 * except.c (struct eh_status): Remove protect_list.
10526 (begin_protect_partials, end_protect_partials): Remove.
10527 (add_partial_entry): Remove.
10528 * except.h: Remove prototypes.
10529
10530 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
10531 expand_decl_cleanup_eh.
10532
10533 PR c++/5636
10534 * tree.h (CLEANUP_EH_ONLY): New macro.
10535 * stmt.c (expand_decl_cleanup_eh): New fn.
10536 (expand_cleanups): Check CLEANUP_EH_ONLY.
10537 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
10538 Use expand_decl_cleanup_eh.
10539 (expand_stmt): Adjust.
10540 * c-common.h: Adjust prototype.
10541
053d3344
HPN
105422002-04-04 Hans-Peter Nilsson <hp@axis.com>
10543
10544 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
10545 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
10546 (cris_target_asm_function_epilogue): Ditto.
10547 (cris_initial_frame_pointer_offset): Ditto.
10548 (cris_simple_epilogue): Ditto.
10549 (cris_expand_builtin_va_arg): Variable-size types come in
10550 by-reference.
10551
61ab5260
DM
105522002-04-03 David S. Miller <davem@redhat.com>
10553
10554 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
10555 little-endian.
10556 (set_fast_math): Correct 'fsr' type.
10557
ef4f94ac
RH
105582002-04-03 Richard Henderson <rth@redhat.com>
10559
36c2272c 10560 PR opt/3569
ef4f94ac
RH
10561 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
10562 * toplev.c (check_global_declarations): Use it.
10563 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
10564 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
10565 (LANG_HOOKS_DECLS): Add it.
10566 * langhooks.c (lhd_warn_unused_global_decl): New.
10567 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
10568 * c-objc-common.c (c_warn_unused_global_decl): New.
10569 * c-tree.h (c_warn_unused_global_decl): Declare.
10570 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
10571
599bba86
NB
105722002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
10573
10574 * langhooks-def.h (lhd_set_decl_assembler_name,
10575 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
10576 (LANG_HOOKS_INITIALIZER): Update.
10577 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
10578 * langhooks.h (struct lang_hooks): New hook.
10579 * tree.c (set_decl_assembler_name): Move to langhooks.c.
10580 (lang_set_decl_assembler_name): Remove.
10581 (init_obstacks): Don't set hook.
10582 (decl_assembler_name): New function.
10583 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
10584 (decl_assembler_name): New.
10585 (lang_set_decl_assembler_name): Remove.
10586
cf7b8b0d
JJ
105872002-04-03 Jakub Jelinek <jakub@redhat.com>
10588
10589 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
10590 works properly with .hidden symbols.
10591 * configure: Rebuilt.
10592 * config.in: Rebuilt.
10593 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
10594 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
10595 properly with .hidden symbols.
10596
faf6db38
JJ
105972002-04-03 Jakub Jelinek <jakub@redhat.com>
10598
10599 PR middle-end/6102
10600 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
10601 USE argument.
10602
68c17f30
RH
106032002-04-03 Richard Henderson <rth@redhat.com>
10604
10605 PR opt/4120
10606 * sched-rgn.c (sets_likely_spilled): New.
10607 (sets_likely_spilled_1): New.
10608 (add_branch_dependences): Use it.
10609
6584b4aa
RH
106102002-04-02 Richard Henderson <rth@redhat.com>
10611
10612 PR opt/4311
10613 * loop.h (LOOP_FIRST_PASS): New.
10614 * loop.c (strength_reduce): Mind it when deciding to unroll.
10615 * toplev.c (rest_of_compilation): Set it.
10616
0acf409f
DM
106172002-04-02 David S. Miller <davem@redhat.com>
10618
10619 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
10620 mems_ok_for_ldd_peep when the order of the loads being examined
10621 is reversed.
10622 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
10623 existing comment to increase comprehension of this situation.
10624
85654444
ZW
106252002-04-02 Zack Weinberg <zack@codesourcery.com>
10626
10627 * config/sh/sh.md: Don't use union real_extract.
10628
543828ca
RH
106292002-04-02 Richard Henderson <rth@redhat.com>
10630
10631 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
10632
39ed301b
DB
106332002-04-02 David O'Brien <obrien@FreeBSD.org>
10634
10635 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
10636 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
10637 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
10638 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
10639 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
10640 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
10641 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
10642 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
10643 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
10644 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
10645 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
10646 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
10647 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
10648 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
10649 Include as many configury headers via tm_file as possible. This
10650 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
10651 * config/openbsd-oldgas.h: New file.
10652 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
10653 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
10654 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
10655 config/i386/i386-coff.h, config/i386/i386-interix.h,
10656 config/i386/iscdbx.h, config/i386/linux-aout.h,
10657 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
10658 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
10659 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
10660 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
10661 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
10662 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
10663 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
10664 config/i386/vxi386.h: Do not directly include configury headers.
10665 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
10666 Directly include configury headers that are no longer automatically
10667 included by the above headers.
10668 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
10669 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
10670 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
10671 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
10672 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
10673 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
10674 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
10675 (TARGET_VERSION): Define.
10676 * config/i386/beos-elf.h, config/i386/freebsd.h,
10677 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
10678 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
10679 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
10680 config/i386/sco5.h, config/i386/sysv4.h
10681 (TARGET_VERSION): Do not need to protect.
10682 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
10683 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
10684 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
10685 config/i386/i386-interix.h, config/i386/linux-aout.h,
10686 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
10687 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
10688 (YES_UNDERSCORES): Do not define - not needed.
10689 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
10690 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
10691 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
10692 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
10693 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
10694 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
10695 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
10696 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
10697
9432c136
EB
106982002-04-02 Eric Botcazou <ebotcazou@multimania.com>
10699 Richard Henderson <rth@redhat.com>
10700
10701 PR c/5484
10702 * function.c (assign_temp): Accept either type or decl argument.
10703 Detect variables whose size is too large to fit into an integer.
10704 * stmt.c (expand_decl): Pass the decl, not the type.
10705
058b1275
DB
107062002-04-02 David O'Brien <obrien@FreeBSD.org>
10707
10708 * protoize.c: Match include directory usage with cppdefault.c.
10709
5add6d1a 107102002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 10711 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
10712
10713 * combine.c (simplify_comparison): Avoid narrowing a comparison
10714 with a paradoxical subreg when doing so would drop signficant bits.
10715
1e533e4b
SE
107162002-04-02 Steve Ellcey <sje@cup.hp.com>
10717
10718 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
10719 if POINTERS_EXTEND_UNSIGNED is defined.
10720
7a145e92
RH
107212002-04-02 Richard Henderson <rth@redhat.com>
10722
10723 PR opt/3967
10724 * local-alloc.c (contains_replace_regs): LO_SUM may contain
10725 replace regs.
10726
3a079822
RH
107272002-04-02 Richard Henderson <rth@redhat.com>
10728
10729 * doc/standards.texi: Document required freestanding libc entry points.
10730
c94ccb87
AM
107312002-04-02 Alan Modra <amodra@bigpond.net.au>
10732
10733 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
10734 associated splitter. Remove MQ constraint.
10735 (ctrdi_internal4): Correct CCmode clobber.
10736
fe660a1a
JDA
107372002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
10738
10739 * milli64.S ($$dyncall): New function.
10740 * t-linux (LIB1ASMFUNCS): Revise module list.
10741 (LIB1ASMSRC): Use pa/milli64.S.
10742
eadc0202
RH
107432002-04-02 Richard Henderson <rth@redhat.com>
10744
10745 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
10746 rename solaris_sys_varargs_h.
10747
a1471322
RK
10748Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10749
10750 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
10751 the same mode as its component.
10752
c8b94768
RH
107532002-04-02 Richard Henderson <rth@redhat.com>
10754
10755 PR opt/190
10756 * final.c (this_is_asm_operands): Export.
10757 * output.h (this_is_asm_operands): Declare.
10758 * config/i386/i386.c (print_operand): Error odd asm operands.
10759
161eb4fc
RH
107602002-04-02 Richard Henderson <rth@redhat.com>
10761
10762 PR opt/420
10763 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
10764
b88a94c6
RH
107652002-04-01 Richard Henderson <rth@redhat.com>
10766
10767 PR target/1538
10768 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
10769 * fixinc/fixincl.x: Rebuild.
10770
72e32876
RH
107712002-04-01 Richard Henderson <rth@redhat.com>
10772
10773 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
10774 (atomic_alloc, atomic_free): New.
10775 (SIZE, MASK_FOR, PTR_IN): New.
10776 (emergency_reg_state, emergency_reg_state_free): New.
10777 (emergency_labeled_state, emergency_labeled_state_free): New.
10778 (reg_state_alloced, labeled_state_alloced): New.
10779 (alloc_reg_state, free_reg_state): New.
10780 (alloc_label_state, free_label_state, free_label_states): New.
10781 (push, pop, dup_state_stack, free_state_stack): Use them.
10782 (desc_label_state): Likewise.
10783 (uw_frame_state_for): Free label states and state stack.
10784 (uw_update_reg_address): Eliminate warnings.
10785
84d76074
VM
107862002-04-01 Vladimir Makarov <vmakarov@redhat.com>
10787
10788 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 10789 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 10790
dffd7eb6
NB
107912002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
10792
10793 * c-decl.c (grokdeclarator): Update.
10794 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
10795 * c-tree.h (c_mark_addressable): New.
10796 * c-typeck.c (default_function_array_conversion, build_unary_op,
10797 build_array_ref, convert_for_assignment): Update.
10798 (mark_addressable): Rename.
10799 * calls.c (try_to_integrate, expand_call): Use langhook.
10800 * expr.c (expand_expr): Use langhook.
10801 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
10802 * langhooks.h (struct lang_hooks): New hook.
10803 * stmt.c (expand_asm_operands): Use langhook.
10804 * tree.h (mark_addressable): Remove.
10805objc:
10806 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
10807
544ef5b5
BW
108082002-04-01 Bob Wilson <bob.wilson@acm.org>
10809
9be40833
RH
10810 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
10811 in previous change.
544ef5b5 10812
bcf88f9b
BW
108132002-04-01 Bob Wilson <bob.wilson@acm.org>
10814
10815 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
10816 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
10817
ceef8ce4
NB
108182002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
10819
10820 * c-common.c (unsigned_conversion_warning, convert_and_check,
10821 unsigned_type, signed_type, shorten_compare,
10822 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
10823 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
10824 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
10825 New.
10826 * c-decl.c (grokdeclarator): Update.
10827 * c-format.c (check_format_types): Update.
10828 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
10829 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
10830 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
10831 * convert.c (convert_to_integer): Use new hooks.
10832 * expmed.c (make_tree): Use new hooks.
10833 * expr.c (store_expr): Use new hooks.
10834 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
10835 all_ones_mask_p, unextend, fold): Use new hooks.
10836 * langhooks.h (struct lang_hooks_for_types): New hooks.
10837 * tree.h (signed_or_unsigned_type, signed_type,
10838 unsigned_type): Remove.
10839objc:
10840 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
10841 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
10842
1d9ad0e0
RH
108432002-03-31 Richard Henderson <rth@redhat.com>
10844
10845 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
10846 (desc_frgr_mem): Fix reference to f16-f31.
10847
d544bc39
KG
108482002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10849
10850 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
10851 RTVEC_ELT): Const-ify.
d8750784
KG
10852 * varray.h (VARRAY_CHECK): Const-ify.
10853 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
10854 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 10855
b18101c7
NB
108562002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
10857
10858 * diagnostic.c: Include langhooks-def.h.
10859 * Makefile.in (diagnostic.o): Update.
10860
48a7a235
NB
108612002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
10862
10863 * c-common.c (c_unsafe_for_reeval): Rename.
10864 * c-common.h (c_unsafe_for_reeval): Rename.
10865 * c-decl.c (finish_incomplete_decl): Rename.
10866 (c_init_decl_processing): Don't set langhook.
10867 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
10868 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
10869 * c-objc-common.c (c_objc_common_init): Don't set langhook.
10870 * c-tree.h (finish_incomplete_decl): Rename.
10871 * langhooks-def.h (lhd_unsafe_for_reeval): New.
10872 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
10873 (LANG_HOOKS_INITIALIZER): Update.
10874 * langhooks.c (lhd_unsafe_For_reeval): New.
10875 * langhooks.h (struct langhooks): New hooks.
10876 * toplev.c (incomplete_decl_finalize_hook): Remove.
10877 (wrapup_global_declarations): Update.
10878 * tree.c (lang_unsafe_for_reeval): Remove.
10879 (unsafe_for_reeval): Update.
10880 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
10881 Remove.
10882objc:
10883 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
10884 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
10885
7cb32822
NB
108862002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
10887
10888 * diagnostic.c (print_error_function): Remove.
10889 (default_print_error_function): Rename.
10890 (report_error_function): Update.
10891 * diagnostic.h (print_error_function): Remove.
10892 (default_print_error_function): Remove.
10893 * langhooks-def.h (struct diagnostic_context): Predeclare.
10894 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
10895 (LANG_HOOKS_INITIALIZER): Update.
10896 * langhooks.h (struct diagnostic context): Predeclare.
10897 (struct lang_hooks): New hook.
10898
1db02437
FS
108992002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10900
10901 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
10902 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
10903 !flag_pic.
10904 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
10905 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
10906 of PIC_OFFSET_TABLE_REGNUM thruout.
10907 * config/rs6000/rs6000.md: Likewise.
10908 * config/rs6000/darwin.h: Likewise.
10909
3bf1e984
RK
10910Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10911
10912 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
10913 unsigned HOST_WIDE_INT, not unsigned int.
10914
0864c526
JJ
109152002-03-31 Jakub Jelinek <jakub@redhat.com>
10916
10917 PR middle-end/6096, middle-end/6098, middle-end/6099
10918 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
10919 CODE_LABELs.
10920 (fill_slots_from_thread): Likewise.
10921
105b2084
JJ
109222002-03-31 Jakub Jelinek <jakub@redhat.com>
10923
10924 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
10925 floating fields in float regs.
10926 (function_arg_record_value_2): Likewise.
10927
db08fddf
HPN
109282002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
10929
10930 * config/mmix/mmix.md (define_constants): Remove misleading
10931 FIXME. Add MMIX_fp_rO_OFFSET.
10932 ("nonlocal_goto_receiver"): Don't have stack-frame address of
10933 saved rO as part of the pattern. Remove FIXME.
10934 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
10935 here, at output-time.
10936
4f31cce8
JJ
109372002-03-31 Jakub Jelinek <jakub@redhat.com>
10938
10939 PR middle-end/6100
10940 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
10941 REG_BR_PRED.
10942 (output_v9branch): Likewise.
10943
ba2b7435
AO
109442002-03-31 Alexandre Oliva <aoliva@redhat.com>
10945
10946 * gcc.c: Revert previous patch for now.
10947 * config/i386/djgpp.h: Likewise.
10948
aa66aa5f 109492002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
10950
10951 * config/mmix/crti.asm (_init): Register _fini with atexit.
10952 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
10953
41ba8a20
RH
109542002-03-31 Richard Henderson <rth@redhat.com>
10955
10956 PR target/3997
10957 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
10958 (ASM_OUTPUT_DEF_FROM_DECLS): New.
10959
adc186ef
RH
109602002-03-31 Richard Henderson <rth@redhat.com>
10961
10962 * libgcc2.c (__bb_exit_func): Make static.
10963
9be40833 10964 * config/alpha/alpha.md (trap): New.
a7648399 10965
9602f5a0
RH
109662002-03-31 Richard Henderson <rth@redhat.com>
10967
10968 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
10969 promoted argument types; build trap.
10970 (expand_builtin_trap): New.
10971 (expand_builtin): Use it.
10972 * stmt.c (expand_nl_goto_receivers): Likewise.
10973 * expr.h (expand_builtin_trap): Declare.
10974 * libfuncs.h (LTI_abort, abort_libfunc): New.
10975 * optabs.c (init_optabs): Init abort_libfunc.
10976
1a0a7539
AO
109772002-03-31 Alexandre Oliva <aoliva@redhat.com>
10978
10979 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
10980 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 10981 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
10982 shared_name in the second copy.
10983 (init_spec): Test for duplicate
10984 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
10985
b5de1a27
DM
109862002-03-30 David S. Miller <davem@redhat.com>
10987
10988 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
10989 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
10990
78414d74 109912002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 10992 Richard Henderson <rth@redhat.com>
78414d74 10993
9be40833
RH
10994 * regmove.c (combine_stack_adjustments_for_block): Avoid
10995 emitting a stack adjustment of zero bytes. Let delete_insn
10996 update bb->head.
78414d74 10997
33074e5f
RH
109982002-03-30 Richard Henderson <rth@redhat.com>
10999
11000 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
11001 (sparc_emitting_epilogue): New.
11002 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
11003 * config/sparc/sparc-protos.h: Update.
11004 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
11005 (TARGET_SWITCHES): Update.
11006 * config/sparc/sparc.md (return): Remove.
11007 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
11008 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
11009 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
11010 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
11011 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
11012 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
11013 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
11014 Remove MASK_EPILOGUE.
11015 * doc/invoke.texi: Update.
11016
606cc056
DB
110172002-03-30 Daniel Berlin <dan@dberlin.org>
11018
11019 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
11020 CPP will start the file for us.
7b2e1077 11021
bdbe5b8d
RH
110222002-03-30 Richard Henderson <rth@redhat.com>
11023
11024 PR target/5446
11025 * config/ia64/ia64.c (group_barrier_needed_p): Special case
11026 prologue_allocate_stack.
11027 (ia64_single_set): Use insn codes for recognition of special
11028 cases, not rtl matching.
11029 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
11030
4ab95d82
JH
11031Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
11032
11033 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
11034
89a8b315
RH
110352002-03-30 Richard Henderson <rth@redhat.com>
11036
11037 PR target/6032
11038 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
11039 or -fomit-frame-pointer with profiling.
11040 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11041 (FUNCTION_PROFILER): Do nothing.
11042 (PROFILE_HOOK): New.
11043 * config/sparc/sparc.c (sparc_override_options): Don't check
11044 code models for profiling.
11045 (sparc_function_profiler): Remove.
11046 (sparc_profile_hook): New.
11047 * config/sparc/sparc-protos.h: Update.
11048
30984c57
JJ
110492002-03-30 Jakub Jelinek <jakub@redhat.com>
11050
11051 PR optimization/6086
11052 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
11053 of SUBREG of volatile MEM or because the MEM was mode dependent,
11054 return CLOBBER instead of unmodified SUBREG.
11055
1540f9eb
JH
11056Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
11057
89a8b315
RH
11058 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
11059 when not optimizing.
1540f9eb
JH
11060
11061 * toplev.c (rest_of_compilation): Cann mark_constant_function
11062 only when optimizing.
11063
89a8b315
RH
11064 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
11065 are NULL.
1540f9eb
JH
11066
11067 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
11068 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
11069 (try_optimize_cfg): clear all AUX fields.
11070
11071 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
11072 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
11073 (ix86_address_cost): Be prepared for SUBREGed registers.
11074 (legitimate_address_p): Accept SUBREGed registers.
11075
70d95bac
RH
110762002-03-29 Richard Henderson <rth@redhat.com>
11077
11078 PR target/5672
11079 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
11080
d3294cd9
FS
110812002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11082
11083 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
11084 for aggregate and TFmode types.
11085
a106c875
HPN
110862002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
11087
11088 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
11089
7d7a5d6f
RH
110902002-03-29 Richard Henderson <rth@redhat.com>
11091
6e2d670b 11092 PR target/5886
7d7a5d6f
RH
11093 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
11094 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
11095
30c99a84
RH
110962002-03-29 Richard Henderson <rth@redhat.com>
11097
6e2d670b 11098 PR target/6041
30c99a84
RH
11099 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
11100 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
11101 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
11102 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
11103 conditional.
11104 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
11105
02a566dc
DJ
111062002-03-29 Dale Johannesen <dalej@apple.com>
11107
11108 * loop.c (combine_movables): Do allow combination of pseudos.
11109
bc3a44db
LR
111102002-03-29 Loren J. Rittle <ljrittle@acm.org>
11111
11112 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
11113 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
11114 No functional change except ...
11115 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
11116 * doc/install.texi (*-*-freebsd*): Document port configuration.
11117
b0c48229
NB
111182002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
11119
11120 * Makefile.in (convert.o, calls.o, expmed.o): Update.
11121 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
11122 Use new hooks.
11123 * builtin-types.def (BT_PTRMODE): Update.
11124 * c-common.c (type_for_size): Rename c_common_type_for_size.
11125 (type_for_mode): Similarly.
11126 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
11127 Use new hook.
11128 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
11129 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
11130 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
11131 Redefine.
11132 * c-typeck.c (common_type, comptypes, default_conversion):
11133 Use new hooks.
11134 * calls.c: Include langhooks.h.
11135 (emit_library_call_value_1): Use new hooks. Avoid redundant
11136 calls.
11137 * convert.c: Include langhooks.h
11138 (convert_to_pointer, convert_to_integer): Use new hooks.
11139 * except.c (init_eh): Similarly.
11140 * expmed.c: Include langhooks.h.
11141 (expand_mult_add): Use new hooks.
11142 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
11143 try_casesi): Similarly.
11144 * fold-const.c (optimize_bit_field_compare, make_range,
11145 decode_field_reference, fold_truthop, fold): Similarly.
11146 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
11147 put_var_into_stack): Similarly.
11148 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
11149 LANG_HOOKS_TYPE_FOR_SIZE): New.
11150 (LANG_HOOKS_TYPES_INITIALIZER): Update.
11151 * langhooks.h (lang_hooks_for_types): New hooks.
11152 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
11153 * tree.c (get_unwidened, get_narrower): Similarly.
11154 * tree.h (type_for_mode, type_for_size): Remove.
11155 * varasm.c (force_const_mem): Use new hooks.
11156 * utils2.c (nonbinary_modular_operation): Update.
11157objc:
11158 * objc-act.c (handle_impent): Update.
11159 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
11160 Redefine.
11161
e206a74f
SE
111622002-03-29 Steve Ellcey <sje@cup.hp.com>
11163
11164 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
11165 * config/ia64/ia64.c (basereg_operand): New.
11166 * config/ia64/ia64-protos.h (basereg_operand): Declare.
11167 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
11168
7d9b6378
HPN
111692002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
11170
11171 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
11172 unwind information when frame_pointer_needed.
11173 (mmix_assemble_integer): Tweak wording in comment.
11174
f1e639b1
NB
111752002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
11176
11177 * Makefile.in (except.o): Update.
11178 * except.c: Include langhooks.h.
11179 (init_eh): Use langhook.
11180 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
11181 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
11182 (LANG_HOOKS_INITIALIZER): Update.
11183 * langhooks.h (lang_hooks_for_types): New.
11184 (struct lang_hooks): Add it.
11185 * tree.c (make_lang_type_fn, make_lang_type): Remove.
11186 * tree.h (make_lang_type_fn, make_lang_type): Remove.
11187config:
11188 * alpha/alpha.c: Include langhooks.h.
11189 (alpha_build_va_list): Use langhook.
11190 * d30v/d30v.c: Include langhooks.h.
11191 (d30v_build_va_list): Use langhook.
11192 * i386/i386.c: Include langhooks.h.
11193 (ix86_build_va_list): Use langhook.
11194 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
11195 * s390/s390.c: Include langhooks.h.
11196 (s390_build_va_list): Use langhook.
11197 * stormy16/stormy16.c: Include langhooks.h.
11198 (stormy16_build_va_list): Use langhook.
11199
f17f9332
JJ
112002002-03-29 Jakub Jelinek <jakub@redhat.com>
11201
11202 PR c++/5964
11203 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
11204 attributes.
11205 (length): Compute variable length for branches/calls/jumps here.
11206 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
11207 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
11208 define branch_type attribute.
11209 (divsi3_sp32): Maximum length is 6 not 7.
11210 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
11211 call_address_untyped_struct_value_sp32,
11212 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
11213 * config/sparc/sparc.c (empty_delay_slot): New function.
11214 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
11215 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
11216
0a0440c9
JJ
112172002-03-29 Jakub Jelinek <jakub@redhat.com>
11218
11219 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
11220 nonzero_bits if not needed.
11221 (nonzero_bits) [XOR]: Likewise.
11222 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
11223 reg_last_set_mode and mode are both MODE_INT, but not equal.
11224 (record_value_for_reg): Compute reg_last_set_nonzero_bits
11225 in nonzero_bits_mode for MODE_INT modes.
11226
c9045f47
RH
112272002-03-28 Richard Henderson <rth@redhat.com>
11228
11229 PR target/5715
11230 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
11231 to GAS. Correct drift between alternatives.
11232
f8ed1958
RH
112332002-03-28 Richard Henderson <rth@redhat.com>
11234
11235 PR target/6087
11236 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
11237
54e20385
LR
112382002-03-28 Alexandre Oliva <aoliva@redhat.com>
11239
11240 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
11241 emulation to the linker.
11242
112432002-03-28 Loren J. Rittle <ljrittle@acm.org>
11244
11245 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
11246 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
11247
8bc52806
JL
11248Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
11249
11250 * combine.c (simplify_and_const_int): Make sure to apply mask
11251 when force_to_mode returns a constant integer. PR3311.
11252
279dccc5
JDA
112532002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
11254
11255 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
11256
62aaa62c
GP
112572002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11258
11259 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
11260 and Objective-C Dialect Options.
11261
b8de5050
RH
112622002-03-28 Richard Henderson <rth@redhat.com>
11263
11264 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
11265 comparison should be done vs !=0 not >0 return code. Tidy cases.
11266
619708cc
RH
112672002-03-28 Richard Henderson <rth@redhat.com>
11268
11269 * c-decl.c (finish_function): New arg can_defer_p. Pass it
11270 on to c_expand_body.
11271 * c-tree.h (finish_function): Update decl.
11272 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
11273
b1d874d7
JH
11274Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
11275
11276 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
11277
f5eb5fd0
JH
11278Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
11279
11280 * rtlanal.c: Include flags.h
11281 (may_trap_p): Do not mark FP operations if trapping
11282 if !flag_trapping_math
11283 * Makefile.in (rtlanal.o): Add dependency on flag.h
11284 * ifcvt.c (noce_operand_ok): Avoid the lameness.
11285
81b4c798
ZW
112862002-03-27 Zack Weinberg <zack@codesourcery.com>
11287
11288 * mips.md: Use dconst1, not 1.0, as first argument of
11289 REAL_VALUE_LDEXP. Don't use union real_extract.
11290
55a2ea2a
AM
112912002-03-28 Alan Modra <amodra@bigpond.net.au>
11292
11293 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
11294 rather than $target. Heed program_prefix and
11295 program_transform_name. Search for gas in cross-compiler case too.
11296 "test -x" rather than "test -f".
11297 (gcc_cv_ld): Likewise.
11298 (gcc_cv_nm): Heed program_prefix and program_transform_name.
11299 (gcc_cv_objdump): Likewise.
11300 * configure: Regenerate.
11301
7ffb4fd2
NB
113022002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
11303
11304 * Makefile.in (attribs.o): Update.
11305 * attribs.c: Include langhooks.h.
11306 (decl_attributes): Use langhook.
11307 * c-decl.c (insert_default_attributes): Rename.
11308 * c-tree.h (c_insert_default_attributes): New.
11309 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
11310 (LANG_HOOKS_INITIALIZER): Update.
11311 * langhooks.h (struct lang_hooks): New hook.
11312 * tree.h (insert_default_attributes): Remove.
11313objc:
11314 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
11315
e4dbaed5
AS
113162002-03-27 Andreas Schwab <schwab@suse.de>
11317
11318 * config/i386/i386.c (classify_argument): Also check for
11319 QUAL_UNION_TYPE.
11320
18b467f1
RO
113212002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11322
11323 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
11324 any more.
11325
d337d653
JH
11326Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
11327
11328 * i960.md (ret): Set PC.
11329 (nonlocal_goto): Fix expander.
11330 * builtins.c (epxand_builin_longjmp): Check that we've emitted
11331 some jump or call.
11332
218aa620
JH
11333Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
11334
11335 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
11336 of libcall regions.
11337
e27a4eaf
ZD
11338Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11339
11340 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
11341 assigning to BLOCK_FOR_INSN directly.
11342
8a12f34c
JH
11343Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
11344
11345 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
11346
c9d892a8
NB
113472002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
11348
11349 * c-common.c (c_expand_expr): Fix prototype.
11350 * c-common.h (c_expand_expr): Always declare, update.
11351 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
11352 * c-objc-common.c (c_objc_common_init): No global hook.
11353 * expr.c (expand_expr): Use langhook.
11354 * expr.h (enum expand_modifier): Conditionally declare.
11355 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
11356 (LANG_HOOKS_INITIALIZER): Update.
11357 * langhooks.c (lhd_expand_expr): New.
11358 * langhooks.h (struct lang_hooks): New hook.
11359 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
11360 (lang_independent_init): Don't default hook.
11361objc:
11362 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
11363
6dad5a56
RH
113642002-03-27 Richard Henderson <rth@redhat.com>
11365
11366 PR target/6054
11367 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
11368 TARGET_CONST_GP. Simplify conditions.
11369
59f96879
RH
113702002-03-27 Richard Henderson <rth@redhat.com>
11371
11372 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
11373 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
11374 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
11375
f3f1190d
DS
113762002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
11377
11378 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
11379 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
11380 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
11381 Remove unnecessary masks.
11382 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
11383 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
11384 -mwindows, -mdll switches and their negations.
11385
31c816cf
NB
113862002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
11387
11388 * gcc-common.c (lang_mark_false_label_stack): Remove.
11389 * ggc.h (lang_mark_false_label_stack): Similarly.
11390
7b2e1077 113912002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
11392
11393 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
11394
11395 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
11396 or __rtems_ is defined.
11397
1ef9531b
RH
113982002-03-26 Richard Henderson <rth@redhat.com>
11399
11400 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
11401 if a non-trivial load was emitted.
11402 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
11403 in high+extra+low case.
11404
300d4093
RH
114052002-03-26 Richard Henderson <rth@redhat.com>
11406
11407 * config.gcc (sparc*-solaris): Use float_format=sparc.
11408
b3689904
RH
114092002-03-26 Richard Henderson <rth@redhat.com>
11410
11411 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
11412 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
11413 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
11414 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
11415 (WINT_TYPE_SIZE): Fix at 32.
11416
1eefb6c1
RH
114172002-03-26 Richard Henderson <rth@redhat.com>
11418
11419 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
11420 until after eh landing pad generation.
11421 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
11422 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
11423
361ea006
RH
114242002-03-26 Richard Henderson <rth@redhat.com>
11425
11426 * expr.h (ADD_PARM_SIZE): One more convert for INC.
11427
1de38a88
PE
114282002-03-26 Phil Edwards <pme@gcc.gnu.org>
11429
11430 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
11431 and warning switches.
11432 (cc1_options): Likewise.
11433
d7e60e95 114342002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 11435
d7e60e95
HB
11436 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
11437 Restore more of the signal context. Set no_reg_stack_frame.
11438 * config/ia64/unwind-ia64.c (unw_state_record):
11439 Add no_reg_stack_frame, comments.
11440 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
11441 (uw_update_context): Adjust bsp when unwinding from leaf,
11442 but not signal frame.
11443
7032923b
DE
114442002-03-26 David Edelsohn <edelsohn@gnu.org>
11445
11446 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
11447
8be56275
BW
114482002-03-26 Bob Wilson <bob.wilson@acm.org>
11449
11450 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
11451
56fbb855
RE
114522002-03-26 Richard Earnshaw <rearnsha@arm.com>
11453
11454 PR target/5621
11455 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
11456 "Add a pool_range attribute", which was lost during the ARM/Thumb
11457 merge.
11458
3437320b
BW
114592002-03-26 Bob Wilson <bob.wilson@acm.org>
11460
11461 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
11462 a register into the MAC16 accumulator.
11463
173028e5
AC
114642002-03-26 Andrew Cagney <ac131313@redhat.com>
11465
11466 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
11467 (Warning Options): Document -Wswitch-enum.
11468 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
11469 -Wswitch.
11470 (warn_switch_enum): Define variables.
11471 * flags.h (warn_switch_enum): Declare variables.
11472 * stmt.c (expand_end_case_type): When warn_switch_enum /
11473 -Wswitch-enum, perform switch checks.
11474 Fix PR c/5044.
7b2e1077 11475
e14365a7
RE
114762002-03-26 Richard Earnshaw <rearnsha@arm.com>
11477
11478 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
11479 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
11480 (reload_muladdsi_compare0_scratch): Delete.
11481
46fc709d
LR
114822002-03-26 Loren J. Rittle <ljrittle@acm.org>
11483
11484 * doc/install.texi (*-*-freebsd*): Update.
11485
f36dea3c
RH
114862002-03-26 Richard Henderson <rth@redhat.com>
11487
8e5fe23f
RH
11488 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
11489 (SUB_PARM_SIZE): Cast DEC to ssizetype.
11490
11491 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
11492 types from the normal argument frame.
11493
f36dea3c
RH
11494 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
11495 variable sized objects by reference.
11496 (sparc_va_arg): Receive them by reference too.
11497
1447dc69
HP
114982002-03-26 Hartmut Penner <hpenner@de.ibm.com>
11499
11500 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 11501 code to not restoring global registers.
1447dc69 11502
4f0ade92
NB
115032002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
11504
11505 * Makefile.in (ggc-common.o): Update.
11506 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
11507 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
11508 * c-tree.h (c_mark_tree): New.
11509 * ggc-common.c: Include langhooks.h.
11510 (gcc_mark_trees): Use new langhook.
11511 * ggc-callbacks.c: Delete file.
11512 * ggc.h (lang_mark_tree): Remove.
11513 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
11514 (LANG_HOOKS_INITIALIZER): Update.
11515 * langhooks.h (struct lang_hooks): New hook.
11516objc:
11517 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
11518
caba570b
ZW
115192002-03-25 Zack Weinberg <zack@codesourcery.com>
11520
11521 * doc/cpp.texi: Exclude entire Top node from printed manual.
11522 Move option index after directive index. Insert page breaks
11523 before GFDL and concept index. Index environment variables
11524 with command line options.
11525 * doc/cppenv.texi: Use @vtable for environment variable list.
11526 Add paragraph explaining semantics of empty elements in path
11527 variables. Exclude a cross-reference to Fishkill from the
11528 manpage. Remove an unnecessary cross-reference of the entry
11529 right above the referer. Don't use @anchor in text that goes
11530 into manpage.
11531 * doc/cppopts.texi: Cross-reference the environment variables
11532 section, not the specific environment variable, for consistency.
11533
6b2e80b7
RH
115342002-03-25 Richard Henderson <rth@redhat.com>
11535
11536 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
11537 anywhere in the block. Don't refer to insns that have been
11538 removed from the chain. Iterate backward through the new insns.
11539 Don't refer to edges that have been removed.
11540
67e469d7
AM
115412002-03-26 Alan Modra <amodra@bigpond.net.au>
11542
11543 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
11544 test for overflow of constant.
11545
f2356393
RE
115462002-03-25 Richard Earnshaw <rearnsha@arm.com>
11547
11548 PR target/2623
11549 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
11550 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
11551 these patterns on arm_archv4.
11552
355426ab
DS
115532002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
11554
11555 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
11556 int".
11557
15e5ad76
ZW
115582002-03-25 Zack Weinberg <zack@codesourcery.com>
11559
11560 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
11561 float_handled, float_handler, float_signal, set_float_handler,
11562 and do_float_handler. Set handler for SIGFPE to crash_signal.
11563 * toplev.h: Don't prototype do_float_handler.
11564
11565 * c-lex.c: Fold parse_float into lex_number. Make warning
11566 about portability of hex float constants more informative, and
11567 don't issue it on top of a syntax error.
11568 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
11569 their callers.
11570 * real.h: Define REAL_VALUE_ABS here...
11571 * simplify-rtx.c: ... not here. Fold check_fold_consts,
11572 simplify_unary_real, simplify_binary_real, and
11573 simplify_binary_is2orm1 into their callers.
11574 * tree.c: Fold build_real_from_int_cst_1 into caller.
11575
11576 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
11577
11578 * tsystem.h: Include float.h here...
11579 * libgcc2.c: ... not here.
11580
56ae9405
NC
115812002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
11582
11583 Fixes for: PR bootstrap/3591, target/5676
11584 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
11585 defined. Do not disable exceptions or rtti.
11586 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
11587 mcore.h. Disable exceptions and rtti, since they are not
11588 supported by EPOC.
11589
c88770e9
NB
115902002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
11591
11592 * c-decl.c (maybe_build_cleanup): Remove.
11593 * expr.c (expand_expr): Use langhook.
11594 * langhooks-def.h (lhd_return_null_tree,
11595 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
11596 (LANGHOOKS_INITIALIZER): Update.
11597 * langhooks.c (lhd_return_null_tree): New.
11598 * langhooks.h (struct lang_hooks): New hook.
11599 * tree-inline.c (initialize_inlined_parameters): Use langhook.
11600 * tree.h (maybe_build_cleanup): Remove.
11601
2ed1f154
JJ
116022002-03-25 Jakub Jelinek <jakub@redhat.com>
11603
11604 * regrename.c (build_def_use): Move recog_memoized
11605 before extract_insn.
11606
6ddae612
JJ
116072002-03-25 Jakub Jelinek <jakub@redhat.com>
11608
11609 PR target/6043
11610 * expr.c (emit_group_store): Handle storing into CONCAT.
11611
ea475b23
JJ
116122002-03-25 Jakub Jelinek <jakub@redhat.com>
11613
11614 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
11615 corresponding MATCH_DUP.
11616
e7d482b9
RH
116172002-03-24 Richard Henderson <rth@redhat.com>
11618
cd39fc13
RH
11619 * unroll.c (unroll_loop): Zero label_map.
11620
e7d482b9
RH
11621 * gcse.c: Include except.h.
11622 * Makefile.in (gcse.o): Update.
11623
1bd6476f
RH
116242002-03-24 Richard Henderson <rth@redhat.com>
11625
11626 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
11627 Do resolve_unique_section before shared data clause.
11628
2e6c150a
RH
116292002-03-24 Richard Henderson <rth@redhat.com>
11630
11631 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
11632
b29afcf8
RH
116332002-03-24 Richard Henderson <rth@redhat.com>
11634
15e5ad76 11635 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
11636 generated in the middle of a block. Do global life update if
11637 zapped EH edges.
11638
05ed1296
RH
116392002-03-24 Richard Henderson <rth@redhat.com>
11640
11641 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
11642
3ddbb8a9
NB
116432002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
11644
11645 preprocessor/3951
15e5ad76 11646 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
11647 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
11648 (init_dependency_output): Don't make no_output decision here.
11649
740b77b6
AC
116502002-03-24 Andrew Cagney <ac131313@redhat.com>
11651
11652 * stmt.c (check_for_full_enumeration_handling): Remove tests of
11653 warn_switch. Update description.
11654 (expand_end_case_type): Call check_for_full_enumeration_handling
11655 when warn_switch.
11656
7590cfd0
SC
116572002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11658
11659 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
11660 (m68hc11_split_move): Call it to see if the source and destination
11661 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 11662 source an offsetable memory operand and generate an add.
7590cfd0 11663
2e3d3481
SC
116642002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11665
11666 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
11667 register for operand 2.
11668 ("*subsi3_zero_extendqi"): Likewise.
11669 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
11670 bits so that it is compatible with a pop.
11671 ("*andhi3_gen"): Likewise.
11672 ("xorhi3"): Likewise.
11673
2784528c
NB
116742002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
11675
11676 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
11677 -pedantic here...
11678 (cpp_post_options): ... not here.
11679
aaf93206
NB
116802002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
11681 Aldy Hernandez <aldyh@redhat.com>
11682
11683 Removal of separate preprocessor cpp0.
11684
11685 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
11686 cpp0, install-common): Update.
11687 * c-common.c (flag_preprocess_only): New.
11688 (c_common_init): Preprocess for -E.
11689 * c-common.h (flag_preprocess_only): New.
11690 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
11691 * c-objc-common.c (c_init_decl_processing): Exit quickly
11692 for NULL return from c_common_init.
11693 * cpplib.h (cpp_preprocess_file): New.
11694 * cppmain.c (main, general_init, pfile, progname): Remove.
11695 (do_preprocessing): Rename cpp_preprocess_file, don't call
11696 cpp_finish. Don't close stdout here.
11697 (setup_callbacks): Update prototype.
11698 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
11699 Update.
11700 * tradcpp.c (main): Ignore -quiet.
11701objc:
11702 * lang-specs.h (default_compilers): Preprocess with cc1obj.
11703
c6e6f5c1
RH
117042002-03-24 Richard Henderson <rth@redhat.com>
11705
11706 PR optimization/5742
11707 * machmode.def: Add inner mode field to complex modes.
11708 * config/mips/mips.c (mips_function_value): Always define. Add
11709 new argument to handle libcalls.
11710 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
11711 (FUNCTION_VALUE): Likewise.
11712 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
11713 * config/mips/mips-protos.h: Update.
11714
d88e57d1
RH
117152002-03-23 Richard Henderson <rth@redhat.com>
11716
11717 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
11718 * config/sparc/sparc-protos.h: Update.
11719 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
11720
6dfaf9ba
RH
117212002-03-23 Richard Henderson <rth@redhat.com>
11722
11723 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
11724 _start or _init begins the text segment.
11725
0c769cf8
DE
117262002-03-23 David Edelsohn <edelsohn@gnu.org>
11727
11728 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
11729 not HOST_WIDEST_INT.
11730 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
11731
64e92a26
RE
117322002-03-23 Richard Earnshaw <rearnsha@arm.com>
11733
11734 PR java/5489
11735 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
11736 operand argument to output_return_instruction.
15e5ad76 11737 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
11738 const_true_rtx then just return.
11739 (arm_print_operand, case 'D'): If the operand is const_true_rtx
11740 then abort.
11741
d6961341
AC
117422002-03-23 Andrew Cagney <ac131313@redhat.com>
11743
11744 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
11745 (Warning Options): Document -Wswitch-default.
11746 * toplev.c (W_options): Add -Wswitch-default. Update comment on
11747 -Wswitch.
11748 (warn_switch_default): Define variable.
11749 (warn_switch): Update comment.
11750 * flags.h (warn_switch_default): Declare variable.
11751 (warn_switch): Update comment.
11752 * stmt.c (expand_end_case): Check for and, when
11753 warn_switch_no_default, warn of a missing default case.
15e5ad76 11754
d4c5ac1f
AM
117552002-03-23 Alan Modra <amodra@bigpond.net.au>
11756
bbaa9790
AM
11757 * real.h (N): Special case 128 bit doubles.
11758
d4c5ac1f
AM
11759 * combine.c (simplify_comparison): When widening modes, ignore
11760 sign extension on CONST_INTs.
11761
84bf8c2c
BW
117622002-03-22 Bob Wilson <bob.wilson@acm.org>
11763
11764 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
11765 passed to adjust_address. Fix comment formatting.
11766
11767
b216cd4a
ZW
117682002-03-22 Zack Weinberg <zack@codesourcery.com>
11769
11770 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
11771 Always make REAL_VALUE_TYPE a struct containing an array of
11772 HOST_WIDE_INT, not a double. Tidy up the code deciding how
11773 big it is. Don't declare or use union real_extract.
11774
11775 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
11776 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
11777 (print_operand), config/arm/arm.c (output_move_double),
11778 config/arm/arm.md (consttable_4, consttable_8),
11779 config/romp/romp.c (output_fpops), config/s390/s390.h
11780 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
11781 (xtensa_output_literal): Don't use union real_extract.
11782
11783 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
11784 (sfmode_constant_to_ulong), config/ns32k/merlin.h
11785 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
11786 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
11787 (PRINT_OPERAND): Don't use local version of union
11788 real_extract.
11789
11790 * config/convex/convex.c (check_float_value), config/vax/vax.c
11791 (vax_float_literal), config/m88k/m88k.md (divdf3),
11792 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
11793 config/pdp11/pdp11.c (output_move_quad): Don't do host
11794 arithmetic on target floating point quantities.
11795
11796 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
11797 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
11798
11799 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
11800 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
11801
11802 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
11803 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
11804 INFINITY.
11805 * print-rtl.c (print_rtx): Disable code which needs
11806 floating-point emulator.
11807 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
11808 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
11809 depending on HOST_FLOAT_FORMAT to be defined properly.
11810
11811 * config/1750a/1750a.c (get_double, float_label): Delete.
11812 (print_operand): Delete huge commented-out chunk. Use
11813 REAL_VALUE_TO_DECIMAL.
11814 * config/1750a/1750a-protos.h: Delete prototypes of deleted
11815 functions.
11816 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
11817 IEEE_FLOAT_FORMAT.
11818 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
11819 Use REAL_VALUE_TO_DECIMAL as ELF version does.
11820 * config/m88k/m88k.c (real_power_of_2_operand,
11821 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
11822 real_extract out of the union; run the input through
11823 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
11824 from that into the union.
11825 * config/pdp11/pdp11.c (output_move_double): Rearrange
11826 parentheses to make automatic indenter happy.
11827
11828 * doc/tm.texi (Cross-compilation): Rename node to "Floating
11829 Point" and rewrite to describe current situation. Also adjust
11830 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
11831 match code.
11832 * doc/rtl.texi: Adjust cross reference.
11833
a8cacfd2
BW
118342002-03-22 Bob Wilson <bob.wilson@acm.org>
11835
11836 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
11837 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
11838 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
11839 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
11840 prevent use of sp as a reload register.
11841 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
11842 non_acc_reg_operand.
11843 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
11844 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
11845 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
11846 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
11847
d4e6133f
NB
118482002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
11849
b216cd4a
ZW
11850 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
11851 * cpplex.c (unterminated): Delete.
11852 (parse_string): No string literal may extend over multiple
11853 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
11854 * cppmain.c (scan_translation_unit): Strings are single-line.
11855
b216cd4a 11856 * doc/cpp.texi: Update to match.
d4e6133f 11857
65e6c005
JJ
118582002-03-22 Jakub Jelinek <jakub@redhat.com>
11859
11860 PR optimization/5854
11861 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
11862 Shut up warnings.
11863 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
11864 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
11865 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
11866 const0 if scratch register was not allocated.
11867 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
11868 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
11869 with GEN_INT (...).
11870 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
11871 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
11872 with GEN_INT (...) everywhere. Remove constraints in define_split
11873 patterns.
11874 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
11875 require scratch register for setting 0 into regs/non-pushable memory.
11876
7f48c9e1
AO
118772002-03-22 Alexandre Oliva <aoliva@redhat.com>
11878
11879 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
11880 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
11881
909de5da
PE
118822002-03-22 Phil Edwards <pme@gcc.gnu.org>
11883
11884 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
11885 * cppinit.c (cpp_create_reader): On by default.
11886 (cpp_handle_option): Handle -W[no-]endif-labels.
11887 (cpp_post_options): Also enable if -pedantic.
11888 * cpplib.c (do_else): Use it.
11889 (do_endif): Likewise.
11890 * doc/cppopts.texi: Document new option.
11891 * doc/invoke.texi: Document new option.
11892
d8bf17f9
LB
118932002-03-22 Lars Brinkhoff <lars@nocrew.org>
11894
11895 * config/i386/i386.c, config/i386/i386.md: Change all occurences
11896 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
11897
70e0ccd0
AO
118982002-03-22 Alexandre Oliva <aoliva@redhat.com>
11899
11900 * flow.c (calculate_global_regs_live): Clear aux fields of
11901 ENTRY and EXIT.
11902
68882f0f
JJ
119032002-03-22 Jakub Jelinek <jakub@redhat.com>
11904
11905 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
11906 REG or MEM subregs, pass rtx * instead of rtx to it.
11907 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
11908 rtx * instead of rtx to alter_subreg.
11909 * config/m32r/m32r.c (gen_split_move_double): Likewise.
11910 * config/pj/pj.c (pj_output_rval): Likewise.
11911
648fe28b
RH
119122002-03-22 Richard Henderson <rth@redhat.com>
11913
11914 PR target/3177
11915 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
11916 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
11917 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
11918 (ia64_expand_prologue): Look at int_regs, not words, for number
11919 of incomming int regs.
11920
e8dcd824
AM
119212002-03-22 Andrew MacLeod <amacleod@redhat.com>
11922
11923 * expr.c (expand_expr): A RESULT_DECL is part of a call.
11924
96327cdc
JH
11925Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
11926
11927 * toplev.c (flag_loop_optimize, flag_crossjumping):
11928 New static variables.
11929 (rest_of_compilation): Conditionalize crossjumping and
11930 loop optimizer.
11931 (parse_options_and_default_flags): Default loop_optimize and
11932 crossjumping.
11933 (lang_independent_options): Add -fcrossjumping and -floop-optimize
11934 * invoke.texi (crossjumping, loop-optimize): Document.
11935
bc185257
RS
119362002-03-22 Richard Sandiford <rsandifo@redhat.com>
11937
11938 * real.c (eiisneg): Move outside #ifdef NANS.
11939
0a2ed1f1
JH
11940Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
11941
11942 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
11943 frequencies match; avoid match on different loop depths.
11944 (try_crossjump_to_bb): Kill tests that no longer brings time
11945 savings.
11946 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
11947 updating code.
11948 (split_edge): Likewise.
11949
11950 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
11951 variable.
11952
11953 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
11954 * cfgrtl.c: Include insn-config.h
11955 (split_block) Dirtify block in presence of conditional execution
11956
4d72536e
RS
119572002-03-22 Richard Sandiford <rsandifo@redhat.com>
11958
11959 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
11960 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
11961 (function_arg): Constify CUMULATIVE_ARGS.
11962 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
11963 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
11964 (UNITS_PER_DOUBLE): New macro.
11965 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
11966 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
11967 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
11968 fp_regs and stack_words.
11969 (EABI_FLOAT_VARARGS_P): New macro.
11970 * config/mips/mips.c (struct mips_arg_info): New.
11971 (mips_arg_info): New function.
11972 (function_arg_advance): Use it. Add adjustment instructions here
11973 rather than in function_arg.
11974 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
11975 for VOIDmode at the beginning of the function.
11976 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
11977 (function_arg_pass_by_reference): Likewise.
11978 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
11979 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
11980 (mips_va_start): Likewise. Use the new stack_words field of
11981 CUMULATIVE_ARGS to set up overflow area. Reformat.
11982 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
11983 doubles and other types, aligning the overflow pointer for non-doubles
11984 too. Remove some code duplication. Replace hard-coded constants.
11985
e6f884cd
RS
119862002-03-22 Richard Sandiford <rsandifo@redhat.com>
11987
11988 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
11989 (CLASS_UNITS): Undefine.
11990 (CLASS_MAX_NREGS): Use FP_INC.
11991 * config/mips/mips.c (compute_frame_size): Likewise.
11992 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
11993
10cf9bde
NB
119942002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
11995
11996 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
11997 prototype, and handle lexing numbers and identifiers.
11998 (parse_identifier): Update to new form of parse_slow.
11999 (parse_number): Fast path only, use parse_slow otherwise.
12000 (_cpp_lex_direct): Update calls to parse_number.
12001
fbc2782e
DD
120022002-03-21 DJ Delorie <dj@redhat.com>
12003
12004 * bb-reorder.c (make_reorder_chain_1): Protect against
12005 when redundant edges are omitted.
12006 * predict.c (dump_prediction): Likewise.
12007
fba39eaf
RH
120082002-03-21 Richard Henderson <rth@redhat.com>
12009
12010 PR target/5996
12011 * fixinc/inclhack.def (solaris_stdio_tag): New.
12012 * fixinc/fixincl.x: Regenerate.
12013
eba80994
EB
120142002-03-21 Eric Botcazou <ebotcazou@multimania.com>
12015
12016 PR c/5597
12017 * c-typeck.c (process_init_element): Flag non-static
12018 initialization of a flexible array member as illegal.
12019
2a78758b
AM
120202002-03-22 Alan Modra <amodra@bigpond.net.au>
12021
12022 * config/rs6000/t-linux64: New.
12023 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
12024 t-ppccomm. Use t-rs6000 and t-linux64.
12025 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
12026 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
12027 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
12028 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 12029
2cb921f4
AH
120302002-03-21 Aldy Hernandez <aldyh@redhat.com>
12031
eba80994
EB
12032 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
12033 flag_really_no_inline instead of optimize == 0.
2cb921f4 12034
eba80994 12035 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 12036
eba80994 12037 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 12038
eba80994 12039 * flags.h (flag_really_no_inline): New.
2cb921f4 12040
659e5a7a 12041 * c-common.c (c_common_post_options): Initialize
eba80994 12042 flag_really_no_inline.
2cb921f4 12043
eba80994 12044 * toplev.c (flag_really_no_inline): New.
2cb921f4 12045
239b8b9d
JJ
120462002-03-21 Jakub Jelinek <jakub@redhat.com>
12047
12048 * config/avr/avr.md (length): Fix length computation for
12049 conditional branches.
12050
43577e6b
NB
120512002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
12052
12053 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
12054 sdbout.o, profile.o): Update.
12055 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
12056 langhook.
12057 * c-common.h (gettags): Move here from tree.h.
12058 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
12059 insert_block, getdecls, kept_level_p, global_bindings_p): New.
12060 * dbxout.c (dbxout_init): Use getdecls langhook.
12061 * expr.c (expand_expr): Use insert_block langhook.
12062 * fold-const.c: Include langhooks.h.
12063 (fold_range_test, fold_binary_op_with_conditional_arg,
12064 fold): Use global_bindings_p langhook.
12065 * integrate.c (expand_inline_function): Use insert_block langhook.
12066 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
12067 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
12068 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
12069 LANG_HOOKS_GETDECLS): New.
12070 (LANG_HOOKS_INITIALIZER): Update.
12071 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
12072 langhook.
12073 * langhooks.h (struct lang_hooks_for_decls): New.
12074 (struct lang_hooks): Update.
12075 * profile.c: Include langhooks.h.
12076 (output_func_start_profiler): Use new langhooks.
12077 * sdbout.c: Include langhooks.h.
12078 (sdbout_init, sdbout_finish): Use getdecls langhook.
12079 * stmt.c: Include langhooks.h.
12080 (expand_fixup, fixup_gotos): Use new langhooks.
12081 * stor-layout.c: Include langhooks.h.
12082 (variable_size): Use global_bindings_p langhook.
12083 * toplev.c (compile_file): Use getdecls langhook.
12084 * tree-inline.c (remap_block): Use insert_block langhook.
12085 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
12086 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
12087
5b19b10c
RH
120882002-03-21 Richard Henderson <rth@redhat.com>
12089
12090 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
12091 constants in .data when -fpic.
12092
e05af335
GP
120932002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12094
12095 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
12096 where appropriate.
12097
60ffc997
TT
120982002-03-21 Tom Tromey <tromey@redhat.com>
12099
12100 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
12101
75897075
RK
12102Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12103
a73afd69 12104 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 12105
75897075
RK
12106 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
12107
312687cf
EB
121082002-03-21 Eric Botcazou <ebotcazou@multimania.com>
12109 Richard Henderson <rth@redhat.com>
12110
12111 PR c/5354
12112 * c-common.c (c_expand_expr): Preserve result of a statement
12113 expression if needed.
12114
f0e1f482
JJ
121152002-03-21 Jakub Jelinek <jakub@redhat.com>
12116
12117 PR bootstrap/4195
12118 * genrecog.c (maybe_both_true_mode): Remove.
12119 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
12120 * machmode.def (Pmode): Likewise.
12121
c14b9960
JW
12122Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
12123
12124 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
12125 (nonlocal_mentioned_p_1): New function.
12126 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
12127 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
12128 (mark_constant_function): Recognize pure functions.
12129 * rtl.h (global_reg_mentioned_p): New prototype.
12130 * rtlanal.c (global_reg_mentioned_p,
12131 global_reg_mentioned_p_1): New function.
12132
aaa4d130
RO
121332002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12134
12135 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
12136 UNIX assert.h.
12137 * fixinc/fixincl.x: Regenerate.
12138
e5c4bd1b
JM
121392002-03-20 Jason Merrill <jason@redhat.com>
12140
12141 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
12142
852b81bb
MM
121432002-03-20 Michael Meissner <meissner@redhat.com>
12144
12145 * doc/invoke.texi (Optimize Options): Document that -O2 sets
12146 -fstrict-aliasing.
12147
86d8c251
BW
121482002-03-20 Bob Wilson <bob.wilson@acm.org>
12149
12150 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
12151 ".literal_position" directive before the constant pool.
12152
0a39c350
GP
121532002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12154
12155 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
12156 Add Craig Rodrigues.
12157 Add Brad Lucier to testers.
12158
71a83373
JJ
121592002-03-20 Jakub Jelinek <jakub@redhat.com>
12160
12161 PR target/4792
12162 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
12163 to if_then_else.
12164 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
12165 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
12166 instead of insn_extract.
12167
a29b099d
JJ
121682002-03-20 Jakub Jelinek <jakub@redhat.com>
12169
12170 PR bootstrap/4192
71a83373 12171 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
12172
12173 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
12174 stmt if some case has been output.
12175
048b1c95
JJ
121762002-03-20 Jakub Jelinek <jakub@redhat.com>
12177
12178 PR c/5972
12179 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
12180 movsfcc_1, movdfcc_1): Add %O2.
12181 * config/i386/i386.c (print_operand): Handle %ON.
12182 Print . before float condition codes in Sun as cmov syntax.
12183 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
12184 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
12185 no longer true.
12186
f4864588
PB
121872002-03-20 Philip Blundell <pb@nexus.co.uk>
12188
12189 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
12190 return instruction if PC was popped.
12191
3a307de4
BW
121922002-03-20 Bob Wilson <bob.wilson@acm.org>
12193
12194 * config/xtensa/xtensa.md: Remove unused type attributes.
12195 (adddi_carry, subddi_carry): Change type attribute to "multi".
12196
048b1c95 121972002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
12198
12199 PR optimization/5999, middle-end/5731
12200 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
12201 multiplications by reciprocals.
12202
7afff7cf
NB
122032002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
12204
12205 * Makefile.in: Update.
12206 * c-common.c: Include langhooks.h.
12207 (inline_forbidden_p): Use new hook.
12208 * diagnostic.c: Include langhooks.h.
12209 (format_with_decl, announce_function,
12210 default_print_error_function): Use new hook.
12211 * dwarf2out.c (dwarf2_name): Use new hook.
12212 * function.c: Include langhooks.h.
12213 (init_function_start): Use new hook.
12214 * langhooks-def.h (lhd_decl_printable_name): New.
12215 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
12216 (LANGHOOKS_INITIALIZER): Update.
12217 * langhooks.c (lhd_decl_printable_name): New.
12218 * langhooks.h (struct lang_hooks): New hook.
12219 * toplev.c (decl_name, decl_printable_name): Remove.
12220 (open_dump_file): Use new hook.
12221 (process_options): Remove old hook.
12222 * tree.h (decl_printable_name): Remove.
12223objc:
12224 * objc-act.c (objc_init): Remove old hook.
12225 (objc_printable_name): Export.
12226 * objc-act.h (objc_printable_name): New.
12227 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
12228
f78ce0b7
JB
122292002-03-19 Jim Blandy <jimb@redhat.com>
12230
12231 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
12232 the start_source_file debug hook, not the current line number.
12233
15b5aef3
RH
122342002-03-19 Richard Henderson <rth@redhat.com>
12235
12236 * flow.c (EH_USES): Provide default.
12237 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
12238 * doc/tm.texi (EH_USES): New.
12239
12240 * config/ia64/ia64.c (ia64_eh_uses): New.
12241 * config/ia64/ia64-protos.h: Update.
12242 * config/ia64/ia64.h (EH_USES): New.
12243
02a7a3fd
RH
122442002-03-19 Richard Henderson <rth@redhat.com>
12245
12246 * varasm.c (output_constant_def): Fix stupid typo.
12247
93f82d60
RH
122482002-03-19 Richard Henderson <rth@redhat.com>
12249
2842be05 12250 PR 5879
93f82d60
RH
12251 * except.c (current_function_has_exception_handlers): New.
12252 * except.h: Declare it.
12253 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
12254 Combine tests that disable all sibcalls for the function.
12255
ed4fbfa0
OH
122562002-03-19 Olivier Hainque <hainque@act-europe.fr>
12257
12258 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
12259 for INTEGER_CST.
12260
ebf0e888
RH
122612002-03-19 Richard Henderson <rth@redhat.com>
12262
1e82682b 12263 PR 5977, 5991
ebf0e888
RH
12264 * config/ia64/ia64.c: Revert 2002-03-01 patch.
12265 * config/ia64/ia64.h (INIT_EXPANDERS): New.
12266
e37b38d7
JB
122672002-03-19 Jim Blandy <jimb@redhat.com>
12268
12269 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
12270 name, even if the replacement list contains no tokens, as required
12271 by Dwarf.
12272
2a4ea326
JM
122732002-03-19 Jason Merrill <jason@redhat.com>
12274
f9d09ae5
JM
12275 * varasm.c (globalize_decl): Get the name from the RTL, not
12276 DECL_ASSEMBLER_NAME.
12277
2a4ea326
JM
12278 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
12279
99b96edb
BW
122802002-03-19 Bob Wilson <bob.wilson@acm.org>
12281
12282 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
12283 subdi_carry): Define.
12284
3774b567
DE
122852002-03-19 David Edelsohn <edelsohn@gnu.org>
12286
12287 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
12288 about -fpic/-fPIC if extra_warnings set.
12289
21ef78aa
DE
122902002-03-19 David Edelsohn <edelsohn@gnu.org>
12291
12292 * expr.c (expand_expr): Sign-extend CONST_INT generated from
12293 TREE_STRING_POINTER.
0c2fdcdf 12294 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 12295
91d4b3fd
RK
12296Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12297
12298 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
12299 in favor of SP if FRAME_POINTER_REQUIRED is false.
12300
2496c7bd
LB
123012002-03-19 Lars Brinkhoff <lars@nocrew.org>
12302
12303 * emit-rtl.c (gen_int_mode): New function.
12304 * rtl.h: Prototype for it.
12305 * combine.c (make_extraction, simplify_comparison), expmed.c
12306 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
12307 (convert_modes, store_field), optabs.c (expand_fix),
12308 simplify-rtx.c (neg_const_int, simplify_unary_real),
12309
12310 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
12311 Use it instead of GEN_INT (trunc_int_for_mode (...)).
12312
f735a153
JJ
123132002-03-19 Jakub Jelinek <jakub@redhat.com>
12314
12315 PR c/5656
12316 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
12317 convert_parm_for_inlining.
12318 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
12319 Define.
12320 * langhooks-def.h: Likewise.
12321 * objc/objc-lang.c: Likewise.
12322 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
12323 function.
12324 * tree-inline.c (initialize_inlined_parameters):
12325 Call convert_parm_for_inlining lang hook if needed.
12326 * c-typeck.c (c_convert_parm_for_inlining): New function.
12327 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
12328
1929c971
MM
123292002-03-18 Mark Mitchell <mark@codesourcery.com>
12330
b216cd4a 12331 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
12332 can be destroyed after expanding the argument.
12333 (expand_call): Likewise.
12334
c79ca0ac
EC
123352002-03-15 Eric Christopher <echristo@redhat.com>
12336
12337 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
12338 Fix register preference on last change.
12339 * config/mips/mips.c (mips_return_in_memory): New function.
12340 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
12341 * config/mips/mips-protos.h: Declare.
12342 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
12343 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
12344
07e2e444
AO
123452002-03-18 Alexandre Oliva <aoliva@redhat.com>
12346
1bfbbbcf
AO
12347 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
12348 a register too.
12349 (anddi3, iorsi3): Likewise.
12350
c066429e
AO
12351 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
12352 use %gprel for symbols that are going to be placed in linkonce
12353 sections.
12354
07e2e444
AO
12355 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
12356 RETURN_ADDRESS_POINTER_REGNUM to $ra.
12357 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
12358 not needed. Disregard leaf_function_p().
12359 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
12360 mips16 frame pointer.
12361 * config/mips/mips.md (store ra): Only to small SP offsets.
12362 2001-08-22 Graham Stott <grahams@redhat.com>
12363 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
12364 return a REG rtx for the return address register.
12365
eb8e00ea
BW
123662002-03-18 Bob Wilson <bob.wilson@acm.org>
12367
12368 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
12369 constant-pool addresses as "mode-dependent".
12370 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
12371
cbb92744
JJ
123722002-03-18 Jakub Jelinek <jakub@redhat.com>
12373
12374 PR target/5740
12375 * expr.c (emit_group_load): Use extract_bit_field if
12376 needed for CONCAT arguments.
12377
657d9449
RE
123782002-03-18 Richard Earnshaw <rearnsha@arm.com>
12379
91f3a802 12380 PR target/4863
657d9449
RE
12381 * arm.md (tablejump): Make this a define_expand. For PIC add the
12382 offset to the base of the table.
12383 (thumb_tablejump): Matcher for Thumb tablejump insn.
12384 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
12385 as the difference of two labels.
12386 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
12387 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
12388 tables in the code.
12389 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
12390 * arm.c (get_jump_table_size): If the table is not in the text
12391 section, return zero.
c79ca0ac 12392
5d5603e2
BS
123932002-03-18 Bernd Schmidt <bernds@redhat.com>
12394
12395 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
12396 of gen_rtx_SUBREG.
12397 (arm_reload_out_hi): Use gen_lowpart instead of
12398 gen_rtx_SUBREG to access QImode components.
12399 * config/arm/arm.md: Disable zero_extend split for QImode
12400 subregs in BIG_ENDIAN mode.
12401 (storehi_bigend): Match use of least significant byte.
12402 (storeinthi): Remove extraneous SUBREG.
66c17b64 12403 Add missing construction of operands[2].
5d5603e2
BS
12404 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
12405 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
12406 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
12407
df15fbc7
AH
124082002-03-18 Aldy Hernandez <aldyh@redhat.com>
12409
2496c7bd
LB
12410 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
12411 any_operand.
df15fbc7 12412
b83b7fa3
RH
124132002-03-17 Richard Henderson <rth@redhat.com>
12414
12415 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
12416 explicitly.
12417
6f7c00fe
HPN
124182002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
12419
12420 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
12421 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
12422
155038f2
KG
124232002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12424
720d42fa
KG
12425 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
12426
155038f2
KG
12427 * predict.c (estimate_bb_frequencies): Delete unused variables.
12428
e6542f4e
RH
124292002-03-17 Richard Henderson <rth@redhat.com>
12430
12431 * config/ia64/ia64.c (ia64_attribute_table): Move before
12432 targetm definition. Make static.
12433
52dabb6c
NB
124342002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
12435
12436 * c-common.h (yyparse, c_common_parse_file): New.
12437 * c-lang.c: Include c-common.h.
12438 (LANG_HOOKS_PARSE_FILE): Redefine.
12439 * c-lex.c: Include c-common.h.
12440 (yyparse): Rename c_common_parse_file. Call yyparse.
12441 * c-parse.in (yyparse): Remove macro.
12442 * c-tree.h (yyparse_1): Remove.
12443 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
12444 (LANG_HOOKS_INITIALIZER): Update.
12445 * langhooks.h (struct lang_hoooks): New hook parse_file.
12446 * toplev.c (compile_file): Use parse_file hook.
12447 * tree.h (yyparse): Remove.
e6542f4e 12448 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 12449
b5ffe606
HPN
124502002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
12451
ba82f58b
HPN
12452 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
12453 float_truncate, not fix.
12454 ("*truncdfsf2_real"): Ditto.
12455 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
12456
b5ffe606
HPN
12457 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
12458
c8d1b2b7
AO
124592002-03-16 Alexandre Oliva <aoliva@redhat.com>
12460
cfb773f9
AO
12461 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
12462 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
12463 where appropriate. Make the second reference to
12464 leaf_function_p a function call, as intended. Reindented.
12465
4dffef52
AO
12466 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
12467 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
12468
4f5bd6d7
AO
12469 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
12470 add register to non-constant into sp.
12471
c8d1b2b7
AO
12472 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
12473 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
12474 (mips16_gp_pseudo_rtx): Lose.
12475 (INIT_EXPANDERS): Deleted.
12476 * config/mips/mips.c (mips_init_machine_status): New.
12477 (mips_free_machine_status): New.
12478 (mips_mark_machine_status): New.
12479 (override_options): Set them.
12480 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
12481 (struct machine_function): ... new. Replaced all references.
12482 (mips_add_gc_roots): Don't mark them.
12483 (embedded_pic_fnaddr_reg): New, extracted from...
12484 (embedded_pic_offset): ... here.
12485 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
12486 (movsi): Likewise.
12487
b3124fac
NB
124882002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
12489
12490 * cppinit.c: Revert -MD removal.
12491
121449b6
SC
124922002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12493
12494 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
12495 soft registers by default for 68HC12.
12496 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
12497 when compiling with -fomit-frame-pointer.
12498 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
12499 (expand_epilogue): Likewise.
12500 (m68hc11_gen_rotate): Use exg when rotating by 8.
12501
840e2ff1
SC
125022002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12503
12504 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
12505 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
12506 (splits): Remove unused add splits.
12507 ("*addhi3_68hc12"): Tune constraints.
12508 ("addhi_sp"): Try to use X instead of Y in all cases and if the
12509 constant fits in 8-bits and D is dead use abx/aby instructions.
12510 ("*addhi3"): Remove extern declaration of ix_reg.
12511 ("*subsi3"): Optimize and provide new split.
12512 ("subhi3"): Cleanup.
12513 ("*subhi3_sp"): Avoid saving X if we know it is dead.
12514 (arith splits): For 68hc12 save the address register on the stack
12515 and do the arithmetic operation with a pop.
12516
3c9a5efe
SC
125172002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12518
12519 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
12520 allocating QImode in address registers.
12521 ("*movqi_m68hc11"): Likewise.
12522
e41f3392
JH
12523Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
12524
12525 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
12526
576786b0
NB
125272002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
12528
12529 * cppinit.c (print_help): Display -MD and -MMD.
12530 Don't display usage string. Update assertion syntax and
12531 typo.
12532 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
12533 (cpp_handle_option): Update.
12534
1ac458d4
CD
125352002-03-15 Chris Demetriou <cgd@broadcom.com>
12536
12537 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
12538 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
12539 and define it so that regardless of target CPU size,
12540 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
12541 of "int" rather than "long."
12542
1fcd592b
RH
125432002-03-15 Richard Henderson <rth@redhat.com>
12544
12545 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
12546 size as a tree.
12547
a0df6910
SC
125482002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12549
12550 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
12551 ("tstqi" split): Avoid using memory for tstqi on address register.
12552 (splits): Remove constraints.
12553 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
12554 ("cmpdf", "cmpsf"): Remove since not used.
12555 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
12556 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
12557
015a2e59
SC
125582002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12559
12560 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
12561 ("neghi2"): Tighten constraints.
12562 ("one_cmplsi2"): Optimize and simplify split.
12563 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
12564
cd28557c
SC
125652002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12566
12567 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
12568 and split of AND operation to clear the upper bits.
12569 ("*logicalsi3_zextqi"): Likewise.
12570 ("*logicallhi3_zexthi_ashift8"): Likewise.
12571 ("*logicalsi3_silshr16"): Likewise.
12572 ("logicalsi3_silshl16"): Likewise.
12573 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
12574
932657df
SC
125752002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12576
12577 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
12578 (m68hc11_indirect_p): New function.
12579 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
12580 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
12581 TARGET_M6812.
12582 (asm_print_register): Likewise.
12583 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
12584 (m68hc11_indirect_p): Declare.
12585 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
12586 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
12587 (TARGET_SWITCHES): New option -mrelax.
12588 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
12589 destination.
12590 ("iorsi3", "xorsi3"): Likewise.
12591 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
12592 ("*andhi3_mem"): New to handle destination in memory with bclr
12593 and a scratch register.
12594 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
12595 ("*andhi3_const"): New when operand2 is constant.
12596 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
12597 ("*andhi3_gen"): Cleanup of the old "andhi3".
12598 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
12599 ("xorqi3"): Update constraints.
12600
fdffea1a
SC
126012002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12602
12603 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
12604 for reg_equiv_memory_loc when the operand is a register that does
12605 not get a hard register (stack location).
12606 (tst_operand): After reload, accept all memory operand.
12607 (symbolic_memory_operand): Fix detection of symbolic references.
12608 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
12609 accept symbols and any constant.
12610
6272bc68
SC
126112002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12612
12613 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
12614 note on the insn that sets the soft frame register.
12615 (must_parenthesize): ix and iy are also reserved names.
12616 (print_operand_address): One more place where parenthesis are required
12617 to avoid confusion with register names.
12618 (m68hc11_gen_movhi): Allow push of stack pointer.
12619 (m68hc11_check_z_replacement): Fix handling of parallel with a
12620 clobber.
12621 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
12622 the replacement register is.
12623 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
12624 and D8_REGS classes.
12625 (MODES_TIEABLE_P): All modes are tieable except QImode.
12626
1d2d9def
SC
126272002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12628
12629 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
12630 (___subdi3): Likewise.
12631 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
12632 (__map_data_section): Optimize 68hc11 case.
12633
a0ccf503
SC
126342002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12635
12636 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
12637 than a shift to avoid adding a register with itself.
12638 (m68hc11_memory_move_cost): Take into account NO_REGS.
12639 (m68hc11_register_move_cost): Update and use memory move cost
12640 for soft registers.
12641 (m68hc11_address_cost): Make cost of valid offset not 0 so that
12642 it gives more opportunities to cse to optimize.
12643 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
12644 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
12645
6e4ae815
MM
126462002-03-15 Mark Mitchell <mark@codesourcery.com>
12647
12648 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
12649 * c-common.def (CLEANUP_STMT): New tree node.
12650 * c-common.h (CLEANUP_DECL): New macro.
12651 (CLEANUP_EXPR): Likewise.
12652 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
12653 * expr.c (expand_expr): Tidy.
12654 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
12655 * tree-inline.c (initialize_inlined_parameters): Clean up
12656 new local variables.
12657
a42519be
JJ
126582002-03-15 Jakub Jelinek <jakub@redhat.com>
12659
12660 PR bootstrap/4128
12661 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
12662 before movrXX only, use reg_overlap_mentioned_p.
12663 Only special case NE if just one insn can be generated.
12664
15409448
JM
126652002-03-15 Jason Merrill <jason@redhat.com>
12666
12667 * varasm.c (assemble_variable): Call resolve_unique_section before
12668 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
12669 of error_mark_node.
12670
3a4edb44
RE
126712002-03-15 Richard Earnshaw <rearnsha@arm.com>
12672
12673 PR target/5170
12674 * arm.md (split pattern for thumb shiftable immediates): Add comment
12675 explaining non-obvious test.
12676
32defa36
RE
126772002-03-15 Richard Earnshaw <rearnsha@arm.com>
12678
12679 PR target/5712
12680 * arm.md (movaddr, movaddr_insn): Delete.
12681
5cc90635
JM
126822002-03-15 Jason Merrill <jason@redhat.com>
12683
12684 * toplev.c (wrapup_global_declarations): Clarify variable handling.
12685 -fkeep-static-consts doesn't apply to comdats.
12686
ecb0eece
RH
126872002-03-14 Richard Henderson <rth@redhat.com>
12688
12689 * c-decl.c: Include c-pragma.h.
12690 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
12691 (finish_function): Tidy.
12692 * c-pragma.c: Include c-common.h.
12693 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
12694 (handle_pragma_weak): Use them.
12695 (init_pragma): Register pending_weaks.
12696 * c-pragma.h (maybe_apply_pragma_weak): Declare.
12697 * print-tree.c (print_node): Print DECL_WEAK.
12698 * varasm.c (mark_weak_decls): Remove.
12699 (remove_from_pending_weak_list): Remove.
12700 (add_weak): Remove.
12701 (asm_emit_uninitialised): Call globalize_decl for weak commons.
12702 (weak_decls): Make a tree_list.
12703 (declare_weak): Cons weak_decls directly.
12704 (globalize_decl): Remove weak_decls elements directly.
12705 (weak_finish): Simplify weak_decls walk. Don't weaken unused
12706 symbols. Don't pretend to handle aliases.
12707 (init_varasm_once): Update weak_decls registry.
12708 * Makefile.in: Update dependencies.
12709
98d2b17e
RH
127102002-03-14 Richard Henderson <rth@redhat.com>
12711
12712 PR target/5312
12713 * config/ia64/ia64.c: Include tm_p.h last.
12714 (gen_nop_type): Remove duplicate definition.
12715 (cycle_end_fill_slots): Set sched_data for second L slot.
12716 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
12717 (nop_cycles_until): Fix typos.
12718
f2f4927e
JJ
127192002-03-15 Jakub Jelinek <jakub@redhat.com>
12720
12721 PR optimization/5891
12722 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
12723
5025a549
DM
127242002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
12725
12726 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
12727 descriptors correctly.
12728
03e9dbc9
MM
127292002-03-14 Michael Meissner <meissner@redhat.com>
12730
12731 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
12732 100, allowing MAX_UNROLLED_INSNS to be overridden.
12733
12734 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
12735 --param.
12736
12737 * unroll.c (params.h): Include.
12738 (MAX_UNROLLED_INSNS): Delete, now in params.h.
12739
12740 * doc/invoke.texi (--param max-unroll-insns): Document.
12741
12742 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
12743
12249385
RE
127442002-03-14 Richard Earnshaw <rearnsha@arm.com>
12745
12746 * arm.md: Fix warnings about constraints in peepholes and splits.
12747
f0cce04a
ZW
127482002-03-14 Zack Weinberg <zack@codesourcery.com>
12749
12750 * cpphash.h (struct lexer_state): Remove line_extension member.
12751 * cpplib.c (dequote_string, do_linemarker): New functions.
12752 (linemarker_dir): New data object.
12753 (DIRECTIVE_TABLE): No longer need to interpret #line in
12754 preprocessed source. Delete obsolete comment about return
12755 values of handlers.
12756 (end_directive, directive_diagnostics, _cpp_handle_directive):
12757 Don't muck with line_extension.
12758 (directive_diagnostics): No need to issue warnings for
12759 linemarkers here.
12760 (_cpp_handle_directive): Issue warnings for linemarkers here,
12761 when appropriate. Dispatch linemarkers to do_linemarker, not
12762 do_line.
12763 (do_line): Code to handle linemarkers split out to do_linemarker.
12764 Convert escape sequences in filename argument, both places.
12765
12766 * cppmacro.c (quote_string): Rename cpp_quote_string and
12767 export. All callers changed.
12768 * cpplib.h (cpp_quote_string): Prototype.
12769 * cppmain.c (print_line): Call cpp_quote_string on to_file
12770 before printing it.
12771
12772 * doc/cpp.texi: Document that escapes are now interpreted in
12773 #line and in linemarkers, and that non-printing characters are
12774 converted to octal escapes when linemarkers are generated.
12775
12776Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
12777
12778 * emit-rtl.c (try_split): Use delete_insns.
12779 * recog.c (split_all_insns): Fix terminating condition.
12780
c882c7ac
RE
127812002-03-14 Richard Earnshaw <rearnsha@arm.com>
12782 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
12783
12784 PR target/5828
12785 * arm.c (arm_output_epilogue): Fix floating-point register save
12786 adjustment when using a frame pointer.
12787
3f26edaa
RS
127882002-03-14 Richard Sandiford <rsandifo@redhat.com>
12789
12790 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
12791 * config/mips/mips.c (compute_frame_size): Retrofit them here.
12792 (save_restore_insns, mips_expand_epilogue): And here.
12793 (build_mips16_call_stub): And here.
12794 (mips_function_value): Use the new macros to decide whether a single
12795 or complex float can be returned in floating-point registers. Return
12796 a parallel rtx in the complex case.
12797
1e3881c2
JH
12798Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
12799
12800 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
12801 call after liveness analysis.
12802
12803 * recog.c (split_insn): Use delete_insn_and_edges.
12804
12805 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
12806 instructions to have branch prediction notes.
12807 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
12808
200ef634
GK
128092002-03-14 Geoffrey Keating <geoffk@redhat.com>
12810
12811 * configure.in: Don't pass -Wno-long-long to a ADA compiler
12812 that doesn't support it.
12813 * configure: Regenerate.
12814
0b82d204
JJ
128152002-03-13 Jakub Jelinek <jakub@redhat.com>
12816
12817 PR target/5626
12818 * config/sparc/sparc.md (normal_branch, inverted_branch,
12819 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
12820 inverted_fp_branch): Adjust calls to output_cbranch.
12821 Set length attribute.
12822 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
12823 output_v9branch. Set length attribute.
12824 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
12825 predicates.
12826 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
12827 (output_cbranch): Likewise. Handle far branches.
12828 (output_v9branch): Handle far branches.
12829 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
12830 Adjust prototypes.
12831 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
12832 noov_compare64_op predicates.
12833
7a8de19b
JM
128342002-03-13 Jason Merrill <jason@redhat.com>
12835
12836 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
12837 into the function and constify it.
12838 * gthr-dce.h, gthr-solaris.h: Likewise.
12839
2a55fd42
DE
128402002-03-13 David Edelsohn <edelsohn@gnu.org>
12841
12842 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
12843 * config/rs6000/rs6000.c (rs6000_va_arg): Use
12844 std_expand_builtin_va_arg if not ABI_V4.
12845
19c5b1cf
JM
128462002-03-13 Jason Merrill <jason@redhat.com>
12847
12848 * varasm.c (globalize_decl): New fn.
12849 (assemble_start_function): Use it.
12850 (asm_emit_uninitialized): Use it.
12851 (assemble_alias): Use it.
12852 (assemble_variable): Use it.
12853
2a15f5e1
HPN
128542002-03-13 Hans-Peter Nilsson <hp@axis.com>
12855
12856 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 12857 2002-03-12 internal visibility change.
2a15f5e1
HPN
12858 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
12859 visibility into SYMBOL_REF_FLAG.
12860
c0a3eeac
UW
128612002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
12862
12863 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
12864 VOIDmode operand. Add compile-time optimization for constant results.
12865
a1652cee
JM
128662002-03-12 Jason Merrill <jason@redhat.com>
12867
12868 * c-typeck.c (convert_for_assignment): Don't allow conversions
12869 between pointers and references. Only allow lvalues to convert to
12870 reference.
12871
c52a375d
HP
128722002-03-13 Hartmut Penner <hpenner@de.ibm.com>
12873
f0cce04a
ZW
12874 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
12875 before prologue, to avoid scheduling problems.
c52a375d 12876
e387e99b
JJ
128772002-03-13 Jakub Jelinek <jakub@redhat.com>
12878
12879 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
12880 (ELIMINABLE_REGS): Add sfp->sp.
12881 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
12882
128832002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
12884
12885 PR optimization/5892
12886 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
12887
4061c1a3
JJ
128882002-03-13 Jakub Jelinek <jakub@redhat.com>
12889
12890 * loop.c (basic_induction_var): Don't call convert_modes if mode
12891 classes are different.
12892
5b43fed1
RH
128932002-03-12 Richard Henderson <rth@redhat.com>
12894
9f53e965
RH
12895 PR optimization/5901
12896 * function.c (reposition_prologue_and_epilogue_notes): Position
12897 the markers after/before the last/first insn not deleted.
12898
128992002-03-12 Richard Henderson <rth@redhat.com>
12900
12901 PR optimization/5878
5b43fed1
RH
12902 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
12903 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
12904 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
12905
12906 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
12907 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
12908 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
12909
12910 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
12911 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
12912 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
12913 also. Don't set it if not flag_pic.
12914 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
12915 to be INVALID_REGNUM when not used.
12916
4e9bb42b
AH
129172002-03-13 Aldy Hernandez <aldyh@redhat.com>
12918
5b43fed1
RH
12919 * expmed.c (store_bit_field): Reset alias set for memory.
12920 (extract_bit_field): Same.
4e9bb42b 12921
2f9834e8
KG
129222002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12923
12924 * c-common.c (c_tree_code_type, c_tree_code_length,
12925 c_tree_code_name, add_c_tree_codes): Delete.
12926 * c-common.h (add_c_tree_codes): Delete.
12927 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
12928 Define.
12929 * c-objc-common.c (c_objc_common_init): Don't call
12930 add_c_tree_codes, instead set lang_unsafe_for_reeval.
12931 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
12932 objc_tree_code_name, add_objc_tree_codes): Delete.
12933 (objc_init): Don't call add_objc_tree_codes.
12934 * objc/objc-lang.c (tree_code_type, tree_code_length,
12935 tree_code_name): Define.
12936 * toplev.c (lang_independent_init): Don't set
12937 tree_code_length[IDENTIFIER_NODE].
12938 * tree.c (tree_code_type, tree_code_length, tree_code_name):
12939 Delete definitions, moved to language front-ends.
12940 * tree.def (IDENTIFIER_NODE): Hardwire the length.
12941 * tree.h (tree_code_type, tree_code_length, tree_code_name):
12942 Const-ify.
12943 (tree_code_length): Change type to unsigned char.
12944
36ad2436
RH
129452002-03-12 Richard Henderson <rth@redhat.com>
12946
12947 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
12948 internal visibility change.
12949
0ae02efa
BW
129502002-03-12 Bob Wilson <bob.wilson@acm.org>
12951
12952 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
12953 validize_mem() instead of change_address to avoid clobbering
12954 memory attributes.
12955
35bb2bee
NB
129562002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
12957
12958 * c-lex.h (position_after_whitespace): Remove.
12959
62ae2529
JJ
129602002-03-12 Jakub Jelinek <jakub@redhat.com>
12961
12962 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
12963 (lex_string): Use unsigned char pointers.
12964
6a45951f
UW
129652002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
12966
12967 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
12968 is not a valid memory_operand.
12969
e2fb85da
BW
129702002-03-12 Bob Wilson <bob.wilson@acm.org>
12971
12972 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
12973 * config/xtensa/lib1funcs.asm: Fix copyright to include
12974 special case for libgcc files.
12975 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
12976 (__divsi3): Likewise.
12977 (__umodsi3): Likewise.
12978 (__modsi3): Likewise.
12979 * config/xtensa/lib2funcs.S: Fix copyright to include
12980 special case for libgcc files.
12981
5b8619f8
TR
129822002-03-12 Tom Rix <trix@redhat.com>
12983
12984 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 12985 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
12986 (ignore_library): Same.
12987
089c8f97
BW
129882002-03-12 Bob Wilson <bob.wilson@acm.org>
12989
12990 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
12991
958c70ff
BW
129922002-03-12 Bob Wilson <bob.wilson@acm.org>
12993
12994 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
12995 to function_section before writing out the constant pool.
12996
a65c591c
DE
129972002-03-12 David Edelsohn <edelsohn@gnu.org>
12998
12999 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
13000 zero_constant.
13001 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
13002
130032002-03-12 Alan Modra <amodra@bigpond.net.au>
13004
13005 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
13006 (adddi3): Likewise.
13007 (movdf): Likewise.
13008 (movdi): Likewise.
13009 (cmpsi splitter): Likewise.
13010 (modsi3): Fail if <= 0.
13011 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
13012 redundant test when HOST_BITS_PER_WIDE_INT != 32.
13013 (reg_or_sub_cint64_operand): Likewise.
13014 (num_insns_constant_wide): Optimize sign extension.
13015 (rs6000_legitimize_address): Likewise.
13016
17720332
AM
130172002-03-12 Andrew MacLeod <amacleod@redhat.com>
13018
13019 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
13020 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
13021
cd49f073
AM
130222002-03-12 Andrew MacLeod <amacleod@redhat.com>
13023
13024 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
13025 address calculation.
13026
6a4e49c1
UW
130272002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
13028
13029 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
13030 scratch register to DImode / TImode.
13031 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
13032 register used does not overlap the target.
13033
54b6670a
KG
130342002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13035
13036 * Makefile.in (debug.o): Depend on debug.h.
13037 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
13038 * debug.c (do_nothing_debug_hooks): Likewise.
13039 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
13040 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
13041 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
13042 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
13043 * dwarfout.c (dwarf_debug_hooks): Likewise.
13044 * integrate.c (output_inline_function): Likewise.
13045 * objc/objc-act.c (synth_module_prologue): Likewise.
13046 * sdbout.c (sdb_debug_hooks): Likewise.
13047 * toplev.c (debug_hooks): Likewise.
13048 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
13049
2465bf76
KG
130502002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13051
13052 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
13053 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
13054 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
13055 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
13056 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
13057 * defaults.h (POINTER_SIZE): Define.
13058 * doc/tm.texi (POINTER_SIZE): Document default.
13059
53f3e9ca
KG
130602002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13061
13062 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
13063
44d3eb5b
RH
130642002-03-11 Richard Henderson <rth@redhat.com>
13065
13066 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
13067 if rebuild_label_notes_after_reload.
13068
4a085d2e
HPN
130692002-03-12 Hans-Peter Nilsson <hp@axis.com>
13070
13071 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
13072 emit pic register load if "internal" visibility.
13073 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
13074 (cris_expand_builtin_va_arg): Do all computations on trees.
13075
bc204393
RH
130762002-03-11 Richard Henderson <rth@redhat.com>
13077
13078 * rtlanal.c: Include recog.h.
13079 (keep_with_call_p): Fix thinko.
13080 * Makefile.in (rtlanal.o): Update dependencies.
13081
6b8b9d7b
CM
130822002-03-11 Chris Meyer <cmeyer@gatan.com>
13083
13084 * genflags.c (gen_insn): Use IS_VSPACE.
13085 * genoutput.c (output_insn_data): Likewise.
13086 (process_template): Likewise.
13087
6c40858f
RH
130882002-03-11 Richard Henderson <rth@redhat.com>
13089
13090 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
13091
40adaa27
NB
130922002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
13093
13094 * Makefile.in: Update.
6c40858f 13095 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 13096 Update documentation.
6c40858f
RH
13097 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
13098 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 13099
049b03f4
ZW
131002002-03-11 Zack Weinberg <zack@codesourcery.com>
13101
13102 * Makefile.in: Give texi2pod its input file as a command line
13103 argument, not on stdin.
13104
61eece67
DN
131052002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
13106 Daniel Berlin <dan@dberlin.org>
13107
13108 C++ alias analysis improvement.
f0cce04a 13109 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
13110 classes too.
13111
a65c591c
DE
131122002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
13113
ff080aba
UW
13114 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
13115
1682dbb1
DR
131162002-03-11 Douglas B Rupp <rupp@gnat.com>
13117
fa2d765a
DR
13118 * toplev.c (vms_fopen): Remove, not needed.
13119
6f1fd286
DR
13120 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
13121
b230e057
DR
13122 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
13123
cb9a8e97
DR
13124 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
13125 for FP, already done later.
13126
1682dbb1
DR
13127 * toplev.c (debug_args): Add entry for VMS_DEBUG.
13128 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
13129
3fcaac1d
RS
131302002-03-11 Richard Sandiford <rsandifo@redhat.com>
13131
13132 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
13133 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
13134 LARGEST_EXPONENT_IS_NORMAL for the given mode.
13135 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
13136 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
13137 (ediv, emul, eldexp, esqrt): Likewise.
13138 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
13139 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
13140 (saturate): New function.
13141 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
13142 (make_nan): Use a saturation value instead of a NaN if
13143 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
13144 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
13145 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
13146 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
13147 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
13148 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
13149 !ROUND_TOWARDS_ZERO.
13150 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
13151 (ROUND_TOWARDS_ZERO): Document.
13152
d25558be
AJ
131532002-03-11 Andreas Jaeger <aj@suse.de>
13154
13155 * cfg.c (dump_flow_info): Remove unused variable.
13156
c71f9ae7
HPN
131572002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
13158
13159 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
13160 computations on trees.
13161
561c9153
RH
131622002-03-10 Richard Henderson <rth@redhat.com>
13163
932b4e3e 13164 PR 5693:
561c9153
RH
13165 * reload.c (copy_replacements_1): New.
13166 (copy_replacements): Use it to recurse through the rtx.
13167
26b738be
RH
131682002-03-10 Richard Henderson <rth@redhat.com>
13169
13170 * loop.c (strength_reduce): Compute number of iterations as
13171 unsigned HOST_WIDE_INT.
13172
8d8a083e
RH
131732002-03-10 Richard Henderson <rth@redhat.com>
13174
13175 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
13176 to move away from the end of the block.
13177
32810ba3
NB
131782002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
13179
13180 PR preprocessor/5899
13181 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 13182
2b03d201
KG
131832002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13184
f90c544c
KG
13185 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
13186
2b03d201
KG
13187 * attribs.c (decl_attributes): Fix signed/unsigned warning.
13188
3ec1b4cb
HPN
131892002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
13190
13191 * config/mmix/mmix.c: Improve comments.
13192 (mmix_target_asm_function_prologue): Drop variable
13193 empty_stack_frame. Don't allocate unused slot above fp.
13194 (mmix_target_asm_function_epilogue): Mirror prologue changes.
13195 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
13196 brace in first column.
13197 (enum reg_class): Ditto.
13198 (FIRST_PARM_OFFSET): Now 0.
13199 (USER_LABEL_PREFIX): Remove #if 0:d definition.
13200
27e486c5
KG
132012002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13202
13203 * combine.c (make_extraction): Fix error in last change.
13204
0139adca
KG
132052002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13206
13207 * c4x.c (c4x_fp_reglist): Const-ify.
13208 * cris.c (cris_print_operand): Likewise.
13209 * i386.c (ix86_va_arg): Likewise.
13210 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
13211 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
13212 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
13213 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
13214 * mcore.h (regno_reg_class): Likewise.
13215 * mips.c (gen_int_relational): Likewise.
13216 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
13217 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 13218 * pdp11.c (move_costs): Likewise.
0139adca
KG
13219 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
13220 * s390.c (s390_branch_condition_mnemonic, regclass_map):
13221 Likewise.
13222 * s390.h (regclass_map): Likewise.
13223 * sh.c (shift_amounts): Likewise.
a4334c36 13224 * sh.md (rotlsi3): Likewise.
0139adca 13225
889b90a1
GK
132262002-03-09 Geoffrey Keating <geoffk@redhat.com>
13227
13228 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
13229 (ne0+5): Use new clobber to generate proper shift pattern.
13230 Patch by Michael Matz <matz@kde.org>.
13231
2877e0ae
AS
132322002-03-09 Andreas Schwab <schwab@suse.de>
13233
13234 * gcc.c (validate_all_switches): Also handle `%W{...}'.
13235
79b51cd7
GK
132362002-03-09 Geoffrey Keating <geoffk@redhat.com>
13237
13238 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
13239
e0f1be5c
JJ
132402002-03-09 Jakub Jelinek <jakub@redhat.com>
13241
13242 PR middle-end/5877
13243 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
13244 even for non-representable constants.
13245
0a7ec763
RK
13246Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13247
93fe8e92
RK
13248 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
13249 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
13250 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
13251 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
13252 (pop_function_context): Compute MAY_SHARE parameter for
13253 fixup_var_refs.
13254 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
13255 (gen_mem_addressof): Call fixup_var_refs with new parm.
13256
0a7ec763
RK
13257 * combine.c (make_extraction): Don't make extension of CONST_INT.
13258
a85cd407
AO
132592002-03-09 Alexandre Oliva <aoliva@redhat.com>
13260
9445b814
AO
13261 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
13262 in o32 and o64 ABIs.
13263 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
13264 but getting fixed-size structs passed in registers regardless of
13265 padding in o32 and o64 ABIs.
13266
a85cd407
AO
13267 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
13268 offset before loading address of argument passed by transparent
13269 reference.
13270
c51fbe40
JDA
132712002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
13272
13273 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
13274
918e70dd
AO
132752002-03-09 Alexandre Oliva <aoliva@redhat.com>
13276
13277 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
13278 marker such that registers after it are saved.
13279
3070dd00
KG
132802002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13281
13282 * sparc.c (arith_4096_operand): Fix error in last change.
13283
e25d11b0
AO
132842002-03-08 Alexandre Oliva <aoliva@redhat.com>
13285
13286 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
13287 defaults for MEABI.
13288
41daaf0e
AH
132892002-03-08 Aldy Hernandez <aldyh@redhat.com>
13290
5b43fed1
RH
13291 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
13292 vectors.
41daaf0e 13293
fa139b00
AH
132942002-03-08 Aldy Hernandez <aldyh@redhat.com>
13295
5b43fed1 13296 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 13297
c51d95ec
JH
13298Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
13299
13300 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
13301 removed; fix return value.
13302 * combine.c (combine_instructions): Dirtify blocks where we failed to
13303 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
13304 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
13305
3b25fbfe
KG
133062002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13307
13308 * gcse.c (insert_insn_end_bb): Fix typo in last change.
13309
189ae0f4
JH
13310Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
13311
13312 * recog.c (peephole2_optimize): Re-distribute EH edges.
13313
24965e7a
NB
133142002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
13315
13316 * expr.c (expand_expr): Use unsave lang hook.
13317 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
13318 (LANG_HOOKS_INITIALIZER): Update.
13319 * langhooks.h (struct lang_hooks): New hook unsave.
13320 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
13321 (unsave_expr_1): Remove unused lang_unsave_expr_now.
13322 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
13323 (unsave_expr_now): Remove.
13324 * tree.h (unsave_expr_now, lang_unsave,
13325 lang_unsave_expr_now): Remove.
13326 (lhd_unsave): New.
13327
1e4e95d6
AJ
133282002-03-08 Andreas Jaeger <aj@suse.de>
13329
13330 * flow.c (propagate_block_delete_insn): Remove unused variable.
13331
054ef905
KH
133322002-03-08 Kazu Hirata <kazu@hxi.com>
13333
13334 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
13335 insn length for memory load/store.
13336
5304400d 133372002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 13338
5304400d
CR
13339 * doc/install.texi (--with-libiconv-prefix): Document.
13340
81034129
MB
133412002-03-08 Michael Y. Brukman <myb2@cornell.edu>
13342
13343 * doc/sourcebuild.texi: Fix typo.
13344
71db7d03
JJ
133452002-03-08 Jakub Jelinek <jakub@redhat.com>
13346
13347 PR c/3711
13348 * builtins.c (std_expand_builtin_va_arg): Do all computations on
13349 trees.
13350
127c1ba5
RK
13351Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13352
13353 * rtl.c (copy_most_rtx): Move from here ...
13354 * emit-rtl.c (copy_most_rtx): ... to here.
13355
8a13c092
AO
133562002-03-08 Alexandre Oliva <aoliva@redhat.com>
13357
5faae4f7
AO
13358 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
13359 SUBTARGET_CPP_SIZE_SPEC.
13360 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
13361
8a13c092
AO
13362 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
13363
4ec59de2
MH
133642002-03-07 Matt Hiller <hiller@redhat.com>
13365
13366 * gensupport.c (first_dir_md_include): Renamed from include;
13367 change all references.
13368 (last_dir_md_include): Renamed from last_include; change all
13369 references.
13370 (init_md_reader): Unconditionally initialize base_dir whether or
13371 not filename is a relative path.
13372
12f61e77
AO
133732002-03-07 Alexandre Oliva <aoliva@redhat.com>
13374
95356058
AO
13375 * config/fp-bit.c (_unord_f2): Compile it in even if
13376 US_SOFTWARE_GOFAST is enabled.
13377
12f61e77
AO
13378 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
13379 NULL_RTX. Set all HFmode operations as NULL_RTX.
13380 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
13381 NULL_RTX, try reversing the comparison and the operands.
13382
6d7a1c4c
UW
133832002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
13384
13385 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
13386 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
13387 and MATCH_OP_DUP.
13388
66d54344
JH
13389Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
13390
13391 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
13392
068473ec
JH
13393Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
13394
13395 * basic-block.h (fixup_abnormal_edges): Declare.
13396 * reload1.c (fixup_abnormal_edges): New function.
13397 * reg-stack.c (convert_regs): Use it.
13398
13399 * gcse.c (insert_insn_end_bb): Handle trapping insns.
13400
13401 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
13402
71925bc0
RS
134032002-03-07 Richard Sandiford <rsandifo@redhat.com>
13404
13405 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
13406 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
13407 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
13408 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
13409 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
13410 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
13411 unless x and y could be infinite.
13412 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
13413 Check that the common type of both arguments is a real, even for
13414 targets without unordered comparisons. Allow an integer argument
13415 to be compared against a real.
13416 (expand_tree_builtin): Use expand_unordered_cmp.
13417 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
13418 * cse.c (fold_rtx): Likewise. Fix indentation.
13419 * fold-const.c (fold_real_zero_addition_p): New.
13420 (fold): Use it, and the new HONOR_... macros.
13421 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
13422 * jump.c (reversed_comparison_code_parts): After searching for
13423 the true comparison mode, use HONOR_NANS to decide whether it
13424 can be safely reversed.
13425 (reverse_condition_maybe_unordered): Remove IEEE check.
13426 * simplify-rtx.c (simplify_binary_operation): Use the new macros
13427 to decide which simplifications are valid. Allow the following
13428 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
13429 and (a - -b) to (a + b).
13430 (simplify_relational_operation): Use HONOR_NANS.
13431 * doc/tm.texi: Document the MODE_HAS_... macros.
13432
145d3bf2
RE
134332002-03-07 Richard Earnshaw <rearnsha@arm.com>
13434
13435 * combine.c (simplify_comparison): If simplifying a logical shift
13436 right and compare with constant, force the comparison to unsigned.
13437
76a773f3
AH
134382002-03-07 Aldy Hernandez <aldyh@redhat.com>
13439
5b43fed1 13440 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 13441
5b43fed1
RH
13442 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
13443 -mabi=no-altivec
13444 (alt_reg_names): Remove % for vrsave.
76a773f3 13445
ab55f58c
RH
134462002-03-06 Richard Henderson <rth@redhat.com>
13447
5ddec02e 13448 PR optimization/5844
ab55f58c
RH
13449 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
13450 if used indicates we've already emitted one copy of an operand.
13451 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
13452 (gen_split): Supply a non-null used.
13453
e16e3291
UW
134542002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
13455
5b43fed1 13456 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 13457
1e4e95d6 13458 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
13459 but simply fail if the expression is too complex to simplify.
13460 (simplify_gen_binary): Handle simplify_plus_minus failures.
13461
2ca6672b
JH
13462Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
13463
13464 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
13465 consistently call delete_trivially_dead_insns after CSE and GCSE;
13466 fix DFI_life dumping; do jump threading after liveness; do crossjumping
13467 after liveness2; update comment in last crossjumping.
13468 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
13469
31d0dd4f
JL
13470Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
13471
d094b0b3
JL
13472 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
13473 after completing fast dead code elimination.
13474
31d0dd4f
JL
13475 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
13476 COMPARE operator.
1e4e95d6 13477
f2b958b1
PE
134782002-03-06 Phil Edwards <pme@gcc.gnu.org>
13479
13480 * version.c: Fix misplaced leading blanks on first line.
13481
a2877a09
JH
13482Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
13483
13484 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
13485
fe477d8b
JH
13486Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
13487
13488 * cfgcleanup.c (mentions_nonequal_regs): New function.
13489 (thread_jump): Use it.
13490 * toplev.c (rest_of_compilation): Run jump threading after
13491 liveness.
13492
2041cde4
JJ
134932002-03-06 Jakub Jelinek <jakub@redhat.com>
13494
13495 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
13496 patch.
13497
82d68d46
JH
13498Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
13499
13500 * predict.c (estimate_bb_frequencies): Do not reload the
13501 frequencies from notes.
13502
3dec4024
JH
13503Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
13504
13505 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
13506 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
13507
13508 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
13509 delete_noop_moves): Return indeger.
13510 * flow.c (ndead): New variable.
13511 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
13512 BB argument; update callers.
13513 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
13514 (life_analysis): Do not call purge_all_dead_edges.
13515 (update_life_info): Return number of deleted insns; print statistics.
13516 (update_life_info_in_dirty_blocks): likewise.
13517 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
13518 return number of insns deleted.
13519
13520 * cse.c: Include timevar.h
13521 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
13522 iterate until stabilizes; print statistics; return number of killed
13523 insns.
13524 * Makefile.in: (cse.o): Add timevar.h dependency
13525 * rtl.h (delete_trivially_dead_insns): New.
13526 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
13527 * toplev.c (rest_of_compilation): Update callers.
13528
13529 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
13530 (try_optimize_cfg): Do not update liveness.
13531 (cleanup-cfg): Loop until try_optimize_cfg and dead code
13532 removal stabilizes; use delete_trivially_dead_insns.
13533
13534 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
13535
c7544dd8
ZW
135362002-03-05 Zack Weinberg <zack@codesourcery.com>
13537
13538 * cppmain.c (setup_callbacks): Disable #pragma and #ident
13539 callbacks when processing assembly language.
13540
50b424a9
JDA
135412002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
13542
13543 * pa.h (ASM_FILE_END): Define.
13544 * som.h (ASM_FILE_END): Delete.
13545
13546 * pa.c (function_arg): Don't pass floats in general registers in
13547 indirect calls if TARGET_ELF32.
13548
6185f217
RH
135492002-03-05 Richard Henderson <rth@redhat.com>
13550
13551 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
13552
3020a4b2
DS
135532002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
13554
13555 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
13556
65649daa
JJ
135572002-03-05 Jakub Jelinek <jakub@redhat.com>
13558
13559 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
13560 -r command line. Don't hide any symbols if not building
13561 shared libgcc.
13562
5a1a3e5e
JH
13563Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
13564
13565 * cfg.c (dump_flow_info): Warn about profile mismatches.
13566 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
13567 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
13568
170c56da
JJ
135692002-03-05 Jakub Jelinek <jakub@redhat.com>
13570
13571 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
13572 wide volatile memory by parts.
13573
6d051694
JJ
135742002-03-05 Jakub Jelinek <jakub@redhat.com>
13575
13576 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
13577 is NULL.
13578
28bcfd4d
RH
135792002-03-05 Richard Henderson <rth@redhat.com>
13580
5b43fed1 13581 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 13582
75227a33
GK
135832002-03-04 Geoffrey Keating <geoffk@redhat.com>
13584
13585 * toplev.c (documented_lang_options): Document more
13586 language-specific options.
13587 * doc/invoke.texi (Warning Options): Correct documentation for
13588 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
13589 * c-decl.c (c_decode_option): Use a table to handle warning options.
13590
4f1aac42
HPN
135912002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
13592
13593 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
13594 parameter to mmix_encode_section_info.
13595 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
13596 relocatably. Always produce ELF, not mmo if linking relocatably.
13597 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
13598 first is non-zero, don't add symbol prefix.
13599 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
13600 prototype accordingly.
13601
12345543
KW
136022002-03-04 Krister Walfridsson <cato@df.lth.se>
13603
13604 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
13605
8e97db8f
JM
136062002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
13607
13608 * configure.in: Increase required makeinfo version to 4.1.
13609 * configure: Regenerate.
13610
06487868
GK
136112002-03-04 Geoffrey Keating <geoffk@redhat.com>
13612
13613 * .cvsignore: Remove *.info* and genrtl*; these files are generated
13614 elsewhere now.
13615
cff42170
JM
136162002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
13617
13618 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
13619 * doc/invoke.texi: Fix @math uses.
13620
974a7f56
JH
13621Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
13622
13623 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
13624 removal
13625
3b7d0e98
AH
136262002-03-03 Aldy Hernandez <aldyh@redhat.com>
13627
5b43fed1
RH
13628 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
13629 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 13630
5b43fed1 13631 * config/rs6000/t-ppcendian: New.
3b7d0e98 13632
65f2f288
HB
136332002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
13634
13635 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
13636 nonimmediate_src_operand and nonimmediate_lsrc_operand to
13637 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
13638
8ce0a8a5
RH
136392002-03-03 Richard Henderson <rth@redhat.com>
13640
13641 * toplev.c (rest_of_decl_compilation): Revert last two changes.
13642
ba31d94e
ZW
136432002-03-03 Zack Weinberg <zack@codesourcery.com>
13644
13645 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
13646 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
13647 tree.c, config/m68k/m68k.c:
13648 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
13649 REAL_ARITHMETIC blocks unconditional. Delete some further
13650 #ifdef blocks predicated on REAL_ARITHMETIC.
13651 * flags.h, toplev.c: Delete remaining references to
13652 flag_pretend_float.
13653
13654 * doc/invoke.texi: Remove documentation of -fpretend-float.
13655 * doc/tm.texi: Describe the various REAL_* macros as provided by
13656 real.h, not by the target configuration files.
13657
13658 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
13659 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
13660 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
13661 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
13662 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
13663 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
13664 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
13665 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
13666 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
13667 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
13668 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
13669 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
13670 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
13671 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
13672 config/xtensa/xtensa.h:
13673 Do not define, undefine, or mention in comments any of
13674 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
13675 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
13676 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
13677 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
13678 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
13679 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
13680 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
13681 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
13682 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
13683
9a571cfd
KG
136842002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13685
e81dd381
KG
13686 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
13687 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
13688 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
13689 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
13690 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
13691 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
13692 Delete.
13693 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 13694 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 13695
9a571cfd
KG
13696 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
13697 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
13698 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
13699
ca7558fc
KG
137002002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13701
13702 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
13703 lieu of explicit sizeof/sizeof.
13704 * i386.c (override_options, ix86_init_mmx_sse_builtins,
13705 ix86_expand_builtin): Likewise.
13706 * mips.c (mips_add_gc_roots): Likewise.
13707 * mmix.c (mmix_output_condition): Likewise.
13708 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
13709 altivec_init_builtins): Likewise.
13710 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
13711 * cppexp.c (Nsuff, parse_number): Likewise.
13712 * cppinit.c (builtin_array_end): Likewise.
13713 * gcc.c (n_default_compilers, process_command): Likewise.
13714 * genpreds.c (output_predicate_decls): Likewise.
13715 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
13716 * lcm.c (N_ENTITIES): Likewise.
13717 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 13718
41c78c88
RH
137192002-03-03 Richard Henderson <rth@redhat.com>
13720
13721 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
13722 for types or labels.
13723
9e9b71e6
RH
137242002-03-03 Richard Henderson <rth@redhat.com>
13725
13726 * c-decl.c (start_decl): Initialized variables are not common.
13727
c26a6db8
PB
137282002-03-02 Per Bothner <per@bothner.com>
13729
13730 * gcc.c (option_map): Suport new --bootclasspath option.
13731 --CLASSPATH is now just an alias for --classpath.
13732
9e8aab55
RH
137332002-03-02 Richard Henderson <rth@redhat.com>
13734
13735 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
13736 load if "internal" visibility.
13737 * doc/extend.texi: Document visibility meanings.
13738
b3bbd220
RH
137392002-03-02 Richard Henderson <rth@redhat.com>
13740
13741 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
13742 to functions as well.
13743
b14707c3
RH
137442002-03-02 Richard Henderson <rth@redhat.com>
13745
13746 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
13747 (handle_visibility_attribute): Don't call assemble_visibility.
13748 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
13749 without asmspec. Invoke assemble_alias when needed.
13750 * varasm.c (maybe_assemble_visibility): New.
13751 (assemble_start_function, assemble_variable, assemble_alias): Use it.
13752
b2003250
RH
137532002-03-02 Richard Henderson <rth@redhat.com>
13754
13755 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
13756 invoke ENCODE_SECTION_INFO with first call flag.
13757
13758 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
13759 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 13760 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
13761 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
13762 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
13763 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
13764 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
13765 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
13766 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
13767 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
13768 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
13769 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
13770 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
13771 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
13772 config/mcore/mcore-protos.h, config/mcore/mcore.c,
13773 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
13774 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 13775 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
13776 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
13777 config/sh/sh.h, config/sparc/sparc.h,
13778 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
13779 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
13780 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
13781 FIRST argument. As needed, examine it and do nothing.
13782
ba31d94e 13783 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
13784 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
13785 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
13786
13787 * config/arm/t-pe (pe.o): Add dependencies.
13788
5c60f03d
KG
137892002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13790
13791 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
13792 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
13793 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
13794 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
13795 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
13796 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
13797 * defaults.h (BITS_PER_UNIT): Define.
13798 * doc/tm.texi (BITS_PER_UNIT): Document default value.
13799
86855e8c
KH
138002002-03-02 Kazu Hirata <kazu@hxi.com>
13801
13802 * config/h8300/h8300-protos.h: Add a prototype for
13803 compute_a_shift_length.
13804 * config/h8300/h8300.c (h8300_asm_insn_count): New.
13805 (compute_a_shift_length): Likewise.
13806 (h8300_adjust_insn_length): Do not adjust insn length of shift
13807 insns.
13808 * config/h8300/h8300.md (anonymous shift patterns): Use
13809 compute_a_shift_length.
13810
f6041ed8
RK
13811Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13812
35aa3c1c
RK
13813 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
13814 trunc_int_for_mode.
13815
f6041ed8
RK
13816 * emit-rtl.c (offset_address): Call update_temp_slot_address.
13817
27b41650
KG
138182002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13819
13820 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
13821 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
13822 * flags.h (flag_zero_initialized_in_bss): Declare.
13823 * toplev.c (flag_zero_initialized_in_bss): New flag.
13824 (lang_independent_options): Add flag_zero_initialized_in_bss.
13825 * tree.c (initializer_zerop): New function.
13826 * tree.h (initializer_zerop): Declare.
13827 * varasm.c (assemble_variable): If we can emit bss, put zero
13828 initializers in the bss section.
13829
ca734b39
AM
138302002-03-02 Alan Modra <amodra@bigpond.net.au>
13831
13832 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
13833 like more than one symbol per .weak directive.
13834
49b72306
RH
138352002-03-01 Richard Henderson <rth@redhat.com>
13836
13837 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
13838 adjust argument_pointer by pretend_args_size.
13839 (ia64_va_start): Adjust va_start address by -pretend_args_size.
13840
fbf0fe41
KH
138412002-03-01 Kazu Hirata <kazu@hxi.com>
13842
13843 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
13844
0010687d
JH
13845Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
13846
13847 * toplev.c (rest_of_compilation): Delete dead jumptables before
13848 loop.
13849 * flow.c (delete_dead_jumptables): Make global.
13850 * rtl.h (delete_dead_jumptables): Declare.
13851
9429c84c
DE
138522002-03-01 David Edelsohn <edelsohn@gnu.org>
13853
13854 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
13855 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 13856 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 13857
f0b6f9a6
KH
138582002-03-01 Kazu Hirata <kazu@hxi.com>
13859
13860 * config/h8300/h8300-protos.h: Fix formatting.
13861 * config/h8300/h8300.c: Likewise.
13862 * config/h8300/h8300.h: Likewise.
13863
bc8db8a1
KH
138642002-03-01 Kazu Hirata <kazu@hxi.com>
13865
13866 * config/h8300/h8300.c (print_operand): Support 16-bit
13867 constant addresses.
13868 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
13869
32b069d3
RH
138702002-02-28 Richard Henderson <rth@redhat.com>
13871
13872 * expmed.c (store_bit_field): Prevent generation of CONCATs;
13873 pun complex values as integers; use gen_lowpart instead of
13874 gen_rtx_SUBREG.
13875 (extract_bit_field): Likewise.
13876
79c4e63f
AM
138772002-03-01 Alan Modra <amodra@bigpond.net.au>
13878 David Edelsohn <edelsohn@gnu.org>
13879
13880 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
13881 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
13882 (SUPPORTS_WEAK): Likewise.
13883 * output.h (add_weak): Add tree param.
13884 * varasm.c (add_weak): Likewise. Save decl.
13885 (struct weak_syms): Add decl field.
13886 (mark_weak_decls): New function.
13887 (init_varasm_once): ggc_add_root mark_weak_decls.
13888 (assemble_start_function): Use ASM_WEAKEN_DECL.
13889 (assemble_variable): Likewise.
13890 (assemble_alias): Likewise.
13891 (declare_weak): Pass decl to add_weak.
13892 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
13893 (remove_from_pending_weak_list): Declare and define for
13894 ASM_WEAKEN_DECL.
13895 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
13896 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
13897 * defaults.h (SUPPORTS_WEAK): Likewise.
13898 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
13899 .weak for code sym. Do emit .size for descriptor sym.
13900 (ASM_DECLARE_FUNCTION_SIZE): Define.
13901 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
13902 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
13903 .lglobl unless TARGET_XCOFF. Formatting fixes.
13904 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
13905 .weak for code sym.
13906 (HANDLE_PRAGMA_WEAK): Remove.
13907 (ASM_WEAKEN_LABEL): Remove.
13908 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
13909
6f30f1f1
JM
139102002-03-01 Jason Merrill <jason@redhat.com>
13911
13912 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
13913 (TARGET_EXPR_CLEANUP): New macro.
13914
7879b81e
SE
139152002-02-28 Steve Ellcey <sje@cup.hp.com>
13916
13917 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
13918 to take ptr_extend into account as third type of extension.
13919 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
13920 fields used by SUBREG_PROMOTED_UNSIGNED_P.
13921 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
13922 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
13923 * calls.c (precompute_arguments): Use new macro.
13924 (expand_call): Ditto.
13925 * combine.c (nonzero_bits): Ditto.
13926 (record_promoted_value): Ditto.
13927 * expr.c (store_expr): Ditto.
13928 (expand_expr): Ditto.
13929 * function.c (assign_parms): Ditto.
13930
42d579d8
AO
139312002-02-28 Alexandre Oliva <aoliva@redhat.com>
13932
13933 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
13934 override -shared and -shared-libgcc.
13935
e0054185
DB
139362002-02-28 David O'Brien <obrien@FreeBSD.org>
13937
13938 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
13939 of "ultrasparc".
13940 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
13941 to be broken.
13942
abda4f1c
RH
139432002-02-28 Richard Henderson <rth@redhat.com>
13944
13945 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
13946 4 cycle latency from MM producers.
13947 (ia64_internal_sched_reorder): Likewise with pipeline flush.
13948
c0f08649
JJ
139492002-02-28 Jakub Jelinek <jakub@redhat.com>
13950
13951 * mklibgcc.in: Don't use GNU make extension.
13952
f79f2651
NB
139532002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
13954
13955 * c-parse.in (STATIC): New terminal.
13956 (scspec): New non-terminal. Update productions accordingly.
13957 (program): Remove bogus ifc / end ifc.
13958 (array_declarator): Simplify production using STATIC.
13959
001e3fee
JM
139602002-02-28 Jim Meyering <meyering@lucent.com>
13961
13962 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
13963 \a still means TARGET_BELL.
13964
89076bb3
RH
139652002-02-28 Richard Henderson <rth@redhat.com>
13966
13967 * haifa-sched.c (sched_emit_insn): New.
13968 (schedule_block): Use last_scheduled_insn to track last insn.
13969 * sched-int.h (sched_emit_insn): Prototype.
13970 * config/ia64/ia64.c (last_issued): Remove.
13971 (ia64_variable_issue): Don't set it.
13972 (nop_cycles_until): Use sched_emit_insn.
13973
e3aaacf4
AM
139742002-02-28 Andrew MacLeod <amacleod@redhat.com>
13975
13976 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
13977 extended constants.
13978
7f473594
KH
139792002-02-28 Kazu Hirata <kazu@hxi.com>
13980
13981 * config/h8300/h8300.c: Fix formatting.
13982 * config/h8300/h8300.h: Likewise.
13983
b96c434c
MM
139842002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
13985
13986 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
13987 which may overwrite the high byte of the frame pointer.
13988
9b420a6a
BT
139892002-02-28 Bo Thorsen <bo@suse.de>
13990
13991 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
13992 (STARTFILE_SPEC): Add 64 bit files.
13993 (ENDFILE_SPEC): Likewise.
13994
6f30f1f1 139952002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
13996
13997 * c-decl.c (finish_function): Only warn about missing return
13998 statement with -Wreturn-type.
13999
70da1d03
JH
14000Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
14001
14002 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
14003
14004 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
14005 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
14006
38c1593d
JH
14007Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
14008
14009 * basic-block.h (BB_REACHABLE): Renumber.
14010 (BB_DIRTY, BB_NEW): New flags.
14011 (clear_bb_flags): Declare.
14012 (update_life_info_in_dirty_blocks): Declare.
14013 * cfg.c (clear_bb_flags): New function.
14014 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
14015 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
14016 reorder_insns, emit_insn_after): Mark block as dirty.
14017 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
14018 (update_life_info_in_dirty_blocks): New function.
14019 * recog.c (apply_change_group): Dirtify block.
14020
14021 * cse.c (cse_insn): Reorder emitting of jump insn to keep
14022 cfg consistent.
14023 * gcse.c (delete_null_pointer_checks): Likewise.
14024
14025 * toplev.c (dump_file_index): Move cse2 after bp,
14026 add DFI_null
14027 (dump_file_info): Similary.
14028 (rest_of_compilation): Avoid most of CFG rebuilds;
14029 do first if converision after null pointer checks, do cse2
14030 after branch prediction; avoid full liveness rebuild after
14031 initializing subregs.
14032 * invoke.texi (-d options): Document -du, renumber.
14033
14034 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
14035 (notice_new_block): Do not set BB_UPDATE_LIFE.
14036 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
14037 merge_blocks_move_successor_nojumps, merge_blocks,
14038 try_crossjump_to_edge): Likewise.
14039 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
14040 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
14041 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
14042 (merge_of_block): Do not use life_data_ok.
14043 (find_if_case_1): Do not use SET_UPDATE_LIFE.
14044 (if_convert): Use BB_DIRTY mechanizm to update life.
14045 * lcm.c (optimize_mode_switching): Update
14046 update_life_info_in_dirty_blocks
14047
63e1b1c4
NB
140482002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
14049
14050 * Makefile.in (integrate.o): Update.
14051 * c-decl.c (copy_lang_decl): Rename.
14052 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
14053 * integrate.c: Include langhooks.h.
14054 (copy_decl_for_inlining): Update to use langhook.
14055 * langhooks-def.h (lhd_do_nothing_t,
14056 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
14057 (LANG_HOOKS_INITIALIZER): Update.
14058 * langhooks.c (lhd_do_nothing_t): New.
14059 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
14060 * tree.h (copy_lang_decl): Remove.
14061objc:
14062 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
14063
f472fa29
AM
140642002-02-27 Andrew MacLeod <amacleod@redhat.com>
14065
ba31d94e 14066 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
14067 POST_DEC, and POST_MODIFY.
14068
273cf2e4
ZW
140692002-02-27 Zack Weinberg <zack@codesourcery.com>
14070
14071 * c-typeck.c (digest_init): Remove unused parameter; all
14072 callers changed.
14073
4e07d762
GK
140742002-02-27 Geoffrey Keating <geoffk@redhat.com>
14075
14076 * expmed.c (expand_shift): Correctly test for low part of a
14077 subreg.
14078
6bc627b3
UW
140792002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
14080
14081 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
14082 insn UIDs with insn addresses.
14083
f458d1d5
ZW
140842002-02-27 Zack Weinberg <zack@codesourcery.com>
14085
14086 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
14087 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
14088 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
14089 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
14090 gcc.c, toplev.c: Delete code implementing -traditional mode.
14091
14092 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
14093 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
14094 Document removal of -traditional mode for compilation, and
14095 remove documentation only relevant to that mode.
14096
14097 * config/nextstep.h, config/ptx4.h, config/svr4.h,
14098 config/convex/convex.h, config/d30v/d30v.h,
14099 config/i386/dgux.h, config/i386/osf1elf.h,
14100 config/i386/osfelf.h, config/i386/osfrose.h,
14101 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
14102 config/m68k/hp310.h, config/m88k/dgux.h,
14103 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
14104 config/m88k/m88k.h, config/m88k/openbsd.h,
14105 config/mips/abi64.h, config/mips/osfrose.h,
14106 config/mips/svr4-5.h, config/mips/svr4-t.h,
14107 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
14108 config/stormy16/stormy16.h: Remove all references to
14109 -traditional from target specs. Delete all mention of the
14110 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
14111 delete a couple of commented-out definitions of
14112 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
14113 to -traditional.
14114
14115 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
14116 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
14117
e0b3a8ff
ZW
141182002-02-27 Zack Weinberg <zack@codesourcery.com>
14119
14120 * mklibgcc.in: Don't use \n in a line subject to
14121 interpretation by echo.
14122
5c6a85b7
GS
141232002-02-27 Graham Stott <grahams@redhat.com>
14124
72b05af1
GS
14125 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
14126 Constify NAME.
14127
7d104885
GS
14128 * loop.c (prescan_loop): Handle PARALLEL.
14129
8ed805d2
GS
14130 * unroll.c (loop_iterations): Return 0 if the add_val for
14131 a BIV is REG.
14132
fd478a0a
GS
14133 * final.c (output_operand_lossage): Constify PFX_STR.
14134
5c6a85b7
GS
14135 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
14136
cd98ad03
JH
14137Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
14138
14139 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
14140 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
14141
639ae55b
JH
14142Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
14143
14144 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
14145
e808ec9c
NB
141462002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
14147
14148 * cpplex.c (_cpp_lex_token): Handle directives in macro
14149 arguments.
14150 * cpplib.c (_cpp_handle_directive): Save and restore state
14151 if parsing macro args when entering a directive.
14152 * cppmacro.c (collect_args): No need to handle directives
14153 in macro arguments.
14154 (enter_macro_context, replace_args): Use the original macro
14155 definition in case it was redefined whilst collecting arguments.
14156doc:
14157 * cpp.texi: Update.
14158
f585a356
DE
141592002-02-26 David Edelsohn <edelsohn@gnu.org>
14160
14161 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
14162 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
14163 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
14164 method on AIX.
14165 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
14166 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
14167 (load_toc_v4_PIC_2): Same.
14168
141692002-02-26 Alan Modra <amodra@bigpond.net.au>
14170
14171 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
14172
d699058e
RH
141732002-02-26 Richard Henderson <rth@redhat.com>
14174
14175 * config/alpha/alpha.md (ashldi_se): Re-enable.
14176
eadccfbb
RH
141772002-02-26 Richard Henderson <rth@redhat.com>
14178
14179 * config/alpha/alpha.c (alpha_encode_section_info): Examine
14180 MODULE_LOCAL_P; improve commentary.
14181
7080ada1
ZW
141822002-02-26 Zack Weinberg <zack@codesourcery.com>
14183
14184 * doc/cpp.texi: Clarify documentation of relationship between
14185 #line and #include.
14186
b42cff6b
KH
141872002-02-26 Kazu Hirata <kazu@hxi.com>
14188
14189 * config/h8300/h8300-protos.h: Update the prototype for
14190 compute_logical_op_length. Add the prototype for
14191 compute_logical_op_cc.
14192 * config/h8300/h8300.c (compute_logical_op_length): Figure out
14193 code from operands.
14194 (compute_logical_op_cc): New.
14195 * config/h8300/h8300.md: Combine all the logical op patterns
14196 in HImode and SImode. Use compute_logical_op_cc.
14197
831c4e87
KC
141982002-02-26 Kelley Cook <kelleycook@comcast.net>
14199
14200 * config/i386/i386.c (print_operand): Don't append ATT-style
14201 length suffixs to x87 opcodes when in Intel mode.
14202
ff88fe10
RS
142032002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
14204
14205 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
14206 (init_emit_once): Update calls.
14207 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
14208 (init_syntax_once): Prototype.
14209
d4108589
JDA
142102002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
14211
14212 * pa-linux.h (LIB_SPEC): Update definition.
14213 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
14214
e013f3c7
RH
142152002-02-26 Richard Henderson <rth@redhat.com>
14216
14217 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
14218 if we emitted a stop bit.
14219
9e944a16
JJ
142202002-02-26 Jakub Jelinek <jakub@redhat.com>
14221
14222 * configure.in (libgcc_visibility): Substitute.
14223 * configure: Rebuilt.
14224 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
14225 defined symbols .hidden.
14226
47bd70b5
JJ
142272002-02-26 Jakub Jelinek <jakub@redhat.com>
14228
14229 * attribs.c (c_common_attribute_table): Add visibility.
14230 (handle_visibility_attribute): New function.
14231 * varasm.c (assemble_visibility): New function.
14232 * output.h (assemble_visibility): Add prototype.
14233 * tree.h (MODULE_LOCAL_P): Define.
14234 * crtstuff.c (__dso_handle): Use visibility attribute.
14235 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
14236 for MODULE_LOCAL_P symbols too.
14237 * config/ia64/ia64.c (ia64_encode_section_info): Handle
14238 MODULE_LOCAL_P symbols the same way as local symbols.
14239 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
14240 into .sdata/.sbss by the user.
14241 * doc/extend.texi (Function Attributes): Document visibility
14242 attribute.
14243
6d73371a
JJ
142442002-02-26 Jakub Jelinek <jakub@redhat.com>
14245
14246 PR debug/5770
14247 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
14248 STRING_CST initializer spanning the whole variable without
14249 embedded zeros.
14250 If expand_expr returned MEM, don't use it.
14251
06e224f7
AO
142522002-02-26 Alexandre Oliva <aoliva@redhat.com>
14253
14254 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
14255 generate a die for the lexical block.
14256
40367e2d
KH
142572002-02-26 Kazu Hirata <kazu@hxi.com>
14258
14259 * config/h8300/h8300-protos.h: Add a prototype for
14260 compute_logical_op_length.
14261 * config/h8300/h8300.c (compute_logical_op_length): New.
14262 * config/h8300/h8300.md (anonymous logical patterns): Use
14263 compute_logical_op_length for length.
14264
0e98f924
AH
142652002-02-26 Aldy Hernandez <aldyh@redhat.com>
14266
831c4e87
KC
14267 * dwarf2out.c (modified_type_die): Do not call type_main_variant
14268 for vectors.
14269 (gen_type_die): Same.
0e98f924 14270
831c4e87 14271 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 14272
a50cfd52
DE
142732002-02-26 Daniel Egger <degger@fhm.edu>
14274
831c4e87
KC
14275 * config/rs6000/rs6000.md: Swap define_insn attributes to
14276 fix incorrect generation of merge high instructions instead
14277 of merge low.
a50cfd52 14278
b7997284
AH
142792002-02-26 Aldy Hernandez <aldyh@redhat.com>
14280
831c4e87
KC
14281 * c-typeck.c (really_start_incremental_init): Use
14282 bitsize_zero_node for vectors.
b7997284 14283
376aec5d
AH
142842002-02-26 Aldy Hernandez <aldyh@redhat.com>
14285
831c4e87
KC
14286 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
14287 ("*set_vrsave_internal"): Same.
376aec5d 14288
3b40e71b
RH
142892002-02-25 Richard Henderson <rth@redhat.com>
14290
14291 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
14292 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
14293
232b8f52
JJ
142942002-02-25 Jakub Jelinek <jakub@redhat.com>
14295
14296 PR target/5755
14297 * config/i386/i386.c (ix86_return_pops_args): Only pop
14298 fake structure return argument if it was passed on the stack.
14299
67282790
JM
143002002-02-25 Jason Merrill <jason@redhat.com>
14301
14302 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
14303 RESULT_DECL.
14304
5c181756
AO
143052002-02-25 Alexandre Oliva <aoliva@redhat.com>
14306
14307 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
14308 link with shared_name only.
14309 * doc/invoke.texi (Link Options): Document new behavior.
14310
6786d201
AH
143112002-02-25 Aldy Hernandez <aldyh@redhat.com>
14312
831c4e87 14313 * c-typeck.c (push_init_level): Handle vectors.
6786d201 14314
7d6040e8
AO
143152002-02-25 Alexandre Oliva <aoliva@redhat.com>
14316
14317 * config/sparc/sparc.c (const64_high_operand): Zero-extend
14318 operands of SPARC_SETHI_P.
14319 (input_operand): Likewise.
14320 (sparc_emit_set_const32): Likewise.
14321 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
14322 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
14323 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
14324 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
14325 (movdi_insn_sp64_vis): Likewise.
14326 (movdi split, movdf split): Use SETHI32.
14327 * doc/md.texi: Document SPARC constraints L, M and N.
14328
b188f760
AH
143292002-02-25 Aldy Hernandez <aldyh@redhat.com>
14330
831c4e87
KC
14331 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
14332 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 14333
831c4e87
KC
14334 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
14335 gen_get_vrsave_internal.
b188f760 14336
8041889f
RK
14337Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14338
14339 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
14340
a47ed310
NB
143412002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
14342
14343 * cpplex.c (cpp_interpret_charconst): Get signedness or
14344 otherwise of wide character constants correct.
14345 * cppexp.c (lex): Get signedness of wide charconsts correct.
14346
cb8f73be
RK
14347Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14348
14349 * optabs.c (widen_operand): Only call convert_modes for
14350 promoted SUBREG if signedness matches.
14351 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
14352
2450e0b8
NB
143532002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
14354
14355 * cpplib.c (glue_header_name): Use local buffer to build up
14356 header name.
14357
70b6aaed
NB
143582002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
14359
14360 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
14361
6be580c7
KH
143622002-02-23 Kazu Hirata <kazu@hxi.com>
14363
14364 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
14365 H8/300[HS] separately.
14366 * config/h8300/h8300.md: Remove the early clobber constraint
14367 from bit field patterns.
14368
35dad9f1
KH
143692002-02-23 Kazu Hirata <kazu@hxi.com>
14370
14371 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
14372 register_operand.
14373 (mulhisi3): Likewise.
14374 (umulqisi3): Likewise.
14375 (umulhisi3): Likewise.
14376
ab8e2228
NB
143772002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
14378
14379 * cppinit.c (output_deps): Correct test for stdout output.
14380 (init_dependency_output): Cure warning.
14381
ac6f8a15
RK
14382Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14383
14384 * expr.c (store_expr): When converting expression to promoted
14385 equivalent type, allow using SUBREG_REG of TARGET as the target
14386 of the expansion of EXP.
14387 * loop.c (basic_induction_var, case SUBREG): Always look inside.
14388 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
14389 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
14390 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
14391 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
14392
f282ffb3
JM
143932002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
14394
14395 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
14396 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
14397 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
14398
44c5edc0
JJ
143992002-02-23 Jakub Jelinek <jakub@redhat.com>
14400
14401 PR optimization/5747
14402 * loop.c (scan_loop): Update reg info if move_movables created new
14403 pseudos.
14404
f98e43c0
DE
144052002-02-23 David Edelsohn <edelsohn@gnu.org>
14406
14407 * gcc.c (init_gcc_spec): Revert last change.
14408
e72247f4
DE
144092002-02-23 David Edelsohn <edelsohn@gnu.org>
14410
14411 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
14412 gpc_reg_operand constraint.
14413
144142002-02-23 Alan Modra <amodra@bigpond.net.au>
14415
14416 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
14417 Simplify comparison of `low'.
14418 (add_operand): Fix formatting.
14419 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 14420 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
14421 (rs6000_stack_info): Remove redundant test setting push_p.
14422 (output_toc): Fix formatting.
14423 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
14424 cc_reg_not_cr0_operand constraint.
14425 (booldi3, boolcdi3 splitters): Same.
14426
a5c30531
AH
144272002-02-23 Aldy Hernandez <aldyh@redhat.com>
14428
831c4e87 14429 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 14430
43710f9f
DE
144312002-02-22 David Edelsohn <edelsohn@gnu.org>
14432
14433 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
14434 gcc invoked with -shared-libgcc.
14435
3256b817
JJ
144362002-02-22 Jakub Jelinek <jakub@redhat.com>
14437
14438 PR c++/5748
14439 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
14440 decl if any of elements was TREE_USED.
14441
9e0625a3
AO
144422002-02-22 Alexandre Oliva <aoliva@redhat.com>
14443
14444 * config/sparc/sol2.h: Don't include sys/mman.h.
14445 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
14446 (arith_4096_operand): Don't throw high bits away.
14447 (const64_operand): Take sign extension of CONST_INTs into account.
14448 (const64_high_operand, sparc_emit_set_const32): Likewise.
14449 (GEN_HIGHINT64): Likewise.
14450 (sparc_emit_set_const64_quick1): Likewise.
14451 (const64_is_2insns): Likewise.
14452 (print_operand): Use trunc_int_for_mode for sign extension.
14453 * config/sparc/sparc.h (SMALL_INT32): Likewise.
14454 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
14455 chars. Assume CONST_INT is already properly sign-extended.
14456 (movdi split): Sign-extend each SImode part.
14457 (andsi3 split): Don't mask high bits off, so that result
14458 remains properly sign-extend.
14459 (iorsi3 split): Likewise.
14460 (xorsi3 split): Likewise.
14461
54fec3d5
RS
144622002-02-22 Richard Sandiford <rsandifo@redhat.com>
14463
14464 * fold-const.c (fold): Fix typo in comments.
14465
667ada9b
DN
144662002-02-21 Diego Novillo <dnovillo@redhat.com>
14467
14468 * Makefile.in (langhooks.o): Update dependencies.
14469
29ac78d5
DN
144702002-02-21 Diego Novillo <dnovillo@redhat.com>
14471
14472 * langhooks.c: Include flags.h.
14473
6aa77e6c
AH
144742002-02-21 Aldy Hernandez <aldyh@redhat.com>
14475
14476 * testsuite/gcc.dg/attr-alwaysinline.c: New.
14477
14478 * c-common.c (c_common_post_options): Set inline trees by
14479 default.
14480
14481 * doc/extend.texi (Function Attributes): Document always_inline
14482 attribute.
14483 Update documentation about inlining when not optimizing.
14484
14485 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
14486
14487 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
14488 unless DECL_ALWAYS_INLINE.
14489
14490 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
14491 unless DECL_ALWAYS_INLINE.
14492 (c_disregard_inline_limits): Disregard if always_inline set.
14493
14494 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
14495 Disregard if always_inline set.
14496 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
14497 unless DECL_ALWAYS_INLINE.
14498
14499 * attribs.c (handle_always_inline_attribute): New.
14500 (c_common_attribute_table): Add always_inline.
14501
14502 * config/rs6000/altivec.h: Add prototypes for builtins
14503 requiring the always_inline attribute.
14504
c410d49e
EC
145052002-02-21 Eric Christopher <echristo@redhat.com>
14506
14507 * expmed.c (store_bit_field): Try to simplify the subreg
14508 before generating a new one when when the mode size of
14509 value is less than maxmode.
14510
e3c8ea67
RH
145112002-02-21 Richard Henderson <rth@redhat.com>
14512
14513 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
14514 than gen_rtx_PLUS to form the sum.
14515 * explow.c (force_reg): Rearrange to not allocate new pseudo
14516 when force_operand returns a register.
14517 * expr.c (expand_assignment): Allow offset_rtx expansion to
14518 return a sum. Do not force addresses into registers.
14519 (expand_expr): Likewise.
14520 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
14521 to canonicalize arithmetic that didn't simpify.
14522 (simplify_plus_minus): New argument force; update
14523 all callers. Don't split CONST unless we can do something with it,
14524 and wouldn't lose the constness of the operands.
14525
14526 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
14527 that we generated earlier.
14528
c1a046e5
TT
145292002-02-21 Tom Tromey <tromey@redhat.com>
14530
14531 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
14532 (output_line_info): Use constant `1', with a long explanatory
14533 comment.
14534 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
14535
31fbaad4
R
14536Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
14537
14538 * jump.c (redirect_jump): If old label has no UID, don't try to
14539 delete it.
14540
a7f52356
R
14541Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
14542
14543 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
14544 If input is constant, do shifts at compile time.
14545
924fcc4e
JM
145462002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
14547
14548 * doc/extend.texi: Fix some more overfull hboxes.
14549
e5a20888
JJ
145502002-02-21 Jakub Jelinek <jakub@redhat.com>
14551
14552 PR optimization/4994
14553 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
14554 register moves.
14555
145562002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
14557
14558 PR c++/4574
14559 * expr.h (expand_and): Add mode argument.
14560 * expmed.c (expand_and): Add mode argument.
14561 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
14562 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
14563 * except.c (expand_builtin_extract_return_addr): Likewise.
14564 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
14565 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
14566 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
14567 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
14568 * config/c4x/c4x.md: Use GEN_INT (x) instead of
14569 gen_rtx (CONST_INT, VOIDmode, x).
14570
7133e992
JJ
145712002-02-21 Jakub Jelinek <jakub@redhat.com>
14572
14573 PR c/4697:
14574 * stmt.c (warn_if_unused_value): Move side effects test once more.
14575
e2ec05a6
TG
145762002-02-20 Torbjorn Granlund <tege@swox.com>
14577
14578 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 14579 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 14580
9dd791c8
AO
14581Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
14582
14583 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
14584 SUBREG or ZERO_EXTEND.
14585
7ab56274
R
14586Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
14587
14588 * sh.h (current_function_anonymous_args): Remove.
14589 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
14590 of current_function_varargs and current_function_stdarg is set.
14591 * sh.c (sh_expand_prologue): Check current_function_varargs /
14592 current_function_stdarg / TARGET_SH5 instead of
14593 current_function_anonymous_args.
14594
14595 * sh64.h (TARGET_VERSION): Define.
14596
b1765bde
DE
145972002-02-20 David Edelsohn <edelsohn@gnu.org>
14598
14599 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
14600 VRSAVE_REGNO on TARGET_ALTIVEC.
14601
146022002-02-20 Alan Modra <amodra@bigpond.net.au>
14603
14604 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
14605 bits of SImode const_int.
14606 (includes_rshift_p): Likewise.
14607 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 14608 mode.
b1765bde
DE
14609 (rs6000_output_function_epilogue): Pad traceback table to word.
14610 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
14611 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
14612 mask64_operand with correct mode.
b1765bde
DE
14613 (FUNCTION_ARG_REGNO_P): Correct parentheses.
14614
149d6f9e
JJ
146152002-02-20 Jakub Jelinek <jakub@redhat.com>
14616
14617 PR debug/4461
14618 * varasm.c (get_pool_constant_mark): New.
14619 * rtl.h (get_pool_constant_mark): Add prototype.
14620 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
14621 be represented if it has not been output.
14622
4161da12
AO
146232002-02-20 Alexandre Oliva <aoliva@redhat.com>
14624
14625 * combine.c (do_SUBST): Sanity check substitutions of
14626 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
14627 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
14628 CONST_INT into its operand.
14629 (known_cond): Likewise, for ZERO_EXTEND.
14630 * simplify-rtx.c (simplify_unary_operation): Fix condition to
14631 allow for simplification of wide modes. Reject CONST_INTs in
14632 ZERO_EXTEND when their actual mode is not given.
14633
3704ef74
AO
146342002-02-20 Alexandre Oliva <aoliva@redhat.com>
14635
14636 * c-decl.c (pushdecl): If no global declaration is found for an
14637 extern declaration in block scope, try a limbo one.
14638
7552da58
JJ
146392002-02-20 Jakub Jelinek <jakub@redhat.com>
14640
14641 PR c++/4401
14642 * c-common.c (pointer_int_sum): Moved from...
14643 * c-typeck.c (pointer_int_sum): ...here.
14644 * c-common.h (pointer_int_sum): Add prototype.
14645
00fae85d
JJ
146462002-02-20 Jakub Jelinek <jakub@redhat.com>
14647
14648 PR c++/5713
14649 * c-decl.c (duplicate_decls): Return 0 if issued error about
14650 redeclaration.
14651
4636c87e
JJ
146522002-02-20 Roger Sayle <roger@eyesopen.com>
14653 Jakub Jelinek <jakub@redhat.com>
14654
14655 PR c/4389
14656 * tree.c (host_integerp): Ensure that the constant integer is
14657 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
14658 when pos is zero or non-zero respectively. Clarify comment.
14659 * c-format.c (check_format_info_recurse): Fix host_integerp
14660 usage; the pos argument should be zero when assigning to a
14661 signed HOST_WIDE_INT.
14662
59bef189
RH
146632002-02-20 Richard Henderson <rth@redhat.com>
14664
14665 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
14666 of the operand, rather than assuming TImode.
14667 (ix86_expand_binop_builtin): Cope with commutative patterns
14668 using nonimmediate_operand for both operands.
14669 (ix86_expand_timode_binop_builtin): Likewise.
14670 (ix86_expand_store_builtin): Validate operand 1.
14671 (ix86_expand_unop1_builtin): Likewise.
14672
9338ffe6 146732002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 14674
9338ffe6
PB
14675 PR 5705
14676 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
14677
f322b423
RH
146782002-02-20 Richard Henderson <rth@redhat.com>
14679
14680 PR c/5615
14681 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
14682
d94084f7
TT
146832002-02-20 Tom Tromey <tromey@redhat.com>
14684
14685 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
14686 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
14687 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
14688 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
14689 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
14690 unconditionally.
14691
37fa124a
AM
14692Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
14693
14694 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
14695 for (const_int 0) in X not just INTVAL.
14696
6e5bb5ad
JM
146972002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
14698
14699 * doc/extend.texi: Avoid or reduce overfull hboxes.
14700
420e7dfa
DN
147012002-02-20 Diego Novillo <dnovillo@redhat.com>
14702
14703 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
14704 operations if the field does not start at a mode boundary.
14705
1b7a2af6
JS
147062001-02-20 Joel Sherrill <joel@OARcorp.com>
14707
14708 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
14709 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
14710 Also done for -Acpu and -Amachine.
14711
56cd5b95
NB
147122002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
14713
14714 * cppinit.c (init_dependency_output): Take deps output file
14715 from -o if none given with -MF. Suppress normal output.
c410d49e 14716 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
14717 * doc/cpp.texi, doc/invoke.texi: Update.
14718
042cdf71
ZW
147192002-02-19 Zack Weinberg <zack@codesourcery.com>
14720
14721 * toplev.c (output_quoted_string): Write unprintable
14722 characters with octal escapes.
14723
c1f11548
DE
147242002-02-19 David Edelsohn <edelsohn@gnu.org>
14725
14726 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
14727 really_call_used[VRSAVE_REGNO] if not Altivec.
14728
147292002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 14730
c1f11548
DE
14731 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
14732 MODE_MASK.
14733 (constant_pool_expr_1): Fix formatting.
14734 (rs6000_legitimize_reload_address): Likewise.
14735
c964d90e
RK
14736Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14737
14738 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
14739 now that we have one.
14740
ae34ac46
ZW
147412002-02-19 Zack Weinberg <zack@codesourcery.com>
14742
14743 * tree.h (struct tree_common): Remove aux. Add unused_0 at
14744 end of first block of bitfields (which was only seven bits);
14745 rename dummy to unused_1; remove comment which is no longer true.
14746
293c28ee
GS
147472002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
14748
14749 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
14750
7b8781c8
PB
147512002-02-19 Philip Blundell <pb@nexus.co.uk>
14752
0cb6c58d 14753 PR 5399
7b8781c8
PB
14754 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
14755 if generating PIC.
14756
14757 PR 5054
14758 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
14759 arm_is_longcall_p rather than inspecting call-type cookie
14760 directly.
14761 (call_value_insn) [TARGET_THUMB]: Likewise.
14762
5c464583
GS
147632002-02-19 Graham Stott <grahams@redhat.com>
14764
14765 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
14766
71c061e6
DE
147672002-02-19 David Edelsohn <edelsohn@gnu.org>
14768
14769 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
14770 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 14771 (FP_SAVE_INLINE): Delete.
71c061e6
DE
14772
14773 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
14774 * config/rs6000/eabi.asm: Remove ABI save restore routines.
14775 * config/rs6000/t-ppccomm: Build crtsavres.o.
14776 * config/rs6000/crtsavres.asm: New file.
14777
3a7731fd
PB
147782002-02-19 Philip Blundell <philb@gnu.org>
14779
14780 * config/arm/arm.c (use_return_insn): Don't reject interrupt
14781 functions.
14782 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
14783 (output_return_instruction): Allow interrupt functions to return with
14784 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
14785 (arm_expand_prologue): Subtract 4 before stacking LR in an
14786 interrupt function.
14787
14f583b8
PB
147882002-02-19 Philip Blundell <pb@nexus.co.uk>
14789
14790 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
14791 decl, not just FUNCTION_DECL.
14792 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
14793 (arm_assemble_integer): Likewise.
14794 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
14795 marked local.
c410d49e 14796
4cb7482c
MG
147972002-02-19 matthew green <mrg@eterna.com.au>
14798
14799 * config.gcc (sparc-*-netbsdelf*): Enable target.
14800 (sparc64-*-netbsd*): New target.
14801 * config/sparc/netbsd-elf.h: New file.
14802 * config/sparc/t-netbsd64: New file.
14803
2df3a718
GS
148042002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
14805
14806 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
14807
77f6c1eb
RS
148082002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
14809
14810 * doc/invoke.texi: explicitly list the style guidelines that
14811 -Weffc++ checks for.
14812
fd973d56
JH
14813Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
14814
14815 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
14816
30518e45
NB
148172002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
14818
14819 PR other/5718
14820 * gcc.c (cpp_unique_options): Treat -o as indicating object file
14821 only if not -E. If -E, pass -o through to the preprocessor.
14822
39ea5704
KH
148232002-02-19 Kazu Hirata <kazu@hxi.com>
14824
14825 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
14826 register number with an appropriate macro.
14827
7355dba7
BM
148282002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
14829
14830 * doc/rtl.texi (Constants): Close @code tag.
14831
91c8aa9e
AH
148322002-02-19 Aldy Hernandez <aldyh@redhat.com>
14833
14834 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
14835 ("mmx_uavgv4hi3"): Same.
14836 ("pmulhrwv4hi3"): Same.
14837
14838 * tree-inline.c (walk_tree): Handle vectors.
14839
14840 * c-common.c (constant_expression_warning): Handle vectors.
14841 (overflow_warning): Same.
14842
14843 * sched-deps.c (sched_analyze_2): Handle vectors.
14844
14845 * rtlanal.c (rtx_unstable_p): Handle vectors.
14846 (rtx_varies_p): Same.
14847 (count_occurrences): Same.
14848 (regs_set_between_p): Same.
14849 (modified_between_p): Same.
14850 (modified_in_p): Same.
14851 (volatile_insn_p): Same.
14852 (volatile_refs_p): Same.
14853 (side_effects_p): Same.
14854 (may_trap_p): Same.
14855 (inequality_comparisons_p): Same.
14856 (replace_regs): Same.
14857 (computed_jump_p_1): Same.
14858
14859 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
14860 argument.
14861 (inner_mode_array): New.
14862 (copy_rtx): Handle vectors.
14863 (copy_most_rtx): Same.
14864 (rtx_equal_p): Same.
14865 (get_mode_alignment): Adjust for vectors.
14866
14867 * resource.c (mark_referenced_resources): Handle vectors.
14868 (mark_set_resources): Same.
14869
14870 * reload1.c (eliminate_regs): Handle vectors.
14871 (elimination_effects): Same.
14872 (scan_paradoxical_subregs): Same.
14873
14874 * reload.c (subst_reg_equivs): Handle vectors.
14875
14876 * regrename.c (scan_rtx): Handle vectors.
14877
14878 * regclass.c (reg_scan_mark_refs): Handle vectors.
14879
14880 * recog.c (find_single_use_1): Handle vectors.
14881
14882 * local-alloc.c (equiv_init_varies_p): Handle vectors.
14883 (contains_replace_regs): Same.
14884 (memref_referenced_p): Same.
14885
14886 * integrate.c (copy_rtx_and_substitute): Handle vectors.
14887 (subst_constants): Same.
14888
14889 * genattrtab.c (attr_copy_rtx): Handle vectors.
14890 (encode_units_mask): Same.
14891 (clear_struct_flag): Same.
14892 (count_sub_rtxs): Same.
14893
14894 * gcse.c (want_to_gcse_p): Handle vectors.
14895 (oprs_unchanged_p): Same.
14896 (hash_expr_1): Same.
14897 (oprs_not_set_p): Same.
14898 (expr_killed_p): Same.
14899 (compute_transp): Same.
14900 (store_ops_ok): Same.
14901
14902 * function.c (purge_addressof_1): Do not allow paradoxical subregs
14903 of vectors.
14904 (fixup_var_refs_1): Same.
14905 (instantiate_virtual_regs_1): Same.
14906
14907 * fold-const.c (operand_equal_p): Handle vectors.
14908 (fold): Same.
14909 (rtl_expr_nonnegative_p): Same.
14910
14911 * flow.c (mark_used_regs): Handle vectors.
14912
14913 * df.c (df_uses_record): Handle vectors.
14914
14915 * cselib.c (cselib_subst_to_values): Handle vectors.
14916 (cselib_mem_conflict_p): Same.
14917 (hash_rtx): Same.
14918
14919 * cse.c (canon_reg): Handle vectors.
14920 (fold_rt): Same.
14921 (cse_process_notes): Same.
14922 (count_reg_usage): Same.
14923 (canon_hash): Same.
14924
14925 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
14926
14927 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
14928
14929 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
14930 (gen_rtx): Handle CONST_VECTOR.
14931 (gen_const_vector_0): New.
14932 (copy_rtx_if_shared): CONST_VECTORs can be shared.
14933 (reset_used_flags): Same.
14934 (copy_insn_1): Same.
14935 (initializer_constant_valid_p): Handle VECTOR_CST.
14936
14937 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
14938
14939 * doc/rtl.texi (Constants): Document const_vector.
14940 (CONST0_RTX): Update for vectors.
14941 (RTL sharing): Same.
14942
14943 * print-tree.c (print_node): Add case for VECTOR_CST.
14944
14945 * tree.h (TREE_VECTOR_CST_ELTS): New.
14946 (struct tree_vector): New.
14947 (union tree_node): Add vector node.
14948 (build_vector): Add prototype.
14949
14950 * tree.def (VECTOR_CST): New.
14951
14952 * tree.c (build_vector): New.
14953
14954 * expmed.c (make_tree): Handle CONST_VECTOR.
14955
14956 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
14957 (CONST_VECTOR_ELT): New.
14958 (CONST_VECTOR_NUNITS): New.
14959
14960 * machmode.h (GET_MODE_INNER): New.
14961 (DEF_MACHMODE): Accept 8th arg.
14962
14963 * machmode.def: Add 8th argument for vector inner mode.
14964 Add inner vector modes for vectors.
14965
14966 * rtl.def (VEC_CONST): Remove.
14967 (CONST_VECTOR): New.
14968
14969 * expr.c (clear_storage): Allow vectors.
14970 (is_zeros_p): Handle VECTOR_CST.
14971
14972 * varasm.c (output_constant_pool): Handle vectors.
14973 (rtx_const): Add veclo and vechi fields.
14974 (kind): Add RTX_VECTOR.
14975 (decode_rtx_const): Add case for vector.
14976
14977 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 14978
91c8aa9e
AH
14979 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
14980 constants. Force easy vector constants into memory.
14981 (easy_vector_constant): New.
14982 (emit_easy_vector_constant): New.
14983 (rs6000_legitimize_reload_address): Do not generate bad reloads on
14984 darwin.
14985
14986 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
14987 instruction does.
14988 ("altivec_lvxl"): Same.
14989 (altivec_lvebx): Same.
14990 (altivec_lvehx): Same.
14991 (altivec_lvewx): Same.
14992 ("*movv4si_const0"): New.
14993 ("*movv4sf_const0"): New.
14994 ("*movv8hi_const0"): New.
14995 ("*movv16qi_const0"): New.
14996
d4d6d0ce
KH
149972002-02-18 Kazu Hirata <kazu@hxi.com>
14998
14999 * config/h8300/h8300.c (notice_update_cc): Use
15000 cc_status.value2.
15001
4915d3aa
KH
150022002-02-18 Kazu Hirata <kazu@hxi.com>
15003
15004 * config/h8300/h8300.md (divmod patterns): Change the
15005 constraints for operands[1] to register_operand.
15006
82be00ee
KH
150072002-02-18 Kazu Hirata <kazu@hxi.com>
15008
15009 * config/h8300/h8300-protos.h: Remove the prototype for
15010 p_operand.
15011 * config/h8300/h8300.c (p_operand): Remove.
15012 * config/h8300/h8300.md: Replace p_operand with
15013 const_int_operand.
15014
1768c26f
PB
150152002-02-18 Philip Blundell <pb@nexus.co.uk>
15016
15017 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
15018 comment.
15019 (output_return_instruction): Allow use of LDR to unstack
15020 return addresss even for interrupt handlers or when
15021 interworking. If compiling for ARMv5, use interworking-safe
15022 return instructions by default. Remove duplicated code and
15023 lengthy "strcat" sequences.
15024
ccd84f51
FS
150252002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15026
15027 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
15028 (LINK_EH_SPEC): Define.
15029 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
15030
2c153108
UW
150312002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
15032
15033 * config/s390/s390.c (s390_emit_prologue): Do not set the
15034 frame_related flag for call-clobbered registers.
15035
e95d6b23
JH
15036Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
15037
15038 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
15039 (construct_container): Fix handling of SSE operands.
15040 (ix86_expand_builtin): Fix handling of 64bit pointers.
15041 (mmx_maskmovq_rex): New pattern.
15042
c43a12b5
JH
15043Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
15044
15045 * regrename.c (kill_set_value): Handle subregs properly.
15046
aeb85a15
DB
150472002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
15048
15049 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 15050 from objc_class_name.
aeb85a15 15051
a615ca3e
RH
150522002-02-17 Richard Henderson <rth@redhat.com>
15053
15054 * config/alpha/alpha.c (some_small_symbolic_operand,
15055 some_small_symbolic_operand_1, split_small_symbolic_operand,
15056 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
15057 Handle small SYMBOL_REFs anywhere, not just inside memories.
15058 * config/alpha/alpha-protos.h: Update.
15059 * config/alpha/alpha.h (PREDICATE_CODES): Update.
15060 * config/alpha/alpha.md (small symbolic operand splitter): Update.
15061
ddb28441
RM
150622002-02-17 Roland McGrath <roland@frob.com>
15063
15064 * config.gcc (powerpc-*-gnu-gnualtivec*,
15065 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
15066 * config/rs6000/gnu.h: New file.
15067 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
15068 Grok "gnu" in rs6000_abi_name.
15069 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
15070 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
15071 Grok -mcall-gnu analogous to -mcall-linux et al.
15072 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
15073 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
15074 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
15075
f6f8ada3
JJ
150762002-02-17 Jakub Jelinek <jakub@redhat.com>
15077
15078 PR c/3444:
15079 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
15080 shortening.
15081
e16b32fc
PT
150822002-02-17 Philipp Thomas <pthomas@suse.de>
15083
15084 * config/cris/cris.h: Undefine STARTFILE_SPEC and
15085 ENDFILE_SPEC before (re)defining them.
15086
f9477efd
KH
150872002-02-17 Kazu Hirata <kazu@hxi.com>
15088
15089 * config/h8300/h8300.c: Fix formatting.
15090 * config/h8300/h8300.h: Likewise.
15091
404ae494
PT
150922002-02-17 Philipp Thomas <pthomas@suse.de>
15093
15094 * doc/tm.texi: Explain why empty strings should not be
15095 marked for translation.
15096
a52453cc
PT
150972002-02-17 Philipp Thomas <pthomas@suse.de>
15098
15099 * final.c (output_operand_lossage): Changed to accept
15100 printf style arguments. Change calls where necessary.
15101 * output.h (output_operand_lossage): Change declaration
15102 accordingly. Update copyright.
15103 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
15104 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
15105 Update copyright date where necessary.
c410d49e 15106
a52453cc
PT
15107 * config/i386/i386.c (print_operand): Likewise. Remove use of
15108 sprintf.
15109
15110 * config/cris/cris.c (cris_operand_lossage): Likewise.
15111 Rename parameter so that exgettext recognizes it as
15112 translatable message.
15113 (LOSE_AND_RETURN): Rename parameter to msgid.
15114
1c11abc4
KH
151152002-02-17 Kazu Hirata <kazu@hxi.com>
15116
15117 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
15118 hard coded register number with an appropriate macro.
15119 (HARD_REGNO_MODE_OK): Likewise.
15120 (ARG_POINTER_REGNUM): Likewise.
15121 (STATIC_CHAIN_REGNUM): Likewise.
15122 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
15123 * config/h8300/h8300.md (define_constants): Define more
15124 register numbers.
15125
a5d17ff3
PT
151262002-02-17 Philipp Thomas <pthomas@suse.de>
15127
15128 * config/i386/i386.h: Don't mark empty strings for translation.
15129
1a7289c4
L
151302002-02-16 H.J. Lu <hjl@gnu.org>
15131
15132 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
15133
afb58288
ZW
151342002-02-16 Zack Weinberg <zack@codesourcery.com>
15135
15136 * cppinit.c (merge_include_chains): Check for brack being
15137 NULL before attempting to merge it with qtail.
15138
d2af4dbd
AC
151392002-02-16 Andrew Cagney <ac131313@redhat.com>
15140
15141 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
15142 DBX_DEBUG.
15143
2e1ed1e3
JDA
151442002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
15145
15146 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
15147
604c75b2
JDA
151482002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
15149
15150 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
15151 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
15152 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
15153
1a42b072
RK
15154Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15155
7303604f 15156 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
15157 now only if !TARGET_FIX.
15158 (*movsi_nt_vms_fix): New pattern.
15159
c2ea1ac6
DR
151602002-02-16 Douglas B Rupp <rupp@gnat.com>
15161
15162 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
15163 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
15164 (alpha_sa_mask, alpha_sa_size): Reflect above change.
15165 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
15166 (alpha_start_function, alpha_expand_epilogue): Likewise.
15167 (unicosmk_gen_dsib): Likewise.
15168
725e58b1
RK
15169Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15170
15171 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
15172
13e58269
UW
151732002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
15174
c410d49e 15175 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
15176 check_and_change_labels, s390_final_chunkify): Delete.
15177 (s390_split_branches, s390_chunkify_pool): New functions.
15178 (s390_function_prologue): Call them.
c410d49e 15179
13e58269
UW
15180 * config/s390/s390.h (S390_REL_MAX): Delete.
15181 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
15182
c410d49e 15183 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
15184 attribute calculation.
15185
15186
34d1b01d
DE
151872002-02-15 David Edelsohn <edelsohn@gnu.org>
15188
15189 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
15190 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
15191
be5cc51a
JDA
151922002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
15193
15194 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
15195 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
15196 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
15197
ee96ce90
RS
151982002-02-15 Richard Sandiford <rsandifo@redhat.com>
15199
15200 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
15201
05fa709d
RS
152022002-02-15 Richard Sandiford <rsandifo@redhat.com>
15203
15204 * reload.c (find_dummy_reload): Check that an output register
15205 is valid for its mode.
15206
4606272b
AO
152072002-02-14 Alexandre Oliva <aoliva@redhat.com>
15208
9a360704
AO
15209 * combine.c (known_cond): After replacing the REG of a SUBREG, try
15210 to simplify it.
15211
4606272b
AO
15212 * function.c (assign_parms): Demote promoted argument passed by
15213 transparent reference.
15214
e62d89a1
JS
152152001-02-14 Joel Sherrill <joel@OARcorp.com>
15216
15217 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
15218 -Acpu() and -Amachine() to eliminate warnings.
15219
6c4cf695
UW
152202002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
15221
15222 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
15223
037f11ef
KH
152242002-02-14 Kazu Hirata <kazu@hxi.com>
15225
15226 * config/h8300/h8300-protos.h: Update the prototype for
15227 const_costs.
15228 * config/h8300/h8300.c (const_costs): Treat SET as a little
15229 more expensive operation.
15230 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
15231 reference to const_costs.
15232
fdc76b09
HPN
152332002-02-14 Hans-Peter Nilsson <hp@axis.com>
15234
15235 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
15236
d76e6800
JJ
152372002-02-14 Jakub Jelinek <jakub@redhat.com>
15238
15239 PR c/5503:
15240 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
15241 use arguments from newtype.
15242
5ae590d7
EC
152432002-02-13 Eric Christopher <echristo@redhat.com>
15244
15245 * config/mips/mips.c (override_options): Add check for march/mipsX
15246 on the same command line. Fix error message in cpu processing.
15247 Remove architecture and ISA checks.
15248
b8513691
AH
152492002-02-14 Aldy Hernandez <aldyh@redhat.com>
15250
831c4e87 15251 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 15252
831c4e87 15253 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 15254
78c875e8
AH
152552002-02-14 Aldy Hernandez <aldyh@redhat.com>
15256
831c4e87
KC
15257 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
15258 alternatives.
15259 ("*movv8hi_internal1"): Same.
15260 ("*movv16qi_internal1"): Same.
15261 ("*movv4sf_internal1"): Same.
78c875e8 15262
831c4e87
KC
15263 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
15264 not push_reload for altivec modes.
78c875e8 15265
d76e6800 152662002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
15267
15268 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
15269 all RTEMS targets including removal of #includes from config/*/rtems*.h
15270 file and adding them to tm_file setting. Added xm_defines=POSIX to
15271 many targets.
15272 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
15273 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
15274 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
15275 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
15276 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
15277 config/m68k/rtemself.h: Ditto.
15278 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
15279 config/mips/rtems64.h: Ditto.
15280 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
15281 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
15282 Ditto.
15283 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
15284 config/sparc/rtemself.h: Ditto.
15285 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
15286 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
15287 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
15288 more like arm-elf.
15289 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
15290 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
15291 target made more similar to i386-elf.
15292 * config/i386/t-rtems-i386: Added soft float support and multilibs.
15293 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
15294 be similar to config/m68k/t-m68kelf.
15295 * gthr-rtems.h: Encapsulate with extern "C" for C++.
15296
8686336f
JH
15297Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
15298
15299 * regmove.c (kill_value): Handle subregs.
15300
558740bf
JH
15301Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
15302
15303 * i386.md (mul patterns): Allow memory operand to be first;
15304 add expanders where needed; fix constraints.
15305 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
15306 Allow memory operand to be the first.
15307
15308 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
15309 operands.
15310
21117a17
JJ
153112002-02-13 Jakub Jelinek <jakub@redhat.com>
15312
15313 PR c/5681:
15314 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
15315 GET_MODE (x).
15316
ec65b2e3
JJ
153172002-02-13 Jakub Jelinek <jakub@redhat.com>
15318
15319 PR optimization/5547:
15320 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
15321 all valid IA-32 address modes involving non-scaled %ebx and
15322 GOT/GOTOFF as displacement.
15323
ce50cae8
UW
153242002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
15325
15326 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
15327 after emitting ltorg insns.
15328
15329 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
15330 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
15331 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
15332 *abssf2): Fix "op_type" attribute.
15333
09eb789b
DR
153342002-02-13 Douglas B Rupp <rupp@gnat.com>
15335
2dbe67bb
DR
15336 * mkconfig.sh: Avoid using a subshell redirect.
15337 ($output.T): Change to $(output)T.
15338 (ENABLE_NLS): Remove unneeded undef.
15339
ea5b9a1f
DR
15340 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
15341 * config/alpha/x-vms (libsubdir): Define.
15342
3deb00ce
DR
15343 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
15344 register frame procedures. Optimize retrieving context.
15345
09eb789b
DR
15346 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
15347 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
15348 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
15349
1abade85
RK
15350Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15351
15352 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
15353 Make same change as for find_base_value.
15354
c283e63f
KH
153552002-02-13 Kazu Hirata <kazu@hxi.com>
15356
15357 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
15358 of QImode and SImode.
15359
86039100
KH
153602002-02-13 Kazu Hirata <kazu@hxi.com>
15361
15362 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
15363 length computation of movsi.
15364 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
15365
e1429da0
KH
153662002-02-13 Kazu Hirata <kazu@hxi.com>
15367
15368 * config/h8300/h8300.md (subqi3): Tighten the predicate for
15369 operands[2] to register_operand.
15370
aebfea10
JH
15371Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
15372
15373 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
15374
0ec4e2a8
AH
153752002-02-12 Aldy Hernandez <aldyh@redhat.com>
15376
831c4e87
KC
15377 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
15378 for altivec_lvx* and altivec_stvx*.
15379 ("*movv4si_internal"): Add constraint for loading from GPRs.
15380 ("*movv8hi_internal1"): Same.
15381 ("*movv16qi_internal1"): Same.
15382 ("*movv4sf_internal1"): Same.
0ec4e2a8 15383
831c4e87 15384 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 15385
831c4e87
KC
15386 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
15387 altivec_register_operand.
0ec4e2a8 15388
b007569d
HPN
153892002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
15390
15391 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
15392 handle SYMBOL_REF.
15393
e6834654
SS
153942002-02-13 Stan Shebs <shebs@apple.com>
15395
831c4e87
KC
15396 * c-typeck.c (digest_init): Handle vectors.
15397 (really_start_incremental_init): Same.
15398 (pop_init_level): Same.
15399 (process_init_element): Same.
e6834654 15400
831c4e87 15401 * varasm.c (output_constant): Same.
e6834654 15402
831c4e87
KC
15403 * expr.c (clear_storage): Same.
15404 (store_constructor): Same.
e6834654 15405
d9b3eb63
EC
154062002-02-12 Eric Christopher <echristo@redhat.com>
15407
15408 * explow.c (hard_function_value): Add comment explaining
15409 signed/unsigned comparison.
15410
56d44285
JJ
154112002-02-12 Jakub Jelinek <jakub@redhat.com>
15412
15413 * jump.c (never_reached_warning): Add finish argument.
15414 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
15415 real insn after end.
15416 * rtl.h (never_reached_warning): Adjust prototype.
15417 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
15418 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
15419 never_reached_warning.
15420
fc209487
GS
154212002-02-12 Graham Stott <grahams@redhat.com>
15422
15423 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
15424
1e41e866
KH
154252002-02-12 Kazu Hirata <kazu@hxi.com>
15426
15427 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
15428 logical shifts on H8/300.
15429 (shift_alg_si): Improve several shifts on H8/300.
15430 (get_shift_alg): Likewise.
15431
a36a47ad
GS
154322002-02-12 Graham Stott <grahams@redhat.com>
15433
15434 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
15435
0aacc8ed
RK
15436Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15437
15438 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
15439 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
15440
a02ac966
HPN
154412002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
15442
15443 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
15444 non-CONST_INT through default_assemble_integer.
15445 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
15446 <case 8>: Abort for CONST_DOUBLE.
15447
d6e06ddc
JDA
154482002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
15449
15450 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
15451 is specified.
15452 * config/pa/pa-linux.h (LIB_SPEC): Delete.
15453 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
15454
515342a8
AH
154552002-02-11 Andrew Haley <aph@cambridge.redhat.com>
15456
15457 * config/stormy16/stormy16.md (zero_extendqihi2): New.
15458
cddd8b72
AO
154592002-02-11 Alexandre Oliva <aoliva@redhat.com>
15460
66df7a98
AO
15461 * regrename.c (regrename_optimize): Don't accept a
15462 part-clobbered register if the replaced register is not part
15463 clobbered.
15464
841404cd
AO
15465 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
15466 take padding into account when computing the argument value.
15467
1d1ade42
AO
15468 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
15469
cddd8b72
AO
15470 * combine.c (try_combine): Apply substitutions in
15471 CALL_INSN_FUNCTION_USAGE too.
15472
5c665b88
AH
154732002-02-11 Aldy Hernandez <aldyh@redhat.com>
15474
77f6c1eb
RS
15475 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
15476 __builtin_altivec_abs*.
15477 (bdesc_abs): New.
5c665b88 15478
77f6c1eb
RS
15479 * config/rs6000/rs6000.h (rs6000_builtins): Add
15480 ALTIVEC_BUILTIN_ABS*.
5c665b88 15481
77f6c1eb
RS
15482 * config/rs6000/altivec.h: Use const char for builtins expecting
15483 literals.
15484 (vec_abs): New versions for C and C++.
15485 (vec_abss): Same.
5c665b88 15486
3494f1b4
KH
154872002-02-10 Kazu Hirata <kazu@hxi.com>
15488
15489 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
15490 using Pmode.
15491
72431aef
KH
154922002-02-10 Kazu Hirata <kazu@hxi.com>
15493
15494 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
15495 constant definition from h8300.md.
15496 (FRAME_POINTER_REGNUM): Likewise.
15497 * config/h8300/h8300.md (define_constants): Add FP_REG.
15498
87e4ee91
KH
154992002-02-10 Kazu Hirata <kazu@hxi.com>
15500
15501 * config/h8300/h8300.c (print_operand): Remove redundant code.
15502
9c188705
KH
155032002-02-10 Kazu Hirata <kazu@hxi.com>
15504
15505 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
15506 * config/h8300/h8300.c (byte_reg): Make it static.
15507
fba78abb
RH
155082002-02-10 Richard Henderson <rth@redhat.com>
15509
15510 PR c/5623
15511 * c-typeck.c (incomplete_type_error): Handle flexible array members.
15512
65739e62
RH
155132002-02-10 Richard Henderson <rth@redhat.com>
15514
15515 PR c++/5624
15516 * tree.c (append_random_chars): Don't abort if main_input_filename
15517 does not exist.
15518
247cb9df
HPN
155192002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
15520
15521 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
15522
232bd029
KH
155232002-02-10 Kazu Hirata <kazu@hxi.com>
15524
65739e62 15525 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
15526 (pushhi1): Likewise.
15527
276ef573
JDA
155282002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
15529
15530 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
15531 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
15532
617e9ee5
DB
155332002-02-09 David O'Brien <obrien@FreeBSD.org>
15534
15535 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
15536 remove MASK_VIS.
15537 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
15538
6dfa4005
KH
155392002-02-09 Kazu Hirata <kazu@hxi.com>
15540
15541 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
15542 a half of an SImode register on H8/300.
15543
749e7b80
JH
15544Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
15545
15546 * i386.md (movdi_2): Add missing '!'.
15547
ca77d87c
KH
155482002-02-09 Kazu Hirata <kazu@hxi.com>
15549
15550 * config/h8300/h8300.h: Fix formatting. Remove commented-out
15551 definitions.
15552
16c96304
KH
155532002-02-09 Kazu Hirata <kazu@hxi.com>
15554
15555 * config/h8300/h8300.md (length): Correct the distance valid
15556 for the short branch.
15557
a364bc90
KH
155582002-02-09 Kazu Hirata <kazu@hxi.com>
15559
15560 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
15561
e4ec2cac
AO
155622002-02-09 Alexandre Oliva <aoliva@redhat.com>
15563
a138247b
AO
15564 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
15565 registers in SImode.
15566 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
15567 part-clobbered.
15568
2b1fd83f
AO
15569 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
15570 patch.
d9b3eb63 15571
fa5322fa
AO
15572 Contribute sh64-elf.
15573 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
15574 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
15575 (sh_cannot_modify_jumps_p): New function.
15576 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
15577 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
15578 (sh_ms_bitfield_layout_p): New function.
15579 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
15580 Zack Weinberg <zack@codesourcery.com>
15581 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
15582 expand_simple_binop instead of expand_binop.
15583 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
15584 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
15585 use of .quad and .uaquad.
15586 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
15587 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
15588 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
15589 * config/sh/sh.md (movdi_const, movdi_const_32bit,
15590 movdi_const_16bit): Make sure all CONSTs have modes.
15591 (sym2PIC): Ditto, but by adjusting all callers.
15592 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
15593 if the prologue calls the SHmedia argument decoder or register
15594 saver.
15595 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
15596 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
15597 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
15598 (sh_expand_epilogue): Don't emit USE of return target register.
15599 (prepare_move_operands): Legitimize DImode PIC addresses.
15600 (sh_media_register_for_return): Skip tr0, used to initialize the
15601 PIC register.
15602 (sh_expand_prologue): Remove explicit USE of return register.
15603 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
15604 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
15605 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
15606 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
15607 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
15608 EXTRA_CONSTRAINT_T.
15609 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
15610 (MOVI_SHORI_BASE_OPERAND_P): New.
15611 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
15612 (EXTRA_CONSTRAINT_T): Define in terms of them.
15613 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
15614 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
15615 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
15616 alternatives supporting TARGET_REGS.
15617 (UNSPEC_GOTPLT): New constant.
15618 (movdi split): Move incrementing of LABEL_NUSES...
15619 (movdi_const, movdi_const_32bit): Here. Use
15620 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
15621 (movdi_const_16bit): New.
15622 (call, call_value) [flag_pic]: Use GOTPLT.
15623 (call_pop, call_value_pop): New expands.
15624 (call_pop_compact, call_pop_rettramp): New insns.
15625 (call_value_pop_compact, call_value_pop_rettramp): New insns.
15626 (sibcall) [flag_pic]: Use GOT.
15627 (builtint_setjmp_receiver): Remove bogus, unused expand.
15628 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
15629 (*pt, *ptb, ptrel): New insns.
15630 (sym2GOT): Handle DImode GOT.
15631 (sym2GOTPLT, symGOTPLT2reg): New expands.
15632 (sym2PIC): New expand.
15633 (shcompact_return_tramp): Use GOTPLT to return trampoline.
15634 (shcompact_return_tramp_i): Use return register explicitly.
15635 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
15636 disable flag_reorder_blocks.
15637 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
15638 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
15639 clobbers, for clarity.
15640 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
15641 restoring of r0 in macl as MAYBE_DEAD.
15642 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
15643 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
15644 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
15645 alter_subreg all over.
15646 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
15647 reload, instead of emitting instructions that would require
15648 reloading.
15649 (casesi_load_media): Add missing modes.
15650 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
15651 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
15652 as used if the argument decoder is called.
15653 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
15654 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
15655 Pmode, then extend it to DImode if necessary.
15656 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
15657 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
15658 constants in FPU-enabled SHmedia, let them be loaded from memory.
15659 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
15660 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
15661 Adjust whitespace in assembly output templates.
15662 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
15663 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
15664 mode of if_then_else.
15665 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
15666 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
15667 sh.h.
15668 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
15669 Joern Rennecke <amylaar@redhat.com>
15670 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
15671 (SUBTARGET_CPP_PTR_SPEC): New.
15672 (SUBTARGET_CPP_SPEC): Remove.
15673 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
15674 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
15675 Fix typo in previous checkin.
15676 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
15677 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
15678 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
15679 Alexandre Oliva <aoliva@redhat.com>
15680 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
15681 what single FP register can hold for SHmedia target.
15682 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
15683 Alexandre Oliva <aoliva@redhat.com>
15684 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
15685 Do not split into SUBREG.
15686 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
15687 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
15688 and added new functions as specified in SH5 ABI r9.
15689 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
15690 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
15691 8-byte boundary.
15692 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
15693 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
15694 gen_consttable_4 and gen_consttable_8. Emit multiple labels
15695 and consttable_window_ends.
15696 2001-06-03 Graham Stott <grahams@redhat,com>
15697 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
15698 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
15699 * config/sh/sh.c (print_operand): Handle floating-point pair,
15700 vector and matrix registers.
15701 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
15702 vector modes into account.
15703 * config/sh/sh.md (movv2sf): Split move between registers into
15704 movdf.
15705 (movv4sf, movv16sf): Introduce insns that get split only after
15706 reload.
15707 * config/sh/shmedia.h: Fix Copyright dates.
15708 * config/sh/ushmedia.h: Likewise. Move loop counter
15709 declarations into conditionals that uses them.
15710 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
15711 loop boundary.
15712 * config/sh/sshmedia.h: Fix Copyright dates.
15713 (sh_media_PUTCFG): Fix constraints.
15714 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
15715 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
15716 ptrmemfunc_vbit_in_delta for SH5.
15717 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
15718 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
15719 * invoke.texi: Likewise.
15720 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
15721 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
15722 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
15723 GCC_pop_shmedia_regs_nofpu): New global symbols.
15724 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
15725 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
15726 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
15727 compact function with nonlocal labels.
15728 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
15729 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
15730 (initial_elimination_offset): Account for their stack space.
15731 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
15732 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
15733 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
15734 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
15735 least one of the operands to be a register.
15736 (movv2sf): Likewise. Renamed to movv2sf_i.
15737 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
15738 prepare_move_operands() before emitting SHmedia insns.
15739 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
15740 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
15741 Don't save nor initialize r12. Don't mis-align the stack.
15742 Pad the code with a nop.
15743 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
15744 stack.
15745 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
15746 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
15747 [__SHMEDIA__]: Implement.
15748 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
15749 * config/sh/sh.md: Set latency of `pt' closer to reality.
15750 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
15751 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
15752 Set move, load and store type attributes.
15753 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
15754 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
15755 profiling.
15756 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
15757 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
15758 * config/sh/sh.c (sh_media_register_for_return): New function.
15759 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
15760 branch-target register.
15761 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
15762 * config/sh/sh.md (return_media_i): Use any call-clobbered
15763 branch-target register.
15764 (return_media): If r18 wasn't copied in the prologue, copy it
15765 here.
15766 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
15767 Clear class FP0_REGS.
15768 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
15769 from elf.h.
15770 2001-03-08 DJ Delorie <dj@redhat.com>
15771 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
15772 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
15773 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
15774 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
15775 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
15776 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
15777 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
15778 return value correctly for call_cookie.
15779 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
15780 * config/sh/crt1.asm (start): Modified so as to call
15781 ___setup_argv_and_call_main.
15782 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
15783 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
15784 SHmedia mode.
15785 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
15786 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
15787 (STRIP_NAME_ENCODING): Use it.
15788 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
15789 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
15790 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
15791 prepare_scc_operands().
15792 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
15793 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
15794 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
15795 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
15796 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
15797 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
15798 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
15799 used in shcompact_incoming_args.
15800 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
15801 change.
15802 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
15803 mode.
15804 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
15805 Adjust accordingly.
15806 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
15807 Simplify. Adjust. Add sanity check.
15808 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
15809 FPU_SINGLE_BIT.
15810 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
15811 TARGET_SHCOMPACT.
15812 (udivsi3, divsi3): Use them.
15813 (force_mode_for_call): New insn.
15814 (call, call_value, sibcall_value): Emit it before SHcompact
15815 calls.
15816 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
15817 * config/sh/sh.md (call, call_value, sibcall): Make sure the
15818 call cookie is non-NULL before taking its value.
15819 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
15820 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
15821 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
15822 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
15823 block.
15824 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
15825 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
15826 temporary for stack adjusts. Use MACL and MACH to pass
15827 arguments to shcompact_incoming_args.
15828 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
15829 clobber r1.
15830 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
15831 (nested_trampoline): Load static chain address into r1.
15832 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
15833 2001-01-07 Alexandre Oliva <aoliva@redhat.com
15834 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
15835 fp_arith_reg_operand().
15836 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
15837 * config/sh/sh.md (casesi): Sign-extend the first two operands,
15838 and use signed compares for them.
15839 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
15840 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
15841 ones properly aligned.
15842 (find_barrier): Account for extra alignment needed for 8-byte wide
15843 constants.
15844 (machine_dependent_reorg): Require a label for the second 4-byte
15845 constant after an 8-byte one.
15846 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
15847 change.
15848 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
15849 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
15850 last_float when switching float modes.
15851 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
15852 auto-increment for general-purpose registers.
15853 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
15854 result.
15855 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
15856 for stack adjust.
15857 * config/sh/sh.c (sh_builtin_saveregs): Support using all
15858 registers for varargs.
15859 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
15860 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
15861 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
15862 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
15863 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
15864 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
15865 call_cookie accordingly.
15866 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
15867 (SHCOMPACT_BYREF): Likewise.
15868 (SHCOMPACT_FORCE_ON_STACK): New macro.
15869 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
15870 (sh_builtin_saveregs): Likewise.
15871 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
15872 shcompact_incoming_args): Use new shift values. Support
15873 sequences of consecutive and non-consecutive pushes/pops.
15874 * config/sh/sh.md (return): Don't explicitly use PR_REG.
15875 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
15876 * config/sh/sh.h (TEXT_SECTION): Define.
15877 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
15878 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
15879 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
15880 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
15881 return values on FPU-enabled SHmedia.
15882 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
15883 FPU-enabled SHmedia.
15884 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
15885 value is returned in a non-FP reg and is not returned by
15886 reference.
15887 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
15888 jump_ind.
15889 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
15890 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
15891 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
15892 quad-aligned to be passed by callee-copy reference.
15893 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
15894 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
15895 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
15896 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
15897 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
15898 copying low-numbered FP regs to r7 and r8.
15899 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
15900 FP regs to general-purpose regs only if the copy was passed on the
15901 stack.
15902 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
15903 copying FP reg to r9.
15904 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
15905 copy FP regs to general-purpose regs only in outgoing calls.
15906 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 15907 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
15908 HOST_WIDE_INT.
15909 * config/sh/sh.h (struct sh_args): Document all fields.
15910 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
15911 passed partially on the stack should not consider making
15912 sibcalls.
15913 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
15914 stack_regs only for incoming calls. When passing FP args,
15915 make sure there are FP regs available before modifying
15916 call_cookie.
15917 (SHCOMPACT_BYREF): Pass double args in general-purpose
15918 registers by reference.
15919 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
15920 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
15921 attempt to generate sibcalls if the caller got any arguments
15922 by reference.
15923 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
15924 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
15925 to 8-byte boundaries.
15926 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
15927 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
15928 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
15929 stored in the stack.
15930 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
15931 for the offsets to have the ISA bit set.
15932 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
15933 invocation. Use beq instead of bgt to mark end of sequence of
15934 loads.
15935 (shcompact_incoming_args): Fix store of r2. Use beq instead of
15936 bgt to mark end of sequence of stores.
15937 * config/sh/sh.c (arith_operand): Don't check whether
15938 CONST_OK_FOR_J for now.
15939 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
15940 instead of long for conversion.
15941 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
15942 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
15943 before passing it to fprintf.
15944 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
15945 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
15946 Call set_fpscr before reading/writing SR.
15947 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
15948 Call set_fpscr.
15949 * config/sh/lib1funcs.asm: Add `.align 2' directives before
15950 SHmedia code.
15951 (FMOVD_WORKS): Define on SH5 with FPU.
15952 (set_fpscr): Define on SH5. Remove separate _fpscr_values
15953 setting.
15954 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
15955 _fpscr_values.
15956 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
15957 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
15958 address.
15959 (ia_main_table): Ditto.
15960 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
15961 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
15962 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
15963 the definitions from sh.h.
15964 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
15965 TARGET_SH5.
15966 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
15967 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
15968 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
15969 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
15970 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
15971 Increment LABEL_NUSES.
d9b3eb63 15972
fa5322fa
AO
15973 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
15974 TARGET_SH5.
15975 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
15976 defined.
15977 * config/sh/elf.h (SIZE_TYPE): Likewise.
15978 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
15979 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
15980 shcompact_incoming_args): Load switch table addresses using
15981 datalabel.
15982 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
15983 (NO_BUILTIN_SIZE_TYPE): Define.
15984 (SIZE_TYPE): Don't define.
15985 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
15986 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
15987 definition of __SH5__=32 for -m5-compact-nofpu.
15988 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
15989 ADDR_DIFF_VEC.
15990 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
15991 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
15992 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
15993 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
15994 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
15995 (INSN_LENGTH_ALIGNMENT): Likewise.
15996 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
15997 * config/sh/sh.md (call, call_value, sibcall): Simplify
15998 copying of non-branch-target register.
15999 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 16000 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
16001 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
16002 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
16003 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
16004 floating-point values as structs.
16005 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
16006 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
16007 general-purpose register.
16008 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
16009 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
16010 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
16011 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
16012 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
16013 (ENCODE_SECTION_INFO): Enclose variables and constants in
16014 DATALABEL unspecs.
16015 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
16016 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
16017 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
16018 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
16019 only for LABEL_REFs. For SYMBOL_REFs, prepend
16020 SH_DATALABEL_ENCODING to the symbol name.
16021 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
16022 convert_mode().
16023 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
16024 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
16025 UNSPEC_DATALABEL.
16026 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
16027 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
16028 (DATALABEL_REF_P): Don't require CONST.
16029 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
16030 REL label.
16031 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
16032 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
16033 right.
16034 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
16035 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
16036 Use shallow_copy_rtx and PUT_MODE to change the mode of
16037 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
16038 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
16039 on SHmedia using GENERAL_REGs.
16040 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
16041 bltu_media_i): Fix reversion of conditions.
16042 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
16043 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
16044 * config/sh/sh.c (output_far_jump): Save r13 in macl.
16045 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
16046 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
16047 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
16048 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
16049 (GCC_nested_trampoline): Likewise.
16050 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
16051 * config/sh/sh.c (gen_datalabel_ref): Define.
16052 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
16053 (INITIALIZE_TRAMPOLINE): Likewise.
16054 (TRAMPOLINE_ADJUST_ADDRESS): Define.
16055 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
16056 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
16057 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
16058 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
16059 (ic_invalidate): Adjust for SH5.
16060 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
16061 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
16062 _nested_trampoline.
16063 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
16064 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
16065 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
16066 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
16067 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
16068 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
16069 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
16070 * config/sh/sh.c (target_reg_operand): Match only target-branch
16071 registers and pseudos that aren't virtual registers.
16072 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
16073 Copy operands that don't match target_reg_operand to pseudos.
16074 (call_media, call_value_media, sibcall_media): Use
16075 target_reg_operand instead of target_operand.
16076 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 16077 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
16078 * config/sh/sh.c (target_reg_operand): Match hardware registers
16079 other than branch-target registers.
16080 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
16081 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
16082 (fpscr_values) [SH5 == 32]: Define.
16083 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
16084 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
16085 Handle function addresses coming in SUBREGs.
16086 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
16087 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
16088 shcompact_return_trampoline): Use datalabel where appropriate.
16089 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
16090 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
16091 general-purpose register to copy one branch-target register to
16092 another.
16093 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
16094 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
16095 SYMBOL_REFs with VOIDmode.
16096 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
16097 bltu_media_i): New insns.
16098 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
16099 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
16100 (INIT_CUMULATIVE_ARGS): Likewise.
16101 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
16102 * machmode.def (V16SFmode): New mode.
16103 * c-common.c (type_for_mode): Support V2SF and V16SF.
16104 * tree.c (build_common_tree_nodes_2): Likewise.
16105 * tree.h (tree_index): Likewise.
16106 * calls.c (emit_call_1): Take args_so_far. Adjust all
16107 callers. Introduce CALL_POPS_ARGS.
16108 * tm.texi (CALL_POPS_ARGS): Document.
16109 * config/sh/crt1.asm: Implement in SHmedia mode.
16110 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
16111 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
16112 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
16113 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
16114 Implement divsi and udivsi in SHmedia mode. Introduce
16115 SHcompact trampolines.
16116 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
16117 only in SHmedia64.
16118 (regno_reg_class): Rewrite.
16119 (fp_reg_names): Remove.
16120 (sh_register_names, sh_additional_register_names): New.
16121 (print_operand): Added `u'. Support SUBREGs in addresses.
16122 Add parentheses around shifted CONSTs.
16123 (output_file_start): Output .mode and .abi directives.
16124 (shiftcosts, addsubcosts, multcosts): Adjust.
16125 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
16126 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
16127 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
16128 bytes, not registers. Take into account the need for the
16129 SHcompact incoming args trampoline. Adjust all callers.
16130 (sh_expand_prologue): Take stack_regs into account. Call
16131 incoming args trampoline. Keep stack aligned as per SH5 ABI.
16132 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
16133 stack aligned as per SH5 ABI.
16134 (sh_builtin_saveregs): Support SH5 ABI.
16135 (sh_build_va_list, sh_va_start): Likewise.
16136 (initial_elimination_offset): Take alignment into account.
16137 Compute location of PR according to the SH5 stack frame.
16138 (arith_reg_operand): Reject branch-target registers.
16139 (shmedia_6bit_operand): New.
16140 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
16141 (target_reg_operand): Match DImode only. Accept SUBREGs.
16142 (target_operand): New.
16143 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
16144 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
16145 SIBCALL_REGS for SHmedia.
16146 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
16147 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
16148 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
16149 (TARGET_SWITCHES): New SH5 flags.
16150 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
16151 VALID_REGISTER_P to disable unsupported registers.
16152 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
16153 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
16154 (FUNCTION_ARG_PADDING): Define.
16155 (FASTEST_ALIGNMENT): Adjust.
16156 (SH_REGISTER_NAMES_INITIALIZER): New.
16157 (sh_register_names): Declare.
16158 (DEBUG_REGISTER_NAMES): Define.
16159 (REGISTER_NAMES): Define based on sh_register_names.
16160 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
16161 (sh_additional_register_names): Declare.
16162 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
16163 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
16164 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
16165 (REGISTER_NATURAL_MODE): Define.
16166 (FIRST_PSEUDO_REGISTER): Adjust.
16167 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
16168 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
16169 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
16170 (VECTOR_MODE_SUPPORTED_P): Define.
16171 (REG_CLASS_CONTENTS): Adjust.
16172 (SMALL_REGISTER_CLASSES): Adjust.
16173 (REG_ALLOC_ORDER): Adjust.
16174 (INDEX_REG_CLASS): Adjust.
16175 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
16176 (CONST_OK_FOR_LETTER_P): Adjust.
16177 (PREFERRED_RELOAD_CLASS): Adjust.
16178 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
16179 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
16180 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
16181 (FIRST_FP_PARM_REG): Adjust.
16182 (CALL_POPS_ARGS): Define.
16183 (FUNCTION_ARG_REGNO_P): Adjust.
16184 (struct sh_args): New fields.
16185 (GET_SH_ARG_CLASS): Adjust.
16186 (INIT_CUMULATIVE_ARGS): Adjust.
16187 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
16188 (FUNCTION_ARG_ADVANCE): Adjust.
16189 (FUNCTION_ARG): Adjust.
16190 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
16191 (FUNCTION_ARG_CALLEE_COPIES): Define.
16192 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
16193 (STRICT_ARGUMENT_NAMING): Define.
16194 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
16195 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
16196 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
16197 (SETUP_INCOMING_VARARGS): Adjust.
16198 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
16199 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
16200 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
16201 (SUBREG_OK_FOR_INDEX_P): Adjust.
16202 (EXTRA_CONSTRAINT_S): Update.
16203 (EXTRA_CONSTRAINT_T): New.
16204 (EXTRA_CONSTRAINT): Adjust.
16205 (GO_IF_LEGITIMATE_INDEX): Adjust.
16206 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
16207 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
16208 (MOVE_MAX): Adjust.
16209 (MAX_MOVE_MAX): Define.
16210 (Pmode): Adjust.
16211 (CONST_COSTS): Adjust.
16212 (REGISTER_MOVE_COST): Adjust.
16213 (BRANCH_COST): Adjust.
16214 (TEXT_SECTION_ASM_OP): Adjust.
16215 (DBX_REGISTER_NUMBER): Adjust.
16216 (ASM_OUTPUT_DOUBLE_INT): New.
16217 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
16218 (PREDICATE_CODES): Adjust.
16219 (PROMOTE_MODE): Adjust.
16220 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
16221 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
16222 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
16223 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
16224 (DR0_REG, DR2_REG, DR4_REG): Renumber.
16225 (TR0_REG, TR1_REG, TR2_REG): New.
16226 (XD0_REG): Renumber.
16227 (UNSPEC_COMPACT_ARGS): New.
16228 (type): Added pt and ptabs.
16229 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 16230 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
16231 (pt): New function unit.
16232 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
16233 Add whitespace between operands of SHmedia instructions.
16234 (movdicc): Fix.
16235 (adddi3_media, addsi3_media): Adjust constraints.
16236 (subsi3) [SHmedia]: Force operand 1 into a register.
16237 (udivsi3_i1_media, udivsi3_i4_media): New.
16238 (udivsi3): Support SHmedia.
16239 (divsi3_i1_media, divsi3_i4_media): New.
16240 (divsi3): Support SHmedia.
16241 (anddi3, iordi3, xordi3): Adjust constraints.
16242 (zero_extendhidi2, zero_extendqidi2): New.
16243 (extendsidi2, extendhidi2, extendqidi2): New.
16244 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
16245 (pop_e, pop_fpul, pop_4): Likewise.
16246 (movsi_media): Support FP and BT registers.
16247 (movsi_media_nofpu): New. Adjust splits to DImode.
16248 (lduw, ldub): Renamed to zero_extend* above.
16249 (movqi_media): Fix typo.
16250 (movdi_media): Support FP and BT registers.
16251 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
16252 (movdi_const_32bit): New.
16253 (shori_media): Require immediate operand. Use `u' for output.
16254 (movdf_media, movsf_media): Simplified.
16255 (movdf_media_nofpu, movsf_media_nofpu): New.
16256 (movdf, movsf): Adjust
16257 (movv2sf, movv2sf, movv16sf): New.
16258 (beq_media, beq_media_i): Adjust constraints. Don't use
16259 scratch BT register.
16260 (bne_media, bne_media_i): Likewise.
16261 (bgt_media, bgt_media_i): Likewise.
16262 (bge_media, bge_media_i): Likewise.
16263 (bgtu_media, bgtu_media_i): Likewise.
16264 (bgeu_media, bgeu_media_i): Likewise.
16265 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
16266 bunordered): Emit jump insn. Force operands to registers when
16267 needed.
16268 (jump_media, jump): Simplify.
16269 (call_compact, call_compact_rettramp): New.
16270 (call_value_compact, call_value_compact_rettramp): New.
16271 (call_media, call_value_media): Simplify.
16272 (sibcall_compact, sibcall_media): New.
16273 (call, call_value): Adjust for SHmedia and SHcompact.
16274 (sibcall, sibcall_value, untyped_call): Likewise.
16275 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
16276 (indirect_jump): Adjust for SHmedia.
16277 (casesi_jump_media): New.
16278 (nop): Re-enable for SHmedia.
16279 (call_site): Restrict to SH1.
16280 (casesi): Adjust for SHmedia.
16281 (casesi_shift_media, casesi_load_media): New.
16282 (return): Explicitly use PR register. Call return trampoline
16283 on SHcompact.
16284 (return_i): Explicitly use PR register.
16285 (shcompact_return_tramp, shcompact_return_tramp_i): New.
16286 (return_media): Adjust.
16287 (shcompact_incoming_args): New.
16288 (epilogue): Adjust.
16289 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
16290 (movstrsi): Disable on SH5.
16291 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
16292 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
16293 (subsf3, subsf3_media): Likewise.
16294 (mulsf3, mulsf3_media, mac_media): Likewise.
16295 (divsf3, divsf3_media): Likewise.
16296 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
16297 (floatsisf2, fux_truncsfsi2): Likewise.
16298 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
16299 constraints.
16300 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
16301 (cmpunsf_media, cmpsf): Likewise.
16302 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
16303 (abssf2, abssf2_media): Likewise.
16304 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
16305 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
16306 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
16307 (floatsidf2, fix_truncdfsi2): Likewise.
16308 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
16309 constraints.
16310 (cmpeqdf_media, cmpgtdf_media): Likewise.
16311 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
16312 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
16313 (absdf2, absdf2_media): Likewise.
16314 (extendsfdf2, extendsfdf2_media): Likewise.
16315 (truncsfdf2, truncsfdf2_media): Likewise.
16316 * config/sh/sh64.h: New file.
16317 * config/sh/t-sh64: New file.
16318 * config/sh/shmedia.h: New file.
16319 * config/sh/ushmedia.h: New file.
16320 * config/sh/sshmedia.h: New file.
16321 * configure.in: Added sh64-*-elf.
16322 * configure: Rebuilt.
16323 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
16324 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
16325 (reg_class_from_letter): Use `b' for TARGET_REGS.
16326 (print_operand): Support `%M', `%m', `AND' and
16327 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
16328 (andcosts): Adjust for SHmedia.
16329 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
16330 Likewise.
16331 (target_reg_operand): New function.
16332 * config/sh/sh-protos.h (target_reg_operand): Declare.
16333 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
16334 FP registers on SH5.
16335 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
16336 on SH4.
16337 (TARGET_REGISTER_P): New macro.
16338 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
16339 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
16340 (EXTRA_CONSTRAINT_S): New macro.
16341 (EXTRA_CONSTRAINT): Adjust.
16342 (FLOAT_TYPE_SIZE): Define to 32.
16343 (Pmode): DImode on SHmedia.
16344 (CONST_COSTS): Adjust for SHmedia literals.
16345 (PREDICATE_CODES): Added target_reg_operand.
16346 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
16347 * config/sh/sh.md: Remove all attrs from SHmedia insns.
16348 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
16349 (cmpdi): Accept SHmedia.
16350 (movdicc_false, movdicc_true): New insns.
16351 (movdicc): New expand.
16352 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
16353 no_new_pseudos.
16354 (addsi3_media): Match `S' constraint.
16355 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
16356 (negdi2): Expand for SHmedia.
16357 (one_cmpldi2): New expand.
16358 (zero_extendsidi2): Change from expand to insn.
16359 (extendsidi2): Add constraints.
16360 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
16361 LD/ST address. Fix SI immediate loading split.
16362 (movhi_media, movqi_media, lduw, ldub): New insns.
16363 (movhi, movqi): Accept SHmedia.
16364 (shori_media, movdi_media): Relax input constraints. Split
16365 symbolic constants.
16366 (movdf_media, movsf_media): New insn. New split to movdi.
16367 (movdf, movsf): Match on SHmedia.
16368 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
16369 bgeu_media): New insns and splits. New insns with `_i' suffix.
16370 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
16371 (bunordered): New expand.
16372 (jump_compact): Renamed from `jump'.
16373 (jump_media): New insn.
16374 (jump): New expand.
16375 (call_media, call_value_media): New insns.
16376 (call, call_value): Adjust.
16377 (indirect_jump_compact): Renamed from `indirect_jump'.
16378 (indirect_jump_media): New insn.
16379 (indirect_jump): New expand.
16380 (untyped_call, return): Accept SHmedia.
16381 (return_media): New insn.
16382 (prologue, epilogue, blockage): Accept SHmedia.
16383 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
16384 (sunordered): New expand.
16385 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
16386 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
16387 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
16388 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
16389 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
16390 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
16391 abssf2_media): New insns.
16392 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
16393 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
16394 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
16395 floatdidf2, floatsidf2_media, fix_truncdfdi2,
16396 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
16397 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
16398 absdf2_media): New insns.
16399 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
16400 (extendsfdf2_media, truncdfsf2_media): New insns.
16401 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
16402 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
16403 * config/sh/sh.h (CONST_OK_FOR_J): Document.
16404 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
16405 * config/sh/sh.md (adddi3): New expand.
16406 (adddi3_media, adddi3z_media): New insns.
16407 (adddi3_compact): Renamed from adddi3.
16408 (addsi3_media): Use add.l r63 to add constant zero.
16409 (subdi3): New expand.
16410 (subdi3_media): New insn.
16411 (subdi3_compact): Renamed from subdi3.
16412 (mulsidi3): New expand.
16413 (mulsidi3_media): New insn.
16414 (mulsidi3_compact): Renamed from mulsidi3.
16415 (umulsidi3): New expand.
16416 (umulsidi3_media): New insn.
16417 (umulsidi3_compact): Renamed from umulsidi3.
16418 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
16419 (ashlsi3, ashrsi3, lshrsi3): Use them.
16420 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
16421 (ashldi3, ashrdi3, lshrdi3): Use them.
16422 (zero_extendsidi2): New expand.
16423 (extendsidi2): New insn.
16424 (movsi_media): New insn. Split to movdi to load constants.
16425 (movsi): Enable for shmedia.
16426 (movdi_media): New insn. Use shori_media to load wide constants.
16427 (short_media): New insn.
16428 (movdi): Enable for shmedia.
16429 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
16430 * config/sh/sh.h (CPP_SPEC): Added `m5'.
16431 (SUBTARGET_CPP_SPEC): Added `!m5'.
16432 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
16433 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
16434 to all other SH variants.
16435 (TARGET_DEFAULT): Set to SH1_BIT.
16436 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
16437 (BITS_PER_WORD): Raise to 64 on shmedia.
16438 (MAX_BITS_PER_WORD): Change to 64.
16439 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
16440 (INT_TYPE_SIZE): Keep as 32.
16441 (UNITS_PER_WORD): Raise to 8 on shmedia.
16442 (MIN_UNITS_PER_WORD): Keep as 4.
16443 (POINTER_SIZE): Raise to 64 on shmedia.
16444 (CONST_OK_FOR_J): New macro.
16445 (CONST_OK_FOR_LETTER_P): Use it.
16446 (processor_type): Add PROCESSOR_SH5.
16447 * config/sh/sh.md: Conditionalize all expands, insns and
16448 splits to TARGET_SH1.
16449 (cpu): Added sh5.
16450 (addsi3_compact): Renamed from...
16451 (addsi3): Now an expand.
16452 (addsi3_media, subsi3_media): New insns.
16453 (subsi3): Don't negate constants with SHmedia.
16454
e4ec2cac
AO
16455 * hooks.c: New file.
16456 * hooks.h: New file.
16457 * Makefile.in (HOOKS_H): New.
16458 (TARGET_DEF_H): Added $(HOOKS_H).
16459 (OBJS): Added hooks.o.
16460 (cfgcleanup.o, bb-reorder.o): Added target.h.
16461 (hooks.o): Added dependencies.
16462 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
16463 (TARGET_INITIALIZER): this.
16464 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
16465 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
16466 * bb-reorder.c: Include target.h.
16467 (reorder_basic_blocks): Skip if cannot modify jumps.
16468 * cfgcleanup.c: Include target.h.
16469 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
16470
246a46e0
CD
164712002-02-08 Chris Demetriou <cgd@broadcom.com>
16472
831c4e87
KC
16473 * config/mips/mips.md (casesi_internal, casesi_internal_di):
16474 Protect jump delay slot instructions with .set noreorder and
16475 .set nomacro.
246a46e0
CD
16476
164772002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
16478
16479 * config/mips/mips.md (casesi_internal_di): Calculate
16480 the index into the target offset table correctly.
16481
fdf473ae
RH
164822002-02-08 Richard Henderson <rth@redhat.com>
16483
16484 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
16485 * final.c (output_addr_const): Accept and discard SUBREG.
16486 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
16487 mark them unknown instead.
16488 (simplify_subtraction): Handle RTX_UNKNOWN.
16489 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
16490
c50503ac
DE
164912002-02-08 David Edelsohn <edelsohn@gnu.org>
16492
16493 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
16494
3660d217
RH
164952002-02-08 Richard Henderson <rth@redhat.com>
16496
16497 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
16498
56547299
AJ
164992002-02-08 Andreas Jaeger <aj@suse.de>
16500
16501 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
16502 * config/i386/t-linux64: New file.
16503
1cf537c5
JJ
165042002-02-08 Jakub Jelinek <jakub@redhat.com>
16505
16506 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
16507 * c-parse.in (compstmt): Clear last_expr_type.
16508
5c7f5a5f
RH
165092002-02-07 Richard Henderson <rth@redhat.com>
16510
16511 * loop.c (strength_reduce): Sink final_value when not
16512 eliminating a biv.
16513
b1138bf3
DB
165142002-02-07 David O'Brien <obrien@FreeBSD.org>
16515
16516 * config/sparc/freebsd.h: Fix mismatched spec {.
16517
b6878a45
RH
165182002-02-07 Richard Henderson <rth@redhat.com>
16519
16520 * cfgrtl.c: Include recog.h and insn-config.h.
16521 (keep_with_call_p): Fix general_operand invocation.
16522 * Makefile.in (cfgrtl.o): Update dependencies.
16523
ae19f5ef
KH
165242002-02-07 Kazu Hirata <kazu@hxi.com>
16525
16526 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
16527 comment. Accept HImode only if TARGET_H8300.
16528
b137f9fc
EC
165292002-02-07 Eric Christopher <echristo@redhat.com>
16530
16531 * config/mips/crtn.asm: Cleanup #ifdefs.
16532
165332002-02-07 Eric Christopher <echristo@redhat.com>
16534
16535 * config/mips/crti.asm: Add changes for mips16. mips16 uses
16536 register 7 as RA instead of $31.
16537 * config/mips/crtn.asm: Ditto.
16538 * config/mips/mips.c (mips_move_2words): Add case for
16539 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
16540 (compute_frame_size): Fix typo.
16541 (save_restore_insns): Ditto. Make documentation about using
16542 register $7 as return register more precise.
16543 (mips_expand_epilogue): Fix comment. Add code to work around not
16544 being able to add to the stack pointer directly.
16545 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
16546 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
16547 epilogue.
16548
768070a0
TR
165492002-02-07 Tom Rix <trix@redhat.com>
16550
b137f9fc 16551 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
16552 immediates in ldu and stdu DS opcode field.
16553 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
16554 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
16555 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
16556
225909c3
JS
165572002-02-07 Jeff Sturm <jsturm@one-point.com>
16558
16559 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
16560 offset for stack bias.
16561
15fae023
L
165622002-02-07 H.J. Lu <hjl@gnu.org>
16563
16564 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
16565
fde5badd
UW
165662002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
16567
16568 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
16569
162f023b
JH
16570Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
16571
16572 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
16573 * i386.c (x86_order_regs_for_local_alloc): New global function.
16574 * i386.h (REG_ALLOC_ORDER): CLeanup.
16575 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
16576
9b462c42
RH
165772002-02-07 Richard Henderson <rth@redhat.com>
16578
85aa876c 16579 PR optimization/2463
9b462c42
RH
16580 * alias.c (find_base_value): Recall base values for fixed hard regs.
16581 * loop.c (loop_regs_update): Don't use single_set on non-insns.
16582
06e455a9
AO
165832002-02-07 Alexandre Oliva <aoliva@redhat.com>
16584
16585 * config/mips/mips.md (define_delay) [mips16]: Adjust required
16586 length.
16587
edd1967d
RH
165882002-02-06 Richard Henderson <rth@redhat.com>
16589
16590 PR c/5609
16591 * stmt.c (resolve_operand_name_1): Take more care with mixed
16592 named and unnamed operands.
16593
a2cd028f
JJ
165942002-02-06 Janis Johnson <janis187@us.ibm.com>
16595 Jan Hubicka <jh@suse.cz>
16596
16597 * loop.c (remove_constant_addition): Avoid clobbering a shared
16598 CONST expression.
16599
e8487c04
UW
166002002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
16601
16602 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
16603 * config/s390/t-linux64: New file.
16604 * config/s390/libgcc-glibc.ver: New file.
16605
58d10f89
UW
166062002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
16607
16608 * config/s390/linux64.h: Delete file.
16609 * config/s390/s390x.h: New file.
16610 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
16611 as target header file.
16612 * config/s390/linux.h (TARGET_VERSION): Define depending on
16613 DEFAULT_TARGET_64BIT.
16614 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
16615 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
16616 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
16617 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
16618 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
16619 (EXTRA_SPEC): New define.
16620 * config/s390/s390.h (TARGET_VERSION): Define depending on
16621 DEFAULT_TARGET_64BIT.
16622 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
16623
5ce89b2e
JM
166242002-02-06 Jason Merrill <jason@redhat.com>
16625
16626 * c-decl.c (finish_function): Warn about a non-void function with
16627 no return statement and no abnormal exit.
16628 (current_function_returns_abnormally): New variable.
16629 (start_function): Clear it.
16630 (struct c_language_function): Add returns_abnormally.
16631 (push_c_function_context): Save it.
16632 (pop_c_function_context): Restore it.
16633 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
16634 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
16635 an explicit return type.
16636 * c-tree.h: Declare current_function_returns_abnormally.
16637 (C_FUNCTION_IMPLICIT_INT): New macro.
16638 * c-typeck.c (build_function_call): Set it.
16639 (c_expand_return): Set current_function_returns_value even if the
16640 value is erroneous.
16641
caaf2272
JJ
166422002-02-06 Jakub Jelinek <jakub@redhat.com>
16643
16644 PR c/5420:
16645 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
16646 unsafe for reevaluation.
16647
d5129288
JJ
166482002-02-06 Jakub Jelinek <jakub@redhat.com>
16649
16650 PR c/5482:
16651 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
16652 EXPR_STMT, but COMPOUND_STMT, recurse into it.
16653
7fb75099
RH
166542002-02-06 Richard Henderson <rth@redhat.com>
16655
16656 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
16657 be a general_operand. Dest for function value must be a pseudo.
16658
d3a8b6a6
NC
166592002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
16660
16661 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
16662 as SYMBOL_REFs from the constant pool.
16663
3c1299c5
AO
166642002-02-06 Alexandre Oliva <aoliva@redhat.com>
16665
16666 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
16667 passed by invisible reference.
16668
c2c9f6c9
RH
166692002-02-05 Richard Henderson <rth@redhat.com>
16670
16671 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
16672
a824924d
HPN
166732002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
16674
16675 Implement using "base addresses" in insn operands as default.
16676 * config/mmix/mmix.c (mmix_conditional_register_usage): if
16677 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
16678 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
16679 used to read the rtx value.
16680 (mmix_target_asm_function_epilogue): Fix spacing.
16681 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
16682 (mmix_legitimate_address): Ditto.
16683 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
16684 should be loaded with a GETA insn. Don't allocate needless extra
16685 char for nul termination and fix misleading comment.
16686 (mmix_print_operand_address): Handle constants if
16687 TARGET_BASE_ADDRESSES.
16688 (mmix_output_register_setting): Use base addressing if
16689 TARGET_BASE_ADDRESSES and the number of insns is 3.
16690 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
16691 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
16692 to use R as constraint, add LDA to match s.
16693 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
16694 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
16695 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
16696 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
16697 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
16698 order with other fixed registers.
16699 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
16700 other parameter/call-clobbered registers.
16701 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
16702 -mbase-addresses, -mno-base-addresses.
16703 (MMIX Options): Ditto.
16704
73c342b9
JDA
167052002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
16706
16707 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
16708
ef238c58
AH
167092002-02-06 Aldy Hernandez <aldyh@redhat.com>
16710
831c4e87 16711 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 16712
ad08e60e
JT
167132002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
16714
16715 * config/netbsd.h (WCHAR_TYPE): Define.
16716 (WCHAR_TYPE_SIZE): Ditto.
16717 (WINT_TYPE): Ditto.
16718 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
16719 (WCHAR_UNSIGNED): Ditto.
16720 (WCHAR_TYPE_SIZE): Ditto.
16721 (WINT_TYPE): Ditto.
16722 * config/arm/netbsd.h: Likewise.
16723 * config/i386/netbsd-elf.h: Likewise.
16724 * config/i386/netbsd.h: Likewise.
16725 * config/m68k/netbsd-elf.h: Likewise.
16726 * config/m68k/netbsd.h: Likewise.
16727 * config/ns32k/netbsd.h: Likewise.
16728 * config/sparc/netbsd.h: Likewise.
16729 * config/vax/netbsd.: Likewise.
16730
f913c102
AO
167312002-02-05 Alexandre Oliva <aoliva@redhat.com>
16732
16733 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
16734 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
16735 (TARGET_INITIALIZER): this.
16736 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
16737 (BITFIELD_NBYTES_LIMITED): Markup fix.
16738 * tree.h (default_ms_bitfield_layout_p): Declare.
16739 (record_layout_info): Added prev_field.
16740 * tree.c (default_ms_bitfield_layout_p): New fn.
16741 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
16742 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
16743 * stor-layout.c: Include target.h.
16744 (start_record_layout): Initialize prev_field.
16745 (place_field): Handle MS bit-field layout, and disregard
16746 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
16747 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
16748 * Makefile.in (stor-layout.o): Adjust dependencies.
16749
c13db5d1
JM
167502002-02-05 Jason Merrill <jason@redhat.com>
16751
c13db5d1
JM
16752 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
16753
4505024e
AJ
167542002-02-05 Andreas Jaeger <aj@suse.de>
16755
16756 * crtstuff.c: Fix comments.
16757
794ad79d
RH
167582002-02-05 Richard Henderson <rth@redhat.com>
16759
2e279a9b
RH
16760 PR fortran/3393
16761 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
16762 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
16763
794ad79d
RH
16764 PR fortran/3392
16765 * config/mips/mips.c (function_arg): Handle TImode.
16766 (function_arg_advance): Likewise.
16767
8f909017
AH
167682002-02-05 Aldy Hernandez <aldyh@redhat.com>
16769
c13db5d1
JM
16770 * config/rs6000/altivec.h (vec_step_help): Rename to
16771 __vec_step_help.
8f909017 16772
66daa9e3
AH
167732002-02-05 Aldy Hernandez <aldyh@redhat.com>
16774
c13db5d1 16775 * config/rs6000/altivec.h: Fix typos.
66daa9e3 16776
2696e97b
JT
167772002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
16778
16779 * config/arm/netbsd.h: Correct a comment.
16780
3deb2758
AH
167812002-02-05 Aldy Hernandez <aldyh@redhat.com>
16782
c13db5d1
JM
16783 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
16784 building void typed builtins.
3deb2758 16785
c13db5d1
JM
16786 * config/rs6000/altivec.h (vec_ld*): Fix typos.
16787 (vec_step): Implement for C++.
3deb2758 16788
c13db5d1 16789Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
16790
16791 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
16792
ebbb0a63
RH
167932002-02-04 Richard Henderson <rth@redhat.com>
16794
16795 * combine.c (nonzero_bits): Re-introduce special case for
16796 sp/fp/ap wrt REGNO_POINTER_ALIGN.
16797
ae4b4a02
AH
167982002-02-05 Aldy Hernandez <aldyh@redhat.com>
16799
c13db5d1
JM
16800 * doc/extend.texi: Warn about unsupported usage of altivec
16801 builtins.
ae4b4a02 16802
c13db5d1
JM
16803 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
16804 (altivec_predicate_*): New.
ae4b4a02 16805
c13db5d1
JM
16806 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
16807 Add C++ version of vec_*() functions.
ae4b4a02 16808
c13db5d1
JM
16809 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
16810 (bdesc_2arg): Remove altivec predicates.
16811 (altivec_expand_builtin): Handle predicates.
16812 (altivec_init_builtins): Handle predicates.
16813 (altivec_expand_predicate_builtin): New.
ae4b4a02 16814
f6bcf44c
JDA
168152002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
16816
16817 * pa.c (DO_FRAME_NOTES): Move forward.
16818 (store_reg): Revise handling of frame notes.
16819 (load_reg): Likewise.
16820 (set_reg_plus_d): Likewise.
16821 (hppa_expand_prologue): Likewise.
16822 (hppa_expand_epilogue): Likewise.
b137f9fc 16823
703b0080
JDA
168242002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
16825
16826 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
16827
6f9fdf4d
JJ
168282002-02-04 Jakub Jelinek <jakub@redhat.com>
16829
16830 PR c/4475, c++/3780:
16831 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
16832 * c-common.h (SWITCH_TYPE): Define.
16833 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
16834 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
16835 Rename spareness variable to sparseness.
16836 (expand_end_case_type): Renamed from expand_end_case, use orig_type
16837 if non-NULL instead of TREE_TYPE (orig_index).
16838 * tree.h (expand_end_case_type): Renamed from expand_end_case.
16839 (expand_end_case): Define using expand_end_case_type.
16840 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
16841 to expand_end_case_type.
16842 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
16843
79109502
JDA
168442002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
16845
16846 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
16847 (BIGGEST_ALIGNMENT): Change to 128.
16848
e62a5987
JDA
168492002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
16850
16851 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
16852
219f24a4
JDA
168532002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
16854
16855 * pa.md (call_internal_reg_64bit): Remove unused variable.
16856
3cb66fd7
NC
168572002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
16858
16859 * config/arm/arm.h (machine_function): Add uses_anonymous_args
16860 field.
831c4e87 16861 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 16862 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
16863 replace uses with cfun->machine->uses_anonymous_args.
16864 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
16865
16866 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
16867 any geenral register.
b137f9fc 16868
5d5603e2 168692001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
16870
16871 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
16872 the entry block.
16873
563c12b0
RH
168742002-02-04 Richard Henderson <rth@redhat.com>
16875
16876 * combine.c (force_to_mode): Remove STACK_BIAS code.
16877 (nonzero_bits): Likewise. Replace sp/fp special case with
16878 REGNO_POINTER_ALIGN.
16879
16880 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
16881 (HARD_FRAME_POINTER_REGNUM): New.
16882 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
16883 (FIXED_REGS, CALL_USED_REGS): Update.
16884 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
16885 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
16886 (HARD_REGNO_NREGS): Update for SFP.
16887 (STACK_POINTER_OFFSET): Include bias here ...
16888 (FIRST_PARM_OFFSET): ... not here.
16889 (STACK_BIAS): Remove.
16890 (INIT_EXPANDERS): New.
16891 (STARTING_FRAME_OFFSET): Do not include bias.
16892 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
16893 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
16894 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
16895 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
16896 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
16897 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
16898 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
16899 (MUST_SAVE_REGISTER): Likewise.
16900 (sparc_flat_function_prologue): Likewise.
16901 (sparc_flat_function_epilogue): Likewise.
16902 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
16903 (sparc_init_modes): SFP is GENERAL_REGS.
16904 (sparc_builtin_saveregs): SFP does not have bias applied.
16905
14691f8d
RH
169062002-02-04 Richard Henderson <rth@redhat.com>
16907
16908 * config/alpha/alpha.c (current_function_is_thunk): Don't check
16909 current_function_is_thunk.
16910 (alpha_sa_mask): Distinguish between current_function_is_thunk
16911 called from ASM_OUTPUT_MI_THUNK and not.
16912 (alpha_does_function_need_gp): Thunks always need gp.
16913 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
16914 (alpha_output_mi_thunk_osf): New.
16915 * config/alpha/alpha-protos.h: Update.
16916 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
16917
af702de8
RS
169182002-02-04 Richard Sandiford <rsandifo@redhat.com>
16919
16920 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
16921 function types, not when they're taken away.
16922
5b1cacd8
JL
16923Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
16924
16925 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
16926 CODE_LABEL and jump table when replacing a table jump with a
16927 simple jump.
16928
f3e9edff
UW
169292002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
16930
16931 * config/s390/s390-protos.h (legitimize_la_operand,
16932 s390_secondary_input_reload_class, s390_plus_operand,
16933 s390_expand_plus_operand): Add prototypes.
16934
16935 config/s390/s390.c (s390_secondary_input_reload_class,
16936 s390_plus_operand, s390_expand_plus_operand): New functions.
16937
16938 (struct s390_address): New member 'pointer'.
16939 (s390_decompose_address): Compute it.
16940 (legitimate_la_operand_p): Use it.
16941 (legitimize_la_operand): New function.
16942 (movti, movdi, movdf splitters): Call it.
16943
16944 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
16945 (PREDICATE_CODES): Add s390_plus_operand.
16946
16947 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
16948 (la_ccclobber): Allow GENERAL_REGS as output operand.
16949
16950 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
16951 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
16952 (*la_64, *la_31, reload_indi, reload_insi): ... these.
16953
3c9a08ec
UW
169542002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
16955
16956 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
16957 register names for regular asm () construct.
16958
ac300a45
JJ
169592002-02-04 Jakub Jelinek <jakub@redhat.com>
16960
16961 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
16962 registers.
16963
fa852403
JJ
169642002-02-04 Jakub Jelinek <jakub@redhat.com>
16965
16966 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
16967 pat for recog.
16968
fecaac37
HP
169692002-02-04 Hartmut Penner <hpenner@de.ibm.com>
16970
831c4e87
KC
16971 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
16972 constant pool to be identical by string address and index.
fecaac37 16973
10c45943
AG
169742002-02-04 Anthony Green <green@redhat.com>
16975
16976 * output.h (SECTION_OVERRIDE): Define.
16977 * varasm.c (named_section): Obey SECTION_OVERRIDE.
16978
69474c3c
JT
169792002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
16980
16981 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
16982 by existing arm*-*-netbsd* (a.out) target.
16983 (ns32k-*-netbsdelf*): Likewise.
16984 (sparc-*-netbsdelf*): Likewise.
16985 (vax-*-netbsdelf*): Likewise.
16986
939a46f6 169872002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
16988
16989 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
16990 headers and libobjc headers.
16991
169922002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
16993
16994 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
16995 (_mingw.h): Remove duplicate include.
16996
2fd95d71
JT
169972002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
16998
16999 * config.gcc: Set cpu_type to m68k for 68010, as well.
17000 (m68010-*-netbsdelf*): New...
17001 (m68k*-*-netbsdelf*): ...targets.
17002 * config/m68k/netbsd-elf.h: New file.
17003
0ea6f6a0
KH
170042002-02-02 Kazu Hirata <kazu@hxi.com>
17005
17006 * config/h8300/h8300.c (hand_list): Move inside function_arg.
17007
cbf1b2da
KH
170082002-02-02 Kazu Hirata <kazu@hxi.com>
17009
17010 * config/h8300/h8300.c (h8_push_ops): Move inside
17011 h8300_init_once.
17012 (h8_pop_ops): Likewise.
17013 (h8_move_ops): Likewise.
17014
0869f126
KH
170152002-02-02 Kazu Hirata <kazu@hxi.com>
17016
17017 * config/h8300/h8300.c (os_task): Make it static.
17018 (monitor): Likewise.
17019 (pragma_saveall): Likewise.
17020
90e65b70
AO
170212002-02-02 Alexandre Oliva <aoliva@redhat.com>
17022
17023 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
17024 constant is a valid sign-extension for Pmode.
17025
9cbcd983
KH
170262002-02-02 Kazu Hirata <kazu@hxi.com>
17027
17028 * config/h8300/h8300.c: Fix formatting.
17029
7a27efc4
KH
170302002-02-02 Kazu Hirata <kazu@hxi.com>
17031
17032 * config/h8300/h8300.md: Fix formatting.
17033
54175a44
KH
170342002-02-02 Kazu Hirata <kazu@hxi.com>
17035
17036 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
17037 predicates of operands[1]. Split the patterns for each
17038 processor variant.
17039
eceb1755
KH
170402002-02-02 Kazu Hirata <kazu@hxi.com>
17041
17042 * config/h8300/h8300.md (xor patterns): Tighten the predicates
17043 of operands[1] to register_operand.
17044
0fef3fd0
NB
170452002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
17046
17047 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
17048 * cpphash.c (_cpp_init_hashtable): Similarly.
17049 * cppinit.c (cpp_create_reader): Default the signed_char flag.
17050 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
17051 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
17052 (cpp_handle_option): Handle the new options.
17053 * cpplex.c (cpp_interpret_charconst): Use new flag.
17054 * cpplib.h (struct cpp_options): New member signed_char.
17055 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
17056 (cpp_options): Handle -fsigned-char and -funsigned-char.
17057 (static_specs): Remove signed_char_spec.
17058 (do_spec1): Don't handle %c.
17059 * system.h: Poison SIGNED_CHAR_SPEC.
17060 * tradcif.y (yylex): Use flag_signed_char.
17061 * tradcpp.h (flag_signed_char): New.
17062 * tradcpp.c (flag_signed_char): New.
17063 (main): Handle new command-line options.
17064 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
17065config:
17066 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
17067 * avr/avr.h: Remove old comments.
17068 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
17069 (CC1_SPEC): Pass -fsigned-char if -mic*.
17070 (SIGNED_CHAR_SPEC): Remove.
17071doc:
17072 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
17073
0617ed52
EC
170742002-02-01 Eric Christopher <echristo@redhat.com>
17075
17076 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
17077 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
17078 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
17079 (ASM_OUTPUT_REG_POP): Ditto.
17080
dfd48d76
NB
170812002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
17082
17083 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
17084 patch.
17085
4a23409e
JJ
170862002-02-02 Jakub Jelinek <jakub@redhat.com>
17087
17088 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
17089
d3c52658
JJ
170902002-02-02 Jakub Jelinek <jakub@redhat.com>
17091
17092 PR c/5304:
17093 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
17094 unconditionally.
17095
02c5a3bd
JJ
170962002-02-01 Janis Johnson <janis187@us.ibm.com>
17097
17098 * cfganal.c: Include tm_p.h.
17099 (keep_with_call_p): Fix the test that determines if a register holds
17100 the return value of a call.
17101
3968de80
DD
171022002-02-01 DJ Delorie <dj@redhat.com>
17103
17104 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
17105 we are given conflicting registers, switch to the other one we
17106 had allocated for us.
17107 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
17108 as TImode so we know when the "other" register is available.
17109
1338ea6c
DB
171102002-02-01 David O'Brien <obrien@FreeBSD.org>
17111
17112 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
17113 sparc/sparc_bi.h.
17114
f015be23
JJ
171152002-02-01 Janis Johnson <janis187@us.ibm.com>
17116
17117 * cfganal.c (keep_with_call_p): New function.
17118 (flow_call_edges_add): Prevent splitting a block between a call and
17119 a single-set instruction that should be kept in the same block.
17120
63708ffc
CR
171212002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
17122
17123 * doc/install.texi (avr): Update outdated URL.
17124
5ee4950e
AH
171252002-01-30 Andrew Haley <aph@cambridge.redhat.com>
17126
831c4e87
KC
17127 * config/stormy16/stormy16.md (pushqi): New.
17128 (popqi): New.
17129 (pushhi): New.
17130 (pophi): New.
17131 (movhi): Remove stack operands.
17132 (movqi): Likewise.
17133 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
17134 nonimmediate_nonstack_operand.
17135 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
17136 New.
17137 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
17138 New.
5ee4950e 17139
b88c0704
JM
171402002-01-31 Jason Merrill <jason@redhat.com>
17141
17142 * Makefile.in (c-parse.c): Handle .output file.
17143 * objc/Make-lang.in (objc-parse.c): Likewise.
17144
ac282977
AO
171452002-02-01 Alexandre Oliva <aoliva@redhat.com>
17146
17147 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
17148 the -me[lb] option is given. Don't output the default flag
17149 twice.
17150
bebc7e8b
ZW
171512002-01-31 Zack Weinberg <zack@codesourcery.com>
17152
17153 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
17154 the primary source file; this has not been done yet.
17155 * c-decl.c (c_expand_body): Reset input_filename from
17156 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
17157
5809eb5f
KH
171582002-01-31 Kazu Hirata <kazu@hxi.com>
17159
17160 * rtlanal.c (subreg_regno_offset): Do not use
17161 SUBREG_REGNO_OFFSET.
17162 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
17163 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
17164
8512bbd7
JM
171652002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
17166
17167 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
17168 version rather than GNATS version in --version output.
17169
74cb3cc8
RS
171702002-01-31 Richard Sandiford <rsandifo@redhat.com>
17171
17172 * ifcvt.c (noce_process_if_block): Make a copy of the destination
17173 when copying back from a temporary.
17174
874b5b14
RH
171752002-01-30 Richard Henderson <rth@redhat.com>
17176
17177 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
17178 and new_dest are the same.
17179
e803a64b
RH
171802002-01-30 Richard Henderson <rth@redhat.com>
17181
89cf7be5 17182 PR opt/5076
e803a64b
RH
17183 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
17184 * rtl.c (note_insn_name): Update.
17185 * emit-rtl.c (remove_unnecessary_notes): Kill it.
17186 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
17187 to perform loop rotation.
17188 (expand_exit_loop_top_cond): New.
17189 * tree.h (expand_exit_loop_top_cond): Declare it.
17190 * c-semantics.c (genrtl_while_stmt): Use it.
17191 (genrtl_for_stmt): Likewise.
17192
0b51254d
AO
171932002-01-30 Alexandre Oliva <aoliva@redhat.com>
17194
17195 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
17196 arguments to 64-bit boundaries on 64-bit ABIs.
17197
71cef493
SE
171982002-01-30 Steve Ellcey <sje@cup.hp.com>
17199
17200 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
17201
6169e5fd
JM
172022002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
17203
17204 * c-decl.c (grokdeclarator): Handle type being a typedef for an
17205 invalid type.
17206
86f808dc
DB
172072002-01-30 David O'Brien <obrien@FreeBSD.org>
17208
17209 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
17210 * config/sparc/sparc_bi.h: Remove file.
17211 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
17212
5748ebeb
RH
172132002-01-30 Richard Henderson <rth@redhat.com>
17214
17215 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
17216
20d32cc2
ZW
172172002-01-30 Zack Weinberg <zack@codesourcery.com>
17218
17219 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
17220
b88c0704 172212002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
17222
17223 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
17224 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
17225 (reg_save): Use DW_CFA_offset_extended_sf instead.
17226
17227 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
17228
37060e78
JJ
172292002-01-29 Jakub Jelinek <jakub@redhat.com>
17230
17231 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
17232 in cselib_lookup.
17233
d18dba68
AH
172342002-01-29 Aldy Hernandez <aldyh@redhat.com>
17235
bebc7e8b
ZW
17236 * rs6000.md ("*call_value_local32"): Remove constraints.
17237 ("*call_value_local64"): Same.
17238 ("*call_value_indirect_nonlocal_aix32"): Same.
17239 ("*call_value_nonlocal_aix32"): Same.
17240 ("*call_value_indirect_nonlocal_aix64"): Same.
17241 ("*call_value_nonlocal_aix64"): Same.
17242 ("*call_value_nonlocal_sysv"): Same.
d18dba68 17243
80a8aac6
RH
172442002-01-29 Richard Henderson <rth@redhat.com>
17245
17246 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
17247
12beba6f
RH
172482002-01-29 Richard Henderson <rth@redhat.com>
17249
17250 * expr.c (force_operand): Ignore flag_pic for detecting pic
17251 address loads.
17252 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
17253 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
17254 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
17255 instead of open-coded loop.
17256 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
17257 be fixed when in use.
17258
2583081e
RH
172592002-01-29 Richard Henderson <rth@redhat.com>
17260
17261 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
17262 * sched-rgn.c (propagate_deps): Update them.
17263 * sched-deps.c (sched_analyze_insn): Update them. Flush the
17264 clobbers list when either gets too long.
17265
3b8d200e
JJ
172662002-01-29 Jakub Jelinek <jakub@redhat.com>
17267
17268 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
17269 and INDEX_REGS the same as GENERAL_REGS.
17270 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
17271
2d3115eb
NB
172722002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
17273
bebc7e8b 17274 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 17275
ecbe845e
UW
172762002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
17277
bebc7e8b 17278 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 17279 movstrsix_31): Remove, replace by ...
bebc7e8b 17280 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
17281 movstrsi_long): ... these. New.
17282 (movstrdi, movstrsi): Adapt.
17283
17284 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 17285 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
17286 Remove unnecessary CC clobber.
17287 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
17288 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
17289
17290 (divmoddi4): Don't partially initialize TImode register.
17291
0b32fca5
GK
172922002-01-29 Geoffrey Keating <geoffk@redhat.com>
17293
17294 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
17295
08ef5437
RH
172962002-01-29 Richard Henderson <rth@redhat.com>
17297
17298 * flow.c (print_rtl_and_abort): Remove.
17299 (print_rtl_and_abort_fcn): Remove.
17300 (verify_local_live_at_start): Use dump_bb instead.
17301 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
17302 (verify_wide_reg_1): Return 2 on mode test failure.
17303
8469e54e
NB
173042002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
17305
17306 PR c/3325, c/3326, c/2511, c/3347
17307 * c-decl.c (enum_decl_context): Remove BITFIELD.
17308 (grokdeclarator): Take bitfield width as an input.
17309 Ensure bitfields are given the correct type. Perform
17310 bitfield width validation with build_bitfield_integer_type
17311 rather than waiting for finish_struct.
17312 (grok_typename, grok_typename_in_parm_context, start_decl,
17313 push_parmdecl, grokfield, start_function): Update calls to
17314 grokdeclarator.
17315 (build_bitfield_integer_type): New function.
17316 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 17317 and build_bitfield_integer_type.
8469e54e
NB
17318 * tree.c (build_nonstandard_integer_type): New function.
17319 * tree.h (build_nonstandard_integer_type): New prototype.
17320objc:
17321 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
17322
ffdeea47
JJ
173232002-01-29 Jakub Jelinek <jakub@redhat.com>
17324
17325 PR other/1502:
17326 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
17327 don't ignore unrecognized -W* options.
17328 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
17329 * cpplib.h (cpp_handle_option): Adjust prototype.
17330 * c-decl.c (c_decode_options): Pass 0 as last argument to
17331 cpp_handle_option.
17332
17333 PR c/2896:
17334 * gcc.c (cpp_unique_options): Split from cpp_options.
17335 (cpp_options): Source cpp_unique_options.
17336 (default_compilers): Use cpp_unique_options instead of cpp_options
17337 when used together with cc1_options.
17338 (static_specs): Add cpp_unique_options.
17339 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
17340 when used together with cc1_options.
17341
1a275226
KH
173422002-01-29 Kazu Hirata <kazu@hxi.com>
17343
17344 * config/h8300/h8300-protos.h: Update the prototype of
17345 output_a_shift.
17346 * config/h8300/h8300.c (output_a_shift): Remove an unused
17347 argument 'insn'. Remove redundant code.
17348 * config/h8300/h8300.md: Adust to the new prototype of
17349 output_a_shift.
17350
a11d9dfc
KH
173512002-01-29 Kazu Hirata <kazu@hxi.com>
17352
17353 * config/h8300/h8300-protos.h: Update the prototypes of
17354 emit_a_rotate and expand_a_rotate.
17355 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
17356 first argument to 'enum rtx_code'.
17357 (expand_a_rotate): Likewise.
17358
871f73e3
KH
173592002-01-28 Kazu Hirata <kazu@hxi.com>
17360
17361 * config/h8300/h8300-protos.h: Update the prototype of
17362 output_simode_bld.
17363 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
17364 'log2'.
17365 * config/h8300/h8300.md: Adjust to the new prototype.
17366
5fc4b751
KH
173672002-01-28 Kazu Hirata <kazu@hxi.com>
17368
17369 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
17370 redundant code.
17371
2d67bd7b
JDA
173722002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
17373
17374 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
17375 is a fixed register before returning pic_offset_table_rtx.
17376 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
17377 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
17378
5a852b3e
JM
173792002-01-28 Jason Merrill <jason@redhat.com>
17380
6bb28965 17381 * dwarf2.h: Sync with src version.
5a852b3e 17382
3bca17dd
PK
173832002-01-28 Paul Koning <pkoning@equallogic.com>
17384
17385 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
17386 BT_FN_VOID_PTR_VAR.
17387 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
17388 * doc/extend.texi (__builtin_prefetch): Update documentation:
17389 first argument is now const void ptr.
17390
7dc3f8c0
KH
173912002-01-28 Kazu Hirata <kazu@hxi.com>
17392
17393 * config/h8300/h8300-protos.h: Remove an unused prototype.
17394
e83cb5f0
RZ
173952002-01-28 Roman Zippel <zippel@linux-m68k.org>
17396
17397 * toplev.c (lang_independent_init): Round up identifier size.
17398
5721cd84
RE
173992002-01-28 Richard Earnshaw <rearnsha@arm.com>
17400
17401 * config.gcc: Revert previous change.
17402
d534119e
AP
174032002-01-28 Andris Pavenis <pavenis@latnet.lv>
17404
17405 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
17406
5a721dab
RE
174072002-01-28 Richard Earnshaw <rearnsha@arm.com>
17408
17409 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
17410 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
17411 other non-elf netbsd config frags.
17412 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
17413 collect2 will does that.
17414 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
17415 shared-lib frobbing will work.
17416
da1775d6
KH
174172002-01-28 Kazu Hirata <kazu@hxi.com>
17418
17419 * config/h8300/h8300.h: Fix formatting.
17420 * config/h8300/h8300.md: Likewise.
17421
8f2e963b
LR
174222002-01-28 Loren J. Rittle <ljrittle@acm.org>
17423
17424 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
17425 the old, removed AAA_standards fix.
17426 * fixinc/fixincl.x: Rebuilt.
17427
fdae5767
HPN
174282002-01-28 Hans-Peter Nilsson <hp@axis.com>
17429
17430 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
17431 atexit call in crtbegin, hooked in after call to frame_dummy;
17432 register EH before registering __fini__start.
17433
2a2ecb63
AH
174342002-01-28 Aldy Hernandez <aldyh@redhat.com>
17435
17436 * config/rs6000/altivec.h: Remove spurious semicolons.
17437
8ed43adf
KH
174382002-01-27 Kazu Hirata <kazu@hxi.com>
17439
17440 * config/h8300/h8300.md: Replace dead bit extraction patterns
17441 with ones that work.
17442
917afb0c
RK
17443Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17444
17445 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
17446 if not STRICT_ALIGNMENT.
17447 * rtl.h (MEM_ALIGN): Likewise.
17448
f70a54cb
CR
174492002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
17450
17451 * doc/invoke.texi (-fdump-translation-unit): Revert this
17452 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
17453
d8fd4914
KH
174542002-01-27 Kazu Hirata <kazu@hxi.com>
17455
17456 * config/h8300/h8300.md (define_constants): New.
17457 (anonymous patterns) Use defined constants appropriately.
17458
15e0e275
KH
174592002-01-27 Kazu Hirata <kazu@hxi.com>
17460
17461 * config/h8300/h8300.c (function_arg): Remove redundant code.
17462
37a0f8a5
RH
174632002-01-26 Richard Henderson <rth@redhat.com>
17464
17465 * sched-deps.c (reg_pending_uses_head): New.
17466 (reg_pending_barrier): Rename from reg_pending_sets_all.
17467 (find_insn_list): Don't mark inline.
17468 (find_insn_mem_list): Remove.
17469 (add_dependence_list, add_dependence_list_and_free): New.
17470 (flush_pending_lists): Replace only_write param with separate
17471 for_read and for_write parameters. Update all callers. Use
17472 add_dependence_list_and_free.
17473 (sched_analyze_1): Do not add reg dependencies here; just set
17474 the pending bits. Use add_dependence_list.
17475 (sched_analyze_2): Likewise.
17476 (sched_analyze_insn): Replace schedule_barrier_found with
17477 reg_pending_barrier. Add all dependencies for pending reg
17478 uses, sets, and clobbers.
17479 (sched_analyze): Don't add reg dependencies for calls, just
17480 set pending bits. Use regs_invalidated_by_call. Treat
17481 sched_before_next_call as a normal list, not a fake insn.
17482 (init_deps): No funny init for sched_before_next_call.
17483 (free_deps): Free pending mems lists. Don't zero reg_last.
17484 (init_deps_global): Init reg_pending_uses.
17485 (finish_deps_global): Free it.
17486 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
17487 (find_insn_mem_list): Remove.
17488 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
17489 (propagate_deps): Use them. Zero temp mem lists.
17490
cea3bd3e
RH
174912002-01-26 Richard Henderson <rth@redhat.com>
17492
17493 * Makefile.in (CRTSTUFF_CFLAGS): New.
17494 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
17495 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
17496 crtstuff.c instead of alpha assembly version.
17497 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
17498 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
17499 not FORCE_{INIT,FINI}_SECTION_ALIGN.
17500 (__do_global_dtors_aux): Mark used.
17501 (frame_dummy, __do_global_ctors_aux): Mark used.
17502 (fini_dummy, init_dummy): Remove.
17503
17504 * config/alpha/crtbegin.asm: Remove file.
17505 * config/alpha/crtend.asm: Remove file.
17506 * config/alpha/t-crtbe: Remove file.
17507 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
17508 (LINK_EH_SPEC): New.
17509
17510 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
17511 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
17512 calling constructors.
17513 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
17514
17515 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
17516 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
17517 CRT_END_INIT_DUMMY hack.
17518 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
17519 FORCE_{INIT,FINI}_SECTION_ALIGN.
17520
17521 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
17522 FORCE_{INIT,FINI}_SECTION_ALIGN.
17523
17524 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
17525 invocation sequence.
17526 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
17527
17528 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
17529 (FORCE_CODE_SECTION_ALIGN): New.
17530
60ffa0e5
RH
175312002-01-26 Richard Henderson <rth@redhat.com>
17532
17533 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
17534
61334ebe
RH
175352002-01-26 Richard Henderson <rth@redhat.com>
17536
17537 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
17538 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
17539
1d788fb6
KH
175402002-01-26 Kazu Hirata <kazu@hxi.com>
17541
17542 * config/h8300/h8300.md: Remove bit extraction patterns that
17543 cannot be triggered.
17544 Restrict each bit extraction pattern to a variant on which the
17545 pattern is tested.
17546
87611f88
JM
175472002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
17548
17549 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
17550
cd74ec59
KH
175512002-01-26 Kazu Hirata <kazu@hxi.com>
17552
17553 * config/h8300/h8300.md: Remove bit test patterns that cannot
17554 be triggered.
17555 Restrict each bit test pattern to a variant on which the
17556 pattern is tested.
17557
93051e0f
KG
175582002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17559
17560 * builtins.c (expand_builtin_strncat): Remove redundant check for
17561 INTEGER_CST.
17562
216c995f
DB
175632002-01-25 David O'Brien <obrien@FreeBSD.org>
17564
17565 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
17566 default setting.
17567 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
17568 existing setting.
17569
33c7f925
GK
175702002-01-25 Geoffrey Keating <geoffk@redhat.com>
17571
17572 * dbxout.c (dbxout_init): Use assemble_name rather than just
17573 stripping off the first character.
17574 (dbxout_source_file): Likewise.
17575
6cd444b4
DD
175762002-01-25 DJ Delorie <dj@redhat.com>
17577
17578 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
17579 using rtx_equal_p, not by comparing pointers.
17580
751551d5
SE
175812002-01-25 Steve Ellcey <sje@cup.hp.com>
17582
17583 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
17584 for PIC_OFFSET_TABLE_REGNUM.
17585 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
17586
e564e618
DB
175872002-01-25 David O'Brien <obrien@FreeBSD.org>
17588
17589 * config.gcc (x86_64-*-freebsd*): New target.
17590 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
17591 value.
17592 (i[34567]86-*-freebsd*): Don't include svr4.h.
17593 * config/i386/freebsd64.h: New file.
17594
ff3aaf17
DR
175952002-01-25 Douglas B Rupp <rupp@gnat.com>
17596
4857d29d
DR
17597 * config/alpha/x-vms (version): Make static.
17598
17599 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
17600 in previous checkin.
17601
ff3aaf17
DR
17602 * Makefile.in (install-headers-cp): New target.
17603 * config.gcc (alpha-dec-*vms*): Install headers with
17604 install-headers-cp
17605
48d79c43
JH
17606Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
17607
17608 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
17609 avoid it's copies.
17610
995b5904
RK
17611Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17612
17613 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
17614 of compare_tree_int.
17615 (expand_builtin_strncat): Likewise.
17616 * c-decl.c (finish_struct): Use tree_low_cst.
17617 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
17618 * tree.c (compare_tree_int): Likewise.
17619
75eefe3f
UW
176202002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
17621
17622 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
17623 adjustments even if they are implemented by more than two insns.
17624
5a133afd
JH
17625Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
17626
995b5904 17627 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
17628 * df.h (struct ref): Kill B.
17629 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
17630
17631 * basic-block.h (PROP_EQUAL_NOTES): New flag.
17632 * flow.c (propagate_one_insn): Use it.
17633 (mark_used_regs): Handle NIL.
17634
ead39bdf 176352002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
17636
17637 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
17638 to help folding.
17639
01a2ccd0
DE
176402002-01-25 David Edelsohn <edelsohn@gnu.org>
17641
17642 * rs6000.md (prefetch): Make address V4SI mode so that the address
17643 is restricted to legitimate form for instruction.
17644
fd29f6ea
BW
176452002-01-25 Bob Wilson <bob.wilson@acm.org>
17646
17647 * doc/install.texi (xtensa-*-elf): New target.
17648 (xtensa-*-linux*): New target.
17649 * doc/contrib.texi: Add myself.
17650
55492b32
NC
176512002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
17652
17653 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
17654 purpose register to hold an SImode (or smaller) value.
17655
72c7c913
JJ
176562002-01-25 Jakub Jelinek <jakub@redhat.com>
17657
17658 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
17659 registry only.
17660 * crtstuff.c: Likewise.
17661
c4df4ceb
KH
176622002-01-25 Kazu Hirata <kazu@hxi.com>
17663
17664 * config/h8300/h8300.md (negation patterns): Tighten
17665 predicates to register_operand.
17666
70e531f5
AH
176672002-01-24 Aldy Hernandez <aldyh@redhat.com>
17668
3bca17dd
PK
17669 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
17670 mode, not Pmode.
70e531f5 17671
3bca17dd 17672 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 17673
a4f76ef9
AO
176742002-01-24 Alexandre Oliva <aoliva@redhat.com>
17675
17676 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
17677 modes.
17678
9bf25b09
KH
176792002-01-24 Kazu Hirata <kazu@hxi.com>
17680
17681 * config/h8300/h8300.c (print_operand): Remove support for
17682 operand character 'A'.
17683 * config/h8300/h8300.md (three anonymous patterns): Replace
17684 operand character 'A' with either 'T' or 'S'.
17685
974af6a5
KH
176862002-01-24 Kazu Hirata <kazu@hxi.com>
17687
17688 * config/h8300/h8300.c (print_operand): Remove support for
17689 operand character 'U'.
17690
7a5bb7b8
AP
176912002-01-24 Andris Pavenis <pavenis@latnet.lv>
17692
3bca17dd 17693 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 17694
92a4639e
NC
176952002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
17696
17697 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
17698 values to be assigned to the stack pointer.
17699
467cb2da
HP
177002002-01-14 Hartmut Penner <hpenner@de.ibm.com>
17701
bebc7e8b 17702 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
17703 to const_double needs to be done right for big-endian systems.
17704
3b6cb920
JM
177052002-01-24 Jason Merrill <jason@redhat.com>
17706
b08dd119 17707 PR c++/2432
3b6cb920
JM
17708 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
17709 to can_throw_internal.
17710
f3077311
RH
177112002-01-23 Richard Henderson <rth@redhat.com>
17712
17713 * fold-const.c (fold): Change UINT_MAX test to check vs precision
17714 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
17715
e1d71275
AO
177162002-01-24 Alexandre Oliva <aoliva@redhat.com>
17717
17718 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
17719 (symGOT2reg): Use them, then set as GOT value as unchanging.
17720 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
17721 as a temporary, if possible.
17722 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
17723 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
17724
dc271dbe
KH
177252002-01-23 Kazu Hirata <kazu@hxi.com>
17726
17727 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
17728 accept to accept 0x80 as operands[2].
17729
1a9017f9
AO
177302002-01-24 Alexandre Oliva <aoliva@redhat.com>
17731
17732 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
17733
6932f033
RH
177342002-01-23 Richard Henderson <rth@redhat.com>
17735
17736 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
17737
709619d9
AH
177382002-01-23 Aldy Hernandez <aldyh@redhat.com>
17739
3bca17dd
PK
17740 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
17741 (parmlist_or_identifiers_1): Verify that only a parmlist follows
17742 an attribute.
709619d9 17743
3d709fd3
RH
177442002-01-23 Richard Henderson <rth@redhat.com>
17745
17746 * expr.c (move_by_pieces_1): Extend size before negation.
17747
88a446c0
RH
17748 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
17749 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
17750 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
17751 * config/m68k/t-m68kelf: Likewise.
17752
03984308
BW
177532002-01-23 Bob Wilson <bob.wilson@acm.org>
17754
17755 * config/xtensa/elf.h: New file.
17756 * config/xtensa/lib1funcs.asm: New file.
17757 * config/xtensa/lib2funcs.S: New file.
17758 * config/xtensa/linux.h: New file.
17759 * config/xtensa/t-xtensa: New file.
17760 * config/xtensa/xtensa-config.h: New file.
17761 * config/xtensa/xtensa-protos.h: New file.
17762 * config/xtensa/xtensa.c: New file.
17763 * config/xtensa/xtensa.h: New file.
17764 * config/xtensa/xtensa.md: New file.
17765 * config.gcc (xtensa-*-elf*): New target.
17766 (xtensa-*-linux*): New target.
17767 * cse.c (canon_hash): Compare rtx pointers instead of register
17768 numbers. This is required for the Xtensa port.
17769 * integrate.c (copy_insn_list): Handle case where the static
17770 chain is in memory and the memory address has to be copied to
17771 a register.
17772 * doc/invoke.texi (Option Summary): Add Xtensa options.
17773 (Xtensa Options): New node.
17774 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
17775
c3d5c3fa
ZW
177762002-01-23 Zack Weinberg <zack@codesourcery.com>
17777
a63bea75
ZW
17778 * diagnostic.c (internal_error): Do ICE suppression only
17779 when ENABLE_CHECKING is not defined.
17780
c3d5c3fa
ZW
17781 * c-typeck.c (require_complete_type): Return error_mark_node
17782 if type is error_mark_node.
17783
1398974c
JJ
177842002-01-23 Janis Johnson <janis187@us.ibm.com>
17785
17786 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
17787 -Os and issue a warning.
17788
807633e5
ZW
177892002-01-23 Zack Weinberg <zack@codesourcery.com>
17790
17791 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
17792 current (lack of) need for host configuration by hand.
17793
17794 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
17795 references. Documentation of some target macros moved from
17796 hostconfig.texi to tm.texi.
17797
cf8002d0
WC
177982002-01-23 Will Cohen <wcohen@redhat.com>
17799
17800 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
17801 defined.
17802
d1e76310
KH
178032002-01-23 Kazu Hirata <kazu@hxi.com>
17804
17805 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
17806 operand[3].
17807
b2115575
JM
178082002-01-23 Jason Merrill <jason@redhat.com>
17809
f893c16e
JM
17810 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
17811
b2115575
JM
17812 * function.c (assign_parms): Don't put args of inline functions
17813 into registers when not optimizing.
17814
6bacc7b0
NC
178152002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
17816
17817 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
17818 (prologue_use): New pattern.
17819 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
17820 preference to gen_rtx_USE.
17821 (thumb_expand_prologue): Use gen_prologue_use in preference to
17822 gen_rtx_USE.
17823 (thumb_expand_epilogue): Use gen_prologue_use in preference to
17824 gen_rtx_USE.
17825
a415f7bc
HPN
178262002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
17827
17828 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
17829
5372b3fb
NB
178302002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
17831
17832 PR c/3504
17833 * doc/extend.texi: Correct documentation of __alignof__.
17834
bd571ffc
ZW
178352002-01-22 Zack Weinberg <zack@codesourcery.com>
17836
17837 * params.h: Rename arguments of DEFPARAM so that it will be
17838 recognized as a translation keyword.
17839
333c8841
AH
178402002-01-22 Aldy Hernandez <aldyh@redhat.com>
17841
bd571ffc
ZW
17842 * extend.texi: Document altivec functions.
17843 Fix N-bit adjectives in X86 builtin documentation.
333c8841 17844
38979c65
AO
178452002-01-22 Alexandre Oliva <aoliva@redhat.com>
17846
17847 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
17848 auto_inc_dec values.
17849
7458a9f0
RE
178502002-01-22 Richard Earnshaw <rearnsha@arm.com>
17851
17852 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
17853 after backslash.
17854 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
17855
129bd0c4
AO
178562002-01-22 Alexandre Oliva <aoliva@redhat.com>
17857
17858 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
17859
8b9b74a9
RH
178602002-01-22 Richard Henderson <rth@redhat.com>
17861
17862 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
17863 copy_insn not copy_rtx.
17864
d0c9db30
AM
178652002-01-23 Alan Modra <amodra@bigpond.net.au>
17866
17867 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
17868 "nonzero" as that might add "1" bits. Ensure "constop" is
17869 properly sign extened.
17870 (force_to_mode): Tweak for sign extended constop.
17871
1e7e480e
RH
178722002-01-22 Richard Henderson <rth@redhat.com>
17873
17874 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
17875 for_each_rtx instead of assuming we're already looking at the MEM.
17876 (split_small_symbolic_mem_operand): Likewise.
17877 * config/alpha/alpha.h (PREDICATE_CODES): Update.
17878 * config/alpha/alpha.md (small symbolic memory splitters): Update.
17879
178802002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
17881
17882 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
17883 sequence number for the literal.
17884 (divmoddi_internal_er): Likewise.
17885
b7f2fb96
CR
178862002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
17887
17888 PR java/4972
17889 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
17890 in LIBICONV variable.
17891 * configure: Regenerated.
17892
f66a0046
KW
178932002-01-22 Krister Walfridsson <cato@df.lth.se>
17894
17895 * dependence.c (build_def_use): Remove array_idx.
17896
e3b0efd1
KW
17897 * dwarfout.c (last_filename): Remove.
17898 (output_compile_unit_die): Remove last_filename.
17899
d8086cbb
RS
179002002-01-22 Roger Sayle <roger@eyesopen.com>
17901 Richard Henderson <rth@redhat.com>
17902
17903 PR opt/3640
17904 * fold-const.c (fold): Optimize unsigned comparisons against
17905 UINT_MAX (and similar unsigned constants).
17906
e8d52ba0
JJ
179072002-01-22 Janis Johnson <janis187@us.ibm.com>
17908
d8086cbb 17909 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 17910 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 17911 against the predicate.
11303d15 17912
e8d52ba0
JJ
17913 PR target/5379
17914 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
17915 for the address operand.
17916
cc7b420e
RH
179172002-01-22 Richard Henderson <rth@redhat.com>
17918
17919 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
17920
816e265a
CR
179212002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
17922
17923 PR other/5450
cc7b420e
RH
17924 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
17925 preprocessor flags.
816e265a 17926
7c884404
JT
179272002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
17928
17929 * config.gcc (x86_64-*-netbsd*): New target.
17930 * config/i386/netbsd64.h: New file.
17931
2b672c08
AH
179322002-01-22 Aldy Hernandez <aldyh@redhat.com>
17933
d8086cbb 17934 * regrename.c (kill_value): Fix typo.
2b672c08
AH
17935
179362002-01-22 Aldy Hernandez <aldyh@redhat.com>
17937
d8086cbb 17938 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 17939
d8086cbb 17940 * config/rs6000/rs6000.h: Same.
2b672c08 17941
d8086cbb
RS
17942 * function.c (instantiate_virtual_regs): Remove
17943 STARTING_FRAME_PHASE.
17944 (assign_stack_local_1): Same.
17945 Calculate frame phase.
2b672c08 17946
4b02997f
NC
179472002-01-22 Nick Clifton <nickc@redhat.com>
17948
17949 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
17950 variable declaration to outer scope in order to simplify
17951 future extensions.
17952 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
17953 arm_hard_regno_mode_ok.
17954 * config/arm/arm-protos.h: Add a prototype for
17955 arm_hard_regno_mode_ok.
17956 * config/arm/arm.c (soft_df_operand): Remove now redundant
17957 check for DImode values using IP_REGNUM.
17958 (nonimmediate_soft_df_operand): Remove now redundant check for
17959 DImode values using IP_REGNUM.
17960 (arm_hard_regno_mode_ok): New function. New check: make sure
17961 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
17962
17963 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
17964 note with a USE.
17965 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
17966
8a827ab2
JM
179672002-01-22 Jason Merrill <jason@redhat.com>
17968
17969 * c-semantics.c (genrtl_compound_stmt): Only check nesting
17970 consistency if this COMPOUND_STMT is scoped.
17971
cf403648
KH
179722002-01-22 Kazu Hirata <kazu@hxi.com>
17973
17974 * predict.c: Fix formatting.
17975 * print-tree.c: Likewise.
17976 * protoize.c: Likewise.
17977 * real.h: Likewise.
17978 * rtl.h: Likewise.
17979 * sbitmap.h: Likewise.
17980 * scan.c: Likewise.
17981 * sched-deps.c: Likewise.
17982 * sched-vis.c: Likewise.
17983 * sdbout.c: Likewise.
17984 * sibcall.c: Likewise.
17985 * ssa.c: Likewise.
17986 * ssa-ccp.c: Likewise.
17987 * ssa-dce.c: Likewise.
17988 * stmt.c: Likewise.
17989 * stor-layout.c: Likewise.
17990 * system.h: Likewise.
17991
aea9695c
RK
17992Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17993
a8765ae7
RK
17994 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
17995 if fits in bounds of base type.
17996
aea9695c
RK
17997 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
17998 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
17999 (add_bound_info, default): If can't find a context, make a
18000 SAVE_EXPR.
18001 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
18002
58bf601b
HPN
180032002-01-22 Hans-Peter Nilsson <hp@axis.com>
18004
18005 * c-typeck.c (parser_build_binary_op): If result from
18006 build_binary_op is ERROR_MARK just return error_mark_node without
18007 further processing.
18008
f982f805
JT
180092002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
18010
18011 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
18012 Split a.out-specific bits into...
18013 * config/netbsd-aout.h: ...this.
18014 * config/netbsd-elf.h: New file.
18015 * config/alpha/netbsd-elf.h: Remove.
18016 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
18017 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 18018 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
18019 (ENDFILE_SPEC): Likewise.
18020 (LINK_SPEC): Likewise.
18021 (CPP_SPEC): Likewise.
18022 (ASM_SPEC): Likewise.
18023 (LIB_SPEC): Likewise.
18024 (SWITCH_TAKES_ARG): Likewise.
18025 (TARGET_MEM_FUNCTIONS): Likewise.
18026 (CPP_PREDEFINES): Redefine.
18027 (ASM_FINAL_SPEC): Remove redefinition.
18028 (ASM_COMMENT_START): Redefine.
18029 (FUNCTION_PROFILER): Define.
18030 (TARGET_VERSION): Redefine.
18031 Comment and formatting cleanup.
18032 * config/i386/netbsd.h: Include <netbsd-aout.h>.
18033 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
18034 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
18035 big- or little-endian.
18036 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
18037 * config.gcc (*-*-netbsd*): Add definitions common to all
18038 NetBSD configs.
18039 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
18040 gnu_ld definitions. Add netbsd-elf.h to and remove
18041 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
18042 tmake_file, and don't lose previous tmake_file contents.
18043 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
18044 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
18045 gnu_ld definitions. Add netbsd-elf.h to tm_file.
18046 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
18047 (mipsel-*-netbsd*): Rename this to...
18048 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
18049 mips/little.h to tm_file for mips*el-*.
18050 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
18051 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
18052 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
18053
2e396476
JDA
180542002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
18055
18056 * pa-protos.h (reg_before_reload_operand): New function prototype.
18057 * pa.c (reg_before_reload_operand): New function implementation.
18058 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
18059 contraints to "*m".
18060
3b5708e7
FS
180612002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18062
18063 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
18064
85e79f96
JDA
180652002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
18066
18067 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
18068 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
18069 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
18070 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
18071 (ENDFILE_SPEC): Undefine.
18072 (STARTFILE_SPEC): Redefine for PA.
18073
38abadee
FS
180742002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18075
18076 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
18077
94f1d97c
DJ
180782002-01-21 Daniel Jacobowitz <drow@mvista.com>
18079
18080 * config.gcc: Add entries to supported PowerPC --with-cpu
18081 types.
18082
0333394e
JJ
180832002-01-21 Jakub Jelinek <jakub@redhat.com>
18084
18085 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
18086 true for 64-bit mode only SSE registers in 32-bit mode.
18087
e9d1b155
KH
180882002-01-21 Kazu Hirata <kazu@hxi.com>
18089
18090 * unwind-dw2.c: Fix formatting.
18091 * unwind-dw2-fde.c: Likewise.
18092 * unwind-dw2-fde.h: Likewise.
18093 * unwind-pe.h: Likewise.
18094 * varasm.c: Likewise.
18095 * varray.h: Likewise.
18096
07338cf8
HPN
180972002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
18098
18099 Remove workaround for register stack overwrite bug in mmix.
18100 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
18101 support for TARGET_REG_STACK_FILL_BUG.
18102 * config/mmix/mmix.h: Remove member has_call_without_parameters.
18103 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
18104 Delete.
18105 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
18106 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
18107 -mno-reg-stack-fill-bug-workaround.
18108 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
18109 machine member has_call_without_parameters.
18110 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
18111 -mreg-stack-fill-bug-workaround and
18112 -mno-reg-stack-fill-bug-workaround.
18113 (MMIX Options): Ditto.
18114
7192cbf1
KH
181152002-01-21 Kazu Hirata <kazu@hxi.com>
18116
18117 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
18118 as appropriate.
18119 Remove redundant code.
18120
d1552d7b
JM
181212002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
18122
18123 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
18124 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
18125 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
18126 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
18127 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
18128 out target macro definitions and non-target-specific comments
18129 mostly taken from old versions of the manual.
18130
ed168e45
KH
181312002-01-20 Kazu Hirata <kazu@hxi.com>
18132
18133 * config/h8300/h8300.h: Fix comment formatting.
18134 * config/ia64/aix.h: Likewise.
18135 * config/ia64/ia64-protos.h: Likewise.
18136 * config/ia64/ia64.c: Likewise.
18137 * config/ia64/ia64.h: Likewise.
18138 * config/ia64/ia64intrin.h: Likewise.
18139 * config/ia64/linux.h: Likewise.
18140 * config/ia64/unwind-aix.c: Likewise.
18141 * config/ia64/unwind-ia64.c: Likewise.
18142
005e3e05
KH
181432002-01-20 Kazu Hirata <kazu@hxi.com>
18144
18145 * config/h8300/h8300.c: Revise comments about shift code.
18146
64bead4c
KH
181472002-01-20 Kazu Hirata <kazu@hxi.com>
18148
18149 * config/h8300/h8300.c (function_arg): Update a comment.
18150
ed863595
KH
181512002-01-20 Kazu Hirata <kazu@hxi.com>
18152
18153 * config/h8300/h8300.md: Update the comments at the beginning
18154 of the file.
18155
5904dc87
KH
181562002-01-20 Kazu Hirata <kazu@hxi.com>
18157
18158 * config/i370/i370.c: Fix comment formatting.
18159 * config/i370/i370.h: Likewise.
18160 * config/i370/i370.md: Likewise.
18161 * config/i370/linux.h: Likewise.
18162
9702143f
RK
18163Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18164
cbafacd1
RK
18165 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
18166
9702143f
RK
18167 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
18168 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
18169 in incomplete case.
18170
6b6996b8
GS
181712002-01-20 Graham Stott <grahams@redhat.com>
18172
18173 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
18174
eab854f6
JDA
181752002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
18176
18177 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
18178
5b029315
TR
181792002-01-19 Tom Rix <trix@redhat.com>
18180
18181 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
18182
1d690052
AH
181832002-01-18 Aldy Hernandez <aldyh@redhat.com>
18184
d8086cbb 18185 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 18186
d8086cbb
RS
18187 * function.c (assign_stack_local_1): Adjust x_frame_offset with
18188 STARTING_FRAME_PHASE.
18189 (STARTING_FRAME_PHASE): New.
18190 (instantiate_virtual_regs): Check saneness of
18191 STARTING_FRAME_PHASE.
1d690052 18192
d8086cbb 18193 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 18194
4dd8c093
AO
181952002-01-19 Alexandre Oliva <aoliva@redhat.com>
18196
18197 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
18198
6f2a28d7
CR
181992002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
18200
18201 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
18202 be used for bootstrapping GCC 3.0.
18203
8763a465
KH
182042002-01-18 Kazu Hirata <kazu@hxi.com>
18205
18206 * config/h8300/h8300.md: Fix an insn length.
18207
3ef42a0c
KH
182082002-01-18 Kazu Hirata <kazu@hxi.com>
18209
18210 * bitmap.h: Fix comment formatting.
18211 * combine.c: Likewise.
18212 * cppfiles.c: Likewise.
18213 * c-pragma.h: Likewise.
18214 * c-typeck.c: Likewise.
18215 * df.c: Likewise.
18216 * dwarf2out.c: Likewise.
18217 * function.c: Likewise.
18218 * gcc.c: Likewise.
18219 * genattrtab.c: Likewise.
18220 * gthr-win32.h: Likewise.
18221 * haifa-sched.c: Likewise.
18222 * predict.c: Likewise.
18223 * rtlanal.c: Likewise.
18224 * rtl.h: Likewise.
18225 * unwind-dw2-fde.h: Likewise.
18226 * unwind-pe.h: Likewise.
18227 * vmsdbgout.c: Likewise.
18228
dd4dc3cd
RK
18229Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18230
18231 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
18232 if type_required and passed decl.
18233
5fb4cf24
AH
182342002-01-17 Aldy Hernandez <aldyh@redhat.com>
18235
d8086cbb
RS
18236 * config.gcc (cpu_type): Include altivec.h in powerpc
18237 extra_headers.
18238 Same for darwin.
5fb4cf24 18239
d8086cbb 18240 * config/rs6000/altivec.h: New.
5fb4cf24 18241
2705baf5
DE
182422002-01-17 David Edelsohn <edelsohn@gnu.org>
18243
18244 * doc/install.texi (*-ibm-aix*): Update assembler and exception
18245 handling information.
18246 * doc/trouble.texi (Interoperation): Add libstdc++ information
18247 for AIX.
18248 (Misunderstandings): Add template instantiation and static template
18249 member information for AIX.
18250
dbd680e1
JM
182512002-01-17 Jason Merrill <jason@redhat.com>
18252
821adc5e
JM
18253 * dbxout.c (dbxout_type): Support const and volatile.
18254
dbd680e1
JM
18255 * except.c (add_partial_entry): Remove backwards compatibility code.
18256 (end_protect_partials): Likewise.
18257
d0e82870
JJ
182582002-01-17 Jakub Jelinek <jakub@redhat.com>
18259
18260 * config/ia64/ia64.md (prologue_use): New.
18261 * config/ia64/ia64.c (ia64_expand_prologue): Use
18262 gen_prologue_use instead of gen_rtx_USE.
18263 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
18264 as CODE_FOR_pred_rel_mutex.
18265 (ia64_sched_reorder2): Likewise.
18266
f9f45c65
EC
182672002-01-16 Eric Christopher <echristo@redhat.com>
18268
18269 * config/mips/r3900.h: Reformat.
18270 (SUBTARGET_CPP_SIZE_SPEC): Remove.
18271 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
18272 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
18273 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
18274 * config/mips/t-elf: Remove mips3 multilib.
18275
c66c8b0e
L
182762002-01-16 H.J. Lu <hjl@gnu.org>
18277
18278 * config/mips/linux.h: Include "mips/abi64.h".
18279
5f083b72
L
182802002-01-16 H.J. Lu <hjl@gnu.org>
18281
18282 * config/mips/t-linux: New.
18283
18284 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
18285
18286 * config/mips/linux.h: Don't include "gofast.h".
18287 (INIT_SUBTARGET_OPTABS): Removed.
18288
af3c90a6
KH
182892002-01-16 Kazu Hirata <kazu@hxi.com>
18290
18291 * config/h8300/h8300-protos.h: Replace emit_a_shift with
18292 output_a_shift.
18293 * config/h8300/h8300.c: Likewise.
18294 * config/h8300/h8300.md: Likewise.
18295
a1bf0a16
KH
182962002-01-16 Kazu Hirata <kazu@hxi.com>
18297
18298 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
18299 spaces after an opcode name.
18300 (pushqi1_h8300hs): Likewise.
18301 (pushhi1_h8300hs): Likewise.
18302
88ab0d1c
KH
183032002-01-16 Kazu Hirata <kazu@hxi.com>
18304
18305 * doc/extend.texi: Replace "option" with "attribute"
18306 appropriately.
18307
51c561e3
JJ
183082002-01-16 Jakub Jelinek <jakub@redhat.com>
18309
18310 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
18311 (and:DI () (const_int -8)).
18312 (split_small_symbolic_mem_operand): Split
18313 (mem (and:DI () (const_int -8)).
18314
b8c1a6b8
JJ
183152002-01-16 Jakub Jelinek <jakub@redhat.com>
18316
18317 PR target/5309:
d8086cbb 18318 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
18319 same way as TYPE_IMUL.
18320 (ultrasparc_sched_reorder): Likewise.
18321 * config/sparc/sparc.md (type): Add comment to update
18322 ultrasparc_sched_reorder when making changes.
18323
1e4e4df2
KH
183242002-01-16 Kazu Hirata <kazu@hxi.com>
18325
18326 * doc/invoke.texi: Change the dump file name of block
18327 reordering pass from 28.bbro to 29.bbro.
18328 Mention -dk option.
18329
14d920c0
JH
18330Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
18331
18332 * i386.md (minsf splitter): Fix pasto.
18333
2e99323f
NC
183342002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
18335
18336 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
18337 to frame pointer initialisation instruction.
18338 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
18339 initialisation instruction.
ab8081c1
NC
18340 (soft_df_operand): Do not accept the IP register.
18341 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 18342
c4031a04
JJ
183432002-01-16 Jakub Jelinek <jakub@redhat.com>
18344
18345 PR target/5357:
18346 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
18347 MASK_V8 being both set.
18348
44b8152b
UW
183492002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
18350
18351 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
18352 insn for GOT register; add REG_MAYBE_DEAD notes instead.
18353 config/s390/s390.md (call, call_value): Add GOT register to
18354 CALL_INSN_FUNCTION_USAGE where needed.
18355 (call_exp, call_value_exp): New.
18356
1d6e90ac
NC
183572002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
18358
18359 * config/arm/arm.c: General formatting tidy up.
18360
183612002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
18362
18363 * calls.c (try_to_integrate): Use "(size_t)" intermediate
18364 cast and when casting an integer literal to "rtx" pointer.
18365 (expand_call): Likewise.
18366 * flow.c (try_pre_increment): Likewise.
18367 (find_use_as_address): Likewise.
18368 * integrate.c (expand_iline_function): Likewise.
18369 * regmove.c (try_auto_increment): Likewise.
18370
1d6e90ac 183712002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
18372
18373 * sched-rgn.c (passed): Use sbitmap_free.
18374 (header): Likewise.
18375 (inner): Likewise.
18376 (in_queue): Likewise.
18377 (in_stack): Likewise.
18378
31fce3c4
EC
183792002-01-15 Eric Christopher <echristo@redhat.com>
18380
18381 * flow.c (propagate_one_insn): Change to use fatal_insn.
18382
c99d986a
KH
183832002-01-15 Kazu Hirata <kazu@hxi.com>
18384
18385 * expmed.c (extract_fixed_bit_field): Remove unused code.
18386 * system.h: Poison SLOW_ZERO_EXTEND.
18387 * doc/tm.texi: Remove.
18388 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
18389 * config/arm/arm.h: Likewise.
18390 * config/avr/avr.h: Likewise.
18391 * config/clipper/clipper.h: Likewise.
18392 * config/convex/convex.h: Likewise.
18393 * config/d30v/d30v.h: Likewise.
18394 * config/dsp16xx/dsp16xx.h: Likewise.
18395 * config/elxsi/elxsi.h: Likewise.
18396 * config/fr30/fr30.h: Likewise.
18397 * config/h8300/h8300.h: Likewise.
18398 * config/i370/i370.h: Likewise.
18399 * config/i386/i386.h: Likewise.
18400 * config/m68k/m68k.h: Likewise.
18401 * config/mips/mips.h: Likewise.
18402 * config/ns32k/ns32k.h: Likewise.
18403 * config/pdp11/pdp11.h: Likewise.
18404 * config/pj/pj.h: Likewise.
18405 * config/s390/s390.h: Likewise.
18406 * config/sh/sh.h: Likewise.
18407 * config/stormy16/stormy16.h: Likewise.
18408 * config/v850/v850.h: Likewise.
18409 * config/vax/vax.h: Likewise.
18410 * config/we32k/we32k.h: Likewise.
18411
acfab996
AH
184122002-01-15 Aldy Hernandez <aldyh@redhat.com>
18413
d8086cbb
RS
18414 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
18415 (altivec_lvsl): Change constraint to b.
18416 (altivec_lvsr): Same.
18417 (altivec_lvebx): Same.
18418 (altivec_lvehx): Same.
18419 (altivec_lvewx): Same.
18420 (altivec_lvxl): Same.
18421 (altivec_lvx): Same.
18422 (altivec_stvx): Add parallel.
18423 (altivec_stvxl): Same.
18424 (altivec_stvehx): Same.
18425 (altivec_stvebx): Same.
18426 (altivec_stvebx): Same.
acfab996 18427
5e505bc9
AH
184282002-01-15 Aldy Hernandez <aldyh@redhat.com>
18429
d8086cbb 18430 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 18431
d8086cbb 18432 * config/rs6000/altivec.h: Delete.
5e505bc9 18433
d8086cbb 18434 * config/rs6000/altivec-defs.h: Add.
5e505bc9 18435
5c41fdfb
JDA
184362002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
18437
18438 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
18439 and UMOD modes.
18440
18441 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
18442 less than or equal to eight bytes.
18443
18444 * vax.md (andsi3): Remove constraints and change SET destination
18445 operand type to nonimmediate_operand.
18446 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
18447 when it is a CONST_INT.
18448
de097a2d
JM
184492002-01-15 Jason Merrill <jason@redhat.com>
18450
18451 * c-common.def (FILE_STMT): New code.
18452 * c-common.c (statement_code_p): It's a statement.
18453 * c-common.h (stmt_tree_s): Add x_last_filename.
18454 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
18455 (last_expr_filename): New macro.
18456 * c-semantics.c (begin_stmt_tree): Initialize it.
18457 (add_stmt): If the filename changed, also insert a
18458 FILE_STMT.
18459 (expand_stmt): Handle seeing one.
18460
4a913dd6
EC
184612002-01-15 Eric Christopher <echristo@redhat.com>
18462
18463 * flow.c (propagate_one_insn): Add error message and print out
18464 insn for debugging.
18465
006946e4
JM
184662002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
18467
18468 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
18469 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
18470 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
18471 TRAMPOLINE_ALIGNMENT.
18472 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
18473 to be in bits.
18474 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
18475 PCC_BITFIELD_TYPE_MATTERS.
18476 * config/interix.h (STDC_VALUE): Remove. Use
18477 STDC_0_IN_SYSTEM_HEADERS.
18478 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
18479 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
18480 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
18481
751a1458
CR
184822002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
18483
18484 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
18485 not work on this platform currently.
18486
57771fe8
JM
184872002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
18488
18489 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
18490 readonly_warning in _().
18491
0e83ceb1 184922002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 18493
0e83ceb1 18494 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 18495
8e2e89f7
KH
184962002-01-15 Kazu Hirata <kazu@hxi.com>
18497
0e83ceb1
DR
18498 * config/h8300/h8300.c (print_operand): Remove support for
18499 unused operand characters.
18500
8e2e89f7
KH
18501 * read-rtl.c: Fix formatting.
18502 * real.c: Likewise.
18503 * recog.c: Likewise.
18504 * regclass.c: Likewise.
18505 * regmove.c: Likewise.
18506 * reg-stack.c: Likewise.
18507 * reload1.c: Likewise.
18508 * rtlanal.c: Likewise.
18509
b531087a
KH
185102002-01-15 Kazu Hirata <kazu@hxi.com>
18511
18512 * config/i386/i386.c: Fix formatting.
18513
7c94ce7f
JJ
185142002-01-15 Jakub Jelinek <jakub@redhat.com>
18515
18516 * c-typeck.c (process_init_element): Don't save_expr
18517 COMPOUND_LITERAL_EXPR if just its initializer will be used.
18518
6041bf2f
DE
185192002-01-15 David Edelsohn <edelsohn@gnu.org>
18520
18521 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
18522 emit optional traceback table if optimize_size or TARGET_ELF.
18523 * config/rs6000/rs6000.md (prefetch): New.
18524
8559c8c0
AJ
185252002-01-15 Andreas Jaeger <aj@suse.de>
18526
18527 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
18528
70f122f2
KH
185292002-01-15 Kazu Hirata <kazu@hxi.com>
18530
18531 * mips-tfile.c: Fix formatting.
18532
6a7b4ca6
JH
18533Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
18534
18535 * unroll.c (final_reg_note_copy): Fix previous commit.
18536
e7afe229
KH
185372002-01-14 Kazu Hirata <kazu@hxi.com>
18538
18539 * config/h8300/h8300-protos.h: Remove the prototype for
18540 eq_operator.
18541 * config/h8300/h8300.c (eq_operator): Remove.
18542
7d378549
RH
185432002-01-14 Richard Henderson <rth@redhat.com>
18544
18545 * config/i386/i386.md (prefetch): Tidy.
18546 (prefetch_3dnow): Fix locality operand.
18547
ab093b81
RH
185482002-01-14 Richard Henderson <rth@redhat.com>
18549
18550 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
18551 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
18552
d300f51f
HPN
185532002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
18554
18555 * reload1.c (reload_combine): Pass reg_sum replacement through
18556 copy_rtx in loop performing multiple changes.
18557
655dd289
JJ
185582002-01-14 Jakub Jelinek <jakub@redhat.com>
18559
18560 * except.c (remove_unreachable_regions): New.
18561 (free_eh_status): Clear exception_handler_labels.
18562 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
18563 (find_exception_handler_labels): Don't add the same label more than
18564 once.
18565 (remove_exception_handler_label): Don't die if
18566 find_exception_handler_labels hasn't been called for the current
18567 function yet.
18568
1fba46a7
JH
18569Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
18570
18571 * toplev.c (rest_of_compilation): Rebuild jump labels after
18572 gcse.
18573
0975678f
JM
185742002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
18575
18576 * doc/extend.texi: Move documentation of X86 built-in functions
18577 here.
18578 * doc/invoke.texi: From here.
18579 * doc/sourcebuild.texi: Document location of documentation for
18580 machine built-in functions.
18581
969815c7
CF
185822002-01-13 Christopher Faylor <cgf@redhat.com>
18583
18584 * cppfiles.c (TEST_THRESHOLD): New macro.
18585 (SHOULD_MMAP): Ditto.
18586 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
18587 be used.
18588
494c950b
JH
18589Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
18590
18591 * unroll.c (final_reg_note_copy): Properly handle
18592 REG_LABEL
18593 (unroll_loops): Fix LOOP_CONDITION heuristics.
18594
69a0611f
GK
185952002-01-14 Geoffrey Keating <geoffk@redhat.com>
18596
18597 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
18598 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
18599
b90e45ae
JH
18600Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
18601
18602 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
18603 threaded loop.
18604
8377288b
TR
186052002-01-14 Tom Rix <trix@redhat.com>
18606
18607 * config/rs6000/rs6000.md: Fix typo with sradi.
18608
9f37ccb1
UW
186092002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
18610
18611 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
18612 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
18613 (clrstrdi, clrstrsi): Adapt callers.
18614
18615 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
18616
8559c8c0 18617 (movti splitter): Never use register 0 as base register.
9f37ccb1 18618
6c2d03d0
HP
186192002-01-14 Hartmut Penner <hpenner@de.ibm.com>
18620
8559c8c0
AJ
18621 * combine.c (simplify_shift_const): Always generate new rtx
18622 for shift expression instead of reusing given expression.
6c2d03d0 18623
d3e98208
RK
18624Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18625
18626 * config/alpha/alpha.c (alpha_expand_mov): Don't call
18627 alpha_legitimize_address unless mode is Pmode.
18628
9f339dde
GK
186292002-01-13 Geoffrey Keating <geoffk@redhat.com>
18630
18631 * doc/md.texi (Modifiers): Document the '*' constraint for the
18632 user.
18633
18634 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
18635 * doc/extend.texi (Function Attributes): 'interrupt' is valid
18636 for xstormy16 too.
18637
02a10130
RH
186382002-01-13 Richard Henderson <rth@redhat.com>
18639
18640 * reload.c (find_reloads): Use a hard reg destination as reload reg
18641 for an input reload of the source.
18642
61d47787
GP
186432002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18644
18645 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
18646 more generic.
18647
f0df8029
DR
18648Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
18649
18650 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
18651 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
18652
d2a37256
DR
18653 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
18654
a9e8a5ee
RK
18655Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18656
18657 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
18658
bc06712d
TR
186592002-01-12 Tom Rix <trix@redhat.com>
18660
8559c8c0 18661 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
18662 TARGET_POWERPC64.
18663
7cbe9bb7
RH
186642002-01-12 Richard Henderson <rth@redhat.com>
18665
38b29e64
RH
18666 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
18667
58605ba0
RH
18668 * doc/invoke.texi: Update Alpha options.
18669
7cbe9bb7
RH
18670 * doc/invoke.texi: Update i386 built-in function lists.
18671
9d560860
JH
18672Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
18673
18674 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
18675 referencing outside.
18676
bb93b973
RK
18677Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18678
18679 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
18680 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
18681 offsets, and change line folding.
18682 * optabs.c (expand_binop): Remove warnings.
18683 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 18684
f9f6b7df
GS
186852002-01-12 Graham Stott <grahams@redhat.com>
18686
18687 * attribs.c (handle_deprecated_attribute): constify WHAT.
18688 * diagnostic.c (warn_deprecated_use): Add braces, fixes
18689 dangling else warning and constify WHAT.
18690 * except.h (struct function, struct inline_remap): Move
18691 struct tag forward defs before all prototypes.
18692 (duplicate_eh_regions): Whitespace.
18693
4a692617
NC
186942002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
18695
18696 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
18697 MODE_BASE_REG_CLASS.
18698 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
18699
e37af218
RH
187002002-01-12 Richard Henderson <rth@redhat.com>
18701
18702 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
18703 (ix86_expand_vector_move): New.
18704 (bdesc_2arg): Remove andps, andnps, orps, xorps.
18705 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
18706 Remove old prefetch builtins. Special case the logicals removed above.
18707 (ix86_expand_builtin): Likewise.
18708 (safe_vector_operand): Use V4SFmode, not TImode.
18709 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
18710 (ix86_expand_timode_binop_builtin): New.
18711 * config/i386/i386-protos.h: Update.
18712 * config/i386/i386.h (enum ix86_builtins): Update.
18713 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
18714 Use ix86_expand_vector_move in vector move expanders.
18715 (movti_internal, movti_rex64): Add xorps alternative.
18716 (sse_clrv4sf): Rename and adjust from sse_clrti.
18717 (prefetch): Don't work so hard.
18718 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
18719 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
18720 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
18721
6f1a6c5b
RH
187222002-01-11 Richard Henderson <rth@redhat.com>
18723
18724 * config/i386/mmintrin.h: New file.
18725 * config/i386/xmmintrin.h: New file.
18726 * config.gcc (i?86-*-*): Add extra_headers.
18727 * simplify-rtx.c (simplify_unary_operation): Handle saturating
18728 truncation codes.
18729 (simplify_binary_operation): Handle saturating arithmetic codes.
18730 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
18731 not the lowpart subreg.
18732 (ix86_expand_builtin): Return a TImode dummy register instead of 0
18733 on error.
18734 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
18735
cdb574d3
MH
187362002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
18737
18738 * conflict.c (conflict_graph_compute): Free regsets when finished.
18739 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 18740
cf11ac55
HB
187412002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
18742
18743 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
18744 every where we allocate a register.
18745
76ac938b
MH
187462002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
18747
18748 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
18749 * lcm.c (compute_earliest, compute_farthest): Likewise.
18750
a84b4898
JJ
187512002-01-11 Janis Johnson <janis187@us.ibm.com>
18752
18753 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
18754
aaef1c12
JJ
187552002-01-11 Janis Johnson <janis187@us.ibm.com>
18756
18757 * doc/rtl.texi (Insns): Fix 2 typos.
18758
5d22c1a5
JM
187592002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
18760
18761 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
18762 options. Use @table @gcctabopt for MMIX options. Add index
18763 entries for MMIX options. Start new paragraph with first
18764 heading of the machine-dependent options.
18765
3e92902c
CR
187662002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
18767
18768 PR other/5299
18769 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
18770 * combine.c (force_to_mode): Same.
18771 * reload1.c (clear_reload_reg_in_use): Same.
18772
96ae8197
NC
187732002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
18774
18775 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
18776 and 'subtargets'.
18777
9b780582
AJ
187782002-01-11 Andreas Jaeger <aj@suse.de>,
18779 Brad Lucier <lucier@math.purdue.edu>
18780
18781 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
18782 mcpu.
18783
12300dad
DR
18784Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
18785
18786 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
18787 Protect with IN_LIBGCC.
18788 (LINK_EH_SPEC): Add required trailing space.
18789
27511a9a
NP
18790Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
18791
9b780582 18792 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
18793 under the filename which contains them.
18794 (check_identifier, finish_decl_top_level,
18795 lookup_name_current_level_global, shadow_record_fields): Remove.
18796
4daeab16
AJ
187972002-01-11 Andreas Jaeger <aj@suse.de>
18798
18799 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
18800 march.
18801
40571d67
RH
188022002-01-10 Richard Henderson <rth@redhat.com>
18803
18804 * config/alpha/alpha.c (print_operand): Add 'J'.
18805 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
18806 new operand with the sequence number for the lituse. When splitting
18807 the insns, use gen_movdi_er_high_g and generate a sequence number.
18808 (gen_movdi_er_high_g): Print the sequence number if non-zero.
18809
6525c0e7
AH
188102002-01-10 Aldy Hernandez <aldyh@redhat.com>
18811
d8086cbb
RS
18812 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
18813 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
18814 stvxl.
18815 (altivec_expand_builtin): Same.
18816 (altivec_expand_stv_builtin): New.
18817
18818 * config/rs6000/rs6000.h (rs6000_builtins): Same.
18819
18820 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
18821 ("altivec_lvehx"): New.
18822 ("altivec_lvewx"): New.
18823 ("altivec_lvxl"): New.
18824 ("altivec_lvx"): New.
18825 ("altivec_stvx"): New.
18826 ("altivec_stvebx"): New.
18827 ("altivec_stvehx"): New.
18828 ("altivec_stvewx"): New.
18829 ("altivec_stvxl"): New.
6525c0e7 18830
cda94cbb
RH
188312002-01-10 Richard Henderson <rth@redhat.com>
18832
18833 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
18834 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
18835 care not to delete instructions twice.
18836
df2c9a44
ZW
188372002-01-10 Zack Weinberg <zack@codesourcery.com>
18838
18839 * toplev.c: Don't declare environ (it's not used anywhere).
18840 * configure.in: Don't check for declaration of environ.
18841 * config/i386/xm-mingw32.h: Don't #define environ.
18842 * config.in, configure: Regenerate.
18843
5dd8a9b1
ZW
188442002-01-10 Zack Weinberg <zack@codesourcery.com>
18845
18846 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
18847 * configure: Regenerate.
18848
18849 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
18850 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
18851 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
18852 alpha/xm-vms.h.
18853 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
18854 LIMITS_H_TEST here, not in m68k/x-next.
18855 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
18856 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
18857
18858 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
18859 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
18860 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
18861
18862 * config/i386/x-djgpp: Renamed i386/t-djgpp.
18863 * config/m88k/x-dolph: Renamed m88k/t-dolph.
18864 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
18865 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
18866 replacement of quadlib.asm with quadlib.c.
18867
18868 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
18869 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
18870 config/rs6000/xm-beos.h: Delete file.
18871
18872 * config.gcc: Update to match above changes.
18873
d10dd44c
KH
188742002-01-10 Kazu Hirata <kazu@hxi.com>
18875
18876 * config/h8300/h8300.h: Fix comment typos.
18877 * config/h8300/h8300.md: Likewise.
18878 * config/h8300/lib1funcs.asm: Likewise.
18879
04894c5a
DJ
188802002-01-10 Dale Johannesen <dalej@apple.com>
18881
18882 PR optimization/5269
18883 * unroll.c (precondition_loop_p): Make *increment be the correct
18884 sign when n_iterations known, to avoid confusing caller.
18885
adc9fe67
KH
188862002-01-10 Kazu Hirata <kazu@hxi.com>
18887
18888 * doc/extend.texi (deprecated): Fix a typo.
18889
b446e5a2
JH
18890Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
18891
18892 * basic-block.h (update_br_prob_note): Declare.
18893 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
18894 (try_forward_edges): Care negative frequencies and update note.
18895 (outgoing_edges_match): Tweek conditional merging heuristics.
18896 (try_crossjump_to_edge): use update_br_prob_note.
18897 * cfglayout.c (fixup_reorder_chain): Likewise.
18898 * cfrtl.c (update_br_prob_note): New.
18899 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
18900
18901 * i386.c (ix86_decompose_address): Return -1 if address contains
18902 shift.
18903 (legitimate_address_p): Require ix86_decompose_address to return 1.
18904
18905 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
18906 (cprop_insn): Likewise.
18907
a01da83b
KH
189082002-01-10 Kazu Hirata <kazu@hxi.com>
18909
18910 * toplev.c: Fix formatting.
18911 * tree.c: Likewise.
18912 * tree-dump.c: Likewise.
18913 * unroll.c: Likewise.
18914 * unwind-dw2.c: Likewise.
18915 * unwind-dw2-fde.c: Likewise.
18916 * unwind-dw2-fde-glibc.c: Likewise.
18917 * unwind-sjlj.c: Likewise.
18918
9f85bca7
JM
189192002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
18920
18921 * doc/invoke.texi: Document PDP-11 options.
18922
f48f56b1
KH
189232002-01-10 Kazu Hirata <kazu@hxi.com>
18924
18925 * config/h8300/h8300.h: Fix formatting.
18926
ead39bdf 189272002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
18928
18929 Add __attribute__ ((deprecated)).
18930 * extend.texi: Document __attribute__ ((deprecated)).
18931 * invoke.texi: Document -Wno-deprecated-declarations.
18932 * testsuite/g++.dg/other/deprecated.C: New C++ test.
18933 * testsuite/gcc.dg/deprecated.c: New C test.
18934 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
18935 (c_common_attribute_table): Add "deprecated" entry.
18936 (handle_deprecated_attribute): New function.
18937 * c-decl.c (deprecated_states): New enum.
18938 deprecated_state: State of "deprecated" handling.
18939 (start_decl): Set deprecated_state based on attributes.
18940 (grokdeclarator): Test for deprecated uses, propagate attribute.
18941 * c-typeck.c (build_component_ref): Test for deprecated fields.
18942 (build_external_ref): Test for deprecated primaries.
18943 * diagnostic.c (warn_deprecated_use) New function to issue
18944 warnings about __attribute__ ((depricated)) references.
18945 * flags.h (warn_deprecated_decl): Extern declared for
18946 -W[no-]deprecated-declarations option.
18947 * print-tree.c (print_node): Show deprecated flag status.
18948 * toplev.c (warn_deprecated_decl): Defined.
18949 (W_options): Added "deprecated-declaration".
18950 * toplev.h (warn_deprecated_use): Extern declared.
18951 * tree.h (struct tree_common): Define deprecated_flag.
18952 (TREE_DEPRECATED): New macro to access flag.
18953 * cp/call.c (build_call): Test for deprecated calls.
18954 * cp/class.c (add_implicitly_declared_members): Set global
18955 flag to tell grokdeclarator to not issue deprecated warnings.
18956 * cp/cp-tree.h: Add extern for adding_implicit_members.
18957 * cp/decl.c (deprecated_states): New enum.
18958 (start_decl): Set deprecated_state based on attributes.
18959 (grokdeclarator): Test for deprecated uses, propagate attribute.
18960 * cp/lex.c (do_identifier): Test for deprecated primaries.
18961 * cp/typeck.c (build_component_ref): Test for deprecated fields.
18962
ead39bdf 189632002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
18964
18965 Fix to assign attributes to inline member functions.
18966 * cp/decl.c (start_method): Handle attrlist.
18967
47073a38
KH
189682002-01-10 Kazu Hirata <kazu@hxi.com>
18969
18970 * combine.c (expand_field_assignment): Use subreg_lsb().
18971
d288e53d
DE
189722002-01-10 David Edelsohn <edelsohn@gnu.org>
18973
18974 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
18975 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
18976 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
18977 Recurse for any operand of AND as long as constant is non-zero.
18978
08a02ffa
KH
189792002-01-10 Kazu Hirata <kazu@hxi.com>
18980
18981 * config/h8300/h8300.md: Remove constraints from expanders.
18982
c203e7fe
KH
189832002-01-10 Kazu Hirata <kazu@hxi.com>
18984
18985 * varasm.c: Fix formatting.
18986 * varray.c: Likewise.
18987 * vmsdbgout.c: Likewise.
18988 * xcoffout.c: Likewise.
18989
bcb3bc6d
JH
18990Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
18991
18992 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 18993 update edge probabilities to match.
bcb3bc6d 18994
0a553c7e
JM
189952002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
18996
18997 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
18998 dependencies.
18999 * doc/languages.texi, doc/sourcebuild.texi: New files.
19000 * doc/configfiles.texi: Make a subsubsection. Update.
19001 * doc/configterms.texi: Add @node. Remove warning that this isn't
19002 instructions for building GCC.
19003 * doc/makefile.texi: Make a subsection.
19004 * doc/gccint.texi: Update.
19005
adc7fcb8
JH
19006Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
19007
19008 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
19009
5a4dd0b3
NP
19010Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
19011
19012 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
19013
3987b9db
JH
19014Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
19015
19016 * optabs.c (expand_fix): Look for wider integer modes first.
19017
19018 * i386.md (mov?f): Avoid the fake const double trick for medium
19019 memory model.
19020 (min?f*/max?f*): Prohibit memory operands for i387 variant.
19021 (fop_df_4): Disable for SSE compilation.
19022
ceb15948 190232002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
19024
19025 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 19026 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 19027
e1623399
RH
190282002-01-10 Richard Henderson <rth@redhat.com>
19029
19030 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
19031
c4abb293
RH
190322002-01-10 Richard Henderson <rth@redhat.com>
19033
19034 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
19035 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
19036
d2604ae9
KH
190372002-01-10 Kazu Hirata <kazu@hxi.com>
19038
19039 * combine.c (can_combine_p): Fix a comment typo.
19040
766c7ad1
ZW
190412002-01-09 Zack Weinberg <zack@codesourcery.com>
19042
19043 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
19044 empty list correctly. Change loop index $t to $f for
19045 consistency with rest of Makefile.
19046
95385cbb
AH
190472002-01-08 Aldy Hernandez <aldyh@redhat.com>
19048
19049 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
19050 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
19051
19052 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
19053 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
19054 (altivec_init_builtins): Same.
19055 (altivec_expand_unop_builtin): Return NULL_RTX on error.
19056 (altivec_expand_binop_builtin): Same.
19057 (altivec_expand_ternop_builtin): Same.
19058 (bdesc_dst): New.
19059
19060 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
19061 ("altivec_vctuxs"): Fix typo.
19062 ("altivec_vnmsubfp"): Same.
19063 ("altivec_dssall"): New.
19064 ("altivec_mfvscr"): New.
19065 ("altivec_dss"): New.
19066 ("altivec_lvsl"): New.
19067 ("altivec_lvsr"): New.
19068 ("altivec_dstt"): New.
19069 ("altivec_dstst"): New.
19070 ("altivec_dststt"): New.
19071 ("altivec_dst"): New.
19072
19073 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
19074 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
19075
e4ac76b4
RH
190762002-01-09 Richard Henderson <rth@redhat.com>
19077
19078 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
19079
c893e4a4
HPN
190802002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
19081
19082 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
19083 function.
19084 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
19085 prototype.
7387c700 19086 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 19087
f4f4d0f8
KH
190882002-01-09 Kazu Hirata <kazu@hxi.com>
19089
19090 * read-rtl.c: Fix formatting.
19091 * real.c: Likewise.
19092 * regclass.c: Likewise.
19093 * regrename.c: Likewise.
19094 * reg-stack.c: Likewise.
19095 * reload1.c: Likewise.
19096 * reload.c: Likewise.
19097 * rtl.c: Likewise.
19098
cc863bea
KH
190992002-01-09 Kazu Hirata <kazu@hxi.com>
19100
19101 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
19102 to extract items in the expr_list chain.
19103
7b4dfe3d
RH
191042002-01-09 Richard Henderson <rth@redhat.com>
19105
19106 * config/vax/vax.c (vax_rtx_cost): Never abort.
19107
1d969638
RH
19108 * config/vax/vax.h (REAL_ARITHMETIC): Define.
19109
7d5ab30e
JH
191102002-01-09 Jan Hubicka <jh@suse.cz>
19111
19112 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
19113
9503f3d1
RH
191142002-01-09 Richard Henderson <rth@redhat.com>
19115
19116 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
19117 Unify code from various alternatives.
19118
42bd17b7
RH
191192002-01-09 Richard Henderson <rth@redhat.com>
19120
19121 * regrename.c (copy_value): Ignore the copy if the source register
19122 is present in the value chain with a narrower mode.
19123
bdca3c33
HB
191242002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
19125
cda94cbb
RH
19126 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
19127 for the c4x target. Also improve layout.
bdca3c33 19128
c73a5e94
RH
191292002-01-09 Richard Henderson <rth@redhat.com>
19130
19131 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
19132 * config/m32r/m32r.md (and ior xor splitters): Swap operands
19133 to match insn patterns.
19134
dd0a18c0
RH
191352002-01-09 Richard Henderson <rth@redhat.com>
19136
19137 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
19138 (copyprop_hardreg_forward_1): Likewise.
19139
1fd9ac1e
JDA
191402002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
19141
19142 * pa.md (decrement_and_branch_until_zero): Change predicate for
19143 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
19144
5cb265ec
BM
191452002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
19146
19147 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
19148 gets undefined. For Darwin.
19149
fcd8fa8b
HB
191502002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
19151
19152 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
19153
bd3ab23a
MH
191542002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
19155
19156 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
19157
21e16bd6
RH
191582002-01-08 Richard Henderson <rth@redhat.com>
19159
19160 * regrename.c (copy_value): Ignore overlapping copies.
19161
a5376276
RH
191622002-01-08 Richard Henderson <rth@redhat.com>
19163
19164 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
19165 as needed to avoid shared structure.
19166
18cf8dda
KH
191672002-01-08 Kazu Hirata <kazu@hxi.com>
19168
19169 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
19170 H8/300H and H8/S.
19171
16c484c7
JM
191722002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
19173
19174 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
19175 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
19176 documentation of obsolete macros.
19177 * system.h: Poison these macros.
19178 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
19179 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
19180 config/c4x/c4x.h, config/clipper/clipper.h,
19181 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
19182 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
19183 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
19184 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
19185 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
19186 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
19187 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
19188 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
19189 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
19190 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
19191 config/sparc/sparc.h, config/stormy16/stormy16.h,
19192 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
19193 definitions and commented out definitions of obsolete macros.
19194 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
19195 of MAX_INT_TYPE_SIZE.
19196
14b3e8ef
UW
191972002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
19198
19199 * config/s390/s390.c (s390_preferred_reload_class): Never
19200 return ADDR_REGS if it isn't a subset of the given class.
19201 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
19202 FP_REGS, but all superclasses as well.
19203
19204 * config/s390/s390.c (s390_function_profiler): Fix thinko.
19205
19206 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
19207 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
19208 must not be a const_int.
19209
a693284d
RH
192102002-01-08 Richard Henderson <rth@redhat.com>
19211
19212 * Makefile.in (toplev.o): Depend on options.h.
19213 (gcc.o): Depend on specs.h.
19214
b3ca30df
JJ
192152002-01-08 Jakub Jelinek <jakub@redhat.com>
19216
19217 * expr.c (store_expr): Convert VOIDmode constants back to target's
19218 mode.
19219
24dbb440
GP
192202002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19221
19222 * doc/invoke.texi: Markup gcc as @command. Refer to
19223 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
19224 of http://gcc.gnu.org/thanks.html.
19225
234e114c
DJ
192262002-01-08 Dale Johannesen <dalej@apple.com>
19227
19228 * config/rs6000/rs6000.md: Add missing int register
19229 target case to movdf_low.
19230
0d24f4d1
ZW
192312002-01-08 Zack Weinberg <zack@codesourcery.com>
19232
19233 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
19234 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
19235 (cppinit.o): Depend on except.h.
19236 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
19237 s-specs): New rules.
19238
19239 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
19240 Don't create specs.h/options.h/gencheck.h here. Remove
19241 unnecessary variable settings from last argument of AC_OUTPUT.
19242 * config.in, configure: Regenerate.
19243 * intl.c: Hardcode package name as "gcc".
19244
19245 * cppinit.c: Include except.h.
19246 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
19247 appropriate.
19248 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
19249 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
19250 (!)USING_SJLJ_EXCEPTIONS.
19251 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
19252
ed722f66
JM
192532002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
19254
19255 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
19256 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
19257 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
19258 documentation of obsolete macros.
19259 * system.h: Poison these macros.
19260 * config/d30v/d30v.h, config/ns32k/encore.h,
19261 config/stormy16/stormy16.h: Remove definitions and commented out
19262 definitions of obsolete macros.
19263
31e5e29a
NP
19264Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
19265
19266 * objc/objc-act.c (handle_class_ref): Mark the declaration of
19267 %sobjc_class_ref_%s as used - to prevent unwanted compiler
19268 warnings.
19269
bc1fa59c
UW
192702002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
19271
19272 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
19273 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
19274 to insn adjusting stack/frame pointer.
0d24f4d1 19275 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
19276 accept operands that cause the insn to be non-splittable.
19277
a8086abf
GS
192782002-01-08 Graham Stott <grahams@redhat.com>
19279
19280 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
19281 (C_TYPE_FIELDS_VOLATILE): Likewise.
19282 (C_TYPE_BEING_DEFINED): Likewise.
19283 (C_IS_RESERVED_WORD): Likewise.
19284 (C_TYPE_VARIABLE_SIZE): Likewise.
19285 (C_DECL_VARIABLE_SIZE): Likewise.
19286 (C_MISSING_PROTOTYPE_WARNED): Likewise.
19287 (C_SET_EXP_ORIGINAL_CODE): Likewise.
19288 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
19289 parenthesis.
19290 (C_DECL_ANTICIPATED): Likewise.
19291 (c_build_type_variant): Add parenthesis.
19292
3f595aa1
JM
192932002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
19294
19295 * gcc.c (option_map): Remove --version.
19296 (process_command): Handle -fversion following the GNU Coding
19297 Standards. Partially addresses PR other/704.
19298
5bc5a8f9
GS
192992002-01-08 Graham Stott <grahams@redhat.com>
19300
19301 * combine.c (combine_instructions): Fix typo.
19302
16ec4ebf
GS
193032002-01-08 Graham Stott <grahams@redhat.com>
19304
19305 * debug.h: Use "tree" and "rtx" throughout.
19306
19307 * debug.c: Likewise.
19308
4b69f385
NC
193092002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
19310
19311 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
19312 constant pool, use the pool's version of the symbol instead.
19313
57d1019b
RH
193142002-01-07 Richard Henderson <rth@redhat.com>
19315
19316 * regrename.c (find_oldest_value_reg): Ignore the value chain if
19317 the original register was copied in a mode with a fewer number of
19318 hard registers than the desired mode.
19319 (copyprop_hardreg_forward_1): Likewise.
19320 (debug_value_data): Fix loop test.
19321 * toplev.c (parse_options_and_default_flags): Reenable
19322 -fcprop-registers at -O1.
19323
193242002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 19325
0d24f4d1
ZW
19326 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
19327 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 19328
0d24f4d1
ZW
19329 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
19330 predicates.
fa066a23 19331
0d24f4d1 19332 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 19333
8f949e7e
JDA
193342002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
19335
19336 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
19337 (pa_output_function_prologue): Output local label at the beginning of
19338 the prologue when profiling.
19339 (hppa_profile_hook): Use the local label rather than the function label.
19340 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
19341
c62f2db5
AH
193422002-01-07 Aldy Hernandez <aldyh@redhat.com>
19343
0d24f4d1
ZW
19344 * config/rs6000/rs6000.c (print_operand): Remove extra space.
19345 (altivec_expand_unop_builtin): Fix thinko.
19346 (altivec_expand_binop_builtin): Same.
19347 (altivec_expand_ternop_builtin): Same.
19348 (altivec_expand_builtin): Same.
c62f2db5 19349
b5235ba7
RH
193502002-01-07 Richard Henderson <rth@redhat.com>
19351
19352 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
19353
7d8ac293
JM
193542002-01-07 Jason Merrill <jason@redhat.com>
19355
19356 * unwind-dw2.c (execute_cfa_program): Use < again.
19357
571a03b8
JJ
193582002-01-07 Jakub Jelinek <jakub@redhat.com>
19359
19360 * predict.c (combine_predictions_for_insn): Avoid division by zero.
19361
2e951384
JJ
193622002-01-07 Jakub Jelinek <jakub@redhat.com>
19363
19364 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
19365 Don't allow -1 - x -> ~x simplifications in the first pass.
19366
20e26713
AH
193672002-01-07 Aldy Hernandez <aldyh@redhat.com>
19368
0d24f4d1
ZW
19369 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
19370 arguments.
19371 (altivec_expand_binop_builtin): Same.
19372 (altivec_expand_unop_builtin): Same.
19373 (print_operand): Fix typo.
19374 (bdesc_1arg): Add vupk* variants.
20e26713 19375
0d24f4d1 19376 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 19377
0d24f4d1 19378 * rs6000.md: Add altivec_vupk* variants.
20e26713 19379
4dd57c18
JM
193802002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
19381
19382 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
19383 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
19384 and last update dates.
19385
0341c5d2
JJ
193862002-01-07 Janis Johnson <janis187@us.ibm.com>
19387
19388 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
19389
c7f3e0b0
MM
193902002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
19391
19392 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
19393 * config/avr/avr.h (CPP_SPEC): Likewise.
19394 (LINK_SPEC): Likewise.
19395 (CRT_BINUTILS_SPECS): Likewise.
19396 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
19397 * doc/invoke.texi (AVR Options): Document them.
19398
6ba4d630
JH
19399Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
19400
19401 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
19402 LABEL_NUSES.
19403
6253d571
GS
194042002-01-07 Graham Stott <grahams@redhat.com>
19405
0d24f4d1
ZW
19406 * config/i386/i386.h: Update copyright date.
19407 (HALF_PIC_PTR): Add parenthesis.
19408 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
19409 (CONSTANT_ALIGNMENT): Add parenthesis.
19410 (DATA_ALIGNMENT): Likewise.
19411 (LOCAL_ALIGNMENT): Likewise.
19412 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
19413 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
19414 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
19415 (HARD_REGNO_NREGS): Add paranethesis.
19416 (VALID_SSE_REG_MODE): Whitespace.
19417 (VALID_MMX_REG_MODE): Whitespace.
19418 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
19419 (ix86_hard_regno_mode_ok): Add parenthesis.
19420 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
19421 (RETURN_IN_MEMORY): Whitespace.
19422 (N_REG_CLASSES): Add parenthesis.
19423 (INTEGER_CLASS_P): Add parenthesis and wrap.
19424 (FLOAT_CLASS_P): Likewise.
19425 (SSE_CLASS_P): Likewise.
19426 (MMX_CLASS_P): Likewise.
19427 (MAYBE_INTEGER_CLASS_P): Likewise.
19428 (MAYBE_FLOAT_CLASS_P): Likewise.
19429 (MAYBE_SSE_CLASS_P): Likewise.
19430 (MAYBE_MMX_CLASS_P): Likewise.
19431 (Q_CLASS_P): Likewise.
19432 (GENERAL_REGNO_P): Uppercase macro parameter.
19433 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
19434 (FP_REGNO_P): Likewise.
19435 (ANY_FP_REGNO_P): Uppercase macro parameter.
19436 (SSE_REGNO_P): Likewise.
19437 (SSE_REGNO): Likewise.
19438 (SSE_REG_P): Likewise.
19439 (SSE_FLOAT_MODE_P): Likewise.
19440 (MMX_REGNO_P): Likewise.
19441 (MMX_REG_P):Likewise.
19442 (STACK_REG_P): Likewise.
19443 (NON_STACK_REG_P): Likewise.
19444 (STACK_TOP_P): Likewise.
19445 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
19446 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
19447 (SECONDARY_MEMORY_NEEDED): Likewise.
19448 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
19449 (MD_ASM_CLOBBERS): Whitespace and wrap.
19450 (MUST_PASS_IN_STACK): Whitespace and wrap.
19451 (RETURN_POPS_ARGS): Add parenthesis.
19452 (INIT_CUMULATIVE_ARGS): Likewise.
19453 (FUNCTION_ARG): Likewise.
19454 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
19455 (SETUP_INCOMING_VARARGS): Likewise.
19456 (BUILD_VA_LIST_TYPE): Add parenthesis.
19457 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
19458 parenthsis.
19459 (EXPAND_BUILTIN_VA_ARG): Likewise.
19460 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
19461 (INITIALIZE_TRAMPOLINE): Add parenthesis.
19462 (INITIAL_ELIMINATION_OFFSET): Likewise.
19463 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
19464 (REGNO_OK_FOR_BASE_P): Likewise.
19465 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
19466 (REGNO_OK_FOR_DIREG_P): Likewise.
19467 (REG_OK_FOR_INDEX_P): Whitespace.
19468 (REG_OK_FOR_BASE_P): Whitespace.
19469 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
19470 parenthesis.
19471 (FIND_BASE_TERM): Fix typo.
19472 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
19473 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
19474 (SYMBOLIC_CONST; Whitespace.
19475 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
19476 (ENCODE_SECTION_INFO): Whitespace.
19477 (FINALIZE_PIC): Remove do { ... } while (0).
19478 (PROMOTE_MODE): Wrap in do { ... } while (0).
19479 (CONST_COSTS): Whitespace.
19480 (RTX_COSTS): Add paramethesis, whitespace and wrap.
19481 (REGISTER_MOVE_COST): Add parenthesis.
19482 (MEMORY_MOVE_COST): Likewise.
19483 (EXTRA_CC_MODES): Whitespace.
19484 (SELECT_CC_MODE): Add parenthesis and whitespace.
19485 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
19486 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
19487 (ASM_OUTPUT_LABEL): Add paramethesis.
19488 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
19489 (ASM_OUTPUT_REG_POP): Likewise.
19490 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
19491 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 19492
07933f72
GS
19493 * config/i386/i386.c: Update copyright.
19494 (CHECK_STACK_LIMIT): Add parenthesis.
19495 (AT_BP): Uppercase macro parameter.
19496 (x86_64_int_parameter_registers): Constify.
19497 (x86_64_int_return_registers): Likewise.
19498 (ix86_compare_op0): Use rtx.
19499 (construct_container): Constify INTREG parameter.
19500 (function_arg): Use rtx.
19501
0b4d32c9
GS
19502 * diagnostic.h: Update copyright date.
19503 (output_buffer_state): Add parenthesis.
19504 (output_buffer_format_args): Likewise.
19505
6253d571
GS
19506 * combine.c (combine_instructions): Replace XEXP (links, 0)
19507 with link.
19508
68f3f6f1
L
195092002-01-06 H.J. Lu <hjl@gnu.org>
19510
19511 * cfgcleanup.c (thread_jump): Fix 2 typos.
19512
195132002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 19514
0d24f4d1 19515 * config.gcc: Add support for --enable-altivec.
480f7f3a 19516
13b8c631
CR
195172002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
19518
19519 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
19520
58ad89b1
JJ
195212002-01-06 Jakub Jelinek <jakub@redhat.com>
19522
19523 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
19524 __objc_class_name_*.
19525
e403b4bc
CR
195262002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
19527
19528 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
19529
e41c7831
RH
195302002-01-06 Richard Henderson <rth@redhat.com>
19531
19532 * reorg.c (emit_delay_sequence): Remove death notes, not merely
19533 nop them out. Increment label reference count for REG_LABEL.
19534 (fill_slots_from_thread): Frob label reference count around
19535 delete_related_insns.
19536
3b3b1e32
RH
195372002-01-05 Richard Henderson <rth@redhat.com>
19538
19539 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
19540 jump threading.
19541
c28abdf0
RH
195422002-01-05 Richard Henderson <rth@redhat.com>
19543
19544 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
19545 * integrate.c (output_inline_function): Likewise.
19546 * toplev.c (rest_of_compilation): Do it here instead. Move call
19547 to remove_unnecessary_notes after emitting abstract instance.
19548 Force an emitted nested function to have its parent emited as well.
19549 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
19550 for null.
19551 (rtl_for_decl_location): Do not look at reload data structures
19552 before reload has run.
19553
c4f2c499
KH
195542002-01-05 Kazu Hirata <kazu@hxi.com>
19555
19556 * cse.c: Fix formatting.
19557 * dwarf2asm.c: Likewise.
19558 * dwarf2out.c: Likewise.
19559 * explow.c: Likewise.
19560 * expmed.c: Likewise.
19561 * function.c: Likewise.
19562 * gcov.c: Likewise.
19563 * gencheck.c: Likewise.
19564 * genrecog.c: Likewise.
19565 * ggc-common.c: Likewise.
19566 * ggc-page.c: Likewise.
19567 * global.c: Likewise.
19568
cf0d9408
KH
195692002-01-05 Kazu Hirata <kazu@hxi.com>
19570
19571 * combine.c: Fix formatting.
19572
bedca03a
CR
195732002-01-05 Craig Rodrigues <crodrigu@bbn.com>
19574
19575 PR middle-end/1557
19576 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
19577
0134bf2d
DE
195782002-01-05 David Edelsohn <edelsohn@gnu.org>
19579
19580 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
19581 as 1 for __powerpc64__ as well.
19582
19583 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
19584
19585 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
19586 return it.
19587
9ca88d5a
DB
195882002-01-05 Daniel Berlin <dan@dberlin.org>
19589
19590 * lcm.c: Revert change, due to performance regression it causes on
19591 SPEC because it's slightly more conservative (sigh, I hate
19592 edge-based LCM).
0d24f4d1 19593
1c570418
JH
19594Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
19595
19596 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
19597
d83bb9f7
NB
195982002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
19599
19600 * doc/cppinternals.texi: Update.
19601
3e0f61ac
HPN
196022002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
19603
19604 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
19605 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
19606 negatives.
19607 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
19608 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
19609 kludge for pre-october-14th mmix versions to handle new-found bug
19610 with PUSHJ/PUSHGO and the register stack.
19611 * config/mmix/mmix.h (struct machine_function): Rename member
19612 has_call_value_without_parameters to has_call_without_parameters.
19613 All referers changed.
19614 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
19615 TARGET_MASK_BRANCH_PREDICT): New macros.
19616 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
19617 -mno-reg-stack-fill-bug-workaround.
19618 * config/mmix/mmix.md ("call"): Set struct machine member
19619 has_call_without_parameters.
19620
4deaa2f8
JH
19621Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
19622
19623 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
19624
9f16e871
JH
19625Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
19626
19627 * cfgcleanup.c: Include tm_p.h
19628 (mark_effect): Fix handling of hard register; fix handling of SET
19629
96eb1157
KH
196302002-01-04 Kazu Hirata <kazu@hxi.com>
19631
19632 * config/h8300/h8300.md (anonymous patterns): Check that
19633 operands are registers before using REGNO on them.
19634
48180d68
RM
196352002-01-03 Roland McGrath <roland@frob.com>
19636
19637 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
19638
b0832fe1
JJ
196392002-01-04 Jakub Jelinek <jakub@redhat.com>
19640
19641 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
19642 * c-common.h (genrtl_expr_stmt_value): Likewise.
19643 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
19644 (expand_expr_stmt_value): Add maybe_last argument.
19645 Don't warn about statement with no effect if it is the last statement
19646 in expression statement.
19647 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
19648 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
19649 expand_expr_stmt_value.
19650 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
19651 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
19652 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
19653 as maybe_last to expand_expr_stmt_value.
19654
c1e14513
JL
19655Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
19656
0d24f4d1
ZW
19657 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
19658 be passed in, do not build it.
19659 (c_begin_if_stmt): New function.
19660 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
19661 * c-common.h (c_expand_start_cond): Update prototype.
19662 (c_begin_if_stmt): Prototype new function.
19663 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
19664 * c-parse.in (if_prefix): Use c_begin_if_stmt,
19665 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 19666
b6ec437a
WC
196672002-01-04 William Cohen <wcohen@redhat.com>
19668
19669 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
19670 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
19671 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
19672 * config/pa/som.h (ASM_FILE_START): Likewise.
19673
ead39bdf 196742002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
19675
19676 * lcm.c: Include df.h.
19677 Add available_transfer_function prototype.
19678 (compute_available): Rework to use iterative dataflow framework.
19679 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
19680 with bb_info in df.h
19681 (available_transfer_function): New function.
19682
19683 * Makefile.in (lcm.o): add df.h to dependencies.
19684
551cc6fd
RH
196852002-01-04 Richard Henderson <rth@redhat.com>
19686
19687 * config/alpha/alpha.c (some_operand): Accept HIGH.
19688 (input_operand): Likewise; accept simple references to globals.
19689 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
19690 (alpha_const_double_ok_for_letter_p): Likewise.
19691 (alpha_extra_constraint): Likewise.
19692 (alpha_preferred_reload_class): Likewise. Do not force
19693 symbolic constants to memory.
19694 (alpha_legitimate_address_p): Accept simple references
19695 to small_symbolic_operand.
19696 (alpha_legitimize_address): New arg scratch. Be prepared to be
19697 called when no_new_pseudos. Emit simple symbolic references.
19698 Split integers into low, high, and rest.
19699 (alpha_expand_mov): Use alpha_legitimize_address.
19700 (some_small_symbolic_mem_operand): New.
19701 (split_small_symbolic_mem_operand): New.
19702 * config/alpha/alpha-protos.h: Update.
19703 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
19704 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
19705 (EXTRA_CONSTRAINT): Likewise.
19706 (PREFERRED_RELOAD_CLASS): Likewise.
19707 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
19708 (PREDICATE_CODES): Update.
19709 * config/alpha/alpha.md: New post-reload splitters to convert
19710 simplfied symbolic operands to the form that references $29.
19711 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
19712 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
19713
1eaea054
RH
197142002-01-03 Richard Henderson <rth@redhat.com>
19715
19716 * local-alloc.c (function_invariant_p): Update commentary.
19717
c4cc12b7
L
197182002-01-04 H.J. Lu <hjl@gnu.org>
19719
19720 * toplev.c (rest_of_compilation): Fix a typo when calling
19721 cleanup_cfg.
19722
173bf5be
KH
197232002-01-03 Kazu Hirata <kazu@hxi.com>
19724
19725 * c-common.c: Fix formatting.
19726 * diagnostic.c: Likewise.
19727 * doloop.c: Likewise.
19728 * dwarf2out.c: Likewise.
19729
187462ac
KH
197302002-01-03 Kazu Hirata <kazu@hxi.com>
19731
19732 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
19733 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
19734
5d8ebbd8
NB
197352002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
19736
19737 * cpperror.c: Update comments and copyright.
19738 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
19739 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
19740
518c1311
JDA
197412002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
19742
19743 * collect2.c (main): Use strcmp when testing for "-shared".
19744
d15a58c0
NB
197452002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
19746
19747 * cppmacro.c: Don't include intl.h. Update comments.
19748 (new_number_token): Allocate enough buffer for 64-bit unsigned
19749 integers; update prototype.
19750 * cppmain.c: Update comments.
19751
70f4f91c
WC
197522002-01-03 William Cohen <wcohen@redhat.com>
19753
19754 * function.h (struct function): Add profile.
19755 (current_function_profile): New.
19756 doc/extend.texi: Update documentation.
19757 * final.c (final_start_function): Use current_function_profile
19758 instead of profile_flag.
19759 (profile_after_prologue): Likewise.
19760 * function.c (expand_function_start): Likewise.
19761 (expand_function_start): Likewise.
c4cc12b7 19762 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
19763 (alpha_does_function_need_gp): Likewise.
19764 (alpha_expand_prologue): Likewise.
19765 * config/arm/arm.c (arm_expand_prologue): Likewise.
19766 thumb_expand_prologue: Likewise.
19767 * config/d30v/d30v.c (d30v_stack_info): Likewise.
19768 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
19769 (fr30_expand_prologue): Likewise.
19770 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
19771 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
19772 * config/i386/i386.h (FINALIZE_PIC): Likewise.
19773 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
19774 * config/i960/i960.c (i960_output_function_prologue): Likewise.
19775 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
19776 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
19777 (m32r_expand_prologue): Likewise.
19778 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
19779 (m88k_expand_prologue): Likewise.
19780 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
19781 * config/mips/mips.c (compute_frame_size): Likewise.
19782 (mips_expand_prologue): Likewise.
19783 (mips_can_use_return_insn): Likewise.
19784 * config/pa/elf.h (ASM_FILE_START): Likewise.
19785 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
19786 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
19787 * config/pa/som.h (ASM_FILE_START): Likewise.
19788 * config/romp/romp.c (romp_using_r14): Likewise.
19789 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
19790 (rs6000_stack_info): Likewise.
19791 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 19792 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
19793 * config/v850/v850.c (compute_register_save_size): Likewise.
19794
cb1ac742
JJ
197952002-01-03 Jakub Jelinek <jakub@redhat.com>
19796
19797 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
19798 gen_lowpart_common fails, use gen_lowpart_SUBREG.
19799
61d951df 198002002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 19801
61d951df
TC
19802 * darwin.c (machopic_output_possible_stub_label): Don't generate
19803 stub routines for pseudo-stubs which we've just defined.
19804
505ddab6
KH
198052002-01-03 Kazu Hirata <kazu@hxi.com>
19806
19807 * builtins.c: Fix formatting.
19808 * c-typeck.c: Likewise.
19809 * combine.c: Likewise.
19810 * expr.c: Likewise.
19811 * loop.c: Likewise.
19812
b7e30d8a
AS
198132002-01-03 Andreas Schwab <schwab@suse.de>
19814
19815 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
19816 and return true if _cpp_push_next_buffer pushed a new include
19817 file.
19818 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
19819 _cpp_pop_file_buffer did not push a new file.
19820 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
19821
ff81832f
EC
198222002-01-02 Eric Christopher <echristo@redhat.com>
19823
19824 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
19825 FIND_REG_INC_NOTE call. Update copyright.
19826 * loop.c (canonicalize_condition): Ditto.
19827 * reorg.c (delete_scheduled_jump): Ditto.
19828
8e42ace1
KH
198292002-01-03 Kazu Hirata <kazu@hxi.com>
19830
19831 * gcse.c: Fix formatting.
19832
fb2bf631
GS
198332002-01-03 Graham Stott <grahams@redhat.com>
19834
19835 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
19836 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 19837 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
19838
19839 * system.h: Move forward defs for struct tags rtx_def, union_tree,
19840 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 19841 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
19842
198432002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
19844
19845 * tree.h: Update copyright date.
19846 (IS_EXPR_CODE_CLASS): Add parenthesis.
19847 (TREE_SET_CODE): Add whitespace.
19848 (TREE_CHECK): Add parenthesis.
19849 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
19850 (CST_OR_CONSTRUCTOR_CHECK):
19851 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
19852 (TREE_SYMBOL_REFERENCED): Whitespace.
19853 (INT_CST_LT): Likewise.
19854 (INT_CST_LT_UNSIGNED): Likewise.
19855 (tree_real_cst): Unwrap comment.
19856 (tree_string): Likewise.
19857 (tree_complex): Likewise.
19858 (IDENTIFIER_POINTER): correct cast.
19859 (SAVE_EXPR_CONTEXT): Whitespace.
19860 (EXPR_WFL_FILENAME_NODE): Likewise.
19861 (EXPR_WFL_FILENAME): Remove parenthesis.
19862 (DECL_ORIGIN): Add parenthesis.
19863 (DECL_FROM_INLINE): Use NULL_TREE.
19864 (build_int_2): Whitespace.
19865 (build_type_variant): Add parenthesis.
19866
19867 * gcc/jcf-parse.c: Update copyright date.
19868 (yyparse): Constify resource_filename.
19869
f52eda29
GS
198702002-01-03 Graham Stott <grahams@redhat.com>
19871
19872 * rtl.h: Update copyright date.
19873 (RTL_CHECK1): Wrap long line.
19874 (RTL_CHECK2): Likewise.
19875 (RTL_CHECKC1): Wrap long line and whitespace.
19876 (RTL_CHECKC2): Likewise.
19877 (XWINT): Whitespace.
19878 (XINT): Likewise.
19879 (XSTR): Likewise.
19880 (XEXP): Likewise.
19881 (XVEC): Likewise.
19882 (XMODE): Likewise.
19883 (XBITMAP): Likewise.
19884 (XTREE): Likewise.
19885 (XBBDEF): Likewise.
19886 (XTMPL): Likewise.
19887 (X0WINT): Likewise.
19888 (X0INT):Likewise.
19889 (X0UINT): Likewise.
19890 (X0STR): Likewise.
19891 (X0EXP): Likewise.
19892 (X0VEC): Likewise.
19893 (X0MODE): Likewise.
19894 (X0BITMAP): Likewise.
19895 (X0TREE): Likewise.
19896 (X0BBDEF): Likewise.
19897 (X0ADVFLAGS): Likewise.
19898 (X0CSELIB): Likewise.
19899 (X0MEMATTR): Likewise.
19900 (XCWINT): Likewise.
19901 (XCINT): Likewise.
19902 (XCUINT): Likewise.
19903 (XCSTR): Likewise.
19904 (XCEXP): Likewise.
19905 (XCVEC): Likewise.
19906 (XCMODE): Likewise.
19907 (XCBITMAP): Likewise.
19908 (XCTREE): Likewise.
19909 (XCBBDEF): Likewise.
19910 (XCADVFLAGS): Likewise.
19911 (XCCSELIB): Likewise.
19912 (XC2EXP): Likewise.
19913 (INSN_UID): Likewise.
19914 (PREV_INSN): Likewise.
19915 (PATTERN): Likewise.
19916 (INSN_CODE): Likewise.
19917 (PUT_REG_NOTE_KIND): Likewise.
19918 (CODE_LABEL_NUMBER): Likewise.
19919 (NOTE_SOURCE_FILE): Likewise.
19920 (NOTE_BLOCK): Likewise.
19921 (NOTE_EH_HANDLER): Likewise.
19922 (NOTE_RANGE_INFO): Likewise.
19923 (NOTE_LIVE_INFO): Likewise.
19924 (NOTE_BASIC_BLOCK): Likewise.
19925 (NOTE_EXPECTED_VALUE): Likewise.
19926 (NOTE_LINE_NUMBER): Likewise.
19927 (LABEL_NAME): Likewise.
19928 (LABEL_NUSES): Likewise.
19929 (LABEL_ALTERNATE_NAME): Likewise.
19930 (ADDRESSOF_DECL): Likewise.
19931 (JUMP_LABEL): Likewise.
19932 (LABEL_NEXTREF): Likewise.
19933 (REGNO): Likewise.
19934 (ORIGINAL_REGNO: Likewise.
19935 (HARD_REGISTER_NUM_P): Add parenthesis.
19936 (SUBREG_REG): Whitespace.
19937 (SUBREG_BYTE): Likewise.
19938 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
19939 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
19940 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
19941 (ASM_OPERANDS_INPUT_VEC): Likewise.
19942 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
19943 (ASM_OPERANDS_INPUT): Likewise.
19944 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
19945 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
19946 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
19947 (ASM_OPERANDS_INPUT_MODE): Likewise.
19948 (ASM_OPERANDS_SOURCE_FILE): Likewise.
19949 (ASM_OPERANDS_SOURCE_LINE): Likewise.
19950 (MEM_SET_IN_STRUCT_P): Minor reformat.
19951 (TRAP_CONDITION): Whitespace.
19952 (TRAP_CODE): Likewise.
19953 (COND_EXEC_TEST): Likewise.
19954 (COND_EXEC_CODE): Likewise.
19955 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
19956 (PHI_NODE_P): Add parenthesis.
19957 (plus_constant): Whitespace and add parenthesis.
19958
e03f5d43
KH
199592002-01-03 Kazu Hirata <kazu@hxi.com>
19960
19961 * config/avr/avr.c: Fix comment typos.
19962 * config/c4x/c4x.md: Likewise.
19963 * config/dsp16xx/dsp16xx.h: Likewise.
19964 * config/dsp16xx/dsp16xx.md: Likewise.
19965 * config/i386/i386.md: Likewise.
19966 * config/ia64/ia64.c: Likewise.
19967 * config/m32r/m32r.h: Likewise.
19968 * config/m68hc11/m68hc11.md: Likewise.
19969 * config/mmix/mmix.c: Likewise.
19970 * config/mn10200/mn10200.c: Likewise.
19971 * config/romp/romp.c: Likewise.
19972 * config/sh/sh.c: Likewise.
19973 * config/stormy16/stormy16.c: Likewise.
19974 * config/stormy16/stormy16.h: Likewise.
19975 * config/stormy16/stormy16.md: Likewise.
19976
97e300e9
GS
199772002-01-03 Graham Stott <grahams@redhat.com>
19978
19979 * loop.h: Update copyright date.
0d24f4d1
ZW
19980 (LOOP_MOVABLES): Fix typo.
19981 (LOOP_REGS): Likewise.
19982 (LOOP_IVS): Likewise.
ff81832f 19983
745b26b3
GS
199842002-01-03 Graham Stott <grahams@redhat.com>
19985
19986 * cppinit.c: Update copyright date.
19987 Don't include output.h
19988 * Makefile.in: Update copyright date.
19989 Update dependency.
19990
0a379b7a
CR
199912002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
19992
19993 PR c/5226
19994 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
19995 (-pthread) Add to RS/6000 options.
19996
a8154559
KH
199972002-01-02 Kazu Hirata <kazu@hxi.com>
19998
19999 * except.c: Fix comment typos.
20000 * loop.c: Likewise.
20001 * varasm.c: Likewise.
20002 * doc/tm.texi: Fix a typo.
20003
e6ecc89b
JJ
200042002-01-02 Jakub Jelinek <jakub@redhat.com>
20005
20006 * c-typeck.c (output_init_element): Allow initializing static storage
20007 duration objects with compound literals.
20008
d1094b40
RH
200092002-01-02 Richard Henderson <rth@redhat.com>
20010
20011 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
20012 after abusing it.
20013
0c5d8c82
KG
200142002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20015
5e65297b
KG
20016 * gcc.c (default_compilers): Const-ify.
20017 * mips-tdump.c (stab_names): Likewise.
20018 * mips-tfile.c (map_coff_types, map_coff_storage,
20019 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
20020 pseudo_ops_t, pseudo_ops): Likewise.
20021 * protoize.c (default_include): Likewise
20022
0c5d8c82
KG
20023 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
20024 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
20025 Add array size in declaration.
20026 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
20027 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
20028 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
20029 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
20030 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
20031 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
20032 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
20033 emtens, make_nan): Const-ify.
20034 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
20035 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
20036
817e13c4
JM
200372002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
20038
20039 * config.gcc (ia64-*-*): Set extra_headers.
20040 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
20041 * config/alpha/t-osf: Remove.
20042 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
20043
98095e2b
DE
200442002-01-02 David Edelsohn <edelsohn@gnu.org>
20045
20046 * config/rs6000/t-aix43: Revert previous change.
20047
a4200657
JM
200482002-01-02 Jason Merrill <jason@redhat.com>
20049
20050 * c-decl.c (c_expand_body): Call outlining_inline_function when
20051 emitting an inline function out of line.
20052
54ba1f0d
RH
200532002-01-02 Richard Henderson <rth@redhat.com>
20054
20055 * dwarf2out.c (limbo_die_node): Add created_for member.
20056 (new_die): New argument created_for. Update all callers.
20057 (mark_limbo_die_list): New.
20058 (dwarf2out_init): Register limbo_die_list as a root.
20059 (dwarf2out_finish): Force insert limbo dies into their function
20060 context.
20061
323728aa
NS
200622002-01-02 Nathan Sidwell <nathan@codesourcery.com>
20063
20064 PR c++/5089
20065 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
20066
aefc5826
KH
200672002-01-02 Kazu Hirata <kazu@hxi.com>
20068
20069 * config/h8300/fixunssfsi.c: Update copyright.
20070 Fix comment typos.
20071 Fix formatting.
20072 * config/h8300/h8300.c: Update copyright.
20073 Eliminate warnings.
20074
b1c9bc51
KH
200752002-01-02 Kazu Hirata <kazu@hxi.com>
20076
20077 * config/romp/romp.c: Fix comment formatting.
20078 * config/romp/romp.h: Likewise.
20079 * config/romp/romp.md: Likewise.
20080 * config/s390/s390.c: Likewise.
20081 * config/stormy16/stormy16.c: Likewise.
20082 * config/stormy16/stormy16.h: Likewise.
20083
1574ef13
AO
200842002-01-02 Alexandre Oliva <aoliva@redhat.com>
20085
20086 * c-common.h (genrtl_expr_stmt_value): Declare.
20087 * c-semantics.c (genrtl_goto_stmt): Redirect to...
20088 (genrtl_goto_stmt_value): ... this new function. Pass new
20089 argument down to expand_expr_stmt_value, taking
20090 TREE_ADDRESSABLE into account.
20091 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
20092 STMT_EXPR as addressable, i.e., one whose result we want.
20093 * expr.c (expand_expr): Don't save expression statement value
20094 of labeled_blocks or loop_exprs.
20095 * stmt.c (expand_expr_stmt): Redirect to...
20096 (expand_expr_stmt_value): ... this new function. Use new
20097 argument to tell whether to save expression value.
20098 (expand_end_stmt_expr): Reset last_expr_type and
20099 last_expr_value if we don't have either.
20100 * tree-inline.c (declare_return_variable): Mark its use
20101 statement as addressable.
20102 * tree.h: Document new use of TREE_ADDRESSABLE.
20103 (expand_expr_stmt_value): Declare.
20104
252b88f7
TR
201052002-01-01 Tom Rix <trix@redhat.com>
20106
20107 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
20108 rs6000_emit_allocate_stack.
20109
29f7a208
JM
201102002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
20111
20112 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
20113 ${srcdir}/ginclude/ to every entry in extra_headers.
20114 * configure: Regenerate.
20115 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
20116 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
20117 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
20118 * ginclude/proto.h: Rename to config/convex/proto.h.
20119
2cc2d4bb
RK
20120Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20121
20122 * attribs.c (handle_vector_size_attribute): Use host_integerp
20123 and tree_int_cst; remove warnings.
20124 * caller-save.c (insert_restore): Add cast to get rid of warning.
20125 (insert_save): Likewise.
20126 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
20127 * regmove.c (find_matches): Add temporary var to kill a warning.
20128
f01c9bcd
DR
201292002-01-01 Douglas B Rupp <rupp@gnat.com>
20130
16b61764
DR
20131 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
20132 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
20133 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
20134 (vms-dwarf2eh.o): Add Makefile rule.
20135 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
20136 * config/alpha/vms-dwarf2eh.asm: New file.
20137
f01c9bcd
DR
20138 * gcc.c (delete_if_ordinary): Delete all versions.
20139
91312b81
HPN
201402002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
20141
20142 * config/mmix/mmix.md: Update FIXME to not mention
20143 define_constants.
20144 (MMIX_rJ_REGNUM): New define_constants constant.
20145 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
20146 "*movdicc_real"): Adjust contraints formatting.
20147 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
20148 for branch prediction.
20149 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
20150 output template.
20151 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
20152 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
20153 number. Delete related FIXMEs.
20154 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
20155 from number to MMIX_rJ_REGNUM.
20156 (TARGET_MASK_BRANCH_PREDICT): New.
20157 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
20158 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
20159 value. Add -mbranch-predict and -mno-branch-predict.
20160 (TARGET_VERSION): Drop date.
20161 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
20162 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
20163 for finding out global symbols.
20164 (mmix_asm_output_labelref): Revert condition for global symbol.
20165 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
20166 (mmix_print_operand_punct_valid_p): A '+' is valid.
20167
619acae7 20168See ChangeLog.6 for earlier changes.
This page took 2.38789 seconds and 5 git commands to generate.