]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from set_mem_attributes and...
[gcc.git] / gcc / ChangeLog
CommitLineData
6f1087be
RH
12002-07-29 Richard Henderson <rth@redhat.com>
2
3 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
4 set_mem_attributes and add BITPOS argument. Subtract it from
5 OFFSET when same is adjusted.
6 (set_mem_attributes): New wrapper function.
7 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
8 remove offset adjustment hack.
9 * expr.h (set_mem_attributes_minus_bitpos): Declare.
10
61ccbcfd
GDR
112002-07-29 Gabriel Dos Reis <gdr@nerim.net>
12
13 * Makefile.in (C_OBJS): Include c-pretty-print.o
14 (c-pretty-print.o): Add depency rule.
15 * pretty-print.h: Add more macros.
16 * c-pretty-print.c: New file.
17 * c-pretty-print.h: Likewise.
18
09101f56
AH
192002-07-29 Aldy Hernandez <aldyh@redhat.com>
20
21 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
22 constants to __ev64_s32__.
23 (__internal_ev_mwhgsmian): Same.
24 (__internal_ev_mwhgsmfan): Same.
25 (__internal_ev_mwhgssfan): Same.
26 (__internal_ev_mwhgumiaa): Same.
27 (__internal_ev_mwhgsmiaa): Same.
28 (__internal_ev_mwhgsmfaa): Same.
29 (__internal_ev_mwhgssfaa): Same.
30
af673a52
DE
312002-07-29 David Edelsohn <edelsohn@gnu.org>
32
33 * varasm.c (assemble_variable): Narrow test for uninitialized
34 without BSS target support.
35
6c208acd
NS
362002-07-29 Nathan Sidwell <nathan@codesourcery.com>
37
38 * profile.c: Add file comment describing the overall algorithm and
39 structures.
40 (struct edge_info): Add comments.
41 (struct bb_info): Add comments.
42 * basic-block.h (EDGE_*): Add comments.
43 * doc/gcov.texi (Gcov Data Files): Document bit flags.
44
624f0d60
BW
452002-07-29 Bob Wilson <bob.wilson@acm.org>
46
47 * config/xtensa/elf.h, config/xtensa/linux.h
48 (TARGET_OS_CPP_BUILTINS): Define.
49 (CPP_PREDEFINES): Remove.
50 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
51 (CPP_SPEC): Remove.
52
2199e5fa
ZW
532002-07-29 Zack Weinberg <zack@codesourcery.com>
54
55 * gensupport.c: Include hashtab.h.
56 (insn_elision, condition_table, hash_c_test, cmp_c_test,
57 maybe_eval_c_test): New routines and data structures to
58 support insn elision.
59 (init_md_reader): Read and initialize the condition_table.
60 (read_md_rtx): Discard insn patterns whose C test is provably
61 always false.
62 * gensupport.h: Declare new functions and data structures.
63
64 * genconditions.c, dummy-conditions.c: New files.
65 * Makefile.in: Build genconditions; run it to construct
66 insn-conditions.c; build that and link it into most gen*
67 programs.
68 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
69 (GEN): Delete, unused.
70 (STAGESTUFF): Update.
71
72 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
73 CODE_FOR_nothing for all elided patterns.
74 (main): Tweaked to support this.
75 * genflags.c (gen_proto): Emit a static inline generator
76 function here for all elided patterns, which simply returns
77 NULL_RTX.
78 (gen_insn): Do not define HAVE_xxx for elided patterns.
79 (main): Tweaked to support this. No need to forward-declare
80 struct rtx_def.
81 * genrecog.c: Do not bother emitting the C test if it's known
82 to be true at compile time.
83
6ab185d6
MS
842002-07-29 Mike Stump <mrs@apple.com>
85
2199e5fa
ZW
86 * config.gcc (target_gtfiles): Initialize, as otherwise cross
87 compilers hosted on powerpc-apple-darwin6.0 won't even build.
6ab185d6 88
72b075d1
RE
892002-07-29 Richard Earnshaw <rearnsha@arm.com>
90
91 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
92 remove clobber of LR.
93 (sibcall_insn, sibcall_value_insn): Update accordingly.
94 (sibcall_epilogue): Remove debugging comment from assembler stream.
95
f63c45ec
GDR
962002-07-29 Gabriel Dos Reis <gdr@nerim.net>
97
98 * pretty-print.h: Define more macros.
99 * diagnostic.h (output_formatted_integer): Moved from...
100 * diagnostic.c: ... here.
101
c27c15db
KG
1022002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
103
104 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
105
99086d59
ZW
1062002-07-28 Zack Weinberg <zack@codesourcery.com>
107
108 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
109 arguments. Always use ".-symbol" as expression argument.
110 * doc/tm.texi: Update to match. Document requirement for
111 ".size symbol, .-symbol" to be acceptable to assembler.
112
113 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
114 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
115 config/i386/freebsd-aout.h, config/i386/sco5.h,
116 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
117 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
118
dd86aabf
KG
1192002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
120
6fd327e9
KG
121 * Makefile.in (gengtype-lex.c): Fix error in last change.
122
8155cedd
KG
123 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
124 backslash.
125
dd86aabf
KG
126 * Makefile.in (vmsdbgout.o): Depend on function.h.
127
128 * vmsdbgout.c: Include function.h.
129
d4348177
AM
1302002-07-28 Alan Modra <amodra@bigpond.net.au>
131
132 * prefix.c (update_path): Don't strip single `.' path components
133 unless stripping a later `..' component. Exit loop as soon as
134 a valid path is found.
135
c2ef6d34
RS
1362002-07-27 Roger Sayle <roger@eyesopen.com>
137
138 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
139 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
140 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
141 floating point unordered comparisons (e.g. __builtin_isgreater)
142 as const, and leave the remaining GCC_BUILTINs unchanged.
143
144 * c-decl.c (builtin_function): No need to explicitly mark
145 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
146
52bfebf0
RS
1472002-07-27 Roger Sayle <roger@eyesopen.com>
148
149 * Makefile.in: rtlanal.o now depends upon real.h.
150
151 * flags.h [flag_signaling_nans]: New flag.
152 [HONOR_SNANS]: New macro.
153
154 * toplev.c [flag_signaling_nans]: Initialize to false.
99086d59 155 (f_options): Add processing for "-fsignaling-nans".
52bfebf0
RS
156 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
157 (process_options): flag_signaling_nans implies flag_trapping_math.
158
159 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
160 when -fsignaling-nans. First step to implementing WG14's N965.
161
162 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
163 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
164 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
165
166 * simplify-rtx.c (simplify_relational_operation): Conditionalize
167 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
168
169 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
170 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
99086d59
ZW
171 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
172 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
52bfebf0
RS
173 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
174
175 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
176
e66f55b8
KG
1772002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
178
179 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
180 * gengtype-lex.l (YY_USE_PROTOS): Undef.
181 (YY_DECL): Define.
182
a3926fe1
RS
1832002-07-27 Roger Sayle <roger@eyesopen.com>
184
185 * doc/invoke.texi: Document that both -fno-builtin-foo and
186 -fno-builtin are supported by the g++ front-end.
187
ef69da62
SS
1882002-07-27 Stan Shebs <shebs@apple.com>
189
190 * configure.in: Rename config_gtfiles to target_gtfiles.
191 * configure: Regenerate.
192 * doc/gty.texi: Update reference.
193 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
194 instead of appending to it.
195
a4b0320c
AH
1962002-07-25 Aldy Hernandez <aldyh@redhat.com>
197
198 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
199 vectors are split into two registers.
200 (function_arg): Same.
201
c427db5d
R
202Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
203
204 * pa.md (extv): Check predicates before emitting extv_32.
205
57ac7be9
AM
2062002-07-27 Alan Modra <amodra@bigpond.net.au>
207
208 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
209 (rs6000_traceback): New var.
210 (rs6000_override_options): Set rs6000_traceback.
211 (rs6000_output_function_epilogue): Implement traceback options.
212 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
213 (rs6000_traceback_name): Declare.
214
215 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
216 label reference when NO_PROFILE_COUNTERS.
217
8e51619a
JM
2182002-07-26 Jason Merrill <jason@redhat.com>
219
220 * function.c (assign_parms): Handle frontend-directed pass by
221 invisible reference.
222
b41f25cf
NB
2232002-07-26 Neil Booth <neil@daikokuya.co.uk>
224
225 * doc/cppopts.texi: Update.
226
c2734e05
NB
2272002-07-26 Neil Booth <neil@daikokuya.co.uk>
228
229 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
230 warnings on assertions.
231
c372b0fa
NB
2322002-07-26 Neil Booth <neil@daikokuya.co.uk>
233
234 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
235 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
236 RID_COMPL): Remove.
237 * c-parse.in (rid_to_yy): Similarly.
238
558ee214
JM
2392002-07-26 Jason Merrill <jason@redhat.com>
240
241 * c-dump.c: Resurrect.
242 * tree-dump.c: Move C-specific stuff to c-dump.c.
243 * c-common.h: Declare c_dump_tree.
244 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
245 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
246 (c-dump.o): New rule.
247
ce71f754
AM
2482002-07-26 Alan Modra <amodra@bigpond.net.au>
249
250 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
251 PowerPC64. Replace "T" and "S" constraints with "n" when the
252 predicate will do. Formatting fixes.
253 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
254 as for extzvsi_internal1.
255
e179e7d7
NB
2562002-07-25 Neil Booth <neil@daikokuya.co.uk>
257
258 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
259 DERIV_END_LABEL_FMT): Remove.
260 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
261
a2056183
NB
2622002-07-25 Neil Booth <neil@daikokuya.co.uk>
263
264 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
265 Remove.
266
308c142a
SS
2672002-07-25 Stan Shebs <shebs@apple.com>
268
269 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
270 local var dwarfp.
271 (output_compiler_stub): Remove unused locals.
272 (output_call): Always initialize line number.
273
59324685
R
274Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
275
276 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
277 * sh.md (truncdiqi2, movqi_media): Likewise.
278
77bbd421
NB
2792002-07-25 Neil Booth <neil@daikokuya.co.uk>
280
281 * gcse.c (obstack_chunk_alloc): Remove.
282 (gcse_alloc): Fix to count allocated bytes.
283 * collect2.c (SYMBOL__MAIN): Remove.
284
7bad45b0
NB
2852002-07-25 Neil Booth <neil@daikokuya.co.uk>
286
287 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
288 HAVE_TARGET_EXECUTABLE_SUFFIX.
289
184166b5
R
290Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
291
292 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
293 SIZE, EXPR and OFFSET.
294
40cb04f1
RH
2952002-07-25 Richard Henderson <rth@redhat.com>
296
297 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
298 in ARRAY_REF of DECL_P case.
299
a27fb29b
RS
3002002-07-25 Richard Sandiford <rsandifo@redhat.com>
301
302 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
303 description. Document -mips32, -mips64, and the associated -march
304 values. Describe the "mipsN" arguments to -march. Say that the
305 -mipsN options are equivalent to -march. Reword the description
306 of default type sizes.
307 * toplev.h (target_flags_explicit): Declare.
308 * toplev.c (target_flags_explicit): New var.
309 (set_target_switch): Update target_flags_explicit.
310 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
311 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
312 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
313 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
314 * config/mips/mips.h (mips_cpu_info): New struct.
315 (mips_cpu_string, mips_explicit_type_size_string): Remove.
316 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
317 (MIPS_CPP_SET_PROCESSOR): New macro.
318 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
319 Define _MIPS_ARCH and _MIPS_TUNE.
320 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
321 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
322 MIPS_ISA_DEFAULT were already defined.
323 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
324 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
325 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
326 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
327 (ABI_GAS_ASM_SPEC): Remove.
328 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
329 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
330 Invoke %(asm_abi_default_spec) if no ABI was specified.
331 (CC1_SPEC): Remove ISA -> register-size rules.
332 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
333 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
334 (mips_cpu_string, mips_explicit_type_size_string): Remove.
335 (mips_cpu_info_table): New array.
336 (mips_set_architecture, mips_set_tune): New fns.
337 (override_options): Rework to make -mipsN equivalent to -march.
338 Detect more erroneous cases, including those removed from CC1_SPEC.
339 Don't change the ABI based on architecture, or vice versa.
340 Unify logic with GAS.
341 (mips_asm_file_start): Get architecture name from mips_arch_info.
342 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
343 (mips_parse_cpu): Take the name of the option as argument. Handle
344 'from-abi'. Raise an error if the option is wrong.
345 (mips_cpu_info_from_isa): New fn.
346
6bbdc759
RS
3472002-07-25 Richard Sandiford <rsandifo@redhat.com>
348
349 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
350 (tablejump_mips162): Likewise.
351
80a62484
R
352Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
353
354 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
355 int_mode_for_mode.
356
ea793912
GDR
3572002-07-25 Gabriel Dos Reis <gdr@nerim.net>
358
359 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
99086d59 360 complaining.
ea793912
GDR
361 * c-common.h (c_sizeof): Adjust definition.
362 (c_alignof): Likewise.
363 * c-tree.h (c_sizeof_nowarn): Now macro.
364 * c-typeck.c (c_sizeof_nowarn): Remove definition.
365
2d615444
NB
3662002-07-25 Neil Booth <neil@daikokuya.co.uk>
367
368 * c-decl.c (c_decode_option): No need to handle switches
369 cpplib handles.
370
2be2ac70
ZW
3712002-07-24 Zack Weinberg <zack@codesourcery.com>
372
373 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
374 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
375 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
376 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
377
378 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
379 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
380 config/cris/aout.h, config/i386/freebsd-aout.h,
381 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
382 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
383 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
384 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
385 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
386 config/xtensa/elf.h, config/xtensa/linux.h:
387 Use the new macros.
388 Where possible, remove redundant definitions of SIZE_ASM_OP,
389 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
390
518878e1
AH
3912002-07-24 Aldy Hernandez <aldyh@redhat.com>
392
393 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
394 TARGET_ISEL, and TARGET_FPRS.
99086d59 395
518878e1
AH
396 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
397 -mabi=spe, -mabi=no-spe, and -misel=.
398
399 * config/rs6000/rs6000-protos.h: Add output_isel.
400 Move vrsave_operation prototype here.
401
402 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
403 (smaxsi3): Same.
404 (uminsi3): Same.
405 (umaxsi3): Same.
406 (abssi2_nopower): Disallow when TARGET_ISEL.
407 (*ne0): Same.
408 (negsf2): Change to expand and rename old pattern to *negsf2.
409 (abssf2): Change to expand and rename old pattern to *abssf2.
99086d59 410
518878e1
AH
411 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
412 fixunssfsi2.
413
414 Change patterns that check for TARGET_HARD_FLOAT or
415 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
416
417 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
418 rs6000_isel, rs6000_fprs, rs6000_isel_string.
419 (rs6000_override_options): Add 8540 case to
420 processor_target_table.
421 Set rs6000_isel for the 8540.
422 Call rs6000_parse_isel_option.
423 (enable_mask_for_builtins): New.
424 (rs6000_parse_isel_option): New.
425 (rs6000_parse_abi_options): Add spe and no-spe.
426 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
427 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
428 for TARGET_HARD_FLOAT.
429 Add case for SPE_VECTOR_MODE.
430 (rs6000_legitimize_reload_address): Handle SPE vector modes.
431 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
432 vector modes.
433 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
434 (rs6000_emit_move): Check for TARGET_FPRS.
435 Add cases for SPE vector modes.
436 (function_arg_boundary): Return 64 for SPE vector modes.
437 (function_arg_advance): Check for TARGET_FPRS and
438 Handle SPE vectors.
439 (function_arg): Same.
440 (setup_incoming_varargs): Check for TARGET_FPRS.
441 (rs6000_va_arg): Same.
442 (struct builtin_description): Un-constify mask field. Move up in
443 file.
444 (bdesc_2arg): Un-constify and add SPE builtins.
445 (bdesc_1arg): Same.
446 (bdesc_spe_predicates): New.
447 (bdesc_spe_evsel): New.
448 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
449 (rs6000_expand_binop_builtin): Same.
450 (bdesc_2arg_spe): New.
451 (spe_expand_builtin): New.
452 (spe_expand_predicate_builtin): New.
453 (spe_expand_evsel_builtin): New.
454 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
455 (rs6000_init_builtins): Initialize SPE builtins. Call
456 rs6000_common_init_builtins.
457 (altivec_init_builtins): Move all non-altivec builtin code to...
458 (rs6000_common_init_builtins): ...here. New function.
459 (branch_positive_comparison_operator): Allow NE code for SPE.
460 (ccr_bit): Return correct ccr bit for SPE fp.
461 (print_operand): Emit crnor in 'D' case for SPE.
462 New case 't'.
463 Add SPE code for 'y' case.
464 (rs6000_generate_compare): Generate rtl for SPE fp.
465 (output_cbranch): Handle SPE hard floats.
466 (rs6000_emit_cmove): Handle isel.
467 (rs6000_emit_int_cmove): New.
468 (output_isel): New.
469 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
470 64-bits for SPE.
471 (debug_stack_info): Add SPE info.
472 (gen_frame_mem_offset): New.
473 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
474 Change mode of frame pointer, when saving it, to Pmode.
475 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
476 Misc cleanups and use gen_frame_mem_offset when appropriate.
477
478 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
479 (TARGET_SPE_ABI): New.
480 (TARGET_SPE): New.
481 (TARGET_ISEL): New.
482 (TARGET_FPRS): New.
483 (FIXED_SCRATCH): New.
484 (RTX_COSTS): Add PROCESSOR_PPC8540.
485 (ASM_CPU_SPEC): Add case for 8540.
486 (TARGET_OPTIONS): Add isel= case.
487 (rs6000_spe_abi): New.
488 (rs6000_isel): New.
489 (rs6000_fprs): New.
490 (rs6000_isel_string): New.
491 (UNITS_PER_SPE_WORD): New.
492 (LOCAL_ALIGNMENT): Adjust for SPE.
493 (HARD_REGNO_MODE_OK): Same.
494 (DATA_ALIGNMENT): Same.
495 (MEMBER_TYPE_FORCES_BLK): New.
496 (FIRST_PSEUDO_REGISTER): Set to 113.
497 (FIXED_REGISTERS): Add SPE registers.
498 (reg_class): Same.
499 (REG_CLASS_NAMES): Same.
500 (REG_CLASS_CONTENTS): Same.
501 (REGNO_REG_CLASS): Same.
502 (REGISTER_NAMES): Same.
503 (DEBUG_REGISTER_NAMES): Same.
504 (ADDITIONAL_REGISTER_NAMES): Same.
505 (CALL_USED_REGISTERS): Same.
506 (CALL_REALLY_USED_REGISTERS): Same.
507 (SPE_ACC_REGNO): New.
508 (SPEFSCR_REGNO): New.
509 (SPE_SIMD_REGNO_P): New.
510 (HARD_REGNO_NREGS): Adjust for SPE.
511 (VECTOR_MODE_SUPPORTED_P): Same.
512 (REGNO_REG_CLASS): Same.
513 (FUNCTION_VALUE): Same.
514 (LIBCALL_VALUE): Same.
515 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
516 (SPE_VECTOR_MODE): New.
517 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
518 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
519 (rs6000_stack): Add spe_gp_size, spe_padding_size,
520 spe_gp_save_offset.
521 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
522 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
523 (SPE_CONST_OFFSET_OK): New.
524 (rs6000_builtins): Add SPE builtins.
525
526 * testsuite/gcc.dg/ppc-spe.c: New.
99086d59 527
518878e1
AH
528 * config/rs6000/eabispe.h: New.
529
530 * config/rs6000/spe.h: New.
531
532 * config/rs600/spe.md: New.
533
534 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
535 __SIMD__ for TARGET_SPE.
536
537 * config.gcc: Add powerpc-*-eabispe* case.
538 Add spe.h to user headers for powerpc.
539
8d1b7ba1
CD
5402002-07-24 Chris Demetriou <cgd@broadcom.com>
541
542 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
543 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
544 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
545
8ad8135a
RH
5462002-07-24 Richard Henderson <rth@redhat.com>
547
548 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
549 form when not optimizing.
550
dc44a4d8
DM
5512002-07-24 David Mosberger <davidm@hpl.hp.com>
552
553 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
554 thread_pointer_rtx as unchanging.
555
c5605318
MM
5562002-07-24 Michael Matz <matz@suse.de>
557
558 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
559 (free_reg): Use it.
560
3ade30ea
RE
5612002-07-24 Richard Earnshaw <rearnsha@arm.com>
562
563 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
564 pattern.
565 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
566 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
567
8a3ad737
CD
5682002-07-24 Chris Demetriou <cgd@broadcom.com>
569
570 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
571 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
572 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
573
7e51e626
JH
574Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
575
576 * toplev.c (rest_of_compilation): Dump loops before clobbering
577 the structure.
578
5df533b3
JH
579Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
580
581 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
582
79258dce
RS
5832002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
584
585 PR optimization/7291
586 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
587 problem on x86_64.
588
26ff2117
GDR
5892002-07-24 Gabriel Dos Reis <gdr@nerim.net>
590
591 * pretty-print.h: Add macros from cp/error.c
592
0ba1b2ff
AM
5932002-07-24 Alan Modra <amodra@bigpond.net.au>
594
595 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
596 (mask64_2_operand): Declare.
597 (build_mask64_2_operands): Declare.
598 (and64_2_operand): Declare.
599 (extract_MB): Declare.
600 (extract_ME): Declare.
601 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
602 CONST_DOUBLE code.
603 (mask_operand_wrap): New insn predicate.
604 (mask64_2_operand): Likewise.
605 (and64_2_operand): Likewise.
606 (build_mask64_2_operands): New function.
607 (extract_MB): New function.
608 (extract_ME): New function.
609 (print_operand <case m,M>): Use extract_MB and extract_ME.
610 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
611 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
612 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
613 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
614 * config/rs6000/rs6000.md (andsi3_internal3): New
615 (andsi3_internal3+1): Enable split for powerpc64.
616 (andsi3_internal3+2): New split.
617 (andsi3_internal4): Renamed old andsi3_internal3.
618 (andsi3_internal5): New.
619 (andsi3_internal5+1): Enable split for powerpc64.
620 (andsi3_internal5+2): New split.
621 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
622 (anddi3): Handle 't' constraint.
623 (anddi3+1): New split.
624 (anddi3_internal2): Handle 't' constraint.
625 (anddi3_internal2+1): New split.
626 (anddi3_internal3): Handle 't' constraint.
627 (anddi3_internal3+1): New split.
628
097657c3
AM
6292002-07-24 Alan Modra <amodra@bigpond.net.au>
630
631 * config/rs6000/rs6000.md: Remove scratch reg on insns using
632 addze and similar (plus (comparison r1 r2) r3) insns. Add
633 missing scratch reg in one case. Formatting fixes.
634
a69cbaac
NB
6352002-07-24 Neil Booth <neil@daikokuya.co.uk>
636
637 * cppexp.c (parse_defined): Mark macro used.
638 * cpphash.h (struct cpp_macro): New member "used".
639 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
640 (struct cpp_reader): New member.
641 * cppinit.c (cpp_finish_options): Set first_unused_line.
642 (cpp_finish): Warn of unused macros if requested.
643 (OPT_TABLE): New switches.
644 (cpp_handle_option): Handle them.
645 * cpplib.c (do_undef): Warn if macro unused.
646 (do_ifdef, do_ifndef): Mark macro used.
647 * cpplib.h (struct cpp_options): New member.
648 * cppmacro.c (_cpp_warn_if_unused_macro): New.
649 (enter_macro_context): Mark macro used.
650 (_cpp_create_definition): Mark macro unused; warn if unused
651 when redefined.
652 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
653 Mark macros used.
654 * doc/cppopts.texi: Update.
655
c0667597
NB
6562002-07-23 Neil Booth <neil@daikokuya.co.uk>
657
658 * dwarf2out.c (SECTION_ASM_OP,
659 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
660 * system.h (SECTION_ASM_OP): Poison.
661 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
662 * config/alpha/alpha-interix.h, config/mips/linux.h
663 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
664 * config/mmix/mmix-protos.h, config/mmix/mmix.c
665 (mmix_asm_output_define_label_difference_symbol): Remove.
666 * config/mmix/mmix.h
667 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
b841421a 668 * doc/tm.texi: Remove documentation.
c0667597 669
bf7cd754
R
670Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
671
672 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
673 (constrain_operands): Likewise.
674 * regclass.c (record_reg_classes): Likewise.
675 * reload.c (find_reloads): Likewise.
676 * doc/md.texi: Likewise.
451f86fd
R
677
678 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
679 * simplify-rtx.c (simplify_subreg): When converting to a non-int
680 mode, try to convert to an integer mode of matching size first.
1d5fa6b4
R
681
682 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
683 from individual subregs, check that each subreg has been generated
684 sucessfully.
685
10d6af32
NB
6862002-07-23 Neil Booth <neil@daikokuya.co.uk>
687
688 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
689 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
690 FOR_EACH_BB_IN_SBITMAP): Remove.
691 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
692 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
693 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
694 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
695 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
696 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
697
6aaae39a
GDR
6982002-07-23 Gabriel Dos Reis <gdr@nerim.net>
699
700 * pretty-print.h: New file.
701
45e574d0
JDA
7022002-07-23 Paul Koning <pkoning@equallogic.com>
703
704 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
705 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
706 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
707 (TARGET_G_FLOAT): Default to 0 if not defined.
99086d59 708 (ieeetoe): New, common routine to convert target format floats
45e574d0
JDA
709 to internal form.
710 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
711 vs. others.
712 (e113toe): Change to use ieeetoe.
713
7142002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
715
716 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
717 IBM.
718 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
719 (e64toe): Remove special cases for DEC and IBM. Remove support for
720 ARM_EXTENDED_IEEE_FORMAT.
721 (e24toe): Remove special cases for DEC.
722 (significand_size): Simplify. Indent.
723 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
724 (etoieee, toieee): New.
725 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
726 etoieee and toieee for IEEE arithmetic.
727
3764f879
GDR
7282002-07-23 Gabriel Dos Reis <gdr@nerim.net>
729
730 * doc/extend.texi: Say ISO C90, not ISO C89.
731 * doc/invoke.texi: Likewise.
732 * doc/standards.texi: Likewise.
733
aa0f70e6
SE
7342002-07-23 Steve Ellcey <sje@cup.hp.com>
735
736 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
737 Fix permutation of conversion and plus/mult.
738 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
739 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
740 (expand_builtin_strncpy) Ditto.
741 (expand_builtin_memset) Ditto.
742
fa72b064
GDR
7432002-07-23 Gabriel Dos Reis <gdr@nerim.net>
744
745 Fix PR/7363:
746 * c-common.c (c_sizeof_or_alignof_type): New function.
747 (c_alignof): Remove definition.
748 * c-common.h (c_sizeof, c_alignof): Define as macros.
749 (c_sizeof_or_alignof_type): Declare.
750 (my_friendly_assert): Moved from cp/cp-tree.h
751 * c-typeck.c (c_sizeof): Remove definition.
752
2b773ee2
JH
7532002-07-23 Jan Hubicka <jh@suse.cz>
754
755 * gcse.c (try_replace_reg): Use num_changes_pending.
756 * recog.c (num_changes_pending): New function.
757 (validate_replace_src): Use validate_repalce_src_group.
758 (validate_replace_src_group): New.
759 * recog.h (validate_repalce_src_group): New.
760 (num_changes_pending): Likewise.
761
a0dc500c
R
762Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
763
764 * calls.c (emit_library_call_value_1): If
765 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
766 libcall, const call nor pure call.
767
d22eda7b
NB
7682002-07-23 Neil Booth <neil@daikokuya.co.uk>
769
770 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
771
b5e66e65
NB
7722002-07-23 Neil Booth <neil@daikokuya.co.uk>
773
774 * vmsdbgout.c (SECTION_ASM_OP): Remove.
775
c3a600c0
NB
7762002-07-23 Neil Booth <neil@daikokuya.co.uk>
777
778 * config/i386/i386.c (AT_BP): Remove.
779
4fa31c2a
NB
7802002-07-23 Neil Booth <neil@daikokuya.co.uk>
781
782 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
783 Default definition.
784 * gcse.c: Don't define obstack_chunk_free.
785 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
786 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
787 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
788 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
789 Don't define obstack macros.
790
fd576c86
SC
7912002-07-22 Stephane Carrez <stcarrez@nerim.fr>
792
793 PR target/6744
794 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
795 ASM_OPERANDS instructions.
796
b791ff31
SC
7972002-07-22 Stephane Carrez <stcarrez@nerim.fr>
798
799 PR target/7361
800 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
801 constant addresses only on 68HC12.
802
4a941115
NB
8032002-07-22 Neil Booth <neil@daikokuya.co.uk>
804
805 * cppfiles.c (stack_include_file): Correct test of whether
806 a dependency should be output.
807
7488cc6d
DE
8082002-07-22 David Edelsohn <edelsohn@gnu.org>
809
810 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
811
b41caf7c
RE
8122002-07-22 Richard Earnshaw <rearnsha@arm.com>
813
814 * arm.md (movqi): If optimizing and we can create pseudos, use
815 a ZERO_EXTEND to load from memory, then copy the result into the
816 target.
817 (movhi): Likewise, but only for ARMv4.
818
492e9934
NB
8192002-07-22 Neil Booth <neil@daikokuya.co.uk>
820
821 * ssa-ccp.c (PHI_PARMS): Remove.
822
f01f01a6
RS
8232002-07-22 Richard Sandiford <rsandifo@redhat.com>
824
825 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
826 on big-endian targets.
827
c2ae8aef
KG
8282002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
829
830 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
831 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
832 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
833 New formatting macros.
834
835 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
836
eab2120d
R
837Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
838
839 * rtlanal.c (subreg_regno_offset): Return correct offset for
840 big endian paradoxical subregs.
0d541696
R
841
842 * optabs.c (expand_vector_unop): Don't expand using sub_optab
843 if we got the wrong mode.
bb9b3805
R
844
845 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
846 * genrecog.c (write_switch, write_cond): Use it.
847 * genemit.c (gen_exp): Likewise.
848
e96eb215
JJ
8492002-07-22 Jakub Jelinek <jakub@redhat.com>
850
851 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
852
cf3c4f56
JJ
8532002-07-22 Jakub Jelinek <jakub@redhat.com>
854
855 * c-decl.c (build_compound_literal): Defer compound literal decls
856 until until file end to emit them only if they are actually used.
857
533c4863
KG
8582002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
859
860 * ra-build.c (check_conflict_numbers): Hide unused function.
861 (livethrough_conflicts_bb): Avoid automatic aggregate
862 initialization.
863 (parts_to_webs_1): Avoid `U' integer constant modifier.
864 (conflicts_between_webs): Wrap a variable in the macro controlling
865 its usage.
866 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
867 (dump_igraph, dump_graph_cost): Avoid string concatenation
868 (dump_static_insn_cost): Avoid automatic aggregate
869 initialization.
870 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
871 initialization.
872 (dump_cost): Avoid string concatenation
873
8943a0b4
RH
8742002-07-21 Richard Henderson <rth@redhat.com>
875
876 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
877 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
878
b1aef35b
RH
8792002-07-21 Richard Henderson <rth@redhat.com>
880
881 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
882 that are not unrolled completely.
883
5e1afb11
RH
8842002-07-21 Richard Henderson <rth@redhat.com>
885
886 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
887 * loop.c (strength_reduce): Update.
888 * toplev.c (rest_of_compilation): Do unrolling in the first
889 loop pass, not the second.
890
c67a1cf6
RH
8912002-07-21 Richard Henderson <rth@redhat.com>
892
893 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
894 when flag_argument_noalias == 2.
895 * alias.c (nonoverlapping_memrefs_p): Handle that.
896 * print-rtl.c (print_mem_expr): Likewise.
897
b68daef4
HS
8982002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
899
900 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
901 instead of __negdi2 directly.
902
060a58c5
NB
9032002-07-21 Neil Booth <neil@daikokuya.co.uk>
904
905 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
906 * function.c (SYMBOL__MAIN): Remove definition.
907 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
99086d59 908 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
060a58c5
NB
909 * profile.c (GCOV_INDEX_TO_BB): Remove.
910 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
911 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
912
2f8dd115
NB
9132002-07-21 Neil Booth <neil@daikokuya.co.uk>
914
915 * c-lex.c (GET_ENVIRONMENT): Remove.
916 * collect2.c (GET_ENV_PATH_LIST): Remove.
917 (prefix_from_env): Use GET_ENVIRONMENT.
918 * cppinit.c (GET_ENV_PATH_LIST): Remove.
919 (init_standard_includes): Use GET_ENVIRONMENT.
920 * defaults.h (GET_ENVIRONMENT): Define here if not already.
921 * gcc.c (GET_ENV_PATH_LIST): Remove.
922 (make_relative_prefix, process_command): Update.
923 * protoize.c (GET_ENV_PATH_LIST): Remove.
924 (do_processing): Update.
925
56508306
GDR
9262002-07-21 Gabriel Dos Reis <gdr@nerim.net>
927
928 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
929 (grokdeclarator): Likewise.
930 * c-format.c (C_STD_NAME): Likewise.
931 * c-lex.c (interpret_integer): Likewise.
932 * c-typeck.c (build_array_ref): Likewise.
933 * cpplex.c (_cpp_lex_direct): Likewise.
934 * toplev.c (documented_lang_options): Likewise.
935
e2f62855
NB
9362002-07-21 Neil Booth <neil@daikokuya.co.uk>
937
938 * c-format.c (T99_I, T99_UI): Remove.
939
c89d1dfd
NB
9402002-07-21 Neil Booth <neil@daikokuya.co.uk>
941
942 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
943
46690369
JH
944Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
945
946 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
947 do_local_cprop.
948
60ffc1b8
AJ
9492002-07-21 Andreas Jaeger <aj@suse.de>
950
99086d59 951 * reload1.c (fixup_abnormal_edges): Remove unused variable.
60ffc1b8 952
c05ffc49
BS
9532002-07-21 Bernd Schmidt <bernds@redhat.com>
954
955 Improvements for the ifcvt pass from Michael Meissner, with patches
956 by Richard Sandiford <rsandifo@redhat.com>
957 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
958 * ifcvt.c (cond_exec_changed_p): New static variable.
959 (last_active_insn): New function, renamed from last_active_insn_p
960 and changed to return the last active insn in a basic block. All
961 callers updated.
962 (block_fallthru): New function.
963 (cond_exec_process_insns): New argument CE_INFO. Pass it to
964 IFCVT_MODIFY_INSN. All callers updated.
965 Return false if START or END are NULL.
966 Handle case where we're processing an insn that is already
967 conditional.
968
969 (noce_process_if_block): CE_INFO argument rather than
970 multiple args containing the involved basic blocks. All callers
971 changed.
972 (process_if_block, merge_if_block, find_if_block,
973 cond_exec_process_if_block): Likewise.
974
975 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
976 changed.
977 Use new function last_active_insn to simplify some code.
978 New code to handle multiple tests.
979 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
980 cond_exec_changed_p to TRUE.
981
982 (process_if_block): New code to handle multiple tests.
983 (merge_if_block): Likewise.
984 (find_if_header): New arg PASS. Changed to return the currently
985 processed basic block or NULL instead of true/false. All callers
986 changed.
987 Call IFCVT_INIT_EXTRA_FIELDS.
988 (block_jumps_and_fallthru_p): New function.
989 (find_if_block): Discover opportunities to convert multiple tests.
990 Add additional debugging output.
991 Update the ce_info structure before returning.
992
993 (if_convert): Run multiple passes of if-conversion.
994 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
995 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
996 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
997 these macros.
998
ae860ff7
JH
999Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
1000
1001 * gcse.c: Include cselib.h
1002 (constptop_register): Break out from ...
1003 (cprop_insn): ... here; kill basic_block argument.
1004 (do_local_cprop, local_cprop_pass): New functions.
1005 (one_cprop_pass): Call local_cprop_pass.
1006
0da65b89
RS
10072002-07-20 Roger Sayle <roger@eyesopen.com>
1008
1009 * simplify-rtx.c (simplify_relational_operation): Optimize
1010 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
1011
47cc673a
MM
10122002-07-20 Michae Matz <matz@suse.de>
1013
1014 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
1015
68e65275
NB
10162002-07-20 Neil Booth <neil@daikokuya.co.uk>
1017
1018 * cppexp.c (struct op): Add token pointer.
1019 (check_promotion, CHECK_PROMOTION): New.
1020 (optab): Update.
1021 (_cpp_parse_expr): Update, use token pointer of struct op.
1022 (reduce): Warn about change of sign owing to promotion.
1023 * cppinit.c (cpp_handle_option): New warning if -Wall.
1024 * cpplib.h (struct cpp_options): New member.
1025
e3485bbc
DE
10262002-07-19 David Edelsohn <edelsohn@gnu.org>
1027
1028 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
1029 fpu list. Separate Power4 compare and delayed_compare. Correct
1030 Power4 fpcompare.
1031 (fix_truncdfsi2_internal): Restore FPR preference.
1032 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
1033 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
1034
449655a6
MV
10352002-07-19 Momchil Velikov <velco@fadata.bg>
1036
1037 * reload1.c (reload_as_needed): Duplicate oldpat.
1038
8b583747
AM
10392002-07-20 Alan Modra <amodra@bigpond.net.au>
1040
1041 PR optimization/7130
1042 * loop.h (struct loop_info): Add "preconditioned".
1043 * unroll.c (unroll_loop): Set it.
1044 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
1045
0dc36574
ZW
10462002-07-19 Zack Weinberg <zack@codesourcery.com>
1047
1048 * rtl.def (CODE_LABEL): Remove slot 8.
1049 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
1050 (LABEL_ALTERNATE_NAME): Delete.
1051 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
1052 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
1053
1054 * final.c (output_alternate_entry_point): New.
1055 (final_scan_insn): Use it instead of
1056 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
1057 of a case label being an alternate entry point.
1058
1059 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
1060 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
1061 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
1062 (field deleted).
1063 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
1064
1065 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
1066 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
1067 * doc/tm.texi: Delete documentation of
1068 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
1069
59267987
RO
10702002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1071
1072 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
1073 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
1074 (LINK_SPEC): Define.
1075 (STARTFILE_SPEC): Define.
1076 (ENDFILE_SPEC): Define.
1077
1078 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
1079 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
1080
1081 * config/mips/iris6-o32-gas.h: New file.
1082 * config.gcc (mips-sgi-irix6*o32): Use it.
1083
1084 * config/mips/t-iris5-gas: New file.
1085 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
1086
75aef48a
NB
10872002-07-19 Neil Booth <neil@daikokuya.co.uk>
1088
1089 * cppexp.c (ALWAYS_EVAL): Remove.
1090 (optab, reduce): Always evaluate.
1091 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
1092 only if not skipping evaluation.
1093
72a5503d
MM
10942002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
1095
1096 * config/avr/avr.c (debug_hard_reg_set): Remove.
1097
059ba716
CD
10982002-07-19 Chris Demetriou <cgd@broadcom.com>
1099
1100 * gcc.c (cpp_options): Include "%1" (cc1_spec).
1101
544823b6
RH
11022002-07-19 Richard Henderson <rth@redhat.com>
1103
1104 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
1105
c35383cb
AM
11062002-07-19 Alan Modra <amodra@bigpond.net.au>
1107
1108 * prefix.c (update_path): Don't zap single `.' path components
1109 unless followed by another `.' and fix typo last patch.
1110
ad28cff7
NB
11112002-07-18 Neil Booth <neil@daikokuya.co.uk>
1112
1113 * cppexp.c (cpp_num_mul): Remove unused parameter.
1114 (UNARY, BINARY, OTHER, binary_handler): Remove.
1115 (ALWAYS_EVAL): New.
1116 (optab): Update.
1117 (reduce): Refactor to a large switch, don't use a function
1118 pointer.
1119
139b7f86
BT
11202002-07-18 Bo Thorsen <bo@berlioz.suse.de>
1121
1122 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
1123
e69d1422
R
1124Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1125
1126 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
1127 (sh_expand_binop_v2sf): Likewise.
1128 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
1129 (int_gpr_dest, trunc_hi_operand): New functions.
1130 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
1131 trunc_hi_operand.
1132 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
1133 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
1134 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
1135 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
1136 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
1137 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
1138 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
1139 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
1140 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
1141 (movsf_ie+1): Likewise.
1142 (loaddi_trunc): Use int_gpr_dest predicate.
1143 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
1144 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
1145 (casesi_worker_0+[12], casesi_worker): Likewise.
1146 (shcompact_preserve_incoming_args): Likewise.
1147 (mov_nop): Use any_register_operand predicate.
1148 (mperm_w0): Use trunc_hi_operand predicate.
1149
47a4976f
JDA
11502002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
1151
1152 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
1153 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
1154 numbering.
1155
f3a4e54e
JDA
11562002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
1157
1158 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
1159
30484ccf
RH
11602002-07-18 Richard Henderson <rth@redhat.com>
1161
1162 PR optimization/7147
1163 * ifcvt.c (noce_get_condition): Make certain that the condition
1164 is valid at JUMP.
1165
d042370e
R
1166Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
1167
1168 * sh.c (barrier_align, push): Shut up compiler warnings.
1169 (initial_elimination_offset,sh_media_init_builtins): Likewise.
1170 (reg_no_subreg_operand): Delete.
1171
61fee9b3
BT
11722002-07-17 Bo Thorsen <bo@suse.de>
1173
1174 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
1175 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
1176 (STARTFILE_SPEC): Remove hardcoded library paths.
1177 (ENDFILE_SPEC): Likewise.
1178
f305679f
JH
1179Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
1180
1181 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
1182
1183 * gcse.c (try_replace_reg): Do not return false positives.
1184
99bcb625
AM
11852002-07-18 Alan Modra <amodra@bigpond.net.au>
1186
f6f23ad2
AM
1187 * prefix.c: (update_path): Strip ".." components when prior dir
1188 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
1189
99bcb625
AM
1190 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
1191 (ASM_OUTPUT_REG_POP): Likewise.
1192
09eeeacb
AM
11932002-07-18 Alan Modra <amodra@bigpond.net.au>
1194
1195 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
1196 adjustments to first_reg for profiling case.
1197 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
1198 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
1199 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
1200 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
1201 (ASM_OUTPUT_REG_POP): Define.
1202 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
1203 (ASM_OUTPUT_REG_POP): Undef.
1204
74d06cf2
NB
12052002-07-17 Neil Booth <neil@daikokuya.co.uk>
1206
1207 * cpplib.c (do_sccs): Handle #sccs on all systems.
1208 * system.h (SCCS_DIRECTIVE): Poison.
1209 * config/darwin.h, config/freebsd.h, config/netbsd.h,
1210 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
1211 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
1212 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
1213 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
1214 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
1215 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
1216 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
1217 Remove all references to SCCS_DIRECTIVE.
1218 * doc/cpp.texi, doc/tm.texi: Update.
1219
61dde664
R
1220Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
1221
1222 * regrename.c (maybe_mode_change): New function.
1223 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
1224
97f51ac4
RB
12252002-07-17 Rodney Brown <rbrown64@csc.com.au>
1226
1227 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
1228 suppress addition when either ct or cf are zero.
1229
f1a73cfe 12302002-06-17 Eric Botcazou <ebotcazou@multimania.com>
30484ccf 1231 Glen Nakamura <glen@imodulo.com>
f1a73cfe
EB
1232
1233 PR optimization/6713
1234 * loop.c (loop_givs_rescan): Explicitly delete the insn that
1235 sets a non-replaceable giv after issuing the new one.
1236
23ff0223
NB
12372002-07-17 Neil Booth <neil@daikokuya.co.uk>
1238
1239 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
1240 eval_token): Clarify and correct use of "bool" variables.
1241 * cpplib.h (struct cpp_options): Similarly.
1242 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
1243 * cpptrad.c (recursive_macro): Similarly.
1244
ac09192a
R
1245Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
1246
d28586ab 1247 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
ac09192a 1248 SHmedia code.
68cef009
R
1249
1250 * sh.md (cmpgtudi_media): Remove spurious @.
701e3726
R
1251
1252 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
1253 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
ca903bba
R
1254
1255 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
1256 * sh-protos.h (sh_initialize_trampoline): Declare.
1257 * sh.c (sh_initialize_trampoline): New function.
1258 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
1259 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
1260 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
1261 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
1262 * sh.md (initialize_trampoline, double_shori): New patterns.
1263 (initialize_trampoline_compact): Likewise.
1264 (shmedia32_initialize_trampoline_big): Remove.
1265 (shmedia32_initialize_trampoline_little): Likewise.
0ac78517
R
1266
1267 * sh-protos.h (binary_float_operator): Remove declaration.
1268 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
1269 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
1270 (unary_float_operator, sh_expand_unop_v2sf): New functions.
1271 (sh_expand_binop_v2sf): Likewise.
1272 (zero_vec_operand): Delete.
1273 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
1274 all non-shared ones.
1275 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
1276 Enable nsb and byterev.
1277 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
1278 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
1279 in general regs.
1280 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
1281 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
1282 immediate operands.
1283 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
1284 Add DF_HI_REGS.
1285 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
1286 lowpart fp regs - only for big endian for now.
1287 (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
1288 when FPU is in use.
1289 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
1290 (LOAD_EXTEND_OP): NIL for SImode.
1291 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
1292 general and fp registers is 4.
1293 PREDICATE_CODES: Amend binary_float_operator entry.
1294 Remove zero_vec_operand. Add unary_float_operator.
1295 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
1296 subreg SET_DEST.
1297 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
1298 (truncdiqi2): Do sign extension.
1299 (movsi_media, movdi_media): Allow to use r63 to an fp register.
1300 (movdf_media, movsf_media): Likewise.
1301 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
1302 Collapse to one define_insn_and_split. Allow immediate sources.
1303 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
1304 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
1305 (movv4sf): Allow immediate sources.
1306 (movsf_media_nofpu+1): Don't split moves to FP registers.
1307 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
1308 (movv8qi_i+3): Check against CONST0_RTX.
1309 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
1310 for input and output operands. Fix argument 3 to gen_mextr_rl.
1311 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
1312 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
1313 (mshf0_w, fipr, ftrv): Likewise.
1314 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
1315
e9d7b180
JD
13162002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
1317
1318 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
1319 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
1320 * arm.c: Similarly.
1321
8214bf98
RS
13222002-07-17 Richard Sandiford <rsandifo@redhat.com>
1323
1324 * config/mips/mips-protos.h (mips_sign_extend): Declare.
1325 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
1326 (TARGET_SWITCHES): Remove debugh.
1327 (ISA_HAS_TRUNC_W): New macro.
1328 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
1329 (PREDICATE_CODES): Remove se_nonimmediate_operand.
1330 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
1331 any SImode move_operand.
1332 (se_nonimmediate_operand): Remove.
1333 (mips_sign_extend): New.
1334 (mips_move_2words): Use it for sign-extended source operands.
1335 (override_options): Allow integers to be put into single FPRs.
1336 (mips_secondary_reload_class): Handle integers in float registers.
1337 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
1338 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
1339 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
1340 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
1341 (fix_truncdfdi2): Provide only a single alternative, in which the
1342 integer is in a float register. Depend on TARGET_FLOAT64 rather
1343 than TARGET_64BIT.
1344 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
1345 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
1346 (movdi_internal2): Don't allow the source operand to be sign-extended.
1347 Add alternatives for float registers.
1348 (*movdi_internal2_extend): New. Version of movdi_internal2 that
1349 allows sign-extension.
1350 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
1351 (movsi_internal2): Rename to movsi_internal. Add alternatives for
1352 float registers. Remove TARGET_DEBUG_H_MODE test.
1353 (movhi_internal1): Rename to movhi_internal. Don't check
1354 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
1355 (movqi_internal1): Rename to movqi_internal and remove
1356 TARGET_DEBUG_H_MODE dependency.
1357 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
1358
7ab0121e
JW
13592002-07-16 Jim Wilson <wilson@redhat.com>
1360
1361 * toplev.c (lang_dependent_init): Create function context for
1362 init_expr_once.
1363
349ccf2e
HPN
13642002-07-16 Hans-Peter Nilsson <hp@axis.com>
1365
1366 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
1367 --gc-sections if -r.
1368 * config/cris/cris.h: Ditto.
1369
06ec023f
RB
13702002-07-16 Rodney Brown <rbrown64@csc.com.au>
1371
1372 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
1373 the comparison directly gives a mask suppress addition when cf is
1374 zero by complementing the mask.
1375
39cef914
NN
13762002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
1377
1378 * Makefile.in: Delete references to enquire.
1379 * enquire.c: Move to contrib.
1380
92c1a778
SS
13812002-07-16 Stan Shebs <shebs@apple.com>
1382
2aa9948d
SS
1383 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
1384 config/rs6000/darwin.h.
1385 (ASM_OUTPUT_SKIP): Ditto.
1386 (TEXT_SECTION_ASM_OP): Ditto.
1387 (DATA_SECTION_ASM_OP): Ditto.
1388 (ASM_APP_ON): Define.
1389 (ASM_APP_OFF): Define.
1390 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
1391 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
1392
1393 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
92c1a778
SS
1394 (machopic_function_base_name): Declare result to be const.
1395 (machopic_non_lazy_ptr_name): Ditto.
1396 (machopic_stub_name): Ditto.
2aa9948d 1397 * config/darwin-protos.h: Ditto for the prototypes.
92c1a778 1398
daaab00a
JH
1399Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
1400
1401 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
1402
63c574cc
JH
1403Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
1404
1405 * i386.md (prefetch): Fix for 64bit mode.
1406 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
1407
2a500b9e
JH
1408Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
1409
1410 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
1411 * i386.c (x86_machine_dependent_reorg): New function.
1412 * i386-protos.h (x86_machine_dependent_reorg): Declare.
1413
e5faf155
ZW
14142002-07-16 Zack Weinberg <zack@codesourcery.com>
1415
1416 * builtins.c (std_expand_builtin_va_start): Remove unused
1417 first argument.
1418 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
1419 std_expand_builtin_va_start with just two arguments.
1420 * expr.h: Update prototypes.
1421
1422 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
1423 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
1424 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
1425 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
1426 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
1427 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
1428 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
1429 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
1430 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
1431 argument from all implementations of EXPAND_BUILTIN_VA_START
1432 and all uses of std_expand_builtin_va_start.
1433
dbf65c2f
R
1434Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
1435
1436 * regrename.c (copy_value): Don't record high part copies.
1437
6acb6d3e 14382002-07-16 Steve Ellcey <sje@cup.hp.com>
99b823ca 1439
6acb6d3e
SE
1440 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
1441 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
1442 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
1443
5d7c2819
ID
14442002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
1445
1446 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
1447
1448 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
1449 into addsi3 using register class "x" and "y".
1450
1451 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
1452 "earlyclobber" constraint modifier for some alternative.
e5faf155 1453
5d7c2819
ID
1454 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
1455 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
1456 unordered.
1457 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
1458
1459 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
1460 (TARGET_SWITCHES): Add -mieee-compare option.
1461 (OVERRIDE_OPTIONS): 32332 is a subset of
1462 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
1463 (TARGET_SWITCHES): Fix description of bitfield option.
1464 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
1465 -mieee-compare option. Remove 32332 flag.
1466
5da4f548 14672002-07-16 Steve Ellcey <sje@cup.hp.com>
5d7c2819
ID
1468
1469 * explow.c (convert_memory_address): Remove special handling
5da4f548 1470 when POINTERS_EXTEND_UNSIGNED < 0.
5d7c2819 1471 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
5da4f548
SE
1472 (movedi_symbolic): Fix typo.
1473 (load_fptr): Remove mode restriction so it works for SI and DI.
1474 (load_fptr_internal1): Ditto.
1475 (load_gprel): Ditto.
1476 (load_symptr_internal1): Ditto.
1477 (call_pic): Ditto.
5d7c2819 1478 * config/ia64.c (call_operand): Modify mode check.
5da4f548
SE
1479 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
1480 (ia64_expand_move): Ditto.
1481 (ia64_assemble_integer): Handle SImode function pointers.
1482 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
1483 (ia64_expand_op_and_fetch): Ditto.
1484 (ia64_expand_compare_and_swap): Ditto.
1485 (ia64_expand_lock_test_and_set): Ditto.
1486 (ia64_expand_lock_release): Ditto.
1487
1575c31e
JD
14882002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
1489
1490 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
1491
14922002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
1493 Richard Earnshaw <rearnsha@arm.com>
1494
e5faf155 1495 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
1575c31e
JD
1496 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
1497
3894f59e
RE
14982002-07-16 Richard Earnshaw <rearnsha@arm.com>
1499
1500 * arm.md (stack_tie): New insn. Use an idiom that the alias code
1501 understands to be a memory clobber.
1502 * arm.c (arm_expand_prologue): Use it.
1503
e0b89be2 15042002-07-16 Daniel Berlin <dberlin@dberlin.org>
54b2a7f8
DB
1505
1506 * ra-rewrite.c: #include reload.h, insn-config.h
1507 * ra-build.c: #include reload.h
1508 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
e5faf155 1509 depend on reload.h, insn-config.h.
54b2a7f8 1510
cffa2189
R
1511Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
1512
1513 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
1514 the same size as a word.
1515
1516 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
1517 BYTES_BIG_ENDIAN into account.
1518
052c96b1
JH
1519Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
1520
1521 * i386.md (prefetch): Fix for 64bit mode.
1522 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
1523
1524 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
1525
ae32926b
MM
15262002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
1527
1528 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
1529
6c535c69
ZW
15302002-07-15 Zack Weinberg <zack@codesourcery.com>
1531
1532 * ginclude/varargs.h: Replace with stub which issues #error.
1533 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
1534 __builtin_va_start.
1535
1536 * builtins.def (BUILT_IN_VARARGS_START): Delete.
1537 (BUILT_IN_VA_START): New.
1538 * builtins.c (expand_builtin_va_start): Eliminate first
1539 argument and code to implement pre-ISO varargs.
1540 (std_expand_builtin_va_start): Ignore first argument; it is
1541 always 1.
1542 (expand_builtin): Handle BUILT_IN_VA_START and
1543 BUILT_IN_STDARG_START identically. Delete
1544 BUILT_IN_VARARGS_START case.
1545
1546 * function.c (assign_parms): Delete hide_last_arg and all
1547 its uses.
1548 (mark_varargs): Delete function.
1549 * function.h (struct function): Delete 'varargs' bit.
1550 (current_function_varargs): Delete macro.
1551 * tree.h: Don't declare mark_varargs.
1552
1553 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
1554 (c_expand_body): Don't call mark_varargs.
1555 * c-objc-common.c: Handle BUILT_IN_VA_START and
1556 BUILT_IN_STDARG_START identically. Delete
1557 BUILT_IN_VARARGS_START case.
1558 * c-tree.h: Don't declare c_mark_varargs.
1559 * c-parse.in: Remove grammar rules for '&...' (which has been
1560 commented out since before 2.7.2) and for '...' in K+R
1561 argument declarations.
1562
1563 * builtins.c, function.c, integrate.c, sibcall.c,
1564 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
1565 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
1566 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
1567 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
1568 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
1569 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
1570 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
1571 config/stormy16/stormy16.c: Delete all references to
1572 current_function_varargs, and code predicated on that flag.
1573
1574 * config/alpha/alpha.c (alpha_va_start),
1575 config/arc/arc.c (arc_va_start),
1576 config/i386/i386.c (ix86_va_start),
1577 config/mips/mips.c (mips_va_start),
1578 config/mn10300/mn10300.c (mn10300_va_start),
1579 config/rs6000/rs6000.c (rs6000_va_start),
1580 config/s390/s390.c (s390_va_start),
1581 config/sh/sh.c (sh_va_start),
1582 Ignore first argument; it is always 1.
1583
1584 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
1585 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
1586 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
1587 Delete m68hc11_va_start.
1588 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
1589 No need to define EXPAND_BUILTIN_VA_START.
1590
1591 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
1592 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
1593
6d80a854
EB
15942002-07-15 Eric Botcazou <ebotcazou@multimania.com>
1595
1596 PR optimization/7153
1597 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
1598 dies in more than one insn.
1599
043cfcbe
JT
16002002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
1601
1602 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
1603
ed8d2920 16042002-07-15 Michael Matz <matz@suse.de>,
6c535c69 1605 Daniel Berlin <dberlin@dberlin.org>,
ed8d2920
MM
1606 Denis Chertykov <denisc@overta.ru>
1607
1608 Add a new register allocator.
1609
1610 * ra.c: New file.
1611 * ra.h: New file.
1612 * ra-build.c: New file.
1613 * ra-colorize.c: New file.
1614 * ra-debug.c: New file.
1615 * ra-rewrite.c: New file.
1616
1617 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
1618 (ra-rewrite.o): New .o files for libbackend.a.
1619 (GTFILES): Add basic-block.h.
1620
1621 * toplev.c (flag_new_regalloc): New.
1622 (f_options): New option "new-ra".
1623 (rest_of_compilation): Call initialize_uninitialized_subregs()
1624 only for the old allocator. If flag_new_regalloc is set, call
1625 new allocator, instead of local_alloc(), global_alloc() and
1626 friends.
1627
1628 * doc/invoke.texi: Document -fnew-ra.
1629 * basic-block.h (FOR_ALL_BB): New.
1630 * config/rs6000/rs6000.c (print_operand): Write small constants
1631 as @l+80.
1632
1633 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
1634 (df_reg_table_realloc): Make size at least as large as max_reg_num().
1635 (df_insn_table_realloc): Size argument now is absolute, not relative.
1636 Changed all callers.
1637
1638 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
1639 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
1640
1641 2002-06-20 Michael Matz <matz@suse.de>
1642
1643 * df.h (struct ref.id): Make unsigned.
1644 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
1645
1646 2002-06-13 Michael Matz <matz@suse.de>
1647
1648 * df.h (DF_REF_MODE_CHANGE): New flag.
1649 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
1650 involving subregs with invalid mode changes, when
1651 CLASS_CANNOT_CHANGE_MODE is defined.
1652
1653 2002-05-07 Michael Matz <matz@suse.de>
1654
1655 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
1656
1657 2002-05-03 Michael Matz <matz@suse.de>
1658
1659 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
1660
1661 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
1662
1663 * regclass.c (regclass): Work with all regs which have sets or
1664 refs.
1665 (reg_scan_mark_refs): Count regs inside (clobber ...).
1666
1667 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
1668
1669 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
1670 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
1671 add new refs.
1672 (df_bb_refs_update): Don't clear insns_modified here, ...
1673 (df_analyse): ... but here.
1674
1675 * sbitmap.c (dump_sbitmap_file): New.
1676 (debug_sbitmap): Use it.
1677
1678 * sbitmap.h (dump_sbitmap_file): Add prototype.
1679
1680 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
1681
1682 * df.c (df_insn_modify): Grow the UID table if necessary, rather
1683 than assume all emits go through df_insns_modify.
1684
1685 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
1686
1687 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
1688 increase REG_N_REFS (like flow does), so that regclass doesn't
1689 think a reg is useless, and thus, not calculate a class, when it
1690 really should have.
1691
1692 2001-01-28 Daniel Berlin <dberlin@redhat.com>
1693
1694 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
1695 dataflow analysis.
1696
794a292d
JJ
16972002-07-15 Jakub Jelinek <jakub@redhat.com>
1698
1699 PR middle-end/7245
1700 * config/i386/i386.c (const_int_1_31_operand): New.
1701 * config/i386/i386.h (PREDICATE_CODES): Add it.
1702 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
1703 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
1704 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
1705
05d49501
AM
17062002-07-14 Alan Modra <amodra@bigpond.net.au>
1707
1708 PR target/7282
1709 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
1710 (floatunssidf2): Likewise.
1711 (floatsidf_ppc64): New insn_and_split.
1712 (floatunssidf_ppc64): Likewise.
1713
e89617fe
AJ
17142002-07-14 Andreas Jaeger <aj@suse.de>
1715
1716 * config.gcc (sh64): Remove unused
1717 target_requires_64bit_host_wide_int.
1718
78762e3b
RS
17192002-07-12 Roger Sayle <roger@eyesopen.com>
1720
1721 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
1722 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
1723 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
1724 whether clear_by_pieces should be used to clear storage.
1725 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
1726
1727 * doc/tm.texi: Document these two new target macros.
1728
f7a454e9
SC
17292002-07-12 Stephane Carrez <stcarrez@nerim.fr>
1730
1731 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
1732 the scratch register.
1733 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
1734 of it, forbid reload to use it.
1735
26af4041
MM
17362002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
1737
1738 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
1739 usage on 64-bit hosts, return value was truncated to 32 bits.
1740
226cfe61
R
1741Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
1742
1743 * simplify-rtx.c (simplify_subreg): Handle floating point
1744 CONST_DOUBLEs. When an integer subreg of a smaller mode than
1745 the element mode is requested, compute a subreg with an
1746 integer mode of the same size as the element mode first.
1747
25c25947
R
1748Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
1749
1750 * combine.c (try_combine): When converting a paradoxical subreg
1751 to an extension, take LOAD_EXTEND_OP into account.
1752
789b7de5
RO
17532002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1754
1755 * config.gcc (mips-sgi-irix6*o32): New configuration.
1756
1757 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
1758 configurations.
1759 * configure: Regenerate.
1760
1761 * config/mips/iris6-o32-as.h: New file.
1762 * config/mips/iris6-o32.h: New file.
e89617fe 1763
789b7de5
RO
1764 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
1765 (NM_FLAGS): Define.
1766 (HAVE_AS_SHF_MERGE): Undefine.
1767
1768 * config/mips/t-iris5-as: New file.
1769 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
1770
1771 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
1772 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
1773 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
1774 dp-bit.c, fp-bit.c): Move ...
1775 * config/mips/t-iris5-6: ... here.
1776 New file, shared by IRIX 5 and IRIX 6.
1777 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
1778 mips-sgi-irix5*): Use it.
1779
1780 * config/mips/iris6.h: Remove duplicate comment.
1781
1782 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
1783 !TARGET_IRIX6]: Define.
1784 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
1785
1786 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
1787
a18c2c5f
JDA
17882002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
1789
1790 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
1791 and delete code to force constant to register.
1792 * pa-protos.h (adddi3_operand): Add prototype.
1793 * pa.c (adddi3_operand): New function.
1794
e65a2d65
RS
17952002-07-11 Roger Sayle <roger@eyesopen.com>
1796
1797 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
1798 non-ANSI builtin functions.
1799
a06e3c40
R
1800Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
1801
1802 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
1803 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
1804 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
1805 (gen_const_vector_0): Use it.
1806
47abc309
JDA
18072002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
1808
1809 * pa.md (adddi3): For 32-bit targets, force constants to a register
1810 if they don't fit in an 11-bit immediate. Change insn predicate to
1811 arith11_operand. Remove comment.
1812 * pa.c (cint_ok_for_move): Fix comment.
1813 (emit_move_sequence): Don't directly split DImode constants on 32-bit
1814 targets.
1815
8ac9d31f
TJ
18162002-07-11 Tim Josling <tej@melbpc.org.au>
1817
e89617fe 1818 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
1819
1820 * Makefile.in
1821 (STAGESTUFF): add gtyp-gen.h
1822 (GTFILES): Remove front end specific files.
1823 (GTFILES_FILES_LANGS): New, from configure..
1824 (GTFILES_FILES_FILES): Likewise.
1825 (GTFILES_LANG_DIR_NAMES): Likewise.
1826 (GTFILES_SRCDIR): Likewise.
1827 (gtyp-gen.h): Build from configure information.
1828 (s-gtype): Remove command line parameters from gengtype.
1829 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
1830 (mostlyclean): Delete files generated by and for gengtype.
1831
1832 * c-config-lang.in: New file.
1833
1834 * configure.in (all_gtfiles_files_langs): New. Accumulate files
1835 for each language.
1836 (all_gtfiles_files_files): New. Accumulate language for each file
1837 accumulated.
1838 (gtfiles): Pick up value for C.
1839 (srcdir): AC-SUBST this variable.
1840 (all_gtfiles_files_langs): AC-SUBST this variable.
1841 (all_gtfiles_files_files): AC-SUBST this variable.
e89617fe 1842
8ac9d31f 1843 * configure: Regenerate.
e89617fe 1844
8ac9d31f
TJ
1845 * gengtype-lex.l (parse_file): Make parameter const.
1846
1847 * gengtype.c (toplevel): include gtyp-gen.h.
1848 (BASE_FILE_<language> unnamed enum): Delete.
1849 (lang_names): Delete (replaced by gtyp-gen.h)
1850 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
1851 all references.
1852 (NUM_GT_FILES): New.
1853 (NUM_LANG_FILES): New.
1854 (srcdir_len): New.
1855 (NUM_BASE_FILES): Change calculation.
1856 (open_base_files): Change prototype to avoid warning.
1857 (startswith): Delete.
1858 (get_file_basename): Iterate through generated language list not
1859 hard coded list.
1860 (get_base_file_bitmap): Use generated list of files and languages.
1861 (close_output_files): Add prototype to rmove warning.
1862 (main): Iterate through list of generated files from gtyp-gen.h
1863 rather than command line paramaters. Ignore duplicated file
e89617fe 1864 names.
8ac9d31f
TJ
1865
1866 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 1867
8ac9d31f
TJ
1868 * doc/sourcebuild.texi: Document gtfiles variable.
1869
1870 * doc/gty.texi: Document changes to gtfiles variable for front
1871 ends.
1872
1873 * objc/config-lang.in (gtfiles): Add files needed for objc front
1874 end.
1875
0e603223
RS
18762002-07-10 Roger Sayle <roger@eyesopen.com>
1877
1878 PR c/2454
1879 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
1880 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
1881
c5358a5d
RS
18822002-07-10 Roger Sayle <roger@eyesopen.com>
1883 Zack Weinberg <zack@codesourcery.com>
1884
1885 * builtins.def: Make the argument types of abort and exit
1886 independent of the front-end.
1887
a35f8b74
AM
18882002-07-11 Alan Modra <amodra@bigpond.net.au>
1889
1890 * config/rs6000/linux64.h (ASM_SPEC): Define.
1891
89e7058f
AH
18922002-07-10 Aldy Hernandez <aldyh@redhat.com>
1893
6c535c69
ZW
1894 * config/rs6000/rs6000.c (emit_frame_save): New.
1895 (rs6000_frame_related): Replace reg2 before reg.
1896 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
1897 and eh_return registers.
89e7058f 1898
086bbd21
TM
18992002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
1900
1901 Revert all patches for optimization of Complex .op. Real.
1902 * complex_part_zero_p: Remove
1903 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
1904 with x.
1905 * expand_cmplxdiv_wide: Ditto.
1906 * expand_binop: Ditto.
1907
126dbce0
MM
19082002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
1909
1910 * config/avr/avr.md: Fix two 0x80000000 constants to make them
1911 negative also on 64-bit hosts.
1912
1913 Default to -fno-reorder-blocks when optimizing for size.
1914 * config/avr/avr-protos.h (avr_optimization_options): Declare.
1915 * config/avr/avr.c (avr_optimization_options): New function.
1916 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
1917
1918 Optimize returning from simple functions.
1919 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
1920 * config/avr/avr.c (avr_simple_epilogue): New function.
1921 * config/avr/avr.md (return): New insn.
1922
21c318ba
DR
19232002-07-10 Douglas B Rupp <rupp@gnat.com>
1924
1925 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
1926 HAS_INIT_SECTION to protection.
1927
537834c8
MM
19282002-07-10 Mark Mitchell <mark@codesourcery.com>
1929
1930 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
1931 deprecated.
1932
80ba02b1
R
1933Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
1934
1935 * combine.c (gen_lowpart_for_combine): Handle vector modes.
1936 Supply non-VOID mode to simplify_gen_subreg.
1937
ae3aa00d
JH
1938Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
1939
1940 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
1941
029f3983
JL
19422002-07-10 Jeffrey A Law <law@redhat.com>
1943
7a464913
JL
1944 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
1945 as appropriate.
1946
6c535c69
ZW
1947 * mn10200.c (expand_epilogue): Fix test to determine which scratch
1948 register to use.
029f3983 1949
ff27a429
R
1950Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
1951
1952 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
1953 Get mode from dest.
1954 If simplify_gen_subreg fails, try next equivalent.
1955
e6986399
GDR
19562002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
1957
1958 * diagnostic.h: #include location.h
1959 (location_t): Move definition to..
1960 * location.h: ... here. New file.
1961 * tree.h: #include location.h
1962 (DECL_SOURCE_LOCATION): New macro.
1963 (DECL_SOURCE_FILE): Use.
1964 (DECL_SOURCE_LINE): Likewise.
1965 (struct tree_decl): REplace filename and linenum with locus.
1966 * Makefile.in (TREE_H): add location.h
1967 (diagnostic.o): Depends on gt-location.h
1968 (gt-location.h): Depends on s-gtype
1969
7990b46f
MK
19702002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
1971
1972 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
1973 TARGET_OS_CPP_BUILTINS.
1974 * config/rs6000/aix31.h: Likewise.
1975 * config/rs6000/aix41.h: Likewise.
1976 * config/rs6000/aix43.h: Likewise.
1977 * config/rs6000/aix51.h: Likewise.
1978 * config/rs6000/beos.h: Likewise.
1979 * config/rs6000/darwin.h: Likewise.
1980 * config/rs6000/eabi.h: Likewise.
1981 * config/rs6000/eabisim.h: Likewise.
1982 * config/rs6000/linux.h: Likewise.
1983 * config/rs6000/linux64.h: Likewise.
1984 * config/rs6000/lynx.h: Likewise.
1985 * config/rs6000/mach.h: Likewise.
1986 * config/rs6000/rtems.h: Likewise.
1987 * config/rs6000/sysv4.h: Likewise.
1988 * config/rs6000/vxppc.h: Likewise.
efa39e99
DP
1989
19902002-07-09 Devang Patel <dpatel@apple.com>
1991 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
1992 Do not allow ObjC objects as a parameter type for Objective-C methods.
1993 My previous patch restricted 'struct' also.
e89617fe 1994
cd98faa1
NB
19952002-07-09 Neil Booth <neil@daikokuya.co.uk>
1996
1997 * cpperror.c (cpp_error): Default to directive_line within
1998 directives here.
1999 * cppexp.c (cpp_interpret_integer): Only use traditional
2000 number semantics in directives.
2001 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
2002 (do_include_common): Similarly.
2003 * cpptrad.c (scan_out_logical_line): Implement accurate
2004 quoting of <> in #include.
2005 * doc/cpp.texi: Update.
2006
2ad65b0e 2007Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
6c535c69 2008 J"orn Rennecke <joern.rennecke@superh.com>
2ad65b0e
SC
2009
2010 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
2011 * sh.md (attribute issues): Replace with:
2012 (attribute pipe_model). All users changed.
2013 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
2014 All users changed.
2015 (function units sh5issue, sh5fds): New.
2016 (attribute is_mac_media): New.
2017 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
2018 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
2019 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
2020 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
2021 (call_media, call_value_media, sibcall_media): Likewise.
2022 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
2023 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
2024 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
2025 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
2026 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
2027 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
2028 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
2029 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
2030 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
2031 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
2032 (truncdfsf2_media): Likewise.
2033 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
2034 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
2035
b6d33983
R
2036Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
2037
2038 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
2039 * sh.c (general_extend_operand, inqhi_operand): New functions.
2040 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
2041 alternatives using 'N' modifier. Add type.
2042 (adddi3z_media): Likewise. Enable generator function generation.
2043 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
2044 exact predicates / constraints. Add type.
2045 (subsi3): Allow 0 for SHMEDIA.
2046 (udivsi3_i4_media): Use match_operand for input values
2047 rather than hard registers.
2048 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
2049 unnecessarily through hard registers. Keep copies of pseudo
2050 registers outside of the libcall sequence.
2051 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
2052 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
2053 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
2054 (extendhidi2, extendqidi2): Likewise.
2055 (andsi3_compact): Name.
2056 (andcdi3): Enable generator function generation.
2057 (zero_extendhisi2, zero_extendqisi2): Rename to
2058 (zero_extendhisi2_compact, zero_extendqisi2_compact).
2059 (extendhisi2, extendqisi2): Rename to
2060 (extendhisi2_compact, extendqisi2_compact).
2061 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
2062 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
2063 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
2064 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
2065 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
2066 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
2067 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
2068 (shmedia32_initialize_trampoline_big): Likewise.
2069 (shmedia32_initialize_trampoline_little): Likewise.
2070 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
2071 (negdi2): Remove spurious T clobber.
2072 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
2073 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
2074 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
2075 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
2076 (ic_invalidate_line_media): Write back data cache before invalidating
2077 instruction cache. Add type.
2078 (movsf_media): Sign-extend when the destination is a general
2079 purpose register. Add type.
2080 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
2081 (casesi_worker_0+1): Only increment ref count for proper label.
2082 (casesi_worker_0+2): Likewise.
2083
7ca0873c
MM
20842002-07-09 Mark Mitchell <mark@codesourcery.com>
2085
2086 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
2087
26b10ae0 20882002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 2089
26b10ae0
SE
2090 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
2091 from Pmode to ptr_mode.
2092 (get_exception_pointer): Ditto.
2093 (connect_post_landing_pads): Ditto.
2094 (dw2_build_landing_pads): Ditto.
2095
0c3a2ea0
SE
20962002-07-08 Steve Ellcey <sje@cup.hp.com>
2097 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
2098 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
2099 (handle_pragma_redefine_extname): Change to use new function.
2100
26c34780
RS
21012002-07-08 Roger Sayle <roger@eyesopen.com>
2102
2103 * combine.c (combine_simplify_rtx): Add an explicit cast
2104 to avoid signed/unsigned comparison warning.
2105 (simplify_if_then_else): Likewise.
2106 (extended_count): Likewise.
2107 (simplify_shift_const): Likewise.
2108 (simplify_comparison): Likewise.
2109
1d4047e0
RS
21102002-07-08 Richard Sandiford <rsandifo@redhat.com>
2111
2112 * config/mips/mips.md: Add imadd type. Update scheduler description
2113 to use imadd as well as imul.
2114 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
2115 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
2116 (*mul_sub_si): Likewise for first alternative. Change second
2117 alternative from imul to multi.
2118
5351f1ca
NB
21192002-07-07 Neil Booth <neil@daikokuya.co.uk>
2120
2121 * c-common.c (c_common_post_options): Update prototype;
2122 don't init backends if preprocessing only.
2123 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
2124 * langhooks.h (struct lang_hooks): Update post_options to
2125 return a boolean.
2126 * toplev.c (parse_options_and_default_flags, do_compile,
2127 lang_independent_init): Update prototypes. Allow the
2128 front end to specify that there is no need to initialize
2129 the back end.
2130 (general_init): Move call to hex_init here...
2131 (toplev_main): ...from here. Pass flag for back end init
2132 suppression.
2133
c8cc4417
R
2134Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
2135
2136 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
2137 (PREDICATE_CODES): Add entries for equality_comparison_operator,
2138 greater_comparison_operator and less_comparison_operator.
2139 * sh.c (print_operand): Add '\'' code. Make 'o' handle
2140 more operators.
2141 (equality_comparison_operator): New function.
2142 (greater_comparison_operator, less_comparison_operator): Likewise.
2143 * sh.md (beq_media_i): Disable generator function generation.
2144 Use match_operator to handle a whole class of comparisons. Add
2145 modifier in output template to provide branch prediction. Add type.
2146 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
2147 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
2148 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
2149 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
2150
957ec0f9
HPN
21512002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
2152
2153 Emit MMIX function prologue and epilogue as rtl.
2154 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
2155 not unprototyped get_hard_reg_initial_val.
2156 ("call_value", "nonlocal_goto_receiver"): Ditto.
2157 ("return"): Make define_expand. Move real insn to...
2158 ("*expanded_return"): New pattern.
2159 ("prologue", "epilogue"): New define_expands.
2160 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
2161 (struct machine_function): New member in_prologue.
2162 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
2163 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
2164 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
2165 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
2166 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
2167 (LOCAL_REGNO): Define. Adjust comment.
2168 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
2169 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
2170 leaf_function_p.
2171 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
2172 the prologue.
2173 (mmix_target_asm_function_prologue): Make static. Just mark that
2174 the prologue is being emitted. Move guts to...
2175 (mmix_expand_prologue): New function. Adjust for emitting
2176 prologue as rtl. For sizes, use HOST_WIDE_INT only.
2177 (mmix_target_asm_function_epilogue): Make static. Simply emit a
2178 \n. Move guts to...
2179 (mmix_expand_epilogue): New function. Adjust for emitting
2180 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
2181 (mmix_target_asm_function_end_prologue): Mark that the prologue
2182 has ended.
2183 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
2184 (mmix_conditional_register_usage): Improve comments.
2185 (mmix_local_regno): New function.
2186 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
2187 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
2188 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
2189 (mmix_get_hard_reg_initial_val): Ditto.
2190
7ab5c789
AJ
21912002-07-06 Andreas Jaeger <aj@suse.de>
2192
2193 * toplev.c (set_fast_math_flags): Don't use ISO C style function
2194 definitions.
2195 * gengtype.c (open_base_files): Likewise.
2196 (close_output_files): Likewise.
2197 * tracer.c (find_best_predecessor): Likewise.
2198 (find_best_successor): Likewise.
2199 (ignore_bb_p): Likewise.
2200
df061a43
RS
22012002-07-05 Roger Sayle <roger@eyesopen.com>
2202
2203 PR c++/7099
2204 * builtin-attrs.def: Define new attribute lists for use in
2205 builtins.def.
2206 * builtins.def [DEF_BUILTIN]: Modify to take an additional
2207 ATTRS argument, an enumerated value defined in builtin-attrs.def
2208 that represents the attribute list for the builtins. Modify
2209 all builtin functions to pass an appropriate attribute list.
2210 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
2211 their required noreturn attributes.
2212 * tree.h (enum_builtin_function): Ignore the additional parameter
2213 to DEF_BUILTIN.
2214 * builtins.c (built_in_names): Likewise.
2215 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
2216 argument with a tree representing the functions attribute list.
2217 Pass this "attrs" argument to builtin_function. No longer handle
2218 the noreturn_p processing manually.
2219 (built_in_attributes): Move the definitions from builtin-attrs.def
2220 before c_common_nodes_and_builtins.
2221 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
2222 DEF_BUILTIN, passing it to both builtin_function and the changed
2223 builtin_function_2.
2224
2225 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
2226 __builtin__exit and __builtin__Exit.
2227
e5eb8de8
SC
22282002-07-05 Stephane Carrez <stcarrez@nerim.fr>
2229
2230 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
2231 QI mode registers in soft registers.
7ab5c789 2232 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
2233 for register allocation (use '*' constraint).
2234
4c8aed14
SC
22352002-07-05 Stephane Carrez <stcarrez@nerim.fr>
2236
2237 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
2238 it is dead.
2239 ("*ashrsi3"): Likewise.
2240 ("*lshrsi3"): Likewise.
2241
99ed68ea
VM
22422002-07-05 Vladimir Makarov <vmakarov@redhat.com>
2243
2244 * genautomata.c (output_max_insn_queue_index_def): Take latencies
2245 into account.
2246
4c8aed14 22472002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
2248
2249 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
2250 address computation and memory moves.
2251
9833f679
MM
22522002-07-03 Mark Mitchell <mark@codesourcery.com>
2253
2254 PR c++/6706
2255 * dwarfout.c (output_reg_number): Fix warning message.
2256 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
2257 before using it.
7ab5c789 2258
81bca2f5
RO
22592002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2260
2261 * gcc/gcc.c (asm_debug): Move initialization ...
2262 (init_spec): ... here.
2263
17f44f02
NS
22642002-07-05 Nathan Sidwell <nathan@codesourcery.com>
2265
2266 * c-parse.in (extdef): Append ';'.
2267 (old_style_parm_decls): Append ';'.
2268
da77408f
DJ
22692002-07-04 Daniel Jacobowitz <drow@mvista.com>
2270
2271 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
2272 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
2273 to gcc_cv_as_gstabs_flag.
2274 * configure: Rebuilt.
2275
ec52b446
GK
22762002-07-04 Geoffrey Keating <geoffk@redhat.com>
2277
2278 * ggc.h (ggc_add_root): Document as obsolete.
2279
8721e3df
R
2280Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
2281
2282 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
2283 (mshflo_w): Likewise.
2284
3767c0fd
R
2285Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
2286
2287 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
2288 vector mode subregs of constants to finding integer mode
2289 subregs of constants.
2290 * cse.c (cse_insn): Use simplify_gen_subreg.
2291 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
2292 From a vector mode expression of different size than the
2293 target mode.
2294
4e314d1f
EC
22952002-07-03 Eric Christopher <echristo@redhat.com>
2296
2297 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
2298 * config/mips/mips.h: Remove deprecated -m<processor> options
2299 and cc1_cpu_spec associated.
2300 (CONSTANT_ADDRESS_P): Fix last patch.
2301 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
2302 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
2303 sunge_sf): Remove.
2304
6f0361e3
SS
23052002-07-03 Stan Shebs <shebs@apple.com>
2306
2307 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
2308 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
2309 (CPP_SPEC): Remove insertion of APPLE_CC definition.
2310
3129af4c
RS
23112002-07-03 Roger Sayle <roger@eyesopen.com>
2312
2313 * combine.c (struct_undo): Change types of recorded substitutions
2314 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
2315 (do_SUBST_INT): Change types of the substitution from unsigned int
2316 to int, to avoid compilation warning from SUBST_INT's only caller.
2317
2318 (make_extraction): Add cast to avoid compilation warning.
2319 (force_to_mode): Remove cast to avoid compilation warning.
2320
c7375e61
EB
23212002-07-03 Eric Botcazou <ebotcazou@multimania.com>
2322 Jeff Law <law@redhat.com>
2323
2324 * i386.md (length_immediate attribute): Fix typo.
2325 (length_address attribute): Likewise.
2326 (modrm attribute): Set it to 0 for immediate call instructions.
2327 (jcc_1 pattern): Set modrm attribute to 0.
2328 (jcc_2 pattern ): Likewise.
2329 (jump pattern): Likewise.
2330 (doloop_end_internal pattern): Explicitly set length.
2331 (leave pattern): Fix typo.
2332 (leave_rex64 pattern): Likewise.
2333
61c07d3c
DE
23342002-07-03 David Edelsohn <edelsohn@gnu.org>
2335
2336 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
2337 in FPR as preference.
2338 (fctiwz): Same.
2339 (floatdidf2, fix_truncdfdi2): Same.
2340 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
2341 (floatditf2): Same.
2342 (floatsitf2, fix_trunctfsi2): SImode in GPR.
2343 (ctrdi): Remove FPR alternative and splitter.
2344
23452002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
2346
2347 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
2348
34a80643
R
2349Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
2350
2351 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
2352 than UNITS_PER_WORD, unless this is little endian and the first unit
2353 in this word. Let extract_bit_field decide how to load an element.
2354 Force arguments to matching mode.
2355 (expand_vector_unop): Likewise.
2356
2357 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
2358 consist of word_mode elements.
2359 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
2360 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
2361 (build_unary_op): Allow vector types for BIT_NOT_EPR.
2362 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
2363 CONST_VECTOR.
2364 * optabs.c (expand_vector_binop): Try to perform operation in
2365 smaller vector modes with same inner size. Add handling of AND, IOR
2366 and XOR. Reject expansion to inner-mode sized scalars when using
2367 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
2368 (expand_vector_unop): Try to perform operation in smaller vector
2369 modes with same inner size. Add handling of one's complement.
2370 When there is no vector negate operation, try a vector subtract
2371 operation. Use simplify_gen_subreg on constants.
2372 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
2373 constants into smaller vectors with same inner mode, and to
2374 integer CONST_DOUBLEs.
2375
622d3731
KG
23762002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2377
2378 * c-parse.in (parsing_iso_function_signature): New variable.
2379 (extdef_1): New, copied from...
2380 (extdef): ... here. Reset parsing_iso_function_signature.
2381 (old_style_parm_decls): Reset parsing_iso_function_signature.
2382 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
2383 Warn about ISO C style function definitions.
2384 (nested_function, notype_nested_function): Reset
2385 parsing_iso_function_signature.
2386 (parmlist_2): Set parsing_iso_function_signature.
2387
2388 * doc/invoke.texi (-Wtraditional): Document new behavior.
2389
9bb46191
CD
23902002-07-02 Chris Demetriou <cgd@broadcom.com>
2391
2392 * config.gcc (mips*el-*-*): Use tm_defines to set
2393 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
2394 * config/mips/little.h: Remove.
2395
e1c2dd26 23962002-07-02 Devang Patel <dpatel@apple.com>
c40da518 2397
c40da518 2398 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
2399 object as parameter. Prevent something like 'NSObject' to be
2400 used as the type for a method argument.
c40da518 2401
0879540b
NB
24022002-07-03 Neil Booth <neil@daikokuya.co.uk>
2403
2404 * cpptrad.c: Update comment.
2405
b6fb43ab 24062002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 2407
b6fb43ab
NB
2408 * doc/cpp.texi: Update for traditional preprocessing changes.
2409 * goc/cppopts.texi: Similarly.
2410
c1c5187c
ZL
24112002-07-02 Ziemowit Laski <zlaski@apple.com>
2412
2413 * c-parse.in (designator): Enable designated initializers if ObjC.
2414 (objcmessageexpr): Remove references to objc_receiver_context.
2415 * objc/objc-act.h (objc_receiver_context): Remove decl.
2416 * objc/objc-act.c (objc_receiver_context): Remove.
2417 (lookup_objc_ivar): Test objc_method_context instead of
2418 objc_receiver_context.
2419
52702ae1
R
2420Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
2421
2422 * sh.c (print_operand, case 'N'): Allow zero vector.
2423 (arith_reg_or_0_operand): Likewise.
2424 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
4e314d1f 2425 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
2426 IOR, XOR, PLUS and SET and take their respective constant
2427 ranges into account.
2428 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
2429 * sh.md (subdi3, subdi3_media): Allow zero operand.
2430 (movv8qi_i+3): Only vector that is not split is the zero vector.
2431 Fix operand 3 to simplify_subreg.
2432 (movv2si_i): Split alternative 1.
2433 (mshfhi_l_di_rev+1): New splitter.
2434
49e7b251
NB
24352002-07-02 Neil Booth <neil@daikokuya.co.uk>
2436
ba57a9c0 2437 PR preprocessor/7029
49e7b251
NB
2438 * cppinit.c (cpp_handle_option): Suppress warnings with an
2439 implicit "-w" for "-M" and "-MM".
2440 * doc/cppopts.texi: Update.
2441
a3acdc0c
RS
24422002-07-01 Roger Sayle <roger@eyesopen.com>
2443
2444 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
2445 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
2446 builtin_function.
2447
0b558962
AM
24482002-07-02 Alan Modra <amodra@bigpond.net.au>
2449
2450 * README.Portability: Fix typos.
2451
9a81c5b7
HPN
24522002-07-01 Hans-Peter Nilsson <hp@axis.com>
2453
2454 PR target/7177
2455 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
2456 of indirections for register inside sign-extended mem part.
2457
6a2dd09a
RS
24582002-07-01 Roger Sayle <roger@eyesopen.com>
2459
2460 * tree.h: Modify builtin_function interface to take an extra
2461 argument ATTRS, which is a tree representing an attribute list.
2462
2463 * c-decl.c (builtin_function): Accept additional parameter.
2464 * objc/objc-act.c (builtin_function): Likewise.
2465 * f/com.c (builtin_function): Likewise.
2466 * java/decl.c (builtin_function): Likewise.
2467 * ada/utils.c (builtin_function): Likewise.
2468 * cp/decl.c (builtin_function): Likewise.
2469 (builtin_function_1): Likewise.
2470
2471 * c-common.c (c_common_nodes_and_builtins): Pass an additional
2472 NULL_TREE argument to builtin_function. (builtin_function_2):
2473 Likewise.
2474 * cp/call.c (build_java_interface_fn_ref): Likewise.
2475 * objc/objc-act.c (synth_module_prologue): Likewise.
2476 * java/decl.c (java_init_decl_processing): Likewise.
2477 * f/com.c (ffe_com_init_0): Likewise.
2478
2479 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
2480 NULL_TREE argument to builtin_function.
2481 * config/arm/arm.c (def_builtin): Likewise.
2482 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
2483 * config/i386/i386.c (def_builtin): Likewise.
2484 * config/ia64/ia64.c (def_builtin): Likewise.
2485 * config/rs6000/rs6000.c (def_builtin): Likewise.
2486
e20569ae
ZW
24872002-07-01 Zack Weinberg <zack@codesourcery.com>
2488
2489 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
2490 * config/mips/t-isa3264: Likewise.
2491 * config/mmix/t-mmix: Likewise.
2492
f1b690f1
JDA
24932002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
2494
2495 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
2496
6bfa5aac
RS
24972002-07-01 Roger Sayle <roger@eyesopen.com>
2498
2499 PR opt/4046
2500 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
2501 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
2502 B are truth values.
2503
9a5c1b9d
NN
25042002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
2505
2506 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
2507
d3fc4dbc
MK
25082002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
2509
3b2124df
MK
2510 * README.Portability (Function prototypes): Give an example of
2511 declaring and defining a function with no arguments.
2512
d3fc4dbc
MK
2513 * README.Portability (Function prototypes): Document new
2514 variable-argument function macros.
2515
c1b92d09
R
2516Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
2517
2518 * sh.c (langhooks.h): Include.
2519 (sh_init_builtins, sh_media_init_builtins): New functions.
2520 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
2521 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
2522 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
2523 (builtin_description): New struct tag.
2524 (signature_args, bdesc): New arrays.
2525 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
2526 (print_operand): Add 'N' modifier.
2527 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
2528 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
2529 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
2530 (CONST_COSTS): Add special case for SHmedia AND.
2531 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
2532 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
2533 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
2534 target_operand can also be const or unspec.
2535 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
2536 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
2537 (attribute type): Add new types.
2538 (anddi3): Add splitter.
2539 (movdi_const_16bit+1): Add code to handle vector constants and
2540 bitmasks efficiently.
2541 (shori_media): Have generator function made.
2542 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
2543 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
2544 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
2545 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
2546 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
2547 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
2548 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
2549 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
2550 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
2551 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
2552 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
2553 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
2554 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
2555 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
2556 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
2557 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
2558 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
2559 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
2560 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
2561 (ftrv): Likewise.
2562
2563 (fpu_switch+1, fpu_switch+2): Remove constraint.
2564
97ebc06f
AH
25652002-07-01 Aldy Hernandez <aldyh@redhat.com>
2566
6c535c69
ZW
2567 * tree.c (build_function_type_list): Update function comment.
2568 Rename first argument to return_type.
97ebc06f 2569
353a10d0
NB
25702002-07-01 Neil Booth <neil@daikokuya.co.uk>
2571
2572 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
2573 tradcif.y and related files.
2574
e34cabb3
NB
25752002-07-01 Neil Booth <neil@daikokuya.co.uk>
2576
2577 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
2578
8bf3ccbb
KG
25792002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2580
2581 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
2582
118f8dc1
DP
25832002-06-30 Devang Patel <dpatel@apple.com>
2584
2585 * objc/objc-act.c (finish_file): Avoid finish_objc() if
2586 -fsyntax-only.
2587
e3223ea2
DC
2588Fri Jun 28 17:22:37 2002 Denis Chertykov <denisc@overta.ru>
2589 Frank Ch. Eigler <fche@redhat.com>
6c535c69 2590 Matthew Green <mrg@redhat.com>
e3223ea2
DC
2591 Richard Henderson <rtl@redhat.com>
2592 Dave Hudson <dave.hudson@ubicom.com>
2593 Jeff Johnston <jjohnstn@redhat.com>
2594 Alan Lehotsky <apl@alum.mit.edu>
2595 Bernd Schmidt <bernds@redhat.com>
2596 Graham Stott <grahams@redhat.com>
4e314d1f 2597
e3223ea2
DC
2598 * doc/extend.texi: Add ip2k port to description of attribute
2599 naked.
2600 * doc/install.texi (Specific): Add ip2k description.
2601 * doc/install-old.texi (Configurations): Add ip2k to possible
2602 cpu types.
2603 * doc/md.texi: Document ip2k constraints.
2604 * config/ip2k/crt0.S: New file.
2605 * config/ip2k/ip2k-protos.h: New file.
2606 * config/ip2k/ip2k.c: New file.
2607 * config/ip2k/ip2k.h: New file.
2608 * config/ip2k/ip2k.md: New file.
2609 * config/ip2k/libgcc.S: New file.
2610 * config/ip2k/t-ip2k: New file.
2611
66b8c57f
HPN
26122002-06-30 Hans-Peter Nilsson <hp@bitrange.com>
2613
2614 * config/mmix/mmix.md ("return"): New pattern.
2615 * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
2616 (TARGET_USE_RETURN_INSN): New macros.
2617 (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
2618 (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
2619 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
2620 (MMIX_POP_ARGUMENT): New macro.
2621 (mmix_target_asm_function_prologue): When no epilogue is executed,
2622 just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn.
2623 (mmix_print_operand) <case '.'>: New case.
2624 (mmix_print_operand_punct_valid_p): Match '.'.
2625 (mmix_use_simple_return): New function.
2626 * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
2627 * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
2628 -msingle-exit, -mno-single-exit.
2629 (MMIX Options): Ditto.
2630
e7a60f56
AH
26312002-06-30 Aldy Hernandez <aldyh@redhat.com>
2632
6c535c69 2633 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
e7a60f56 2634
1ef7d32b
KG
26352002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2636
2637 * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
2638
c8b64bf2
AM
26392002-06-30 Alan Modra <amodra@bigpond.net.au>
2640
2641 * unroll.c (loop_iterations): Handle EQ loops.
2642
35aba846
DE
26432002-06-29 David Edelsohn <edelsohn@gnu.org>
2644
2645 * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
2646 constraint in define_expand, not splitter.
2647 Formatting.
2648
b4de2f7d
AH
26492002-06-29 Aldy Hernandez <aldyh@redhat.com>
2650
6c535c69
ZW
2651 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
2652 build_function_type_list instead of build_function_type.
b4de2f7d 2653
6c535c69 2654 * config/ia64/ia64.c (ia64_init_builtins): Same.
b4de2f7d 2655
6c535c69 2656 * config/alpha/alpha.c (alpha_init_builtins): Same.
b4de2f7d 2657
6c535c69 2658 * config/rs6000/rs6000.c (altivec_init_builtins): Same.
b4de2f7d 2659
6c535c69 2660 * config/arm/arm.c (arm_init_builtins): Same.
b4de2f7d 2661
6c535c69 2662 * tree.h: Add build_function_type_list prototype.
b4de2f7d 2663
6c535c69 2664 * tree.c (build_function_type_list): New.
b4de2f7d 2665
1691051f
KG
26662002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2667
2668 * collect2.c (scan_prog_file): Fix typo in message.
2669
7bfb14f1
AL
26702002-06-28 Aaron Lehmann <aaronl@vitelus.com>
2671
6c535c69 2672 * fold-cont.c: Remove unused CHARMASK.
7bfb14f1 2673
38800fe8
NB
26742002-06-29 Neil Booth <neil@daikokuya.co.uk>
2675
2676 PR preprocessor/7150
2677 * cppmain.c (scan_translation_unit_trad): Simplify.
590e1987 2678 * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
38800fe8 2679
f60ed6be
NB
26802002-06-29 Neil Booth <neil@daikokuya.demon.co.uk>
2681
2682 * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
2683 Don't use CPP_PREDEFINES.
2684 * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
2685 Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
2686 * config/i386/djgpp.h, config/i386/i386-coff.h,
2687 config/i386/i386-interix.h, config/i386/i386-interix3.h,
2688 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
2689 config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
2690 config/i386/uwin.h: Similarly.
2691
76118c11
HB
26922002-06-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2693
6c535c69 2694 * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
76118c11
HB
2695 flag_inline_trees to enable inlining.
2696
9137b119
PE
26972002-06-28 Phil Edwards <pme@gcc.gnu.org>
2698
2699 * configure.in (gcc_gxx_include_dir): Change to match versioned
2700 C++ headers if --enable-version-specific-runtime-libs is used.
2701 * configure: Regenerate.
2702
6bdb8dd6
JH
27032002-06-28 Jan Hubicka <jh@suse.cz>
2704
2705 * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
2706
f1b1186f
SC
27072002-06-28 Stephen Clarke <stephen.clarke@superh.com>
2708
2709 * combine.c (combine_simplify_rtx): Pass the mode of the
2710 shift count, not the shift operation when trying to simplify
2711 a shift on a SHIFT_COUNT_TRUNCATED target.
2712
ae9bd481
SC
27132002-06-28 Stephane Carrez <stcarrez@nerim.fr>
2714
2715 * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
2716 avoid the auto increment addressing modes.
2717 ("*subsi3"): Likewise.
4e314d1f 2718 (split for add/sub on address): For 68HC12 push the value on
ae9bd481
SC
2719 the stack and do the operation with a pop.
2720
1d63a28a
NB
27212002-06-28 Neil Booth <neil@daikokuya.co.uk>
2722
2723 * cpplib.c (_cpp_handle_directive): Move #define-specific
2724 code to the #define handler...
2725 (do_define): ...here.
2726 (lex_macro_node): No longer a need to check for comments here.
2727
4caff360
SC
27282002-06-28 Stephane Carrez <stcarrez@nerim.fr>
2729
2730 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
2731 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
2732 Declare.
2733 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
2734 do not reorder basic blocks at the end when optimizing for size.
2735
2cc21497
SC
27362002-06-28 Stephane Carrez <stcarrez@nerim.fr>
2737
2738 * config/m68hc11/m68hc11.c (autoinc_mode): New function.
2739 (m68hc11_make_autoinc_notes): New function.
2740 (m68hc11_split_move): Be very cautious when spliting a move with
2741 auto increment/decrement modes because this may result in incompatible
2742 directions; add REG_INC notes to the resulting insn for CSE reg.
2743
3cdd2821
SC
27442002-06-28 Stephane Carrez <Stephane.Carrez@nerim.fr>
2745
2746 * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
2747 can be a valid address.
2748
e6a82e80
AH
27492002-06-28 Aldy Hernandez <aldyh@redhat.com>
2750
6c535c69
ZW
2751 * config/rs6000/rs6000.c: Remove unusued variables from last
2752 patch.
e6a82e80 2753
a7ae18e2
AH
27542002-06-27 Aldy Hernandez <aldyh@redhat.com>
2755
2756 Revert:
6c535c69
ZW
2757 * config/rs6000/rs6000.c (rs6000_override_options): Move
2758 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
a7ae18e2 2759
3a9b8c7e
AH
27602002-06-27 Aldy Hernandez <aldyh@redhat.com>
2761
6c535c69
ZW
2762 * config/rs6000/rs6000.c (altivec_expand_builtin): Move
2763 lvx/stv/dst builtins...
2764 (altivec_expand_ld_builtin): ...to here.
2765 (altivec_expand_st_builtin): ...here.
2766 (altivec_expand_dst_builtin): ...and here (respectively).
3a9b8c7e 2767
5f9dc214
BW
27682002-06-28 Bob Wilson <bob.wilson@acm.org>
2769
2770 * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
2771
53501a19
BS
27722001-06-08 Bernd Schmidt <bernds@redhat.com>
2773
2774 * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
2775 subregs.
2776 * recog.c (general_operand, register_operand): Disallow them.
2777
d1a58688
NB
27782002-06-28 Neil Booth <neil@daikokuya.co.uk>
2779
2780 PR preprocessor/7138
2781 * cpplib.c (_cpp_handle_directive): Do traditional
2782 preparation after setting state.angled_headers.
2783 * cpptrad.c (scan_out_logical_line): Fix potential
2784 quote bug.
2785
55c1c60d
AH
27862002-06-27 Aldy Hernandez <aldyh@redhat.com>
2787
6c535c69
ZW
2788 * config/rs6000/rs6000.c (rs6000_override_options): Move
2789 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
55c1c60d 2790
3219c65b
BW
27912002-06-27 Bob Wilson <bob.wilson@acm.org>
2792
2793 * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
2794 (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
2795 zero_cost_loop_end): Remove unnecessary "parallel" from insns.
2796
c8f863fc
RS
27972002-06-27 Roger Sayle <roger@eyesopen.com>
2798
2799 * config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
2800 * config/stormy16/stormy16.h: Likewise.
2801
2802 * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
2803 with #define.
2804
8d5362b7
GP
28052002-06-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2806
2807 * doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move
2808 Hitachi entry. Make punctuation more consistent.
2809
57694e40
MK
28102002-06-27 Matt Kraai <kraai@alumni.cmu.edu>
2811
2812 * doc/install.texi: Change ` bit' to `-bit'.
2813 * doc/md.texi: Change `-bits' to `-bit'.
2814 * doc/tm.texi: Change `-bits' to ` bits'.
2815
c635a1ec
DB
28162002-06-27 Daniel Berlin <dberlin@dberlin.org>
2817
2818 * gcse.c (hoist_code): Rewrite to only get list of dominated
4e314d1f 2819 blocks once per BB. Also fix reversed test (by removing need for
c635a1ec
DB
2820 the test at all).
2821
951a0766
NB
28222002-06-27 Neil Booth <neil@daikokuya.co.uk>
2823
2824 * cpphash.h (_cpp_set_trad_context): Remove.
2825 * cpplib.c (prepare_directive_trad): Do nothing for #define.
2826 (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
2827 * cpptrad.c: Update comments.
2828 (_cpp_read_logical_line_trad): Let scan_logical_line handle
2829 updating the current context.
2830 (scan_logical_line): Update the current context.
2831 (_cpp_create_trad_definition): Similarly.
2832 (_cpp_set_trad_context): Remove.
2833
06470238
NB
28342002-06-27 Neil Booth <neil@daikokuya.co.uk>
2835
2836 PR preprocessor/7070
2837 * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
2838
0c14a54d
BW
28392002-06-26 Bob Wilson <bob.wilson@acm.org>
2840
2841 * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
2842 config/xtensa/xtensa.c (xtensa_return_addr): New function.
2843 config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
2844 config/xtensa/xtensa.md (fix_return_addr): New pattern.
2845
e9873fd5
KG
28462002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2847
2848 * mips.c (coprocessor_operand, coprocessor2_operand,
2849 symbolic_operand): Move prototypes from here...
2850 * mips-protos.h (coprocessor_operand, coprocessor2_operand,
2851 symbolic_operand): ...to here.
2852
650e8d05
R
2853Wed Jun 26 16:32:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
2854
2855 * config/sh/crt1.asm: remove _stack label definition
2856 and sentinel value.
2857
c7836bcd
KG
28582002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2859
2860 * varasm.c: Include real.h before output.h.
2861
6e1f54e2
AH
28622002-06-26 Aldy Hernandez <aldyh@redhat.com>
2863
6c535c69
ZW
2864 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
2865 check for TARGET_ALTIVEC.
6e1f54e2 2866
18fbcbcf
NN
28672002-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
2868
2869 * config.gcc (vax-*-vms*): Make obselete.
2870
09bed167
KG
28712002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2872
2873 * gcc.c (warn_std): Delete.
2874
8254cb45
LR
28752002-06-25 Loren J. Rittle <ljrittle@acm.org>
2876
2877 * doc/extend.texi: Fix formatting of last checkin.
2878
f9ee10ab
RO
28792002-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2880
2881 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
2882 underscore from __IEEE_FP and __IEEE_FP_INEXACT.
2883
90989b26
AH
28842002-06-25 Aldy Hernandez <aldyh@redhat.com>
2885
6c535c69
ZW
2886 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
2887 discrepancies from motorola's documentation.
90989b26 2888
9881adff
R
2889Tue Jun 25 21:51:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
2890
2891 * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
2892 GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
4de1b7a9 2893
4e314d1f 2894 * config/sh/lib1funcs.asm (udivdi3): Make first divide step
4de1b7a9
R
2895 produce a 32 bit result before normalization, then normalize with a
2896 left shift. Compute approximative error of 2nd reciprocal
2897 approximation in 2's complement. Fix mask generation from upper
2898 longword of second divide stage result.
2899 For large divisor, fix shift count used to truncate first stage
2900 divide result; make decision if to adjust upwards based on comparison
2901 of higher parts of normalized values.
2902 (udivdi): Likewise. Undo normalization of result for large divisor
2903 case.
2904
16b46035
DM
29052002-06-25 David S. Miller <davem@redhat.com>
2906
2907 * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
2908
0c6db544
NB
29092002-06-25 Neil Booth <neil@daikokuya.co.uk>
2910
2911 * cpplib.c (do_include_common): Revert to correct line number
2912 if -traditional.
2913 * cpptrad.c (scan_out_logical_line): Treat null directive as
2914 white space. Invlidate MI optimization for non-whitespace
2915 text outside a directive.
2916
eef709c7
KG
29172002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2918
b41e09a7
KG
2919 * Makefile.in (SHELL): Set to @SHELL@.
2920 * fixinc/Makefile.in (SHELL): Likewise.
2921
eef709c7
KG
2922 * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
2923 fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
2924 initialization.
2925
b0ac73f8
JL
29262002-06-24 Jeff Law <law@redhat.com>
2927
2928 * flow.c (propagate_one_insn): When removing an insn
2929 with a REG_LIBCALL note but not the entire libcall sequence,
2930 delete the associated REG_RETVAL note.
2931
9e96203d
R
2932Mon Jun 24 21:05:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
2933
2934 * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
2935 (udivsi3): Likewise. Rewrite SH1 implementation.
2936 (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
2937 * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
2938 (udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
2939 * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
2940 (_moddi3): Likewise.
2941
2942 * lib1funcs.asm (ic_invalidate): Add data cache line writeback.
87912be7
R
2943
2944 * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
2945 arguments into account for stack_regs.
2946
0d893a63
MK
29472002-06-24 Matt Kraai <kraai@alumni.cmu.edu>
2948
2949 * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
2950 in examples.
4e314d1f 2951
04a5176a
AH
29522002-06-24 Art Haas <ahaas@neosoft.com>
2953
2954 * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
2955 * doc/tm.texi (Frame Layout): Likewise.
2956
cad61762 29572002-06-20 Steve Ellcey <sje@cup.hp.com>
ec52b446 2958
cad61762
SE
2959 * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
2960 Set float_format to i128.
2961
556a56ac
DM
29622002-06-24 David S. Miller <davem@redhat.com>
2963
2964 * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
2965 32-bit ABI libfuncs to NULL.
2966
563facba
DM
2967 * config/sparc/sparc.md: Use define_insn_and_split. Use braced
2968 strings instead of quoted strings for code blocks.
b776892b 2969
556a56ac
DM
2970 * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
2971 optabs if op1 is const0_rtx.
2972
a8106207
DM
2973 * Makefile.in (GTFILES): Add basic-block.h
2974 * basic-block.h (label_value_list, tail_recursion_label_list):
2975 Mark with GTY.
2976
2c088b53
NB
29772002-06-24 Neil Booth <neil@daikokuya.co.uk>
2978
2979 * cpptrad.c (scan_out_logical_line): Check recursing only when
2980 we know we have a macro invocation in the function-like case.
2981 Only call _cpp_handle_directive if we know we have a good
2982 directive, or we want to reject a bad directive.
2983
0228d06b
AM
29842002-06-24 Alan Modra <amodra@bigpond.net.au>
2985
2986 * doloop.c (doloop_valid_p): Correct comment.
2987 (doloop_modify_runtime <abs_inc != 1>): Simplify.
2988 (doloop_modify_runtime <do-while>): Don't emit code when NE.
2989
2f9021d3
DC
2990Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru>
2991
2992 * config.gcc: Add support for ip2k.
2993
bc9c2952 29942002-06-23 Jan Hubicka <jh@suse.cz>
f81a79ef
JH
2995 Jeff Law <law@redhat.com>
2996
2997 * function.h (struct emit_status): Clarify potential contents
2998 of regno_reg_rtx array.
2999 * integrate.c (copy_rtx_and_substitute): Update comments. Make
3000 sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
bc9c2952
AJ
3001
3002 * reg-stack.c (convert_regs_exit): Push the registers to stack in
3003 proper order.
3004
faa964e5
UW
30052002-06-22 Ulrich Weigand <uweigand@de.ibm.com>
3006
3007 PR middle-end/6963
3008 * function.c (assign_stack_temp_for_type): Do not return
3009 the same MEM rtx for multiple uses of a stack slot.
3010
7ae3e57c
DM
30112002-06-22 David S. Miller <davem@redhat.com>
3012
3013 PR target/6841 target/6770 target/6719
3014 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
3015 NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
3016 GENERAL_OR_EXTRA_FP_REGS.
3017
847c76c8
NB
30182002-06-22 Neil Booth <neil@daikokuya.co.uk>
3019
3020 * cpptrad.c (struct fun_macro): Add line number.
3021 (scan_out_logical_line): Set it, and use it to report unterminated
3022 macro invocations.
3023
813674e0
KG
30242002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3025
3026 * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
3027 VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
3028 DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
3029 DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
3030 REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
3031 REGEXP_ONEOF, check_name): Const-ify.
3032
23361093
MT
30332002-06-21 Matt Thomas <matt@3am-software.com>
3034
3035 * config/vax/vax.c (vax_output_function_prologue): Use
bc9c2952 3036 REGISTER_PREFIX. Fix some indentation.
23361093
MT
3037 * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
3038 (VAX_ISTREAM_SYNC): Define.
3039 (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the
bc9c2952
AJ
3040 i-stream sync to the end.
3041 (REGISTER_PREFIX): Define as "".
23361093
MT
3042 (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
3043
1c655a0d
JT
30442002-06-21 Jason Thorpe <thorpej@wasabisystems.com>
3045
3046 * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
3047 configurations.
3048
3e16bfe2
KG
30492002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3050
3051 * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
3052 tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
3053
6b0760fd
MT
30542002-06-21 Matt Thomas <matt@3am-software.com>
3055
3056 * config/vax/netbsd.h: Adjust a comment.
3057 (TARGET_DEFAULT): Redefine as 0.
3058
31a78298
RH
30592002-06-21 Richard Henderson <rth@redhat.com>
3060
3061 * bb-reorder.c (make_reorder_chain_1): Search harder for the
bc9c2952
AJ
3062 vax casesi fallthru edge.
3063 * cfglayout.c (cleanup_unconditional_jumps): Use
31a78298
RH
3064 redirect_edge_succ_nodup. Do not delete ADDR_VEC insns as dead.
3065 * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
3066 block after ADDR_VEC.
3067
d8bf1785
RO
30682002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3069
3070 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
3071
00b94a44
NB
30722002-06-21 Neil Booth <neil@daikokuya.co.uk>
3073
3074 * cpperror.c (cpp_error): For traditional CPP, default to
3075 diagnostics on pfile->line.
3076 * cpplib.c (prepare_directive_trad): Set line number for
3077 diagnostics for #define too.
3078 * cpptrad.c (skip_whitespace): Skip comments properly.
3079 (_cpp_expansions_different_trad): Initialize quote2.
3080
c583c5c3
HPN
30812002-06-21 Hans-Peter Nilsson <hp@bitrange.com>
3082
3083 * config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
3084 * config/mmix/mmix.h: Ditto.
3085 * config/mmix/mmix-protos.h: Ditto.
3086 * config/mmix/mmix.c: Ditto. Fix typo in comment.
3087 * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
3088 comment. Comment extra CC modes.
3089
1292ec0c
JH
30902002-06-20 Jan Hubicka <jh@suse.cz>
3091
3092 * cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
3093 (scope_to_insns_finalize): Do not call set_block_levels; handle
3094 sequences.
3095 (choose_inner_scope): New.
3096 * rtl.h (choose_inner_scope): Declare.
3097
0f8e3849
JDA
30982002-06-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
3099
3100 * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
3101 HOST_WIDE_INT.
3102 * pa.c (pa_asm_output_mi_thunk): Likewise.
3103 (n_deferred_plabels): Change type to size_t.
3104 (output_deferred_plabels, output_call): Use size_t instead of int.
3105
0655301f
RH
31062002-06-20 Richard Henderson <rth@redhat.com>
3107
3108 PR target/4041
3109 * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
3110 pattern and adjust constraints for coldfire.
3111
2b3aadfc
RH
31122002-06-20 Richard Henderson <rth@redhat.com>
3113
3114 * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
3115
5c44e275
CD
31162002-06-20 Chris Demetriou <cgd@broadcom.com>
3117
3118 * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
3119
8fff5435
CD
31202002-06-20 Chris Demetriou <cgd@broadcom.com>
3121
3122 * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
3123
8a67e083
SS
31242002-06-20 Stan Shebs <shebs@apple.com>
3125
3126 * dominance.c: Include errors.h instead of error.h.
3127
017acb41
NB
31282002-06-20 Neil Booth <neil@daikokuya.co.uk>
3129
3130 * cppexp.c (cpp_interpret_integer): Don't force traditional
3131 numbers to be unsigned.
3132 * cpplib.c (prepare_directive_trad): Set line number for
3133 diagnostics.
3134 * cpptrad.c (scan_out_logical_line): Continue scanning out
3135 at start of buffer.
3136 * gcc.c (trad_capable_cpp): Use cc1 always.
3137
0ed4a390
JL
31382002-06-20 Jeffrey Law <law@redhat.com>
3139
3140 * i386.h (TARGET_DEFAULT): Do not turn on frame pointer
3141 elimination in leaf functions by default yet.
3142
988ef418
RS
31432002-06-20 Richard Sandiford <rsandifo@redhat.com>
3144
3145 * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
3146
0ab2e54b
RO
31472002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3148
3149 * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
3150 multilibs.
3151 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
d8bf1785 3152 Fixes PR other/6836.
0ab2e54b 3153
355be0dc
JH
3154Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz>
3155 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
3156
3157 Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz>
3158
3159 * basic-block.h: Do not include et-forest.h
3160 (dominance_info): Declare as struct dominance-info.
3161 * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
3162 deleting block.
3163 * dominance.c (struct dominance_info): Define.
3164 (BB_NODE, SET_BB_NODE): New macros.
3165 (bb_hash_func, bb_eq_func): Kill.
3166 (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
3167 nearest_common_dominator, dominated_by_p, recount_dominator,
3168 add_to_dominance_info, delete_from_dominance_info): update for new
3169 representation.
3170 (get_dominated_by, redirect_immediate_dominators): Rewrite using
3171 enumerate_sons.
3172 * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
3173 find_if_case_1, find_if_case_2): Remove killed blocks from dominance
3174 structure.
3175
3176 * et-forest.h: Update copyright; revamp all function to operate on
3177 nodes
3178 (et_forest_value): Kill.
3179 (et_forest_enumerate_sons, et_forest_node_value): New.
3180 * et-forest.c: Update copyright.
3181 * et-forest.h: Update copyright; revamp all function to operate on
3182 nodes
3183 (et_forest_value): Kill.
3184 (et_forest_enumerate_sons, et_forest_node_value): New.
3185
3186 Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz>
3187
3188 * basic-block.h: Inlude et-forest.h
3189 (basic_block_def): Kill dominator.
3190 (dominance_info): New type.
3191 (loops): Use dominace_info.
3192 (dominace handling functions): Take dominace_info as argument
3193 instead of bitmaps.
3194 (create_preheader): Likewise.
3195 * cfg.c (entry_exit_blocks): Kill dominator.
3196 (dump_flow_info): Do not dump dominators.
3197 * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
3198 dominators.
3199 * cfgloop.c (flow_pre_header_find): Use dominacne_info.
3200 (flow_loops_pre_header_scan, make_forwarder_block,
3201 canonicale_loop_headers, flow_loops_find): Likewise.
3202 * dominance.c: Include error.h
3203 (idoms_to_doms): Kill.
3204 (bb_hash_func, bb_eq_func): New static functions.
3205 (debug_dominace_info): New global function.
3206 (calculate_dominance_info): Use new et forest structure.
3207 (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
3208 get_dominated_by, redirect_immediate_dominators,
3209 nearest_common_dominator, dominated_by_p, verify_dominators,
3210 recount_dominator, iterate_fix_dominators, add_to_dominace_info,
3211 delete_from_dominance_info): New global functions.
3212 * gcse.c (domnators): CHange to dominance_info.
3213 (alloc_hoist_mem): Do not alloc dominators
3214 (free_code_hoist_mem): Use free_dominance_info.
3215 (compute_code_hoist_data): Use dominance_info.
3216 (hoist_code): Likewise.
3217 * ifcvt.c (post_dominators): Likewise.
3218 (find_if_case_2, if_convert): Likewise.
3219 * predict.c (process_note_predictions, process_note_prediction,
3220 estimate-probability): Likewise.
3221 * sched-rgn.c (find_rgns, init_regions): Likewise.
3222 * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
3223 find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
3224 * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
3225 find_evaluations, convert_to_ssa): Likewise.
3226 * ssa.h (compute_dominance_frontiers): Likewise.
3227
3228 Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
3229
3230 * Makefile.in (et-forest.c): Add.
3231 * et-forest.c: New file.
3232 * at-forest.h: New file.
3233
ef9772c8
KG
32342002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3235
62c71f4b
KG
3236 * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
3237 array size calculation.
3238 * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
3239 Likewise.
3240
ef9772c8
KG
3241 * diagnostic.c (diagnostic_kind_text): Const-ify.
3242 * gengtype.c (lang_names): Likewise.
3243
b0dd4808
JH
3244Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz>
3245
3246 * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
3247
8433a25e
RO
32482002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3249
3250 * config/sol2.h: New file.
3251 * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
3252 (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
3253 (sparc-*-chorusos*): Likewise.
3254 (sparc-*-elf*): Likewise.
3255 (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
3256 (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
3257 (sparc-hal-solaris2*): Likewise.
3258 (sparc-*-solaris2*): Likewise.
3259 (sparclite-*-elf*): Likewise.
3260 (sparc86x-*-elf*): Likewise.
3261 (sparc64-*-elf*): Likewise.
bc9c2952 3262
8433a25e
RO
3263 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
3264 config/sol2.h.
3265 (ASM_SPEC): Override config/sol2.h version for now.
3266 Removed obsolete GAS_REJECTS_MINUS_S variant.
3267 (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
3268 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
3269 (TARGET_OS_CPP_BUILTINS): Likewise.
3270 Assert system=unix.
3271 (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
3272 (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
3273 config/sol2.h.
3274 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
3275 (ASM_CPU_SPEC): Define.
3276 (SUBTARGET_EXTRA_SPECS): Define.
bc9c2952 3277
8433a25e
RO
3278 * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
3279 in config/sparc/sol2.h.
3280 (ASM_SPEC): Moved to config/sol2.h.
3281 (CPP_CPU_SPEC): Simplified.
3282 (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
3283 consistency.
3284 (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
3285 (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
3286 STARTFILE_ARCH64_SPEC.
3287 (STARTFILE_SPEC): Moved to config/sol2.h
3288 (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
3289 (LINK_ARCH32_SPEC): Moved to config/sol2.h.
3290 (LINK_ARCH64_SPEC): Simplified.
3291 (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
3292 (LINK_SPEC): Moved to config/sol2.h
bc9c2952 3293
8433a25e
RO
3294 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
3295 config/sol2.h.
3296 Use BITS_PER_WORD for size.
3297 (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
3298 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
3299 (CPP_PREDEFINES): Removed OS-specific part handled by
3300 TARGET_OS_CPP_BUILTINS.
3301 (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
3302 (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
3303 (ASM_SPEC): Moved to config/sol2.h.
3304 (PREFERRED_DEBUGGING_TYPE): Likewise.
3305 (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
3306 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
3307 (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
3308 (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
bc9c2952 3309
8433a25e
RO
3310 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
3311 * config/i386/sol2gas.h: Removed.
3312
b6bb1d56
JH
3313Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz>
3314
3315 * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
3316
e50b19ce 33172002-06-16 Aldy Hernandez <aldyh@redhat.com>
4e314d1f 3318
e50b19ce
AH
3319 * gcc.c-torture/execute/simd-1.c: New.
3320
3321 * gcc.dg/simd-1.c: New.
3322
3323 * doc/extend.texi (Vector Extensions): Document that we can
3324 specify simd types not specifically supported by the hardware.
3325 Document that simd types can be used as function arguments.
3326 Document that signness does make a difference in SIMD types.
3327 Misc cleanups and revisions to the vector extensions section.
3328
3329 * simplify-rtx.c (simplify_subreg): Simplify subregs of vector
3330 constants.
3331
3332 * expr.c (vector_mode_valid_p): New.
3333
3334 * expr.h: Add vector_mode_valid_p.
3335
3336 * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
3337
3338 * c-common.c (type_for_mode): Always build vector nodes regardless
3339 of VECTOR_MODE_SUPPORTED_P.
3340 (handle_mode_attribute): Error if we can't emulate a nonexisting
3341 vector mode.
3342 (handle_vector_size_attribute): Same.
3343
3344 * optabs.c (expand_binop): Open-code vector operations.
3345 (expand_unop): Open-code vector unops.
3346 (expand_vector_binop): New.
3347 (expand_vector_unop): New.
4e314d1f 3348
e50b19ce
AH
3349 * c-typeck.c (build_binary_op): Allow vectors in binops.
3350 Allow vectors in conditional operatiors.
3351 (build_unary_op): Allow vectors in unary minus.
3352
3353 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
3354 TARGET_ALTIVEC.
3355
74d86f4f
RH
33562002-05-20 Richard Henderson <rth@redhat.com>
3357
3358 * c-common.c (c_common_get_alias_set): Correctly handle characters.
3359 Rearrange order of expressions; don't handle vectors here.
3360 * alias.c (get_alias_set): Let vectors match their components.
3361
1867b624
CD
33622002-06-19 Chris Demetriou <cgd@broadcom.com>
3363
6c535c69 3364 * config/mips/mips.c (mips_emit_prefetch): Use hints which
1867b624
CD
3365 match desired locality.
3366
2c1d2fcb
DD
33672002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
3368
3369 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
3370 (h8300_insert_attributes): New.
3371
84d901be
AD
33722002-06-19 Akim Demaille <akim@epita.fr>
3373
3374 * c-parse.in (initelt: identifier ':' initval): Add an empty
3375 action to fix a type clash.
3376 (aliasdecl, classdef): Add the missing closing `;'.
3377 Whitespace changes.
3378 * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
3379 $$ = $1 type clashes.
3380
8f2e3902
EC
33812002-06-19 Eric Christopher <echristo@redhat.com>
3382
3383 * config/mips/mips.c (symbol_operand): New function.
3384 (mips_emit_prefetch): Ditto.
3385 * config/mips/mips-protos.h: Define.
3386 * config/mips/mips.h (ISA_HAS_PREFETCH): Define.
3387 (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
3388 (LEGITIMIZE_ADDRESS): Ditto.
3389 * config/mips/mips.md (prefetch, prefetch_si_address,
3390 prefetch_si, prefetch_di_address, prefetch_di): New patterns.
3391
c894819c
EC
33922002-06-19 Eric Christopher <echristo@redhat.com>
3393
3394 * config/fp-bit.h: Add unordered defines for gofast.
3395
4005971c
VM
33962002-06-19 Vladimir Makarov <vmakarov@redhat.com>
3397
3398 * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
3399 DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
3400 DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
3401 REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
3402 checking and without it.
3403 (decl_name, decl_mode_check_failed, regexp_name,
3404 regexp_mode_check_failed): New functions.
3405 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
3406 gen_presence_set, gen_absence_set, gen_automaton,
3407 gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
3408 gen_regexp_sequence, gen_reserv, gen_insn_reserv,
3409 automaton_decl_hash, automaton_decl_eq_p): Use the macros.
3410 (find_automaton_decl): Ditto. Set up mode of work_automaton_decl.
3411 (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
3412 (find_insn_decl): Ditto. Set up mode of work_insn_decl.
3413 (decl_hash, decl_eq_p): Use the macros.
3414 (find_decl): Ditto. Set up mode of work_decl.
3415 (process_excls, process_presence_absence, process_decls,
3416 check_automaton_usage, process_regexp, process_regexp_decls,
3417 check_usage, loop_in_regexp, check_loops_in_regexps,
3418 process_regexp_cycles, add_advance_cycle_insn_decl,
3419 initiate_states, initiate_excl_sets,
3420 initiate_presence_absence_sets, copy_insn_regexp, transform_1,
3421 transform_2): Use the macros.
3422 (transform_3): Ditto. Check mode before making transformations of
3423 ALLOF.
3424 (regexp_transform_func, transform_insn_regexps,
3425 process_unit_to_form_the_same_automaton_unit_lists,
3426 form_the_same_automaton_unit_lists_from_regexp,
3427 form_the_same_automaton_unit_lists,
3428 process_seq_for_forming_states, process_alts_for_forming_states,
3429 create_alt_states, form_ainsn_with_same_reservs, make_automaton,
3430 form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
3431 estimate_one_automaton_bound, compare_max_occ_cycle_nums,
3432 units_to_automata_heuristic_distr, create_ainsns,
3433 units_to_automata_distr, create_automata): Use the macros.
3434 (form_regexp): Ditto. Fix typo in access to fields of ALLOF.
3435 (longest_path_length, min_issue_delay_pass_states,
3436 output_dead_lock_vect, output_tables, output_insn_code_cases,
3437 output_internal_insn_latency_func, output_print_reservation_func,
3438 output_description, output_automaton_units, generate): Use the
3439 macros.
3440 (make_insn_alts_attr): Ditto. Check case when there are not
3441 alternatives in the reservation.
3442 (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
3443 make_bypass_attr, form_important_insn_automata_lists,
3444 expand_automata): Use the macros.
c894819c 3445
015089dd
TJ
34462002-06-20 Tim Josling <tej@melbpc.org.au>
3447
3448 * Makefile.in: Clean up code to check for misspecified languages
3449 in enable-languages.
3450
7999462c
AP
34512002-06-19 Andrew Pinski <pinskia@physics.uc.edu>
3452
84d901be 3453 * cpptrad.c (_cpp_replacement_text_len): initialize len.
7999462c 3454
9c8d079c
JM
34552002-06-19 Jason Merrill <jason@redhat.com>
3456
3457 * Makefile.in (unstrap, restrap): New targets.
3458 (bootstrap): Mention restrap.
3459
d90a95fb
MK
34602002-06-19 Matt Kraai <kraai@alumni.cmu.edu>
3461
3462 * except.c (ehl_free): Remove.
3463
3464 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
3465 builtin_define and builtin_define_std.
3466
f01a0d8d
ID
34672002-06-19 Ian Dall <ian@sibyl.beware.dropbear.id.au>
3468
3469 * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
3470 (sCOND): Restrict operand class so that gcc knows how to reload them.
3471 (bitfield_set): Merge two unnamed insn's using alternatives.
3472 (call_value): Remove constraint on unused uperand.
3473 (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
3474 (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
c894819c 3475
f01a0d8d
ID
3476 * longlong.h (count_trailing_zeros): Escape newline and beautify.
3477
62363d99
MM
34782002-06-19 Mark Mitchell <mark@codesourcery.com>
3479
3480 * Makefile.in (QMTEST_DIR): Simplify definition.
3481
099bd656
NC
34822002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
3483
3484 * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
3485 #define.
3486
278c4662
NB
34872002-06-19 Neil Booth <neil@daikokuya.co.uk>
3488
3489 * cpphash.h (struct cpp_reader): Make date and time strings.
3490 (_cpp_builtin_macro_text, _cpp_copy_replacement_text,
3491 _cpp_replacement_text_len): New.
3492 * cppinit.c (cpp_create_reader): Update.
3493 (init_builtins): Register appropriate builtins for -traditional-cpp.
3494 * cppmacro.c (new_number_token): Remove.
3495 (_cpp_builtin_macro_text): New.
3496 (builtin_macro): Use it.
3497 (cpp_macro_definition): Update to handle traditional macros.
3498 * cppmain.c (cb_line_change): Don't do column positioning for
3499 traditional output.
3500 * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New
3501 state ls_fun_close.
3502 (skip_whitespace): Fix.
3503 (maybe_start_funlike): Don't set state.parsing_args.
3504 (scan_out_logical_line): Remove duplicate error. Use lex_state
3505 rather than state.parsing_args.
3506 (push_replacement_text): Handle builtins.
3507 (_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
3508
afd1930f 35092002-06-18 Hans-Peter Nilsson <hp@axis.com>
f01a0d8d 3510 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
afd1930f
HPN
3511
3512 * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
3513 attribute __always_inline__.
3514
5ee924c2
BW
35152002-06-18 Bob Wilson <bob.wilson@acm.org>
3516
3517 * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
3518 when generating the call to _mcount.
3519 (NO_PROFILE_COUNTERS): Define.
3520
32c36ac8
RH
35212002-06-18 Richard Henderson <rth@redhat.com>
3522
3523 * print-rtl.c (print_rtx): Adjust NOTE argument numbers for
3524 2002-06-02 change.
3525
c985dc5e
R
3526Tue Jun 18 20:53:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
3527
3528 * t-sh (MULTILIB_EXCEPTIONS): Set to ml.
3529 config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
3530 * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
3531 * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
e3ba8d11
R
3532
3533 * sh-protos.h (sh_pr_interrupt): Declare.
3534 * sh.c (sh_pr_interrupt): New function.
3535 (print_operand, calc_live_regs, sh_expand_prologue): Use it.
3536 (sh_hard_regno_rename_ok): Likewise.
3537 * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
3538
e3c8eb86
VM
35392002-06-18 Vladimir Makarov <vmakarov@redhat.com>
3540
3541 * rtl.def (DEFINE_AUTOMATON): Add description of new options
3542 `time' and `v'. Fix incorrect description of option `w'.
3543
3544 * doc/md.texi: Ditto.
3545
3546 * genautomata.c (TIME_OPTION, V_OPTION): New macros.
3547 (gen_automata_option): Process the new options.
3548 (transform_2, transform_3): Initialize some variables.
3549 (initiate_automaton_gen): Use the new macros.
c894819c 3550
b2471838
RS
35512002-06-18 Richard Sandiford <rsandifo@redhat.com>
3552
3553 * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
3554 (mips_set_return_address, mips_restore_gp): Declare.
3555 * config/mips/mips.h (struct mips_frame_info): Move to mips.c
3556 (current_frame_info): Remove.
3557 (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
3558 * config/mips/mips.c: Remove uses of current_frame_info.
3559 (struct mips_frame_info): Moved from mips.h. Remove 'insns_len'.
3560 (struct machine_function): Add 'frame' and 'insns_len'.
3561 (current_frame_info, zero_frame_info): Remove.
3562 (mips_restore_gp, mips_set_return_address): New.
3563 (mips_initial_elimination_offset): New.
3564 * config/mips/mips.md (exception_receiver): Use mips_restore_gp.
3565 (eh_return define_split): Use mips_set_return_address.
3566
d97371e0
NB
35672002-06-18 Neil Booth <neil@daikokuya.demon.co.uk>
3568
3569 * cpplib.c (dtable): Update.
3570 (end_directive): Decrement expansion prevention count.
3571 Clear state.in_expression.
3572 (prepare_directive_trad): Set state.in_expression.
3573 Increment expansion prevention count.
3574 * cpptrad.c (enum ls): New.
3575 (_cpp_overlay_buffer): Set overlaid_buffer.
3576 (_cpp_remove_overlay): Use overlaid_buffer.
3577 (_cpp_read_logcial_line_trad): Update buffer when it might
3578 have changed.
3579 (scan_out_logical_line): Handle state transitions for assertions
3580 and defined() in #if, and for funlike invocations including the
3581 directive case. Handle '<' and '>' as a quote mechanism in
3582 #include. Warn about unterminated macro invocations.
3583 * cpphash.h (struct lexer_state): New member in_expression.
3584 (struct cpp_reader): New member overlaid buffer.
3585
807b20b0
HPN
35862002-06-18 Hans-Peter Nilsson <hp@axis.com>
3587
3588 * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
3589 __always_inline__.
3590
8a09a7e5
AM
35912002-06-18 Alan Modra <amodra@bigpond.net.au>
3592
147d5f6f
AM
3593 * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
3594
8a09a7e5
AM
3595 * doloop.c (doloop_optimize): Extract pattern from insn.
3596
390de769
MK
35972002-06-17 Matt Kraai <kraai@alumni.cmu.edu>
3598
3599 * doc/extend.texi (Function Attributes): Remove `,...' from @var.
3600
0ed4a390 36012002-06-17 Jeff Law <law@redhat.com>
912ce297
JL
3602
3603 * libgcc2.c: Do not include symcat.h or machmode.h.
3604
5c45425b
RH
36052002-06-17 Richard Henderson <rth@redhat.com>
3606
3607 PR target/6922
3608 * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
3609
9aa497ae
TT
36102002-06-17 Tom Tromey <tromey@redhat.com>
3611
3612 * dwarfout.c: Include function.h.
3613
7f11f1f9
AS
36142002-06-17 Andreas Schwab <schwab@suse.de>
3615
3616 * print-rtl.c (print_rtx): Print space before vector, not after.
3617 (debug_rtx): Clear sawclose before printing.
3618 (debug_rtx_list): Print newline after each list element.
3619 (debug_rtx_range): Likewise.
3620
df696a75
RH
36212002-06-17 Richard Henderson <rth@redhat.com>
3622
3623 * function.h (struct function) [funcdef_no]: Rename profile_label_no.
3624 (current_function_funcdef_no): Similarly.
3625 * function.c (funcdef_no): Similarly.
3626 (prepare_function_start): Set current_function_funcdef_no.
3627 (expand_function_start): Don't set current_function_profile_label_no.
3628 * dwarf2out.h (current_funcdef_number): Remove.
3629 * dwarf2out.c (current_funcdef_number): Remove. Replace with
3630 current_function_funcdef_no throughout.
3631 * dwarfout.c, vmsdbgout.c: Similarly.
3632 * except.c (sjlj_funcdef_number): Remove.
3633 (sjlj_emit_function_enter): Use current_function_funcdef_no instead.
3634 (output_function_exception_table): Likewise.
3635 * final.c (profile_function): Use current_function_funcdef_no
3636 instead of current_function_profile_label_no.
3637
97272202
VM
36382002-06-17 Vladimir Makarov <vmakarov@redhat.com>
3639
3640 * sched-ebb.c (init_ready_list): Check INSN_P first.
3641
8bccce2d
R
3642Mon Jun 17 17:26:15 2002 J"orn Rennecke <joern.rennecke@superh.com>
3643
3644 * sh.md (divsi3): Update way how to find insns in a sequence.
dec0798e
R
3645
3646 * reload1.c (merge_assigned_reloads): Don't change reloads
3647 other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
3648 to RELOAD_OTHER when there are conflicting input reloads.
3649
0af5c896
RE
36502002-06-17 Richard Earnshaw (rearnsha@arm.com)
3651
3652 * function.c (epilogue_done): Correctly build a sequence of insns for
3653 a sibcall epilogue.
3654
9d0fa9d6
NC
36552002-06-17 Nick Clifton <nickc@cambridge.redhat.com>
3656
845b1456
NC
3657 * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
3658 #define.
3659
9d0fa9d6
NC
3660 * config/m32r/m32r.md: Replace gen_sequence with get_insns.
3661
e83f3cff
RH
36622002-06-16 Richard Henderson <rth@redhat.com>
3663
3664 * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
3665 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
3666
caecc099
RH
36672002-06-16 Richard Henderson <rth@redhat.com>
3668
3669 PR opt/6722
3670 * regclass.c (globalize_reg): Update regs_invalidated_by_call.
3671
3d05b15f
NB
36722002-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
3673
caecc099
RH
3674 * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
3675 * config/i386/i386-aout.h, config/i386/i386elf.h,
3676 config/i386/sysv4.h: Remove CPP_PREDEFINES.
3677 * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
3678 config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
3679 config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
3680 config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
3d05b15f 3681 CPP_PREDEFINES and part of CPP_SPEC.
caecc099 3682 * config/i386/sysv4-cpp.h: New.
3d05b15f 3683
8370aa3a
RH
36842002-06-16 Richard Henderson <rth@redhat.com>
3685
65a90f3c 3686 PR c/7030
8370aa3a
RH
3687 * dwarf2out.c (modified_type_die): Don't assign the qualified die
3688 to the unqualified type.
3689
e932b21b
JH
3690Sun Jun 16 22:16:10 CEST 2002 Jan Hubicka <jh@suse.cz>
3691
3692 * i386-protos.h (x86_field_alignment): Declare.
3693 * i386.c (x86_field_alignment): Define.
3694 * i386.h (ADJUST_FIELD_ALIGNMENT): New.
3695 (BIGGEST_FIELD_ALIGNMENT): Kill.
3696
7ee02381
RH
36972002-06-16 Richard Henderson <rth@redhat.com>
3698
f01a0d8d 3699 * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
7ee02381 3700
750491fc
RH
37012002-06-16 Richard Henderson <rth@redhat.com>
3702
3703 * c-common.c (flag_ms_extensions): Move from c++ front end.
3704 * c-common.h (flag_ms_extensions): Declare.
3705 * c-decl.c (c_decode_option): Add -fms-extensions.
3706 (grokfield): Don't accept anonymous structures in ISO C mode;
3707 accept only unnamed anonymous structures in GNU C mode; accept
3708 Plan 9 extensions in MS mode.
3709 * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
3710 SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
3711 (extension): Clear flag_iso.
3712 * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
3713
c134da6b
HPN
37142002-06-16 Hans-Peter Nilsson <hp@axis.com>
3715
3716 PR target/7042
3717 * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
3718 early if current_function_epilogue_delay_list is non-empty.
3719 * config/cris/cris.md ("return"): Add sanity check asserting that
3720 current_function_epilogue_delay_list is empty.
3721
038c7976
JL
37222002-06-16 Jeff Law <law@redhat.com>
3723
006a94b0
JL
3724 * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
3725 sharing of hard registers.
3726
3727 * toplev.c (rest_of_compilation): Remove redundant conditional.
3728
038c7976
JL
3729 * toplev.c (rest_of_compilation): Perform a simpler, less costly
3730 cleanup of the CFG when not optimizing.
3731
0797741a
AM
37322002-06-16 Alan Modra <amodra@bigpond.net.au>
3733
3734 * gcc.c (main): Correct startfile_prefix_spec check.
3735
a6e2e53e
GK
37362002-06-12 Geoffrey Keating <geoffk@redhat.com>
3737
3738 * config.gcc: Revert rth's patch of 2002-05-18. Instead,
3739 include both darwin.o and rs6000-c.o.
3740
129e0ee8
RS
37412002-06-15 Roger Sayle <roger@eyesopen.com>
3742
3743 * expr.c (compare_from_rtx): Call simplify_relational_operation
3744 on all comparisons, not just those between integer constants,
3745 with the correct (possibly unsigned) comparison code.
3746 (do_compare_rtx_and_jump): Likewise.
3747
d5355cb2
JDA
37482002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
3749
3750 * Makefile.in (tm_defines): New configuration variable.
3751 (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
3752 Pass tm_defines in TM_DEFINES.
3753 (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES.
3754 * config.gcc (tm_defines): New configuration variable.
3755 (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
3756 pa-7100.h headers. Change hppa1* scheduling default to 7100LC.
3757 * configure.in: Substitute tm_defines.
3758 * configure: Rebuilt.
3759 * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES.
3760 * doc/install.texi: Update.
3761 * pa/pa-700.h: Delete file.
3762 * pa/pa-7100.h: Delete file.
3763
8dcb27ed
RS
37642002-06-15 Roger Sayle <roger@eyesopen.com>
3765
3766 * fold-const.c (comparison_to_compcode): New function to convert
3767 an comparison TREE CODE into a bit-based representation.
3768 (compcode_to_comparison): New function to convert from this bit
3769 based representation back to a comparison TREE CODE.
3770 (fold_truthop): Simplify (x<y) && (x==y) and related composite
3771 comparisons.
3772
182e515e
AH
37732002-06-15 Aldy Hernandez <aldyh@redhat.com>
3774
f01a0d8d 3775 * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
182e515e 3776
f01a0d8d
ID
3777 * stor-layout.c (compute_record_mode): Remove check for
3778 FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
3779 MEMBER_TYPE_FORCES_BLK. Pass new mode field to
3780 MEMBER_TYPE_FORCES_BLK.
182e515e 3781
f01a0d8d 3782 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 3783
f01a0d8d 3784 * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 3785
8773135d
JS
37862002-06-14 Jeff Sturm <jsturm@one-point.com>
3787
3788 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
3789
893a047c
SE
37902002-06-14 Steve Ellcey <sje@cup.hp.com>
3791
3792 * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
3793 USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
3794 * configure, config.in: Regenerate.
3795
045d7161
EB
37962002-06-14 Eric Botcazou <ebotcazou@multimania.com>
3797
3798 * loop.c (check_final_value): Use v->always_executed
3799 instead of v->always_computable.
3800 * unroll.c (final_giv_value): Don't calculate the final
3801 value as a function of the biv if the giv is not computed
3802 for every loop iteration.
3803
048c8616 38042002-06-14 Eric Botcazou <ebotcazou@multimania.com>
c894819c 3805
048c8616
EB
3806 * loop.c (for_each_insn_in_loop): Fix formatting and comments.
3807
43e4a9d8
EB
38082002-06-14 Eric Botcazou <ebotcazou@multimania.com>
3809
52689a98 3810 PR c/6677
43e4a9d8
EB
3811 * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
3812 the truncation down when the target type is signed.
3813 [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
3814 * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
3815 the conversion if the target type is a smaller type.
3816
fa4a5557
RH
38172002-06-14 Richard Henderson <rth@redhat.com>
3818
3819 * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
3820 earlier. Re-factor comparisons vs extrema.
3821
d95eb49f
RH
38222002-06-14 Richard Henderson <rth@redhat.com>
3823
3824 * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
3825
be202ec2
FS
38262002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3827
3828 * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
3829 * sched-deps.c (add_dependence): Likewise.
3830 (group_leader): Likewise.
3831 * sched-rgn.c (init_ready_list): Likewise.
3832 * doc/rtl.texi: Adjust accordingly.
3833
e56c4463
JL
38342002-06-13 Jeffrey Law <law@redhat.com>
3835
99a15921
JL
3836 * gcse.c (delete_null_pointer_checks_1): Inform caller if any
3837 null pointer checks were eliminated. Update prototype.
3838 (delete_null_pointer_checks): Similarly.
3839 * rtl.h (delete_null_pointer_checks): Update prototype.
3840 * toplev.c (rest_of_compilation): Only run cleanup_cfg if
3841 delete_null_pointer_checks deletes one or more null
3842 pointer checks. Do not run cleanup_cfg before gcse, the
3843 CFG is accurate and optimized at that point..
3844
e56c4463
JL
3845 * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
3846 of hard registers.
3847
556b821e
UW
38482002-06-14 Ulrich Weigand <uweigand@de.ibm.com>
3849
3850 * Makefile.in (libgcc.mk): Depend on specs.
3851
fa60f36d
R
3852Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com>
3853
3854 * sh.md (mulsi3): Update way how to find insns in a sequence.
3855
03b8ec29
DD
3856Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com>
3857
3858 * sh.h: Define HARD_REGNO_RENAME_OK
3859 * sh.c: sh_hard_regno_rename_ok: New. If current function has
3860 interrupt_handler attribute, only registers saved on stack are OK.
3861 * sh-protos.h: Declare sh_hard_regno_rename_ok.
3862
8e831557
KK
38632002-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
3864
3865 * config/sh/sh.md (jump): Emit jump insn.
3866 (call_pcrel): Get pattern of the result of gen_call_site.
3867 (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
3868
bf9d5852
NB
38692002-06-14 Neil Booth <neil@daikokuya.demon.co.uk>
3870
3871 * cpphash.h (struct cpp_buffer): Remove saved_line_base.
3872 * cpptrad.c: Update comments.
3873 (skip_whitespace, copy_comment): Take a new parameter.
3874 (skip_escaped_newlines): Don't duplicate escaped newline test.
3875 (copy_comment): Different location for CUR, decide here how
3876 to copy / replace the comment.
3877 (skip_whitespace): Copy whitespace.
3878 (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
3879 (scan_out_logical_line): Let copy comment handle keeping or
3880 replacing comments.
3881 (scan_parameters, _cpp_create_trad_definition): Update.
3882
57292ec3
AL
38832002-06-13 Alan Lehotsky <apl@alum.mit.edu>
3884
3885 * reload.c (get_secondary_mem,find_reloads_address,
3886 find_reloads_address_1): Pass reference to MEM to find_reloads_address
3887 so that LEGITIMIZE_RELOAD_ADDRESS will be called.
c894819c 3888
a6f5e048
RH
38892002-06-13 Jessica Han <jessica@cup.hp.com>
3890
3891 * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
3892 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
3893 * doc/tm.texi: Document them.
3894 * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
3895 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
3896 (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
3897 (ASM_OUTPUT_FDESC): Likewise.
3898
3aafa0bb
EC
38992002-06-13 Eric Christopher <echristo@redhat.com>
3900
3901 * diagnostic.c (output_format): Fix thinko.
3902
8e581963
R
3903Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
3904
3905 * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
3906 (DWARF2_UNWIND_INFO): Define to 0.
9d7ed806
R
3907
3908 * config/sh/sh.c (calc_live_regs): Don't use initial_value
3909 optimization for PR_MEDIA_REG.
3910
b66377c1
NB
39112002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
3912
3913 * cpphash.h (_cpp_lex_identifier_trad): Remove.
3914 * cpplib.c (end_directive): Don't skip, always remove overlay
3915 apart from #define.
3916 (prepare_directive_trad): Handle NULL pfile->directive.
3917 (_cpp_handle_directive): Always call prepare_directive_trad
3918 if traditional.
3919 * cppmain.c (check_multiline_token): Rename account_for_newlines,
3920 generalize inputs.
3921 (scan_translation_unit_trad): Use it.
3922 * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
3923 output, get escaped newline in comment close correct.
3924 (check_output_buffer, skip_whitespace): Update.
3925 (_cpp_lex_identifier_trad): Remove.
3926 (scan_out_logical_line): Handle -C and comments in directives
3927 properly.
3928
8bc6e101
R
3929Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
3930
3931 * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
3932 * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
3933 * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
3934 (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
3935 (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
3936 (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
3937 (SELECT_SH5_COMPACT_NOFPU): Likewise.
3938 (TARGET_SWITCHES): Use them.
3939 (TARGET_CPU_DEFAULT): Define if not already defined.
3940 (TARGET_DEFAULT): Use it.
3941 (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
3942 * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
3943 * config/sh/t-monolib: New file.
3944
2181005d
RS
39452002-06-13 Roger Sayle <roger@eyesopen.com>
3946
3947 * toplev.c (rest_of_compilation): Simplify (and correct) the
3948 logic of the first delete-null-pointer-checks pass.
3949
aaae0bb9
JH
3950Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz>
3951
3952 * i386.c (ix86_expand_movstr): Fix pasto.
3953
3954Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
b80cb6e2
JH
3955
3956 * reload.c (find_valid_class): Fix thinko in my previous patch.
3957
dd3fbd93
UW
39582002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
3959
3960 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
3961 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
3962 (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
3963 (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
3964
0d0f605c
GDR
39652002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
3966
3967 * tree-inline.c (expand_call_inline): Don' mess with _DECL
3aafa0bb 3968 fields.
0d0f605c 3969
c92bcccb
GDR
39702002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
3971
3972 * diagnostic.c (output_format): Recognize "%H" as a format
3973 specifier for a location_t.
3974 (text_specifies_location): New function.
3975 (diagnostic_set_info): Use it.
3976
7f243674
JL
39772002-06-13 Jeffrey Law <law@redhat.com>
3978
6cde4876
JL
3979 * emit-rtl.c (static_regno_reg_rtx): Define.
3980 (init_emit_once): Initialize static_regno_reg_rtx.
3981 (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
3982 of building new hard reg objects once per function.
3983 (gen_rtx_REG): Try to share hard regs.
3984 * regclass.c (init_fake_stack_mems): New function broken out from
3985 init_regs.
3986 * rtl.h (init_fake_stack_mems): Declare.
3987 * toplev.c (lang_independent_init): Call init_regs before
3988 init_emit_once. Call init_fake_stack_mems after init_emit_once.
3989
110b3faa
JL
3990 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
3991
7f243674
JL
3992 * alias.c (argument_registers): Remove.
3993 (init_alias_once): Initialize static_reg_base_value here. Remove
3994 initialization of argument_registers.
3995 (init_alias_once_per_function): Remove.
3996 (init_alias_analysis): Copy all the entries from static_reg_base_value
3997 into new_reg_base_value all at once.
3998 * rtl.h (init_alias_once_per_function): Remove declaration.
3999 * function.c (prepare_function_start): Do not call
4000 init_alias_once_per_function.
4001
4002 * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
4003 starting a sequence and emitting an INSN.
4004
a336f2e5
RS
40052002-06-13 Richard Sandiford <rsandifo@redhat.com>
4006
4007 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
4008
2acf0fa9
DM
40092002-06-13 David S. Miller <davem@redhat.com>
4010
4011 * expmed.c (init_expmed): Remove duplicate init of 'reg'.
4012
974c43f1
NB
40132002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
4014
4015 * cpplib.c (end_directive): Handle line skipping. Only remove
4016 the rest of the line if the directive was valid.
4017 * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
4018 expanding a traditional macro.
4019 * cpptrad.c (recursive_macro): New.
4020 (read_logical_line_trad): Handle skipping.
4021 (scan_out_logical_line): Continue after a successful directive.
4022 Don't expand macros whilst skipping, or if recursing.
4023 (_cpp_create_trad_definition): scan_out_logical_line now sets
4024 the output current position.
4025
12bf26b6
EC
40262002-06-12 Eric Christopher <echristo@redhat.com>
4027
4028 From Chris Demetriou <cgd@broadcom.com>
4029 * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
4030 comment.
4031 (ISA_HAS_MADD_MSUB): Ditto.
4032 (ISA_HAS_NMADD_NMSUB): Ditto.
4033
be95b8a5
EC
40342002-06-12 Eric Christopher <echristo@redhat.com>
4035
4036 * config.gcc: Consolidate little endian handling and
4037 little/big endian targets.
4038 * config/mips/elfl.h: Remove file.
4039 * config/mips/elfl64.h: Ditto.
4040 * config/mips/ecoffl.h: Ditto.
4041 * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
4042
e03856fe
GK
40432002-06-12 Geoffrey Keating <geoffk@redhat.com>
4044
4045 * gengtype.h (xvasprintf): New prototype.
4046 (xasprintf): New prototype.
4047 (struct outf): New.
4048 (get_output_file): Return an outf_p.
4049 (header_file): Is now an outf_p.
4050 (base_files): Now are outf_p.
4051 (oprintf): New.
4052 * gengtype.c: Replace all output FILE * with outf_p; use oprintf
4053 rather than stdio operations. Use xasprintf in a few places,
4054 when appropriate.
4055 (xvasprintf): New.
4056 (xasprintf): New.
4057 (struct filemap): Delete.
4058 (files): Delete.
4059 (output_files): New.
4060 (oprintf): New.
4061 (create_file): Create an outf_p. Add parameter to indicate output
4062 file name, change all callers.
4063 (open_base_files): Create gtype-desc.c here.
4064 (get_output_file_with_visibility): Rewrite.
4065 (get_output_file_name): Just look at 'name' field in struct outf.
4066 (close_output_files): Rewrite.
4067
ec01703c
JT
40682002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
4069
4070 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
be95b8a5 4071 (MASK_G_FLOAT): Define.
ec01703c
JT
4072 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
4073 (TARGET_SWITCHES): Likewise.
4074 (TARGET_DEFAULT): Likewise.
4075
8b0397a6
DJ
40762002-06-12 Daniel Jacobowitz <drow@mvista.com>
4077
4078 * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
4079 * config/mips/mips.c (mips_output_filename): Don't print a
4080 ".file" directive if we are using DWARF-2.
4081 (mips_output_function_prologue): Do not emit source file
4082 name for TARGET_GAS.
4083
495333a6
JH
4084Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
4085
4086 * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
4087 decide whether emit the short opcode.
4088 * i386.h (x86_shift1): Declare.
4089 (TARGET_SHIFT1): New macro.
4090 * i386.c (x86_shift1): New global variable.
4091
8b0397a6
DJ
4092 * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
4093 unconditionally; make loop to rebuild CFG; kill unnecesary
4094 find_basic_block calls; kill compute_bb_for_insn call.
495333a6
JH
4095 * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
4096 * haifa-sched.c (sched_init): Likewise.
4097 * ssa-ccp.c (ssa_const_prop): Likewise.
4098 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
4099
d11cea13
DM
41002002-06-11 David S. Miller <davem@redhat.com>
4101
4102 * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
4103 active_insn_p.
4104
676997cf
RH
41052002-06-11 Richard Henderson <rth@redhat.com>
4106
4107 * c-common.c (builtin_define_type_max): New.
4108 (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
4109 __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
4110
4111 From Joseph S. Myers:
4112 * glimits.h: Rewrite to expect the double underscore definitions
4113 from the compiler.
4114
4115 * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
4116 config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
4117 config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
4118 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
4119 config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
4120 config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
4121 config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
4122 __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
4123
116b7a5e
RH
41242002-06-11 Richard Henderson <rth@redhat.com>
4125
4126 * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
4127 (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
4128 (code_for_builtns): Update.
4129 (alpha_init_builtins): Add __builtin_thread_pointer and
4130 __builtin_set_thread_pointer.
4131 (alpha_expand_builtin): Handle void builtins.
4132 * doc/extend.texi (Alpha Built-in Functions): Update.
4133
0cec6af1
HPN
41342002-06-11 Hans-Peter Nilsson <hp@axis.com>
4135
4136 PR target/6997
4137 * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
4138
1c0ca89d
ZW
41392002-06-11 Zack Weinberg <zack@codesourcery.com>
4140
4141 * config.gcc: Make the name of the extra-modes file adjustable
4142 by target stanzas.
4143 (s390x, strongarm, xscale stanzas): Use this facility.
4144 * configure.in: Update to match.
4145 * configure: Regenerate.
4146
5dc8d536
AH
41472002-06-11 Aldy Hernandez <aldyh@redhat.com>
4148
1c0ca89d
ZW
4149 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
4150 max/mins as unsigned GE compares.
5dc8d536 4151
169274cd
JT
41522002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
4153
1c0ca89d 4154 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
169274cd
JT
4155 * config/vax/bsd.h: New file.
4156 * config/vax/netbsd.h: Add missing notice.
1c0ca89d
ZW
4157 (CPP_PREDEFINES): Remove.
4158 (TARGET_OS_CPP_BUILTINS): Define.
4159 (CPP_SPEC): Use NETBSD_CPP_SPEC.
169274cd
JT
4160 * config/vax/openbsd.h: Update copyright years.
4161 (CPP_PREDEFINES): Remove.
4162 (TARGET_OS_CPP_BUILTINS): Define.
4163 * config/vax/ultrix.h: Likewise.
4164 * config/vax/vaxv.h: Likewise.
4165 * config/vax/vms.h: Likewise.
4166 * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
4167 (CPP_PREDEFINES, CPP_SPEC): Remove.
4168
2f41793e
JH
4169Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz>
4170
4171 * i386.md (addqi_1_slp, subqi_1_slp
4172 (andqi_ext0, testqi_ext0): Remove unnecesary check.
4173 (addhi*, addqi*): Simplify "dec" condition.
4174 (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
4175 (and, or, xor to QImode splitters): New.
4176 (iorqi_ext*): New.
4177 (xorqi_ext_0): New.
4178 (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
4179 (andqi_ext_1_rex64): New.
4180 (ashrqi*_slp): New.
4181 (ashlqi*_slp): New.
4182 (lshlqi*_slp): New.
4183 (rotrqi3*_slp): New.
4184 (rotlqi3*_slp): New.
4185
fc5c400a
GK
41862002-06-11 Geoffrey Keating <geoffk@redhat.com>
4187
4c4eb375
GK
4188 * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
4189 softfloat.h.
4190 * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
4191 (CPP_ENDIAN_LITTLE_SPEC): Delete.
4192 * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
4193 * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
4194 __LONG_DOUBLE_128__ setting, _CALL_* setting.
4195 (CPP_DEFAULT_SPEC): Delete.
4196 (CPP_FLOAT_DEFAULT_SPEC): Delete.
4197 (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
4198 (CPP_SYSV_DEFAULT_SPEC): Delete.
4199 (CPP_ENDIAN_BIG_SPEC): Delete.
4200 (CPP_ENDIAN_LITTLE_SPEC): Delete.
4201 (CPP_ENDIAN_SPEC): Delete.
4202 (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
4203 (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
4204 cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
4205 cpp_longdouble_default.
4206 * config/rs6000/softfloat.h: Delete.
4207 * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
4208 (EXTRA_SPECS): Delete cpp_cpu.
4209 (TARGET_CPU_CPP_BUILTINS): New.
4210 * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
4211 prototype.
4212 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
4213 * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
4214 (CPP_DEFAULT_SPEC): Delete.
4215 * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
4216 * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
4217 * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
4218 (CPP_DEFAULT_SPEC): Delete.
4219 * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
4220 (CPLUSPLUS_CPP_SPEC): Likewise.
4221 (CPP_CPU_SPEC): Delete.
4222 (CPP_DEFAULT_SPEC): Delete.
4223 * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
4224 (CPLUSPLUS_CPP_SPEC): Likewise.
4225 (CPP_CPU_SPEC): Delete.
4226 (CPP_DEFAULT_SPEC): Delete.
4227 * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
4228 (CPP_DEFAULT_SPEC): Delete.
4229 * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
4230 (CPP_DEFAULT_SPEC): Delete.
4231
fc5c400a
GK
4232 * doc/gty.texi: Small updates.
4233
13f0d49c
GDR
42342002-06-12 Gabriel Dos Reis <gdr@codesourcery.com>
4235
4236 * objc/objc-act.c (warn_with_ivar): Adjust calls to
4237 diagnostic_count_error.
4238 (warn_with_method): Likewise.
4239
4240 * diagnostic.h (warnings_are_errors_message): New field of
4241 diagnostic_context.
4242 (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
4243 match semantics.
4244 * diagnostic.c: Adjust calls to diagnostic_count_error through out.
4245 (diagnostic_count_diagnostic): Make aware of other kinds of
1c0ca89d 4246 diagnostics.
13f0d49c
GDR
4247 (diagnostic_initialize): Initialize warnings_are_errors_message field.
4248
0797e472
TT
42492002-06-11 Tom Tromey <tromey@redhat.com>
4250
4251 For PR java/6520:
4252 * fold-const.c (fold_convert): Don't modify existing tree's type.
4253
f288d4aa
GK
42542002-06-11 Geoffrey Keating <geoffk@redhat.com>
4255
4256 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
4257
d27bab4c
RH
42582002-06-11 Richard Henderson <rth@redhat.com>
4259
4260 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
4261
bc2a8f08
RH
42622002-06-11 Richard Henderson <rth@redhat.com>
4263
1c0ca89d 4264 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
bc2a8f08
RH
4265 DWARF2_UNWIND_INFO is false.
4266
b217ec1b
BW
42672002-06-11 Bob Wilson <bob.wilson@acm.org>
4268
4269 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
4270
11819f80
UW
4271 * config/s390/s390.c (emit_prologue): gen_store_multiple
4272 returns an insn now, not a pattern.
4273
c2727579
RO
42742002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4275
4276 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
4277 $(TEXI2DVI) -o.
4278
285464d0
JH
4279Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
4280
4281 * i386.c (x86_promote_QImode): Set for Athlon
4282 (x86_fast_prefix): New global variable.
4283 (x86_arch_always_fancy_math_387): Fix formating.
4284 * i386.h (x86_fast_prefix): Declare
4285 (TARGET_FAST_PREFIX): define.
4286 * i386.md (and to strict_low_part, HI to SI
4287 promoting splitter): Use new macro.
4288
4289 * i386.h (RTX_COSTS): float_extend is not for free for SSE.
4290
1bb1f121
ZW
42912002-06-11 Zack Weinberg <zack@codesourcery.com>
4292
4293 * Makefile.in (distclean): Delete junk left in testsuite
4294 directory, too.
4295
88c65786
JL
42962002-06-11 Jeffrey Law <law@redhat.com>
4297
c6a3fcf0
JL
4298 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
4299 last insn created by the splitter.
4300
0db79a6b
JL
4301 * caller-save.c (init_caller_save): Move creation of SAVEINSN
4302 and RESTINSN into into the scope of the sequence.
4303
47eb2ca8
JL
4304 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
4305 RETURN insns.
4306
603b4b92
JL
4307 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
4308
88c65786
JL
4309 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
4310 not the pattern. So extract the pattern from the insn.
882c7223
JL
4311
4312 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
4313
df14489a
UW
43142002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
4315
4316 * config/s390/s390.md (movsi): Only use floating point
4317 register alternatives when operands are already fprs.
4318 (movdi_31, movdi_64): Likewise.
4319
6f9703af
DM
43202002-06-11 David S. Miller <davem@redhat.com>
4321
4322 * emit-rtl.c (try_split): Do not abort on non-INSN_P.
4323 Only run RTX equality checks on INSN_P rtl.
4324
b2ccb744
UW
43252002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
4326
4327 * config/s390/s390.md (reload_base, ltorg): Remove.
1c0ca89d 4328 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744 4329 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
1c0ca89d 4330 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744
UW
4331 s390_asm_output_pool_prologue): Likewise.
4332 * s390.h (s390_pool_start_insn): Likewise.
4333
1c0ca89d 4334 * s390.c (s390_output_symbolic_const): Remove support for
b2ccb744
UW
4335 old-style pool chunks.
4336 (s390_function_epilogue): Likewise.
1c0ca89d 4337 (s390_output_constant_pool): Likewise. Also, fix incorrect
b2ccb744
UW
4338 alignment for 64-bit literal pools.
4339 (print_operand_address): Remove 'y' and 'Y' format flags.
1c0ca89d 4340 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
b2ccb744
UW
4341 old-style pool chunks.
4342 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
4343 (ASM_OUTPUT_POOL_EPILOGUE): Remove.
4344 (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
4345
4346 * s390.c (consttable_operand): New function.
4347 * s390-protos.h (consttable_operand): Declare it.
4348 * s390.h (PREDICATE_CODES): Add consttable_operand.
1c0ca89d
ZW
4349 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
4350 consttable_sf, consttable_df, pool_start_31, pool_end_31,
b2ccb744
UW
4351 pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
4352 * s390.c (struct constant, struct constant_pool): New data types.
4353 (constant_modes, gen_consttable): New variables.
1c0ca89d 4354 (s390_start_pool, s390_end_pool, s390_add_pool,
b2ccb744 4355 s390_dump_pool, s390_free_pool): New functions.
1c0ca89d 4356 (s390_chunkify_pool): Completely reimplement literal pool
b2ccb744
UW
4357 overflow handling.
4358
4359 * s390.c (s390_pool_overflow): New variable.
4360 * s390.h (s390_pool_overflow): Declare it.
1c0ca89d 4361 * s390.md (cjump, icjump): Use it to adapt length for out-of-range
b2ccb744
UW
4362 jumps in literal pool overflow situations.
4363
4364 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
1c0ca89d 4365 (s390_frame_info): Account for possible use of RETURN_REGNUM
b2ccb744
UW
4366 by new literal pool overflow code.
4367 (s390_emit_prologue): Likewise.
4368
2f937369
DM
43692002-06-05 David S. Miller <davem@redhat.com>
4370
4371 Delete SEQUENCE rtl usage outside of reorg and ssa passes.
4372 * rtl.h (gen_sequence, emit_insns, emit_insns_before,
4373 emit_insns_before_scope, emit_insns_after,
4374 emit_insns_after_scope): Delete declaration.
4375 * ada/misc.c (insert_code_for): Use emit_insn* instead of
4376 emit_insns_foo.
4377 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
4378 (alpha_set_memflags): Fix comment.
4379 (set_frame_related_p): Use get_insns instead of gen_sequence.
4380 * config/alpha/alpha.md (setjmp receiver splitter): Avoid
4381 emitting no insns.
4382 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
4383 gen_sequence.
4384 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
4385 * config/fr30/fr30.c (fr30_move_double): Likewise.
4386 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
4387 Likewise.
4388 * config/ia64/ia64.c (spill_restore_mem): Likewise.
4389 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
4390 no insns.
4391 * config/m32r/m32r.c (gen_split_move_double): Use get_insns
4392 instead of gen_sequence.
4393 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
4394 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
4395 * config/sh/sh.c (sh_need_epilogue): Likewise.
4396 * config/sparc/sparc.md (current_function_calls_alloca, flat): New
4397 attributes.
4398 (setjmp pattern and split): Use them to avoid splitter which emits
4399 no RTL.
4400 * genattrtab.c (main): Emit include of function.h
4401 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
4402 get_insns instead of gen_sequence.
4403 * config/cris/cris.c (cris_split_movdx): Likewise.
4404 * emit-rtl.c (emit_insns*): Kill.
4405 (try_split): Expect insn list instead of SEQUENCE.
4406 (make_jump_insn_raw, make_call_insn_raw): Fix comments.
4407 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
4408 Make them abort if a SEQUENCE is given and RTL checking is
4409 enabled.
4410 (emit_*_scope): Don't forget to set scope on final insn.
4411 (gen_sequence): Move from here...
4412 * ssa.c (gen_sequence): To here as private function.
4413 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
4414 comments.
4415 (expand_builtin_return, expand_builtin_mathfn): Likewise.
4416 (expand_builtin_strlen): Use get_insns instead of gen_sequence.
4417 (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
4418 (expand_builtin_expect_jump): Use get_insns and fix comments.
4419 * calls.c (try_to_integrate): Use emit_insn_foo.
4420 (expand_call, emit_library_call_value_1): Likewise.
4421 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
4422 (emit_move_insn_1): Use get_insns instead of gen_sequence.
4423 (expand_expr): Use emit_insn_foo.
4424 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
4425 * except.c (build_post_landing_pads): Likewise.
4426 * flow.c (attempt_auto_inc): Likewise.
4427 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
4428 expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
4429 * function.c (fixup_var_refs_insn): Use get_insns instead of
4430 gen_sequence.
4431 (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
4432 (fixup_memory_subreg): Use get_insns instead of gen_sequence.
4433 (fixup_stack_1, purge_addressof_1, expand_main_function,
4434 get_arg_pointer_save_area): Likewise.
4435 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
4436 expand_function_end): Use emit_insn_foo.
4437 (record_insns, keep_stack_depressed): Work with insn list instead
4438 of SEQUENCE, fix comments.
4439 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
4440 noce_try_store_flag_constants, noce_try_store_flag_inc,
4441 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
4442 noce_try_minmax, noce_try_abs): Use emit_insn_foo.
4443 (noce_process_if_block): Use get_insns instead of gen_sequence.
4444 * optabs.c (add_equal_note): Work with insn list, fix comments.
4445 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
4446 (expand_unop, expand_complex_abs, expand_unop_insn,
4447 expand_no_conflict_block): Likewise.
4448 (gen_move_insn): Use get_insns instead of gen_sequence.
4449 (gen_cond_trap): Likewise.
4450 * integrate.c (copy_rtx_and_substitute): Likewise.
4451 (emit_initial_value_sets): Use emit_insn_foo.
4452 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
4453 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
4454 now that RTL generators give insn lists.
4455 * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
4456 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
4457 instead of gen_sequence.
4458 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
4459 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
4460 instead of gen_sequence.
4461 * loop.c (move_movables, emit_prefetch_instructions,
4462 gen_add_mult, check_dbra_loop, gen_load_of_final_value):
4463 Likewise.
4464 (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
4465 (product_cheap_p): Likewise, and add commentary about RTL wastage
4466 here.
4467 * lcm.c (optimize_mode_switching): Use get_insns instead of
4468 gen_sequence.
4469 * profile.c (gen_edge_profiler): Likewise.
4470 * regmove.c (copy_src_to_dest): Likewise.
4471 * reg-stack.c (compensate_edge): Likewise and fix comment.
4472 * gcse.c (process_insert_insn): Likewise.
4473 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
4474 * jump.c (delete_prior_computation): Update comment.
4475 * genemit.c (gen_expand, gen_split, main): Use get_insns instead
4476 of gen_sequence, update comments to match.
4477 * recog.c (peephole2_optimize): Work with insn lists instead of
4478 SEQUENCE rtl.
4479 * sched-vis.c (print_pattern): Abort on SEQUENCE.
4480 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
4481 Use get_insns instead of gen_sequence.
4482 (copy_loop_body): Likewise and don't emit dummy NOTE.
4483 * genrecog.c: Don't mention SEQUENCE rtl in comments.
4484 * combine.c (try_combine): Expect insn lists from split generator.
4485 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
4486 hand.
1c0ca89d 4487
43cf10b5
RS
44882002-06-11 Roger Sayle <roger@eyesopen.com>
4489 Andreas Jaeger <aj@suse.de>
4490
4491 * cfgbuild.c: Update copyright years.
4492
1062f15a
AS
44932002-06-11 Andreas Schwab <schwab@suse.de>
4494
1c0ca89d 4495 * config/m68k/m68k.h (PREDICATE_CODES): Define.
1062f15a 4496
ce3649d2
EC
44972002-06-11 Eric Christopher <echristo@redhat.com>
4498
4499 * doc/tm.texi (Run-time Target): Add comment about flag_iso
4500 and strict ANSI.
4501 * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
4502 * config/mips/ecoffl.h: Ditto.
4503 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
4504 (CPP_PREDEFINES): Ditto.
4505 * config/mips/elfl64.h: Ditto.
4506 * config/mips/elfl.h: Ditto.
4507 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
4508 out until irix header consolidation.
4509 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
4510 with SUBTARGET_OS_CPP_BUILTINS.
4511 * config/mips/iris6.h: Ditto.
4512 (CPLUSPLUS_CPP_SPEC): Remove.
4513 * config/mips/linux.h: Ditto.
4514 * config/mips/netbsd.h: Ditto.
4515 * config/mips/openbsd.h: Ditto.
4516 * config/mips/rtems.h: Ditto.
4517 * config/mips/rtems64.h: Ditto.
4518 * config/mips/sni-svr4.h: Ditto.
4519 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
4520 ISA_MIPS32, ISA_MIPS64): New defines.
4521 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
4522 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
4523 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
4524 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
4525 (TARGET_CPU_CPP_BUILTINS): Define.
4526 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
4527 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
4528 (movdicc): Remove check for ISA_MIPS32.
4529 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
4530 sunordered_df, sunordered_sf, sordered_df, sordered_sf,
4531 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
4532 sunge_sf, sunle_df, sunle_sf): New patterns.
4533
bc3437ba
NB
45342002-06-11 Neil Booth <neil@daikokuya.demon.co.uk>
4535
4536 * Makefile.in: Update cppmain.o.
4537 * cpphash.h (struct cpp_reader): Move some members to a
4538 nested structure.
4539 (trad_line): Rename saved_line.
4540 (_cpp_read_logical_line_trad): Update.
4541 (_cpp_remove_overlay): New.
4542 * cppinit.c (cpp_create_reader): No need to set saved_line.
4543 (cpp_destroy): Update.
4544 (cpp_read_main_file): Only overlay if compiling.
4545 * cpplex.c (continue_after_nul): Return false if in directive.
4546 * cpplib.c (EXPAND): New.
4547 (directive_table, SEEN_EOL): Update.
4548 (end_directive): Remove overlay if traditional; don't skip
4549 line in traditional #define.
4550 (prepare_directive_trad): New.
4551 (_cpp_handle_directive, run_directive): Update for traditional
4552 directives.
4553 (lex_macro_node): Simplify, don't use lex_identifier_trad.
4554 * cpplib.h (struct options): Add preprocess_only.
4555 * cppmain.c: Don't include intl.h.
4556 (cpp_preprocess_file): Set options->preprocess_only.
4557 (scan_translation_unit_trad): Fix, and print line numbers.
4558 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
4559 maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
4560 save_replacement_text, _cpp_create_trad_definition): Update for
4561 variable renaming.
4562 (_cpp_overlay_buffer): Save line number.
4563 (_cpp_remove_overlay): Rename from restore_buff, restore line.
4564 (_cpp_read_logical_line_trad): Don't handle overlays here.
4565 (scan_out_logical_line): Process directives.
4566
b25bb36a
DS
45672002-06-11 Danny Smith <dannysmith@users.sourforge.net>
4568
4569 * gthr-win32.h: Wrap functions in extern "C".
4570 (__gthread_key_t): Typedef as unsigned long,
4571 not win32 DWORD.
4572 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
4573 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
4574 (__gthr_win32_once, __gthr_win32_key_create,
4575 __gthr_win32_key_delete, __gthr_win32_getspecific,
4576 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
4577 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
4578 __gthr_win32_mutex_unlock): Declare.
4579 (__gthread_once,__gthread_key_create,
4580 __gthread_key_delete, __gthread_getspecific,
4581 __gthread_setspecific, __gthread_mutex_init_function,
4582 __gthread_mutex_lock,__gthread_mutex_trylock,
4583 __gthread_mutex_unlock): Call corresponding
4584 __gthr_win32_* extern implementations if #defined
4585 __GTHREAD_HIDE_WIN32API.
4586 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
ce3649d2 4587 $(srcdir)/config/i386/gthr-win32.c
b25bb36a
DS
4588 * config/i386/gthr-win32.c: New implementation file.
4589 (__gthr_win32_once, __gthr_win32_key_create,
4590 __gthr_win32_key_delete, __gthr_win32_getspecific,
4591 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
4592 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
4593 __gthr_win32_mutex_unlock): New functions, based on
4594 static inlines in gthr-win32.h.
4595
a69c385e
BW
45962002-06-10 Bob Wilson <bob.wilson@acm.org>
4597
4598 * config/xtensa/xtensa.c (override_options): Don't warn about
4599 using -fpic or -fPIC when PIC is enabled by default.
4600
e654730d
RS
46012002-06-10 Roger Sayle <roger@eyesopen.com>
4602
4603 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
4604
a5381466
ZW
46052002-06-10 Zack Weinberg <zack@codesourcery.com>
4606
4607 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
ce3649d2 4608 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
a5381466
ZW
4609 exists, substitute its pathname as @extra_modes_file@, define
4610 EXTRA_MODES_FILE to be an appropriate string to #include it
4611 with, and define EXTRA_CC_MODES to 1.
4612
4613 * machmode.def: Update comments. Include EXTRA_MODES_FILE if
4614 it's defined. Get rid of redundancy in calling sequence for
4615 CC; don't use it to define CCmode, to avoid a warning.
4616 * libgcc2.c: Include symcat.h for the sake of machmode.def.
4617
4618 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
4619 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
4620 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
4621 New files.
4622 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
4623 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
4624
4625 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
4626 defining extra CC modes.
4627
852c6ec7
RS
46282002-06-10 Roger Sayle <roger@eyesopen.com>
4629 Andreas Jaeger <aj@suse.de>
4630
4631 * cfgrtl.c (create_basic_block_structure): Remove index argument
4632 and use last_basic_block++ instead. (create_basic_block): Update.
4633 * cfgbuild.c (find_basic_blocks_1): Likewise.
4634
4635 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
4636 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
4637 * sched-ebb.c (schedule_ebbs): Likewise.
4638 * sched-rgn.c (schedule_insns): Likewise.
4639 * ssa-ccp.c (ssa_const_prop): Likewise.
4640 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
4641 * toplev.c (rest_of_compilation): Likewise.
4642 * config/ia64/ia64.c (ia64_reorg): Likewise.
4643
60c86d4e
RS
46442002-06-10 Roger Sayle <roger@eyesopen.com>
4645
4646 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
4647 of matching registers.
4648
9543a9d2
RS
46492002-06-10 Roger Sayle <roger@eyesopen.com>
4650
4651 * toplev.c (rest_of_compilation): Disable early if-conversion pass.
4652 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
4653
38e18619
HPN
46542002-06-10 Hans-Peter Nilsson <hp@bitrange.com>
4655
4656 * config/mmix/mmix.h: Improve comments.
4657 (CPP_SPEC, CPP_PREDEFINES): Don't define.
4658 (TARGET_CPU_CPP_BUILTINS): Define.
4659 (CANONICALIZE_COMPARISON): Don't define, replace with comment.
4660 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
4661 unused predicate.
4662 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
4663 compiler warning.
4664 (mmix_constant_address_p): Remove another
4665 redundant test before case.
4666 (mmix_canonicalize_comparison): Remove unused function.
4667 (mmix_print_operand_address): Don't test and adjust for operand in
4668 non-canonical format.
4669 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
4670 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
4671
ac17cd8f
ZW
46722002-06-10 Zack Weinberg <zack@codesourcery.com>
4673
4674 * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
4675 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
4676 * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
4677 (gen_compare): Use CCmode unconditionally.
4678
7b668f9e
JJ
46792002-06-10 Jakub Jelinek <jakub@redhat.com>
4680
4681 PR optimization/6759
4682 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
4683 the REQ_EQUAL note.
4684
85d49058
JJ
46852002-06-10 Jakub Jelinek <jakub@redhat.com>
4686
4687 PR c/6660
4688 * c-decl.c (grokfield): Allow user defined types if they declare
4689 structs or unions for unnamed fields.
4690
50f30e6b
JJ
46912002-06-10 Jakub Jelinek <jakub@redhat.com>
4692
4693 PR c/6809
4694 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
4695
156755ac
JJ
46962002-06-10 Jakub Jelinek <jakub@redhat.com>
4697
4698 PR optimization/6842
4699 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
4700 operand subreg cannot be simplified.
4701
5d056e9b
JJ
47022002-06-10 Jakub Jelinek <jakub@redhat.com>
4703
4704 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
4705 (compare_constant): Likewise.
4706 (output_addressed_constants): Likewise.
4707
2bf87216
JJ
47082002-06-10 Jakub Jelinek <jakub@redhat.com>
4709
4710 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
4711 merge bb with itself.
4712
135fd2d8
RH
47132002-06-10 Richard Henderson <rth@redhat.com>
4714
4715 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
4716 (builtin_zapnot): Likewise.
4717
4718 * config/alpha/ev5.md: Don't combine shift and mvi insns in one
4719 reservation.
4720
fce5a9f2
EC
47212002-06-10 Eric Christopher <echristo@redhat.com>
4722
4723 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
4724 prototype and function.
4725 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
4726 (call_insn_operand): Remove half pic references.
4727 (legitimate_address_p): Ditto.
4728 * config/i386/i386.h: Remove half pic defines.
4729
95b1627e
EC
47302002-06-10 Eric Christopher <echristo@redhat.com>
4731
4732 * doc/extend.texi (Return Address): Add note explaining the side-
4733 effects of inlining on __builtin_return_address.
4734
aea185b3
TT
47352002-06-10 Tom Tromey <tromey@redhat.com>
4736
4737 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
4738 (c-common.o): Depend on langhooks.h.
4739
afb03408
NB
47402002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
4741
4742 * cpphash.h (_cpp_read_logical_line_trad,
4743 _cpp_expansions_different_trad): Update prototypes.
4744 * cpplex.c (continue_after_nul): New.
4745 * cppmain.c: Include cpphash.h.
4746 (scan_translation_unit_trad): New.
4747 (cpp_preprocess_file): Call it.
4748 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
4749 overlay.
4750 (_cpp_expansions_different_trad): Update prototype.
4751
2754d3c5
R
4752Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
4753
4754 Fix cfi generation for SH[1-4]:
4755
4756 * sh.c (frame_insn): New function.
4757 (output_stack_adjust): Add parameter emit_fn. All callers changed.
4758 (push): Now returns rtx. Use frame_insn.
4759 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
4760 of a DF register.
4761 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
4762
ad854f24
ZW
47632002-06-10 Zack Weinberg <zack@codesourcery.com>
4764
4765 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
4766 and gtype-desc.c.
4767 (mostlyclean): Delete specs.h, options.h, gencheck.h here...
4768 (distclean): ... not here. But do delete all testsuite/*.log,
4769 testsuite/*.sum files here. Delete mkheaders. Delete
4770 po/*.gmo and the testsuite directory in a split tree build.
4771
bf1660a6
JL
47722002-06-10 Jeffrey Law <law@redhat.com>
4773
4774 * alias.c (static_reg_base_value): New to hold RTL for
4775 items allocated once per function for the aliasing code.
4776 (init_alias_once_per_function): Initialize static_reg_base_value.
4777 (init_alias_analysis): Avoid throw-away allocations of RTL by
4778 using pre-computed values in static_reg_base_value.
4779 * function.c (prepare_function_start): Call
4780 init_alias_once_per_function appropriately.
4781 * rtl.h (init_alias_once_per_function): Declare.
4782 * caller-save (init_caller_save): Restructure slightly to
4783 avoid lots of silly RTL generation.
4784 * expr.c (init_expr_once): Likewise.
4785 * reload1.c (reload_cse_regs_1): Allocate throw-away register
4786 RTL object here. Pass it into children.
4787 (reload_cse_simplify_operands): Use passed-in register RTL
4788 object.
4789 (reload_cse_simplify): Pass through throw-away register
4790 RTL object.
4791
8dc58484 47922002-06-10 Daniel Berlin <dberlin@dberlin.org>
ad854f24 4793
8dc58484
DB
4794 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
4795
ea16b5ee
RS
47962002-06-10 Richard Sandiford <rsandifo@redhat.com>
4797
4798 * gcc.c (process_command): Avoid assignment to read-only location.
4799 Fix sizeof calculation.
4800
6618c5d4
NB
48012002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
4802
4803 * cpphash.h (struct cpp_macro): Put comments on their own lines.
4804 (_cpp_expansions_different_trad): New.
4805 * cppmacro.c (warn_of_redefinition): Fix for traditional case.
4806 * cpptrad.c (canonicalize_text): New.
4807 (scan_out_logical_line): Handle no arguments correctly.
4808 (save_replacement_text): Commit memory when finished.
4809 (_cpp_expansions_different_trad): New.
4810
96e3ac4f
TJ
48112002-06-10 Tim Josling <tej@melbpc.org.au>
4812
4813 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
4814 TREELANG and COBOL.
4815 (lang_names): Add treelang and cobol.
4816 (get_file_basename): Add code to support treelang and cobol as
4817 4th and 5th users of c-common.c.
4818
37a4aa31
GK
48192002-06-09 Geoffrey Keating <geoffk@redhat.com>
4820
4821 * Makefile.in (install-driver): Install driver as
4822 $(target_alias)-gcc-$(version).
4823 * gcc.c (spec_version): Make const.
4824 (process_command): Handle -V and -b by using exec.
4825 * doc/invoke.texi (Target Options): Restore -V option,
4826 update docs for -b option.
4827
02ef40d9
TJ
48282002-06-10 Tim Josling <tej@melbpc.org.au>
4829
ad854f24
ZW
4830 * configure.in (remaining_languages_check):
4831 Added check that all languages specified were found.
02ef40d9
TJ
4832 Exit if not found. Previous behaviour was silent failure.
4833 * configure: Regenerated.
4834
b38b97c4 48352002-06-10 Tim Josling <tej@melbpc.org.au>
ad854f24 4836
1c0ca89d 4837 First steps to making treelang documentation compliant, based on
b38b97c4
TJ
4838 instructions in sourcebuild.texi. Also add to gcc.c list of
4839 default languages.
ad854f24 4840
b38b97c4
TJ
4841 * doc/contrib.texi: Add self as contributor of treelang.
4842
4843 * doc/frontends.texi: Add mention of treelang.
4844
4845 * doc/invoke.texi (Overall Options): Add mention of treelang.
4846
4847 * doc/standards.texi: Add mention of treelang.
4848
ae9dbf1f
HPN
48492002-06-09 Hans-Peter Nilsson <hp@axis.com>
4850
4851 * config/cris/cris.c: Include ggc.h
4852
1ce676a0
NB
48532002-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
4854
4855 * cpphash.h (_cpp_push_text_context): Update.
4856 (_cpp_arguments_ok): New.
4857 * cppmacro.c (_cpp_arguments_ok): New, split out from...
4858 (collect_args): ...here.
4859 (_cpp_push_text_context): Change inputs.
4860 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
4861 replace_args_and_push): New.
4862 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
4863 Don't use IS macros directly.
4864 (scan_out_logical_line): Handle function-like macro argument
4865 collection.
4866 (push_replacement_text): Update.
4867 (replacement_length): Remove.
4868 (_cpp_create_trad_definition): Don't skip whitespace before
4869 checking for '('.
4870
25f2e176
MM
48712002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
4872
4873 * config/avr/avr.c (avr_mcu_types): Update for new devices.
4874 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
4875 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
4876 * config/avr/avr.md ("type" and "length" attributes): New type
4877 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that
4878 output a single "call" or "rcall" insn depending on device size.
4879 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
4880
309323c2
DE
48812002-06-09 David Edelsohn <edelsohn@gnu.org>
4882
4883 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
4884 synonym for 630. Add power4. Remove embedded processors. Use -m604
4885 assembler option.
4886 (CPP_CPU_SPEC): Add power3 and power4.
4887 (PROCESSOR_DEFAULT): Change to 604e.
4888 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
4889 (CPP_CPU_SPEC): Similar additions.
4890 (enum process_type): Add POWER4.
4891 (RTX_COSTS): Add POWER4.
4892 (CPP_CPU_SPEC): Similar additions.
4893 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
6ef0903d 4894 (PROCESSOR_DEFAULT64): Define.
309323c2
DE
4895 * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
4896 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
4897 branch adjustment.
4898 (rs6000_issue_rate): Add Power4.
4899 * config/rs6000/rs6000.md (cpu attr): Add power4.
4900 (iu compare): Remove 604, 604e, 620, 630.
4901 Add basic Power4 scheduling information.
4902 (mfcr/mtcrf): Change type attribute to cr_logical.
4903
1f8e4682
KG
49042002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4905
57d80297
KG
4906 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
4907 ATTRIBUTE_PRINTF_2.
4908 * gengtype-lex.l: Fix format specifier warning.
4909
1f8e4682
KG
4910 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,
4911 not isspace.
4912 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
4913 lieu of isspace/IDchar.
4914 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
4915 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
4916 ISSPACE.
4917
5a9ee623
ZW
49182002-06-08 Zack Weinberg <zack@codesourcery.com>
4919
4920 * Makefile.in (LIBCPP_OBJS): Take out version.o.
4921 * cpphash.h (cpp_reader): Take out print_version member.
4922 * cppinit.c: (cpp_handle_option): Don't do anything with
4923 -version. Just set help_only for --version, --target-help.
4924 Just set verbose option for -v.
4925 (cpp_post_options): Don't print a version string.
4926
c16e5a35
MM
49272002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
4928
4929 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
4930 (avr_section_type_flags): New, handle .noinit* sections.
4931
79bc889e
JT
49322002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4933
4934 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
4935 and include netbsd_entry_point.
4936 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
4937 (NETBSD_ENTRY_POINT): Define.
4938
6a79bb0a
JT
49392002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4940
4941 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
5a9ee623 4942 if not already defined.
6a79bb0a
JT
4943 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
4944
e52b6b63
MM
49452002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
4946
4947 * config/avr/avr.c (avr_regs_to_save): No need to save any registers
4948 in a noreturn function.
4949 (avr_output_function_prologue, avr_output_function_epilogue):
4950 Correct function size calculation. Do not crash on empty function.
4951 (avr_output_function_epilogue): No need for epilogue after a BARRIER.
4952
1569d670
JT
49532002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4954
4955 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
4956 netbsd_link_spec and netbsd_entry_point.
4957 (LINK_SPEC): Use %(netbsd_link_spec).
4958 (NETBSD_ENTRY_POINT): Define.
4959
cfb06024
JT
49602002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4961
4962 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
4963 linker emulation.
4964 (LINK_ARCH64_SPEC): Likewise.
4965 (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
4966 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
4967
5a9ee623
ZW
49682002-06-08 Marc Espie <espie@openbsd.org>
4969
4970 * lists.c (free_list): Fix typo in comment.
e3623158 4971
272cdf58
AJ
49722002-06-08 Andreas Jaeger <aj@suse.de>
4973
4974 * lcm.c (optimize_mode_switching): Add unused attribute for
4975 variable.
4976
4977 * sched-deps.c (sched_analyze): Remove unused variable.
4978
bf3f2a12
GDR
49792002-06-08 Gabriel Dos Reis <gdr@codesourcery.com>
4980
4981 * diagnostic.def: Don't capitalize diagnostict descriptors.
4982
523a5f2f
JT
49832002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4984
4985 * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
4986 (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
4987 (NETBSD_ENTRY_POINT): Define.
4988
a3e944f9
JT
49892002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
4990
4991 * config/i386/netbsd-elf.h (LINK_SPEC): Define as
4992 NETBSD_LINK_SPEC_ELF.
4993 (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
4994 (NETBSD_ENTRY_POINT): Define.
4995 * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
4996 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
4997 netbsd_entry_point.
4998 (NETBSD_ENTRY_POINT): Define.
4999
854928a0
JT
50002002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
5001
5002 * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
5003 netbsd_link_spec and netbsd_entry_point.
5004 (LINK_SPEC): Use %(netbsd_link_spec).
5005 (NETBSD_ENTRY_POINT): Define.
5006
6bb5d2e7
JT
50072002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
5008
5009 * config/netbsd-elf.h (LINK_SPEC): Rename to...
5010 (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point)
5011 to specify program entry point.
5012
e50126e8
JL
50132002-06-07 Jeff Law <law@redhat.com
5014
5015 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
272cdf58 5016 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
e50126e8
JL
5017 than creating a new register.
5018 (distribute_notes): Likewise.
5019 * df.c (df_reg_use_gen): Likewise.
5020 (df_reg_clobber_gen): Likewise.
5021 (df_ref_record): Likewise.
5022 * expr.c (use_regs): Likewise.
5023 * flow.c (propagate_one_insn): Likewise.
5024 (mark_set_1): Likewise.
5025 (mark_used_reg): Likewise.
5026 * reload.c (emit_reload_insns): Likewise.
5027
bc9c18c3
RS
50282002-06-07 Roger Sayle <roger@eyesopen.com>
5029
5030 * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
5031 (ne (comp x y) 0) into (comp x y) where comp is a comparison code.
5032 Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
5033 comparison code comp can be reversed.
5034
437f1df1
RS
50352002-06-07 Roger Sayle <roger@eyesopen.com>
5036
5037 * fold-const.c (fold) [EQ_EXPR]: Place both integer and real
5038 constants last in comparisons. Optimize (x+1.0)>0.0 into the
5039 equivalent x > -1.0 when -ffast-math.
5040
cd24b8a4
JT
50412002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
5042
5043 * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
5044 * config/mips/t-netbsd: New file.
5045
09e77dee
ZW
50462002-06-07 Zack Weinberg <zack@codesourcery.com>
5047
5048 * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
5049 options their own entries.
5050 (parse_option): Clarify comment.
5051 (cpp_handle_option): Remove 'ignore' parameter and OPT_W
5052 special case. Replace if/strcmp chain for -W options with
5053 use of new OPT_* entries for them.
5054 (cpp_handle_options): Update to match.
5055 * cpplib.h: Remove last parameter to cpp_handle_option from prototype.
5056 * c-decl.c: Update call to cpp_handle_option.
5057
942030dc
AD
50582002-06-07 Akim Demaille <akim@epita.fr>
5059
5060 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
5061 Whitespace changes.
5062
f2846820
JL
50632002-06-07 Jeffrey Law <law@redhat.com>
5064
5065 * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
5066 on empty lists.
5067
4bafaa6f
L
50682002-06-07 H.J. Lu (hjl@gnu.org)
5069
5070 * configure.in: Add --enable-__cxa_atexit.
5071 * configure: Regenerated.
5072 * config.in: Likewise.
5073
5074 * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
5075 not defined.
5076
caef5b46
GDR
50772002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net>
5078
5079 * diagnostic.c (diagnostic_build_prefix): Fix initialization.
5080
ac64a17c
JT
50812002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
5082
5083 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
5084
97459791
JM
50852002-06-07 Jason Merrill <jason@redhat.com>
5086
5087 * cppexp.c (num_equality_op): Use a temporary variable to work
5088 around gcc 3.0.4 bug.
5089
4b1d52c7
GDR
50902002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
5091
5092 * diagnostic.c (diagnostic_build_prefix): Tidy.
5093
c70f6ed3
NB
50942002-06-07 Neil Booth <neil@daikokuya.demon.co.uk>
5095
5096 * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
5097 scan_parameters, save_replacement_text, replacement_length): New.
5098 (scan_out_logical_line): Take a macro and save parameters if
5099 non-NULL.
5100 (_cpp_logical_line_trad): Update.
5101 (_cpp_create_trad_definition): Update to handle function-like
5102 macros.
5103 * cpplex.c (new_buff): Update.
5104 (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
5105 * cpphash.h: ...here.
5106 (CPP_ALIGN2, _cpp_save_parameter): New.
5107 * cppmacro.c (save_parameter): Rename, export.
5108 (parse_params): Update.
5109
aec2ac46
AJ
51102002-06-07 Andreas Jaeger <aj@suse.de>
5111
5112 * config/mmix/mmix.c: Remove extra broken prototype for
5113 mmix_init_machine_status.
5114
9f313342
GK
51152002-06-06 Geoffrey Keating <geoffk@redhat.com>
5116
5117 * gengtype.c: Add comments before all the routines.
5118
3fa1b448
JT
51192002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
5120
5121 * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
5122 from and add t-sh64 to ${tmake_file}.
5123 (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
5124 * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
5125 * config/sh/t-netbsd-sh5-32: Remove.
5126 * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
5127 MULTILIB_ENDIAN.
5128 (MULTILIB_DIRNAMES): Define.
5129
0d682900
JH
5130Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz>
5131
5132 * i386.md (and promoting splitters): Disable QI to SImode promoting
5133 when doing so changes immediate to be 32bit.
5134
5135 * rtl.h (emit_*_scope): Declare.
5136 * emit-rtl.c (emit_*_scope): New global functions.
5137 (try_split): Copy scope.
5138 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
5139 noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
5140 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
5141 noce_process_if_block, find_cond_trap): Copy scopes.
5142 * recog.c (peephole2_optimize): likewise.
5143
c991649c
JL
51442002-06-06 Jeffrey Law <law@redhat.com>
5145
5146 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
5147
8a5d66c4
R
5148Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
5149
5150 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
5151
d7f8491b
RO
51522002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5153
5154 * Makefile.in (TEXI_GCCINSTALL_FILES): Define.
5155 ($(docdir)/gccinstall.info): New target.
5156 (info): Depend on it.
5157 (gccinstall.dvi): New target.
5158 (dvi): Depend on it.
5159 * doc/.cvsignore: Ignore new info files.
5160 * doc/install.texi (@setfilename): Reflect new info filename.
5161
eaeb7de8
R
5162Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com>
5163
5164 * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
5165 on an UNSPEC.
5166
0c7aeb88
NP
5167Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it>
5168
5169 PR objc/6834
5170 * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
5171 c_common_get_alias_set.
aec2ac46 5172 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
0c7aeb88 5173
2a496e8b
JDA
51742002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
5175
5176 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
5177 functions.
5178 * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
5179 * avr/avr.c (avr_output_function_epilogue): Use above to determine
5180 function size.
5181 * pa/pa.c (pa_output_function_prologue): Likewise.
5182
2ff581c3
DM
51832002-06-05 David S. Miller <davem@redhat.com>
5184
5185 * integrate.c (subst_constants): Handle 'B' RTL format.
5186
b2e2d0cc
EC
51872002-06-05 Eric Christopher <echristo@redhat.com>
5188
5189 * varasm.c (make_decl_rtl): Fix comment for removed
5190 halfpic.c.
5191
0f81faf6
EC
51922002-06-05 Eric Christopher <echristo@redhat.com>
5193
5194 * Makefile.in: Remove missed halfpic bits.
5195
33005162
EC
51962002-06-05 Eric Christopher <echristo@redhat.com>
5197
5198 * toplev.c: Remove half-pic.
5199 * config/mips/mips.c: Ditto.
5200 * config/mips/mips.h: Ditto. Remove unused defines.
5201 * config/mips/openbsd.h: Update comment to reflect above.
5202 * config/mips/mips.md: Remove half-pic constraints.
5203 * halfpic.h: Delete.
5204 * halfpic.c: Ditto.
5205
80081028
JL
52062002-06-05 Jeffrey Law <law@redhat.com>
5207
5a9ee623
ZW
5208 * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
5209 rejects (mem (lo_sum (reg) (unspec))), but will allow
5210 (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
80081028 5211
cbc69f84
NB
52122002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
5213
5214 * cpphash.h (_cpp_create_definition): Update prototype.
5215 (_cpp_push_text_context, _cpp_create_trad_definition): New.
5216 ( cpp_lex_identifier_trad): New.
5217 (_cpp_set_trad_context): New.
5218 * cppinit.c (cpp_finish_options): Don't conditionalize builtins.
5219 * cpplib.c (SEEN_EOL): Update.
5220 (lex_macro_node): Update for -traditional.
5221 (cpp_push_buffer, _cpp_pop_buffer): Similarly.
5222 * cppmacro.c (_cpp_create_definition): Split into
5223 create_iso_definition() and _cpp_create_trad_definition().
5224 (warn_of_redefinition): Update prototype; handle traditional
5225 macros.
5226 (_cpp_push_text_context): New.
5227 * cpptrad.c (skip_whitespace, push_replacement_text): New.
5228 (lex_identifier): Call ht_lookup with correct start.
5229 (_cpp_lex_identifier_tradm _cpp_create_trad_definition,
5230 _cpp_set_trad_context): New.
5231 (scan_out_logical_line): Update to handle changing contexts.
5232
dbf87f32
R
5233Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
5234
5235 * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
5236 (shl*-*-elf*): Add.
5237 * config/sh/t-be (MULTILIB_ENDIAN): Set.
5238 * config/sh/t-le (MULTILIB_ENDIAN): Likewise.
5239 * t-sh (MULTILIB_ENDIAN): Set.
5240 (MULTILIB_OPTIONS): Use it.
5241 * t-sh64 (MULTILIB_OPTIONS): Likewise.
5242 (MULTILIB_DIRNAMES): Likewise.
5243
47b69537
GDR
52442002-06-05 Gabriel Dos Reis <gdr@codesourcery.com>
5245
5246 * toplev.h (report_error_function): Remove.
5247
5248 * diagnostic.h (location_t): New datatype.
5249 (text_info): Likewise.
5250 (diagnostic_info): Likewise.
5251 (output_prefix): New macro.
5252 (diagnostic_last_function_changed): Likewise.
5253 (diagnostic_set_last_function): Likewise.
5254 (diagnostic_last_module_changed): Likewise.
5255 (diagnostic_set_last_module): Likewise.
5256 (report_diagnostic): Now macro.
5257 (diagnostic_set_info): Declare.
5258
5259 * diagnostic.c (report_problematic_module): Rename to
33005162 5260 diagnostic_repor_current_module.
47b69537
GDR
5261 (set_diagnostic_context): Remove.
5262 (count_error): Rename to diagnostic_error_count.
5263 (error_function_changed): Remove.
5264 (record_last_error_function): Likewise.
5265 (error_module_changed): Likewise.
5266 (record_last_error_module): Likewise.
5267 (context_as_prefix): Rename to diagnostic_build_prefix.
5268 (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
5269 (diagnostic_set_info): New function.
5270
5271 * objc/objc-act.c: #include diagnostic.h
5272 (error_with_ivar): Adjust call to count_error.
5273 (warn_with_method): Likewise.
5274 * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
5275
540eaea8
BW
52762002-06-05 Bob Wilson <bob.wilson@acm.org>
5277
5278 * config/xtensa/xtensa.c (xtensa_build_va_list): Use
5279 lang_hooks.types.make_type instead of make_node; set up
5280 __va_list_tag type decl.
5281 (xtensa_builtin_saveregs): Remove broken use of
5282 RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
5283 for saved registers; add varargs alias set.
5284
f23a084d
NB
52852002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
5286
5287config:
5288 * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
5289 * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
5290 CPP_PREDEFINES and part of CPP_SPEC.
5291 i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
5292 i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
5293
3fe3a596
JH
5294Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
5295
5296 * reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
5297
1fd9ba59
AM
52982002-06-05 Alan Modra <amodra@bigpond.net.au>
5299
5300 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
5301
cea554e0
ZW
53022002-06-04 Zack Weinberg <zack@codesourcery.com>
5303
5304 * gengtype-yacc.y: Make sure all rules end with a semicolon.
5305
07232638
BW
53062002-06-04 Bob Wilson <bob.wilson@acm.org>
5307
5308 * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
5309 typo in function prototype and include "ggc.h" header.
5310
c4b50f1a
RH
53112002-06-04 Richard Henderson <rth@redhat.com>
5312
5313 * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
5314 (print_operand) ['U']: Likewise.
5315 (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
5316 (alpha_expand_unaligned_store_words): Likewise.
5317 (alpha_expand_builtin_vector_binop): Fix typo.
5318 (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
5319 umulh, and cix insns.
5320 (one_arg_builtins): Add cix builtins.
5321 (two_arg_builtins): Add ext, ins, msk, umulh builtins.
5322 (alpha_expand_builtin): Fix typo in arity.
5323 * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
5324 (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
5325 builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
5326 builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
5327 builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
5328 builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
5329 builtin_ctlz, builtin_ctpop): New.
5330 * doc/extend.texi (Alpha Built-in Functions): Update.
5331
aaab35ae
GK
53322002-06-04 Geoffrey Keating <geoffk@redhat.com>
5333
afb0f770
GK
5334 * gengtype.c (write_gc_root): Don't unnecessarily prevent
5335 global variable-length arrays being roots.
5336
aaab35ae
GK
5337 * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
5338 * configure.in (config_gtfiles): New variable.
5339 (all_gtfiles): Initialise from config_gtfiles.
5340 * configure: Regenerate.
5341
1ba7b414
NB
53422002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
5343
5344config/i386:
5345 * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
5346 i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
5347 mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
5348 sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
5349 win32.h (CPP_SPEC): Remove cpp_cpu.
5350 * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
5351 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
5352
135ca7b2
JJ
53532002-06-04 Janis Johnson <janis187@us.ibm.com>
5354
5355 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
5356
85d69216 53572002-06-04 Jeff Law <law@redhat.com.
5a9ee623
ZW
5358 David Edelsohn <edelsohn@gnu.org>
5359 Michael Matz <matz@kde.org>
85d69216
JL
5360
5361 * sched-int.h (struct deps): New field libcall_block_tail_insn.
5362 * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
5363 * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
5364 is set, then mark the current insn as being part of a libcall
5365 scheduling group.
5366 (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
5367
5368 * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
5369 insns against the issue rate.
5370
63f4a88e
JH
5371Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
5372
5373 * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
5374 * final.c (final_scan_insn): Likewise.
5375 * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
5376 NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
5377 * haifa-sched.c (unlink_other_notes): Likeewise.
5378 (reemit_notes): Likewise.
5379 * print-rtl.c (print_rtx): Likewise.
5380 * sched-deps (sched-analyze): Likewise.
5381 * rtl.c (note_insn_name): Likewise.
5382 * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
5383 (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
5384 (RANGE_*): Kill.
5385
a5d1f75b
JT
53862002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
5387
5388 * varasm.c (mark_constants): Handle RTX format 'B'.
5389
82eda77e
NB
53902002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
5391
5392 * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
5393 (struct cpp_context): Add traditional fields.
5394 * cppmacro.c (paste_all_tokens, push_ptoken_context,
5395 push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
5396 * cpptrad.c (skip_comment, lex_identifier,
5397 _cpp_read_logical_line_trad, scan_out_logical_line): Update.
5398
589005ff
KH
53992002-06-04 Kazu Hirata <kazu@cs.umass.edu>
5400
5401 * gbl-ctors.h: Fix formatting.
5402 * gcc.c: Likewise.
5403 * gccspec.c: Likewise.
5404 * gcov.c: Likewise.
5405 * gcov-io.h: Likewise.
5406 * gcse.c: Likewise.
5407 * ggc-common.c: Likewise.
5408 * ggc.h: Likewise.
5409 * ggc-page.c: Likewise.
5410 * ggc-simple.c: Likewise.
5411 * global.c: Likewise.
5412 * graph.h: Likewise.
5413 * gthr-dce.h: Likewise.
5414 * gthr.h: Likewise.
5415 * gthr-posix.h: Likewise.
5416 * gthr-rtems.h: Likewise.
5417 * gthr-solaris.h: Likewise.
5418 * gthr-win32.h: Likewise.
5419
e2500fed
GK
54202002-06-03 Geoffrey Keating <geoffk@redhat.com>
5421
5422 Merge from pch-branch:
33005162 5423
e2500fed
GK
5424 * gengtype.h (UNION_OR_STRUCT_P): New macro.
5425 * gengtype.c (write_gc_structure_fields): Use it.
5426 (write_gc_root): Use it here too.
5427
5428 * gengtype.c (write_gc_structure_fields): Assume that lengths
5429 of typenames fit into an 'int'; don't pass a size_t to "%d" in
5430 printf.
5431 (write_gc_marker_routine_for_structure): Likewise.
5432 (write_gc_types): Likewise.
5433 (write_gc_root): Likewise.
5434
5435 * varray.h (VARRAY_CLEAR): New.
5436 (varray_clear): Prototype.
5437 * varray.c (varray_clear): New.
5438 * cselib.c (reg_values_old): New.
5439 (used_regs_old): New.
5440 (cselib_init): Use cached varrays if available to avoid
5441 generating large amounts of garbage.
5442 (cselib_finish): Don't throw away old varrays.
5443
5444 * final.c (insn_addresses_): Move out of ifdef.
5445
5446 * varray.c (uses_ggc): Make more varray kinds GCable.
5447 * varray.h (union varray_data_tag): Let gengtype see
5448 fields 'generic' and 'te'.
5449 * reg-stack.c: Include gt-reg-stack.h, ggc.h.
5450 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
5451 (reg_to_stack): Don't call VARRAY_FREE.
5452 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
5453 (insn_addresses_): Use gengtype to mark.
5454 * gengtype.c (write_gc_structure_fields): Handle arrays of generic
5455 pointers; handle generic pointers in unused union fields.
5456 (get_output_file_with_visibility): Include cselib.h,
5457 insn-addr.h in gtype-desc.c.
5458 * function.c (prologue): Use gengtype to mark.
5459 (epilogue): Likewise.
5460 (sibcall_epilogue): Likewise.
5461 * dependence.c: Include gt-dependence.h, ggc.h.
5462 (struct def_use): Use gengtype to mark.
5463 (struct loop): Likewise.
5464 (struct induction): Likewise.
5465 (struct dependence): Likewise.
5466 (def_use_chain): Likewise.
5467 (dep_chain): Likewise.
5468 (loop_chain): Likewise.
5469 (induction_chain): Likewise.
5470 (init_dependence_analysis): Don't free anything, just clear pointers.
5471 (build_def_use): Use GGC to allocate def_use.
5472 (add_loop): Use GGC to allocate loop.
5473 (find_induction_variable): Use GGC to allocate induction.
5474 (check_node_dependence): Use GGC to allocate induction, dependence.
5475 (dump_node_dependence): Don't free varrays.
5476 (end_dependence_analysis): Likewise.
5477 * cselib.h (struct cselib_val_struct): Use gengtype to mark.
5478 (struct elt_loc_list): Likewise.
5479 (struct elt_list): Likewise.
5480 * cselib.c: Don't include obstack.h.
5481 (hash_table): Use gengtype to mark.
5482 (reg_values): Use gengtype to mark.
5483 (used_regs): Use gengtype to mark.
5484 (cselib_obstack): Delete.
5485 (cselib_startobj): Delete.
5486 (empty_vals): Mark as deletable.
5487 (empty_elt_lists): Mark as deletable.
5488 (empty_elt_loc_lists): Mark as deletable.
5489 (new_elt_list): Use GGC to allocate struct elt_list.
5490 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
5491 (clear_table): Don't delete obstack; don't unnecessarily clear
5492 deletable variables.
5493 (new_cselib_val): Use GGC to allocate struct cselib_val.
5494 (cselib_init): Don't set up obstacks. Use GGC to allocate
5495 hash table.
5496 (cselib_finish): Just clear variables, don't free anything.
5497 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
5498 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
5499 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
5500 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
5501 (gt-reg-stack.h): New rule.
5502 (gt-dependence.h): New rule.
5503 (gtype-desc.o): Add cselib.h, insn-addr.h.
5504
5505 * varray.c: Use only necessary headers.
5506 (element_size): New.
5507 (uses_ggc): New.
5508 (varray_init): Take type, not size. Use GGC if appropriate.
5509 (varray_grow): Update for change to struct varray_head_tag.
5510 Use GGC if appropriate.
5511 * varray.h (struct const_equiv_data): Use gengtype.
5512 (enum varray_data_enum): New.
5513 (union varray_data_tag): Use gengtype.
5514 (struct varray_head_tag): Use gengtype. Replace size field with
5515 enum varray_data_enum.
5516 (varray_init): Update prototype.
5517 (VARRAY_SCHED_INIT): Delete.
5518 (VARRAY_*_INIT): Update for change to varray_init.
5519 (VARRAY_SCHED): Delete.
5520 (VARRAY_PUSH_SCHED): Delete.
5521 (VARRAY_TOP_SCHED): Delete.
5522 * tree.h: Update for change to length specifier.
5523 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
5524 (clone_body): Likewise.
5525 * ssa.h (ssa_definition): Use gengtype to mark.
5526 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
5527 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
5528 * rtl.h (struct rtvec_def): Update for change to length specifier.
5529 * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
5530 (struct initial_value_struct): Update for change to length specifier.
5531 * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
5532 (ggc_add_tree_varray_root): Delete prototype.
5533 (ggc_mark_rtx_varray): Delete prototype.
5534 (ggc_mark_tree_varray): Delete prototype.
5535 * ggc-common.c (ggc_add_rtx_varray_root): Delete.
5536 (ggc_add_tree_varray_root): Delete.
5537 (ggc_mark_rtx_varray): Delete.
5538 (ggc_mark_tree_varray): Delete.
5539 (ggc_mark_rtx_varray_ptr): Delete.
5540 (ggc_mark_tree_varray_ptr): Delete.
5541 * gengtype.h (enum typekind): Remove TYPE_VARRAY.
5542 (create_varray): Delete prototype.
5543 * gengtype.c (varrays): Delete.
5544 (create_varray): Delete.
5545 (adjust_field_type): Detect array of string pointers.
5546 (process_gc_options): Remove code to handle varray_type option.
5547 (set_gc_used_type): Remove TYPE_VARRAY case.
5548 (output_escaped_param): New.
5549 (write_gc_structure_fields): Use output_escaped_param on all
5550 parameters. Handle 'skip' with 'use_param' option. Handle
5551 arrays of strings. Remove TYPE_VARRAY handling.
5552 (write_gc_roots): Use boolean to detect 'length' option.
5553 * gengtype-yacc.y (VARRAY_TYPE): Delete token.
5554 (struct_fields): Call adjust_field_type on array fields.
5555 (type): Remove VARRAY_TYPE case.
5556 (type_option): Likewise.
5557 * gengtype-lex.l: Don't consider varray_type a keyword.
5558 * function.h: Update for change to length specifier.
5559 (free_eh_status): Delete prototype.
5560 * function.c (free_after_compilation): Don't call free_eh_status.
5561 (reorder_blocks): Don't use VARRAY_FREE.
5562 * except.c (struct eh_status): Update for change to length specifier.
5563 remove varray_type specifier.
5564 (free_eh_status): Delete.
5565 * dwarf2out.c: Include gt-dwarf2out.h.
5566 (used_rtx_varray): Use gengtype to mark, move
5567 outside ifdefs.
5568 (incomplete_types): Likewise.
5569 (decl_scope_table): Likewise.
33005162 5570 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
e2500fed
GK
5571 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
5572 * c-tree.h (struct lang_type): Update for change to length specifier.
5573 * c-parse.in (yylexstring): Don't use VARRAY_FREE.
5574 * c-objc-common.c: Include gt-c-objc-common.h.
5575 (deferred_fns): Mark for gengtype.
5576 (c_objc_common_init): Don't call ggc_add_tree_varray_root.
5577 (expand_deferred_fns): Just set deferred_fns to 0 to free it.
5578 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
5579 (gtype-desc.o): Update dependencies.
5580 (dwarf2out.o): Add gt-dwarf2out.h.
5581 (varray.o): Update dependencies.
5582 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
5583 (gt-c-objc-common.h): New rule.
5584 (gt-dwarf2out.h): New rule.
5585 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
5586
5587 * doc/gty.texi (GTY Options): Correct spelling.
5588 (GGC Roots): Likewise.
5589 * Makefile.in (TEXI_CPP_FILES): New.
5590 (TEXI_GCC_FILES): New.
5591 (TEXI_GCCINT_FILES): New.
5592 (TEXI_CPPINT_FILES): New.
5593 ($(docdir)/cpp.info): Use new macros.
5594 ($(docdir)/gcc.info): Likewise.
5595 ($(docdir)/gccint.info): Likewise.
5596 ($(docdir)/cppinternals.info): Likewise.
5597 (cpp.dvi): Likewise.
5598 (gcc.dvi): Likewise.
5599 (gccint.dvi): Likewise.
5600 (cppinternals.dvi): Likewise.
5601
5602 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
5603 * doc/gccint.texi (Top): Include gty.texi.
5604 * doc/gty.texi: New file.
5605
5606 * bitmap.c: Include ggc.h, gt-bitmap.h.
5607 (bitmap_ggc_free): New.
5608 (bitmap_elem_to_freelist): New.
5609 (bitmap_element_free): Use bitmap_elem_to_freelist.
5610 (bitmap_element_allocate): Allow use of GGC.
5611 (bitmap_clear): Use bitmap_elem_to_freelist.
5612 (bitmap_copy): Update for change to bitmap_element_allocate.
5613 (bitmap_set_bit): Likewise.
5614 (bitmap_operation): Update for changes elsewhere.
5615 (bitmap_initialize): Allow to create bitmaps that will use GGC.
5616 * bitmap.h (struct bitmap_element_def): Use gengtype.
5617 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
5618 (bitmap_initialize): Add extra parameter.
5619 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
5620 (BITMAP_ALLOCA): Delete.
5621 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
5622 (BITMAP_GGC_ALLOC): New.
5623 * Makefile.in (gtype-desc.o): Add bitmap.h.
5624 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
5625 (GTFILES): Add bitmap.c.
5626 (gt-bitmap.h): New rule.
5627 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
5628 * basic-block.h: Update for changes to bitmap_initialize.
5629 * except.c (exception_handler_label_map): Move into...
5630 (struct eh_status): Here.
5631 (struct eh_region): Make 'aka' GCable.
5632 (free_eh_status): Don't need to specially handle
5633 exception_handler_label_map.
5634 (add_ehl_entry): Update for changes to exception_handler_label_map.
5635 (find_exception_handler_labels): Likewise.
5636 (remove_exception_handler_label): Likewise.
5637 (maybe_remove_eh_handler): Likewise.
5638 (for_each_eh_label): Likewise.
5639 (remove_eh_handler): Allocate 'aka' using GGC.
5640 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
5641 to list of includes.
5642
5643 * gengtype.c (write_gc_marker_routine_for_structure): Name
33005162 5644 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
e2500fed
GK
5645 (write_gc_types): Arrange for the tests with NULL to be inlined.
5646 (write_gc_roots): Update uses of procedure pointers.
5647 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
5648
5649 * Makefile.in (explow.o): Add dependency on gt-explow.h.
5650 (sdbout.o): Add dependency on gt-sdbout.h.
5651
5652 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
5653 (mem_attrs_htab): Likewise.
5654 (init_emit_once): Don't call ggc_add_deletable_htab.
5655 * fold-const.c (size_htab): Use gengtype to clear unused entries.
5656 (size_int_type_wide): Don't call ggc_add_deletable_htab.
5657 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
5658 parameters, use them, change callers.
5659 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
5660 (write_gc_roots): Handle 'if_marked' option.
5661 (main): Don't need to call set_gc_used_type any more.
5662 * ggc.h (ggc_htab_marked_p): Delete.
5663 (ggc_htab_mark): Delete.
5664 (struct ggc_cache_tab): New.
5665 (gt_ggc_cache_rtab): New declaration.
5666 * ggc-common.c (struct d_htab_root): Delete.
5667 (d_htab_roots): Delete.
5668 (ggc_add_deletable_htab): Delete.
5669 (ggc_htab_delete): Handle new htab-deleting mechanism.
5670 (ggc_mark_roots): Use new htab-deleting mechanism.
5671 * tree.c (type_hash_table): Use gengtype to clear unused entries.
5672 Make static.
5673 (init_obstacks): Don't call ggc_add_deletable_htab.
5674
5675 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
5676 (struct hashed_entry): Likewise.
5677 (nst_method_hash_list): Likewise.
5678 (cls_method_hash_list): Likewise.
5679 (HASH_ALLOC_LIST_SIZE): Delete.
5680 (ATTR_ALLOC_LIST_SIZE): Delete.
5681 * objc/objc-act.c (hash_init): Use ggc to allocate
5682 nst_method_hash_list, cls_method_hash_list.
5683 (hash_enter): Use ggc to allocate; allocate one entry at a time.
5684 (hash_add_attr): Likewise.
5685 (ggc_mark_hash_table): Delete.
5686 (objc_act_parse_init): Delete.
5687 (objc_init): Delete reference to objc_act_parse_init.
5688 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
5689 obstack.h. Replace references to 'struct hash_table' with htab_t.
5690 (struct symbol_hash_entry): Replace hash header with key field.
5691 (struct file_hash_entry): Replace hash header with key field.
5692 (struct demangled_hash_entry): Replace hash header with key field.
5693 (hash_string_eq): New.
5694 (hash_string_hash): New.
5695 (symbol_hash_newfunc): Delete.
5696 (symbol_hash_lookup): Modify to use htab_t.
5697 (file_hash_newfunc): Delete.
5698 (file_hash_lookup): Modify to use htab_t.
5699 (demangled_hash_newfunc): Delete.
5700 (demangled_hash_lookup): Modify to use htab_t.
5701 (tlink_init): Modify to use htab_t.
5702 * hash.h: Delete.
5703 * hash.c: Delete.
5704 * ggc.h: Delete forward structure declarations.
5705 Delete prototypes for deleted functions.
5706 * ggc-common.c: Don't include hash.h.
5707 (ggc_add_tree_hash_table_root): Delete.
5708 (ggc_mark_tree_hash_table_entry): Delete.
5709 (ggc_mark_tree_hash_table): Delete.
5710 (ggc_mark_tree_hash_table_ptr): Delete.
5711 * gengtype.c (write_gc_structure_fields): Allow param_is option.
5712 (write_gc_marker_routine_for_structure): Use visibility of
5713 the parameter if there is one.
5714 * function.c: Replace hash.h with hashtab.h. Replace references
5715 to 'struct hash_table *' with htab_t.
5716 (struct insns_for_mem_entry): Include a plain key.
5717 (fixup_var_refs_insns_with_hash): Update to use htab_t.
5718 (insns_for_mem_newfunc): Delete.
5719 (insns_for_mem_hash): Update to use htab_t.
5720 (insns_for_mem_comp): Likewise.
5721 (insns_for_mem_walk): Likewise.
5722 * c-lang.c: Include ggc.h.
5723 * Makefile.in (OBJS): Remove hash.o.
5724 (c-lang.o): Add GGC_H.
5725 (COLLECT2_OBJS): Remove hash.o.
5726 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
5727 (ggc-common.o): Remove hash.h.
5728 (function.o): Remove hash.h, add HASHTAB_H.
5729 (genautomata.o): Remove hash.h, add HASHTAB_H.
5730
5731 * varasm.c (mark_const_str_htab_1): Delete.
5732 (mark_const_str_htab): Delete.
5733 (const_str_htab_del): Delete.
5734 (const_str_htab): Use gengtype to mark.
5735 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
5736 allocate them.
5737 * tree.c (mark_tree_hashtable_entry): Delete.
5738 (mark_tree_hashtable): Delete.
5739 * tree.h (mark_tree_hashtable): Delete prototype.
5740 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
5741 (ggc_mark): Likewise.
5742 (ggc_calloc): New.
5743 (htab_create_ggc): New.
5744 * ggc-common.c (ggc_calloc): New.
5745 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
5746 (struct type): Add param_struct structure.
5747 * gengtype.c (param_structs): New.
5748 (adjust_field_type): Handle param_is option.
5749 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
5750 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
5751 (write_gc_structure_fields): Add new PARAM parameter. Update
5752 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
5753 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
5754 Use it to generate function name. Update callers.
5755 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
5756 Process them.
5757 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
5758 option.
5759 (main): Define PTR as pointer-to-scalar. Don't specially
5760 mark deferred_string or ehl_map_entry.
5761 * gengtype-yacc.y (PARAM_IS): Add new token.
5762 (externstatic): Use adjust_field_type.
5763 (type_option): Add PARAM_IS.
5764 * gengtype-lex.l: Add rule for typedef of function pointers.
5765 Add rule for PARAM_IS.
5766 (IWORD): Add size_t.
5767 * except.c (exception_handler_label_map): Use gengtype to mark.
5768 (type_to_runtime_map): Likewise.
5769 (mark_ehl_map_entry): Delete.
5770 (mark_ehl_map): Delete.
5771 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
5772 (t2r_mark_1): Delete.
5773 (t2r_mark): Delete.
5774 * Makefile.in (gtype-desc.o): Correct dependencies.
5775 (GTFILES): Add hashtab.h.
5776 (genautomata.o): Actually uses hashtab.h.
5777
5778 * Makefile.in (stringpool.o): Add $(GGC_H).
5779 (dwarf2asm.o): Likewise.
5780 (GTFILES): Add hashtable.h.
5781 * c-common.h (struct c_common_identifier): Use gengtype.
5782 * c-decl.h (c_mark_tree): Delete.
5783 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
5784 * c-tree.h (struct lang_identifier): Use gengtype.
5785 (union lang_tree_node): New.
5786 (c_mark_tree): Delete prototype.
33005162 5787 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
e2500fed
GK
5788 dwarf2_debug_hooks.
5789 * gengtype-lex.l (IWORD): Allow 'bool'.
5790 (ptr_alias): Match.
5791 * gengtype-yacc.y (ALIAS): New token.
5792 (type_option): New rule.
5793 (option): Use type_option.
5794 * gengtype.c (process_gc_options): New.
5795 (set_gc_used_type): Use it.
5796 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
5797 Add new variable 't' to hold the type of the field being processed.
5798 Add more error checking. Use UNION_P when looking at 'desc' option.
5799 Handle language-specific structures containing other
5800 language-specific structures.
5801 (write_gc_types): Handle 'ptr_alias' option.
5802 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
5803 * ggc-common.c (ggc_pending_trees): Delete.
5804 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
5805 (ggc_mark_trees): Delete.
5806 (gt_ggc_m_tree_node): Delete.
5807 * ggc.h (ggc_pending_trees): Delete.
5808 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
5809 * hashtable.h (ht_identifier): Use gengtype.
5810 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
5811 * langhooks.h (struct lang_hooks): Delete mark_tree.
5812 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
5813 anyway.
5814 * system.h: Poison LANG_HOOKS_MARK_TREE.
5815 * tree.c (tree_node_structure): New.
5816 * tree.h (struct tree_common): Use gengtype.
5817 (struct tree_int_cst): Likewise.
5818 (struct tree_real_cst): Likewise.
5819 (struct tree_string): Likewise.
5820 (struct tree_complex): Likewise.
5821 (struct tree_vector): Likewise.
5822 (struct tree_identifier): Likewise.
5823 (struct tree_list): Likewise.
5824 (struct tree_vec): Likewise.
5825 (struct tree_exp): Likewise.
5826 (struct tree_block): Likewise.
5827 (struct tree_type): Likewise.
5828 (struct tree_decl): Likewise.
5829 (enum tree_structure_enum): New.
5830 (union tree_node): Use gengtype, with an alias.
5831 (tree_node_structure): Prototype.
5832 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
5833
5834 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
5835 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
5836 to LANG_HOOKS_FUNCTION_FINAL.
5837 * Makefile.in (GTFILES): Add bitmap.h.
5838 * except.c (struct eh_region): Mark field 'aka' to be skipped.
5839
5840 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
5841 (alpha_init_machine_status): Give proper type.
5842 * Makefile.in (c-lang.o): Depend on gtype-c.h.
5843 (optabs.o): Depend on gt-optabs.h.
5844 (GTFILES): Add optabs.o.
5845 (gt-optabs.h): Add rule.
5846 * optabs.c: Include gt-optabs.h.
5847
5848 * gengtype.c (set_gc_used_type): Correct some errors in last change.
5849 (write_gc_structure_fields): If a field which should be NULL is
5850 not, abort.
5851 * c-pragma.c: Move struct align_stack and variable alignment_stack
5852 out from the ifdef.
5853
5854 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
5855 * config/xtensa/xtensa.c: Include gt-cris.h.
5856 (struct machine_function): Use gengtype to mark.
5857 * config/mmix/mmix.h (struct machine_function): Use gengtype
5858 to mark.
5859 * config/cris/t-cris: Add dependencies for gt-cris.h.
5860 * config/cris/cris.c: Include gt-cris.h.
5861 (struct machine_function): Use gengtype to mark.
5862 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
5863 to mark.
5864 * doc/tm.texi (Per-Function Data): Delete references to
5865 mark_machine_status.
5866 * config/ia64/ia64.c (ia64_override_options): Don't set
5867 mark_machine_status.
5868 * config/i386/i386.c (override_options): Likewise.
5869 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
5870 * config/arm/arm.c (arm_init_expanders): Likewise.
5871 * config/alpha/alpha.c (override_options): Likewise.
33005162 5872 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
e2500fed
GK
5873 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
5874 (write_gc_structure_fields): Don't handle 'really' option.
5875 Handle 'maybe_null' option.
5876 (write_gc_types): Handle 'maybe_null' option.
5877 * function.h (struct function): Don't use "really".
5878 (mark_machine_status): Delete declaration.
5879 (mark_lang_status): Delete declaration.
5880 (gt_ggc_mr_machine_function): Delete prototype.
5881 (gt_ggc_mr_language_function): Delete prototype.
5882 * function.c (mark_machine_status): Delete.
5883 (mark_lang_status): Delete.
5884 (gt_ggc_mr_machine_function): Delete.
5885 (gt_ggc_mr_language_function): Delete.
5886 * c-tree.h (mark_c_function_context): Delete prototype.
5887 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
5888 * c-decl.c (struct language_function): Rename from struct
5889 c_language_function. Update uses. Use gengtype to mark.
5890 (mark_c_function_context): Delete.
5891 * c-common.h (struct c_language_function): Rename from struct
5892 language_function.
5893 (mark_stmt_tree): Delete prototype.
5894 (c_mark_lang_decl): Delete prototype.
5895 (mark_c_language_function): Delete prototype.
5896 * c-common.c (mark_stmt_tree): Delete.
5897 (c_mark_lang_decl): Delete.
5898 (mark_c_language_function): Delete.
5899
5900 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
5901 (lang_bitmap): New typedef. Use where appropriate.
5902 (struct type): Add gc_used field, lang_struct field.
5903 (UNION_P): New macro.
5904 (new_structure): New prototype.
5905 (find_structure): Remove 'pos' parameter. Change all callers.
5906 * gengtype-lex.l: Update for changes to find_structure.
5907 * gengtype-yacc.y (typedef_struct): Use new_structure.
5908 (yacc_ids): Suppress warning.
5909 (type): Use new_structure.
5910 * gengtype.c (string_type): Update for changes to struct type.
5911 (find_structure): Just find a structure, don't worry about
5912 creating one.
5913 (new_structure): New.
5914 (note_yacc_type): Use new_structure.
5915 (set_gc_used_type): New.
5916 (set_gc_used): New.
5917 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
5918 (write_gc_types): Handle TYPE_LANG_STRUCT.
5919 (write_gc_marker_routine_for_structure): New.
5920 (main): Call set_gc_used. Add some calls to set_gc_used_type
5921 for places where GCC doesn't use gengtype properly yet.
5922 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
5923 (gt_ggc_m_tree_node): Likewise.
5924
5925 * varasm.c (copy_constant): Call expand_constant if we hit
5926 something we can't recognise.
5927
5928 * ggc-common.c (ggc_mark_rtvec_children): Delete.
5929 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
5930 (lang_mark_false_label_stack): Delete.
5931 * rtl.h (struct rtvec_def): Use gengtype to mark.
5932 * ggc.h (ggc_mark_rtvec): Delete.
5933 (gt_ggc_m_rtvec_def): Delete.
5934 (ggc_mark_nonnull_tree): Delete.
5935 (ggc_mark_rtvec_children): Delete prototype.
5936 (lang_mark_false_label_stack): Delete declaration.
5937
5938 * gengtype.h (note_yacc_type): Add prototype.
5939 * gengtype.c (note_yacc_type): New function.
5940 * gengtype-lex.l: Add lexer support for yacc files.
5941 * gengtype-yacc.y (start): Extract union from yacc files.
5942 (yacc_union): New rule.
5943 (yacc_typematch): New rule.
5944 (yacc_ids): New rule.
5945 (enum_items): Tweak for efficiency.
5946 (optionseq): Likewise.
5947
5948 * c-common.h (struct language_function): Use gengtype.
5949 (struct c_lang_decl): Likewise.
5950 * c-tree.h (struct lang_decl): Likewise.
5951 (struct lang_type): Likewise.
5952 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
5953 tree language substructures.
5954
5955 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
5956 ggc_mark_tree.
5957 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
5958
5959 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
5960
5961 * stmt.c (struct nesting): Add discriminator. Use gengtype to
5962 mark. Remove 'data.block.cleanup_ptr' field.
5963 (struct stmt_status): Use usual technique to mark struct nesting.
5964 (gt_ggc_mr_nesting_cond): Delete.
5965 (gt_ggc_mr_nesting_loop): Delete.
5966 (gt_ggc_mr_nesting_block): Delete.
5967 (gt_ggc_mr_nesting_case_stmt): Delete.
5968 (expand_start_cond): Set discriminator.
5969 (expand_start_loop): Likewise.
5970 (expand_start_null_loop): Likewise.
5971 (expand_start_bindings_and_block): Set discriminator. Don't set
5972 deleted fields.
5973 (expand_decl_cleanup): Replace 'cleanup_ptr' with
5974 &thisblock->data.block.cleanups.
5975 (expand_start_case): Set discriminator.
5976 (expand_start_case_dummy): Set discriminator.
5977
5978 * ggc-callbacks.c: Remove.
5979
5980 * gengtype.h (struct type): Add 'u.s.bitmap' field.
5981 (find_structure): Add 'pos' parameter.
5982 * gengtype-lex.l: Update callers to find_structure.
5983 * gengtype-yacc.y: Likewise.
5984 * gengtype.c (find_structure): Allow for structures to be defined
5985 in multiple language backends.
5986 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
5987 (counter): Rename to gc_counter.
5988 (write_gc_structure_fields): Fail when writing out fields for
5989 an incomplete structure. Ignore arrays of scalars. Handle
5990 'tree_vec' special.
5991 (write_gc_types): Reset counter for each procedure written.
5992
5993 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
5994 (free_case_nodes): Delete.
5995 (expand_end_case_type): Delete call to free_case_nodes.
5996
5997 * Makefile.in (cselib.o): Include gt-<filename>.h.
5998 (gcse.o): Likewise.
5999 (profile.o): Likewise.
6000 (alias.o): Likewise.
6001 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
6002 alphabetize backend files.
6003 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
6004 * alias.c: Use gengtype for roots.
6005 * c-common.h (struct stmt_tree_s): Use gengtype.
6006 * c-decl.c: Use gengtype for roots.
6007 * cselib.c: Use gengtype for roots.
6008 * expr.c: Use gengtype for roots.
6009 * fold-const.c: Use gengtype for roots.
6010 * gcse.c: Use gengtype for roots.
6011 * gengtype-lex.l: Handle typedefs of function types.
6012 Allow for empty array bounds.
6013 Allow processing to stop on initialisers.
6014 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
6015 (semiequal): New rule.
6016 * gengtype.c (create_file): Tidy output files.
6017 (get_output_file_with_visibility): Fix paren warning. Fix bug
6018 involving multiple input files mapping to one output file.
6019 (write_gc_structure_fields): Skip arrays of scalars.
6020 (write_gc_types): Tidy output files.
6021 (write_gc_root): New function.
6022 (write_gc_roots): Fix bugs, add support for roots that are
6023 structures.
6024 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
6025 (ggc_mark_tree_ptr): Delete.
6026 (ggc_add_rtx_root): Delete.
6027 (ggc_add_tree_root): Delete.
6028 (ggc_del_root): Delete.
6029 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
6030 allocate struct initial_value_struct.
6031 * profile.c: Use gengtype for roots.
6032 * sdbout.c: Use gengtype for roots.
6033 * varasm.c (mark_weak_decls): Delete unused prototype.
6034 (mark_const_hash_entry): Delete unused function.
6035 * config/darwin-protos.h: Use gengtype for roots.
6036 (machopic_add_gc_roots): Delete.
6037 * config/arm/arm.c: Use gengtype for roots.
6038 * config/arm/arm.h: Use gengtype for roots.
6039 * config/c4x/c4x-protos.h: Use gengtype for roots.
6040 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
6041 * config/d30v/d30v-protos.h: Use gengtype for roots.
6042 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
6043 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
6044 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
6045 * config/ia64/ia64-protos.h: Use gengtype for roots.
6046 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
6047 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
6048 * config/m68hc11/m68hc11.c (z_reg): Make global.
6049 (z_reg_qi): Make global.
6050 (m68hc11_add_gc_roots): Delete.
6051 * config/mcore/mcore-protos.h: Use gengtype for roots.
6052 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
6053 * config/mips/mips.c (mips_add_gc_roots): Delete.
6054 * config/mips/mips.h: Use gengtype for roots.
6055 * config/mmix/mmix.c (override_options): Use gengtype for roots.
6056 * config/mmix/mmix.h: Use gengtype for roots.
6057 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
6058 * config/mn10200/mn10200.h: Use gengtype for roots.
6059 * config/pa/pa.c: Use gengtype for roots, marking.
6060 (struct deferred_plabel): Use GGC, gengtype.
6061 (pa_add_gc_roots): Delete.
6062 (mark_deferred_plabels): Delete.
6063 * config/pj/pj-protos.h: Use gengtype for roots.
6064 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
6065 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
6066 machopic_add_gc_roots.
6067 * config/rs6000/rs6000.h: Use gengtype for roots.
6068 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
6069 (gt-darwin.h): Add rule.
6070 * config/sh/sh.c: Use gengtype for roots.
6071 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
6072 (gt-sh.h): Add rule.
6073 * config/sparc/sparc.c: Use gengtype for roots.
6074 (sparc_add_gc_roots): Delete.
6075 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
6076 (mark_ultrasparc_pipeline_state): Delete.
6077 * config/sparc/sparc.h: Use gengtype for roots.
6078
6079 * Makefile.in (c-parse.o): Update dependencies.
6080 (c-common.o): Likewise.
6081 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
6082 Add dependencies for the files they generate.
6083 * c-common.c: Replace ggc_add_* uses with GTY annotations.
6084 * c-common.h: Likewise.
6085 * c-decl.c: Likewise.
6086 (gt_ggc_mp_binding_level): Delete.
6087 * c-lang.c: Include gtype-c.h.
6088 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
6089 gt-c-parse.h.
6090 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
6091 (gt_ggc_mp_align_stack): Delete.
6092 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
6093 * function.c: Replace ggc_add_* uses with GTY annotations.
6094 (gt_ggc_mp_function): Delete.
6095 * function.h: Replace ggc_add_* uses with GTY annotations.
6096 * gengtype.c (lang_names): New.
6097 (NUM_BASE_FILES): New.
6098 (open_base_files): Create language base files.
6099 (startswith): New.
6100 (get_file_basename): New.
6101 (get_base_file_bitmap): New.
6102 (get_output_file_with_visibility): Rename from get_output_file.
6103 Add more mappings for various C/Objc filenames.
6104 (finish_root_table): New.
6105 (write_gc_roots): Handle dependencies and scoping properly.
6106 * gengtype.h: Add prototypes for new functions.
6107 * ggc-common.c (struct deletable_root): Delete.
6108 (deletables): Delete.
6109 (ggc_add_deletable_root): Delete.
6110 (ggc_mark_roots): No need to deal with deleted functionality.
6111 * ggc.h (ggc_add_deletable_root): Delete prototype.
6112 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
6113 (gtype-objc.h): Add rule to create.
6114 * objc/config-lang.in (gtfiles): New.
6115 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
6116 ggc_add_* with GTY markers. Include gtype-objc.h.
6117 (ggc_mark_imp_list): Delete.
6118 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
6119 * objc/objc-lang.c: Random Whitespace Change.
6120
6121 * except.h (exception_handler_labels): Delete.
6122 (get_exception_handler_labels): New.
6123 * except.c (exception_handler_labels): Delete.
6124 (struct eh_status): Add exception_handler_labels field.
6125 (doing_eh): Don't add exception_handler_labels as root.
6126 (free_eh_status): Don't need to free exception_handler_labels.
6127 (get_exception_handler_labels): New.
6128 (find_exception_handler_labels): Update for move of
6129 exception_handler_labels.
6130 (remove_exception_handler_label): Likewise.
6131 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
6132 * jump.c (rebuild_jump_labels): Likewise.
6133 * loop.c (find_and_verify_loops): Likewise.
6134 * sched-rgn.c (is_cfg_nonregular): Likewise.
6135
6136 * gengtype.c (write_gc_structure_fields): Handle variable-length
6137 TYPE_ARRAYs.
6138
6139 * varasm.c (struct weak_syms): Use GGC, gengtype.
6140 (mark_weak_decls): Delete.
6141 (weak_decls): Likewise.
6142 (add_weak): Likewise.
6143 (remove_from_pending_weak_list): Likewise.
6144 (init_varasm_once): Likewise.
6145
6146 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
6147 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
6148 stor-layout.c, regclass.c, and lists.c.
6149 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
6150 gt-regclass.h and gt-lists.h on s-gtype.
6151 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
6152 * except.c: Use gengtype for roots.
6153 * explow.c: Use gengtype for roots. Include gt-explow.h.
6154 * expr.h (init_stor_layout_once): Delete prototype.
6155 * function.c: Use gengtype for roots.
6156 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
6157 * gengtype-yacc.y (start): Can also be an externstatic.
6158 (externstatic): New production.
6159 (struct_fields): Correct array bounds inversion for 2-d arrays.
6160 * gengtype.c (variables): New variable.
6161 (note_variable): New function.
6162 (get_output_file): Include libfuncs.h into gtype-desc.c.
6163 (get_output_file_name): New function.
6164 (write_gc_structure_fields): Suppress warnings.
6165 (write_gc_types): Make static.
6166 (put_mangled_filename): New function.
6167 (write_gc_roots): New function.
6168 (main): Call write_gc_roots.
6169 * gengtype.h (note_variable): Prototype.
6170 (get_output_file_name): Prototype.
6171 (write_gc_types): Delete prototype.
6172 * ggc.h: Clean up unnecessary structure predefinitions.
6173 (struct ggc_root_tab): Define.
6174 (gt_ggc_m_rtx_def): Make function, not macro.
6175 (gt_ggc_m_tree_node): Likewise.
6176 * libfuncs.h: Use gengtype for roots.
6177 * lists.c: Use gengtype for roots. Include gt-lists.h.
6178 (init_EXPR_INSN_LIST_cache): Delete.
6179 * optabs.c: Use gengtype for roots.
6180 (gt_ggc_mp_optab): Delete.
6181 * optabs.h: Use gengtype for roots.
6182 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
6183 * rtl.h: Use gengtype for roots.
6184 (init_EXPR_INSN_LIST_cache): Delete prototype.
6185 * stor-layout.c: Use gengtype for roots.
6186 Include gt-stor-layout.h.
6187 (init_stor_layout_once): Delete.
6188 * toplev.c: Use gengtype for roots. Delete calls to deleted
6189 routines.
6190 * tree.c: Use gengtype for roots.
6191 * tree.h: Use gengtype for roots.
6192 * varasm.c: Use gengtype for roots.
33005162 6193
e2500fed
GK
6194 * Makefile.in (GTFILES): Add @all_gtfiles@.
6195 * configure: Regenerate.
6196 * configure.in: Construct all_gtfiles from the gtfiles definitions
6197 in config-lang.in.
6198 * gengtype-yacc.y (type): Warn about duplicate structure names.
6199 * gengtype.c (get_output_file): Handle .c files in language
6200 subdirectories.
6201
6202 * Makefile.in (GTFILES): Run gengtype on all the config files
6203 and on the target .c file.
6204 * except.c (mark_eh_region): Delete.
6205 (init_eh_for_function): Use GGC on struct eh_status.
6206 (mark_eh_status): Delete.
6207 (free_eh_status): Use GGC.
6208 (expand_eh_region_start): Use GGC to
6209 (collect_eh_region_array): Allocate last_region_number using GGC.
6210 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
6211 (remove_eh_handler): Let GGC free struct eh_region.
6212 (add_call_site): Use GGC to reallocate call_site_record array.
6213 * function.c (init_machine_status): Update calling sequence.
6214 (mark_machine_status): Likewise.
6215 (mark_lang_status): Likewise.
6216 (prepare_function_start): Update init_machine_status call.
6217 (mark_function_status): Delete.
6218 (maybe_mark_struct_function): Delete.
6219 (ggc_mark_struct_function): Delete.
6220 (gt_ggc_mp_function): New.
6221 (gt_ggc_mr_machine_function): New.
6222 (gt_ggc_mr_language_function): New.
6223 (init_function_once): Use canonical names.
6224 * function.h (struct function): Use gengtype.
6225 (init_machine_status): Return the structure.
6226 (mark_machine_status): Take a 'void *'.
6227 (mark_lang_status): Likewise.
6228 * ggc-common.c (ggc_mark_trees): Use canonical name for
6229 ggc_mark_struct_function.
6230 * tree.h (ggc_mark_struct_function): Delete prototype.
6231 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
6232 (alpha_init_machine_status): Likewise.
6233 (override_options): Use canonical name for alpha_mark_machine_status.
6234 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
6235 * config/arm/arm.h (struct machine_function): Use gengtype.
6236 * config/arm/arm.c (arm_mark_machine_status): Delete.
6237 (arm_init_machine_status): Update calling sequence.
6238 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
33005162 6239 * config/cris/cris.c (cris_init_machine_status): Update
e2500fed
GK
6240 calling sequence.
6241 * config/d30v/d30v.h (struct machine_function): Use gengtype.
33005162 6242 * config/d30v/d30v.c (d30v_init_machine_status): Update
e2500fed
GK
6243 calling sequence.
6244 (d30v_mark_machine_status): Delete.
6245 * config/i386/i386.c: Include gt-i386.h.
6246 (struct machine_function): Use gengtype.
6247 (ix86_init_machine_status): Update calling sequence.
6248 (ix86_mark_machine_status): Delete.
6249 (override_options): Use canonical namke for ix86_mark_machine_status.
6250 * config/ia64/ia64.h (struct machine_function): Use gengtype.
33005162 6251 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
e2500fed
GK
6252 sequence.
6253 (ia64_mark_machine_status): Delete.
33005162 6254 (ia64_override_options): Use canonical name for
e2500fed 6255 ia64_mark_machine_status.
33005162 6256 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
e2500fed
GK
6257 sequence.
6258 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
6259 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
6260 * gengtype.c (get_output_file): Fix warning.
6261 (main): Add prototype to suppress warning.
6262 * tree.c: Remove tree_hash_mark prototype.
6263
6264 * tree.h (init_stmt): Delete prototype.
6265 * toplev.c (lang_independent_init): Don't call init_stmt.
6266 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
6267 (stmt_obstack): Delete.
6268 (POPSTACK): No need to free 'struct nesting'.
6269 (gt_ggc_mr_nesting_cond): Use canonical names.
6270 (gt_ggc_mr_nesting_loop): Use canonical names.
6271 (gt_ggc_mr_nesting_block): Use canonical names.
6272 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
6273 (mark_stmt_status): Delete.
6274 (init_stmt): Delete.
6275 (clear_last_expr): Clear both last_expr_type and last_expr_value.
6276 Use it everywhere that last_expr_type was cleared.
6277 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
6278 (zap_lists): Delete.
6279 * ggc.h (ggc_add_deletable_root): Prototype.
6280 (mark_stmt_status): Remove prototype.
6281 * ggc-common.c (ggc_add_deletable_root): New.
6282 (ggc_mark_roots): Handle deletable roots.
6283 * function.c (ggc_mark_struct_function): Use canonical name
6284 for mark_stmt_status.
6285 * emit-rtl.c (free_sequence_stack): New.
6286 (start_sequence): Use a freelist for sequences.
6287 (end_sequence): Likewise.
6288 (init_emit_once): Add free_sequence_stack as a deleteable root.
6289 * c-pragma.c Include gt-c-pragma.h.
6290 (struct align_stack): Use gengtype.
6291 (push_alignment): Use GGC for struct align_stack.
6292 (mark_align_stack): Delete.
6293 (gt_ggc_mp_align_stack): New.
6294 (init_pragma): Use canonical name for mark_align_stack.
6295 * c-decl.c: Include gt-c-decl.h.
6296 (struct binding_level): Use gengtype.
6297 (make_binding_level): Use GGC; handle the freelist here.
6298 (pop_binding_level): New.
6299 (pushlevel): Move code into make_binding_level.
6300 (push_label_level): Likewise.
6301 (poplevel): Move code into pop_binding_level.
6302 (pop_label_level): Likewise.
6303 (mark_binding_level): Delete.
6304 (gt_ggc_mp_binding_level): New.
6305 (c_init_decl_processing): Use canonical name for mark_binding_level.
6306 Add free_binding_level as deletable root.
6307 (mark_c_function_context): Use canonical name for mark_binding_level.
6308 * Makefile.in (c-decl.o): Add gt-c-decl.h.
6309 (c-pragma.o): Add gt-c-pragma.h.
6310 (GTFILES): Add c-decl.c and c-pragma.c.
6311 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
6312
6313 * tree.c (struct type_hash): Use gengtype.
6314 (init_obstacks): Use canonical name for type_hash_mark.
6315 (type_hash_mark): Delete.
6316 Include gt-tree.h.
6317 * rtl.h (struct mem_attrs): Use gengtype.
6318 * optabs.h (struct optab): Use gengtype.
6319 * optabs.c (expand_binop): Squish signed/unsigned warning.
6320 (mark_optab): Make local, use canonical name, use autogenerated
6321 marker procedure.
6322 (init_optabs): Use canonical name for mark_optab.
6323 (new_optab): Use GGC to allocate optabs.
6324 * ggc.h: Delete mark_optab prototype.
6325 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
6326 mem_attrs marker procedure.
6327 * gengtype.c (get_output_file): Include headers in gtype-desc.c
6328 explicitly rather than deducing them from file names.
6329 (write_gc_structure_fields): Handle arrays of structures.
6330 (main): Return non-zero exit code if errors occur during output.
6331 * emit-rtl.c (mem_attrs_mark): Delete.
6332 (init_emit_once): Use canonical name for mem_attrs marker procedure.
6333 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
6334 (tree.o): Depend on gt-tree.h.
6335 (GTFILES): Add rtl.h, optabs.h, tree.c.
6336 (gt-tree.h): Add it to s-gtype rule.
6337
6338 * .cvsignore: Ignore gengtype flex/bison generated files.
6339 * Makefile.in (GGC_H): Add gtype-desc.h.
6340 (OBJS): Add gtype-desc.o.
6341 (GEN): Add gengtype.
6342 (STAGESTUFF): Add gengtype.
6343 (varasm.o): Add gt-varasm.h.
6344 (stmt.o): Add gt-stmt.h.
6345 (except.o): Add gt-except.h.
6346 (integrate.o): Add gt-integrate.h.
6347 (GTFILES): New.
6348 Add new rules for new files.
6349 * configure: Regenerate.
6350 * configure.in: Correct defaults.h paths.
6351 * emit-rtl.c (mark_sequence_stack): Delete.
6352 (mark_emit_status): Delete.
6353 (start_sequence): Allocate sequence structures using GGC.
6354 (end_sequence): Allocate sequence structures using GGC.
6355 * except.c: Use gengtype for various structures. Include
6356 gt-except.h.
6357 * expr.c (mark_expr_status): Delete.
6358 * function.c: Use gengtype for various structures. Include
6359 gt-function.h.
6360 (mark_function_status): Use standard gt_ggc names for marker functions.
6361 (ggc_mark_struct_function): Likewise.
6362 * function.h: Use gengtype for various structures.
6363 * gengtype-lex.l: New file.
6364 * gengtype-yacc.y: New file.
6365 * gengtype.c: New file.
6366 * gengtype.h: New file.
6367 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
6368 the standard names. Remove some now-unnecessary prototypes.
6369 * integrate.c: Use gengtype for various structures. Include
6370 gt-integrate.h.
6371 (mark_hard_reg_initial_vals): Delete.
6372 * integrate.h (mark_hard_reg_initial_vals): Delete.
6373 * stmt.c: Use gengtype for various structures. Include
6374 gt-stmt.h.
6375 (mark_case_node): Delete.
6376 (mark_goto_fixup): Delete.
6377 (mark_stmt_status): Use standard gt_ggc names for marker functions.
6378 * system.h: Define GTY to empty. In flex/bison files,
6379 don't poison malloc or realloc, instead just define them to
6380 xmalloc and xrealloc.
6381 * varasm.c: Use gengtype for various structures. Include
6382 gt-varasm.h. Use standard gt_ggc names for marker functions.
6383 (mark_pool_constant): Delete.
6384 (mark_varasm_status): Delete.
6385 (decode_rtx_const): #if 0 out non-typesafe hack.
6386
6387 * function.h (free_lang_status): Mark as obsolete.
6388 * function.c (free_lang_status): Mark as obsolete.
6389 * c-decl.c (push_c_function_context): Use GC to allocate and free
6390 struct language_function.
6391 (pop_c_function_context): Likewise.
6392 * c-common.c (mark_c_language_function): Mark struct
6393 language_function.
6394
6395 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
6396 Document that the machine_function structures must be allocated
6397 using GC. Update mark_machine_status documentation.
6398 * function.h: Don't declare free_machine_status.
33005162 6399 * function.c (free_machine_status): Don't define.
e2500fed
GK
6400 (free_after_compilation): Don't call free_machine_status.
6401 (ggc_mark_struct_function): Mark f->machine. Call
6402 mark_machine_status only on non-NULL pointers.
6403 * system.h: Poison free_machine_status.
6404 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
6405 struct machine_function.
6406 (xtensa_free_machine_status): Delete.
6407 (override_options): Don't set free_machine_status.
6408 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
6409 free_machine_status.
6410 (rs6000_init_machine_status): Use GC on struct machine_function.
6411 (rs6000_free_machine_status): Delete.
6412 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
6413 machine_function.
6414 (ia64_mark_machine_status): Likewise.
6415 (ia64_free_machine_status): Delete.
6416 (ia64_override_options): Don't set free_machine_status.
6417 * config/i386/i386.c (override_options): Don't set
6418 free_machine_status.
6419 (ix86_init_machine_status): Use GC on struct machine_function.
6420 (ix86_mark_machine_status): Likewise.
6421 (ix86_free_machine_status): Delete.
6422 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
6423 machine_function.
6424 (d30v_mark_machine_status): Likewise.
6425 (d30v_free_machine_status): Delete.
6426 (d30v_init_expanders): Don't set free_machine_status.
6427 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
6428 machine_function.
6429 (arm_init_machine_status): Likewise.
6430 (arm_free_machine_status): Delete.
6431 (arm_init_expanders): Don't set free_machine_status.
6432 * config/alpha/alpha.c (override_options): Don't set
6433 free_machine_status.
6434 (alpha_init_machine_status): Use GC on struct machine_function.
6435 (alpha_mark_machine_status): Likewise.
6436 (alpha_free_machine_status): Delete.
6437
6438 * varasm.c (compare_constant): Fix typo.
6439
6440 * varasm.c: Don't include obstack.h.
6441 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
6442 (struct rtx_const): Give substructures names, improve formatting.
6443 (struct constant_descriptor): Delete.
6444 (struct constant_descriptor_tree): New, based on constant_descriptor.
6445 (const_hash_table): Is a hash table of trees.
6446 (mark_const_hash_entry): Is used for hashes of trees. Mark
6447 constant_descriptor_tree structure.
6448 (mark_const_str_htab_1): Mark deferred_string structure.
6449 (compare_constant): Rewrite to compare trees.
6450 (compare_constant_1): Delete.
6451 (record_constant): Delete.
6452 (record_constant_1): Delete.
6453 (output_constant_def): Use struct constant_descriptor_tree.
6454 Don't duplicate trees twice.
6455 (struct constant_descriptor_rtx): New.
6456 (struct pool_constant): Used for rtx constants.
6457 (init_varasm_status): Update for change to struct varasm_status.
6458 (mark_varasm_status): Likewise.
6459 (free_varasm_status): Delete.
6460 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
6461 (record_constant_rtx): Likewise.
6462 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
6463 (force_const_mem): Likewise.
6464 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
6465 * function.c (free_after_compilation): Don't use free_varasm_status.
6466 * function.h: Don't prototype free_varasm_status.
6467
6468 * ggc-common.c (ggc_realloc): Handle X being NULL.
6469
6470 * ggc-common.c (ggc_realloc): New function.
6471 * ggc.h: Prototype it.
6472 * emit-rtl.c (free_emit_status): Delete.
6473 (init_emit): Allocate emit subarrays using GC.
6474 (gen_reg_rtx): Reallocate subarrays using GC.
6475 (init_emit): Use GC to allocate 'struct emit_status' and its
6476 subarrays.
6477 (mark_emit_status): Mark structure and its subarrays.
6478 * stmt.c (free_stmt_status): Delete.
6479 * expr.c (free_expr_status): Delete.
6480 * function.h: Remove prototypes for deleted functions.
6481 * function.c (free_after_compilation): Don't use deleted functions.
6482 Don't call free() on x_parm_reg_stack_loc.
6483 (free_after_parsing): Don't use free_stmt_status.
6484 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
6485 (mark_function_status): Mark x_parm_reg_stack_loc.
6486
6487 * varasm.c (init_varasm_status): Use GC to allocate
6488 'struct varasm_status' and its fields x_const_rtx_hash_table
6489 and x_const_rtx_sym_hash_table.
6490 (mark_varasm_status): Mark them.
6491 (free_varasm_status): Use GC to free them.
6492 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
6493 (mark_expr_status): Mark the structure itself.
6494 (free_expr_status): Use GC to free the structure.
6495 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
6496 (mark_stmt_status): Mark the 'struct stmt_status' itself.
6497 (init_stmt_for_function): Allocate the structure for GC.
6498
6499 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
6500 (equate_type_number_to_die): Likewise.
6501 * tree.h (TYPE_SYMTAB_DIE): New macro.
6502 (struct die_struct): Predeclare.
6503 (struct tree_type): Add field symtab.die. Add a tag
6504 to the union type of field symtab.
6505
6506 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
6507 'struct rtvec_def *', not 'struct rtvec_def'.
6508
6509 * function.h (original_arg_vector): Make a real rtvec.
6510 * function.c (ggc_mark_struct_function): Adjust.
6511 * integrate.c (expand_inline_function): Adjust.
6512
b655555e
JT
65132002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
6514
6515 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
6516 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
6517 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
6518 (TARGET_VERSION_CPU): Define according to the
6519 default target.
6520 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
6521 TARGET_VERSION_CPU.
6522 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
6523 if TARGET_SHMEDIA64.
6524 (LINK_DEFAULT_CPU_EMUL): Define according to the
6525 default target.
6526 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
6527 (SUBTARGET_LINK_SPEC): Define.
6528 (LINK_SPEC): Use SH_LINK_SPEC.
6529 (ASM_SPEC): Remove.
6530 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
6531 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
6532 and TARGET_SHMEDIA64 which abort, for now.
6533 * config/sh/t-netbsd-sh5: New file.
6534 * config/sh/t-netbsd-sh5-32: New file.
6535 * config/sh/t-netbsd-sh5-64: New file.
6536
6d8fd7bb
RH
65372002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
6538 Richard Henderson <rth@redhat.com>
6539
6540 * config/alpha/alpha.c (reg_or_const_int_operand): New.
6541 (some_operand, input_operand): Accept CONST_VECTOR.
6542 (alpha_extra_constraint): Add 'W'.
6543 (alpha_expand_zap_mask): New.
6544 (alpha_expand_builtin_vector_binop): New.
6545 (enum alpha_builtin): New.
6546 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
6547 (alpha_init_builtins, alpha_expand_builtin): New.
6548 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
6549 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
6550 (PREDICATE_CODES): Update.
6551 * config/alpha/alpha-protos.h: Update.
6552 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
6553 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
6554 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
6555 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
6556 (movv2si, movv2si_fix, movv2si_nofix): New.
6557 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
6558 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
6559 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
6560 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
6561 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
6562 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
6563 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
6564 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
6565 builtin_unpkbw, unpkbw): New.
6566 * doc/extend.texi (Alpha Built-in Functions): New.
6567
618939de
RH
65682002-06-03 Richard Henderson <rth@redhat.com>
6569
6570 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
6571 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
6572
73db7137
RH
65732002-06-03 Richard Henderson <rth@redhat.com>
6574
6933647a
RH
6575 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
6576
73db7137
RH
6577 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
6578 (const0_operand): New.
6579 (reg_or_fp0_operand, fp0_operand): Remove.
6580 * config/alpha/alpha.h (PREDICATE_CODES): Update.
6581 * config/alpha/alpha-protos.h: Update.
6582 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
6583 and fp0_operand with reg_or_0_operand and const0_operand.
6584
a6f7c915
DN
65852002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
6586
6587 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
6588
b2f02503
RS
65892002-06-03 Roger Sayle <roger@eyesopen.com>
6590
6591 * gcse.c (cprop_jump): Use single_set to get the pattern
6592 from the setcc argument.
6593
4fcc2065
GDR
65942002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
6595
33005162 6596 * diagnostic.h (diagnostic_count): Move from output_buffer to
4fcc2065
GDR
6597 diagnostic_context.
6598 (diagnostic_kind_count): Adjust definition.
6599
5204d665
JH
6600Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
6601
6602 * except.c (except.c): Do not rebuild CFG.
6603 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
6604 optimization.
6605
0478a14c
JH
6606Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
6607
6608 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
6609 * toplev.c: Include cfglahout.h
6610 * Makefile.in (toplev.c): Add dependnecy.
6611
30efe578
NB
66122002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
6613
6614 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
6615 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
6616 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
6617
a782515b
JT
66182002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
6619
6620 * config/ns32k/netbsd.h: Update copyright years.
6621 (TARGET_OS_CPP_BUILTINS): Define.
6622 (CPP_PREDEFINES): Remove.
6623 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
6624 (TARGET_CPU_CPP_BUILTINS): Define.
6625
0fb7aeda
KH
66262002-06-02 Kazu Hirata <kazu@cs.umass.edu>
6627
589005ff 6628 * emit-rtl.c: Fix formatting.
0fb7aeda
KH
6629 * errors.h: Likewise.
6630 * except.c: Likewise.
6631 * explow.c: Likewise.
6632 * expmed.c: Likewise.
6633 * expr.c: Likewise.
6634 * expr.h: Likewise.
6635
1c8ec18b
KH
66362002-06-02 Kazu Hirata <kazu@cs.umass.edu>
6637
6638 * config/h8300/elf.h: Fix formatting.
6639 * config/h8300/rtems.h: Likewise.
6640
86cb04f6
JT
66412002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
6642
6643 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
6644
5d83269d
TT
66452002-06-02 Tom Tromey <tromey@redhat.com>
6646
6647 * fixinc/fixincl.x: Rebuilt.
6648 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
6649
62f6a494
NB
66502002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6651
6652config/i370:
6653 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
6654 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
6655 * mvs.h: Similarly.
6656 * oe.h: Similarly.
6657
0acb0203
JH
6658Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
6659
6660 * final.c (final): Allow notes to not have computed addresses;
6661 kill no longer needed STACK_REGS ifdef.
6662
ada8d98a
RH
66632002-06-02 Richard Henderson <rth@redhat.com>
6664
6665 * gcse.c (bypass_conditional_jumps): Fix typo last change.
6666
ba4f7968
JH
6667Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
6668
ada8d98a
RH
6669 * loop.c (emit_prefetch_instructions): Properly place the address
6670 computation.
ba4f7968
JH
6671
6672Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
6673
6674 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
6675 (set_block_for_insn): Turn into macro.
6676 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
6677 * cfglayout.c (insn_scopes): Kill.
6678 (scope_to_insns_initialize): Do not use insn_scopes.
6679 (scope_to_insns_finalize): Likewise.
6680 (duplicate_insn_chain): Likewise.
6681 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
6682 * cfgrtl.c (basic_block_for_insn): Kill.
6683 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
6684 (create_basic_block_structure): Use reorder_insns.
6685 (compute_bb_for_insn): Do not use basic_block_for_insn.
6686 (merge_blocks_nomove): Likewise.
6687 (update_bb_for_insn): Likewise.
6688 (verify_flow_info): Likewise.
6689 (set_block_for_insn): Kill.
6690 * combine.c (try_combine): Update gen_rtx_INSN call.
6691 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
6692 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
6693 scopes and BBs.
6694 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
6695 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
6696 Clear BB.
6697 (emit_insns_after): Simplify.
6698 (emit_copy_of_insn_after): Copy scope.
6699 * final.c (final_start_function): Lower scopes.
6700 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
6701 * integrate.c (copy_insn_list): Cope scopes.
6702 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
6703 * loop.c (loop_optimize): Do not care block notes.
6704 * print-rtl.c (print_rtx): Print BB.
6705 * recog.c (apply_change_group): Simplify.
6706 * rtl.c (copy_rtx): Handle 'B'.
6707 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
6708 * rtl.h (Field accessors): Update indexes.
6709 * sched-ebb.c (schedule_ebbs): Do not lower notes.
6710 * sched-rgn.c (schedule_insns): Likewise.
6711 * toplev.c (rest_of_compilation): Lower notes.
6712 * unroll.c (unroll_loop): Do not care scoping notes.
6713 (copy_loop_body): Copy scopes.
6714
537fc532
NB
67152002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6716
6717config/h8300:
6718 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
6719 SUBTARGET_SPEC.
6720 * rtems.h: Similarly.
6721 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
6722 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
6723 (TARGET_CPU_CPP_BUILTINS): Use.
6724
ab780373
RH
67252002-06-02 Richard Henderson <rth@redhat.com>
6726
6727 * alias.c: Include target.h.
6728 (mark_constant_function): Use targetm.binds_local_p instead
6729 of checking TREE_PUBLIC ourselves.
6730 * Makefile.in (alias.o): Add TARGET_H.
6731
b9305c66
NB
67322002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6733
6734 * c-lex.c: Update copyright and file description.
6735
0ac3e0c4
NB
67362002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6737
6738 * config/fr30/fr30.h: Update to new CPP macros.
6739
be3a1d46
NB
67402002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6741
6742 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
6743
ceeedfc1 67442002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
a8fd5963 6745 Zack Weinberg <zack@codesourcery.com>
ceeedfc1
NB
6746
6747 * c-common.c (c_common_init): Override cpplib's default
6748 warn_long_long setting.
6749 * c-lex.c (lex_number): Replace with interpret_integer,
6750 interpret_float, narrowest_unsigned_type and
6751 narrowest_signed_type, taking advantage of the new
6752 cpplib functionality.
6753 * cpperror.c (_cpp_begin_message): If a warning is turned
6754 into an error, avoid printing "warning:".
6755 * cppexp.c (cpp_num_sign_extend): New.
6756 * cppinit.c: Update comment.
6757 * cpplib.h (cpp_num_sign_extend): New.
6758 * tree.h: Update comment.
6759
27e511e0
GDR
67602002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
6761
6762 * diagnostic.h (struct diagnostic_context): Add new member
33005162 6763 internal_error.
27e511e0
GDR
6764 (internal_error_function): Remove declaration.
6765 * diagnostic.c (internal_error_function): Remove definition..
6766 (internal_error): Adjust use.
6767
818b6b7f
RH
67682002-06-02 Richard Henderson <rth@redhat.com>
6769
6770 * rtl.h (CC0_P): New.
6771 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
6772 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
6773 (bypass_block): Save old dest block for dump text.
6774 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
6775 Allow only true SET insns, not single_set.
6776
167143a0
GDR
67772002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
6778
6779 * diagnostic.c (diagnostic_finish): Rename to output_flush.
6780 (clear_disgnostic_info): Rename to output_clear_data. Use false
6781 instead of 0 for boolean value.
6782 Adjust function call throughout.
6783
eae4bc56
JH
6784Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
6785
6786 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
6787 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
6788
9eb404a0
NB
67892002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6790
6791 * d30v.h (CPP_PREDEFINES): Replace with
6792 (TARGET_CPU_CPP_BUILTINS): New.
6793
53e8b0b8
RS
67942002-06-02 Roger Sayle <roger@eyesopen.com>
6795
6796 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
6797
92e34b67
JH
6798Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
6799
6800 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
6801
e7e9d242
RH
68022002-06-02 Richard Henderson <rth@redhat.com>
6803
6804 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
6805
9af145ae
MM
68062002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
6807
6808 Support for C++ constructors/destructors.
6809 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
6810 instead of looping if main() returns.
6811 (asm_file_start): Output global symbols that cause .data and .bss
6812 initialization code to be linked in, unconditionally for now.
6813 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
6814 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
6815 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
6816 (LIBSTDCXX): New.
6817 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
6818 (__tablejump__): New.
6819 (__do_copy_data, __do_clear_bss): New.
6820 (__do_global_ctors, __do_global_dtors): New.
6821 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
6822 _ctors, _dtors.
6823
0d66ad57
NB
68242002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6825
6826 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
6827 (CPP_SPEC, CPP_PREDEFINES): Kill.
6828 * c4x/rtems.h (CPP_PREDEFINES): Kill.
6829 (TARGET_OS_CPP_BUILTINS): New.
6830
5c856b23
JH
6831Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
6832
6833 * Makefile.in (tracer.o): New.
6834 * params.def (TRACER_*): New options.
6835 * rtl.h (tracer): Declare.
6836 * timevar.def (TV_TRACER): New.
6837 * toplev.c (dump_file_index): Add DFI_tracer.
6838 (dump_file_info): Add tracer.
6839 (flag_tracer): New.
6840 (lang_indepdenent_options): Add tracer.
6841 (rest_of_compilation): Call tracer.
6842 * tracer.c: New file.
6843 * invoke.texi (-ftracer): Document.
6844 (--param tracer-*): Document.
6845
e2405951
DB
68462002-06-01 Daniel Berlin <dberlin@dberlin.org>
6847
6848 * tree-inline.c (expand_call_inline): Make the statement
33005162 6849 expression we generate have a COMPOUND_STMT.
e2405951 6850
0e3f0221
RS
68512002-06-01 Roger Sayle <roger@eyesopen.com>
6852
6853 * gcse.c (cprop_cc0_jump): Function deleted.
6854 (cprop_jump): Take an additional argument which is the possibly
6855 NULL cc setting insn immediately before the conditional jump.
6856 When a MODE_CC set is present, substitute it into the JUMP_INSN
6857 before attempting the constant propagation.
6858 (cprop_insn): Recognize cc setters followed by conditional jumps
6859 as a special case. Use cprop_jump instead of cprop_cc0_jump.
6860 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
6861 (find_bypass_set): New function based upon find_avail_set used by
6862 cprop, but finds constant expressions available at the end of
6863 basic blocks.
6864 (bypass_block): New function. Given a basic block that begins
6865 with a conditional jump and multiple incoming edges, perform
6866 the jump bypass optimization.
6867 (bypass_conditional_jumps): New function. Call bypass_block with
6868 each suitable basic block in the CFG using a simple single pass.
6869
378393da
RS
68702002-06-01 Roger Sayle <roger@eyesopen.com>
6871
6872 * tree.c (real_minus_onep): New function to test for -1.0.
6873 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
6874
01c58f26
RS
68752002-06-01 Roger Sayle <roger@eyesopen.com>
6876
6877 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
6878 and "!p && !q" into "(p|q) == 0" under suitable conditions.
6879
91b12472
AJ
68802002-06-01 Andreas Jaeger <aj@suse.de>
6881
6882 * cppexp.c (cpp_classify_number): Cast precission to int for
6883 correct printf format.
6884
01e9ae86
MM
68852002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
6886
6887 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
6888 expected, but don't really exist: atmega83, atmega85, attiny10.
6889 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
6890 emulations for all devices.
6891 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
6892 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
6893
be1e06df
KH
68942002-06-01 Kazu Hirata <kazu@cs.umass.edu>
6895
6896 * config/h8300/h8300-protos.h: Add a prototype for
6897 h8300_shift_needs_scratch_p.
6898 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
6899 * config/h8300/h8300.h (OK_FOR_R): New.
6900 (OK_FOR_S): Likewise.
6901 (OK_FOR_T): Likewise.
6902 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
6903 * config/h8300/h8300.md (anonymous shift patterns): Use
6904 constraints R, S, and T.
6905
2ecfd709
ZD
6906Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6907
6908 * basic-block.h (struct basic_block_def): New field loop_father.
6909 (BB_VISITED): New flag.
6910 (struct loop): New field pred, removed field shared.
6911 (struct loops): New field parray.
6912 (LOOP_EXITS_DOMS): Removed.
6913 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
6914 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
6915 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
6916 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
6917 verify_loop_structure): Declare.
6918 * cfg.c (entry_exit_blocks): Initialize loop_father field.
6919 * cfganal.c (dfs_enumerate_from): New function.
6920 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
6921 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
6922 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
6923 flow_loop_dump, flow_loops_dump, flow_loops_free,
6924 flow_loop_tree_node_add, flow_loop_level_compute,
6925 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
6926 flow_loop_outside_edge_p): Modified for new infrastructure.
6927 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
6928 redirect_edge_with_latch_update, flow_loop_free): New static functions.
6929 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
6930 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
6931 find_common_loop, verify_loop_structure, loop_latch_edge,
6932 loop_preheader_edge): New functions.
6933 (flow_loops_cfg_dump): Do not show dominators, as this information
6934 does not remain up to date long.
6935 (flow_loops_find): Store results in new format.
6936 * predict.c (propagate_freq, estimate_probability,
6937 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
6938 infrastructure.
6939
d9763749 69402002-06-01 Alan Lehotsky <apl@alum.mit.edu>
91b12472 6941
d9763749
AL
6942 * except.c (nothrow_function_p): Walk epilogue delay list
6943 checking the insn, not the chain for potential throws.
91b12472 6944
1e730c5c
ZW
69452002-05-31 Zack Weinberg <zack@codesourcery.com>
6946
6947 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
6948 (install): Refer to install-cpp directly.
6949 (uninstall-cpp): Folded into uninstall rule.
6950 * configure.in: Delete all code relating to --disable-cpp.
6951 * configure: Regenerate.
6952 * config/t-install-cpp: Delete.
6953
6f9b006d
RH
69542002-05-31 Richard Henderson <rth@redhat.com>
6955
6956 * configure.in (HAVE_AS_TLS): Add alpha tests.
6957 * configure: Rebuild.
6958 * config/alpha/alpha.c (TARGET_AS_TLS): New.
6959 (alpha_tls_size, alpha_tls_size_string): New.
6960 (overide_options): Set it. Always install machine_status hooks.
6961 (input_operand): Accept got tls predicates.
6962 (local_symbol_p): Merge into ...
6963 (local_symbolic_operand): ... here. Reject tls symbols.
6964 (global_symbolic_operand): Likewise.
6965 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
6966 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
6967 (tp16_symbolic_operand, tp32_symbolic_operand): New.
6968 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
6969 (alpha_encode_section_info): Handle TLS symbols.
6970 (alpha_strip_name_encoding): Likewise.
6971 (alpha_legitimate_address_p): Likewise.
6972 (alpha_legitimize_address): Likewise.
6973 (alpha_expand_mov): Early exit to avoid nop moves.
6974 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
6975 (alpha_init_machine_status, alpha_mark_machine_status,
6976 alpha_free_machine_status): Always define.
6977 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
6978 (print_operand, print_operand_address): Add TLS relocs.
6979 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
6980 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
6981 (TARGET_SWITCHES): Add -mtls-kernel.
6982 (alpha_tls_size, alpha_tls_size_string): New.
6983 (TARGET_OPTIONS): Add -mtls-size=.
6984 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
6985 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
6986 (ASM_OUTPUT_LABELREF): Skip %.
6987 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
6988 (PREDICATE_CODES): Update.
6989 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
6990 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
6991 UNSPEC_TP, UNSPECV_SET_TP): New.
6992 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
6993 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
6994 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
6995 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
6996 (call_value_osf_2_er): Accept anything as op4.
6997 * config/alpha/alpha-protos.h: Update.
6998 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
6999
39e5db1a
ZW
70002002-05-31 Zack Weinberg <zack@codesourcery.com>
7001
7002 * cppinit.c (append_include_chain): Always pay attention to
7003 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
7004 marker on argument.
7005
41077ce4
KH
70062002-05-31 Kazu Hirata <kazu@cs.umass.edu>
7007
7008 * target.h: Fix formatting.
7009 * timevar.h: Likewise.
7010 * tlink.c: Likewise.
7011 * toplev.c: Likewise.
7012 * toplev.h: Likewise.
7013 * tree.c: Likewise.
7014 * tree-dump.h: Likewise.
7015 * tree.h: Likewise.
7016 * tree-inline.h: Likewise.
7017 * unroll.c: Likewise.
7018 * unwind-dw2.c: Likewise.
7019 * unwind-dw2-fde.c: Likewise.
7020 * unwind-dw2-fde-glibc.c: Likewise.
7021 * unwind-dw2-fde.h: Likewise.
7022 * unwind.h: Likewise.
7023 * unwind-sjlj.c: Likewise.
7024 * varasm.c: Likewise.
7025 * varray.h: Likewise.
7026 * vmsdbg.h: Likewise.
7027 * vmsdbgout.c: Likewise.
7028 * xcoffout.h: Likewise.
7029
b2e426a0
IS
70302002-05-31 Igor Shevlyakov <igor@microunity.com>
7031
1e730c5c 7032 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
b2e426a0
IS
7033 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
7034
8b968bd1
MW
70352002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
7036
7037 * gcc.c (cpp_unique_options): Remove "-d" options.
7038 (cpp_debug_options): New spec string.
7039 (default_compilers): Use it.
7040 * objc/lang-specs.h: Likewise.
7041
5c35940c
NN
70422002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
7043
1e730c5c 7044 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
5c35940c
NN
7045 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
7046 * gcc/mklibgcc.in: Likewise.
7047 * gcc/config/arc/t-arc: Likewise.
7048 * gcc/configure.in: Likewise.
7049 * gcc/configure: Regenerate.
7050
8b496ceb
SS
70512002-05-31 Stan Shebs <shebs@apple.com>
7052 Turly O'Connor <turly@apple.com>
7053
7054 * c-decl.c (struct binding_level): Change int field n_incomplete
7055 to tree list incomplete_list.
7056 (clear_binding_level): Init field with NULL.
7057 (pushdecl): Add incomplete type to list.
7058 (mark_binding_level): Mark the incomplete list.
7059 (finish_struct): Scan the incomplete list for types instead
7060 of all decls in the current binding level.
7061
4722213d
JDA
70622002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
7063
7064 * pa.c (output_millicode_call): Add missing '%' characters.
7065 (output_call): Likewise.
7066
1086fcb1
DE
70672002-05-31 David Edelsohn <edelsohn@gnu.org>
7068
7069 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
7070 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
7071
afdfb380 70722002-05-31 Alan Lehotsky <apl@alum.mit.edu>
91b12472 7073
afdfb380
AL
7074 * varasm.c (mark_constant_pool): Walk epilogue delay list
7075 checking the insn, not the chain for potential constants.
1e730c5c 7076
f2df45f6
R
7077Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
7078
7079 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
7080
91ea38f9
JH
7081Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
7082
7083 * i386.c (classify_argument): Properly handle base types.
7084
7085 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
7086 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
7087 registers.
7088
10d1bb36
JH
7089Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
7090
7091 * gcse.c (gcse_emit_move_after): New.
7092 (pre_delete, hoist_store): Use it.
7093
7094 * reload1.c (emit_input_reload_insns): Use constrain_operands
7095 instead of constraint_accepts_reg_p to verify optimization.
7096 (constraint_accepts_reg_p): Kill
7097
7098 * reload1.c (reload_cse_delete_noop_set): Kill.
7099 (reload_cse_simplify): use delte_insn_and_edges.
7100
8a72fb76
ZD
71012002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7102
7103 * cfgloop.c (flow_loops_find): Initialize first and last fields
7104 correctly.
7105
a9da2e5b
NB
71062002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
7107
7108 * c-common.c (builtin_define_std): Correct logic.
7109
6248c4dd
JDA
71102002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
7111
7112 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
7113 (output_call): Likewise.
7114
d499455b
JDA
71152002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
7116
7117 * pa.c: Move output.h include after tree.h include.
7118 (pa_asm_output_mi_thunk): Constify identifier lab.
7119
2eb2901a
JT
71202002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
7121
7122 * config/ns32k/ns32k.h: Define named constants for the
7123 bits in target_flags and use them.
7124 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
7125
806bf413
JDA
71262002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
7127
7128 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
7129 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
7130 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
7131 default scheduling model.
7132 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
7133 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
7134 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
7135 * doc/install.texi (hppa*-*-*): Document default scheduling.
7136
6d8d2bbc
JDA
71372002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
7138
7139 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
7140
c8eb9785
JT
71412002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
7142
7143 * config.gcc (ns32k-*-netbsd*): Set tm_file to
7144 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
7145 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
7146 netbsd.h, or netbsd-aout.h.
7147
6e2e5b6a
JT
71482002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
7149
7150 * longlong.h (count_trailing_zeros): Add missing \, and clean up
7151 whitespace in __ns32000__ case.
7152
00182e1e
AH
71532002-05-31 Aldy Hernandez <aldyh@redhat.com>
7154
1e730c5c
ZW
7155 * expr.c (expand_expr): Output partially zeroed out vectors with
7156 output_constant_def.
00182e1e 7157
b4eb03fe
JT
71582002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
7159
7160 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
7161 (sh-*-netbsdelf*)
7162 (shl*-*-netbsdelf*): New targets.
7163 * config/sh/netbsd-elf.h: New file.
8fd0df91 7164 * config/sh/t-netbsd: New file.
b4eb03fe 7165
261376e7
RH
71662002-05-30 Richard Henderson <rth@redhat.com>
7167 Eric Botcazou <ebotcazou@multimania.com>
7168
7169 PR optimization/6822
7170 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
7171 to unsigned int for op1 comparisons. Use gen_int_mode.
7172
ce60bf25
EB
71732002-05-30 Eric Botcazou <ebotcazou@multimania.com>
7174
7175 * expmed.c (const_mult_add_overflow_p): New.
7176 * expr.h: Declare it.
7177 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
7178 Don't eliminate the biv if the giv has a constant multiplier and
7179 the rhs argument of the comparison does satisfy the predicate.
7180 Use expand_mult_add to compute the replacement constant.
7181
d18b1ed8
OS
71822002-05-30 Osku Salerma <osku@iki.fi>
7183
7184 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
7185 (c_common_get_alias_set): Handle it.
7186 * doc/extend.texi: Document it.
7187
a7943381
RH
71882002-05-30 Richard Henderson <rth@redhat.com>
7189
7190 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
7191 * toplev.c (process_options): Don't check it.
7192 * doc/tm.texi: Don't document it.
7193 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
7194 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
7195 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
7196 frame pointer optimization if current_function_profile.
7197
e11e816e
KH
71982002-05-30 Kazu Hirata <kazu@cs.umass.edu>
7199
7200 * langhooks.c: Fix formatting.
7201 * langhooks.h: Likewise.
7202 * lcm.c: Likewise.
7203 * libgcc2.c: Likewise.
7204 * lists.c: Likewise.
7205 * local-alloc.c: Likewise.
7206 * loop.c: Likewise.
7207 * loop.h: Likewise.
7208
72092002-05-30 Marc Espie <espie@openbsd.org>
7210
7211 * config.gcc (sparc64-*-openbsd*): New.
7212 * config/sparc/openbsd1-64.h: New.
7213 * config/sparc/openbsd64.h: New.
91f0fcee 7214
d35dfca9
JL
72152002-05-30 Jeff Law <law@redhat.com>
7216
7217 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
7218 a dead insn with a REG_RETVAL note when the entire libcall is not
7219 dead and remove the associated REG_LIBCALL note at the same time.
7220
81b40b72
R
7221Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
7222
7223 * lcm.c (output.h): #include.
7224 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
7225 as an ordinary block.
7226 (optimize_mode_switching): Don't pretend that the exit block is
7227 an ordinary block, or handle sucessors of entry block specially.
7228 Instead, split edges from entry block and to exit block, and
7229 put a computing definition on the thus gained post-entry-block,
7230 and a need on the pre-exit-block.
7231
c8ea9a0f
JH
7232Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
7233
7234 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
7235 * rtl.texi: Document 'B'
7236
348f0869
JT
72372002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
7238
7239 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
7240 at run-time.
7241 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
7242
9a171fcd
AH
72432002-05-30 Aldy Hernandez <aldyh@redhat.com>
7244
1e730c5c
ZW
7245 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
7246 const0_rtx instead of NULL_RTX when in error.
7247 (altivec_expand_abs_builtin): Same.
7248 (rs6000_expand_binop_builtin): Same.
7249 (altivec_expand_predicate_builtin): Same.
7250 (altivec_expand_stv_builtin): Same.
7251 (rs6000_expand_ternop_builtin): Same.
7252 (altivec_expand_builtin): Same.
9a171fcd 7253
62a35e60
DM
72542002-05-29 David S. Miller <davem@redhat.com>
7255
7256 * rtl.h (clear_emit_caches): Delete.
7257 * integrate.c (output_inline_function): Don't call it.
7258 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
7259 (clear_emit_caches): Delete definition.
7260 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
7261
cbc39da8
HPN
72622002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
7263
7264 * config/mmix/mmix.c: Include real.h.
7265 (mmix_constant_address_p): Remove redundant test before switch.
7266
50efa737
JT
72672002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7268
7269 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
7270 only if not already defined.
7271
2e760b15
KH
72722002-05-29 Kazu Hirata <kazu@cs.umass.edu>
7273
7274 * config/h8300/h8300-protos.h: Remove prototypes for
7275 ok_for_bclr and small_power_of_two.
7276 * config/h8300/h8300.c (small_power_of_two): Remove.
7277 (ok_for_blcr): Likewise.
7278 (fix_bit_operand): Make WHAT deal with an integer instead of a
7279 constraint character.
7280 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
7281 (CONST_OK_FOR_P): Likewise.
7282 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
7283 CONST_OK_FOR_P any more.
7284 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
7285 of fix_bit_operand.
7286 (iorqi3): Likewise.
7287 (xorqi3): Likewise.
7288
e1c293ae
JT
72892002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7290
7291 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
7292 (CPP_PREDEFINES): Make sure this is undefined.
7293 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
7294 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
7295 or -U__MIPSEB__ before defining one or the other. Instead,
7296 use %(subtarget_endian_default) if neither -EB nor -EL are
7297 specified.
7298 (SUBTARGET_EXTRA_SPECS): Define.
7299 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
7300 %(netbsd_cpp_spec).
7301
fde6d81f
HPN
73022002-05-29 Hans-Peter Nilsson <hp@axis.com>
7303
7304 * doc/md.texi (Patterns): Note pattern condition pitfall
7305 for unnamed insn.
7306
92898235
AH
73072002-05-29 Aldy Hernandez <aldyh@redhat.com>
7308
1e730c5c
ZW
7309 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
7310 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
7311 ternary operations from here...
7312 (rs6000_expand_builtin): ...to here.
7313 New argument expandedp.
7314 Change all instances of altivec_expand_binop_builtin to
7315 rs6000_expand_binop_builtin.
7316 (altivec_expand_unop_builtin): Rename to
7317 rs6000_expand_unop_builtin.
7318 (altivec_expand_binop_builtin): Rename to
7319 rs6000_expand_binop_builtin.
7320 (altivec_expand_ternop_builtin): Rename to
7321 rs6000_expand_ternop_builtin.
92898235 7322
67adf6a9
RH
73232002-05-29 Richard Henderson <rth@redhat.com>
7324
7325 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
7326 (TARGET_BI_ARCH): Likewise.
7327 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
7328 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
7329 (TARGET_64BIT_DEFAULT): Default to 0.
7330 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
7331
145aacc2
RH
73322002-05-29 Richard Henderson <rth@redhat.com>
7333
7334 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
7335 (get_pc_thunk_name): New.
7336 (output_set_got): Use it.
7337 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
7338 into linkonce sections.
7339
a5b49bbc
JT
73402002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7341
7342 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
7343 (CPP_PREDEFINES): Make sure this is undefined.
7344 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
7345 (CPP_SUBTARGET_SPEC): Don't provide different versions for
7346 default-32 and default-64. Just always use %(netbsd_cpp_spec).
7347 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
7348 cpp_subtarget_spec64. Add netbsd_cpp_spec.
7349 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
7350 (CPP_PREDEFINES): Make sure this is undefined.
7351 (SUBTARGET_EXTRA_SPECS): Define.
7352 (CPP_SPEC): Use %(netbsd_cpp_spec).
7353
54374491
JL
73542002-05-29 Jeff Law <law@redhat.com>
7355
ae02eae8
JL
7356 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
7357
b862c2aa
JL
7358 * flow.c (propagate_one_insn): Do not remove a dead insn if it
7359 contains a REG_RETVAL note.
7360
d10791ba
JL
7361 * haifa-sched (sched_analyze): Remove another useless clearing
7362 of SCHED_GROUP_P I missed yesterday.
7363
54374491
JL
7364 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
7365 * pa.c (pa_asm_output_mi_thunk): New function.
7366 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
7367
92c392e6
NB
73682002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
7369 Marek Michalkiewicz <marekm@amelek.gda.pl>
7370
7371 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
7372 (avr_asm_only_p): Make non-static.
7373 (enum avr_arch): Remove.
7374 (avr_arch_types): New.
7375 (avr_mcu_types): Update.
7376 (avr_override_options): Use avr_arch_types table instead of switch.
7377 * avr.h (CPP_PREDEFINES): Die.
7378 (avr_base_arch_macro, avr_extra_arch_macro): New.
7379 (TARGET_CPU_CPP_BUILTINS): New.
7380 (CPP_SPEC, EXTRA_SPECS): Simplify.
7381 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
7382 CPP_AVR5_SPEC): Die.
7383
4528173e
JT
73842002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7385
7386 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
7387 NETBSD_OS_CPP_BUILTINS_AOUT.
7388 (SUBTARGET_EXTRA_SPECS): Define.
7389 (CPP_SPEC): Use %(netbsd_cpp_spec).
7390
bd09bdeb
RH
73912002-05-29 Richard Henderson <rth@redhat.com>
7392
7393 * config/i386/i386.c (ix86_output_function_epilogue): New.
7394 (TARGET_ASM_FUNCTION_EPILOGUE): New.
7395 (pic_label_name): Remove.
7396 (pic_labels_used): New.
7397 (ix86_asm_file_end): Emit one pc load stub for each register used.
7398 (output_set_got): Generate deep pc load to any register.
7399 (ix86_select_alt_pic_regnum): New.
7400 (ix86_save_reg): Don't save pic register if we can find a valid
7401 call-clobbered replacement.
7402 (ix86_expand_prologue): If we found a valid replacement, renumber
7403 pic_offset_table_rtx.
7404 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
7405 pic_offset_table_rtx after reload.
7406 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
7407 * config/i386/i386.md (set_got): Make insn, not expander.
7408 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
7409
002ff5bc
RH
74102002-05-29 Richard Henderson <rth@redhat.com>
7411
7412 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
7413 alignment for alloca.
7414
edfe8595
RH
74152002-05-29 Richard Henderson <rth@redhat.com>
7416
7417 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
7418 (print_operand_address): Only add rip for symbolic addresses
7419 for which we do not have another relocation type.
7420
cd7714ee
JT
74212002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7422
7423 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
7424 (EXTRA_SPECS): Add netbsd_cpp_spec.
7425 (CPP_SPEC): Use %(netbsd_cpp_spec).
7426 (CPP_PREDEFINES): Remove.
7427 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
7428 (EXTRA_SPECS): Define.
7429 (CPP_SPEC): Use %(netbsd_cpp_spec).
7430 (CPP_PREDEFINES): Remove.
7431
8dc901de
NB
74322002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
7433
7434 PR preprocessor/6844
7435 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
7436 NUL.
7437
2274b31a
EC
74382002-05-29 Eric Christopher <echristo@redhat.com>
7439
7440 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
7441 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
7442
5c7666c1
NC
74432002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
7444
7445 * config/fr30/fr30.md: Remove previous restriction on splits.
7446 Enforce conformance through gen_lowpart and cont_int_operand.
1e730c5c 7447 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
5c7666c1
NC
7448 as the assembler does not support ".bss".
7449
45beef47
JT
74502002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7451
7452 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
7453 (CPP_PREDEFINES): Remove.
7454 (SUBTARGET_EXTRA_SPECS): Define.
7455 (CPP_SPEC): Use %(netbsd_cpp_spec).
7456 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
7457 (CPP_PREDEFINES): Remove.
7458 (SUBTARGET_EXTRA_SPECS): Define.
7459 (CPP_SPEC): Use %(netbsd_cpp_spec).
7460 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
7461 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
7462 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
7463 Add netbsd_cpp_spec.
7464 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
7465
cd7ab83f
NB
74662002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
7467 Zack Weinberg <zack@codesourcery.com>
7468
7469 * cppexp.c (cpp_num): Move to cpplib.h.
7470 (CPP_ERROR): Remove.
7471 (interpret_float_suffix, interpret_int_suffix): New.
7472 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
7473 (cpp_classify_number, cpp_interpret_integer): New.
7474 (interpret_number): Remove.
7475 (eval_token): Update to use new routines.
7476 * cpphash.h (cpp_num_part): Move to cpplib.h.
7477 * cppinit.c (cpp_post_options): Set warn_long_long.
7478 * cpplib.h (struct cpp_options): Add warn_long_long.
7479 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
7480 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
7481 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
7482 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
7483 cpp_interpret_integer): New.
7484
61a8515c
JS
74852002-05-29 Joel Sherrill <joel@OARcorp.com>
7486
7487 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
7488
53a428b5
JT
74892002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7490
7491 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
2274b31a
EC
7492 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
7493 (CPP_SUBTARGET_SPEC): Define.
7494 (SUBTARGET_EXTRA_SPECS): Define.
53a428b5
JT
7495 (CPP_SPEC): Remove.
7496
45b1f7c7
CL
74972002-05-29 Chris Lattner <sabre@nondot.org>
7498
1e730c5c
ZW
7499 * ssa.c (rename_insn_1): Rename uses of undefined registers to
7500 prevent confusion if/when the register is defined.
45b1f7c7 7501
049746c2
HPN
75022002-05-29 Hans-Peter Nilsson <hp@axis.com>
7503
7504 PR target/6838
7505 * config/cris/cris.md: Fix typos and thinkos in comments.
7506 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
7507 second alternative.
7508 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
7509 ("*mov_sideqi_mem"): Similar, but for operand 3.
7510 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
7511 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
7512 Remove spurious mode specifier on operand 2.
7513
4d4d89e2
KH
75142002-05-29 Kazu Hirata <kazu@cs.umass.edu>
7515
7516 * config/h8300/h8300-protos.h: Remove the prototype for
7517 o_operand.
7518 Add prototypes for single_one_operand and single_zero_operand.
7519 * config/h8300/h8300.c (o_operand): Remove.
7520 (single_one_operand): New.
7521 (single_zero_operand): Likewise.
7522 (print_operand): For 'V' operand, and the operand with 0xff.
7523 For 'V' and 'W' operands, do not and the bit position with 7.
7524 * config/h8300/h8300.md (various anonymous patterns): Replace
7525 use of exact_log2 with single_one_operand/single_zero_operand.
7526
abd6ddec
UW
75272002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
7528
7529 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
7530
da06d85a
UW
75312002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
7532
7533 * config/s390/s390.c (legitimate_pic_operand_p): Do not
7534 accept symbolic LARL operands.
2274b31a 7535 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
da06d85a 7536 epilogue insns.
2274b31a 7537
f8766020
HP
75382002-05-29 Hartmut Penner <hpenner@de.ibm.com>
7539
7540 * config/s390/s390.md (cmpstr_64/31): Mark whole
2274b31a 7541 input registers as used.
f8766020 7542
66edd3b4
RH
75432002-05-28 Richard Henderson <rth@redhat.com>
7544
7545 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
7546 not current_function_uses_pic_offset_table and
7547 current_function_uses_const_pool; examine current_function_profile.
7548 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
7549 input to blockage if needed.
7550 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
7551 (legitimize_pic_address): Likewise. Set regs_ever_live for
7552 pic_offset_table_rtx when invoked during reload.
7553 * config/i386/i386.h (FINALIZE_PIC): Remove.
7554 * config/i386/i386.md (tablejump): Reformat. Do not set
7555 current_function_uses_pic_offset_table.
7556 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
7557 (blockage): Accept anything as operand 0.
7558
52f4fff6
JT
75592002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
7560
7561 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
7562 common CPP built-ins for all NetBSD a.out targets.
7563 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
7564 common CPP built-ins for all NetBSD ELF targets.
7565 * config/netbsd.h: Add missing notice.
7566 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
7567 for all NetBSD targets.
7568 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
7569 for all NetBSD targets using an LP64 code model.
7570 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
7571 NetBSD targets.
7572
e0e577a2
RH
75732002-05-28 Richard Henderson <rth@redhat.com>
7574
7575 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
7576 update if UPDATE_LIFE_LOCAL.
7577
75782002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
62526ec3
TM
7579
7580 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
7581
f1a58d92 7582Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1e730c5c 7583 Jason R. Thorpe <thorpej@wasabisystems.com>
f1a58d92
R
7584
7585 config/sh reorganization to factor out endianness and coff:
7586
7587 * config/sh/little.h: New file.
1e730c5c
ZW
7588 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
7589 defined, define to 0 to select big-endian.
f1a58d92 7590 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
1e730c5c
ZW
7591 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
7592 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
7593 * config/sh/t-be: New file.
7594 * config/sh/t-le: New file.
f1a58d92
R
7595
7596 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
7597 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
7598 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
7599 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
7600 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
7601 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7602 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
7603 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
7604 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
7605 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
7606 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
7607 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
7608 (LINK_SPEC): Define to SH_LINK_SPEC.
7609 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
7610 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
7611 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
7612 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
7613 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
7614 * config/sh/coff.h: New file.
7615 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
7616 (TARGET_OBJFMT_CPP_BUILTINS): Define.
7617 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
7618 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
7619 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
7620 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
7621 (PTRDIFF_TYPE): Likewise.
7622 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
7623 (CPP_PREDEFINES): Don't define.
7624 (TARGET_OBJFMT_CPP_BUILTINS): Define.
7625 (LINK_SPEC): Define to SH_LINK_SPEC.
7626 (LINK_EMUL_PREFIX): Redefine.
7627 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
7628 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
7629 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
7630 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
7631 (TARGET_OS_CPP_BUILTINS): Define.
7632 (TARGET_DEFAULT): Redefine.
7633 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
7634 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
7635 (LINK_SPEC): Don't redefine.
7636 (LINK_DEFAULT_CPU_EMUL): Redefine.
7637 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
7638 * sh.c (sh_asm_named_section): Don't declare / define.
7639 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
7640 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
7641 (sh64-*-elf* tm_file): Likewise.
7642 (sh-*-rtemself* tm_file): Likewise.
7643 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
7644 (sh-*-linux* tmake_file): Add sh/t-le.
7645 (sh-*-rtems* tm_file): Add sh/coff.h
7646 (sh-*-* tm_file): Likewise.
7647
7648Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
7649
7650 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
7651 CONSTANT_POOL_ADDRESS_P.
7652
7653 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
7654
d10791ba 76552002-05-28 David Edelsohn <edelsohn@gnu.org>
33a3dfc4
DE
7656 Jeff Law <law@redhat.com>
7657
64de6c0a
DE
7658 * optabs.c (expand_binop): Fix nwords sign warnings.
7659 generate pseudo for add_optab.
7660
33a3dfc4
DE
7661 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
7662 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
7663
972957ba 76642002-05-28 Marc Espie <espie@openbsd.org>
33a3dfc4 7665
2274b31a 7666 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
972957ba
ME
7667 inherited from gas.h.
7668 (ASM_QUAD): Undef. OpenBSD does not support it.
7669
cc92b8ab
DS
76702002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
7671
7672 * doc/install.texi (binaries): Change mingw binaries
7673 link to www.mingw.org.
7674
f8088d55
ZD
76752002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7676
7677 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
7678
0b7ae565
RH
76792002-05-28 Richard Henderson <rth@redhat.com>
7680
7681 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
7682 bottom alignment for leaf functions.
7683
16069d69
ZW
76842002-05-28 Zack Weinberg <zack@codesourcery.com>
7685
7686 * config/pa/milli32.S, config/pa/lib1funcs.asm,
7687 config/sparc/sol2-g1.asm: Delete unused files.
7688
04653686
RH
76892002-05-28 Richard Henderson <rth@redhat.com>
7690
7691 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
7692
f3ea5f6a
RH
7693 * flow.c (calculate_global_regs_live): Rename call_used to
7694 invalidated_by_call. Initialize from regs_invalidated_by_call
7695 instead of call_used_regs.
7696
923c7cdf
RH
7697 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
7698 DECL_EXTERNAL.
7699
11ad4784
ZW
77002002-05-28 Zack Weinberg <zack@codesourcery.com>
7701
8abbd76a
ZW
7702 * tree.h: Don't include real.h.
7703 Forward-declare struct realvaluetype.
11ad4784
ZW
7704 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
7705 contain it.
7706 (TREE_REAL_CST_PTR): New accessor.
7707 (TREE_REAL_CST): Update.
7708 * real.h: Include machmode.h.
2274b31a 7709 (realvaluetype): Make it struct realvaluetype, not a typedef.
11ad4784
ZW
7710 (build_real): Prototype here.
7711
7712 * tree.c: Include real.h.
2274b31a
EC
7713 (build_real): Allocate the REAL_VALUE_TYPE as a separate
7714 object in GC memory, set TREE_REAL_CST_PTR to point to it.
11ad4784
ZW
7715 (build_real_from_int_cst): Use build_real.
7716 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
7717 REAL_CST.
7718
7719 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
7720 fold-const.c, print-tree.c, real.c: Include real.h.
7721 * Makefile.in: Update dependency lists.
7722
bf77398c
ZD
77232002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7724
7725 * basic-block.h (last_basic_block): Declare.
7726 (expunge_block_nocompact): Declaration removed.
7727 (compact_blocks): Declare.
7728 * cfg.c (last_basic_block): New variable.
7729 (expunge_block_nocompact): Removed.
7730 (expunge_block): Do not compact basic blocks.
7731 (compact_blocks): New.
7732 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
7733 longer change.
7734 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
7735 last_basic_block.
7736 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
7737 real positions of blocks.
7738 (delete_unreachable_blocks): Simplified -- quadratic behavior now
7739 cannot occur.
7740 (cleanup_cfg): Compact blocks.
7741 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
7742 basic_block_info varray.
7743 (flow_delete_block): Comment update.
7744 (back_edge_of_syntactic_loop_p): Modify position check code.
7745 (verify_flow_info): Update checking.
7746 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
7747 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
7748 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
7749 indices no longer change.
7750 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
7751 last_basic_block.
7752 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
7753 * profile.c (branch_prob): Compact blocks.
7754 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
7755 last_basic_block.
7756
ae12a094
KH
77572002-05-28 Kazu Hirata <kazu@cs.umass.edu>
7758
7759 * config/h8300/h8300.md (two anonymous patterns): New.
7760
c6172f14
DM
77612002-05-28 David S. Miller <davem@redhat.com>
7762
7763 * config/sparc/sparc.md (cpu): Tidy.
7764 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
7765 'trap'.
7766 (in_call_delay): Delete reference to 'return' type.
7767 (eligible_for_return_delay, in_return_delay, define_delay
7768 referencing those): Delete.
7769 (rest of file): Use new type attributes as appropriate.
7770 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
7771 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
7772 * config/sparc/ultra1_2.md (us1_single): New reservation.
7773 (us1_ialuX): Likewise.
7774 * config/sparc/ultra3.md (us3_single): Likewise.
7775 (us3_ialuX): Likewise.
7776 (us3_imul, us3_idiv): Tweak.
2274b31a 7777
34a6c2ec
RH
77782002-05-28 Richard Henderson <rth@redhat.com>
7779
7780 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
7781 STRING_CST.
7782
9c075570
RH
77832002-05-28 Richard Henderson <rth@redhat.com>
7784
7785 * config.gcc: Obsolete mn10200.
7786
359b0bec
NB
77872002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
7788
7789 * cppexp.c (interpret_number): Optimize for single-digit
7790 and less-than-half-precision cases.
7791 (num_trim, num_positive, num_div_op): Cast constants.
7792
4075db8f
BT
77932002-05-27 Bo Thorsen <bo@suse.de>
7794
7795 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
7796 3.1 branch. The file was made by Jakub Jelinek.
7797 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
7798 support so multilib doesn't break. And don't define this at all
7799 when -Dinhibit_libc is used.
7800 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
7801 * config/i386/t-linux64: Implement full multilib support. Patch
7802 originally done by Andreas Jaeger and Jakub Jelinek.
7803
39f2f3c8
RS
78042002-05-27 Roger Sayle <roger@eyesopen.com>
7805
7806 * c-common.c: Add support for __attribute__((nothrow)) to specify
7807 that a function cannot throw an exception (using TREE_NOTHROW).
7808 (handle_nothrow_attribute): New function to process this attribute.
7809
7810 * doc/extend.texi: Document the new nothrow function attribute.
7811
d51b0053
L
78122002-05-27 H.J. Lu (hjl@gnu.org)
7813
7814 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
7815 (num_positive): Likewise.
7816 (num_div_op): Likewise.
7817
630363b4
NB
78182002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
7819
7820 * c-common.c (c_common_init): Always use intmax_t.
7821
d94cde01
NB
78222002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
7823
7824 * c-common.c (c_common_init): Use intmax_t for now.
7825
57f851a3
AH
78262002-05-24 Andrew Haley <aph@redhat.com>
7827
7828 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
7829 if T is a boolean type.
7830
d55bc081
ZD
78312002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7832
7833 * basic-block.h (last_basic_block): Defined as synonym for
7834 n_basic_blocks.
7835 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
7836 flow_depth_first_order_compute, flow_preorder_transversal_compute,
7837 flow_dfs_compute_reverse_init): Replaced relevant occurences of
7838 n_basic_blocks with last_basic_block.
7839 * cfgbuild.c (make_edges): Likewise.
7840 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
7841 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
7842 * combine.c (combine_instructions): Likewise.
7843 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
7844 iterative_dataflow_bitmap): Likewise.
7845 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
7846 calc_idoms, idoms_to_doms): Likewise.
7847 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
7848 Likewise.
7849 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
7850 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
7851 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
7852 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
7853 delete_null_pointer_checks, compute_code_hoist_vbeinout,
7854 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
7855 compute_store_table, build_store_vectors): Likewise.
7856 * haifa-sched.c (sched_init): Likewise.
7857 * ifcvt.c (if_convert): Likewise.
7858 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
7859 pre_edge_lcm, compute_available, compute_nearerout,
7860 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
7861 Likewise.
7862 * predict.c (estimate_probability, process_note_prediction,
7863 note_prediction_to_br_prob): Likewise.
7864 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
7865 * recog.c (split_all_insns, peephole2_optimize): Likewise.
7866 * regrename.c (copyprop_hardreg_forward): Likewise.
7867 * resource.c (init_resource_info): Likewise.
7868 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
7869 init_regions, schedule_insns): Likewise.
7870 * ssa-ccp.c (ssa_const_prop): Likewise.
7871 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
7872 * ssa.c (compute_dominance_frontiers,
7873 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
7874
7875 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
7876 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
7877 sizes consistently.
7878
71d2c5bd
JH
7879Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
7880
7881 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
7882 new.
7883 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
7884 hoist_insn_after, hoist_insn_to_edge): New.
7885
5149f070
JH
7886Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
7887
7888 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
7889 (PROP_FINAL): Include.
7890 * flow.c (life_analysis, update_life_info,
7891 init_propagate_block_info, mark_set_1, mark_used_rgs):
7892 Support SCAN_DEAD_STORE.
7893
c9220e3a
NB
78942002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
7895
7896 * c-common.c (c_common_init): Set CPP arithmetic precision.
7897 * cppexp.c (cpp_num_part): Move typedef ...
7898 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
7899 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
7900 (sanity_checks): Update.
7901
e34a3d31
GK
79022002-05-26 Geoffrey Keating <geoffk@redhat.com>
7903
7904 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
7905 (mkheaders): New rule.
7906 (install-mkheaders): New rule.
7907 * configure.in (all_outputs): Add mkheaders.
7908 * configure: Regenerate.
7909 * mkheaders.in: New file.
7910
9059e33c
JJ
79112002-05-26 Jakub Jelinek <jakub@redhat.com>
7912
7913 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
7914
291cc0fe
AJ
79152002-05-26 Andreas Jaeger <aj@suse.de>
7916
7917 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
7918
91318908
NB
79192002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
7920
7921 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
7922 right_shift): Remove.
7923 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
7924 HIGH_PART): New.
7925 (struct op): Use cpp_num.
7926 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
7927 num_part_mul, num_unary_op, num_binary_op, num_negate,
7928 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
7929 num_div_op, num_lshift, num_rshift, append_digit): New.
7930 (interpret_number, parse_defined, eval_token, reduce): Update
7931 for two-integer arithmetic.
7932 (binary_handler): New typedef.
7933 (optab): Update.
7934 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
7935 (_cpp_parse_expr, reduce): Update to handle two-integers.
7936 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
7937
331ca350
MM
79382002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
7939
7940 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
7941 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
7942 branch insn into account, do not assume 1.
7943 (avr_out_sbxx_branch): New function. Optimize cases of skipping
7944 over single word insn. Handle upper half of I/O space too.
7945 * config/avr/avr.md (*sbrx_branch): Use it.
7946 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
7947 (*sbix_branch, *sbix_branch_bit7): Likewise.
7948 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
7949 Use RTL peepholes to optimize register operand sign tests.
7950
bcb6a2be
MM
79512002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
7952
7953 * config/avr/avr.c (avr_asm_only_p): New variable.
7954 (avr_override_options): Set it here if AVR1.
7955 (asm_file_start): Test it here, report an error if set.
7956
ca7fd9cd
KH
79572002-05-26 Kazu Hirata <kazu@cs.umass.edu>
7958
7959 * alias.c: Fix formatting.
7960 * attribs.c: Likewise.
7961 * bb-reorder.c: Likewise.
7962 * bitmap.c: Likewise.
7963 * bitmap.h: Likewise.
7964 * builtins.c: Likewise.
7965
a65dc37d
JH
7966Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
7967
7968 * reload.c (find_valid_class): Accept new argument DEST,
7969 choose class accordingly.
7970 (push_reload): Update callers.
7971
9b89393b
AJ
79722002-05-26 Andreas Jaeger <aj@suse.de>
7973
7974 * combine.c (combine_instructions): Do not indent #if for
7975 traditional C.
7976
b53bb376
RH
79772002-05-25 Richard Henderson <rth@redhat.com>
7978
7979 * c-pragma.c (apply_pragma_weak): Convert value identifier to
7980 string for decl_attributes.
7981 (handle_pragma_weak): Call assemble_alias if we're modifying
7982 an existing decl.
7983
e133041b
RH
79842002-05-25 Richard Henderson <rth@redhat.com>
7985
7986 PR target/6788
7987 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
7988 using rtl instead of fprintf.
7989 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
7990 * config/sparc/sparc-protos.h: Update.
7991
81a75f0f
NB
79922002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
7993
7994 * Makefile.in (C_COMMON_H): Fix.
7995 Update other targets.
7996 * c-common.c: Don't include c-lex.h.
7997 (builtin_define_with_value): Make static and prototype.
7998 (builtin_define_std): Move from c-lex.h.
7999 * c-common.h (init_c_lex): Move from c-lex.h.
8000 * c-decl.c: Don't include c-lex.h.
8001 (make_pointer_declarator): Move from c-parse.in.
8002 * c-lex.c: Don't include c-lex.h.
8003 * c-lex.h: Remove.
8004 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
8005 (make_pointer_declarator): Move to c-decl.c.
8006 * c-pragma.c: Don't include c-lex.h.
8007 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
8008 * c-tree.h (make_pointer_declarator): New.
8009doc:
8010 * passes.texi, tm.texi: Update.
8011objc:
8012 * Make-lang.in: Update and correct.
8013 * objc-act.c: Don't include c-lex.h or cpplib.h.
8014treelang:
8015 * treetree.c: Don't include c-lex.h.
8016config:
8017 * darwin-c.c: Don't include c-lex.h.
8018 * c4x/c4x-c.c: Don't include c-lex.h.
8019 * c4x/t-c4x: Update.
8020 * i370/i370-c.c: Don't include c-lex.h.
8021 * i370/t-i370: Update.
8022 * i960/i960-c.c: Don't include c-lex.h.
8023 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
8024 * i960/t-960bare: Update.
8025 * i960/t-vxworks: Update.
8026 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
8027 * rs6000/t-darwin: Update.
8028 * rs6000/t-rs6000-c-rule: Update.
8029 * v850/v850-c.c: Don't include c-lex.h.
8030 * v850/v850.c: Don't include c-lex.h or cpplib.h.
8031
8032
04d2be8e
KH
80332002-05-25 Kazu Hirata <kazu@cs.umass.edu>
8034
8035 * tree.def: Fix typos.
8036 * doc/install.texi: Likewise.
8037
7b6e506e
RH
80382002-05-25 Richard Henderson <rth@redhat.com>
8039
8040 * configure.in (HAVE_AS_TLS): Add ia64 test.
8041 * configure: Rebuild.
8042 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
8043 (override_options): Set it.
8044 (TARGET_HAVE_TLS): New.
8045 (sdata_symbolic_operand): Look for 's'.
8046 (tls_symbolic_operand): New.
8047 (ia64_expand_load_address): Abort for tls symbols.
8048 (gen_tls_get_addr): New.
8049 (gen_thread_pointer): New.
8050 (ia64_expand_move): Split out from movdi. Handle tls symbols.
8051 (rtx_needs_barrier): Add new unspecs.
8052 (ia64_encode_section_info): Handle tls symbols.
8053 (ia64_strip_name_encoding): Strip two encoding chars.
8054 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
8055 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
8056 (TARGET_OPTIONS): Add tls-size.
8057 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
8058 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
8059 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
8060 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
8061 (movsf, movdf): Likewise.
8062 (movdi_symbolic): Use match_scratch. Don't split if we won't
8063 have a scratch availiable.
8064 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
8065 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
8066 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
8067 * config/ia64/ia64-protos.h: Update.
8068 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
8069 sdata_symbolic_operand.
8070 (ASM_OUTPUT_LABELREF): Strip two characters.
8071
8c1d52a3
KH
80722002-05-25 Kazu Hirata <kazu@cs.umass.edu>
8073
8074 * combine.c (simplify_set): Remove an unnecessary subreg.
8075
b47cae3d
MM
80762002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
8077
8078 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
8079
8080 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
8081
ce9e3a6d
GDR
80822002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
8083
8084 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
8085
fb2c6841
RS
80862002-05-25 Roger Sayle <roger@eyesopen.com>
8087
8088 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
8089 (cond (compare x y) 0) into the equivalent (cond x y).
8090
da7ac8f1
GDR
80912002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
8092
8093 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
8094
c7bdf0a6
ZW
80952002-05-24 Zack Weinberg <zack@codesourcery.com>
8096
8097 * config.gcc: Remove all stanzas for previously obsoleted
8098 systems. Where necessary, add explicit error stanzas to
8099 prevent removed systems from being misidentified as something
8100 else. Begin a fresh obsoletions list, with the systems that
8101 were reprieved last round.
8102 * doc/install.texi: Remove all mention of dead targets.
8103 * fixinc/mkfixinc.sh: Likewise.
8104
8105 * config/arm/arm.h: Bit 31 of target_flags is no longer
8106 reserved.
8107
8108 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
8109 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
8110 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
8111 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
8112 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
8113 config/alpha/osf12.h, config/alpha/osf2or3.h,
8114 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
8115 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
8116 config/clipper/clipper-protos.h, config/clipper/clipper.c,
8117 config/clipper/clipper.h, config/clipper/clipper.md,
8118 config/clipper/clix.h, config/convex/convex-protos.h,
8119 config/convex/convex.c, config/convex/convex.h,
8120 config/convex/convex.md, config/convex/fixinc.convex,
8121 config/convex/proto.h, config/elxsi/elxsi-protos.h,
8122 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
8123 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
8124 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
8125 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
8126 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
8127 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
8128 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
8129 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
8130 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
8131 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
8132 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
8133 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
8134 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
8135 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
8136 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
8137 config/m68k/altos3068.h, config/m68k/apollo68.h,
8138 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
8139 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
8140 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
8141 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
8142 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
8143 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
8144 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
8145 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
8146 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
8147 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
8148 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
8149 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
8150 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
8151 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
8152 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
8153 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
8154 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
8155 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
8156 config/mips/dec-osf1.h, config/mips/elflorion.h,
8157 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
8158 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
8159 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
8160 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
8161 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
8162 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
8163 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
8164 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
8165 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
8166 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
8167 config/ns32k/sequent.h, config/ns32k/tek6000.h,
8168 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
8169 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
8170 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
8171 config/sparc/rtems.h, config/we32k/we32k-protos.h,
8172 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
8173 Delete file.
8174
755ac5d4
RH
81752002-05-24 Richard Henderson <rth@redhat.com>
8176
8177 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
8178 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
8179 * config/i386/i386.c (tls_model_chars): Add leading space.
8180 (tls_symbolic_operand): Don't bias by 1.
8181 (legitimize_address): Don't unbias by 1.
8182
c429f12e
TM
81832002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
8184
8185 * lcm.c (optimize_mode_switching): Change bb used as indices
8186 to bb->index.
8187
8beda321
RH
81882002-05-24 Richard Henderson <rth@redhat.com>
8189
8190 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
8191 of update_life_info_in_dirty_blocks.
8192
90442291
JJ
81932002-05-24 Jakub Jelinek <jakub@redhat.com>
8194
8195 PR other/6782
8196 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
8197
3620711b
NB
81982002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
8199
8200 PR preprocessor/6780
8201 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
8202
2f8d482e
JB
82032002-05-24 Jim Blandy <jimb@redhat.com>
8204
8205 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
8206 entry with a type code of zero, marking the end of the compilation
8207 unit's macro info.
8208
95bfe95f
RH
82092002-05-24 Richard Henderson <rth@redhat.com>
8210
c7bdf0a6
ZW
8211 * varasm.c (asm_output_bss): Always output one byte.
8212 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 8213
7efda054
BM
82142002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
8215
8216 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
8217 namespace.
8218
8a951190
AJ
82192002-05-24 Andreas Jaeger <aj@suse.de>
8220
8221 * ggc-page.c (alloc_page): Cast variables of type size_t to
8222 unsigned long, adjust printf format string.
8223 (ggc_alloc): Likewise.
8224 (ggc_print_statistics): Likewise.
8225 (ggc_print_statistics): Correct printf format string for SCALE to
8226 use unsigned long.
8227
f29e2ec0
DS
82282002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
8229
8230 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
8231
211a0cbe 82322002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 8233 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
8234
8235 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
8236 quoted strings.
8237 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 8238 directive in assembly file.
211a0cbe
GDR
8239 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
8240 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
8241 * config/pj/pj.h (ASM_FILE_START): Likewise.
8242 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
8243 * config/avr/avr.c (asm_file_end): Likewise.
8244 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 8245 char.
211a0cbe
GDR
8246 * toplev.h (output_clean_symbol_name): Declare
8247 * toplev.c (output_clean_symbol_name): Define.
8248 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
8249 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
8250
2f0552b6
AM
82512002-05-24 Alan Modra <amodra@bigpond.net.au>
8252
8253 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
8254
b326b2c1
VM
82552002-05-23 Vladimir Makarov <vmakarov@redhat.com>
8256
8257 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
8258 of size of unsigned.
8259
f996902d
RH
82602002-05-23 Richard Henderson <rth@redhat.com>
8261
8262 * configure.in (HAVE_AS_TLS): New test.
8263 * config.in, configure: Rebuild.
8264 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
8265 (ix86_tls_dialect_string, ix86_tls_dialect): New.
8266 (override_options): Set it.
8267 (tls_model_chars, tls_symbolic_operand): New.
8268 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
8269 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
8270 (local_exec_symbolic_operand): New.
8271 (get_pic_label_name): Merge into output_set_got.
8272 (ix86_asm_file_end): Emit pic_label_name if defined.
8273 (legitimate_constant_p, constant_address_p): New.
8274 (legitimate_pic_operand_p): New.
8275 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
8276 (legitimate_address_p): Likewise.
8277 (ix86_encode_section_info): Rename from i386_; handle tls decls.
8278 (ix86_strip_name_encoding): New.
8279 (get_thread_pointer): New.
8280 (legitimize_address): Handle tls symbols.
8281 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
8282 Remove UNSPEC_PLT.
8283 (struct machine_function): Add some_ld_name.
8284 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
8285 (print_operand) [&]: Use it. Handle UNSPEC_TP.
8286 (output_addr_const_extra): New.
8287 (maybe_get_pool_constant): New.
8288 (ix86_split_to_parts): Use it.
8289 (ix86_expand_move): Handle tls symbols.
8290 (ix86_tls_get_addr): New.
8291 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
8292 (TARGET_OPTIONS): Add tls-dialect.
8293 (CONSTANT_ADDRESS_P): Use new out-of-line function.
8294 (LEGITIMATE_CONSTANT_P): Likewise.
8295 (LEGITIMATE_PIC_OPERAND_P): Likewise.
8296 (TARGET_STRIP_NAME_ENCODING): New.
8297 (ASM_OUTPUT_LABELREF): New.
8298 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
8299 (OUTPUT_ADDR_CONST_EXTRA): New.
8300 (PREDICATE_CODES): Update.
8301 (ix86_tls_dialect, ix86_tls_dialect_string): New.
8302 * config/i386/i386.md: Regroup and renumber unspec constants.
8303 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
8304 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
8305 (tls_global_dynamic, tls_local_dynamic_base): New.
8306 (tls_local_dynamic_once): New.
8307 * config/i386/i386-protos.h: Update.
8308
821e35ba
RH
83092002-05-23 Richard Henderson <rth@redhat.com>
8310
8311 * genemit.c (gen_insn): Print file:lineno comment before function.
8312 (main): likewise.
8313 * gensupport.c (struct queue_elem): Add filename member.
8314 (queue_pattern): Initialize it; update all callers.
8315 (process_include): Don't free filename.
8316 (read_md_rtx): Set read_rtx_filename.
8317
0f1ffa23 83182002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
8319
8320 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 8321
8e9fadc3
RH
83222002-05-23 Richard Henderson <rth@redhat.com>
8323
8324 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
8325
244c2241
RH
83262002-05-23 Richard Henderson <rth@redhat.com>
8327
8328 * doc/extend.texi (C++98 Thread-Local Edits): Update with
8329 commentary from Mark.
8330
e0082a72
ZD
83312002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8332
8333 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
8334 Use FOR_EACH_BB macros to iterate over basic block chain.
8335 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
8336 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
8337 Likewise.
8338 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
8339 find_unreachable_blocks, create_edge_list, verify_edge_list,
8340 remove_fake_edges, add_noreturn_fake_exit_edges,
8341 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
8342 Likewise.
8343 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
8344 find_sub_basic_blocks): Likewise.
8345 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
8346 Likewise.
8347 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
8348 Likewise.
8349 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
8350 Likewise.
8351 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
8352 commit_edge_insertions, commit_edge_insertions_watch_calls,
8353 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
8354 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
8355 * conflict.c (conflict_graph_compute): Likewise.
8356 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
8357 df_modified_p, df_refs_unlink, df_dump): Likewise.
8358 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
8359 * final.c (compute_alignments): Likewise.
8360 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
8361 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
8362 count_or_remove_death_notes): Likewise.
8363 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
8364 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
8365 classic_gcse, compute_transp, cprop, compute_pre_data,
8366 compute_transpout, invalidate_nonnull_info,
8367 delete_null_pointer_checks_1, delete_null_pointer_checks,
8368 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
8369 compute_store_table, build_store_vectors, store_motion): Likewise.
8370 * global.c (global_conflicts, mark_elimination): Likewise.
8371 * graph.c (print_rtl_graph_with_bb): Likewise.
8372 * haifa-sched.c (sched_init): Likewise.
8373 * ifcvt.c (if_convert): Likewise.
8374 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
8375 compute_available, compute_nearerout, compute_rev_insert_delete,
8376 optimize_mode_switching): Likewise.
8377 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
8378 * predict.c (estimate_probability, note_prediction_to_br_prob,
8379 propagate_freq, counts_to_freqs, expensive_function_p,
8380 estimate_bb_frequencies): Likewise.
8381 * profile.c (instrument_edges, get_exec_counts,
8382 compute_branch_probabilities, compute_checksum, branch_prob,
8383 find_spanning_tree): Likewise.
8384 * recog.c (split_all_insns, peephole2_optimize): Likewise.
8385 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
8386 Likewise.
8387 * regclass.c (scan_one_insn, regclass): Likewise.
8388 * regmove.c (mark_flags_life_zones, regmove_optimize,
8389 record_stack_memrefs): Likewise.
8390 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
8391 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
8392 * resource.c (find_basic_block): Likewise.
8393 * sched-ebb.c (schedule_ebbs): Likewise.
8394 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
8395 find_single_block_region, find_rgns, schedule_insns)
8396 * sibcall.c (optimize_sibling_and_tail_recursive_call)
8397 * ssa-ccp.c (optimize_unexecutable_edges,
8398 ssa_ccp_df_delete_unreachable_insns): Likewise.
8399 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
8400 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
8401 rename_block, convert_to_ssa, compute_conservative_reg_partition,
8402 compute_coalesced_reg_partition, rename_equivalent_regs,
8403 convert_from_ssa): Likewise.
8404 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
8405 process_for_unwind_directive): Likewise.
8406
8407 * df.c (FOR_ALL_BBS): Removed.
8408 * gcse.c (struct null_pointer_info): Type of current_block field
8409 changed.
8410 (struct reg_avail_info): Type of last_bb field changed.
8411 * config/ia64/ia64.c (block_num): Removed.
8412 (need_copy_state): Type changed.
8413 (last_block): New.
8414
17645b15
NB
84152002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
8416
8417 * cppinit.c (mark_named_operators): Split out from init_builtins.
8418 (cpp_finish_options): Call it from here instead.
8419
79ed7328
JT
84202002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
8421
8422 * builtin-attrs.def: Update copyright years.
8423 (ATTR_NONNULL): New attribute identifier.
8424 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
8425 attribute tree lists.
8426 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
8427 format operand.
8428 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
8429 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
8430 attribute lists. Chain the appropriate nonnull attribute.
8431 * c-format.c (check_format_arg): Remove null format string
8432 warning.
8433 * testsuite/gcc.dg/format/null-1.c: New test.
8434
7d600178
RO
84352002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8436
8437 * Makefile.in (ADAC): Define.
8438 (SYSLIBS): Define.
8439 (.SUFFIXES): Move before language makefile fragments.
8440 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
8441
5ff225fc
MM
84422002-05-23 Mark Mitchell <mark@codesourcery.com>
8443
8444 * varasm.c (make_decl_rtl): Don't allow weak variables to be
8445 placed in common.
8446
0f72964f
JH
8447Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
8448
8449 * cfg.c (dump_flow_info): Print results of
8450 maybe_hot/probably_never_executed predicates.
8451 * toplev.c (open_dump_file): Print function frequency.
8452
c863f8c2
DM
84532002-05-23 David S. Miller <davem@redhat.com>
8454
8455 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
8456 regsets.
8457
b34c7881
JT
84582002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
8459
8460 * c-common.c (warn_nonnull): Declare.
8461 (c_common_attribute_table): Add "nonnull" attribute.
8462 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
8463 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
8464 check_function_arguments_recurse): New functions.
8465 * c-common.h (warn_nonnull): Declare extern.
8466 (check_function_arguments, check_function_arguments_recurse): New
8467 prototypes.
8468 * c-decl.c (c_decode_option): Add -Wnonnull option.
8469 * c-format.c (set_Wformat): Set warn_nonnull if enabling
8470 format checking.
8471 (format_check_context): New structure.
8472 (check_format_info_recurse): Remove recursion and rename to...
8473 (check_format_arg): ...this. Update comment.
8474 (check_format_info): Use check_function_arguments_recurse.
8475 * c-typeck.c (build_function_call): Call check_function_arguments
8476 instead of check_function_format.
8477 * doc/extend.texi: Document "nonnull" attribute.
8478 * doc/invoke.texi: Docuemnt -Wnonnull option.
8479 * testsuite/gcc.dg/nonnull-1.c: New test.
8480 * testsuite/gcc.dg/nonnull-2.c: New test.
8481
95479831
DM
84822002-05-23 David S. Miller <davem@redhat.com>
8483
8484 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
8485 * cfgcleanup.c (cleanup_cfg): If it is set do not
8486 attempt to delete trivially dead insns.
8487 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
8488 * toplev.c (rest_of_compilation): Document non-trivial aspect
8489 the RTL before optimize_save_area_alloca is run.
8490
a97d1398
NB
84912002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
8492
8493 * c-lex.c (indent_level): Remove.
8494 (cb_file_change, c_lex): Remove indent level handling.
8495 * c-lex.h (indent_level): Remove.
8496 * input.h (struct file_stack): Remove indent_level.
8497 * toplev.c (push_srcloc): Remove indent_level handling.
8498
66b408f2
JJ
84992002-05-23 Jakub Jelinek <jakub@redhat.com>
8500
8501 PR target/6753
8502 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
8503 of x in constraints for clarity.
8504 (sse_mov?fcc split): abort if op2 == op3.
8505 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
8506 sse_movsfcc_const0_4): Add earlyclobber.
8507 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
8508 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
8509 Use Y instead of x in constraints.
8510
5bf0ebab
RH
85112002-05-23 Richard Henderson <rth@redhat.com>
8512
9217ef40
RH
8513 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
8514 (C++98 Thread-Local Edits): New subsection.
8515
5bf0ebab
RH
8516 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
8517 (ix86_arch): Set type to enum processor_type.
8518
8a951190 8519 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
8520 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
8521
4832c9e1
JJ
85222002-05-23 Jakub Jelinek <jakub@redhat.com>
8523
8524 * configure.in: Fix as version test for binutils 2.12.1 releases
8525 (without dates).
8526 * configure: Rebuilt.
8527
c8c03509
RH
85282002-05-23 Richard Henderson <rth@redhat.com>
8529
8530 * config/i386/i386.c (get_pic_label_name): New.
8531 (load_pic_register): Remove.
8532 (output_set_got): New.
8533 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
8534 * config/i386/i386.md (UNSPEC_SET_GOT): New.
8535 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
8536 (prologue_set_got, prologue_get_pc): Remove.
8537 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
8538 (builtin_setjmp_receiver): Use gen_set_got.
8539 * config/i386/i386-protos.h: Update.
8540
d51f3632
JH
8541Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
8542
8543 * gcse.c (hash_expr): Do not use alias set for hashing.
8544
b0a93386
KB
85452002-05-22 Kevin Buettner <kevinb@redhat.com>
8546
8547 * dbxout.c (dbxout_class_name_qualifiers): New function.
8548 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
8549
bdee42b1
NB
85502002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
8551
8552 * cpperror.c (_cpp_begin_message): No special casing
8553 of CPP_FATAL_LIMIT.
8554 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
8555 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
8556 * cpplib.c (do_include_common): Use DL_ERROR.
8557 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
8558 (DL_ICE): Renumber.
8559 * fix-header.c (read_scan_file): Update.
8560
0e07aff3
RH
85612002-05-22 Richard Henderson <rth@redhat.com>
8562
8563 * config/i386/i386.c (ix86_expand_call): New function, extracted
8564 from md call patterns. Add pic_offset_table_rtx to
8565 CALL_INSN_FUNCTION_USAGE when needed.
8566 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
8567 (call_value_pop, call_value, untyped_call): Likewise.
8568 (call_exp, call_value_exp): Remove.
8569 * config/i386/i386-protos.h: Update.
8570
6f001fdf
RH
85712002-05-22 Richard Henderson <rth@redhat.com>
8572
8573 * varasm.c (default_section_type_flags): Check for VAR_DECL
8574 before using DECL_THREAD_LOCAL.
8575
cbaaba19
DE
85762002-05-22 David Edelsohn <edelsohn@gnu.org>
8577
8578 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
8579 (STARTFILE_SPEC): Delete PE crt0.o.
8580 * config/rs6000/aix51.h: Same.
8581 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
8582 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
8583 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
8584 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
8585 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
8586
c711ba8e
RH
85872002-05-22 Richard Henderson <rth@redhat.com>
8588
8589 * varasm.c (default_section_type_flags): Handle tls data and
8590 default sections.
8591 (default_unique_section): Handle tls sections.
8592
343f59d9
AM
85932002-05-23 Alan Modra <amodra@bigpond.net.au>
8594
8595 * configure.in (CROSS): Define NATIVE_CROSS.
8596 * configure: Regenerate.
8597 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
8598 (startfile_prefix_spec): New var.
8599 (static_specs): Add startfile_prefix_spec.
8600 (do_spec_2): Split out from..
8601 (do_spec): ..here.
8602 (main): Process startfile_prefix_spec.
8603 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
8604 dynamic linker.
8605 (STARTFILE_PREFIX_SPEC): Define.
8606 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 8607 absolute paths.
343f59d9 8608
df383483
KH
86092002-05-22 Kazu Hirata <kazu@cs.umass.edu>
8610
8611 * cpperror.c: Fix formatting.
8612 * cppexp.c: Likewise.
8613 * cppfiles.c: Likewise.
8614 * cpphash.c: Likewise.
8615 * cpphash.h: Likewise.
8616 * cppinit.c: Likewise.
8617 * cpplex.c: Likewise.
8618 * cpplib.c: Likewise.
8619 * cppmacro.c: Likewise.
8620 * cppmain.c: Likewise.
8621 * cppspec.c: Likewise.
8622
2dd36f90
JJ
86232002-05-22 Jakub Jelinek <jakub@redhat.com>
8624
8625 * combine.c (force_to_mode): Use gen_int_mode.
8626 Don't clear CONST_INT bits outside of mode.
8627
8dc02d7f
RH
86282002-05-22 Richard Henderson <rth@redhat.com>
8629
8630 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
8631 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
8632
45f79783
JJ
86332002-05-22 Jakub Jelinek <jakub@redhat.com>
8634
8635 PR c/6643
8636 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
8637 if DECL_SIZE_UNIT is INTEGER_CST.
8638
19f71cd7
RH
86392002-05-22 Richard Henderson <rth@redhat.com>
8640
8641 * flow.c (life_analysis): Delete broken reg_label check.
8642
d5bcfcce
RH
86432002-05-22 Richard Henderson <rth@redhat.com>
8644
8645 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
8646 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
8647
985d311b 8648Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
8649
8650 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
8651 (embed-bb.c): New rule.
985d311b 8652 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
8653 * config/sh/embed_bb.c: Delete.
8654
985d311b
R
8655Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
8656
8657 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
8658
f6d45746
KH
86592002-05-22 Kazu Hirata <kazu@cs.umass.edu>
8660
8661 * config/h8300/h8300.md (*andorqi3): New.
8662
e5f3b786
NB
86632002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
8664
8665 PR preprocessor/6517
8666 * Makefile.in: Update.
8667 * c-common.c (c_common_post_options): Add preprocessor
8668 errors to the error count.
8669 * c-lang.c (c_post_options): Kill.
8670 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
8671 * hooks.h: Add header guards.
8672 * langhooks-def.h: Include hooks.h.
8673 (LANG_HOOKS_POST_OPTIONS): Update.
8674 * langhooks.h (struct lang_hooks): Update post_options.
8675 * toplev.c (parse_options_and_default_flags): Update.
8676objc:
8677 * objc-lang.c (objc_post_options): Kill.
8678 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
8679
4c526be3
BK
86802002-05-21 Bruce Korb <bkorb@gnu.org>
8681
8682 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
8683 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
8684 * fixinc/fixincl.x: regen.
4c526be3 8685
f87c27b4
KH
86862002-05-21 Kazu Hirata <kazu@cs.umass.edu>
8687
8688 * cfgbuild.c: Fix formatting.
8689 * cfg.c: Likewise.
8690 * cfgcleanup.c: Likewise.
8691 * cfglayout.c: Likewise.
8692 * cfgloop.c: Likewise.
8693 * cfgrtl.c: Likewise.
8694
3d78f2e9
RH
86952002-05-21 Richard Henderson <rth@redhat.com>
8696
8697 * c-common.h (enum rid): Add RID_THREAD.
8698 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
8699 (grokdeclarator): Grok __thread.
8700 * c-parse.in (reswords): Add __thread.
8701 (rid_to_yy): Add RID_THREAD.
8702
8703 * tree.h (DECL_THREAD_LOCAL): New.
8704 (struct tree_decl): Add thread_local_flag.
8705 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
8706 * tree.c (staticp): TLS variables are not static.
8707
8708 * target-def.h (TARGET_HAVE_TLS): New.
8709 * target.h (have_tls): New.
8710 * output.h (SECTION_TLS): New.
8711 * varasm.c (assemble_variable): TLS variables can't be common for now.
8712 (default_section_type_flags): Handle .tdata and .tbss.
8713 (default_elf_asm_named_section): Handle SECTION_TLS.
8714 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
8715
8716 * flags.h (flag_tls_default): Declare.
8717 * toplev.c (flag_tls_default): Define.
8718 (display_help): Display help for it.
8719 (decode_f_option): Set it.
8720
8721 * doc/extend.texi (Thread-Local): New node describing language-level
8722 thread-local storage.
8723 * doc/invoke.texi (-ftls-model): Document.
8724
8725 * fixinc/inclhack.def (thread_keyword): New.
8726 * fixinc/fixincl.x: Rebuild.
8727
a151daf0
JL
87282002-05-21 Jeffrey A Law <law@redhat.com>
8729
8a951190 8730 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
8731 do not compute intermediate results into something that is
8732 not a register (such as a SUBREG or MEM).
8733
a151daf0
JL
8734 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
8735 (ix86_sched_reorder): Make sure to initialize scheduling
8736 data even when there's only one insn in the ready queue.
8737
96b1f73b
VM
87382002-05-21 Vladimir Makarov <vmakarov@redhat.com>
8739
8740 * genautomata.c (reserv_sets_hash_value): Fix a typo.
8741
dceb2b75
VM
87422002-05-21 Vladimir Makarov <vmakarov@redhat.com>
8743
8744 * genautomata.c (reserv_sets_hash_value): Define hash_value as
8745 set_el_t. Transform the hash value into unsigned.
8746 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
8747 (transform_3): Add code to process `(A,B)+(D,E)'.
8748
159d5964
NY
87492002-05-21 NIIBE Yutaka <gniibe@m17n.org>
8750
8751 * reload1.c (do_output_reload): Run delete_output_reload
8752 only if optimizing.
8753
cf5124f6
RS
87542002-05-21 Roger Sayle <roger@eyesopen.com>
8755
8756 PR middle-end/6600
8757 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
8758 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
8759 (can_store_by_pieces): ... and here to limit the largest mode used.
8760 Add a comment to document this function.
8761
380e6ade
RH
87622002-05-21 Richard Henderson <rth@redhat.com>
8763
8764 * flow.c (life_analysis): Fix test for deleted label.
8765
1f95326c
NB
87662002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
8767
8768 * doc/tm.texi: Fix typo.
8769
2a1dc0d8
ZW
87702002-05-21 Zack Weinberg <zack@codesourcery.com>
8771
8772 * c-common.c (c_common_init): Set options->unsigned_char from
8773 flag_signed_char.
8774 (cb_register_builtins): Define __STRICT_ANSI__ and
8775 __CHAR_UNSIGNED__ here...
8776 * cppinit.c (init_builtins): Not here.
8777 (cpp_create_reader): unsigned_char option defaults to 0, not
8778 !DEFAULT_SIGNED_CHAR.
8779 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
8780 and -funsigned-char.
8781
8782 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
8783 * cpphash.c (_cpp_init_hashtable): Don't set it.
8784 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
8785 directly. Clarify comment.
8786
d29146f2 87872002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 8788
f5eb2fc8
ZD
8789 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
8790 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
8791 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
8792 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 8793 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 8794 flow_preorder_transversal_compute): Too.
d29146f2 8795 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
8796 find_sub_basic_blocks): Too.
8797 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 8798 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
8799 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
8800 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
8801 * combine.c (this_basic_block): Type changed to basic_block.
8802 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
8803 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
8804 get_last_value, distribute_notes, distribute_links): Too.
8805 * final.c (compute_alignments): Too.
8806 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
8807 * function.c (thread_prologue_and_epilogue_insns): Too.
8808 * gcse.c (compute_code_hoist_vbeinout): Too.
8809 * global.c (build_insn_chain): Too.
8810 * ifcvt.c (find_if_block, find_cond_trap): Too.
8811 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
8812 * regmove.c (regmove_optimize): Too.
8813 * resource.c (find_basic_block): Too.
8814 * sched-ebb.c (schedule_ebbs): Too.
8815 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 8816
68bd6dd6
AJ
88172002-05-21 Andreas Jaeger <aj@suse.de>
8818
8819 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
8820
35a76aac
RH
88212002-05-21 Richard Henderson <rth@redhat.com>
8822
8823 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
8824 unspec names, not numbers.
8825
2870428f
JM
88262002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
8827
8828 * doc/sourcebuild.texi: Mention snapshot-README and
8829 snapshot-index.html as needing updating for new front ends.
8830
b0ad77d5
KG
88312002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8832
8833 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
8834 disabling checking, and avoid multiple evaluation of RTX.
8835
279be7c8
RE
88362002-05-21 Richard Earnshaw <rearnsha@arm.com>
8837
8838 * bitmap.c (bitmap_find_bit): Return early if we have the correct
8839 element cached.
8840
193a563a
JH
8841Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
8842
8843 * profile.c (gen_edge_profiler): Set alias set before the memory is
8844 used.
8845
31825e57
DM
88462002-05-20 David S. Miller <davem@redhat.com>
8847
8848 * cselib.c (max_value_regs): New.
8849 (cselib_lookup, cselib_invalidate_regno): Initialize it when
8850 adding new entries to the REG_VALUES table and we are dealing with
8851 a hard register.
8852 (clear_table): Initialize it.
8853 (cselib_invalidate_regno): Use it to determine which hard
8854 registers to scan when mode is not VOIDmode.
8855
68bd6dd6 88562002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
8857
8858 * tradcpp.c (fixup_newlines): Use old-style function header.
8859
e0a09fda
KW
88602002-05-20 Krister Walfridsson <cato@df.lth.se>
8861
8862 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
8863
e0c13c70
L
88642002-05-20 H.J. Lu (hjl@gnu.org)
8865
8866 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
8867
8868 * config/mips/mips.h (DFMODE_NAN): Defined.
8869 (SFMODE_NAN): Likewise.
8870
4c11675d 88712002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 8872
2a1dc0d8
ZW
8873 * combine.c (cant_combine_insn_p): Back out my
8874 previous patch.
4c11675d 8875
6a4d6760
KH
88762002-05-20 Kazu Hirata <kazu@cs.umass.edu>
8877
8878 * params.c: Fix formatting.
8879 * params.h: Likewise.
8880 * predict.c: Likewise.
8881 * prefix.c: Likewise.
8882 * print-rtl.c: Likewise.
8883 * print-tree.c: Likewise.
8884 * profile.c: Likewise.
8885
5715ca64
L
88862002-05-20 H.J. Lu (hjl@gnu.org)
8887
8888 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
8889
00b89f01
NC
88902002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
8891
8892 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
8893 switches straight on to the assembler, do not abbreviate them.
8894 * config/arm/elf.h (ASM_SPEC): As above.
8895 * config/arm/semi.h (ASM_SPEC): As above.
8896 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
8897 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
8898 -mcpu=xscale on to the assembler by default.
8899 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
8900
1441374b
RH
89012002-05-20 Richard Henderson <rth@redhat.com>
8902
8903 * cse.c (canon_hash): Reorder do_not_record test. Always
8904 allow pic_offset_table_rtx.
8905
c0fe508e
TM
89062002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
8907
8908 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
8909 (expand_binop): Ditto (3 times).
8910
f362c762
MM
89112002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
8912
8913 * Makefile.in (distclean): Remove QMTest stuff.
8914 (QMTEST_PATH): New variable.
8915 (QMTESTFLAGS): Likewise.
8916 (QMTESTRUNFLAGS): Likewise.
8917 (QMTEST): Likewise.
8918 (QMTEST_GPP_TESTS): Likewise.
8919 (QMTEST_DIR): Likewise.
8920 (QMTEST_DIR/context): New target.
8921 (qmtest-g++): Likeise.
8922 (qmtest-gui): Likewise.
8923 (QMTEST_DIR/gpp-expected.qmr): Likewise.
8924
16861f33
AH
89252002-05-19 Aldy Hernandez <aldyh@redhat.com>
8926
2a1dc0d8
ZW
8927 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
8928 an altivec register if TARGET_ALTIVEC.
16861f33 8929
2a1dc0d8
ZW
8930 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
8931 to ALTIVEC_VECTOR_MODE.
8932 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
8933 (rs6000_va_arg): Vectors may go in registers if they are not
8934 altivec vectors.
16861f33 8935
23459e15
KH
89362002-05-19 Kazu Hirata <kazu@cs.umass.edu>
8937
8938 * protoize.c: Fix formatting.
8939
174cc7d1
RH
89402002-05-19 Richard Henderson <rth@redhat.com>
8941
8942 * gensupport.c (init_include_reader): Merge into ...
8943 (process_include): ... here. Simplify composite path creation.
8944 Plug memory leaks. Fix file/line number tracking. Do not
8945 process_define_cond_exec. Return void.
8946 (process_rtx): Don't check process_include return value.
8947
918ed612
ZD
89482002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8949
8950 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
8951 fields.
8952 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
8953 traversing basic block chain.
8954 (create_basic_block_structure, create_basic_block): Declaration changed.
8955 (link_block, unlink_block): Declare.
8956 * cfg.c (entry_exit_blocks): Initialize new fields.
8957 (link_block, unlink_block): New.
8958 (expunge_block_nocompact): Unlink basic block.
8959 (dump_flow_info): Print prev_bb/next_bb fields.
8960 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
8961 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
8962 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
8963 * cfgrtl.c (create_basic_block_structure, create_basic_block,
8964 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
8965 (verify_flow_info): Check that list agrees with numbering.
8966
e0322d5c
NB
89672002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
8968
8969 * c-common.c (preprocessing_asm): New macro.
8970 * c-lex.h (builtin_define, builtin_assert): Use pfile.
8971doc:
8972 * tm.texi: Update.
8973config/alpha:
8974 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
8975 (CPP_SPEC): Simplify.
8976 (TARGET_CPU_CPP_BUILTINS): Update.
8977 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
8978 (CPP_SPEC): Simplify.
8979 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
8980 (TARGET_OS_CPP_BUILTINS): Update.
8981 * osf.h (CPP_XFLOAT_SPEC): Kill.
8982 (TARGET_OS_CPP_BUILTINS): Update.
8983 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
8984 * osf5.h (CPP_XFLOAT_SPEC): Kill.
8985 * vms.h (CPP_SUBTARGET_SPEC): Kill.
8986 (TARGET_OS_CPP_BUILTINS): Update.
8987
121f5c2c
RH
89882002-05-19 Richard Henderson <rth@redhat.com>
8989
8990 * varasm.c (default_binds_local_p): Fix typo.
8991
651c5ed9
MM
89922002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
8993
8994 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
8995 CONST_INT operand to the correct mode after adding 1 to it.
8996
bce0deb2
MM
89972002-05-19 Mark Mitchell <mark@codesourcery.com>
8998
8999 * config.gcc (powerpc-wrs-windiss*): New target.
9000
4aa74a4f
FS
90012002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9002
9003 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
9004 (ashrdi3): Use it.
9005
a15135c9
MM
90062002-05-18 Mark Mitchell <mark@codesourcery.com>
9007
9008 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
9009 alphasort.
9010 * config.in: Regenerated.
9011 * configure: Regenerated.
9012
47754fd5
RH
90132002-05-19 Richard Henderson <rth@redhat.com>
9014
9015 * target-def.h (TARGET_BINDS_LOCAL_P): New.
9016 * target.h (struct gcc_target): Move boolean fields to the end.
9017 Add binds_local_p.
9018 * varasm.c (default_binds_local_p): New.
9019 * output.h: Declare it.
9020
9021 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
9022 * config/cris/cris.c (cris_encode_section_info): Likewise.
9023 * config/i386/i386.c (i386_encode_section_info): Likewise.
9024 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
9025 * config/sh/sh.c (sh_encode_section_info): Likewise.
9026
9027 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
9028 (TARGET_BINDS_LOCAL_P): New.
9029
fc881338
RH
90302002-05-19 Richard Henderson <rth@redhat.com>
9031
9032 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
9033 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
9034 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
9035
9036 * toplev.c (display_help): Kill -a -ax help.
9037
68bd6dd6 9038 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
9039 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
9040 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
9041 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
9042 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
9043
9044 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
9045 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
9046
9047 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
9048 (ix86_output_function_block_profiler): Kill.
9049 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
9050 (m68hc11_function_block_profiler): Kill.
9051 * config/m68hc11/m68hc11-protos.h: Update.
9052 * config/m88k/m88k.c (output_block_profiler): Kill.
9053 (output_function_block_profiler): Kill.
9054 * config/m88k/m88k-protos.h: Update.
9055
772c5265
RH
90562002-05-19 Richard Henderson <rth@redhat.com>
9057
9058 * system.h (STRIP_NAME_ENCODING): Poison it.
9059 * output.h (STRIP_NAME_ENCODING): Remove.
9060 (default_strip_name_encoding): Declare.
9061 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
9062 * target.h (strip_name_encoding): New.
9063 * varasm.c (default_strip_name_encoding): New.
9064
9065 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
9066 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
9067 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
9068 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
9069 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
9070 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
9071 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
9072 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
9073 config/v850/v850.h: Use the hook, not the macro.
9074
9075 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
9076 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
9077 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
9078 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
9079 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
9080 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 9081 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
9082 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
9083 config/v850/v850.c, config/v850/v850.h:
9084 Move STRIP_NAME_ENCODING to out-of-line function and add
9085 TARGET_STRIP_NAME_ENCODING.
9086
9087 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
9088 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
9089 with TARGET_STRIP_NAME_ENCODING referencing existing function;
9090 make function static.
9091
9092 * xcoffout.c: Include target.h
9093 * Makefile.in (xcoffout.o): Update.
9094
9095 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
9096 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
9097 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
9098 reloc argument unused.
9099 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
9100
9101 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
9102 STRIP_NAME_ENCODING docs.
9103
8f9eb495
AJ
91042002-05-19 Andreas Jaeger <aj@suse.de>
9105
9106 * gengenrtl.c: Add prototype for excluded_rtx.
9107
9108 * real.h: Add prototype for exact_real_truncate.
9109
fb49053f
RH
91102002-05-18 Richard Henderson <rth@redhat.com>
9111
9112 * system.h (ENCODE_SECTION_INFO): Poison it.
9113 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
9114 * target.h (encode_section_info): New.
9115 * varasm.c (make_decl_rtl, output_constant_def): Use it.
9116 * hooks.c (hook_tree_int_void): New.
9117 * hooks.h: Declare it.
9118
9119 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
9120 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
9121 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
9122 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
9123 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
9124 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
9125 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
9126 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
9127 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
9128 config/mcore/mcore-protos.h, config/mcore/mcore.c,
9129 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
9130 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
9131 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
9132 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
9133 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
9134 referencing existing function. Make function static.
9135
9136 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 9137 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
9138 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
9139 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
9140 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 9141 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
9142 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
9143 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
9144 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
9145 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 9146 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
9147 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
9148 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
9149 Move ENCODE_SECTION_INFO to out-of-line function and add
9150 TARGET_ENCODE_SECTION_INFO.
9151
9152 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
9153 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
9154
9155 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
9156 from SUBTARGET_*
9157 (switch_to_section): Replace in_rdata case with in_readonly_data.
9158
9159 * config/h8300/h8300.c (h8300_encode_label): Make static.
9160 * config/h8300/h8300-protos.h: Update.
9161
9162 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
9163 from rs6000_encode_section_info; make static.
9164 (rs6000_xcoff_encode_section_info): New.
9165
9166 * config/v850/v850.c (v850_encode_data_area): Make static.
9167 * config/v850/v850-protos.h: Update.
9168
9169 * config/vax/vax.c: Include flags.h.
9170 (vms_select_section): Fix typo.
9171
9172 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
9173 ENCODE_SECTION_INFO docs.
9174
9fe08fd0
RH
91752002-05-18 Richard Henderson <rth@redhat.com>
9176
9177 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
9178 REGISTER_TARGET_PRAGMAS.
9179 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
9180
410b770f
RH
9181 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
9182
b64a1b53
RH
91832002-05-18 Richard Henderson <rth@redhat.com>
9184
9185 * system.h (SELECT_RTX_SECTION): Poison.
9186 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
9187 * target.h (select_rtx_section): New.
9188 * varasm.c (output_constant_pool): Use it.
9189 (default_select_rtx_section, default_elf_select_rtx_section): New.
9190 * output.h: Declare them.
9191
9192 * config/darwin.h (SELECT_RTX_SECTION): Move ...
9193 * config/darwin.c (machopic_select_rtx_section): ... here.
9194 * config/darwin-protos.h: Update.
9195
9196 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
9197 * config/nextstep.c (machopic_select_rtx_section): ... here.
9198 (nextstep_select_section): Rename variable to avoid macro clash.
9199 * config/nextstep-protos.h: Update.
9200
9201 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
9202 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
9203 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 9204 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
9205 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
9206 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 9207 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
9208 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
9209 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
9210 (SELECT_RTX_SECTION): Remove.
9211
9212 * config/darwin.h, config/elfos.h, config/nextstep.h,
9213 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
9214 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
9215 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
9216 config/sparc/lynx.h, config/xtensa/xtensa.c
9217 (TARGET_ASM_SELECT_RTX_SECTION): New.
9218
9219 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
9220 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
9221 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
9222 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
9223 (ia64_aix_select_rtx_section): New.
9224 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
9225 redefining.
9226 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 9227 Support ELF SHF_MERGE features.
b64a1b53
RH
9228 * config/mips/mips-protos.h: Update.
9229 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
9230 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
9231 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
9232 make static, fall back to default_elf_select_rtx_section.
9233 * config/rs6000/rs6000-protos.h: Update.
9234 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
9235 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
9236 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
9237 * config/romp/romp.c (romp_select_rtx_section): New.
9238 * config/s390/s390.c (s390_select_rtx_section): New.
9239 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
9240 declarations before target macro definition.
9241 (xtensa_emit_call): Use static buffer.
9242 (xtensa_select_rtx_section): New.
9243 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
9244 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
9245 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
9246
9247 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
9248 SELECT_RTX_SECTION docs.
9249
9250Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
9251
9252 * i386.md (movsi/movdi): Fix template.
9253 (sse2 patterns): Set attributes consistently.
9254
9255 * i386.md (pushqi2, ashrqi_*): Fix constraint.
9256
6835a09c
TM
92572002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
9258
9259 * optabs.c (complex_part_zero_p): New.
9260 * (expand_cmplxdiv_straight): Use it.
9261 * (expand_cmplxdiv_wide): Ditto.
9262 * (expand_binop): Ditto.
9263
d48bc59a
RH
92642002-05-18 Richard Henderson <rth@redhat.com>
9265
9266 * final.c (HAVE_READONLY_DATA_SECTION): New.
9267 (shorten_branches): Use it instead of ifdefs.
9268 * varasm.c (enum in_section): Add in_readonly_data.
9269 (text_section, data_section): Tidy.
9270 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
9271
9272 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
9273 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
9274 (READONLY_DATA_SECTION): Don't undef.
9275
9276 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
9277 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
9278 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
9279
9280 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
9281 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
9282 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
9283 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
9284
9285 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
9286 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
9287 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
9288 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
9289 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
9290 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
9291 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
9292 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
9293 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
9294
9295 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
9296 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
9297 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
9298 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
9299 config/pa/pa64-hpux.h, config/sparc/litecoff.h
9300 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
9301
9302 * config/elfos.h, config/netware.h, config/svr3.h,
9303 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
9304 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
9305 config/h8300/h8300.h, config/i386/i386-interix.h,
9306 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
9307 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
9308
9309 * config/elfos.h, config/netware.h, config/svr3.h,
9310 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
9311 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
9312 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
9313 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
9314
9315 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
9316 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
9317 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
9318 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
9319 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
9320 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
9321 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
9322 config/rs6000/sysv4.h, config/v850/v850.h
9323 (EXTRA_SECTIONS): Remove in_const/in_rdata.
9324 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
9325
9326 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
9327 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
9328 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
9329 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
9330 * config/alpha/alpha.c (alpha_start_function): Likewise.
9331 (alpha_write_linkage): Likewise.
9332 * config/m32r/m32r.c (m32r_select_section): Likewise.
9333 * config/m88k/m88k.c (m88k_select_section): Likewise.
9334 * config/mips/mips.c (mips_select_rtx_section): Likewise.
9335 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
9336 (rs6000_elf_select_section): Likewise.
9337 * config/v850/v850.c (v850_select_section): Likewise.
9338
9339 * config/1750a/1750a.h, config/i860/sysv3.h
9340 (READONLY_DATA_SECTION_ASM_OP): New.
9341 READONLY_DATA_SECTION_ASM_OP.
9342 * config/i386/interix.c, config/i386/winnt.c
9343 (i386_pe_unique_section): Always use .rdata prefix.
9344 * config/pa/som.h (readonly_data): Always switch to read-only section.
9345 (READONLY_DATA_SECTION): Predicate on flag_pic.
9346 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
9347 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
9348 (READONLY_DATA_SECTION): Update.
9349
e964a556
JT
93502002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
9351
9352 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 9353 is used without -Wformat.
e964a556
JT
9354 * c-common.h (warn_format_zero_length): Declare extern.
9355 * c-decl.c (warn_options): Add "format-zero-length".
9356 * c-format.c (warn_format_zero_length): Declare.
9357 (set_Wformat): Set warn_format_zero_length for -Wformat.
9358 (check_format_info): Only warn about zero-length formats if
9359 warn_format_zero_length is true. Include the format type
9360 name in the warning message.
9361 * doc/invoke.texi: Document -Wformat-zero-length.
9362 * testsuite/gcc.dg/format/zero-length-1.c: New test.
9363
d92b4486
KH
93642002-05-18 Kazu Hirata <kazu@cs.umass.edu>
9365
9366 * timevar.c: Fix formatting.
9367 * tlink.c: Likewise.
9368 * toplev.c: Likewise.
9369 * tree-dump.c: Likewise.
9370 * tree-inline.c: Likewise.
9371
43612ffb
NB
93722002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
9373
9374 * cppinit.c (cpp_post_options): If preprocessed, turn off
9375 traditional. If traditional, turn off column numbers.
9376 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
9377 * cpptrad.c (handle_newline): Update line_base.
9378 (skip_comment): Handle -Wcomment.
9379
f24a153a
ZW
93802002-05-17 Zack Weinberg <zack@codesourcery.com>
9381
9382 * cppinit.c (struct builtin): Remove unused fields.
9383 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
9384 (operator_array): New - was second half of builtin_array.
9385 (init_builtins): Simplify loop over builtin_array/operator_array.
9386
12403335
NB
93872002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
9388
9389 * defaults.h (UNIQUE_SECTION): Remove.
9390 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
9391
1f8c3c5b
RH
93922002-05-17 Richard Henderson <rth@redhat.com>
9393
9394 * expr.c (init_expr_once): Don't use start/end_sequence.
9395 Use rtx_alloc instead of emit_insn.
9396 * toplev.c (lang_dependent_init): Run init_expr_once here ...
9397 (lang_independent_init): ... not here.
9398
4664f4c4
JT
93992002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
9400
9401 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
9402
93febe68
MM
94032002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
9404
9405 * config/avr/avr.c (avr_regs_to_save): New function. Also check
9406 for fixed registers, possibly used for global register variables.
9407 (initial_elimination_offset, avr_output_function_prologue,
9408 avr_output_function_epilogue): Move common code to avr_regs_to_save.
9409
004cb263
NB
94102002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
9411
9412 * Makefile.in: Update for cpptrad.c.
9413 * cpphash.h (struct cpp_buffer): New members for buffer
9414 overlays.
9415 (struct cpp_reader): New members for traditional output.
9416 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
9417 * cppinit.c (cpp_create_reader): Set trad_line.
9418 (cpp_destroy): Free trad_out_base if used.
9419 (cpp_read_main_file): Overlay an empty buffer if traditional.
9420 (cpp_finish_options): Don't do builtins.
9421 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
9422 (cpp_handle_option): Handle it.
9423 * cpplex.c (continue_after_nul): New.
9424 (_cpp_lex_direct): Use handle_nul.
9425 * cpplib.h (struct cpp_options): New traditional option.
9426 * cpptrad.c: New file.
9427
bdcae02b
NB
94282002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
9429
9430 * c-common.c (c_common_init_options): Use C89 for Objective-C,
9431 and set the options flag.
9432 * cppinit.c (lang_flags): Remove objc.
9433 (lang_defaults): Remove OBJC and OBJCXX.
9434 (set_lang): Update.
9435 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
9436 (cpp_handle_option): Remove -+ and -lang-objc++.
9437 For ObjC, just set a flag.
9438 (print_help): Update.
9439 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
9440
0fca60ab
RO
94412002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9442
9443 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
9444 bootstrap with -mips3.
9445
dd3f0101
KH
94462002-05-17 Kazu Hirata <kazu@cs.umass.edu>
9447
9448 * final.c: Fix formatting.
9449 * fix-header.c: Likewise.
9450 * flow.c: Likewise.
9451 * fold-const.c: Likewise.
9452 * function.c: Likewise.
9453
5ca9299f
DM
94542002-05-17 David S. Miller <davem@redhat.com>
9455
9456 PR c/6689, PR optimization/6615
9457 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
9458 and make it a pointer to rtx. Update comments.
9459 (update_equiv_regs): When scanning for equivalences, record
9460 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
9461 it while making the equiv replacements.
9462
508bc172
RO
94632002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9464
9465 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
9466
5cd983a6
KK
94672002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
9468
9469 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
9470 when encoding visibility into SYMBOL_REF_FLAG.
9471
ce0f3925
RS
94722002-05-17 Richard Sandiford <rsandifo@redhat.com>
9473
9474 * expr.c (force_operand): Fix reversed move.
9475
06809951
GP
94762002-05-17 Kurt Wall <kwall@kurtwerks.com>
9477
9478 * doc/install.texi (Testing): Mention two common DejaGnu warnings
9479 that can be ignored.
9480
94812002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9482
9483 * doc/install.texi (Final install): Recommend to install into a
9484 "clean" target directory.
9485
1d5d7a21
RH
94862002-05-17 Richard Henderson <rth@redhat.com>
9487
9488 * config/ia64/ia64.md: Use braced strings instead of quoted strings
9489 for code blocks. Tidy whitespace.
9490
ae46c4e0
RH
94912002-05-17 Richard Henderson <rth@redhat.com>
9492
9493 * hooks.c (hook_tree_bool_false): New.
9494 * hooks.h: Declare it.
9495 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
9496 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
9497 * target.h (select_section, unique_section): New.
9498 (in_small_data_p): New.
9499 * varasm.c (resolve_unique_section): Use hooks instead of macros.
9500 (variable_section, output_constant_def_contents): Likewise.
9501 (default_select_section, default_unique_section): New.
9502 (categorize_decl_for_section, default_elf_select_section): New.
9503 * output.h: Declare them.
9504
9505 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
9506 (TARGET_ASM_SELECT_SECTION): New.
9507 (SELECT_SECTION): Move ...
9508 * config/darwin.c (machopic_select_section): ... here.
9509 * config/darwin-protos.h: Update.
9510
9511 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
9512 (SELECT_SECTION): Move ...
9513 * config/nextstep.c (nextstep_select_section): ... here.
9514 * config/nextstep-protos.h: Update.
9515
9516 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
9517 (TARGET_ASM_SELECT_SECTION): New.
9518 * config/svr3.h (SELECT_SECTION): Remove.
9519
9520 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
9521 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
9522 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
9523 (alpha_encode_section_info): Use it.
9524 * config/alpha/alpha-protos.h: Update.
9525 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
9526 (SELECT_SECTION, UNIQUE_SECTION): Remove.
9527 (TARGET_ASM_SELECT_SECTION): New.
9528 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
9529
9530 * config/arm/pe.h (UNIQUE_SECTION): Remove.
9531 (TARGET_ASM_UNIQUE_SECTION): New.
9532
9533 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
9534 (avr_unique_section): Rename from unique_section; make static.
9535 * config/avr/avr-protos.h: Update.
9536 * config/avr/avr.h (UNIQUE_SECTION): Remove.
9537
9538 * config/c4x/c4x.h (SELECT_SECTION): Remove.
9539
9540 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
9541 (TARGET_ASM_UNIQUE_SECTION): New.
9542 * config/i386/i386-interix.h: Likewise.
9543 * config/i386/win32.h: Likewise.
9544 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
9545 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
9546 * config/i386/sco5.h (SELECT_SECTION): Remove.
9547 (TARGET_ASM_SELECT_SECTION): New.
9548 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
9549
9550 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
9551 instead of SELECT_SECTION.
9552 * config/m68k/dpx2.h: Likewise.
9553 * config/rs6000/lynx.h: Likewise.
9554
9555 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
9556 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
9557 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
9558 (ia64_in_small_data_p): New.
9559 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
9560 (ia64_aix_select_section, ia64_aix_unique_section): New.
9561 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
9562 (SELECT_SECTION, UNIQUE_SECTION): Remove.
9563
9564 * config/m32r/m32r.h (SELECT_SECTION): Remove.
9565 (TARGET_ASM_SELECT_SECTION): New.
9566 * config/m32r/m32r.c (m32r_select_section): Take align argument.
9567 * config/m32r/m32r-protos.h: Update.
9568
9569 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
9570 (SELECT_SECTION): Move ...
9571 * config/m88k/m88k.c (m88k_select_section): ... here.
9572
9573 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
9574 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
9575 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
9576 (mcore_unique_section): Make static.
9577 * config/mcore/mcore-protos.h: Update.
9578
9579 * config/mips/elf.h (UNIQUE_SECTION): Remove.
9580 (TARGET_ASM_UNIQUE_SECTION): New.
9581 * config/mips/elf64.h: Likewise.
9582 * config/mips/iris6gld.h: Likewise.
9583 * config/mips/linux.h: Likewise.
9584 * config/mips/mips-protos.h: Update.
9585 * config/mips/mips.c (mips_select_section): Add align argument.
9586 * config/mips/mips.h (SELECT_SECTION): Remove.
9587 (TARGET_ASM_SELECT_SECTION): New.
9588
9589 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
9590 * config/mmix/mmix.c (mmix_select_section): Remove.
9591 (mmix_unique_section): Remove.
9592 * config/mmix/mmix-protos.h: Update.
9593
9594 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
9595 (SELECT_SECTION): Move ...
9596 * config/pa/pa.c (pa_select_section): ... here.
9597 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
9598
9599 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
9600 from rs6000_select_section and make static.
9601 (rs6000_elf_unique_section): Similarly.
9602 (rs6000_xcoff_select_section): From xcoff.h.
9603 (rs6000_xcoff_unique_section): Likewise.
9604 * config/rs6000/rs6000-protos.h: Update.
9605 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
9606 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
9607 * config/rs6000/xcoff.h: Likewise.
9608
9609 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
9610 (SELECT_SECTION): Move ...
9611 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
9612
9613 * config/v850/v850.h (SELECT_SECTION): Move ...
9614 * config/v850/v850.c (v850_select_section): ... here.
9615 (TARGET_ASM_SELECT_SECTION): New.
9616
9617 * config/vax/vms.h (SELECT_SECTION): Move ...
9618 * config/vax/vax.c (vms_select_section): ... here.
9619 (TARGET_ASM_SELECT_SECTION): New.
9620
9621 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
9622 for the target hooks.
9623
eaeb23a7
NC
96242002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
9625
9626 * config/arm/arm.c (emit_multi_reg_push): Do not set
9627 RTX_FRAME_RELATED_P on the SEQUENCE.
9628
a00fe19f
RH
96292002-05-16 Richard Henderson <rth@redhat.com>
9630
9631 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
9632 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
9633
5ccff482
RH
96342002-05-16 Richard Henderson <rth@redhat.com>
9635
9636 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
9637
068d7739
RH
9638 * config/ia64/ia64.c (saveable_obstack): Do not declare.
9639
0b17ab2f
RH
96402002-05-16 Richard Henderson <rth@redhat.com>
9641
9642 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
9643 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
9644 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
9645 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
9646 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
9647 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
9648 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
9649 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
9650 Revert "Basic block renumbering removal", and two followup patches.
9651
8ae86b3c
JT
96522002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
9653
9654 * lcm.c (optimize_mode_switching): Revert previous change.
9655
4e9f27af
ZD
96562002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9657
9658 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
9659 with only extant block numbers.
9660
3cdc1dbc
JT
96612002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
9662
9663 * lcm.c (optimize_mode_switching): Fix typo.
9664
fbfb3b09
ZD
96652002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9666
9667 * flow.c (calculate_global_regs_live): Queue blocks in program order.
9668
b4b0fb02
RO
96692002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9670
9671 * doc/install.texi (Configuration): Document PWDCMD.
9672
63b827c5
DJ
96732002-05-16 Dale Johannesen <dalej@apple.com>
9674
9675 * combine.c (cant_combine_insn_p): Reenable combinations
9676 involving hard regs unless CLASS_LIKELY_SPILLED_P.
9677
748d29c1
NB
96782002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
9679
9680 * c-common.c (cb_register_builtins): Handle more built-ins
9681 here rather than in gcc.c specs.
9682 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
9683 (cpp_options): Pass -O flags even when only preprocessing.
9684 * toplev.c (set_fast_math_flags): New prototype.
9685 (fast_math_flags_set_p): New.
9686 (set_no_fast_math_flags): Remove.
9687 (decode_f_option): Update.
9688 * toplev.h (set_fast_math_flags): Update.
9689 (fast_math_flags_set_p): New.
9690 (set_no_fast_math_flags): Remove.
9691config:
9692 * c4x/c4x.c (c4x_override_options): Update.
9693
5279d739
ZW
96942002-05-16 Zack Weinberg <zack@codesourcery.com>
9695
9696 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
9697 Default-define here.
9698 (builtin_define_with_value): Can now wrap the expansion in
9699 quotation marks if such is wanted.
a00fe19f 9700 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
9701 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
9702 here.
9703 (c_common_init): Set options->stdc_0_in_system_headers.
9704 * c-lex.h: Update prototype of builtin_define_with_value.
9705 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
9706 and REGISTER_PREFIX.
9707
9708 * cppinit.c (VERS, ULP, C, X): Kill.
9709 (builtin_array): Remove entries for __VERSION__,
9710 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
9711 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
9712 a constant.
9713 (init_builtins): Kill off a bunch of now-dead code.
9714 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
9715 -fno-leading-underscore.
9716 (cpp_handle_option): Remove code to set user_label_prefix.
9717 (cpp_post_options): Likewise.
9718
9719 * cpplib.h (struct cpp_options): Remove user_label_prefix.
9720 (stdc_0_in_system_headers): New.
9721 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
9722 stdc_0_in_system_headers) too to decide the value of __STDC__.
9723
9724 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 9725 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
9726 (initialize_builtins): Don't define __REGISTER_PREFIX__
9727 or __USER_LABEL_PREFIX__.
9728 (install_value): Wrap compound statement in dummy loop so the
9729 macro works properly in an if statement.
9730
9731
62e6ca55
JJ
97322002-05-16 Janis Johnson <janis187@us.ibm.com>
9733
9734 * loop.h (struct loop_info): Add member has_prefetch.
9735 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
9736 (prescan_loop): Initialize has_prefetch.
9737 (struct prefetch_info): Change prefetch_in_loop and
9738 prefetch_before_loop from bit fields to ints.
9739 (emit_prefetch_instructions): Several small fixes.
9740 (check_dbra_loop): Don't reverse loop that uses prefetch.
9741
1e6347d8
RO
97422002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9743
9744 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
9745 * configure.in: Likewise.
9746 * fixinc/check.tpl: Likewise.
9747 * fixinc/fixinc.dgux: Likewise.
9748 * fixinc/fixinc.svr4: Likewise.
9749 * fixinc/fixinc.winnt: Likewise.
9750 * fixinc/fixincl.sh: Likewise.
9751 * fixproto: Likewise.
9752 * configure: Regenerate.
9753
355e4ec4
ZD
97542002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9755
9756 Basic block renumbering removal:
9757 * basic_block.h (struct basic_block_def): Renamed index to sindex,
9758 added prev_bb and next_bb fields.
9759 (n_basic_blocks): Renamed to num_basic_blocks.
9760 (last_basic_block): New, index of last basic block.
9761 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
9762 traversing basic block chain.
9763 (BLOCK_NUM): index -> sindex.
9764 (create_basic_block_structure, create_basic_block): Declaration changed.
9765 (debug_num2bb): Declare.
9766 (expunge_block_nocompact): Declaration removed.
9767 (link_block, unlink_block, compact_blocks): Declare.
9768 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
9769 * cfg.c (entry_exit_blocks): Initialize new fields.
9770 (clear_edges, alloc_block, expunge_block, cached_make_edge,
9771 redirect_edge_pred, dump_flow_info, dump_edge_info,
9772 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
9773 free_aux_for_edges): Modified.
9774 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
9775 (expunge_block_nocompact): Removed.
9776 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
9777 find_unreachable_blocks, create_edge_list, print_edge_list,
9778 verify_edge_list, flow_edge_list_print, remove_fake_successors,
9779 remove_fake_edges, flow_reverse_top_sort_order_compute,
9780 flow_depth_first_order_compute, flow_preorder_transversal_compute,
9781 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
9782 flow_dfs_compute_reverse_execute): Modified.
9783 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
9784 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
9785 Modified.
9786 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
9787 merge_blocks_move_predecessor_nojumps,
9788 merge_blocks_move_successor_nojumps, merge_blocks,
9789 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
9790 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
9791 * cfglayout.c (skip_insns_after_block, label_for_bb,
9792 record_effective_endpoints, scope_to_insns_finalize,
9793 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
9794 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
9795 cfg_layout_duplicate_bb): Modified.
9796 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
9797 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
9798 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
9799 flow_loops_find, flow_loop_outside_edge_p): Modified.
9800 * cfgrtl.c (create_basic_block_structure, create_basic_block,
9801 flow_delete_block, compute_bb_for_insn, split_block,
9802 try_redirect_by_replacing_jump, redirect_edge_and_branch,
9803 force_nonfallthru_and_redirect, tidy_fallthru_edge,
9804 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
9805 commit_edge_insertions, commit_edge_insertions_watch_calls,
9806 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
9807 purge_all_dead_edges): Modified.
9808 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
9809 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
9810 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
9811 Modified.
9812 * conflict.c (conflict_graph_compute): Modified.
9813 * df.c (FOR_ALL_BBS): Removed.
9814 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
9815 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
9816 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
9817 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
9818 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
9819 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
9820 * final.c (compute_alignments, final_scan_insn): Modified.
9821 * flow.c (verify_local_live_at_start, update_life_info,
9822 update_life_info_in_dirty_blocks, free_basic_block_vars,
9823 delete_noop_moves, calculate_global_regs_live,
9824 initialize_uninitialized_subregs, allocate_bb_life_data,
9825 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
9826 mark_used_reg, count_or_remove_death_notes): Modified.
9827 * function.c (thread_prologue_and_epilogue_insns): Modified.
9828 * gcse.c (struct null_pointer_info): Change typo of current_block
9829 to basic_block.
9830 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
9831 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
9832 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
9833 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
9834 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
9835 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
9836 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
9837 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
9838 pre_delete, one_pre_gcse_pass, compute_transpout,
9839 invalidate_nonnull_info, delete_null_pointer_checks_1,
9840 free_code_hoist_mem, compute_code_hoist_vbeinout,
9841 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
9842 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
9843 compute_store_table, build_store_vectors, insert_insn_start_bb,
9844 insert_store, replace_store_insn, free_store_memory, store_motion):
9845 Modified.
9846 * global.c (global_alloc, global_conflicts, mark_elimination,
9847 build_insn_chain): Modified.
9848 * graph.c (print_rtl_graph_with_bb): Modified.
9849 * haifa-sched.c (sched_init): Modified.
9850 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
9851 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
9852 if_convert): Modified.
9853 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
9854 compute_insert_delete, pre_edge_lcm, compute_available,
9855 compute_farthest, compute_nearerout, compute_rev_insert_delete,
9856 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
9857 Modified.
9858 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
9859 * loop.c (loop_dump_aux): Modified.
9860 * predict.c (combine_predictions_for_insn, estimate_probability,
9861 last_basic_block_p, process_note_prediction, process_note_predictions,
9862 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
9863 expensive_function_p, estimate_bb_frequencies,
9864 compute_function_frequency): Modified.
9865 * print-rtl.c (print_rtx): Modified.
9866 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
9867 get_exec_counts, compute_branch_probabilities, compute_checksum,
9868 branch_prob, find_spanning_tree): Modified.
9869 * recog.c (split_all_insns, peephole2_optimize): Modified.
9870 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
9871 convert_regs_1, convert_regs_2, convert_regs): Modified.
9872 * regclass.c (scan_one_insn, regclass): Modified.
9873 * regmove.c (mark_flags_life_zones, regmove_optimize,
9874 combine_stack_adjustments): Modified.
9875 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
9876 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
9877 * reorg.c (dbr_schedule): Modified.
9878 * resource.c (find_basic_block, init_resource_info): Modified.
9879 * sbitmap.c (sbitmap_intersection_of_succs,
9880 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
9881 sbitmap_union_of_preds): Modified.
9882 * sched-deps.c (init_dependency_caches): Modified.
9883 * sched-ebb.c (schedule_ebbs): Modified.
9884 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
9885 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
9886 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
9887 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
9888 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
9889 ssa_const_prop): Modified.
9890 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
9891 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
9892 * ssa.c (remove_phi_alternative, find_evaluations,
9893 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
9894 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
9895 make_regs_equivalent_over_bad_edges,
9896 make_equivalent_phi_alternatives_equival,
9897 compute_conservative_reg_partition,
9898 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
9899 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
9900 Modified.
9901
5a566bed
MM
99022002-05-16 Mark Mitchell <mark@codesourcery.com>
9903
9904 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
9905
48f6efae
NC
99062002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
9907
9908 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
9909 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
9910 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
9911 calling CONSTANT_POOL_ADDRESS_P.
9912 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
9913 to decide whether to define __arm__ or __thumb.
355e4ec4 9914 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
9915 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
9916
b166fadd
NB
99172002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
9918
9919 * config/arc/arc.h (CPP_PREDEFINES): Remove.
9920 (CPP_SPEC): Update.
9921 (TARGET_CPU_CPP_BUILTINS): New.
9922
601328bb
NB
99232002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
9924
9925 * cpphash.h (cpp_macro): Move here, and make expansion a union.
9926 * cppmacro.c (cpp_macro): Remove.
9927 (enter_macro_context, replace_args, warn_of_redefinition,
9928 _cpp_create_definition, cpp_macro_definition): Update.
9929
ff48be5c
JM
99302002-05-16 Jason Merrill <jason@redhat.com>
9931
9932 * config/mips/mips.c (mips_output_external): Don't do sdata
9933 optimization for a variable with DECL_COMDAT set.
9934
805c42ba
AH
99352002-05-15 Aldy Hernandez <aldyh@redhat.com>
9936
355e4ec4
ZD
9937 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
9938 Cleanups for accepting modifiers on pointers.
9939 Fix predicate typos.
9940 Allow long pointers as well as int pointers.
805c42ba 9941
34fb9ba5
RH
99422002-05-15 Richard Henderson <rth@redhat.com>
9943
9944 * varasm.c (merge_weak): Remove special case for extern and common.
9945
62e118f5
MH
99462002-05-15 Matt Hiller <hiller@redhat.com>
9947
9948 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 9949 XFAILing.
62e118f5
MH
9950 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
9951 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
9952 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
9953 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
9954 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
9955 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
9956
fefac463
AH
99572002-05-15 Aldy Hernandez <aldyh@redhat.com>
9958
355e4ec4 9959 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 9960
5f004351
AH
99612002-05-15 Aldy Hernandez <aldyh@redhat.com>
9962
355e4ec4
ZD
9963 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
9964 ("altivec_mfvscr"): Read from VSCR.
9965
9966 Add vscr sets for the following insns: altivec_vctuxs,
9967 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
9968 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
9969 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
9970 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
9971 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
9972 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
9973 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
9974 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
9975 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
9976 altivec_vsum2sws, altivec_vsumsws.
9977
9978 * config/rs6000/rs6000.h: Add VSCR fixed register.
9979 (CALL_REALLY_USED_REGISTERS): Add vscr.
9980 (CALL_USED_REGISTERS): Same.
9981 (FIXED_REGISTERS): Same.
9982 (REG_ALLOC_ORDER): Same.
9983 (reg_class): Add VSCR_REGS.
9984 (REG_CLASS_NAMES): Same.
9985 (REG_CLASS_CONTENTS): Same.
9986 (VSCR_REGNO): New.
9987 (REGISTER_NAMES): Add vscr.
9988 (DEBUG_REGISTER_NAMES): Same.
9989 (ADDITIONAL_REGISTER_NAMES): Same.
9990 (FIRST_PSEUDO_REGISTER): Increment.
9991 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 9992
033afd11
RH
99932002-05-15 Jakub Jelinek <jakub@redhat.com>
9994
9995 * fold-const.c (fold): Fix a typo.
9996
99972002-05-15 Eric Botcazou <ebotcazou@multimania.com>
9998
9999 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
10000 comparison against the highest or lowest integer value before
10001 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
10002 transformation and that of an unsigned comparison against 0
10003 right after.
10004
14285ace
RH
100052002-05-15 Richard Henderson <rth@redhat.com>
10006
10007 * varasm.c (merge_weak): Error for any weakening after definition.
10008 Adjust weakening after use warning to catch more cases.
10009 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
10010 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
10011
194734e9
JH
10012Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
10013
10014 * invoke.texi (-malign-double): Re-add lost warning.
10015
10016 * i386-protos.h (x86_output_mi_thunk): Declare.
10017 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
10018 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
10019
10020 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
10021 when flag_asynchronous_unwind_tables is set.
10022
10023 * flags.h (flag_reorder_functions): Declare.
10024 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 10025 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
10026 * Makefile.in (predict.o): Add dependency on target.h and params.h
10027 * defaults.h (HOT_TEXT_SECTION_NAME,
10028 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
10029 * predict.c (choose_function_section): New function.
10030 (estimate_bb_frequencies): Use it.
10031 * toplev.c (flag_reorder_functions): New global variable.
10032 (lang_independent_options): New.
10033 (parse_options_and_default_flags): Set.
10034 * varasm.c (assemble_start_function): Bypass functdion alignment
10035 for never executed functions.
10036 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
10037 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
10038 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
10039 Document.
10040
10041 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
10042
10043 * predict.c: Inlude profile.h
10044 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
10045 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
10046 Use the information about maximal counter in the program.
10047
10048 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
10049
10050 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
10051 probably_never_executed_bb_p): New functions.
10052 * cfgcleanup.c (outgoing_edges_match): Use them.
10053 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
10054 (maybe_hot_bb_p, probably_cold_bb_p,
10055 probably_never_executed_bb_p): New functions.
10056
10057 * function.h (function): Add new field function_frequency.
10058 * predict.c (compute_function_frequency): New function.
10059 (estimate_probability): Call it.
10060
61ad9a34
JJ
100612002-03-09 Jakub Jelinek <jakub@redhat.com>
10062
10063 PR optimization/5172, optimization/5200
10064 * gcse.c (gcse_main): Disable store_motion.
10065
a11eba95
ZW
100662002-05-14 Zack Weinberg <zack@codesourcery.com>
10067
10068 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
10069 (c_common_nodes_and_builtins): Use it.
10070 (builtin_define_with_value): New function.
10071 (cb_register_builtins): Define __SIZE_TYPE__,
10072 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
10073 using builtin_define_with_value. Use consistent notation when
10074 defining __GXX_WEAK__.
10075 (WCHAR_TYPE_SIZE): Don't redefine.
10076 (combine_strings): Don't use WCHAR_TYPE_SIZE.
10077
10078 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
10079 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
10080 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
10081 * tradcpp.c (initialize_builtins): Likewise.
10082 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
10083
10084 * c-lex.h (builtin_define_with_value): Prototype.
10085 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
10086 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
10087 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
10088
10089 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
10090 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
10091 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
10092 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
10093 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
10094 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
10095 config/sparc/sol2-bi.h, config/sparc/sparc.h:
10096 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
10097 to __SIZE_TYPE__ etc from all spec strings. When this makes
10098 extra specs empty, delete them.
10099
1c31ecf6
JDA
101002002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
10101
10102 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
10103 for PA8000 or generating dwarf2 call frame information.
10104 (output_call): Remove DO_FRAME_NOTES check from return pointer
10105 optimization.
10106 (following_call): Return 0 when scheduling for PA8000 or generating
10107 dwarf2 call frame information. Revise comment.
10108
ac9cfada
NB
101092002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
10110
10111config/alpha:
10112 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
10113 and __IEEE_FP_INEXACT as appropriate.
10114 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
10115 (CPP_SPEC): Remove ieee defines.
10116 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
10117
9b690711
RH
101182002-05-14 Richard Henderson <rth@redhat.com>
10119
10120 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
10121 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
10122
e6471be6
NB
101232002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
10124
e6471be6
NB
10125 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
10126 (CPP_SPEC): Update.
10127 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
10128 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
10129 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
10130 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
10131 (EXTRA_SPECS): Update.
10132 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
10133 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
10134 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
10135 define TARGET_OS_CPP_BUILTINS if necessary.
10136
e5f5feea
NB
101372002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
10138
10139 * gcc.c (cpp_options): Must pass -m* and -f* options
10140 to the front end even when only preprocessing.
10141 (cc1_options): Remove redundant -lang-c.
10142 * tradcpp.c (main): Ignore -m options.
10143objc:
10144 * lang-specs.h: Similarly.
10145
317638a8
VM
101462002-05-14 Vladimir Makarov <vmakarov@redhat.com>
10147
10148 * genautomata.c (transform_3): Add code for transformation
10149 `(A,B,...)+C -> A+C,B,...'.
10150
4d604303
JH
10151Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
10152
10153 * final.c (end_final): Do not output profile_arcs constructor, when
10154 no functions are instrumented.
10155
b18b06ed
JH
10156Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
10157
10158 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
10159
a12f97f0
GP
101602002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10161
10162 * doc/install.texi: Remove special markup originally required for
10163 HTML generation with texi2html.
10164
c1ae3eb4
AS
101652002-05-14 Andreas Schwab <schwab@suse.de>
10166
10167 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
10168 SELECT_SECTION.
10169 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
10170
10171 * varasm.c (resolve_unique_section): Add third parameter
10172 flag_function_or_data_sections and use it instead of
10173 flag_function_sections.
10174 (assemble_start_function): Pass flag_function_sections.
10175 (asm_emit_uninitialised): Pass flag_data_sections.
10176 (assemble_variable): Likewise.
10177
8ee41eaf
RH
101782002-05-14 Richard Henderson <rth@redhat.com>
10179
10180 * config/i386/i386.md: Use define_constants for unspec numbers.
10181 * config/i386/i386.c: Likewise.
10182
e6471be6
NB
101832002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
10184
10185 * doc/contrib.texi: Update my entry.
10186
c297b764
MM
101872002-05-13 Mark Mitchell <mark@codesourcery.com>
10188
10189 * fixinc/inclhack.def (winidss_valist): Limit applicability.
10190 * fixinc/fixincl.x: Regenerated.
10191 * fixinc/tests/base/math.h: Update.
10192 * fixinc/tests/base/testing.h: Likewise.
10193
0b42c8f8
ZW
101942002-05-13 Zack Weinberg <zack@codesourcery.com>
10195
10196 * genattr.c (gen_attr): Don't emit a comma after the last
10197 enumerator.
10198
546c093e
RH
101992002-05-13 Richard Henderson <rth@redhat.com>
10200
10201 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
10202 by non-local gotos.
10203 * recog.c (peephole2_optimize): Likewise.
10204
85be8c2d
AP
102052002-05-13 Andris Pavenis <pavenis@lanet.lv>
10206
10207 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
10208 input to O_BINARY.
10209
765b8f90
JL
102102002-05-13 Jeffrey A Law (law@redhat.com)
10211
fe4b3c79
JL
10212 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
10213 Update prototype and callers.
10214 (propagate_one_insn): Stack pointer adjustments kill MEMs on
10215 the mem_set_list which reference the stack pointer, as do
10216 calls to constant functions as they may clobber outgoing
10217 argument space.
10218
16133d00
JL
10219 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
10220
765b8f90
JL
10221 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
10222 (ia32_multipass_dfa_lookahead): New function.
10223
63826d5b
NB
102242002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
10225
10226 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
10227 (translate_options): Remove 'V'.
10228 (process_command): Similarly.
10229doc:
10230 * invoke.texi: Remove documentation of 'V'.
10231
dcb41ced
UW
102322002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
10233
10234 * config/s390/linux.h: Revert 2002-04-22 changes.
10235
8dfea428
SM
102362002-05-13 Scott Marks <SMarks@mobile-mind.com>
10237
10238 * config/fr30/fr30.md: Only allow splits of immediate loads
10239 if the destination is a register.
10240
12a41c22
NB
102412002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
10242
10243 * Makefile.in (c-common.o, cppinit.o): Update.
10244 * c-common.c: Include except.h.
10245 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
10246 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
10247 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
10248 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
10249 CPP_PREDEFINES): Handle here.
10250config:
10251 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
10252 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
10253 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
10254 TARGET_OS_CPP_BUILTINS.
10255 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
10256 (CPP_SPEC, EXTRA_SPECS): Update.
10257 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
10258 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
10259 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
10260 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
10261 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
10262doc:
10263 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
10264 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
10265
5692c7bc
ZW
102662002-05-12 Zack Weinberg <zack@codesourcery.com>
10267
10268 * emit-rtl.c (global_rtl): Update comment.
10269 (const_double_htab, const_double_htab_hash,
10270 const_double_htab_hash, lookup_const_double): New.
10271 (const_int_htab_hash, const_int_htab_eq): Remove const
10272 qualifiers, which cause tons of warnings with RTL checking on.
10273 (gen_rtx_CONST_DOUBLE): Deleted.
10274 (const_double_from_real_value): New function - bears some
10275 resemblance to the former immed_real_const_1.
10276 (immed_double_const): Moved here from varasm.c and
10277 simplified.
10278 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
10279 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
10280 (gen_rtx): Use immed_double_const.
10281 (init_emit_once): Initialize the const_double_htab. Use
10282 REAL_VALUE_FROM_INT where possible. Can now use
10283 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
10284 * varasm.c (struct varasm_status): Remove x_const_double_chain.
10285 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
10286 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
10287 (init_varasm_status, mark_varasm_status): Don't touch
10288 x_const_double_chain.
10289
10290 * output.h: Delete prototype for clear_const_double_mem.
10291 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
10292 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
10293 const_double_from_real_value, not immed_real_const_1, and use
10294 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
10295 CONST_DOUBLE_ATOF.
10296 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
10297 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
10298 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
10299 (gen_rtx_REG): Second arg is unsigned.
10300
10301 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
10302 (excluded_rtx): New, return true for CONST_DOUBLE.
10303 (genmacro): Write nothing for excluded codes.
10304 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
10305 * expr.c (expand_expr): Likewise.
10306 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
10307 CONST_DOUBLE_CHAIN.
10308 * toplev.c (rest_of_compilation): Don't call
10309 clear_const_double_mem.
10310
10311 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
10312 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
10313 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
10314 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
10315 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
10316 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
10317 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
10318 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
10319
31397a7b
KG
103202002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10321
10322 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
10323
1b70d38a
TT
103242002-05-12 Tom Tromey <tromey@redhat.com>
10325
10326 * tree.h (copy_node): Don't mention TREE_PERMANENT.
10327
9a5834ae
ZW
103282002-05-12 Zack Weinberg <zack@codesourcery.com>
10329
10330 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
10331 (scan_comma_elt): New function. Accepts whitespace in comma lists.
10332 * gensupport.h: Prototype new routines.
10333 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
10334 use of printf.
10335 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
10336 (next_comma_elt): Use scan_comma_elt.
10337
10338 * config/i386/i386.md: Use new attribute notation to break up
10339 long lines in define_attr forms.
10340
51286de6
RH
103412002-05-12 Richard Henderson <rth@redhat.com>
10342
10343 * expr.c (compress_float_constant): New.
10344 (emit_move_insn): Use it.
10345 (float_extend_from_mem): New.
10346 (init_expr_once): Initialize it.
10347 * real.c (exact_real_truncate): New.
10348
10349 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
10350 dropped into memory; penalize for size.
10351 (RTX_COSTS): FLOAT_EXTEND is free.
10352 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
10353 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
10354
6412341e
RH
103552002-05-12 Richard Henderson <rth@redhat.com>
10356
10357 * profile.h (profile_info): Add missing extern to declaration.
10358 * profile.c (profile_info): Define it.
10359
12877f09
JDA
103602002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
10361
10362 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
10363 used for DImode and TImode.
10364
387f9e32
NB
103652002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
10366
10367 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
10368 fake a newline.
10369
e1a0f69c
ZW
103702002-05-11 Zack Weinberg <zack@codesourcery.com>
10371
10372 * config/rs6000/rs6000.c (rs6000_default_long_calls,
10373 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
10374 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
10375 (rs6000_override_options): Handle -m(no-)longcall.
10376 (init_cumulative_args, output_mi_thunk): Check for both
10377 longcall and shortcall attributes on the function.
10378 (rs6000_attribute_table): Add "shortcall".
10379 (rs6000_handle_longcall_attribute): Update comment.
10380 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
10381 altivec_expand_ternop_builtin): Add default clauses to switches
10382 to silence warnings.
10383
10384 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
10385 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
10386 (TARGET_OPTIONS): Add longcall and no-longcall.
10387
10388 * config/rs6000/rs6000.md (call_nonlocal_sysv,
10389 call_value_nonlocal_sysv): Split by alternatives. One pair
10390 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
10391 the call cookie. The other pair accepts only LR/CTR and has
10392 no restriction.
10393
10394 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
10395 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
10396 tmake_file.
10397 * config/rs6000/rs6000-c.c: New file.
10398 * config/rs6000/t-rs6000-c-rule: New file.
10399 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
10400 Prototype rs6000_pragma_longcall.
10401
10402 * doc/extend.texi: Document shortcall attribute.
10403 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
10404
9c64026d
JDA
104052002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
10406
10407 * reorg.c (dbr_schedule): Remove unnecessary test.
10408
6c81a490
JH
10409Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
10410
10411 * i386.md (testsi to testqi spliters): New.
10412
10413 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
10414
10415 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
10416
10417 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
10418
10419 * basic-block.h: New flag EDGE_CAN_FALLTHRU
10420 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
10421 that can be made fallthru.
10422
10423 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
10424
10425 * cfglayout.c (cleanup_unconditional_jumps): New static function.
10426 (cfg_layout_initialize): Use it.
4c476cf3 10427
e4447d94
MM
104282002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
10429
10430 * config/avr/avr.c (avr_mcu_types): Update supported devices.
10431 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
10432 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
10433
3a538a66
KH
104342002-05-11 Kazu Hirata <kazu@cs.umass.edu>
10435
10436 * dbxout.c: Fix formatting.
10437 * dependence.c: Likewise.
10438 * df.c: Likewise.
10439 * diagnostic.c: Likewise.
10440 * doloop.c: Likewise.
10441 * dominance.c: Likewise.
10442 * doschk.c: Likewise.
10443 * dwarf2asm.c: Likewise.
10444 * dwarf2out.c: Likewise.
10445 * dwarfout.c: Likewise.
10446
2292e8fc
RH
104472002-05-10 Richard Henderson <rth@redhat.com>
10448
10449 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
10450 Convert integers constants as needed. Replace "nwords" field with
10451 "sizeof_bb".
10452 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
10453 * function.h: Fix typo in comment.
10454 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
10455
dbfb1116
RS
104562002-05-10 Roger Sayle <roger@eyesopen.com>
10457
10458 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
10459 into the equivalent (signed char)c > 0.
10460
79a497cd
JJ
104612002-05-10 Janis Johnson <janis187@us.ibm.com>
10462
10463 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
10464 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
10465 (struct prefetch_info): Fix spelling of member bytes_accessed.
10466 (emit_prefetch_instructions): Make dump messages more regular;
10467 restructure code to add more dump messages; use new macros for
10468 heuristics. (There are no code generation changes in any of this).
10469
6c45cb0d
DM
104702002-05-10 David S. Miller <davem@redhat.com>
10471
7440af14
DM
10472 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
10473 (struct rtx_def): Update unchanging flag comment.
10474 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
10475 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
10476 to be handled to INSN too.
10477 (dbr_schedule): Likewise.
10478 * resource.c (next_insn_no_annul): Likewise.
10479
6c45cb0d
DM
10480 * cse.c (rtx_cost): Remove multiplication by power of 2 special
10481 casing.
10482
29f21e4f
GP
104832002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10484
10485 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
10486 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
10487 (possibly) work around broken /bin/sh.
10488
e4ba88da
RO
104892002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10490
10491 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
10492 . as N64/N32 libgcc_s.so subdirs.
10493
4f4778ee
DM
104942002-05-10 David S. Miller <davem@redhat.com>
10495
10496 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
10497
10498 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
10499 more accurately.
10500 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
10501 comment.
10502 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
10503 * doc/rtl.texi: Document these macros more accurately.
10504 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
10505 JUMP_INSNs and CALL_INSNs.
10506 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
10507 or INSN_FROM_TARGET_P if the code is appropriate.
10508
1a499b92
MM
105092002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
10510
10511 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
10512 before using SYMBOL_REF_FLAG (addr).
10513
10514 * config/avr/avr-protos.h (avr_io_address_p): Declare.
10515 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
10516 Make non-static. Update all callers.
10517 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
10518 New insns to clear/set/test a single bit in I/O address space.
10519
65212b66
KG
105202002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10521
10522 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
10523
3df89291
NB
105242002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
10525
10526 * Makefile.in: Update.
10527 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
10528 builtin_define_std): New.
10529 (c_common_init): Register CPP builtins callback.
10530 * c-common.h (flag_iso, flag_undef): New.
10531 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
10532 * c-lex.c: Don't include target.h.
10533 (cb_register_builtins): Move to c-common.c.
10534 (init_c_lex): Don't register hook here.
10535 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
10536 (cpp_define, cpp_assert): Remove.
10537 * gcc.c (cc1_options): Pass -undef to front end.
10538 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
10539 (TARGET_INITIALIZER): Update.
10540 * target.h (struct cpp_reader): Don't predeclare.
10541 (struct gcc_target): Remove cpp builtin hook.
10542 * tree.c (default_register_cpp_builtins): Remove.
10543doc:
10544 * tm.texi: Update.
10545
32fa4565
NB
105462002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
10547
10548 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
10549
23357c55
RO
105502002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10551
10552 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
10553 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
10554
5aa26af0
JJ
105552002-05-09 Jakub Jelinek <jakub@redhat.com>
10556
10557 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
10558 * config/sparc/libgcc-sparc-glibc.ver: New file.
10559 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
10560 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
10561
2937267b
JJ
105622002-05-09 Jakub Jelinek <jakub@redhat.com>
10563
10564 PR target/6429
10565 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
10566 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
10567 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
10568 base multilibs.
10569 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
10570 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
10571 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
10572 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
10573
086c0f96
RH
105742002-05-09 Richard Henderson <rth@redhat.com>
10575
10576 * config/ia64/ia64.md: Use define_constants for unspec numbers.
10577 * config/ia64/ia64.c: Likewise.
10578
a8b4881f
RS
105792002-05-09 Richard Sandiford <rsandifo@redhat.com>
10580
10581 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
10582 (save_restore_insns): Likewise.
10583 (mips_expand_prologue, mips_expand_epilogue): Update callers.
10584 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
10585
243e5500 10586Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
890d52e8 10587
af2728a4
JL
10588 * athlon.md, k6.md, pentium.md, ppro.md): New files.
10589 * i386.md: Move scheduling information into new files.
10590
890d52e8
JL
10591 * i386.md (type attribute): Add "rotate" for rotate insns.
10592 (rotate insns): Set type to "rotate".
10593 (various attributes and function units): Treat rotate like shift.
10594 (pent_pair attribute): Only rotates by one bit position are
10595 pairable.
10596 (sbb insns): Explicitly set pent_pair attribute on a couple
10597 that were missing it.
10598
f78ec36a
R
10599Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
10600
10601 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
10602 make sure that buffer starts on odd word address.
10603 (sh_va_arg): Skip odd fp registers when reading a double precision
10604 value.
10605
ff431459
NB
106062002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
10607
10608 * tree.h (preserve_data, object_permanent_p, type_precision):
10609 Remove.
10610
c3bf3e6e
NB
106112002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
10612
10613 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
10614 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
10615doc:
10616 * cpp.texi: Update for removal of obsolete features.
10617
02263a8a
JH
10618Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
10619 Jeffrey A Law (law@redhat.com)
10620
10621 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
10622 the DFA interface for Pentium processors.
10623 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
10624 (attr_pent_pair, ix86_pent_find_pair): Remove.
10625 (ix86_sched_reorder_pentium): Remove.
10626 (ix86_sched_reorder): Remove reordering for Pentium.
10627 * i386.md (Pentium scheduling): Rewrite using DFA description.
10628
3e638a90
JH
10629Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
10630
10631 * cfganal.c (can_fallthru): Fix fast path.
10632 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
10633 with edges to the next block.
10634
b7c9bf28
JH
10635Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
10636 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
10637
10638 * final.c (end_final): Use C trees to output data structures for profiling.
10639
10640 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
10641 (profile.o): New dependency profile.h
10642 (final.o): New dependency profile.h
10643 * profile.h: New file. New global structure profile_info.
10644 * final.h (count_edges_instrumented_now): Declare.
10645 (current_function_cfg_checksum): Declare.
10646 (function_list): New structure.
10647 (functions_head, functions_tail): New static variables.
10648 (end_final): Emits more data, removed some -ax stuff.
10649 (final): Stores function names and chcksums.
10650 * gcov-io.h (__write_gcov_string): New function.
10651 (__read_gcov_string): New function.
10652 * gcov.c (read_profile): New function.
10653 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 10654 da_file.
5692c7bc
ZW
10655 (read_files): Removed da_file checking, it's done by read_profile now.
10656 * libgcc2.c (bb_function_info): New structure.
10657 (bb): New field in structure, removed some -ax stuff.
10658 (__bb_exit_func): Changed structure of da_file.
10659 * profile.c (count_edges_instrumented_now): New global variable.
10660 (current_function_cfg_checksum): New global variable.
10661 (max_counter_in_program): New global variable.
10662 (get_exec_counts): New function.
10663 (compute_checksum): New function.
10664 (instrument_edges): Sets count_edges_instrumented_now.
10665 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 10666 reading da_file.
5692c7bc
ZW
10667 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
10668 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 10669 now.
5692c7bc 10670 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 10671 now.
5692c7bc 10672 * gcov.texi: Updated information about gcov file format.
b7c9bf28 10673
786de7eb
KH
106742002-05-09 Kazu Hirata <kazu@cs.umass.edu>
10675
10676 * sbitmap.c: Fix formatting.
10677 * scan.c: Likewise.
10678 * scan-decls.c: Likewise.
10679 * sched-deps.c: Likewise.
10680 * sched-ebb.c: Likewise.
10681 * sched-rgn.c: Likewise.
10682 * sched-vis.c: Likewise.
10683 * sdbout.c: Likewise.
10684 * sibcall.c: Likewise.
10685 * simplify-rtx.c: Likewise.
10686 * ssa.c: Likewise.
10687 * ssa-ccp.c: Likewise.
10688 * ssa-dce.c: Likewise.
10689 * stmt.c: Likewise.
10690 * stor-layout.c: Likewise.
10691 * stringpool.c: Likewise.
10692
b7764693
DM
106932002-05-09 David S. Miller <davem@redhat.com>
10694
10695 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
10696
4e7d5d27
DM
106972002-05-07 David S. Miller <davem@redhat.com>
10698
10699 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
10700 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
10701 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
10702 library implementation clobbers the output before the inputs
10703 are fully consumed, use stack temporary for the output.
10704
f979570e
JT
107052002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
10706
10707 * config/netbsd.h (CPP_SPEC): Remove.
10708 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
10709 * config/i386/netbsd.h (CPP_SPEC): Define.
10710 * config/ns32k/netbsd.h (CPP_SPEC): Define.
10711 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
10712 * config/sparc/netbsd.h (CPP_SPEC): Define.
10713 * config/vax/netbsd.h (CPP_SPEC): Define.
10714
a6a2274a
KH
107152002-05-08 Kazu Hirata <kazu@cs.umass.edu>
10716
10717 * read-rtl.c: Fix formatting.
10718 * real.c: Likewise.
10719 * recog.c: Likewise.
10720 * regclass.c: Likewise.
10721 * regmove.c: Likewise.
10722 * reg-stack.c: Likewise.
10723 * reload1.c: Likewise.
10724 * reload.c: Likewise.
10725 * resource.c: Likewise.
10726 * rtlanal.c: Likewise.
10727 * rtl.c: Likewise.
10728 * rtl-error.c: Likewise.
10729
461b48d5
JDA
107302002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
10731
10732 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
10733 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
10734
95d075ff
BS
107352002-05-08 Bernd Schmidt <bernds@redhat.com>
10736
10737 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
10738 use __SSE2__ macro instead.
10739 * config/i386/xmmintrin.h: Likewise.
10740
2d4cc6a7
JJ
107412002-05-08 Janis Johnson <janis187@us.ibm.com>
10742
10743 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
10744 and use it in all invocations of these macros. Clean up comments.
10745 * rtl.c (rtl_check_failed_flag): Add an argument for the name
10746 of the flag access macro whose check failed.
10747 * doc/rtl.texi (Flags): Document additional flag uses.
10748
3f8ffc7c
RS
107492002-05-08 Robert Spier <rspier@pobox.com>
10750 Neil Booth <neil@daikokuya.demon.co.uk>
10751
10752 PR preprocessor/6521
10753 * cppfiles.c (handle_missing_header): Don't do anything
10754 different for <> includes.
10755doc:
10756 * cppopts.texi: Update documentation for -MG.
10757
b9e2d17b
NB
107582002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
10759
10760 * cpplex.c (cpp_interpret_charconst): Truncate as well as
10761 sign-extend.
10762doc:
10763 * cpp.texi: Clarify multichar charconst valuation.
10764
8d8269fa
MM
107652002-05-08 Mark Mitchell <mark@codesourcery.com>
10766
10767 * doc/invoke.texi: Document -mwindiss option.
10768
29b91443
JM
107692002-05-08 Jason Merrill <jason@redhat.com>
10770
10771 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
10772
10773 * dwarf2out.c (gen_type_die): Abort on broken recursion.
10774
10775 PR c++/6381
10776 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
10777 REAL_CST.
10778
6c76b950
NC
107792002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
10780
10781 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
10782 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 10783 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
10784 multilibs for the Thumb.
10785
f90bf7ca
MM
107862002-05-08 Mark Mitchell <mark@codesourcery.com>
10787
10788 PR c/6569.
10789 * varasm.c (mark_weak): New function.
10790 (merge_weak): Use it. Do not call declare_weak.
10791 (declare_weak): Use merge_weak.
10792
1e150f2c
JH
10793Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
10794
10795 * cse.c (dead_libcall_p): Update counts.
10796 (delete_trivially_dead_insns): Update call of dead_libcall_p.
10797
969d70ca
JH
10798Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
10799
10800 * cfglayout.c (function_tail_eff_head): Rename to ...
10801 (function_footer): ... this one.
10802 (unlink_insn_chain): New functions.
10803 (label_for_bb): Only call block_label and emit debug message.
10804 (record_effective_endpoints): Actually unlink the headers and footers.
10805 (fixup_reorder_cahin): Re-insert the unlinked sequences.
10806 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
10807 * cfglayout.h (struct reorder_block_def): New fields footer/header;
10808 remove eff_head/eff_end.
10809 * rtl.h (set_first_insn): Declare.
10810 * emit-rtl.c (set_first_insn): New function.
10811
10812 * cfglayout.c (fixup_reorder_chain): Dump duplicated
10813 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
10814 cfg_layout_duplicate_bb): New global function.
10815 (duplicate_insn_chain): New static function.
10816 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
10817 cfg_layout_duplicate_bb): Declare.
10818 (struct reorder_block_def): Add "original" field.
10819 * emit-rtl.c (emit_copy_of_insn_after): New function.
10820 * rtl.h (emit_copy_of_insn_after): Declare.
10821
10822 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
10823 (fixup_reorder_chain): properly handle edges to exit block.
10824
10825Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10826 Jan Hubicka <jh@suse.cz>
10827
10828 * basic-block.h (note_prediction_to_br_prob): declare.
10829 * c-semantics.c: Inlucde predit.h
10830 (expand_stmt): predict GOTO_STMT as not taken.
10831 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
10832 (cleanup_cfg): Do not free tail_recursion_list.
10833 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
10834 (flow_delete_block): Kill predictions past end of basic block.
10835 * output.h (delete_unreachable_blocks): Declare.
10836 * predict.c (predicted_by_p, process_note_predictions,
10837 process_note_prediction, last_block_p): New function.
10838 (estimate_probability): Bypass loop on PRED_CONTINUE;
10839 do not handle noreturn heuristics; kill PRED_RETURN; add
10840 PRED_EARLY_RETURN.
10841 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
10842 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
10843 * predict.h (IS_TAKEN): New constant.
10844 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
10845 * rtl.c (NOTE_INSN_PREDICTION): New.
10846 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
10847 New macro.
10848 (insn_note): add NOTE_INSN_PREDICTION.
10849 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
10850 CFG; free tail_recursion_label_list.
10851 * stmt.c: Include predict.h;
10852 (return_prediction): New.
10853 (expand_value_return): Use it.
10854 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
10855
41f8d041
RS
108562002-05-08 Richard Sandiford <rsandifo@redhat.com>
10857
10858 * config/mips/mips.md: Name the unspecs with define_constant.
10859 (*HILO_delay): Rename to 'hilo_delay' (no star).
10860 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
10861 (reload_outdi, reload_outsi): Likewise.
10862
9cabb1d8
KH
108632002-05-07 Kazu Hirata <kazu@cs.umass.edu>
10864
10865 * toplev.c: Fix formatting.
10866
4c76f856
JJ
108672002-05-07 Janis Johnson <janis187@us.ibm.com>
10868
10869 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
10870 * configure.in (ac_rtlflag_checking): New.
10871 * doc/install.texi (--enable-checking): Document RTL flag checking.
10872
44a147ad
NB
108732002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
10874
10875 * c-common.c (c_common_init): Set options->unsigned_wchar.
10876 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
10877 group target dependencies.
10878 (init_builtins, cpp_handle_option): Update.
10879 * cpplex.c (cpp_interpret_charconst): Update.
10880 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
10881 signed_char to unsigned_char, group target dependencies.
10882 * defaults.h (WCHAR_UNSIGNED): Remove.
10883 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
10884config:
10885 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
10886 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
10887 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
10888 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
10889 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
10890doc:
10891 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
10892
cace4f93
MM
108932002-05-07 Mark Mitchell <mark@codesourcery.com>
10894
10895 * fixinc/inclhack.def (windiss_math1): New fix.
10896 (windiss_math2): Likewise.
10897 (windiss_valist): Likewise.
10898 * fixinc/fixincl.x: Regenerated.
10899
e2ff6cee
AJ
109002002-05-07 Andreas Jaeger <aj@suse.de>
10901
10902 * genautomata.c (output_internal_min_issue_delay_func): Add
10903 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
10904 (output_internal_trans_func): Likewise.
10905
bdad4be5
JL
10906Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
10907
10908 * pa.c (hppa_profile_hook): Use force_reg to get the address
10909 of the profile hook into an appropriate pseudo register.
10910
a1ffecd9
MM
109112002-05-07 Mark Mitchell <mark@codesourcery.com>
10912
10913 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
10914 (LINK_START_SPEC): Handle it.
10915 (LINK_OS_SPEC): Likewise.
10916 (CPP_SPEC): Likewise.
10917 (STARTFILE_SPEC): Likewise.
10918 (LIB_SPEC): Likewise.
10919 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
10920 all platforms.
10921 (CRTSAVRES_DEFAULT_SPEC): New macro.
10922 (LIB_WINDISS_SPEC): New macro.
10923 (CPP_OS_WINDISS_SPEC): Likewise.
10924 (STARTFILE_WINDISS_SPEC): Likewise.
10925 (ENDFILE_WINDISS_SPEC): Likewise.
10926 (LINK_START_WINDISS_SPEC): Likewise.
10927 (LINK_OS_WINDISS_SPEC): Likewise.
10928 * config/rs6000/windiss.h: New file.
e2ff6cee 10929
df966bff
AH
109302002-05-07 Aldy Hernandez <aldyh@redhat.com>
10931
a5c76ee6 10932 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 10933
db84f1bd
DM
109342002-05-06 David S. Miller <davem@redhat.com>
10935
10936 * config/sparc/sparc.md (shift insns): Do not mask off
10937 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
10938 take care of it.
10939
818c0c94
RH
109402002-05-06 Richard Henderson <rth@redhat.com>
10941
10942 PR c++/6212
10943 * expr.c (highest_pow2_factor_for_type): New.
10944 (expand_assignment): Use it.
10945
61e0b50f
AH
109462002-05-06 Aldy Hernandez <aldyh@redhat.com>
10947
818c0c94
RH
10948 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
10949 unspec_volatile.
10950 ("altivec_mfvscr"): Same.
61e0b50f 10951
5a63e069
JJ
109522002-05-06 Janis Johnson <janis187@us.ibm.com>
10953
10954 * rtl.h (struct rtx_def): Update comments.
10955 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
10956 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
10957 RTL_FLAG_CHECK macros with list of expected RTL codes.
10958 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
10959 (rtl_check_failed_flag): New.
10960 * reload1.c (reload): Use REG macro before changing rtx to MEM.
10961 (reload_cse_noop_set_p): Check rtx code before using access macro.
10962 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
10963 before using access macro.
10964
4afe3952
JJ
109652002-05-06 Janis Johnson <janis187@us.ibm.com>
10966
10967 * doc/rtl.texi (Flags): Update to reflect current usage.
10968
1f77b5da
RS
109692002-05-06 Roger Sayle <roger@eyesopen.com>
10970
10971 PR opt/3995
10972 * fold-const.c (sign_bit_p): New function.
10973 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 10974 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
10975 Reapply fold when converting (A & C) == C into (A & C) != 0.
10976 (fold_binary_op_with_conditional_arg): Fix typo in comment.
10977
a5a49440
NB
109782002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
10979
10980 * c-common.c (warn_multichar): New.
10981 (c_common_init): Set CPP's warn_multichar.
10982 * c-common.h (warn_multichar): New.
10983 * c-decl.c (warn_multichar): Remove.
10984 * c-lex.c (lex_charconst): Update.
10985 * c-tree.h (warn_multichar): Remove.
10986 * cppexp.c (eval_token): Sign-extend charconst value.
10987 * cppinit.c (cpp_create_reader): Set warn_multichar.
10988 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
10989 each character. Update prototype. Sign-extend the result.
10990 * cpplib.h: Fix conditions.
10991 (struct cpp_options): Add new warning flag.
10992 (cpp_interpret_charconst): Update prototype.
10993doc:
10994 * cpp.texi: Update documentation.
10995
83e0be55
VM
109962002-05-06 Vladimir Makarov <vmakarov@redhat.com>
10997
10998 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
10999 Fix typo in usage of allof instead of unit.
11000
688ec718
RH
110012002-05-06 Richard Henderson <rth@redhat.com>
11002
11003 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
11004 and any jump or call for IN.
11005
f6536266
BS
110062002-05-06 Bernd Schmidt <bernds@redhat.com>
11007
e2ff6cee 11008 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
11009 -msse2.
11010 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 11011
0316d49b
RS
110122002-05-06 Roger Sayle <roger@eyesopen.com>
11013
11014 * fold-const.c (lshift-double): Cast the high word to an unsigned
11015 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
11016 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
11017 avoid compiler warning. (fold): Remove redundant code from
11018 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
11019
5d50fab3
JL
110202002-05-06 Jeff Law <law@redhat.com>
11021
11022 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
11023 * pa.c (pa_adjust_cost): Remove all true dependency cost
11024 adjustments. Also remove support for non-DFA scheduling.
11025 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
11026 to adjust true dependency costs. Update various comments.
11027 (7100lc, 7200, 7300 scheduling): Simplify by combining the
11028 FP ALU & MPY units into a single unit.
11029
a17a104c
CM
110302002-05-06 Catherine Moore <clm@redhat.com>
11031
11032 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 11033 to count all of the registers that will be saved.
a17a104c 11034
7799175f
JH
11035Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
11036
11037 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
11038
0ac941a0
DM
110392002-05-06 David S. Miller <davem@redhat.com>
11040
11041 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
11042 allow result to overlap input operands in memory.
11043
95ff5d3f
NB
110442002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
11045
11046doc:
11047 * cpp.texi: Update multichar charconst docs.
11048
639e8b0c
NB
110492002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
11050
11051 * cpplex.c (cpp_interpret_charconst): Sign-extend each
11052 character. Don't ignore excess characters. Treat
11053 multicharacter character constants as signed.
11054 (cpp_parse_escape): Clarify diagnostic.
11055
84ea5bc1
JJ
110562002-05-05 Jakub Jelinek <jakub@redhat.com>
11057
11058 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
11059 use add instead of shift.
11060 (ashldi3_sp64): Likewise.
11061 (ashlsi3_const1, ashldi3_const1): Remove.
11062 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
11063 * config/sparc/sparc.c (const1_operand): New.
11064
40cd22f2
JT
110652002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
11066
11067 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
11068
cac01076
JJ
110692002-05-05 Jakub Jelinek <jakub@redhat.com>
11070
11071 PR target/6561
11072 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
11073
98791e3a
RH
110742002-05-05 Richard Henderson <rth@redhat.com>
11075
11076 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
11077 memory latency adjustments.
11078 (alpha_variable_issue): Remove.
11079 (alpha_use_dfa_pipeline_interface): New.
11080 (alpha_multipass_dfa_lookahead): New.
11081 * config/alpha/alpha.md: Remove define_function_unit scheduling;
11082 include new dfa scheduling.
11083 (attr type): Add none.
11084 (blockage): Use it.
11085 * config/alpha/ev4.md: New.
11086 * config/alpha/ev5.md: New.
11087 * config/alpha/ev6.md: New.
11088
309527ce
DM
110892002-05-05 David S. Miller <davem@redhat.com>
11090
11091 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
11092
68252e27
KH
110932002-05-05 Kazu Hirata <kazu@cs.umass.edu>
11094
11095 * cse.c: Fix formatting.
11096 * emit-rtl.c: Likewise.
11097
30cc9d00
VM
110982002-05-05 Vladimir Makarov <vmakarov@redhat.com>
11099
11100 * genautomata.c (initiate_states): Add additional guard to
11101 initialize `units_array'.
11102
deb09eff
VM
111032002-05-05 Vladimir Makarov <vmakarov@redhat.com>
11104
11105 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
11106 process_unit_to_form_the_same_automaton_unit_lists,
11107 form_the_same_automaton_unit_lists
11108 check_unit_distributions_to_automata): New prototypes and
11109 functions.
11110 (check_automata): Rename it into `check_automata_insn_issues'.
11111 (unit_decl): New fields `the_same_automaton_unit' and
11112 `the_same_automaton_message_reported_p'.
11113 (unit_decl_t): New typedef.
11114 (the_same_automaton_lists): New gloval variable.
11115 (unit_regexp, unit_set_el, units_array, units_cmp,
11116 output_get_cpu_unit_code_func): Use the typedef.
11117 (evaluate_max_reserv_cycles): Increment
11118 `description->max_insn_reserv_cycles'.
11119 (initiate_states): Don't increment `max_cycles_num'.
11120 (transform_insn_regexps): Move code around transformation of
11121 regexps from `generate'.
11122 (generate): Remove call of `transform_insn_regexps'.
11123 (expand_automata): Call `transform_insn_regexps' and
11124 `check_unit_distributions_to_automata'. Check errors before
11125 `generate'.
11126
11127 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
11128 automaton `ultrasparc3_1'.
e2ff6cee 11129
2443d4e1
NB
111302002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
11131
11132 * c-common.c (c_common_init): Set up CPP arithmetic.
11133 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
11134 something reasonable for the host.
11135 (sanity_checks): Add checks.
11136 (cpp_read_main_file): Call sanity_checks() from here...
11137 (cpp_post_options): ... not here.
11138 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
11139 * cpplib.h (struct cpp_options): New member int_precision.
11140
791a949f
FS
111412002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11142
11143 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
11144
091fb516
DM
111452002-05-04 David S. Miller <davem@redhat.com>
11146
f60ebeb7
DM
11147 * config/sparc/linux.h, config/sparc/linux64.h
11148 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
11149
214c6394
DM
11150 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
11151 more RTX codes.
11152 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
11153
091fb516
DM
11154 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
11155 of SETs.
11156
f2fdc802
TJ
111572002-05-05 Tim Josling <tej@melbpc.org.au>
11158
e2ff6cee 11159 * treelang; New directory for new sample language treelang.
f2fdc802 11160
3d90d290
NB
111612002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
11162
11163 * Makefile.in (c-lex.o): Update.
11164 * c-lex.c: Include target.h.
11165 (cb_register_builtins): New.
11166 (init_c_lex): Set builtins callback.
11167 * c-lex.h (cpp_define, cpp_assert): New prototypes.
11168 * cppinit.c (init_builtins): Use callback, including for
11169 GXX_WEAK.
11170 * cpplib.h (struct cpp_callbacks): New member.
11171 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
11172 (TARGET_INITIALIZER): Update.
11173 * target.h (struct gcc_target): New hook.
11174 * tree.c (default_register_cpp_builtins): New.
11175 * tree.h (default_register_cpp_builtins): New.
11176doc:
11177 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
11178
625458d0
NB
111792002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
11180
11181 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
11182 (cpp_post_options): Move sanity checks to...
11183 (sanity_checks): New.
11184 * cpplex.c (maybe_read_ucs): Fix prototype.
11185 (parse_string, cpp_parse_escape): Cast for %c format specifier.
11186 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
11187 if necessary.
11188
916b60b7
BS
111892002-05-04 Bernd Schmidt <bernds@redhat.com>
11190
11191 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
11192 builtins. Use V2DI patterns instead of TI for logical operations.
11193 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
11194 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
11195 (ix86_expand_builtins): Change the pattern used for movntdq.
11196 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
11197 sse2_nandv2di3): New patterns.
11198 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
11199 on operands.
11200 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
11201 (cvtdq2pd): Correct mode on operand 1.
11202 (sse2_umulsidi3): Describe without unspec.
11203 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
11204 machine modes.
11205 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
11206 (ashlv2di3): Likewise, from sse2_ashlv2di3.
11207 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
11208 ashlv4si3, ashlv2di3): Use SImode for shift count.
11209 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
11210 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
11211 New patterns.
11212 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
11213 New typedefs.
11214 (__m128i, __m128d): New macros.
11215 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
11216 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
11217 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
11218 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
11219 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 11220 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
11221 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
11222 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 11223 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
11224 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
11225 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
11226 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
11227 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
11228 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
11229 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
11230 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
11231 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
11232 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
11233 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
11234 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
11235 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
11236 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
11237 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
11238 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
11239 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
11240 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
11241 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
11242 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
11243 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
11244 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
11245 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
11246 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
11247 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
11248 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
11249 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
11250 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
11251 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
11252 functions.
e2ff6cee 11253 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
11254 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
11255
c26fbbca
KH
112562002-05-04 Kazu Hirata <kazu@cs.umass.edu>
11257
11258 * dwarf2out.c: Fix formatting.
11259 * varasm.c: Likewise.
11260
0387639b
DE
112612002-05-04 David Edelsohn <edelsohn@gnu.org>
11262
11263 PR c/6543
11264 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
11265 clobber and use result as temporary value.
11266
8a28dbcc
JH
11267Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
11268
11269 * expr.c (force_operand): Use expand_simple_* to handle more
11270 cases.
11271
4268e8bb
NB
112722002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
11273
11274 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
11275 and sign-extension.
11276 (lex_charconst): Update for change in prototype of
11277 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
11278 appropriately.
11279 * cpphash.h (BITS_PER_CPPCHAR_T): New.
11280 * cppinit.c (cpp_create_reader): Initialize them for no
11281 change in semantics.
11282 (cpp_post_options): Add sanity checks.
11283 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
11284 and truncation issues. Calculate in type cppchar_t.
11285 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
11286 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
11287 run-time dependent precision correctly. Return whether the
11288 result is signed or not.
11289 * cpplib.c (dequote_string): Use cppchar_t; update.
11290 * cpplib.h (cppchar_signed_t): New.
11291 struct cpp_options): New precision members.
11292 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 11293 * cppexp.c (eval_token): Update.
4268e8bb 11294
af54350e
DM
112952002-05-03 David S. Miller <davem@redhat.com>
11296
2ce04b6b
DM
11297 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
11298 * config/sparc/sparc.c (sparc_rtx_costs): New function
11299 implementing RTX_COSTS and CONST_COSTS.
11300 * config/sparc/sparc.h (CONST_COSTS): Delete.
11301 (RTX_COSTS_CASES): Define.
11302 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
11303 the work.
11304
a1d9bd0c
DM
11305 * config/sparc/sparc.md (DFA schedulers): Split out...
11306 * config/sparc/cypress.md, config/sparc/hypersparc.md,
11307 config/sparc/sparclet.md, config/sparc/supersparc.md,
11308 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
11309
e87bb82e
DM
11310 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
11311 checks on it, always defined for Sparc.
11312
af54350e
DM
11313 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
11314 Tweak, and add more detailed comments.
11315
935bfb44
ZW
113162002-05-03 Zack Weinberg <zack@codesourcery.com>
11317
11318 * Re-apply patch accidentally reverted with
11319 DFA scheduler merge: remove all rules and variables to slurp
11320 source files out of libiberty and rebuild them with HOST_CC.
11321 ($(HOST_PREFIX_1)varray.o): New rule.
11322 (genattrtab rule): Word wrap.
11323
fa7a0712
JT
113242002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
11325
11326 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
11327 (CPP_SUBTARGET_SPEC): Define.
11328 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
11329 cpp_subtarget specs.
11330 (CPP_SPEC): Redefine to include %(cpp_subtarget).
11331
14c93978
DM
113322002-05-03 David S. Miller <davem@redhat.com>
11333
11334 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
11335 * target.h (struct gcc_target): Delete cycle_display member.
11336
14d118d6
DM
11337 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
11338 (rtx_needs_barrier): Delete reference to cycle_display unspec.
11339 (ia64_sched_reorder2): Mention need for cycle display handling
11340 once such notes exist.
935bfb44 11341
b3ae1ccd
RH
113422002-05-03 Richard Henderson <rth@redhat.com>
11343
11344 * real.c (etoasc): Strip most trailing zeros for clarity.
11345 * sched-vis.c: Include real.h.
11346 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
11347 * Makefile.in (sched-vis.o): Add real.h.
11348
8f39865a
DM
113492002-05-03 David S. Miller <davem@redhat.com>
11350
11351 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
11352 no longer needed.
11353
b44140e7
AH
113542002-05-03 Aldy Hernandez <aldyh@redhat.com>
11355
935bfb44
ZW
11356 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
11357 when we get an out of range literal.
11358 (altivec_expand_ternop_builtin): Same.
11359 (altivec_expand_unop_builtin): Same.
11360 (altivec_expand_builtin): Same, for dss.
11361 (altivec_expand_builtin): Use trees instead of rtl when
11362 determining literal argument validity.
b44140e7 11363
aaaed752
DM
113642002-05-03 David S. Miller <davem@redhat.com>
11365
11366 Delete cycle display scheduling hook.
11367 * config/ia64/ia64.c (ia64_cycle_display,
11368 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
11369 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
11370 and use emit_insn_before instead of ia64_emit_insn_before.
11371 * config/ia64/ia64.md (unspec usage): Delete cycle display.
11372 (cycle_display): Delete insn pattern.
11373 * config/sparc/sparc.md (unspec usage): Delete cycle display.
11374 (cycle_display): Delete insn pattern.
11375 * config/sparc/sparc.c (sparc_cycle_display,
11376 TARGET_SCHED_CYCLE_DISPLAY): Delete.
11377 * doc/md.texi (cycle_display): Don't mention.
11378 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 11379
b37c2614
RH
113802002-05-03 Richard Henderson <rth@redhat.com>
11381
11382 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
11383 * recog.h: Declare them.
11384
11385 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
11386 * config/sparc/sparc.md: Use store_data_bypass_p instead.
11387 * config/sparc/sparc-protos.h: Update.
935bfb44 11388
e1c1132e
JT
113892002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
11390
11391 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
11392 -D__arch64__. Add -D_LP64.
11393 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
11394 from sparc.h.
11395 (CPP_ARCH64_SPEC): Likewise.
11396 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
11397 (NO_BUILTIN_SIZE_TYPE): Undef.
11398
0b2fb0d7
VM
113992002-05-03 Vladimir Makarov <vmakarov@redhat.com>
11400
11401 * genautomata.c (min_issue_delay_pass_states): Change return type
11402 in the prototype.
11403 (min_issue_delay_pass_states): Change the algorithm.
11404 (min_issue_delay): Set up min_insn_issue_delay for the state.
11405 (output_min_issue_delay_table): Interchange the nested loops and
11406 and initiate min_insn_issue_delay for states.
935bfb44 11407
3d4ce12a
JH
11408Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
11409
11410 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
11411 jump is simplejump.
11412
11413Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
11414
11415 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
11416 sequence.
11417
b5482208
RH
114182002-05-03 Richard Henderson <rth@redhat.com>
11419
11420 PR opt/6534
11421 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
11422 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
11423 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
11424 code before JUMP, not EARLIEST.
11425
5a3085c5
JM
114262002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
11427
11428 * c-format.c (check_format_info_main): Don't check for presence of
11429 parameter for * width until after operand number has been read,
11430 and only check for it if format parameters are available.
11431 Fixes PR c/6547.
11432
40039424
JT
114332002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
11434
11435 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
11436 (LINK_SPEC): Undef before defining.
11437
8157303b
JJ
114382002-05-03 Jakub Jelinek <jakub@redhat.com>
11439
11440 PR preprocessor/6489
11441 * tradcpp.c (fixup_newlines): New.
11442 (main, finclude): Use it.
11443
66319f5c
RS
114442002-05-03 Richard Sandiford <rsandifo@redhat.com>
11445
11446 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
11447 * config/mips/mips.c (mips_unique_section): Strip encoding from
11448 decl name.
11449
ce8076ad
JJ
114502002-05-03 Jakub Jelinek <jakub@redhat.com>
11451
11452 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
11453 mode.
11454
975c6e4e
RO
114552002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11456
11457 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
11458 (Specific): Removed buildstats references.
11459 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
11460 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
11461 Accomodate Solaris versions beyond 8.
11462 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
11463 (Specific, *-*-solaris2.8): Removed, obsolete.
11464
d70e94ec
JJ
114652002-05-03 Jakub Jelinek <jakub@redhat.com>
11466
11467 PR target/6542
11468 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
11469 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
11470 fill leaf_reg_remap with identity.
11471 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
11472
6b148bd9
KH
114732002-05-03 Kazu Hirata <kazu@cs.umass.edu>
11474
11475 * config/h8300/crti.asm: Remove trailing spaces.
11476 * config/h8300/h8300.c: Likewise.
11477 * config/h8300/lib1funcs.asm: Likewise.
11478
609688f3
JM
114792002-05-02 Jason Merrill <jason@redhat.com>
11480
11481 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
11482 * c-decl.c (c_init_decl_processing): Use it.
11483 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
11484 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
11485 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
11486
3b03c671
KH
114872002-05-03 Kazu Hirata <kazu@cs.umass.edu>
11488
11489 * regrename.c: Fix formatting.
11490 * tree.c: Likewise.
11491
3b4961bd
JH
11492Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
11493
11494 * i386.md (attribute memory): Handle compares properly.
11495
19cba4a0
JH
11496Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
11497
3b4961bd 11498 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
11499 to none.
11500
797a6ac1
KH
115012002-05-02 Kazu Hirata <kazu@cs.umass.edu>
11502
11503 * function.c: Fix formatting.
11504
6d0de005
JH
115052002-05-02 Jan Hubicka <jh@suse.cz>
11506
11507 * haifa-sched.c (schedule_insn): Print table of instructions and
11508 reservations.
11509 (sched_block): Do not print ready list at verbosity level 1.
11510 * sched-vis.c (print_insn): Make global.
11511 * sched-ebb.c (ebb_print_insn): Rename from...
11512 (print_insn): ... this one.
11513 * sched-int.h (print_insn): Declare
11514
0bfb9a69
RH
115152002-05-02 Richard Henderson <rth@redhat.com>
11516
11517 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
11518 emitted by cycle_display.
11519
6b976d99
LR
115202002-05-02 Loren J. Rittle <ljrittle@acm.org>
11521
11522 * doc/install.texi (*-*-freebsd*): Update to latest status.
11523
0a295052
JJ
115242002-05-02 Jakub Jelinek <jakub@redhat.com>
11525
11526 PR target/6540
11527 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
11528 * config/float-sparc.h: Assume 128-bit long double if
11529 __LONG_DOUBLE_128__ is defined.
11530
842d5d6c
VM
115312002-05-02 Vladimir Makarov <vmakarov@redhat.com>
11532
11533 * genattrtab.c (write_function_unit_info): Add a dummy element
11534 when num_units == 0.
11535
3d7a6309
HB
115362002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11537
11538 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
11539 TYPE_MODE (double_type_node) instead of DFmode.
11540
1b6763cf
JH
11541Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
11542
11543 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
11544 jumps post reload.
11545 * toplev.c (rest_of_compilation): Revert Richard's patch.
11546
b303008e
JDA
115472001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
11548
11549 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
11550
6ed7412a
CM
115512002-05-02 Catherine Moore <clm@redhat.com>
11552
11553 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
11554
e0a2f705
KH
115552002-05-02 Kazu Hirata <kazu@hxi.com>
11556
b32d6163 11557 * combine.c: Fix comment typos.
e0a2f705
KH
11558 * expr.c: Likewise.
11559 * genautomata.c: Likewise.
11560 * stmt.c: Likewise.
11561 * tree.h: Likewise.
11562
38e23049
JM
115632002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
11564
11565 * doc/install.texi: State GNAT version requirements.
11566
40f4a97d
NC
115672002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
11568
11569 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
11570 of the frame pointer or arg pointer register which strict register
11571 checking is not enabled.
11572
0d6d6892
AH
115732002-05-02 Aldy Hernandez <aldyh@redhat.com>
11574
b5482208 11575 * gcc.dg/altivec-8.c: New.
0d6d6892 11576
b5482208
RH
11577 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
11578 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 11579
abaa8559
BK
115802002-05-01 Bruce Korb <bkorb@gnu.org>
11581
11582 * fixinc/check.tpl(set-writable): make sure the function exists first
11583 * fixinc/inclhack.def(alpha_assert): fix test_text
11584 * fixinc/tests/base/assert.h: add in missing result
11585
ecab2143
JL
115862002-05-01 Jeff Law <law@redhat.com>
11587
11588 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
11589 'T' constraint.
11590
ea619b46
JB
115912002-05-01 Joel Brobecker <brobecker@gnat.com>
11592
11593 * dbxout.c (dbxout_type): Emit size information for range types,
11594 as well, but only when using GDB extensions.
11595
c72931a6
RH
115962002-05-01 Richard Henderson <rth@redhat.com>
11597
11598 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
11599 target-independent gnu binutils date test.
11600
2150ad33
RH
116012002-05-01 Richard Henderson <rth@redhat.com>
11602
11603 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
11604 info before expunging the block.
11605
1651cc96
JJ
116062002-05-01 Jakub Jelinek <jakub@redhat.com>
11607
11608 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
11609 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
11610 -M -or -MM is in effect.
11611
8998d5bf
ZW
116122002-05-01 Zack Weinberg <zack@codesourcery.com>
11613
11614 * config.gcc: Correct test of --enable-obsolete. Obsolete all
11615 A29k configurations.
11616 * doc/install.texi: Update to match.
11617
a81eed10
FS
116182002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11619
11620 PR bootstrap/6514
11621 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
11622 for duplicates. Always loop over whole list.
11623
8d53318f
RK
11624Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11625
11626 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
11627
4109b118
JS
116282002-05-01 Joel Sherrill <joel@OARcorp.com>
11629
11630 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
11631 support routines.
11632
c4a9c570
JS
116332002-05-01 Joel Sherrill <joel@OARcorp.com>
11634
11635 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
11636
ea112fc4
DE
116372002-05-01 David Edelsohn <edelsohn@gnu.org>
11638
11639 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
11640 (nabs_nopower): Same.
11641 (floatdisf2): New pattern.
11642 (absdi2): Convert to define_insn_and_split.
11643 (nabsdi2): Same.
11644 (trunctfsf2): Same.
11645 (floatditf2): Same.
11646 (floatsitf2): Same.
11647 (fix_trunctfdi2): Same.
11648 (fix_trunctfsi2): Same.
11649
dda78254
JM
116502002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
11651
11652 * doc/install.texi: Update Texinfo version requirement
11653 documentation.
11654
26aeede4
JJ
116552002-05-01 Jakub Jelinek <jakub@redhat.com>
11656
11657 PR target/6512, PR target/5628
11658 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
11659 when memory is not aligned.
11660 (movdf_insn_v9only_vis): Likewise.
11661 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
11662 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
11663 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
11664
9b7bc465
AH
116652002-05-01 Aldy Hernandez <aldyh@redhat.com>
11666
8998d5bf 11667 * gcc.dg/altivec-7.c: New.
9b7bc465 11668
8998d5bf 11669 * config/rs6000/altivec.h: Cleanup.
9b7bc465 11670
08b57fb3
AH
116712002-04-30 Aldy Hernandez <aldyh@redhat.com>
11672
8998d5bf
ZW
11673 * doc/invoke.texi (Option Summary): Add -mvrsave=.
11674 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 11675
8998d5bf
ZW
11676 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
11677 (rs6000_altivec_vrsave_string): Same.
11678 (rs6000_override_options): Call rs6000_parse_vrsave_option.
11679 (rs6000_parse_vrsave_option): New.
11680 (rs6000_stack_info): Only generate vrsave instructions when
11681 TARGET_ALTIVEC_VRSAVE.
08b57fb3 11682
8998d5bf
ZW
11683 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
11684 (rs6000_altivec_vrsave_string): Define extern.
11685 (rs6000_altivec_vrsave): Same.
11686 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 11687
8e8c38cd
RH
116882002-04-30 Richard Henderson <rth@redhat.com>
11689
11690 PR opt/6516
11691 * toplev.c (rest_of_compilation): Don't run cross-jump before
11692 bb-reorder.
11693
4be9e9cb
TR
116942002-04-30 Tom Rix <trix@redhat.com>
11695
8998d5bf 11696 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
11697 check which_alternative.
11698
1eeeb6a4
KH
116992002-04-30 Kazu Hirata <kazu@hxi.com>
11700
11701 * cpplex.c: Fix comment formatting.
11702 * function.c: Likewise.
11703 * integrate.c: Likewise.
11704 * regrename.c: Likewise.
11705 * sibcall.c: Likewise.
11706 * simplify-rtx.c: Likewise.
11707 * tree-inline.c: Likewise.
11708
ed9d6ff9
JDA
117092002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
11710
11711 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
11712 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
11713 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
11714 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
11715 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
11716 * pa/x-ada: New file. Define ADA_CFLAGS.
11717
1f2641b6
HPN
117182002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
11719
11720 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
11721 from MMIX_LAST_REGISTER_FILE_REGNUM.
11722 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
11723 (struct machine_function): New member highest_saved_stack_register
11724 previously static variable in mmix.c.
11725 (MACHINE_DEPENDENT_REORG): Define.
11726 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
11727 (MMIX_OUTPUT_REGNO): New.
11728 (mmix_target_asm_function_prologue): Move calculation of last used
11729 saved-stack-register into...
11730 (mmix_machine_dependent_reorg): New function. Update to also handle
11731 !TARGET_ABI_GNU.
11732 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
11733 register names, simplify somewhat by new variable regno.
11734 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
11735 register.
11736 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
11737 emitting register names.
11738 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
11739 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
11740 Remove fixed FIXME.
11741 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
11742 Declare.
11743
11744 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
11745
73985940
RH
117462002-04-30 Richard Henderson <rth@redhat.com>
11747
11748 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
11749 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
11750 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
11751 emit_tfmode_cvt): New.
11752 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
11753 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
11754 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
11755 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
11756 * config/sparc/sparc-protos.h: Update.
11757
2b46bc67
JJ
117582002-04-30 Janis Johnson <janis187@us.ibm.com>
11759
11760 * install.texi (Final install): Add to the list of info to include
11761 in a report of a successful bootstrap, and add link to 3.1 list.
11762
3d34cd91
JH
11763Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
11764
11765 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
11766 (mode): Add vector modes
11767 (i387): Kill attribute.
11768 (unit): New attribute.
11769 (length_immediate): Grok new types.
11770 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
11771 (modrm): Use "unit".
11772 (memory): Handle MMX/SSE properly.
11773 (scheduling descriptions): Kill uses of fop1.
11774 (sse, mmx, fp patterns): Set type and mode properly.
11775
243e5500 11776Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
3193c415 11777
30482eb0
JL
11778 * pa.c (override_options): Default to PA8000 scheduling.
11779 * doc/invoke.texi (HP-PA options): Mention newly added 7300
11780 scheduling parameter.
11781
3193c415
JL
11782 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
11783 handling of double precision multiplies.
11784
11785 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
11786 fpdiv and fpsqrt instructions.
11787 (7200 & 7300 scheduling): Fix typo in handling of
11788 store-load and store-store penalties.
11789
c0a34cb7
GP
117902002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11791
11792 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
11793 mips. Add two missing commas.
11794
8bce0628
PC
117952002-04-30 Paolo Carlini <pcarlini@unitus.it>
11796
11797 * doc/contrib.texi (Contributors): Update Paolo Carlini's
11798 and Benjamin Kosnik's entries.
11799
84643cbf
DM
118002002-04-29 David S. Miller <davem@redhat.com>
11801
11802 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
11803 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
11804 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
11805 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
11806
da6886f6
FS
118072002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11808
11809 * combine.c (find_split_point): Use gen_int_mode.
11810
fae15c93
VM
118112002-04-29 Vladimir Makarov <vmakarov@redhat.com>
11812
11813 Merging code from dfa-branch:
8998d5bf 11814
fae15c93
VM
11815 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
11816
11817 * genautomata.c (output_reserv_sets): Fix typo.
11818
11819 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
11820
11821 * genautomata.c (output_reserv_sets): Remove
11822 next_cycle_output_flag.
11823
11824 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
11825
8998d5bf
ZW
11826 * sched-rgn.c (init_ready_list): Make the DFA code handle
11827 USE/CLOBBER insns in the same way as the traditional
11828 scheduler.
11829 (new_ready): Similarly..
fae15c93
VM
11830
11831 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
11832
11833 * haifa-sched.c (schedule_block): Change the DFA state only after
11834 issuing insn.
11835
11836 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
11837
11838 * pa.c (hppa_use_dfa_pipeline_interface): New function.
11839 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
11840 (override_options): Add PA7300 scheduling support.
11841 (pa_adjust_cost): Update various comments. Properly
11842 handle anti and output dependencies when using the
11843 DFA scheduler.
11844 (pa_issue_rate): Add PA7300 scheduling support.
11845 (pa_can_combine_p): Call extract_insn before calling
11846 constrain_operands (taken from mainline tree).
11847 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
11848 * pa.md (cpu attr): Add 7300. Rewrite pipeline
11849 descriptions using DFA descriptions. Add PA7300
11850 scheduling support.
11851
11852 2002-03-30 David S. Miller <davem@redhat.com>
11853
11854 Add UltraSPARC-III DFA scheduling support.
11855 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
11856 Update FP conditional move on register insn patterns to use it, as
11857 appropriate.
11858 (define_attr cpu): Add ultrasparc3.
11859 (define_attr us3load_type): New, update integer load patterns to
11860 set it, as appropriate.
11861 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
11862 (rest): Add UltraSPARC3 scheduling description.
11863 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
11864 (PROCESSOR_ULTRASPARC3): New.
11865 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
11866 ({ASM,CPP}_CPU_SPEC): Likewise.
11867 (REGISTER_MOVE_COST): Likewise.
11868 (RTX_COSTS): Likewise.
11869 * config/sparc/sparc.c (sparc_override_options,
11870 sparc_initialize_trampoline, sparc64_initialize_trampoline,
11871 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
11872 sparc_issue_rate): Likewise.
11873 * config/sparc/sol2.h: Likewise.
11874 * config/sparc/sol2-sld-64.h: Likewise.
11875 * config/sparc/linux64.h: Likewise.
8998d5bf 11876
fae15c93
VM
11877 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
11878
11879 * doc/md.texi: Add comments about usage the latency time for the
11880 different dependencies and about case when two or more conditions
11881 in different define_insn_reservations returns TRUE for an insn.
11882
11883 * doc/md.texi: Add reference for automaton based pipeline
11884 description.
8998d5bf 11885
fae15c93
VM
11886 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
11887
11888 * doc/passes.texi: Add missed information about genattrtab.
11889
11890 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
11891
11892 * genautomata.c (output_automata_list_transition_code): Check
11893 automata_list on NULL.
11894
11895 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
11896
11897 * genautomata.c (output_insn_code_cases,
11898 output_automata_list_min_issue_delay_code,
11899 output_automata_list_transition_code,
11900 output_automata_list_state_alts_code): Comment the functions.
11901
11902 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
11903
11904 * genautomata.c (automata_list_el_t): New typedef.
11905 (get_free_automata_list_el,free_automata_list_el,
11906 free_automata_list, automata_list_hash, automata_list_eq_p,
11907 initiate_automata_lists, automata_list_start, automata_list_add,
11908 automata_list_finish, finish_automata_lists,
11909 output_insn_code_cases, output_automata_list_min_issue_delay_code,
11910 output_automata_list_transition_code,
11911 output_automata_list_state_alts_code, add_automaton_state,
11912 form_important_insn_automata_lists): New functions and prototypes.
11913 (insn_reserv_decl): Add members important_automata_list and
11914 processed_p.
11915 (ainsn): Add members important_p.
11916 (automata_list_el): New structure.
11917 (first_free_automata_list_el, current_automata_list,
11918 automata_list_table): New global variables.
11919 (create_ainsns): Initiate member important_p.
11920 (output_internal_min_issue_delay_func): Generate the switch and
11921 call output_insn_code_cases.
11922 (output_internal_trans_func, output_internal_state_alts_func):
11923 Ditto.
11924 (generate): Call initiate_automata_lists.
11925 (automaton_states): New global variable.
11926 (expand_automata): Call form_important_insn_automata_lists.
11927 (write_automata): Call finish_automata_lists.
8998d5bf 11928
fae15c93
VM
11929 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
11930
11931 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 11932 cpu units in the sets belong the same automaton.
fae15c93
VM
11933
11934 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
11935 about that cpu units in the sets belong the same automaton.
11936
11937 * doc/md.texi: Ditto.
8998d5bf 11938
2799d721
VM
11939 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
11940 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 11941
fae15c93
VM
11942 * config/sh/sh.c (sh_use_dfa_interface): New function.
11943
11944 (sh_issue_rate): New Function.
11945 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
11946 TARGET_SCHED_ISSUE_RATE: define.
11947
11948 * config/sh/sh.md: Add DFA based pipeline description for SH4.
11949
8998d5bf
ZW
11950 (define_attr insn_class): New attribute used for DFA
11951 scheduling.
fae15c93
VM
11952 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
11953 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
11954 cmpeqdi_t): Likewise.
11955
11956 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 11957 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
11958 ex_group.
11959 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 11960
fae15c93
VM
11961 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
11962
11963 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
11964 break.
11965
11966 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
11967
11968 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
11969 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
11970 necessary.
11971 (output_dfa_start_func): Initiate new variable insn_codes_length,
11972 (write_automata): Output definition of the new variable.
8998d5bf 11973
fae15c93
VM
11974 2001-10-02 David S. Miller <davem@redhat.com>
11975
11976 * haifa-sched.c (advance_one_cycle): New function.
11977 (schedule_block): Use it.
11978 (queue_to_ready): Use it, and also make sure to advance the DFA
11979 state on all stall cycles, not just those where insn_queue links
11980 are found.
11981
11982 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
11983
11984 * haifa-sched.c (max_issue): Remove last_p argument. Only return
11985 non-zero if the highest-priority instruction could be scheduled.
11986 (choose_ready): Remove last argument from max_issue call.
11987
11988 2001-09-28 David S. Miller <davem@redhat.com>
11989
11990 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
11991 ultrasparc and 3 for other multi-issue sparcs.
11992
11993 2001-09-27 David S. Miller <davem@redhat.com>
11994
11995 * config/sparc/sparc.md (cycle_display): New pattern.
11996 * config/sparc/sparc.c (sparc_cycle_display): New.
11997 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
11998
11999 2001-09-25 David S. Miller <davem@redhat.com>
12000
12001 Convert all of Sparc scheduling to DFA
12002 * config/sparc/sparc.md: Kill all define_function_unit
12003 directives and replace with DFA equivalent.
12004 * config/sparc/sparc.c (ultrasparc_adjust_cost,
12005 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
12006 ultra_fpmode_conflict_exists, ultra_find_type,
12007 ultra_build_types_avail, ultra_flush_pipeline,
12008 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
12009 ultrasparc_variable_issue, ultrasparc_sched_init,
12010 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
12011 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
12012 ultra_cur_hist, ultra_cycles_elapsed): Kill.
12013 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
12014 ultrasparc_store_bypass_p): New.
12015 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
12016 Declare.
12017
12018 2001-09-24 David S. Miller <davem@redhat.com>
12019
12020 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
12021 ready->vec[foo] not ready[foo].
12022
12023 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
12024
12025 * doc/md.texi: Correct examples for define_insn_reservations
12026 `mult' and `div'.
12027
12028 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
12029
12030 * genautomata.c (create_automata): Print message about creation of
12031 each automaton.
12032 (generate): Remove printing meease about creation of
12033 automata.
12034
12035 2001-09-05 David S. Miller <davem@redhat.com>
12036
12037 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
12038 * config/sparc/linux64.h: Likewise.
12039
12040 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
12041
12042 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
12043 schedule_block, sched_init, sched_finish): Add missed calls of
12044 use_dfa_pipeline_interface.
12045
12046 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
12047 Ditto.
12048
12049 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 12050
fae15c93
VM
12051 2001-08-27 Richard Henderson <rth@redhat.com>
12052
12053 * genattr.c (main): Emit state_t even when not doing scheduling.
12054
12055 2001-08-27 Richard Henderson <rth@redhat.com>
12056
12057 * genautomata.c (expand_automata): Always create a description.
12058
12059 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
12060
8998d5bf 12061 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
12062 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
12063 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
12064 RTL constructions.
12065
12066 * genattr.c (main): New variable num_insn_reservations. Increase
12067 it if there is DEFINE_INSN_RESERVATION. Output automaton based
12068 pipeline hazard recognizer interface.
12069
12070 * genattrtab.h: New file.
12071
12072 * genattrtab.c: Include genattrtab.h.
12073 (attr_printf, check_attr_test, make_internal_attr,
12074 make_numeric_value): Move protypes into genattrtab.h. Define them
12075 as external.
12076 (num_dfa_decls): New global variable.
12077 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
12078 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
12079 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
12080 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
12081
12082 * genautomata.c: New file.
12083
12084 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
12085
8998d5bf 12086 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
12087 automaton pipeline interface.
12088 (haifa_insn_data): Add comments for members blockage and units.
12089
12090 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12091 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12092 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12093 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12094 TARGET_SCHED_DFA_POST_CYCLE_INSN,
12095 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12096 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
12097 macros.
12098 (TARGET_SCHED): Use the new macros.
12099
12100 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
12101 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
12102 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
12103 dfa_bubble): New members in gcc_target.sched.
12104
8998d5bf 12105 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
12106 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
12107 (insn_queue): Redefine it as pointer to array.
12108 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
12109 INSN_QUEUE_SIZE.
12110 (max_insn_queue_index_macro_value): New variable.
12111 (curr_state, dfa_state_size, ready_try): New varaibles for
12112 automaton interface.
12113 (ready_element, ready_remove, max_issue): New function prototypes
12114 for automaton interface.
12115 (choose_ready): New function prototype.
12116 (insn_unit, blockage_range): Add comments.
12117 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
12118 FUNCTION_UNITS_SIZE == 0.
12119 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
12120 actual_hazard, potential_hazard): Add comments.
12121 (insn_cost): Use cost -1 as undefined value. Remove
12122 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
12123 pipeline interface.
12124 (ready_element, ready_remove): New functions for automaton
12125 interface.
12126 (schedule_insn): Add new code for automaton pipeline interface.
12127 (queue_to_ready): Add new code for automaton pipeline interface.
12128 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
12129 (debug_ready_list): Print newline when the queue is empty.
12130 (max_issue): New function for automaton pipeline interface.
12131 (choose_ready): New function.
12132 (schedule_block): Add new code for automaton pipeline interface.
12133 Print ready list before scheduling each insn.
12134 (sched_init): Add new code for automaton pipeline interface.
12135 Initiate insn cost by -1.
12136 (sched_finish): Free the current automaton state and finalize
12137 automaton pipeline interface.
12138
12139 * sched-rgn.c: Include target.h.
12140 (init_ready_list, new_ready, debug_dependencies): Add new code for
12141 automaton pipeline interface.
12142
12143 * sched-vis.c: Include target.h.
12144 (get_visual_tbl_length): Add code for automaton interface.
12145 (target_units, print_block_visualization): Add comments.
12146
8998d5bf 12147 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
12148 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
12149 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
12150 (getruntime.o, genautomata.o): New entries.
12151 (genattrtab.o): Add new dependency file genattrtab.h.
12152 (genattrtab): Add new dependencies. Link it with `libm.a'.
12153 (getruntime.o, hashtab.o): New entries for canadian cross.
12154
12155 * doc/md.texi: Description of automaton based model.
12156
12157 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
12158 Add comments.
12159 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12160 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12161 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12162 TARGET_SCHED_DFA_POST_CYCLE_INSN,
12163 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12164 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12165 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
12166 hook descriptions.
12167 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
12168 MAX_DFA_ISSUE_RATE): New macro descriptions.
12169
12170 * doc/contrib.texi: Add dfa based scheduler contribution.
12171
12172 * doc/gcc.texi: Add more information about genattrtab.
12173
a2ff290c
RK
12174Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12175
12176 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
12177 adjust_address_nv call.
12178
f97903cc
JJ
121792002-04-29 Janis Johnson <janis187@us.ibm.com>
12180
12181 * doc/install.texi (Testing): Provide additional information, and
12182 a stronger encouragement, for running the testsuites.
12183
f41a6bf1
DD
121842002-04-29 DJ Delorie <dj@redhat.com>
12185
12186 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
12187 given in upper case.
12188
d8af0868
RO
121892002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12190
12191 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
12192 Solaris 2 <widec.h> if missing.
12193 * fixinc/fixincl.x: Regenerate.
12194 * fixinc/tests/base/widec.h: New file.
12195
1034407f
NC
121962002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
12197
12198 * toplev.c (f_options): Add "profile" switch so that
12199 -fno-profile can be used to disable -p.
12200
fbe5eb6d
BS
122012002-04-29 Bernd Schmidt <bernds@redhat.com>
12202
12203 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
12204 UV2DImode.
12205 * tree.c (build_common_tree_nodes_2): Likewise.
12206 * tree.h (enum tree_index): Likewise.
12207 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
12208
12209 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
12210 entries.
12211 (init_mmx_sse_builtins): Initialize SSE2 builtins.
12212 (ix86_expand_builtin): Add support for SSE2 builtins.
12213 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
12214 (VALID_SSE_REG_MODE): Use it.
12215 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
12216 (enum ix86_builtins): Add SSE2 builtins.
12217 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
12218 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
12219 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
12220 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
12221 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
12222 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
12223 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
12224 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
12225 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
12226 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
12227 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
12228 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
12229 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
12230 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
12231 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
12232 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
12233 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
12234 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
12235 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
12236 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
12237 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
12238 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
12239 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
12240 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
12241 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
12242 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
12243 lfence_insn): New patterns.
12244 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
12245 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
12246
44aefada
JH
12247Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
12248
12249 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
12250
d5482cdc
GP
122512002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12252
12253 * doc/contrib.texi (Contributors): Add Paolo Carlini and
12254 Janis Johnson.
12255 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
12256 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
12257 and CPU instead of cpu.
12258
2c4b77f3
JH
12259Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
12260
12261 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
12262 variables.
12263 (lang_independent_options): Add -fif-conversion, -fif-conversion2
12264 (rest_of_compilation): Do if conversion only when asked for.
12265 (parse_options_and_default_flags): Set new variables to 1 for -O1
12266 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
12267
3de72741
JH
12268Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
12269
12270 * i386.c (dbx64_register_map): Fix typo.
12271
8aa18a7d
JH
12272Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
12273
12274 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
12275 real_one_half, real_bb_freq_max): New static variables.
12276 (debug_profile_bbauxs): Kill.
12277 (process_note_predictions): Kill unused variable.
12278 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
12279 volatile double.
12280 (propagate_freq): Use REAL_ARITHMETICS.
12281 (estimate_bb_frequencies): Likevise; init new static variables.
12282 * Makefile.in (predict.o): Add dependency on real.h
12283
1bbad4c6
DM
122842002-04-28 David S. Miller <davem@redhat.com>
12285
12286 PR target/6500
12287 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
12288 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
12289 several {reads,writes} instead.
12290 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
12291 Define.
12292
3ef3f384
DM
122932002-04-27 David S. Miller <davem@redhat.com>
12294
12295 PR target/6494
12296 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
12297 of the stack bias.
12298
12299 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
12300 including signal.h and sys/ucontext.h, not needed.
12301
ec493bcb
HPN
123022002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
12303
12304 * varasm.c (output_constant_def): Correct test for not calling
12305 ENCODE_SECTION_INFO for INTEGER_CST.
12306
60284a59
NB
123072002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
12308
12309 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
12310 keep most cases as function eval_token.
12311 (eval_token): New function.
12312 (_cpp_parse_expr): Read token here for improved diagnostics.
12313 Don't use op_as_text. Detect bad ':' here.
12314 (reduce): Don't detect bad ':' here.
12315 (op_as_text): Remove.
12316 * cpphash.h (_cpp_test_assertion): Change prototype.
12317 * cpplib.c (_cpp_test_assertion): Change prototype.
12318
349a4b40
RH
123192002-04-28 Richard Henderson <rth@redhat.com>
12320
12321 PR c/5154
8998d5bf 12322 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
12323 (ggc_mark_rtx_children): New.
12324
7a03f82f
JJ
123252002-04-28 Jakub Jelinek <jakub@redhat.com>
12326
12327 PR target/6496
12328 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
12329 after call peepholes for UltraSPARC.
12330 (call + jump 64-bit peepholes): Remove.
12331
80103f96
FS
123322002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12333
12334 PR c/6497
12335 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
12336 result as temporary value.
12337
06990986
JJ
123382002-04-28 Jakub Jelinek <jakub@redhat.com>
12339
12340 PR c++/6396
12341 * toplev.c (rest_of_compilation): Only run regrename and copy
12342 propagation if optimizing.
12343
a20fd5ac
JJ
123442002-04-28 Jakub Jelinek <jakub@redhat.com>
12345
12346 PR optimization/6475
12347 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
12348 register of REGNO_DECL (i).
12349 * Makefile.in (reload1.o): Add $(TREE_H).
12350
87ed109f
NB
123512002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
12352
12353 * cppexp.c (lex): Update to use state.skip_eval.
12354 (struct op): Remove prio and flags members.
12355 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
12356 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
12357 (LEFT_ASSOC): New macro.
12358 (optab): New table of operator priorities and flags.
12359 (SHIFT): Update.
12360 (_cpp_parse_expr): Clean up logic. Return bool. Use a
12361 malloc-ed parser stack.
12362 (reduce): New; reduce the operator stack.
12363 (_cpp_expand_op_stack): Expand the operator stack as necessary.
12364 * cpphash.h (struct op): Predeclare.
12365 (struct cpp_reader): New members op_stack, op_limit.
12366 (struct lexer_state): New member skip_eval.
12367 (_cpp_parse_expr): Update.
12368 (_cpp_expand_op_stack): New.
12369 * cpplib.c (do_if): Update.
12370 * cppinit.c (cpp_create_reader): Create op stack.
12371 (cpp_destroy): And destroy it.
12372 * cpplib.h (CPP_LAST_CPP_OP): Correct.
12373 (TTYPE_TABLE): Correct.
12374
45806a3f
FS
123752002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12376
12377 PR c/6343
12378 * c-decl.c (duplicate_decls): Call merge_weak.
12379 * c-pragma.c (apply_pragma_weak): Warn about misuse.
12380 * output.h (merge_weak): Prototype merge_weak.
12381 * varasm.c (merge_weak): New function.
12382 (declare_weak): Make sure we don't give an error on VAR_DECLs.
12383 Mark RTL with SYMBOL_REF_WEAK.
12384
a6227154
KG
123852002-04-27 Kurt Garloff <garloff@suse.de>
12386
12387 * tree-inline.c (inlinable_function_p): Improve heuristics
12388 by using a smoother function to cut down allowable inlinable size.
12389 * param.def: Add parameters max-inline-insns-single,
12390 max-inline-slope, min-inline-insns that determine the exact
12391 shape of the above function.
12392 * param.h: Likewise.
12393
94a50397
RH
123942002-04-26 Richard Henderson <rth@redhat.com>
12395
12396 * c-parse.in (malloced_yyss, malloced_yyvs): New.
12397 (yyoverflow): Re-add. Set them.
12398 (free_parser_stacks): New.
12399 * c-common.h: Declare it.
12400 * c-lex.c (c_common_parse_file): Call it.
12401
9c0a0632
RH
124022002-04-26 Richard Henderson <rth@redhat.com>
12403
12404 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
12405 for fallthru search.
12406
b875d2ee
EC
124072002-04-26 Eric Christopher <echristo@redhat.com>
12408
12409 PR optimization/3700
12410 * config/mips/mips.c (mips_issue_rate): Define. New function.
12411 (TARGET_SCHED_ISSUE_RATE): Use.
12412
1db828df
DM
124132002-04-25 David S. Miller <davem@redhat.com>
12414
12415 PR target/6422
12416 * reorg.c (optimize_skip): Do not allow exception causing
12417 instructions to be considered for delay slots.
12418 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
12419 (relax_delay_slots): Do not try to consider exception causing
12420 instructions as redundant.
12421
ae5d234e
RH
124222002-04-26 Richard Henderson <rth@redhat.com>
12423
12424 PR c/5225
12425 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
12426
7d793e9b
MM
124272002-04-26 Mark Mitchell <mark@codesourcery.com>
12428
12429 PR bootstrap/6445
12430 * config/i386/i386.md (untyped_call): Return the value in a float
12431 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
12432 TARGET_80387.
12433
b13ab42c
AO
124342002-04-26 Alexandre Oliva <aoliva@redhat.com>
12435
12436 * tree.c (tree_int_cst_lt): Compare constants whose types differ
12437 in unsigned-ness correctly.
12438
5e56f909
JDA
124392002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
12440
12441 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
12442 portable runtime model.
12443
bde3c0c0
RH
124442002-04-26 Richard Henderson <rth@redhat.com>
12445
a6227154 12446 * c-parse.in (yyoverflow): Revert.
bde3c0c0 12447
5276df18
DE
124482002-04-26 David Edelsohn <edelsohn@gnu.org>
12449 Richard Henderson <rth@redhat.com>
12450
12451 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
12452 result as temporary value.
12453
b84a3874
RH
124542002-04-26 Richard Henderson <rth@redhat.com>
12455
12456 PR c/3581
12457 * c-common.c (fix_string_type): Split out of ...
12458 (combine_strings): ... here. Take a varray, not a tree list.
12459 (c_expand_builtin_printf): Use fix_string_type.
12460 * c-common.h: Update decls.
12461 * c-parse.in (string): Remove. Update all uses to use STRING
12462 instead, and not call combine_strings.
12463 (yylexstring): New.
12464 (_yylex): Use it.
12465 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
12466 (build_asm_stmt): Likewise.
12467 * objc/objc-act.c (my_build_string): Use fix_string_type.
12468 (build_objc_string_object): Build varray for combine_strings.
12469
d8ae8cd4
BT
124702002-04-26 Bo Thorsen <bo@suse.co.uk>
12471
12472 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
12473 x86-64.
12474
f8b954fc
NB
124752002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
12476
12477 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
12478 (HAVE_NO_R_OPERAND): Remove.
12479 (HAVE_VALUE): Remove.
12480 (op_to_prio): Update.
12481 (UNARY): Don't alter flags.
12482 (_cpp_parse_expr): want_value used to indicate whether
12483 a number or unary operator is expected next. Distinguish
12484 unary and binary +/-.
12485 (op_as_text): Update for unary operators.
12486
6052bef0
RH
124872002-04-25 Richard Henderson <rth@redhat.com>
12488
12489 PR c/2161
12490 * c-parse.in (yyoverflow): New.
12491
5c5b2283
RH
124922002-04-25 Richard Henderson <rth@redhat.com>
12493
12494 PR c/2098
12495 * c-common.c (shorten_compare): Simplfy conditions leading to
12496 the generation of a warning.
12497
28ce94d4
RH
124982002-04-25 Richard Henderson <rth@redhat.com>
12499
12500 PR c/2035
12501 * expmed.c (extract_bit_field): Fall through to generic code rather
12502 than aborting on subreg special case.
12503
6bfd0c63
DM
125042002-04-25 David S. Miller <davem@redhat.com>
12505
12506 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
12507 for DECL being NULL.
12508
7a430e3b
SC
125092002-04-25 Steve Christiansen <smc@us.ibm.com>
12510
12511 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
12512
45c42d7d
EB
125132002-04-25 Eric Botcazou <ebotcazou@multimania.com>
12514
12515 * c-decl.c (grokdeclarator): Remove outdated ??? note
12516 on invalid declaration of flexible array members.
12517
eb7715a4
RH
125182002-04-25 Richard Henderson <rth@redhat.com>
12519
12520 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
12521
cf5ee720
UW
125222002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
12523
12524 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
12525 needed by the compiler, even if they are used as global regs.
12526
d604bca3
MH
125272002-04-25 Matt Hiller <hiller@redhat.com>
12528
12529 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
12530 functions.
12531 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
12532 of the corresponding functions.
12533 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
12534 New prototypes.
b875d2ee 12535
d604bca3
MH
125362002-04-25 Matt Hiller <hiller@redhat.com>
12537
12538 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
12539
12540 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
12541 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
12542 registers, adjust comment accordingly.
12543 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
12544 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
12545 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
12546 for coprocessor registers.
12547 (ADDITIONAL_REGISTER_NAMES): Include
12548 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 12549
d604bca3
MH
12550 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
12551 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
12552 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
12553 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
12554 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
12555
12556 (mips_char_to_class): Adjust comment to include coprocessor
12557 constraint letters.
12558
12559 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
12560 New functions.
12561 (mips_reg_names, mips_regno_to_class): Include coprocessor
12562 information.
12563 (mips_sw_reg_names): Ditto, make non-static.
12564 (mips_move_1word): Handle moves to and from coprocessor registers.
12565 (mips_move_2words): Handle moves to and from coprocessor
12566 registers.
12567 (mips_class_max_nregs, mips_register_move_cost): Handle
12568 coprocessor register classes.
12569 (override_options): Initialize mips_char_to_class and
12570 mips_hard_regno_mode_ok properly for coprocessor registers.
12571
12572 * config/mips/mips.md (movdi_internal, movdi_internal2,
12573 movsi_internal1, movsi_internal2): Add constraint-sets for
12574 coprocessor registers.
12575 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
12576 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
12577 isn't mips.
12578 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
12579 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
12580 isn't mips.
12581 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
12582 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
12583 isn't mips.
12584 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
12585 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
12586 isn't mips.
b875d2ee 12587
d604bca3
MH
12588 * doc/tm.texi: Document feature.
12589
b9a26d09
NB
125902002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
12591
12592 * integrate.c (function_attribute_inlinable_p): Simplify.
12593 Check the table pointer is not NULL.
12594
ab5973b7
SB
125952002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
12596
12597 * doc/c-tree.texi: Fix typo in introduction.
12598
ff45c01e
NB
125992002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
12600
12601 * c-common.h (c_common_parse_file): Update.
12602 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
12603 * c-lex.c (YYDEBUG): Get from c-lex.h.
12604 (c_common_parse_file): Update.
12605 * c-lex.h (YYDEBUG, yydebug): New.
12606 * c-parse.in (YYDEBUG): Get from c-lex.h.
12607 (c_set_yydebug): Remove.
12608 * c-tree.h (c_set_yydebug): Remove.
12609 * langhooks-def.h (lhd_do_nothing_i): New.
12610 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
12611 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
12612 * langhooks.c (lhd_do_nothing_i): New.
12613 (lhd_set_yydebug): Remove.
12614 * langhooks.h (struct lang_hooks): Update.
12615 * toplev.c (set_yydebug): New.
12616 (compile_file): Update call to parse_file hook.
12617 (decode_d_option): Update.
12618objc:
12619 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
12620
fcae219a
R
12621Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
12622
12623 * loop.c (load_mems): Don't change the interface of called functions.
12624
12625 * calls.c (expand_call): Take current_function_pretend_args_size
12626 into account when setting argblock for sibcalls.
12627
d0fea45a
MH
126282002-04-24 Matt Hiller <hiller@redhat.com>
12629
12630 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
12631 * c-lex.c: Ditto.
12632
12633 * cpplex.c (skip_line_comment): Process comment one multibyte
12634 character at a time rather than one char at a time, if
12635 appropriate.
12636 (parse_string): Process string one multibyte character at a time
12637 rather than one char at a time, if appropriate.
12638 * c-lex.c (lex_string): Lex and copy multibyte strings
12639 appropriately.
12640 * cpplib.h (cppchar_t): Change to unsigned.
12641
2d1b5436
RH
126422002-04-24 Richard Henderson <rth@redhat.com>
12643
12644 PR c/3467
12645 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
12646 for c99.
12647
5e039e6b
R
12648Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
12649
12650 * sh.c (sh_va_arg): If argument was passed by reference,
12651 dereference the pointer.
309d8365
R
12652
12653 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
12654
12655 * sh.md (divsi3_i4_media): Use match_operand for input values
12656 rather than hard registers.
12657 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
12658 unnecessarily through hard registers. Keep copies of pseudo
12659 registers outside of the libcall sequence.
12660
12661 * sh.md (casesi_shift_media): Add modes.
b700634a
R
12662
12663 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
12664 values in memory.
12665
349ae713
NB
126662002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
12667
12668 * attribs.c (c_common_attribute_table): Move table and handlers
12669 to c-common.c.
12670 (format_attribute_table, lang_attribute_table,
12671 lang_attribute_common): Remove.
12672 (init_attributes): Replace NULL pointers with pointers to the
12673 empty table.
12674 (handle_packed_attribute, handle_nocommon_attribute,
12675 handle_common_attribute, handle_noreturn_attribute,
12676 handle_noinline_attribute, handle_always_inline_attribute,
12677 handle_used_attribute, handle_unused_attribute,
12678 handle_const_attribute, handle_transparent_union_attribute,
12679 handle_constructor_attribute, handle_destructor_attribute,
12680 handle_mode_attribute, handle_section_attribute,
12681 handle_aligned_attribute, handle_weak_attribute,
12682 handle_alias_attribute, handle_visibility_attribute,
12683 handle_no_instrument_function_attribute, handle_malloc_attribute,
12684 handle_no_limit_stack_attribute, handle_pure_attribute,
12685 handle_deprecated_attribute, handle_vector_size_attribute,
12686 vector_size_helper): Move to c-common.c.
12687 * c-common.c (c_common_attribute_table,
12688 handle_packed_attribute, handle_nocommon_attribute,
12689 handle_common_attribute, handle_noreturn_attribute,
12690 handle_noinline_attribute, handle_always_inline_attribute,
12691 handle_used_attribute, handle_unused_attribute,
12692 handle_const_attribute, handle_transparent_union_attribute,
12693 handle_constructor_attribute, handle_destructor_attribute,
12694 handle_mode_attribute, handle_section_attribute,
12695 handle_aligned_attribute, handle_weak_attribute,
12696 handle_alias_attribute, handle_visibility_attribute,
12697 handle_no_instrument_function_attribute, handle_malloc_attribute,
12698 handle_no_limit_stack_attribute, handle_pure_attribute,
12699 handle_deprecated_attribute, handle_vector_size_attribute,
12700 vector_size_helper): Move from attribs.c.
12701 * c-common.h (c_common_attribute_table,
12702 c_common_format_attribute_table): New.
12703 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
12704 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
12705 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
12706 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
12707 (LANG_HOOKS_INITIALIZER): Update.
12708 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
12709 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
12710 * target.h: Update comment.
12711 * tree.c (default_target_attribute_table): Remove.
12712 * tree.h (default_target_attribute_table, format_attribute_table,
12713 lang_attribute_table, lang_attribute_common): Remove.
12714objc:
12715 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
12716 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
12717
84f0ace0
JM
127182002-04-24 Jason Merrill <jason@redhat.com>
12719
12720 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
12721 * dwarf2out.c (dwarf_attr_name): Support it.
12722 (gen_array_type_die): Emit it.
12723 (lookup_type_die): No special handling for VECTOR_TYPE.
12724 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
12725
120eaf28
RH
127262002-04-24 Richard Henderson <rth@redhat.com>
12727
12728 * config/mips/mips.md (movdi_usd): Renumber.
12729
e732178c
DM
127302002-04-24 David S. Miller <davem@redhat.com>
12731
12732 PR target/6420
12733 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
12734 32-bit Sparc and current_function_returns_struct is true.
12735
e879eb2f
JH
12736Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
12737
12738 * loop.c (canonicalize_condition): Use gen_int_mode.
12739
4287a893
AH
127402002-04-24 Aldy Hernandez <aldyh@redhat.com>
12741
12742 * config/rs6000/altivec.h: Cleanup file. Add non individual
12743 variants.
12744 (vec_vaddubm): New.
12745 (vec_vadduhm): New.
12746 (vec_vadduwm): New.
12747 (vec_vaddfp): New.
12748 (vec_vaddcuw): New.
12749 (vec_vaddubs): New.
12750 (vec_vaddsbs): New.
12751 (vec_vadduhs): New.
12752 (vec_vadduws): New.
12753 (vec_vaddsws): New.
12754 (vec_vand): New.
12755 (vec_vandc): New.
12756 (vec_vavgub): New.
12757 (vec_vavgsb): New.
12758 (vec_vavguh): New.
12759 (vec_vavgsh): New.
12760 (vec_vavguw): New.
12761 (vec_vavgsw): New.
12762 (vec_vrfip): New.
12763 (vec_vcmpbfp): New.
12764 (vec_vcmpequb): New.
12765 (vec_vcmpequh): New.
12766 (vec_vcmpequw): New.
12767 (vec_vcmpeqfp): New.
12768 (vec_vcmpgefp): New.
12769 (vec_vcmpgtub): New.
12770 (vec_vcmpgtsb): New.
12771 (vec_vcmpgtuh): New.
12772 (vec_vcmpgtsh): New.
12773 (vec_vcmpgtuw): New.
12774 (vec_vcmpgtsw): New.
12775 (vec_vcmpgtfp): New.
12776 (vec_vcmpgefp): New.
12777 (vec_vcfux): New.
12778 (vec_vcfsx): New.
12779 (vec_vctsxs): New.
12780 (vec_vctuxs): New.
12781 (vec_vexptefp): New.
12782 (vec_vrfim): New.
12783 (vec_lvx): New.
12784 (vec_lvebx): New.
12785 (vec_lvehx): New.
12786 (vec_lde): Add vector float variant.
12787 (vec_lvewx): New.
12788 (vec_lvxl): New.
12789 (vec_vlogefp): New.
12790 (vec_vmaddfp): New.
12791 (vec_vmhaddshs): New.
12792 (vec_vmaxub): New.
12793 (vec_vmaxsb): New.
12794 (vec_vmaxuh): New.
12795 (vec_vmaxsh): New.
12796 (vec_vmaxuw): New.
12797 (vec_vmaxsw): New.
12798 (vec_vmaxsw): New.
12799 (vec_vmaxfp): New.
12800 (vec_vmrghb): New.
12801 (vec_vmrghh): New.
12802 (vec_vmrghw): New.
12803 (vec_vmrglb): New.
12804 (vec_vmrglh): New.
12805 (vec_vmrglw): New.
12806 (vec_vminub): New.
12807 (vec_vminsb): New.
12808 (vec_vminuh): New.
12809 (vec_vminsh): New.
12810 (vec_vminuw): New.
12811 (vec_vminsw): New.
12812 (vec_vminfp): New.
12813 (vec_vmladduhm): New.
12814 (vec_vmhraddshs): New.
12815 (vec_msumubm): New.
12816 (vec_vmsummbm): New.
12817 (vec_vmsumuhm): New.
12818 (vec_vmsumshm): New.
12819 (vec_vmsumuhs): New.
12820 (vec_vmsumshs): New.
12821 (vec_vmuleub): New.
12822 (vec_vmulesb): New.
12823 (vec_vmuleuh): New.
12824 (vec_vmulesh): New.
12825 (vec_vmuloub): New.
12826 (vec_mulosb): New.
12827 (vec_vmulouh): New.
12828 (vec_vmulosh): New.
12829 (vec_vnmsubfp): New.
12830 (vec_vnor): New.
12831 (vec_vor): New.
12832 (vec_vpkuhum): New.
12833 (vec_vpkuwum): New.
12834 (vec_vpkpx): New.
12835 (vec_vpkuhus): New.
12836 (vec_vpkshss): New.
12837 (vec_vpkuwus): New.
12838 (vec_vpkswss): New.
12839 (vec_vpkshus): New.
12840 (vec_vpkswus): New.
12841 (vec_vperm): New.
12842 (vec_vrefp): New.
12843 (vec_vrlb): New.
12844 (vec_vrlh): New.
12845 (vec_vrlw): New.
12846 (vec_vrfin): New.
12847 (vec_vrsqrtefp): New.
12848 (vec_vsel): New.
12849 (vec_vslb): New.
12850 (vec_vslh): New.
12851 (vec_vslw): New.
12852 (vec_vsldoi): New.
12853 (vec_vsl): New.
12854 (vec_vslo): New.
12855 (vec_vspltb): New.
12856 (vec_vsplth): New.
12857 (vec_vspltw): New.
12858 (vec_vspltisb): New.
12859 (vec_vspltish): New.
12860 (vec_vspltisw): New.
12861 (vec_vsrb): New.
12862 (vec_vsrh): New.
12863 (vec_vsrw): New.
12864 (vec_vsrab): New.
12865 (vec_vsrah): New.
12866 (vec_vsraw): New.
12867 (vec_vsr): New.
12868 (vec_vsro): New.
12869 (vec_stvx): New.
12870 (vec_stvebx): New.
12871 (vec_stvehx): New.
12872 (vec_stvewx): New.
12873 (vec_stvxl): New.
12874 (vec_vsububm): New.
12875 (vec_vsubuhm): New.
12876 (vec_vsubuwm): New.
12877 (vec_vsubfp): New.
12878 (vec_vsubcuw): New.
12879 (vec_vsububs): New.
12880 (vec_vsubsbs): New.
12881 (vec_vsubuhs): New.
12882 (vec_vsubshs): New.
12883 (vec_vsubuws): New.
12884 (vec_vsubsws): New.
12885 (vec_vsum4ubs): New.
12886 (vec_vsum4sbs): New.
12887 (vec_vsum4shs): New.
12888 (vec_vsum2sws): New.
12889 (vec_vsumsws): New.
12890 (vec_vrfiz): New.
12891 (vec_vupkhsb): New.
12892 (vec_vupkhpx): New.
12893 (vec_vupkhsh): New.
12894 (vec_vupklsb): New.
12895 (vec_vupklpx): New.
12896 (vec_vupklsh): New.
12897 (vec_vxor): New.
12898
cff27795
EB
128992002-04-23 Eric Botcazou <ebotcazou@multimania.com>
12900
12901 PR c/5430
12902 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
12903 added literals from substracted literals.
12904 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
12905 (fold) [associate]: Preserve MINUS_EXPR if needed.
12906
952bca84
ZW
129072002-04-23 Zack Weinberg <zack@codesourcery.com>
12908
12909 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
12910 are obsoleted.
12911
50cb2154
TT
129122002-04-23 Tom Tromey <tromey@redhat.com>
12913
12914 * gcc.c: Added --resource. For PR java/6314.
12915
271f61fb
DB
129162002-04-23 David O'Brien <obrien@FreeBSD.org>
12917
9566d1e9 12918 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
12919 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
12920 these libraries.
12921
bdabbc80
DB
129222002-04-23 David O'Brien <obrien@FreeBSD.org>
12923
12924 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
12925
74411039
JH
12926Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
12927
12928 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
12929 workaround.
12930 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
12931 (ix86_expand_clrstr): Fix typo.
12932 * loop.c (gen_load_of_final_value): New.
12933 (loop_givs_rescan, strength_reduce, check_dbra_loop):
12934 Use it.
12935
1a887f86
RS
129362002-04-23 Roger Sayle <roger@eyesopen.com>
12937
12938 * builtins.c (builtin_memset_gen_str): New function.
12939 (expand_builtin_memset): Optimize the case of constant length, but
12940 unknown value.
12941
8d3441e0
AH
129422002-04-23 Aldy Hernandez <aldyh@redhat.com>
12943
cff27795
EB
12944 * config/rs6000/altivec.h (vec_step): Remove extraneous
12945 parentheses.
12946 (vec_ctu): Cast return.
8d3441e0 12947
f6f315fe
AM
129482002-04-23 Alan Modra <amodra@bigpond.net.au>
12949
12950 PR target/6413
12951 * function.h: (struct function): Add profile_label_no field.
12952 (current_function_profile_label_no): Define.
12953 * function.c: (profile_label_no): New static var.
12954 (expand_function_start): Increment it, and copy to
12955 current_function_profile_label_no.
12956 * output.h (profile_label_no): Delete.
12957 * final.c (profile_label_no): Delete.
12958 (profile_function): Use current_function_profile_label_no.
12959 (final_end_function): Don't increment profile_label_no here.
12960 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
12961 profile_label_no with current_function_profile_label_no.
12962 * config/pa/pa.c (current_function_number): Delete.
12963 (pa_output_function_prologue): Don't output profile label here.
12964 (hppa_profile_hook): Use label_no param rather than
12965 current_function_number.
12966 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
12967 * config/pa/pa.h: .. here.
12968 (FUNCTION_PROFILER): Output profile label here.
12969
d239cdc0
EC
129702002-04-22 Eric Christopher <echristo@redhat.com>
12971
12972 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
12973 patch of 2002-04-09 due to binutils issues.
12974 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
12975
04428ad4
AH
129762002-04-22 Aldy Hernandez <aldyh@redhat.com>
12977
cff27795
EB
12978 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
12979 constraint to 'o' for m=r and r=m alternatives.
12980 ("*movv8hi_internal1"): Same.
12981 ("*movv16qi_internal1"): Same.
12982 ("*movv4sf_internal1"): Same.
04428ad4 12983
2adc7f12
JJ
129842002-04-22 Janis Johnson <janis187@us.ibm.com>
12985
12986 * rtl.h (RTX_FLAG): New macro.
12987 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
12988 * final.c (alter_subreg): Use macro to access rtx flag.
12989 * integrate.c (copy_rtx_and_substitute): Use new access macro.
12990 * print-rtl.c (print_rtx): Use new access macro.
12991
12992 * cse.c (insert): Check rtx code before accessing flag.
12993
12994 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
12995 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
12996 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
12997 convert_const_symbol_ref, make_canonical, make_alternative_compare,
12998 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
12999 simplify_test_exp, optimize_attrs, simplify_by_exploding,
13000 find_and_mark_used_attributes, unmark_used_attributes,
13001 add_values_to_cover, simplify_with_current_value,
13002 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
13003 copy_rtx_unchanging, main): Use new access macros.
13004
b7c89afe
TR
130052002-04-22 Tom Rix <trix@redhat.com>
13006
13007 * expmed.c (init_expmed): Generate shifted constant once.
13008
9340544b
ZW
130092002-04-22 Zack Weinberg <zack@codesourcery.com>
13010
13011 * c-lex.c (lex_charconst): Call convert to get constant in
13012 proper type; don't just smash the type field.
13013 Fixes PR c/6300.
13014
13015 * config.gcc: Add list of obsolete configurations. Disallow
13016 building these without --enable-obsolete.
13017 * doc/install.texi: Document --enable-obsolete and obsoletion
13018 policy. Mention obsoletion of individual targets in
13019 appropriate places.
13020
f942d7a5
RH
130212002-04-22 Richard Henderson <rth@redhat.com>
13022
13023 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
13024
130252002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
13026
13027 PR f/6138.
13028 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
13029 (walk_fixup_memory_subreg): Likewise.
13030 (fixup_var_refs_insn): Adjust accordingly.
13031 (fixup_var_refs_1): Likewise.
13032
232b0b45
UW
130332002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
13034
13035 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
13036 LIBPATH_ARCH64_SPEC): Define.
13037 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
13038 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
13039 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
13040 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
13041
1b61552b
JS
130422002-04-22 Joel Sherrill <joel@OARcorp.com>
13043
13044 * gthr-rtems.h: Correct prototypes to remove warnings.
13045
0fe854a7
RH
130462002-04-22 Richard Henderson <rth@redhat.com>
13047
13048 PR c/6344
13049 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
13050
13051 * gcse.c (free_insn_expr_list_list): New.
13052 (clear_modify_mem_tables): Use it. Fix bit set usage.
13053 (canon_list_insert): Use EXPR_LISTs for expressions.
13054 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
13055
af0d16cd
NB
130562002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
13057
13058 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
13059 file change and include code to _cpp_pop_buffer.
13060 * cpphash.h (struct pending_option): Predeclare.
13061 (struct cpp_reader): New member next_include_file.
13062 (_cpp_pop_file_buffer): Update.
13063 (_cpp_push_next_buffer): Update, rename.
13064 * cppinit.c (cpp_destroy): Free include chain and pending here.
13065 (cpp_finish_options): Simplify.
13066 (_cpp_push_next_buffer): Rename and clean up.
13067 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
13068 Clarify.
13069 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
13070
0d918572
AH
130712002-04-22 Aldy Hernandez <aldyh@redhat.com>
13072
0fe854a7
RH
13073 * config/rs6000/altivec.h (vec_xor): Add variant for both args
13074 being vector signed int.
13075 (vec_andc): Same.
13076 (vec_xor): Add variant for both args being vector signed char.
13077 Remove redundant variant.
13078 (vec_andc): Same.
0d918572 13079
77e2c290
DM
130802002-04-21 David S. Miller <davem@redhat.com>
13081
13082 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
13083 compare mode in output RTL.
13084
ee2ca2a2
DE
130852002-04-22 David Edelsohn <edelsohn@gnu.org>
13086
13087 * config/rs6000/rs6000.c (rs6000_override_options): Correct
13088 style and formatting of previous patch.
13089
894bdff6
AM
130902002-04-22 Alan Modra <amodra@bigpond.net.au>
13091
13092 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
13093 flag_pic for ABI_AIX.
13094
562a5c27
NB
130952002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
13096
13097 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
13098 * cppfiles.c (read_include_file): Similarly.
13099 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
13100 uxstrdup ustrchr, ufputs): Similarly.
13101 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
13102 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
13103 cpp_ideq, parse_identifier, parse_number): Similarly.
13104 * cpplib.c (struct directive, dequote_string, D, run_directive,
13105 cpp_push_buffer): Similarly.
13106 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
13107 _cpp_create_definition, check_trad_stringification,
13108 cpp_macro_definition): Similarly.
13109
9ac3b1be
NB
131102002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
13111
13112 * cppmacro.c (funlike_invocation_p): Don't step back
13113 over CPP_EOF.
13114
9dda4cc8
DE
131152002-04-21 David Edelsohn <edelsohn@gnu.org>
13116
13117 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
13118 labelno.
13119
20764052
JM
131202002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
13121
13122 * doc/invoke.texi: Remove Chill references.
13123 * doc/gcc.texi: Update last modified date.
13124
26b29884
KH
131252002-04-20 Kazu Hirata <kazu@hxi.com>
13126
13127 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
13128 push and pop. Replace add.l with add.w.
13129
59184677
TM
131302002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
13131
13132 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
13133 multiply instructions for H8/300H case.
13134
b1113e0a
TM
131352002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
13136
13137 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
13138 Bum three instructions from each routine.
13139
b03e38e1
NB
131402002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
13141
13142 * Makefile.in: Update.
13143 * decl.c (push_c_function_context, pop_c_function_context,
13144 mark_c_function_context): Rename for consistency.
13145 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
13146 * c-tree.h (push_c_function_context, pop_c_function_context,
13147 mark_c_function_context): Rename for consistency.
13148 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
13149 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
13150 * function.c (init_lang_status, save_lang_status,
13151 restore_lang_status, mark_lang_status, free_lang_status):
13152 Move to langhooks.h.
13153 (push_function_context_to, pop_function_context_from,
13154 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
13155 Update.
13156 * function.h (init_lang_status, save_lang_status,
13157 restore_lang_status, mark_lang_status, free_lang_status):
13158 Move to langhooks.h.
13159 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
13160 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
13161 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
13162 LANG_HOOKS_FUNCTION_INITIALIZER): New.
13163 (LANG_HOOKS_INITIALIZER): Update.
13164 (lhd_do_nothing_f): New.
13165 * langhooks.h (struct lang_hooks_for_functions): New.
13166 (struct lang_hooks): New hooks.
13167 * langhooks.c (lhd_do_nothing_f): New.
13168objc:
13169 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
13170 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
13171
db430d26
DM
131722002-04-19 David S. Miller <davem@redhat.com>
13173
13174 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
13175 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
13176
0f2a3457
JJ
131772002-04-19 Jakub Jelinek <jakub@redhat.com>
13178
13179 PR optimization/3756
13180 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
13181 x = ((int) y < 0) ? cst1 : cst2.
13182
ce5e43d0
JJ
131832002-04-19 Jakub Jelinek <jakub@redhat.com>
13184
13185 PR c/6358
13186 * function.c: Reapply patch for c/6358.
13187 (expand_function_end): Copy decl_rtl's mode, not
13188 current_function_return_rtx mode.
13189
131902002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
13191
13192 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
13193 targets.
13194
40e7f8ea
TT
131952002-04-19 Tom Tromey <tromey@redhat.com>
13196
13197 * doc/install.texi (Specific): Update status of Solaris 2.8.
13198 For PR libgcj/6158.
13199
62a12b27
AS
132002002-04-19 Andreas Schwab <schwab@suse.de>
13201
13202 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
13203 (PUT_REAL): Restore old definition.
13204
1405141b
DN
132052002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
13206 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13207
13208 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
13209 binutils 2.11.2 and higher generate smaller binaries than Sun's
13210 native tools.
13211
303a3927
MM
132122002-04-19 Mark Mitchell <mark@codesourcery.com>
13213
13214 PR c++/6352
13215 * toplev.c (rest_of_compilation): Do not defer functions for which
13216 TREE_SYMBOL_REFERENCED has already been set.
13217
de80110b
JH
13218Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
13219
13220 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
13221 alternative.
13222
ab393bf1
NB
132232002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
13224
13225 * builtins.c: Include langhooks.h.
13226 (lang_type_promotes_to): Remove.
13227 (expand_builtin_va_arg): Use new hook.
13228 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
13229 (simple_type_promotes_to): Move to c-typeck.c.
13230 * c-common.h (simple_type_promotes_to): Remove.
13231 * c-decl.c (duplicate_decls, grokdeclarator): Update.
13232 * c-format.c: Include langhooks.h.
13233 (check_format_types): Update.
13234 * c-tree.h (c_type_promotes_to): New.
13235 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
13236 (type_lists_compatible_p): Update.
13237 * langhooks-def.h (lhd_type_promotes_to): New.
13238 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
13239 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
13240 * langhooks.c (lhd_type_promotes_to): New.
13241 * langhooks.h (struct lang_hooks_for_types): New hook.
13242 * tree.h (lang_type_promotes_to): Remove.
13243objc:
13244 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
13245
0cd3301b
RH
132462002-04-18 Richard Henderson <rth@redhat.com>
13247
58533fa2 13248 * function.c: Revert patch for c/6358.
0cd3301b
RH
13249
132502002-04-18 Richard Henderson <rth@redhat.com>
13251
58533fa2
RH
13252 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
13253 blocks. Handle multiple references to the TRAP block. Handle
13254 non-adjacent THEN and OTHER blocks.
0cd3301b 13255
58533fa2
RH
132562002-04-18 Richard Henderson <rth@redhat.com>
13257
13258 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
13259 crash with no type for by-mode libcalls.
13260
13261 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 13262
57174693
BW
132632002-04-18 Bob Wilson <bob.wilson@acm.org>
13264
13265 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
13266 __xtensa_nonlocal_goto): Use a syscall instructions to flush
13267 the register windows.
13268
46468cd9
ZW
132692002-04-18 Zack Weinberg <zack@codesourcery.com>
13270
13271 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
13272 appropriate. Document need for extended precision even when
13273 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
13274 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
13275 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
13276 instead of relying on later syntax error when REAL_WIDTH > 5.
13277 * real.c: Define NE based only on whether or not we have a
13278 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
13279 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
13280 define GET_REAL and PUT_REAL as simple memcpy operations; no
13281 need to byteswap or round.
13282 Use #error instead of #ifdef-ing out the entire file, for
13283 prompt error detection.
13284
13285 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
13286
2f82dbf8
DM
132872002-04-18 David S. Miller <davem@redhat.com>
13288
13289 * config/sparc/sparc.h (BRANCH_COST): Define.
13290
13291 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
13292 does it.
13293
566576e7
HPN
132942002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
13295
13296 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
13297 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
13298 propagate_block calls after relaxation loop using new variable
13299 stabilized_prop_flags.
13300
51dcde6f
RH
133012002-04-18 Richard Henderson <rth@redhat.com>
13302
13303 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
13304 (ia64_va_arg): Expect variable sized types by reference.
13305 * config/ia64/ia64-protos.h: Update.
46468cd9 13306 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
13307 ia64_function_arg_pass_by_reference.
13308
26406018
RH
133092002-04-18 Richard Henderson <rth@redhat.com>
13310
46468cd9
ZW
13311 * ifcvt.c: Include except.h.
13312 (block_has_only_trap): Break out from find_cond_trap.
13313 (find_cond_trap): Use it. Always delete the trap block.
13314 (merge_if_block): Allow then block null. Be less simplistic about
13315 what insns can end a block.
13316 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 13317
26406018
RH
13318 * config/ia64/ia64.md (trap, conditional_trap): New.
13319
a3acf46d
JJ
133202002-04-18 Jakub Jelinek <jakub@redhat.com>
13321
13322 PR c/6358
13323 * function.c (assign_parms): Assign hard current_function_return_rtx
13324 register here...
13325 (expand_function_end): ...not here.
13326
7a228918
NB
133272002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
13328
13329 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
13330 * c-tree.h (c_incomplete_type_error): New.
13331 * c-typeck.c (require_complete_type, build_component_ref): Update.
13332 (incomplete_type_error): Rename.
13333 * langhooks-def.h (lhd_incomplete_type_error): New.
13334 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
13335 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
13336 * langhooks.c (lhd_incomplete_type_error): New.
13337 * langhooks.h (struct lang_hooks_for_types): New hook.
13338 * tree.c (size_in_bytes): Use new hook.
13339 * tree.h (incomplete_type_error): Remove.
13340objc:
13341 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
13342
f18664c1
ZW
133432002-04-18 Zack Weinberg <zack@codesourcery.com>
13344
13345 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
13346 TARGET_FLOAT_FORMAT blocks.
13347
8ecab453
GP
133482002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13349
13350 * doc/install.texi (Downloading the source): Do not mention Chill
13351 any longer, but mention Ada.
13352 (Configuration): Do not mention Chill any longer.
13353
528d8489
HPN
133542002-04-18 Hans-Peter Nilsson <hp@axis.com>
13355
13356 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
13357
91da27c5
JH
13358Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
13359
13360 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
13361 in last patch.
13362
a32db605
JJ
133632002-04-18 Jakub Jelinek <jakub@redhat.com>
13364
13365 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
13366 instead of unsigned_type.
13367
5a28d8cc
JH
13368Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
13369
13370 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
13371 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
13372 later.
13373
3d980b9f
BS
133742002-04-18 Bernd Schmidt <bernds@redhat.com>
13375
13376 * attribs.c (vector_type_node_list): New static variable.
13377 (handle_vector_size_attribute): Use it to avoid generating a
13378 new type node each time we are called.
13379
2e676d78
BS
13380 * combine.c (subst): Avoid trying to make a vector mode subreg of
13381 an integer constant.
13382 (gen_lowpart_for_combine): Likewise.
46468cd9 13383
58c2956c
RS
133842002-04-18 Roger Sayle <roger@eyesopen.com>
13385 Jakub Jelinek <jakub@redhat.com>
13386
13387 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
13388 for integer constant c (if x has unsigned type or sign bit is not
13389 set in c). This folds the zero/sign extension into the bit-wise and
13390 operation.
13391
692efa8e
JJ
133922002-04-18 Jakub Jelinek <jakub@redhat.com>
13393
13394 PR middle-end/6205
13395 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
13396 otherwise xorps.
13397
1372d4ce
NY
133982002-04-17 NIIBE Yutaka <gniibe@m17n.org>
13399
13400 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
13401
169ce44d
NC
134022002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
13403
13404 * gcc.c (read_specs): Detect and fail if an attempt is made to
13405 rename a spec string to an already existing string.
13406
b30d2115
UW
134072002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
13408
13409 * config/s390/s390.c (legitimize_pic_address): Do not generate
13410 illegal address constant without CONST.
13411
d6964c30
KG
134122002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13413
13414 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
13415 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
13416
7c82a1ed
UW
134172002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
13418
13419 PR optimization/6305
13420 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
13421 to make sure previous reloads are taken into account. Generate
13422 better code if one operand is an in-range immediate constant.
13423
58db9d1a
AH
134242002-04-16 Andrew Haley <aph@cambridge.redhat.com>
13425
13426 * doc/install.texi (Building): libgcj requires GNU make.
13427
2a732575
JJ
134282002-04-17 Jakub Jelinek <jakub@redhat.com>
13429
13430 PR bootstrap/6315
13431 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
13432 even if hard quad and register is not floating.
13433 (movtf reg<-mem split): Disallow splitting if hard quad and
13434 register is floating.
13435 (movtf mem<-reg split): Likewise.
13436 * config/sparc/sparc.c (fp_register_operand): New predicate.
13437 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
13438
75a65e46
ZW
134392002-04-17 Zack Weinberg <zack@codesourcery.com>
13440
13441 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
13442 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
13443 (unprotoize.o): Ditto. Build from protoize.c. Define
13444 UNPROTOIZE on command line.
13445 * protoize.c: Include cppdefault.h. Delete include_defaults.
13446 (in_system_include_dir): Use cpp_include_defaults (defined in
13447 cppdefault.o).
13448 * unprotoize.c: Delete file.
13449
650f0e97
AH
134502002-04-17 Aldy Hernandez <aldyh@redhat.com>
13451
46468cd9
ZW
13452 * config/rs6000/altivec.h (vec_ld): Add array variants.
13453 (vec_lde): Same.
13454 (vec_ldl): Same.
650f0e97 13455
71a0ab0c 134562002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 13457 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 13458
46468cd9
ZW
13459 * config/rs6000/altivec.h: Define __ALTIVEC__.
13460 (bool): New.
13461 (__pixel): New.
13462 (pixel): New.
13463 (vec_cfux): New.
13464 (vec_vmaddfp): New.
13465 (vec_vsldoi): New.
13466 Add parentheses to all macro arguments.
71a0ab0c 13467
ff2c46ac
RH
134682002-04-16 Richard Henderson <rth@redhat.com>
13469
13470 PR c++/6320
13471 * except.c (remove_eh_handler): Insert inner regions at beginning
13472 of sibling chain. Refactor expressions.
13473
f1ba94dd
RH
134742002-04-16 Richard Henderson <rth@redhat.com>
13475
f0871dfe
RH
13476 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
13477 * config/sparc/sol2-gas-bi.h: New file.
13478 * config.gcc (sparc*-solaris): Add it as needed.
13479 * configure.in (AS_SPARC64_FLAG): Remove check.
13480 * config.in, configure: Regenerate.
13481
13482 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
13483
134842002-04-16 Richard Henderson <rth@redhat.com>
13485
13486 * config/mips/mips.c (override_options): Don't override N32 for
13487 a 64-bit ISA.
409d3c60 13488
f1ba94dd
RH
13489 PR 6202
13490 * config/mips/mips.md (can_delay): Split out of existing define_delays.
13491 (HILO_delay): Set can_delay false.
13492
178c3eff
DJ
134932002-04-16 Dale Johannesen <dalej@apple.com>
13494
13495 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
13496 instruction addresses.
13497 (rs6000_output_function_epilogue): Likewise.
13498
7d6f6369
PC
134992002-04-16 Paolo Carlini <pcarlini@unitus.it>
13500
13501 * c-parse.in (poplevel, compstmt_start,
13502 compstmt_primary_start): Add ending ';', in accordance
13503 with POSIX.
13504
8947df0c
RH
135052002-04-16 Richard Henderson <rth@redhat.com>
13506
13507 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
13508 Adjust tm_file order to get TARGET_DEFAULT set properly.
13509 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
13510 * doc/install.texi (sparc-solaris): Update.
13511
3148ad6d
DJ
135122002-04-16 Dale Johannesen <dalej@apple.com>
13513
13514 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
13515 comparison operands do not match each other or if modes of
13516 conditions do not match result.
13517
014cb9b6 135182002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 13519
014cb9b6
HP
13520 PR target/6305
13521 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 13522 multiword register.
562a69be 13523
014cb9b6 135242002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 13525
8947df0c 13526 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 13527
a9772b60
JJ
135282002-04-16 Jakub Jelinek <jakub@redhat.com>
13529
13530 PR middle-end/6279
13531 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
13532
13533 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
13534
861829ed
RH
135352002-04-15 Richard Henderson <rth@redhat.com>
13536
13537 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
13538 call_really_used_regs too.
13539
bcf2fe9c
RH
135402002-04-15 Richard Henderson <rth@redhat.com>
13541
13542 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
13543
629111c7
DM
135442002-04-15 David S. Miller <davem@redhat.com>
13545
13546 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
13547 as being CLOBBERed.
13548
98ef3137
JJ
135492002-04-16 Jakub Jelinek <jakub@redhat.com>
13550
13551 PR c/6290
13552 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
13553 CONST_VECTOR is { 0, ... 0 }.
13554
0aa911c5
LR
135552002-04-15 Loren J. Rittle <ljrittle@acm.org>
13556
13557 * doc/install.texi (Installing GCC: Configuration): Clarify
13558 the only supported ways to configure gcc.
13559
83248d49 135602002-04-15 Roland McGrath <roland@frob.com>
46468cd9 13561
83248d49
RM
13562 * config.gcc (alpha*-*-gnu*): New target configuration.
13563 * config/alpha/gnu.h: New file for it.
13564 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
13565
b2123dc0
MM
135662002-04-16 Mark Mitchell <mark@codesourcery.com>
13567
13568 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
13569 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
13570 * tree.h (expand_start_stmt_expr): Update prototype.
13571 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
13572 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
13573 on the STMT_EXPR created for the inline function.
46468cd9 13574
8fe2d853
RH
135752002-04-15 Richard Henderson <rth@redhat.com>
13576
13577 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
13578 config/i386/linux-aout.h, config/i386/linux-oldld.h,
13579 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
13580 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
13581 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
13582 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
13583 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
13584 Define __gnu_linux__, not gnu_linux.
13585 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
13586
07cdae91
MM
135872002-04-15 Mark Mitchell <mark@codesourcery.com>
13588
13589 Remove Chill front end.
13590 * gcc.c (default_compilers): Remove Chill entries.
13591 * ch: Remove directory.
13592 * doc/frontends.texi: Remove information about Chill.
13593 * doc/sourcebuild.texi: Likewise.
13594 * doc/standards.texi: Likewise.
13595
41823c5e
DR
135962002-04-15 Douglas B Rupp <rupp@gnat.com>
13597
13598 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
13599 (LONGLONG_STANDALONE): Define.
13600
eb29ddb6
DM
136012002-04-15 David S. Miller <davem@redhat.com>
13602
13603 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
13604 Call emit_library_call with LCT_NORMAL.
13605 (sparc_initialize_trampoline): Use LCT_foo instead of
13606 magic constant in emit_library_call invocations.
13607 (sparc64_initialize_trampoline): Likewise.
13608 (sparc_profile_hook): Likewise.
13609 * config/sparc/sparc.md: Likewise.
13610
13611 * config/sparc/sparc.c (sparc_extra_constraint_check):
13612 Fix type of argument 'c'.
13613 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
13614 Likewise.
13615
bd6bec6b
GDR
136162002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
13617
13618 * diagnostic.h (output_buffer_state): Redefine.
13619 (output_format_decoder): New macro.
13620 (output_prefixing_rule): Likewise.
13621 (output_line_cutoff): Likewise.
13622 (diagnostic_format_decoder): Adjust.
13623 (diagnostic_prefixing_rule): Likewise.
13624 (diagnostic_line_cutoff): Likewise.
13625 (diagnostic_state): Likewise.
13626 (diagnostic_kind_count): Likewise.
13627 (diagnostic_buffer): Now a macro.
13628
13629 * diagnostic.c (diagnostic_buffer): Remove definition.
13630 (output_is_line_wrapping): Adjust.
13631 (set_real_maximum_length): Likewise.
13632 (output_set_maximum_length): Likewise.
13633 (init_output_buffer): Likewise.
13634 (lhd_print_error_function): Likewise.
13635 (output_do_verbatim): Likewise.
13636
ebef4e8c
NB
136372002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
13638
13639 * cpperror.c (print_location): Don't print include chain
13640 if line == 0.
13641 (cpp_begin_message): Update to use DL_ macros.
13642 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
13643 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
13644 cpp_notice, cpp_notice_from_errno): Remove.
13645 (cpp_error, cpp_error_with_line): Update to take a diagnostic
13646 level.
13647 (cpp_errno): New.
13648 * cppexp.c (CPP_ICE): Remove.
13649 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
13650 lex, integer_overflow, _cpp_parse_expr): Update.
13651 * cppfiles.c (read_include_file, find_include_file,
13652 handle_missing_header, _cpp_read_file, remap_filename): Update.
13653 * cpphash.h (enum error_type): Remove.
13654 (_cpp_begin_message): Update.
13655 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
13656 cpp_handle_option, cpp_post_options): Update.
13657 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
13658 skip_whitespace, parse_identifier, parse_slow, parse_string,
13659 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
13660 cpp_interpret_charconst): Update.
13661 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
13662 lex_macro_node, do_undef, glue_header_name, parse_include,
13663 do_include_common, read_flag, do_line, do_linemarker, do_ident,
13664 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
13665 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
13666 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
13667 _cpp_pop_buffer, do_diagnostic): Update.
13668 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
13669 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
13670 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
13671 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
13672 cpp_notice, cpp_notice_from_errno): Remove.
13673 (cpp_error, cpp_error_with_line): Update to take a diagnostic
13674 level.
13675 (cpp_errno): New.
13676 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
13677 collect_args, enter_macro_context, save_parameter, parse_params,
13678 _cpp_create_definition, check_trad_stringification,
13679 cpp_macro_definition): Update.
13680 * cppmain.c (cpp_preprocess_file): Update.
13681 * fix-header.c (read_scan_file): Update.
13682
c19a3859
AS
136832002-04-14 Andreas Schwab <schwab@suse.de>
13684
13685 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
13686
10fdbed6
JD
136872002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
13688
13689 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
13690
77660a9a
MM
136912002-04-13 Mark Mitchell <mark@codesourcery.com>
13692
13693 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
13694 not gnu_hurd.
13695
e0ff1ded
HPN
136962002-04-13 Hans-Peter Nilsson <hp@axis.com>
13697
13698 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
13699
2341c7ea
JS
137002002-04-13 Joel Sherrill <joel@OARcorp.com>
13701
13702 * config/sparc/t-elf: Enable v8 multilibs. Impacts
13703 sparc-elf and sparc-rtems targets.
13704
d29350c0
MM
137052002-04-13 Mark Mitchell <mark@codesourcery.com>
13706
13707 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
13708 defined, and __gnu_hurd__ wherever __GNU__ is defined.
13709 * arm/linux-elf.h: Likewise.
13710 * cris/aout.h: Likewise.
13711 * cris/linux.h: Likewise.
13712 * i370/linux.h: Likewise.
13713 * i386/gnu.h: Likewise.
13714 * i386/linux-aout.h: Likewise.
13715 * i386/linux-oldld.h: Likewise.
13716 * i386/linux.h: Likewise.
13717 * i386/linux64.h: Likewise.
13718 * ia64/linux.h: Likewise.
13719 * m68k/linux-aout.h: Likewise.
13720 * m68k/linux.h: Likewise.
13721 * mips/linux.h: Likewise.
13722 * pa/pa-linux.h: Likewise.
13723 * pj/linux.h: Likewise.
13724 * rs6000/sysv4.h: Likewise.
13725 * s390/linux.h: Likewise.
13726 * sh/linux.h: Likewise.
13727 * sparc/linux-aout.h: Likewise.
13728 * sparc/linux.h: Likewise.
13729 * sparc/linux64.h: Likewise.
13730 * xtensa/linux.h: Likewise.
13731
fc552851
RS
137322002-04-13 Richard Sandiford <rsandifo@redhat.com>
13733
13734 * stmt.c (check_unique_operand_names): Expect operand names to
13735 be strings rather than identifiers. Use simple_cst_equal to
13736 compare them.
13737 (resolve_operand_name_1): Make same identifier to string change here.
13738 * c-parse.in (asm_operand): Convert a named operand into a string.
13739 * cp/parse.y (asm_operand): Likewise.
13740
1d405c5e
AS
137412002-04-13 Andreas Schwab <schwab@suse.de>
13742
13743 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
13744
c740732f
MM
137452002-04-12 Mark Mitchell <mark@codesourcery.com>
13746
13747 Revert these changes:
13748
13749 2002-04-06 Mark Mitchell <mark@codesourcery.com>
13750
13751 PR c++/5571
13752 * stor-layout.c (layout_decl): Reset the RTL for the decl.
13753
3fc602a0
RH
137542002-04-12 Richard Henderson <rth@redhat.com>
13755
13756 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
13757 (sparc*-*-solaris): Clean up header files.
13758 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
13759 and plan on generating 64-bit code.
13760 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
13761 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
13762 * config/sparc/sol2-sld-64.h: Rename ...
13763 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
13764 for AS_SPARC64_FLAG not defined.
13765 * config/sparc/sol2-gld-bi.h: New.
13766 * config/sparc/sol2-sld.h: Remove.
13767 * config/sparc/sol26-sld.h: New.
13768 * config/sparc/sol2.h: Tidy comments.
13769 * doc/install.texi: Document sparc-solaris configury changes.
13770
2f15e255
RH
137712002-04-12 Richard Henderson <rth@redhat.com>
13772
13773 * recog.c (offsettable_address_p): Match the logic in adjust_address.
13774
13775 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
13776 in 64-bit mode only. Use only for 32-bit or MEDLOW.
13777
cc8475cb
RO
137782002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13779
13780 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
13781
6f133a4a
JL
13782Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
13783
ef1b8858 13784 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
13785 constrain_operands.
13786
1329e600
DR
137872002-04-12 Douglas B Rupp <rupp@gnat.com>
13788
13789 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
13790 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
13791 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 13792 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
13793 * config/i386/t-interix (USER_H): Remove.
13794
0339d239
DD
137952002-04-12 DJ Delorie <dj@redhat.com>
13796
13797 * integrate.c (compare_blocks): Make comparisons safe for when
13798 sizeof(int) < sizeof(char *).
13799 (find_block): Likewise.
13800
cc4d5fec
JH
138012002-04-12 Jan Hubicka <jh@suse.cz>
13802 David Edelsohn <edelsohn@gnu.org>
13803
13804 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
13805 registers.
13806 (symbol_ref_operand): New.
13807 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
13808 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
13809
93215a1b
AS
138102002-04-12 Andreas Schwab <schwab@suse.de>
13811
13812 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
13813 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
13814 overrides the definition in config/svr4.h.
46468cd9 13815
1d80248e
EN
138162002-04-12 Eric Norum <eric.norum@usask.ca>
13817
13818 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
13819 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
13820 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
13821 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
13822 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
13823 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
13824 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
13825 definitions to config/rtems.h and make the targets more similar.
13826
fa1591cb
RK
13827Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13828
fa06ab5c
RK
13829 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
13830 POINTERS_EXTEND_UNSIGNED.
13831 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
13832 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
13833
fa1591cb
RK
13834 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
13835 not specified.
13836
12e85a0e
R
13837Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
13838
13839 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
13840 depends on TARGET_SHMEDIA, not TARGET_SH5.
13841
1ab3e58a
HPN
138422002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
13843
13844 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
13845 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
13846
18778292
R
13847Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
13848
13849 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
13850 no r0 clobber.
13851
9002507c
AS
138522002-04-12 Andreas Schwab <schwab@suse.de>
13853
13854 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
13855
9be40833
RH
138562002-04-12 Richard Henderson <rth@redhat.com>
13857
13858 PR bootstrap/4191
13859 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
13860
13861 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
13862 modes spanning multiple hard regs.
46468cd9 13863
9be40833
RH
13864 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
13865
3d9268b6
JDA
138662002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13867
13868 * pa.c (pa_output_function_prologue): Don't accumulate the total
13869 number of code bytes when using TARGET_64BIT, or gas, SOM and not
13870 the portable runtime.
13871 (output_deferred_plabels): Handle 64bit plabels.
13872 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
13873 generating pic code using the GAS assembler for object formats that
13874 are not SOM (ie., ELF32 and ELF64).
13875 (output_millicode_call): Check attribute type if attribute length is 28.
13876 Likewise use $PIC_pcrel$0. Only call get_attr_length and
13877 dbr_sequence_length once.
13878 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
13879 dbr_sequence_length once.
13880 * pa.h (TARGET_SOM): Define if not defined.
13881 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
13882 with GAS and not SOM.
13883 (jump, call_internal_reg, call_value_internal_reg): Likewise.
13884 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
13885
d360fd18
DB
138862002-04-11 David O'Brien <obrien@FreeBSD.org>
13887
13888 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
13889 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
13890 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
13891 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
13892 elfos.h and dbxelf.h values are fine now.
13893 * config/i386/freebsd.h, config/alpha/freebsd.h
13894 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
13895
5b8fcab6
DB
138962002-04-11 David O'Brien <obrien@FreeBSD.org>
13897
13898 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
13899 or set Acpu or Amachine. Reformat.
13900 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
13901 define.
13902 (LINK_SPEC): Do not need to undef.
13903 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
13904 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
13905 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
13906 define.
13907 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
13908 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
13909 (LINK_SPEC): Do not need to undef.
13910 (DONT_USE_BUILTIN_SETJMP): Do not define.
13911 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
13912 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
13913 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
13914 Remove trailing spaces.
13915 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
13916 __ELF__, or set Acpu or Amachine. Reformat.
13917 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
13918 define.
13919
fee42cc1
DB
139202002-04-11 David O'Brien <obrien@FreeBSD.org>
13921
13922 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
13923 all other *-*-freebsd* targets.
13924
77a403e4
RH
139252002-04-11 Richard Henderson <rth@redhat.com>
13926
13927 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
13928
cf0005c6
DB
139292002-04-11 David O'Brien <obrien@FreeBSD.org>
13930
13931 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
13932 Include {cpu}/{cpu}.h thru tm_file.
13933 (alpha*-*-linux*ecoff): Remove target.
13934 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
13935 (LINK_SPEC): Remove, is not OS independent.
13936 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
13937 (LINK_SPEC): Do not need to #undef any longer.
13938 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
13939 any longer.
13940 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
13941 __ELF__.
13942 (LINK_SPEC): Moved here from alpha/elf.h.
13943 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
13944 SUB_CPP_PREDEFINES.
13945 * config/alpha/linux-ecoff.h: Remove.
13946 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
13947 (CPP_SPEC): Define _POSIX_SOURCE as needed.
13948 (CPP_SUBTARGET_SPEC): Do not define.
13949 (LINK_SPEC): Do not need to #undef any longer.
13950 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
13951 * config/alpha/vms.h: Likewise.
13952
9be40833 139532002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
13954
13955 * doc/extend.texi: Remove old claim that typedefs cannot have
13956 an alignment attribute.
13957
010f87c4
JJ
139582002-04-11 Jakub Jelinek <jakub@redhat.com>
13959
13960 PR optimization/6177
13961 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
13962 bitpos is 0 and bitsize CONCAT size.
13963
578fc63d
JJ
139642002-04-11 Jakub Jelinek <jakub@redhat.com>
13965
13966 PR c/6223
13967 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
13968
bf9b85ce
DB
139692002-04-10 David O'Brien <obrien@FreeBSD.org>
13970
13971 * config/alpha/freebsd.h: Minor reformatting.
13972 (CPP_SPEC): Define ELF and add cpp_subtarget.
13973 (ASM_SPEC): No longer needed.
13974
7425707d
RH
139752002-04-11 Richard Henderson <rth@redhat.com>
13976
13977 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
13978 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
13979 (dimode mem/zero splitter): New.
13980
1a05e874
HPN
139812002-04-11 Hans-Peter Nilsson <hp@axis.com>
13982
13983 * config/cris/cris.c (cris_override_options): Tweak error message
13984 for PIC not implemented.
13985
13986 * config/cris/cris.h: Tweak comments related to parameter-passing.
13987
13988 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
13989
6f3d0447
RH
139902002-04-10 Richard Henderson <rth@redhat.com>
13991
13992 * except.c (add_ehl_entry): Allow duplicates after landing pad
13993 creation.
13994
174bf2b1
DE
139952002-04-10 David Edelsohn <edelsohn@gnu.org>
13996
13997 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
13998
03f10472
TM
139992002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
14000
14001 * c-decl.c (c_init_decl_processing): Move generation of
14002 decls for g77_integer_type_node and friends from here ...
14003 * c-common.c (c_common_nodes_and_builtins): ... to here.
14004
2f460a0a
UW
140052002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
14006
14007 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
14008 is only used as frame pointer when frame_pointer_needed is true.
14009
0be5cf85
RE
140102002-04-10 Richard Earnshaw <rearnsha@arm.com>
14011
14012 PR target/817
14013 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
14014 for the fact that the pool entry uses two words.
14015 (movdf_hard_insn): Similarly. Also, ADR instruction can span
14016 1k bytes.
14017 (movdf_soft_insn): Similarly.
14018 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
14019 for the fact that the pool entry uses three words.
14020
bf6d4777
RS
140212002-04-10 Richard Sandiford <rsandifo@redhat.com>
14022
14023 * config/mips/mips.c (mips_va_arg): When using the struct version
14024 of the EABI va_list, allow arguments in the register save area to
14025 take up less room than a stack argument.
14026
c2e9dc85
RH
140272002-04-10 Richard Henderson <rth@redhat.com>
14028
14029 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
14030 if EXPAND_INITIALIZER.
14031
bc8e8e97
RH
140322002-04-09 Richard Henderson <rth@redhat.com>
14033
14034 * config/alpha/alpha.md (movdi_er_maybe_g): New.
14035 * config/alpha/alpha.c (alpha_expand_mov): Use it.
14036
a6a063b8
AM
140372002-04-10 Alan Modra <amodra@bigpond.net.au>
14038
14039 PR optimization/6233
14040 * rtlanal.c (pure_call_p): New function.
14041 * rtl.h (pure_call_p): Declare.
14042 * loop.c (prescan_loop): Use it to set has_nonconst_call.
14043 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
14044
7b2e1077
EC
140452002-04-09 Eric Christopher <echristo@redhat.com>
14046
14047 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
14048 information to .comm directive.
14049
d8a50944
RH
140502002-04-09 Richard Henderson <rth@redhat.com>
14051
14052 PR c/5078
14053 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
14054
6a58eee9
RH
140552002-04-09 Richard Henderson <rth@redhat.com>
14056
14057 * basic-block.h (flow_delete_block_noexpunge): Declare.
14058 (expunge_block_nocompact): Declare.
14059 * cfg.c (expunge_block_nocompact): Split out from ...
14060 (expunge_block): ... here.
14061 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
14062 (flow_delete_block_noexpunge): Split out from ...
14063 (flow_delete_block): ... here.
14064 * cfgcleanup.c (delete_unreachable_blocks): Compact while
14065 removing dead blocks.
14066 * except.c (exception_handler_labels): Remove.
14067 (exception_handler_label_map): New.
14068 (struct eh_region): Add aka member.
14069 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
14070 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
14071 (for_each_eh_label, for_each_eh_label_1): New.
14072 (init_eh): Register exception_handler_label_map.
14073 (free_eh_status): Use free_region.
14074 (find_exception_handler_labels): Use the map, not the list.
14075 (remove_exception_handler_label): Likewise.
14076 (maybe_remove_eh_handler): Likewise.
14077 (remove_eh_handler): Use the region aka bitmap.
14078 * except.h (exception_handler_labels): Remove.
14079 (for_each_eh_label): Declare.
14080 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
14081 * loop.c (invalidate_loops_containing_label): New.
14082 (find_and_verify_loops): Use it. Use for_each_eh_label.
14083 * sched-rgn.c (is_cfg_nonregular): Use
14084 current_function_has_exception_handlers.
14085
b47374fa
RH
140862002-04-09 Richard Henderson <rth@redhat.com>
14087
14088 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
14089 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
14090 Do not return changed status.
14091 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
14092 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
14093 New functions that do return changed status.
14094 * sbitmap.h: Update decls.
14095 * gcse.c, lcm.c: Use _cg functions as needed.
14096
1951818c
R
14097Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
14098
14099 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
14100 (sh64-*-elf*, sh-*-rtemself*): Likewise.
14101 * config/sh/embed_bb.c: New file.
14102 * config/sh/embed-elf.h: New file.
14103 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
14104 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
14105 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
14106 __PTRDIFF_TYPE__ .
14107 (SUBTARGET_CPP_PTR_SPEC): Don't define.
14108 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
14109 Add subtarget_asm_endian_spec.
14110 (ASM_SPEC): Use subtarget_asm_endian_spec.
14111 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
14112 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
14113 (WCHAR_UNSIGNED): Define.
14114 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
14115 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
14116 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
14117 Fix value.
14118 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
14119 (sh_adjust_cost): Likewise.
14120 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
14121 __PTRDIFF_TYPE__ .
14122 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
14123 (WCHAR_TYPE_SIZE): Likewise.
14124 (ASM_SPEC): Use subtarget_asm_endian_spec.
14125 (SH_ELF_WCHAR_TYPE): #undef/ #define.
14126 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
14127 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
14128 (MAX_WCHAR_TYPE_SIZE): Don't #define .
14129 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
14130 (USER_LABEL_PREFIX): Don't #undef /#define .
14131 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
14132 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
14133 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
14134 (ASM_SPEC): Likewise.
14135 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
14136 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
14137 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
14138 (LIB2FUNCS_EXTRA): Define.
14139 * t-sh64 (LIB2FUNCS_EXTRA): Define.
14140 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
14141 (LIB1ASMFUNCS_CACHE): Define.
14142 (LIB2FUNCS_EXTRA): Redefine empty.
14143
34295799
RH
141442002-04-08 Richard Henderson <rth@redhat.com>
14145
14146 * reorg.c (get_branch_condition): Use reversed_comparison_code.
14147
e8766a39
SC
141482002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14149
14150 * config/m68hc11/larith.asm (__map_data_section): Fix condition
14151 and optimize for size.
14152 (__do_global_ctors): Fix pointer comparison.
14153 (__do_global_dtors): Likewise.
14154
f451b552
DM
141552002-04-09 David S. Miller <davem@redhat.com>
14156
14157 * config/sparc/sparc.c (sparc_extra_constraint_check): New
14158 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
14159 allow reloading pseudos.
14160 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
14161 * config/sparc/sparc-protos.h: Declare it.
14162
14163 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
14164 unsigned comparison warning.
14165 (output_restore_regs): Mark leaf_function as unused.
14166
1ce7f3c2
RK
14167Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14168
14169 * expr.c (is_aligning_offset): New function.
14170 (expand_expr, case COMPONENT_EXPR): Call it.
14171
7a31a340
DM
141722002-04-08 David S. Miller <davem@redhat.com>
14173
14174 PR target/6082
14175 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
14176
14177 Make init_priority work on Sparc when using GNU ld.
14178 * config/sparc/linux.h, config/sparc/linux64.h,
14179 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
14180 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
14181 * config/sparc/sol2-gld.h: New file to do the same.
14182 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
14183 sparc/sol2-gld.h to tm_file.
14184
14185 PR optimization/4328
14186 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
14187 * doc/md.texi: Document it.
14188 * config/sparc/sparc.md (movdi_insn_sp64_novis,
14189 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
14190 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
14191 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
14192 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
14193
11579f33
AJ
141942002-04-08 Andreas Jaeger <aj@suse.de>
14195
14196 * stmt.c (expand_asm_operands): Revert last patch from Richard
14197 Henderson.
14198
b57215d9
GP
141992002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14200
14201 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
14202 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
14203
142042002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14205
14206 * doc/contrib.texi (Contributors): Add David O'Brien.
14207
534d0cc0
AM
142082002-04-08 Alan Modra <amodra@bigpond.net.au>
14209
14210 * configure.in (auto-build.h): Use target_alias and build_alias
14211 when running configure.
14212 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
14213 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
14214 * configure: Regenerate.
14215
19fe522a
DM
142162002-04-07 David S. Miller <davem@redhat.com>
14217
14218 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
14219
bf2d0b8e
JDA
142202002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
14221
14222 PR 5933
14223 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
14224 generating 32-bit pic code.
14225
477cdac7
JT
142262002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
14227
14228 * cppinit.c (cpp_create_reader): Initialize
14229 discard_comments_in_macro_exp.
14230 (COMMAND_LINE_OPTIONS): Add "-CC" option.
14231 (cpp_handle_option): Handle "-CC" option.
14232 * cpplex.c (save_comment): If saving a C++ comment in
14233 a directive, convert it to a C comment.
14234 (_cpp_lex_direct): Pass second comment start character to
14235 save_comment to indicate comment type.
14236 * cpplib.c (_cpp_handle_directive): If processing
14237 a "#define" directive and discard_comments_in_macro_exp
14238 is false, re-enable saving of comments.
14239 (lex_macro_node): If discard_comments_in_macro_exp is false,
14240 discard any comments before the macro identifier.
14241 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
14242 member.
14243 * cppmacro.c (cpp_get_token): If expanding a macro while
14244 processing a directive, discard any comments we might encounter.
14245 (parse_params): If discard_comments_in_macro_exp is false,
14246 ignore comments in the macro parameter list.
14247 * gcc.c (cpp_unique_options): Add "-CC" option.
14248 (option_map): Map "--comments-in-macros" to "-CC".
14249 * doc/cppopts.texi: Document "-CC" option.
14250 * f/lang-specs.h: Add "-CC" option.
14251 * testsuite/gcc.dg/cpp/maccom1.c: New test.
14252 * testsuite/gcc.dg/cpp/maccom2.c: New test.
14253 * testsuite/gcc.dg/cpp/maccom3.c: New test.
14254 * testsuite/gcc.dg/cpp/maccom4.c: New test.
14255 * testsuite/gcc.dg/cpp/maccom5.c: New test.
14256 * testsuite/gcc.dg/cpp/maccom6.c: New test.
14257
f1526122
JDA
142582002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
14259
14260 PR middle-end/6180
14261 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
14262
b1896e61
MM
142632002-04-06 Mark Mitchell <mark@codesourcery.com>
14264
0154eaa8
MM
14265 PR c++/5571
14266 * stor-layout.c (layout_decl): Reset the RTL for the decl.
14267
b1896e61
MM
14268 PR opt/5120
14269 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
14270 RTX_UNCHANGING_P for the functions arguments when a tail call
14271 is made.
14272
b0148884
JM
142732002-04-06 Jason Merrill <jason@redhat.com>
14274
14275 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
14276 (parse_options_and_default_flags): Set them appropriately.
14277 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
14278
392fc5b0
HPN
142792002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
14280
14281 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
14282 here.
14283
14284 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
14285 semicolon.
14286
14287 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
14288 types come in by-reference. Fix typo in comment.
14289
2d69e3cb
DM
142902002-04-05 David S. Miller <davem@redhat.com>
14291
14292 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
14293 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
14294 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
14295 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
14296
142972002-04-05 David S. Miller <davem@redhat.com>
14298
14299 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
14300 are not going to emit return instructions, emit at least a nop
14301 for the sake of sane backtraces.
14302
5f9fb0e3
RH
143032002-04-05 Richard Henderson <rth@redhat.com>
14304
14305 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
14306
49f37a0d
JJ
143072002-04-05 Jakub Jeilnek <jakub@redhat.com>
14308
14309 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
14310
974a3101
AO
143112002-04-05 Alexandre Oliva <aoliva@redhat.com>
14312
14313 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
14314 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
14315 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
14316
2e04a694
AS
143172002-04-05 Andreas Schwab <schwab@suse.de>
14318
a40179bd 14319 * c-convert.c: Include c-common.h.
2e04a694
AS
14320 * Makefile.in (c-convert.o): Updated.
14321
1f785b7c
JJ
143222002-04-05 Jakub Jelinek <jakub@redhat.com>
14323
14324 * mklibgcc.in: Use separate libgcc.map for each multilib.
14325 * Makefile.in (distclean): Don't remove libgcc.map here.
14326
4d2fb38b
JJ
143272002-04-05 Jakub Jelinek <jakub@redhat.com>
14328
14329 * Makefile.in (s-mlib): Handle --disable-multilib by separate
14330 genmultilib invocation.
14331
bb63e5a0
RS
143322002-04-04 Richard Sandiford <rsandifo@redhat.com>
14333
14334 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
14335 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
14336 to num_gprs for symmetry.
14337 * config/mips/mips.c: Adjust accordingly.
14338
8ab80eaa
NB
143392002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
14340
14341 * c-common.c (truthvalue_conversion): Rename, update.
14342 * c-common.h (c_common_truthvalue_conversion): New.
14343 * c-convert.c (convert): Update.
14344 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
14345 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
14346 * c-typeck.c (build_binary_op, build_unary_op,
14347 build_conditional_expr): Update.
14348 * fold-const.c (constant_boolean_node, fold): Use langhook.
14349 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
14350 * langhooks.h (struct lang_hooks): New hook.
14351 * stmt.c (expand_decl_cleanup): Use langhook.
14352 * tree.h (truthvalue_conversion): Remove.
14353objc:
14354 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
14355
a2e9374a
AM
143562002-04-05 Alan Modra <amodra@bigpond.net.au>
14357
14358 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
14359 Add rules to make null object file.
14360
64d08263
JB
143612002-04-04 Jim Blandy <jimb@redhat.com>
14362
14363 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
14364 macro formal parameter names.
14365
aa7634dd
DM
143662002-04-04 David S. Miller <davem@redhat.com>
14367
14368 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
14369
ecc114f7
RH
143702002-04-04 Richard Henderson <rth@redhat.com>
14371
14372 PR middle-end/5099
14373 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
14374 Support copies into and out of memory. Don't accept allows_reg
14375 and allows_mem as gospel.
14376
c4484b8f
RH
143772002-04-04 Richard Henderson <rth@redhat.com>
14378
14379 PR opt/6165
14380 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
14381 (write_dependence_p): Likewise.
14382
39002160
RH
143832002-04-04 Richard Henderson <rth@redhat.com>
14384
14385 * predict.c (estimate_bb_frequencies): Do frequency calculation
14386 with a volatile temporary.
14387
f53ebe71
UW
143882002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
14389
14390 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
14391
15e0ecab
JJ
143922002-04-04 Jakub Jelinek <jakub@redhat.com>
14393
14394 PR c++/6119
14395 * final.c (final_start_function): Don't bump profile_label_no here...
14396 (final_end_function): ...but here.
14397
ffd386b0
JJ
143982002-04-04 Jakub Jelinek <jakub@redhat.com>
14399
14400 * config/sparc/sparc.md (pic): New attribute.
14401 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
14402 into stack slots.
14403 (split after do_builtin_setjmp_setup): New.
14404
8b156b3e
JJ
144052002-04-04 Jakub Jelinek <jakub@redhat.com>
14406
14407 PR fortran/6106
14408 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
14409 change.
14410
014c0998
JJ
144112002-04-04 Jakub Jelinek <jakub@redhat.com>
14412
14413 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
14414 UNITS_PER_WORD for zero sized aggregates.
14415
4d8611d9
DM
144162002-04-03 David S. Miller <davem@redhat.com>
14417
14418 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
14419 one-character spec for this, just use %(link_gcc_c_sequence).
14420
b03ad99d
DM
144212002-04-03 David S. Miller <davem@redhat.com>
14422
14423 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
14424 handling.
14425
823fbbce
JDA
144262002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
14427
14428 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
14429 (DWARF_FRAME_RETURN_COLUMN): Move.
14430 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14431 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
14432 * pa.c (except.h, predict.h): Include.
14433 (FRP): Delete.
14434 (store_reg_modify, set_reg_plus_d): Revise prototypes.
14435 (output_ascii): Add cast.
14436 (store_reg_modify): Revise to add frame notes.
14437 (set_reg_plus_d): Likewise.
14438 (compute_frame_size): Include space for eh data registers in frame if
14439 the current function calls eh_return.
14440 (hppa_expand_prologue): Ensure register %r2 is saved if the current
14441 function calls eh_return. Save eh data registers if the current
14442 function calls eh_return. Fix code to add frame notes. Emit
14443 blockage to prevent insns with frame notes being scheduled in the
14444 delay slot of calls.
14445 (hppa_expand_epilogue): Restore eh data registers and do final stack
14446 adjustment if the current function calls eh_return. Don't add frame
14447 notes.
14448 (output_call): Revise for change in length of call insn. Don't do
14449 return pointer adjustment for an unconditional jump in the delay slot
14450 of a call when using frame notes.
14451 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
14452 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
14453 (ARG_POINTER_CFA_OFFSET): Define.
14454 * pa.md (return_external_pic): New pattern.
14455 (prologue): Correct formatting. Use return_external_pic if current
14456 function calls eh_return.
14457 (call_internal_symref, call_value_internal_symref,
14458 sibcall_internal_symref, sibcall_value_internal_symref): Change default
14459 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
14460 respectively.
14461 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
14462
14463 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
14464 list of targets to check using "nop" insn.
14465 * configure: Rebuilt.
14466
4078e224
AM
144672002-04-04 Alan Modra <amodra@bigpond.net.au>
14468
14469 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
14470
bbd7687d
DM
144712002-04-03 David S. Miller <davem@redhat.com>
14472
14473 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
14474 library sequence passed to the linker.
14475 (LINK_COMMAND_SPEC): Use it.
14476 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
14477 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
14478 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
14479
659e5a7a
JM
144802002-04-03 Jason Merrill <jason@redhat.com>
14481
14482 * except.c (struct eh_status): Remove protect_list.
14483 (begin_protect_partials, end_protect_partials): Remove.
14484 (add_partial_entry): Remove.
14485 * except.h: Remove prototypes.
14486
14487 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
14488 expand_decl_cleanup_eh.
14489
14490 PR c++/5636
14491 * tree.h (CLEANUP_EH_ONLY): New macro.
14492 * stmt.c (expand_decl_cleanup_eh): New fn.
14493 (expand_cleanups): Check CLEANUP_EH_ONLY.
14494 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
14495 Use expand_decl_cleanup_eh.
14496 (expand_stmt): Adjust.
14497 * c-common.h: Adjust prototype.
14498
053d3344
HPN
144992002-04-04 Hans-Peter Nilsson <hp@axis.com>
14500
14501 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
14502 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
14503 (cris_target_asm_function_epilogue): Ditto.
14504 (cris_initial_frame_pointer_offset): Ditto.
14505 (cris_simple_epilogue): Ditto.
14506 (cris_expand_builtin_va_arg): Variable-size types come in
14507 by-reference.
14508
61ab5260
DM
145092002-04-03 David S. Miller <davem@redhat.com>
14510
14511 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
14512 little-endian.
14513 (set_fast_math): Correct 'fsr' type.
14514
ef4f94ac
RH
145152002-04-03 Richard Henderson <rth@redhat.com>
14516
36c2272c 14517 PR opt/3569
ef4f94ac
RH
14518 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
14519 * toplev.c (check_global_declarations): Use it.
14520 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
14521 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
14522 (LANG_HOOKS_DECLS): Add it.
14523 * langhooks.c (lhd_warn_unused_global_decl): New.
14524 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
14525 * c-objc-common.c (c_warn_unused_global_decl): New.
14526 * c-tree.h (c_warn_unused_global_decl): Declare.
14527 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
14528
599bba86
NB
145292002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
14530
14531 * langhooks-def.h (lhd_set_decl_assembler_name,
14532 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
14533 (LANG_HOOKS_INITIALIZER): Update.
14534 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
14535 * langhooks.h (struct lang_hooks): New hook.
14536 * tree.c (set_decl_assembler_name): Move to langhooks.c.
14537 (lang_set_decl_assembler_name): Remove.
14538 (init_obstacks): Don't set hook.
14539 (decl_assembler_name): New function.
14540 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
14541 (decl_assembler_name): New.
14542 (lang_set_decl_assembler_name): Remove.
14543
cf7b8b0d
JJ
145442002-04-03 Jakub Jelinek <jakub@redhat.com>
14545
14546 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
14547 works properly with .hidden symbols.
14548 * configure: Rebuilt.
14549 * config.in: Rebuilt.
14550 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
14551 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
14552 properly with .hidden symbols.
14553
faf6db38
JJ
145542002-04-03 Jakub Jelinek <jakub@redhat.com>
14555
14556 PR middle-end/6102
14557 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
14558 USE argument.
14559
68c17f30
RH
145602002-04-03 Richard Henderson <rth@redhat.com>
14561
14562 PR opt/4120
14563 * sched-rgn.c (sets_likely_spilled): New.
14564 (sets_likely_spilled_1): New.
14565 (add_branch_dependences): Use it.
14566
6584b4aa
RH
145672002-04-02 Richard Henderson <rth@redhat.com>
14568
14569 PR opt/4311
14570 * loop.h (LOOP_FIRST_PASS): New.
14571 * loop.c (strength_reduce): Mind it when deciding to unroll.
14572 * toplev.c (rest_of_compilation): Set it.
14573
0acf409f
DM
145742002-04-02 David S. Miller <davem@redhat.com>
14575
14576 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
14577 mems_ok_for_ldd_peep when the order of the loads being examined
14578 is reversed.
14579 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
14580 existing comment to increase comprehension of this situation.
14581
85654444
ZW
145822002-04-02 Zack Weinberg <zack@codesourcery.com>
14583
14584 * config/sh/sh.md: Don't use union real_extract.
14585
543828ca
RH
145862002-04-02 Richard Henderson <rth@redhat.com>
14587
14588 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
14589
39ed301b
DB
145902002-04-02 David O'Brien <obrien@FreeBSD.org>
14591
14592 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
14593 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
14594 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
14595 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
14596 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
14597 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
14598 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
14599 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
14600 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
14601 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
14602 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
14603 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
14604 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
14605 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
14606 Include as many configury headers via tm_file as possible. This
14607 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
14608 * config/openbsd-oldgas.h: New file.
14609 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
14610 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
14611 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
14612 config/i386/i386-coff.h, config/i386/i386-interix.h,
14613 config/i386/iscdbx.h, config/i386/linux-aout.h,
14614 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
14615 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
14616 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
14617 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
14618 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
14619 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
14620 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
14621 config/i386/vxi386.h: Do not directly include configury headers.
14622 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
14623 Directly include configury headers that are no longer automatically
14624 included by the above headers.
14625 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
14626 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
14627 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
14628 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
14629 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
14630 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
14631 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
14632 (TARGET_VERSION): Define.
14633 * config/i386/beos-elf.h, config/i386/freebsd.h,
14634 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
14635 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
14636 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
14637 config/i386/sco5.h, config/i386/sysv4.h
14638 (TARGET_VERSION): Do not need to protect.
14639 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
14640 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
14641 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
14642 config/i386/i386-interix.h, config/i386/linux-aout.h,
14643 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
14644 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
14645 (YES_UNDERSCORES): Do not define - not needed.
14646 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
14647 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
14648 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
14649 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
14650 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
14651 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
14652 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
14653 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
14654
9432c136
EB
146552002-04-02 Eric Botcazou <ebotcazou@multimania.com>
14656 Richard Henderson <rth@redhat.com>
14657
14658 PR c/5484
14659 * function.c (assign_temp): Accept either type or decl argument.
14660 Detect variables whose size is too large to fit into an integer.
14661 * stmt.c (expand_decl): Pass the decl, not the type.
14662
058b1275
DB
146632002-04-02 David O'Brien <obrien@FreeBSD.org>
14664
14665 * protoize.c: Match include directory usage with cppdefault.c.
14666
5add6d1a 146672002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 14668 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
14669
14670 * combine.c (simplify_comparison): Avoid narrowing a comparison
14671 with a paradoxical subreg when doing so would drop signficant bits.
14672
1e533e4b
SE
146732002-04-02 Steve Ellcey <sje@cup.hp.com>
14674
14675 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
14676 if POINTERS_EXTEND_UNSIGNED is defined.
14677
7a145e92
RH
146782002-04-02 Richard Henderson <rth@redhat.com>
14679
14680 PR opt/3967
14681 * local-alloc.c (contains_replace_regs): LO_SUM may contain
14682 replace regs.
14683
3a079822
RH
146842002-04-02 Richard Henderson <rth@redhat.com>
14685
14686 * doc/standards.texi: Document required freestanding libc entry points.
14687
c94ccb87
AM
146882002-04-02 Alan Modra <amodra@bigpond.net.au>
14689
14690 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
14691 associated splitter. Remove MQ constraint.
14692 (ctrdi_internal4): Correct CCmode clobber.
14693
fe660a1a
JDA
146942002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
14695
14696 * milli64.S ($$dyncall): New function.
14697 * t-linux (LIB1ASMFUNCS): Revise module list.
14698 (LIB1ASMSRC): Use pa/milli64.S.
14699
eadc0202
RH
147002002-04-02 Richard Henderson <rth@redhat.com>
14701
14702 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
14703 rename solaris_sys_varargs_h.
14704
a1471322
RK
14705Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14706
14707 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
14708 the same mode as its component.
14709
c8b94768
RH
147102002-04-02 Richard Henderson <rth@redhat.com>
14711
14712 PR opt/190
14713 * final.c (this_is_asm_operands): Export.
14714 * output.h (this_is_asm_operands): Declare.
14715 * config/i386/i386.c (print_operand): Error odd asm operands.
14716
161eb4fc
RH
147172002-04-02 Richard Henderson <rth@redhat.com>
14718
14719 PR opt/420
14720 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
14721
b88a94c6
RH
147222002-04-01 Richard Henderson <rth@redhat.com>
14723
14724 PR target/1538
14725 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
14726 * fixinc/fixincl.x: Rebuild.
14727
72e32876
RH
147282002-04-01 Richard Henderson <rth@redhat.com>
14729
14730 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
14731 (atomic_alloc, atomic_free): New.
14732 (SIZE, MASK_FOR, PTR_IN): New.
14733 (emergency_reg_state, emergency_reg_state_free): New.
14734 (emergency_labeled_state, emergency_labeled_state_free): New.
14735 (reg_state_alloced, labeled_state_alloced): New.
14736 (alloc_reg_state, free_reg_state): New.
14737 (alloc_label_state, free_label_state, free_label_states): New.
14738 (push, pop, dup_state_stack, free_state_stack): Use them.
14739 (desc_label_state): Likewise.
14740 (uw_frame_state_for): Free label states and state stack.
14741 (uw_update_reg_address): Eliminate warnings.
14742
84d76074
VM
147432002-04-01 Vladimir Makarov <vmakarov@redhat.com>
14744
14745 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 14746 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 14747
dffd7eb6
NB
147482002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
14749
14750 * c-decl.c (grokdeclarator): Update.
14751 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
14752 * c-tree.h (c_mark_addressable): New.
14753 * c-typeck.c (default_function_array_conversion, build_unary_op,
14754 build_array_ref, convert_for_assignment): Update.
14755 (mark_addressable): Rename.
14756 * calls.c (try_to_integrate, expand_call): Use langhook.
14757 * expr.c (expand_expr): Use langhook.
14758 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
14759 * langhooks.h (struct lang_hooks): New hook.
14760 * stmt.c (expand_asm_operands): Use langhook.
14761 * tree.h (mark_addressable): Remove.
14762objc:
14763 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
14764
544ef5b5
BW
147652002-04-01 Bob Wilson <bob.wilson@acm.org>
14766
9be40833
RH
14767 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
14768 in previous change.
544ef5b5 14769
bcf88f9b
BW
147702002-04-01 Bob Wilson <bob.wilson@acm.org>
14771
14772 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
14773 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
14774
ceef8ce4
NB
147752002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
14776
14777 * c-common.c (unsigned_conversion_warning, convert_and_check,
14778 unsigned_type, signed_type, shorten_compare,
14779 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
14780 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
14781 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
14782 New.
14783 * c-decl.c (grokdeclarator): Update.
14784 * c-format.c (check_format_types): Update.
14785 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
14786 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
14787 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
14788 * convert.c (convert_to_integer): Use new hooks.
14789 * expmed.c (make_tree): Use new hooks.
14790 * expr.c (store_expr): Use new hooks.
14791 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
14792 all_ones_mask_p, unextend, fold): Use new hooks.
14793 * langhooks.h (struct lang_hooks_for_types): New hooks.
14794 * tree.h (signed_or_unsigned_type, signed_type,
14795 unsigned_type): Remove.
14796objc:
14797 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
14798 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
14799
1d9ad0e0
RH
148002002-03-31 Richard Henderson <rth@redhat.com>
14801
14802 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
14803 (desc_frgr_mem): Fix reference to f16-f31.
14804
d544bc39
KG
148052002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14806
14807 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
14808 RTVEC_ELT): Const-ify.
d8750784
KG
14809 * varray.h (VARRAY_CHECK): Const-ify.
14810 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
14811 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 14812
b18101c7
NB
148132002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
14814
14815 * diagnostic.c: Include langhooks-def.h.
14816 * Makefile.in (diagnostic.o): Update.
14817
48a7a235
NB
148182002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
14819
14820 * c-common.c (c_unsafe_for_reeval): Rename.
14821 * c-common.h (c_unsafe_for_reeval): Rename.
14822 * c-decl.c (finish_incomplete_decl): Rename.
14823 (c_init_decl_processing): Don't set langhook.
14824 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
14825 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
14826 * c-objc-common.c (c_objc_common_init): Don't set langhook.
14827 * c-tree.h (finish_incomplete_decl): Rename.
14828 * langhooks-def.h (lhd_unsafe_for_reeval): New.
14829 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
14830 (LANG_HOOKS_INITIALIZER): Update.
14831 * langhooks.c (lhd_unsafe_For_reeval): New.
14832 * langhooks.h (struct langhooks): New hooks.
14833 * toplev.c (incomplete_decl_finalize_hook): Remove.
14834 (wrapup_global_declarations): Update.
14835 * tree.c (lang_unsafe_for_reeval): Remove.
14836 (unsafe_for_reeval): Update.
14837 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
14838 Remove.
14839objc:
14840 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
14841 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
14842
7cb32822
NB
148432002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
14844
14845 * diagnostic.c (print_error_function): Remove.
14846 (default_print_error_function): Rename.
14847 (report_error_function): Update.
14848 * diagnostic.h (print_error_function): Remove.
14849 (default_print_error_function): Remove.
14850 * langhooks-def.h (struct diagnostic_context): Predeclare.
14851 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
14852 (LANG_HOOKS_INITIALIZER): Update.
14853 * langhooks.h (struct diagnostic context): Predeclare.
14854 (struct lang_hooks): New hook.
14855
1db02437
FS
148562002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14857
14858 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
14859 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
14860 !flag_pic.
14861 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
14862 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
14863 of PIC_OFFSET_TABLE_REGNUM thruout.
14864 * config/rs6000/rs6000.md: Likewise.
14865 * config/rs6000/darwin.h: Likewise.
14866
3bf1e984
RK
14867Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14868
14869 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
14870 unsigned HOST_WIDE_INT, not unsigned int.
14871
0864c526
JJ
148722002-03-31 Jakub Jelinek <jakub@redhat.com>
14873
14874 PR middle-end/6096, middle-end/6098, middle-end/6099
14875 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
14876 CODE_LABELs.
14877 (fill_slots_from_thread): Likewise.
14878
105b2084
JJ
148792002-03-31 Jakub Jelinek <jakub@redhat.com>
14880
14881 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
14882 floating fields in float regs.
14883 (function_arg_record_value_2): Likewise.
14884
db08fddf
HPN
148852002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
14886
14887 * config/mmix/mmix.md (define_constants): Remove misleading
14888 FIXME. Add MMIX_fp_rO_OFFSET.
14889 ("nonlocal_goto_receiver"): Don't have stack-frame address of
14890 saved rO as part of the pattern. Remove FIXME.
14891 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
14892 here, at output-time.
14893
4f31cce8
JJ
148942002-03-31 Jakub Jelinek <jakub@redhat.com>
14895
14896 PR middle-end/6100
14897 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
14898 REG_BR_PRED.
14899 (output_v9branch): Likewise.
14900
ba2b7435
AO
149012002-03-31 Alexandre Oliva <aoliva@redhat.com>
14902
14903 * gcc.c: Revert previous patch for now.
14904 * config/i386/djgpp.h: Likewise.
14905
aa66aa5f 149062002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
14907
14908 * config/mmix/crti.asm (_init): Register _fini with atexit.
14909 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
14910
41ba8a20
RH
149112002-03-31 Richard Henderson <rth@redhat.com>
14912
14913 PR target/3997
14914 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
14915 (ASM_OUTPUT_DEF_FROM_DECLS): New.
14916
adc186ef
RH
149172002-03-31 Richard Henderson <rth@redhat.com>
14918
14919 * libgcc2.c (__bb_exit_func): Make static.
14920
9be40833 14921 * config/alpha/alpha.md (trap): New.
a7648399 14922
9602f5a0
RH
149232002-03-31 Richard Henderson <rth@redhat.com>
14924
14925 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
14926 promoted argument types; build trap.
14927 (expand_builtin_trap): New.
14928 (expand_builtin): Use it.
14929 * stmt.c (expand_nl_goto_receivers): Likewise.
14930 * expr.h (expand_builtin_trap): Declare.
14931 * libfuncs.h (LTI_abort, abort_libfunc): New.
14932 * optabs.c (init_optabs): Init abort_libfunc.
14933
1a0a7539
AO
149342002-03-31 Alexandre Oliva <aoliva@redhat.com>
14935
14936 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
14937 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 14938 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
14939 shared_name in the second copy.
14940 (init_spec): Test for duplicate
14941 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
14942
b5de1a27
DM
149432002-03-30 David S. Miller <davem@redhat.com>
14944
14945 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
14946 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
14947
78414d74 149482002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 14949 Richard Henderson <rth@redhat.com>
78414d74 14950
9be40833
RH
14951 * regmove.c (combine_stack_adjustments_for_block): Avoid
14952 emitting a stack adjustment of zero bytes. Let delete_insn
14953 update bb->head.
78414d74 14954
33074e5f
RH
149552002-03-30 Richard Henderson <rth@redhat.com>
14956
14957 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
14958 (sparc_emitting_epilogue): New.
14959 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
14960 * config/sparc/sparc-protos.h: Update.
14961 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
14962 (TARGET_SWITCHES): Update.
14963 * config/sparc/sparc.md (return): Remove.
14964 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
14965 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
14966 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
14967 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
14968 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
14969 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
14970 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
14971 Remove MASK_EPILOGUE.
14972 * doc/invoke.texi: Update.
14973
606cc056
DB
149742002-03-30 Daniel Berlin <dan@dberlin.org>
14975
14976 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
14977 CPP will start the file for us.
7b2e1077 14978
bdbe5b8d
RH
149792002-03-30 Richard Henderson <rth@redhat.com>
14980
14981 PR target/5446
14982 * config/ia64/ia64.c (group_barrier_needed_p): Special case
14983 prologue_allocate_stack.
14984 (ia64_single_set): Use insn codes for recognition of special
14985 cases, not rtl matching.
14986 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
14987
4ab95d82
JH
14988Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
14989
14990 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
14991
89a8b315
RH
149922002-03-30 Richard Henderson <rth@redhat.com>
14993
14994 PR target/6032
14995 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
14996 or -fomit-frame-pointer with profiling.
14997 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
14998 (FUNCTION_PROFILER): Do nothing.
14999 (PROFILE_HOOK): New.
15000 * config/sparc/sparc.c (sparc_override_options): Don't check
15001 code models for profiling.
15002 (sparc_function_profiler): Remove.
15003 (sparc_profile_hook): New.
15004 * config/sparc/sparc-protos.h: Update.
15005
30984c57
JJ
150062002-03-30 Jakub Jelinek <jakub@redhat.com>
15007
15008 PR optimization/6086
15009 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
15010 of SUBREG of volatile MEM or because the MEM was mode dependent,
15011 return CLOBBER instead of unmodified SUBREG.
15012
1540f9eb
JH
15013Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
15014
89a8b315
RH
15015 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
15016 when not optimizing.
1540f9eb
JH
15017
15018 * toplev.c (rest_of_compilation): Cann mark_constant_function
15019 only when optimizing.
15020
89a8b315
RH
15021 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
15022 are NULL.
1540f9eb
JH
15023
15024 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
15025 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
15026 (try_optimize_cfg): clear all AUX fields.
15027
15028 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
15029 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
15030 (ix86_address_cost): Be prepared for SUBREGed registers.
15031 (legitimate_address_p): Accept SUBREGed registers.
15032
70d95bac
RH
150332002-03-29 Richard Henderson <rth@redhat.com>
15034
15035 PR target/5672
15036 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
15037
d3294cd9
FS
150382002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15039
15040 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
15041 for aggregate and TFmode types.
15042
a106c875
HPN
150432002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
15044
15045 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
15046
7d7a5d6f
RH
150472002-03-29 Richard Henderson <rth@redhat.com>
15048
6e2d670b 15049 PR target/5886
7d7a5d6f
RH
15050 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
15051 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
15052
30c99a84
RH
150532002-03-29 Richard Henderson <rth@redhat.com>
15054
6e2d670b 15055 PR target/6041
30c99a84
RH
15056 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
15057 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
15058 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
15059 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
15060 conditional.
15061 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
15062
02a566dc
DJ
150632002-03-29 Dale Johannesen <dalej@apple.com>
15064
15065 * loop.c (combine_movables): Do allow combination of pseudos.
15066
bc3a44db
LR
150672002-03-29 Loren J. Rittle <ljrittle@acm.org>
15068
15069 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
15070 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
15071 No functional change except ...
15072 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
15073 * doc/install.texi (*-*-freebsd*): Document port configuration.
15074
b0c48229
NB
150752002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
15076
15077 * Makefile.in (convert.o, calls.o, expmed.o): Update.
15078 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
15079 Use new hooks.
15080 * builtin-types.def (BT_PTRMODE): Update.
15081 * c-common.c (type_for_size): Rename c_common_type_for_size.
15082 (type_for_mode): Similarly.
15083 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
15084 Use new hook.
15085 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
15086 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
15087 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
15088 Redefine.
15089 * c-typeck.c (common_type, comptypes, default_conversion):
15090 Use new hooks.
15091 * calls.c: Include langhooks.h.
15092 (emit_library_call_value_1): Use new hooks. Avoid redundant
15093 calls.
15094 * convert.c: Include langhooks.h
15095 (convert_to_pointer, convert_to_integer): Use new hooks.
15096 * except.c (init_eh): Similarly.
15097 * expmed.c: Include langhooks.h.
15098 (expand_mult_add): Use new hooks.
15099 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
15100 try_casesi): Similarly.
15101 * fold-const.c (optimize_bit_field_compare, make_range,
15102 decode_field_reference, fold_truthop, fold): Similarly.
15103 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
15104 put_var_into_stack): Similarly.
15105 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
15106 LANG_HOOKS_TYPE_FOR_SIZE): New.
15107 (LANG_HOOKS_TYPES_INITIALIZER): Update.
15108 * langhooks.h (lang_hooks_for_types): New hooks.
15109 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
15110 * tree.c (get_unwidened, get_narrower): Similarly.
15111 * tree.h (type_for_mode, type_for_size): Remove.
15112 * varasm.c (force_const_mem): Use new hooks.
15113 * utils2.c (nonbinary_modular_operation): Update.
15114objc:
15115 * objc-act.c (handle_impent): Update.
15116 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
15117 Redefine.
15118
e206a74f
SE
151192002-03-29 Steve Ellcey <sje@cup.hp.com>
15120
15121 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
15122 * config/ia64/ia64.c (basereg_operand): New.
15123 * config/ia64/ia64-protos.h (basereg_operand): Declare.
15124 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
15125
7d9b6378
HPN
151262002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
15127
15128 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
15129 unwind information when frame_pointer_needed.
15130 (mmix_assemble_integer): Tweak wording in comment.
15131
f1e639b1
NB
151322002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
15133
15134 * Makefile.in (except.o): Update.
15135 * except.c: Include langhooks.h.
15136 (init_eh): Use langhook.
15137 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
15138 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
15139 (LANG_HOOKS_INITIALIZER): Update.
15140 * langhooks.h (lang_hooks_for_types): New.
15141 (struct lang_hooks): Add it.
15142 * tree.c (make_lang_type_fn, make_lang_type): Remove.
15143 * tree.h (make_lang_type_fn, make_lang_type): Remove.
15144config:
15145 * alpha/alpha.c: Include langhooks.h.
15146 (alpha_build_va_list): Use langhook.
15147 * d30v/d30v.c: Include langhooks.h.
15148 (d30v_build_va_list): Use langhook.
15149 * i386/i386.c: Include langhooks.h.
15150 (ix86_build_va_list): Use langhook.
15151 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
15152 * s390/s390.c: Include langhooks.h.
15153 (s390_build_va_list): Use langhook.
15154 * stormy16/stormy16.c: Include langhooks.h.
15155 (stormy16_build_va_list): Use langhook.
15156
f17f9332
JJ
151572002-03-29 Jakub Jelinek <jakub@redhat.com>
15158
15159 PR c++/5964
15160 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
15161 attributes.
15162 (length): Compute variable length for branches/calls/jumps here.
15163 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
15164 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
15165 define branch_type attribute.
15166 (divsi3_sp32): Maximum length is 6 not 7.
15167 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
15168 call_address_untyped_struct_value_sp32,
15169 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
15170 * config/sparc/sparc.c (empty_delay_slot): New function.
15171 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
15172 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
15173
0a0440c9
JJ
151742002-03-29 Jakub Jelinek <jakub@redhat.com>
15175
15176 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
15177 nonzero_bits if not needed.
15178 (nonzero_bits) [XOR]: Likewise.
15179 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
15180 reg_last_set_mode and mode are both MODE_INT, but not equal.
15181 (record_value_for_reg): Compute reg_last_set_nonzero_bits
15182 in nonzero_bits_mode for MODE_INT modes.
15183
c9045f47
RH
151842002-03-28 Richard Henderson <rth@redhat.com>
15185
15186 PR target/5715
15187 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
15188 to GAS. Correct drift between alternatives.
15189
f8ed1958
RH
151902002-03-28 Richard Henderson <rth@redhat.com>
15191
15192 PR target/6087
15193 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
15194
54e20385
LR
151952002-03-28 Alexandre Oliva <aoliva@redhat.com>
15196
15197 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
15198 emulation to the linker.
15199
152002002-03-28 Loren J. Rittle <ljrittle@acm.org>
15201
15202 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
15203 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
15204
8bc52806
JL
15205Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
15206
15207 * combine.c (simplify_and_const_int): Make sure to apply mask
15208 when force_to_mode returns a constant integer. PR3311.
15209
279dccc5
JDA
152102002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
15211
15212 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
15213
62aaa62c
GP
152142002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15215
15216 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
15217 and Objective-C Dialect Options.
15218
b8de5050
RH
152192002-03-28 Richard Henderson <rth@redhat.com>
15220
15221 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
15222 comparison should be done vs !=0 not >0 return code. Tidy cases.
15223
619708cc
RH
152242002-03-28 Richard Henderson <rth@redhat.com>
15225
15226 * c-decl.c (finish_function): New arg can_defer_p. Pass it
15227 on to c_expand_body.
15228 * c-tree.h (finish_function): Update decl.
15229 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
15230
b1d874d7
JH
15231Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
15232
15233 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
15234
f5eb5fd0
JH
15235Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
15236
15237 * rtlanal.c: Include flags.h
15238 (may_trap_p): Do not mark FP operations if trapping
15239 if !flag_trapping_math
15240 * Makefile.in (rtlanal.o): Add dependency on flag.h
15241 * ifcvt.c (noce_operand_ok): Avoid the lameness.
15242
81b4c798
ZW
152432002-03-27 Zack Weinberg <zack@codesourcery.com>
15244
15245 * mips.md: Use dconst1, not 1.0, as first argument of
15246 REAL_VALUE_LDEXP. Don't use union real_extract.
15247
55a2ea2a
AM
152482002-03-28 Alan Modra <amodra@bigpond.net.au>
15249
15250 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
15251 rather than $target. Heed program_prefix and
15252 program_transform_name. Search for gas in cross-compiler case too.
15253 "test -x" rather than "test -f".
15254 (gcc_cv_ld): Likewise.
15255 (gcc_cv_nm): Heed program_prefix and program_transform_name.
15256 (gcc_cv_objdump): Likewise.
15257 * configure: Regenerate.
15258
7ffb4fd2
NB
152592002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
15260
15261 * Makefile.in (attribs.o): Update.
15262 * attribs.c: Include langhooks.h.
15263 (decl_attributes): Use langhook.
15264 * c-decl.c (insert_default_attributes): Rename.
15265 * c-tree.h (c_insert_default_attributes): New.
15266 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
15267 (LANG_HOOKS_INITIALIZER): Update.
15268 * langhooks.h (struct lang_hooks): New hook.
15269 * tree.h (insert_default_attributes): Remove.
15270objc:
15271 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
15272
e4dbaed5
AS
152732002-03-27 Andreas Schwab <schwab@suse.de>
15274
15275 * config/i386/i386.c (classify_argument): Also check for
15276 QUAL_UNION_TYPE.
15277
18b467f1
RO
152782002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15279
15280 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
15281 any more.
15282
d337d653
JH
15283Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
15284
15285 * i960.md (ret): Set PC.
15286 (nonlocal_goto): Fix expander.
15287 * builtins.c (epxand_builin_longjmp): Check that we've emitted
15288 some jump or call.
15289
218aa620
JH
15290Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
15291
15292 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
15293 of libcall regions.
15294
e27a4eaf
ZD
15295Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15296
15297 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
15298 assigning to BLOCK_FOR_INSN directly.
15299
8a12f34c
JH
15300Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
15301
15302 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
15303
c9d892a8
NB
153042002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
15305
15306 * c-common.c (c_expand_expr): Fix prototype.
15307 * c-common.h (c_expand_expr): Always declare, update.
15308 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
15309 * c-objc-common.c (c_objc_common_init): No global hook.
15310 * expr.c (expand_expr): Use langhook.
15311 * expr.h (enum expand_modifier): Conditionally declare.
15312 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
15313 (LANG_HOOKS_INITIALIZER): Update.
15314 * langhooks.c (lhd_expand_expr): New.
15315 * langhooks.h (struct lang_hooks): New hook.
15316 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
15317 (lang_independent_init): Don't default hook.
15318objc:
15319 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
15320
6dad5a56
RH
153212002-03-27 Richard Henderson <rth@redhat.com>
15322
15323 PR target/6054
15324 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
15325 TARGET_CONST_GP. Simplify conditions.
15326
59f96879
RH
153272002-03-27 Richard Henderson <rth@redhat.com>
15328
15329 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
15330 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
15331 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
15332
f3f1190d
DS
153332002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
15334
15335 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
15336 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
15337 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
15338 Remove unnecessary masks.
15339 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
15340 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
15341 -mwindows, -mdll switches and their negations.
15342
31c816cf
NB
153432002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
15344
15345 * gcc-common.c (lang_mark_false_label_stack): Remove.
15346 * ggc.h (lang_mark_false_label_stack): Similarly.
15347
7b2e1077 153482002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
15349
15350 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
15351
15352 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
15353 or __rtems_ is defined.
15354
1ef9531b
RH
153552002-03-26 Richard Henderson <rth@redhat.com>
15356
15357 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
15358 if a non-trivial load was emitted.
15359 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
15360 in high+extra+low case.
15361
300d4093
RH
153622002-03-26 Richard Henderson <rth@redhat.com>
15363
15364 * config.gcc (sparc*-solaris): Use float_format=sparc.
15365
b3689904
RH
153662002-03-26 Richard Henderson <rth@redhat.com>
15367
15368 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
15369 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
15370 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
15371 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
15372 (WINT_TYPE_SIZE): Fix at 32.
15373
1eefb6c1
RH
153742002-03-26 Richard Henderson <rth@redhat.com>
15375
15376 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
15377 until after eh landing pad generation.
15378 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
15379 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
15380
361ea006
RH
153812002-03-26 Richard Henderson <rth@redhat.com>
15382
15383 * expr.h (ADD_PARM_SIZE): One more convert for INC.
15384
1de38a88
PE
153852002-03-26 Phil Edwards <pme@gcc.gnu.org>
15386
15387 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
15388 and warning switches.
15389 (cc1_options): Likewise.
15390
d7e60e95 153912002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 15392
d7e60e95
HB
15393 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
15394 Restore more of the signal context. Set no_reg_stack_frame.
15395 * config/ia64/unwind-ia64.c (unw_state_record):
15396 Add no_reg_stack_frame, comments.
15397 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
15398 (uw_update_context): Adjust bsp when unwinding from leaf,
15399 but not signal frame.
15400
7032923b
DE
154012002-03-26 David Edelsohn <edelsohn@gnu.org>
15402
15403 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
15404
8be56275
BW
154052002-03-26 Bob Wilson <bob.wilson@acm.org>
15406
15407 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
15408
56fbb855
RE
154092002-03-26 Richard Earnshaw <rearnsha@arm.com>
15410
15411 PR target/5621
15412 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
15413 "Add a pool_range attribute", which was lost during the ARM/Thumb
15414 merge.
15415
3437320b
BW
154162002-03-26 Bob Wilson <bob.wilson@acm.org>
15417
15418 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
15419 a register into the MAC16 accumulator.
15420
173028e5
AC
154212002-03-26 Andrew Cagney <ac131313@redhat.com>
15422
15423 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
15424 (Warning Options): Document -Wswitch-enum.
15425 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
15426 -Wswitch.
15427 (warn_switch_enum): Define variables.
15428 * flags.h (warn_switch_enum): Declare variables.
15429 * stmt.c (expand_end_case_type): When warn_switch_enum /
15430 -Wswitch-enum, perform switch checks.
15431 Fix PR c/5044.
7b2e1077 15432
e14365a7
RE
154332002-03-26 Richard Earnshaw <rearnsha@arm.com>
15434
15435 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
15436 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
15437 (reload_muladdsi_compare0_scratch): Delete.
15438
46fc709d
LR
154392002-03-26 Loren J. Rittle <ljrittle@acm.org>
15440
15441 * doc/install.texi (*-*-freebsd*): Update.
15442
f36dea3c
RH
154432002-03-26 Richard Henderson <rth@redhat.com>
15444
8e5fe23f
RH
15445 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
15446 (SUB_PARM_SIZE): Cast DEC to ssizetype.
15447
15448 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
15449 types from the normal argument frame.
15450
f36dea3c
RH
15451 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
15452 variable sized objects by reference.
15453 (sparc_va_arg): Receive them by reference too.
15454
1447dc69
HP
154552002-03-26 Hartmut Penner <hpenner@de.ibm.com>
15456
15457 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 15458 code to not restoring global registers.
1447dc69 15459
4f0ade92
NB
154602002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
15461
15462 * Makefile.in (ggc-common.o): Update.
15463 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
15464 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
15465 * c-tree.h (c_mark_tree): New.
15466 * ggc-common.c: Include langhooks.h.
15467 (gcc_mark_trees): Use new langhook.
15468 * ggc-callbacks.c: Delete file.
15469 * ggc.h (lang_mark_tree): Remove.
15470 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
15471 (LANG_HOOKS_INITIALIZER): Update.
15472 * langhooks.h (struct lang_hooks): New hook.
15473objc:
15474 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
15475
caba570b
ZW
154762002-03-25 Zack Weinberg <zack@codesourcery.com>
15477
15478 * doc/cpp.texi: Exclude entire Top node from printed manual.
15479 Move option index after directive index. Insert page breaks
15480 before GFDL and concept index. Index environment variables
15481 with command line options.
15482 * doc/cppenv.texi: Use @vtable for environment variable list.
15483 Add paragraph explaining semantics of empty elements in path
15484 variables. Exclude a cross-reference to Fishkill from the
15485 manpage. Remove an unnecessary cross-reference of the entry
15486 right above the referer. Don't use @anchor in text that goes
15487 into manpage.
15488 * doc/cppopts.texi: Cross-reference the environment variables
15489 section, not the specific environment variable, for consistency.
15490
6b2e80b7
RH
154912002-03-25 Richard Henderson <rth@redhat.com>
15492
15493 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
15494 anywhere in the block. Don't refer to insns that have been
15495 removed from the chain. Iterate backward through the new insns.
15496 Don't refer to edges that have been removed.
15497
67e469d7
AM
154982002-03-26 Alan Modra <amodra@bigpond.net.au>
15499
15500 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
15501 test for overflow of constant.
15502
f2356393
RE
155032002-03-25 Richard Earnshaw <rearnsha@arm.com>
15504
15505 PR target/2623
15506 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
15507 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
15508 these patterns on arm_archv4.
15509
355426ab
DS
155102002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
15511
15512 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
15513 int".
15514
15e5ad76
ZW
155152002-03-25 Zack Weinberg <zack@codesourcery.com>
15516
15517 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
15518 float_handled, float_handler, float_signal, set_float_handler,
15519 and do_float_handler. Set handler for SIGFPE to crash_signal.
15520 * toplev.h: Don't prototype do_float_handler.
15521
15522 * c-lex.c: Fold parse_float into lex_number. Make warning
15523 about portability of hex float constants more informative, and
15524 don't issue it on top of a syntax error.
15525 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
15526 their callers.
15527 * real.h: Define REAL_VALUE_ABS here...
15528 * simplify-rtx.c: ... not here. Fold check_fold_consts,
15529 simplify_unary_real, simplify_binary_real, and
15530 simplify_binary_is2orm1 into their callers.
15531 * tree.c: Fold build_real_from_int_cst_1 into caller.
15532
15533 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
15534
15535 * tsystem.h: Include float.h here...
15536 * libgcc2.c: ... not here.
15537
56ae9405
NC
155382002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
15539
15540 Fixes for: PR bootstrap/3591, target/5676
15541 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
15542 defined. Do not disable exceptions or rtti.
15543 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
15544 mcore.h. Disable exceptions and rtti, since they are not
15545 supported by EPOC.
15546
c88770e9
NB
155472002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
15548
15549 * c-decl.c (maybe_build_cleanup): Remove.
15550 * expr.c (expand_expr): Use langhook.
15551 * langhooks-def.h (lhd_return_null_tree,
15552 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
15553 (LANGHOOKS_INITIALIZER): Update.
15554 * langhooks.c (lhd_return_null_tree): New.
15555 * langhooks.h (struct lang_hooks): New hook.
15556 * tree-inline.c (initialize_inlined_parameters): Use langhook.
15557 * tree.h (maybe_build_cleanup): Remove.
15558
2ed1f154
JJ
155592002-03-25 Jakub Jelinek <jakub@redhat.com>
15560
15561 * regrename.c (build_def_use): Move recog_memoized
15562 before extract_insn.
15563
6ddae612
JJ
155642002-03-25 Jakub Jelinek <jakub@redhat.com>
15565
15566 PR target/6043
15567 * expr.c (emit_group_store): Handle storing into CONCAT.
15568
ea475b23
JJ
155692002-03-25 Jakub Jelinek <jakub@redhat.com>
15570
15571 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
15572 corresponding MATCH_DUP.
15573
e7d482b9
RH
155742002-03-24 Richard Henderson <rth@redhat.com>
15575
cd39fc13
RH
15576 * unroll.c (unroll_loop): Zero label_map.
15577
e7d482b9
RH
15578 * gcse.c: Include except.h.
15579 * Makefile.in (gcse.o): Update.
15580
1bd6476f
RH
155812002-03-24 Richard Henderson <rth@redhat.com>
15582
15583 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
15584 Do resolve_unique_section before shared data clause.
15585
2e6c150a
RH
155862002-03-24 Richard Henderson <rth@redhat.com>
15587
15588 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
15589
b29afcf8
RH
155902002-03-24 Richard Henderson <rth@redhat.com>
15591
15e5ad76 15592 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
15593 generated in the middle of a block. Do global life update if
15594 zapped EH edges.
15595
05ed1296
RH
155962002-03-24 Richard Henderson <rth@redhat.com>
15597
15598 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
15599
3ddbb8a9
NB
156002002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
15601
15602 preprocessor/3951
15e5ad76 15603 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
15604 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
15605 (init_dependency_output): Don't make no_output decision here.
15606
740b77b6
AC
156072002-03-24 Andrew Cagney <ac131313@redhat.com>
15608
15609 * stmt.c (check_for_full_enumeration_handling): Remove tests of
15610 warn_switch. Update description.
15611 (expand_end_case_type): Call check_for_full_enumeration_handling
15612 when warn_switch.
15613
7590cfd0
SC
156142002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15615
15616 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
15617 (m68hc11_split_move): Call it to see if the source and destination
15618 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 15619 source an offsetable memory operand and generate an add.
7590cfd0 15620
2e3d3481
SC
156212002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15622
15623 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
15624 register for operand 2.
15625 ("*subsi3_zero_extendqi"): Likewise.
15626 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
15627 bits so that it is compatible with a pop.
15628 ("*andhi3_gen"): Likewise.
15629 ("xorhi3"): Likewise.
15630
2784528c
NB
156312002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
15632
15633 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
15634 -pedantic here...
15635 (cpp_post_options): ... not here.
15636
aaf93206
NB
156372002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
15638 Aldy Hernandez <aldyh@redhat.com>
15639
15640 Removal of separate preprocessor cpp0.
15641
15642 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
15643 cpp0, install-common): Update.
15644 * c-common.c (flag_preprocess_only): New.
15645 (c_common_init): Preprocess for -E.
15646 * c-common.h (flag_preprocess_only): New.
15647 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
15648 * c-objc-common.c (c_init_decl_processing): Exit quickly
15649 for NULL return from c_common_init.
15650 * cpplib.h (cpp_preprocess_file): New.
15651 * cppmain.c (main, general_init, pfile, progname): Remove.
15652 (do_preprocessing): Rename cpp_preprocess_file, don't call
15653 cpp_finish. Don't close stdout here.
15654 (setup_callbacks): Update prototype.
15655 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
15656 Update.
15657 * tradcpp.c (main): Ignore -quiet.
15658objc:
15659 * lang-specs.h (default_compilers): Preprocess with cc1obj.
15660
c6e6f5c1
RH
156612002-03-24 Richard Henderson <rth@redhat.com>
15662
15663 PR optimization/5742
15664 * machmode.def: Add inner mode field to complex modes.
15665 * config/mips/mips.c (mips_function_value): Always define. Add
15666 new argument to handle libcalls.
15667 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
15668 (FUNCTION_VALUE): Likewise.
15669 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
15670 * config/mips/mips-protos.h: Update.
15671
d88e57d1
RH
156722002-03-23 Richard Henderson <rth@redhat.com>
15673
15674 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
15675 * config/sparc/sparc-protos.h: Update.
15676 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
15677
6dfaf9ba
RH
156782002-03-23 Richard Henderson <rth@redhat.com>
15679
15680 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
15681 _start or _init begins the text segment.
15682
0c769cf8
DE
156832002-03-23 David Edelsohn <edelsohn@gnu.org>
15684
15685 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
15686 not HOST_WIDEST_INT.
15687 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
15688
64e92a26
RE
156892002-03-23 Richard Earnshaw <rearnsha@arm.com>
15690
15691 PR java/5489
15692 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
15693 operand argument to output_return_instruction.
15e5ad76 15694 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
15695 const_true_rtx then just return.
15696 (arm_print_operand, case 'D'): If the operand is const_true_rtx
15697 then abort.
15698
d6961341
AC
156992002-03-23 Andrew Cagney <ac131313@redhat.com>
15700
15701 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
15702 (Warning Options): Document -Wswitch-default.
15703 * toplev.c (W_options): Add -Wswitch-default. Update comment on
15704 -Wswitch.
15705 (warn_switch_default): Define variable.
15706 (warn_switch): Update comment.
15707 * flags.h (warn_switch_default): Declare variable.
15708 (warn_switch): Update comment.
15709 * stmt.c (expand_end_case): Check for and, when
15710 warn_switch_no_default, warn of a missing default case.
15e5ad76 15711
d4c5ac1f
AM
157122002-03-23 Alan Modra <amodra@bigpond.net.au>
15713
bbaa9790
AM
15714 * real.h (N): Special case 128 bit doubles.
15715
d4c5ac1f
AM
15716 * combine.c (simplify_comparison): When widening modes, ignore
15717 sign extension on CONST_INTs.
15718
84bf8c2c
BW
157192002-03-22 Bob Wilson <bob.wilson@acm.org>
15720
15721 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
15722 passed to adjust_address. Fix comment formatting.
15723
15724
b216cd4a
ZW
157252002-03-22 Zack Weinberg <zack@codesourcery.com>
15726
15727 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
15728 Always make REAL_VALUE_TYPE a struct containing an array of
15729 HOST_WIDE_INT, not a double. Tidy up the code deciding how
15730 big it is. Don't declare or use union real_extract.
15731
15732 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
15733 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
15734 (print_operand), config/arm/arm.c (output_move_double),
15735 config/arm/arm.md (consttable_4, consttable_8),
15736 config/romp/romp.c (output_fpops), config/s390/s390.h
15737 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
15738 (xtensa_output_literal): Don't use union real_extract.
15739
15740 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
15741 (sfmode_constant_to_ulong), config/ns32k/merlin.h
15742 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
15743 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
15744 (PRINT_OPERAND): Don't use local version of union
15745 real_extract.
15746
15747 * config/convex/convex.c (check_float_value), config/vax/vax.c
15748 (vax_float_literal), config/m88k/m88k.md (divdf3),
15749 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
15750 config/pdp11/pdp11.c (output_move_quad): Don't do host
15751 arithmetic on target floating point quantities.
15752
15753 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
15754 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
15755
15756 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
15757 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
15758
15759 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
15760 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
15761 INFINITY.
15762 * print-rtl.c (print_rtx): Disable code which needs
15763 floating-point emulator.
15764 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
15765 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
15766 depending on HOST_FLOAT_FORMAT to be defined properly.
15767
15768 * config/1750a/1750a.c (get_double, float_label): Delete.
15769 (print_operand): Delete huge commented-out chunk. Use
15770 REAL_VALUE_TO_DECIMAL.
15771 * config/1750a/1750a-protos.h: Delete prototypes of deleted
15772 functions.
15773 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
15774 IEEE_FLOAT_FORMAT.
15775 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
15776 Use REAL_VALUE_TO_DECIMAL as ELF version does.
15777 * config/m88k/m88k.c (real_power_of_2_operand,
15778 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
15779 real_extract out of the union; run the input through
15780 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
15781 from that into the union.
15782 * config/pdp11/pdp11.c (output_move_double): Rearrange
15783 parentheses to make automatic indenter happy.
15784
15785 * doc/tm.texi (Cross-compilation): Rename node to "Floating
15786 Point" and rewrite to describe current situation. Also adjust
15787 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
15788 match code.
15789 * doc/rtl.texi: Adjust cross reference.
15790
a8cacfd2
BW
157912002-03-22 Bob Wilson <bob.wilson@acm.org>
15792
15793 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
15794 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
15795 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
15796 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
15797 prevent use of sp as a reload register.
15798 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
15799 non_acc_reg_operand.
15800 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
15801 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
15802 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
15803 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
15804
d4e6133f
NB
158052002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
15806
b216cd4a
ZW
15807 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
15808 * cpplex.c (unterminated): Delete.
15809 (parse_string): No string literal may extend over multiple
15810 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
15811 * cppmain.c (scan_translation_unit): Strings are single-line.
15812
b216cd4a 15813 * doc/cpp.texi: Update to match.
d4e6133f 15814
65e6c005
JJ
158152002-03-22 Jakub Jelinek <jakub@redhat.com>
15816
15817 PR optimization/5854
15818 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
15819 Shut up warnings.
15820 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
15821 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
15822 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
15823 const0 if scratch register was not allocated.
15824 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
15825 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
15826 with GEN_INT (...).
15827 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
15828 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
15829 with GEN_INT (...) everywhere. Remove constraints in define_split
15830 patterns.
15831 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
15832 require scratch register for setting 0 into regs/non-pushable memory.
15833
7f48c9e1
AO
158342002-03-22 Alexandre Oliva <aoliva@redhat.com>
15835
15836 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
15837 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
15838
909de5da
PE
158392002-03-22 Phil Edwards <pme@gcc.gnu.org>
15840
15841 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
15842 * cppinit.c (cpp_create_reader): On by default.
15843 (cpp_handle_option): Handle -W[no-]endif-labels.
15844 (cpp_post_options): Also enable if -pedantic.
15845 * cpplib.c (do_else): Use it.
15846 (do_endif): Likewise.
15847 * doc/cppopts.texi: Document new option.
15848 * doc/invoke.texi: Document new option.
15849
d8bf17f9
LB
158502002-03-22 Lars Brinkhoff <lars@nocrew.org>
15851
15852 * config/i386/i386.c, config/i386/i386.md: Change all occurences
15853 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
15854
70e0ccd0
AO
158552002-03-22 Alexandre Oliva <aoliva@redhat.com>
15856
15857 * flow.c (calculate_global_regs_live): Clear aux fields of
15858 ENTRY and EXIT.
15859
68882f0f
JJ
158602002-03-22 Jakub Jelinek <jakub@redhat.com>
15861
15862 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
15863 REG or MEM subregs, pass rtx * instead of rtx to it.
15864 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
15865 rtx * instead of rtx to alter_subreg.
15866 * config/m32r/m32r.c (gen_split_move_double): Likewise.
15867 * config/pj/pj.c (pj_output_rval): Likewise.
15868
648fe28b
RH
158692002-03-22 Richard Henderson <rth@redhat.com>
15870
15871 PR target/3177
15872 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
15873 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
15874 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
15875 (ia64_expand_prologue): Look at int_regs, not words, for number
15876 of incomming int regs.
15877
e8dcd824
AM
158782002-03-22 Andrew MacLeod <amacleod@redhat.com>
15879
15880 * expr.c (expand_expr): A RESULT_DECL is part of a call.
15881
96327cdc
JH
15882Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
15883
15884 * toplev.c (flag_loop_optimize, flag_crossjumping):
15885 New static variables.
15886 (rest_of_compilation): Conditionalize crossjumping and
15887 loop optimizer.
15888 (parse_options_and_default_flags): Default loop_optimize and
15889 crossjumping.
15890 (lang_independent_options): Add -fcrossjumping and -floop-optimize
15891 * invoke.texi (crossjumping, loop-optimize): Document.
15892
bc185257
RS
158932002-03-22 Richard Sandiford <rsandifo@redhat.com>
15894
15895 * real.c (eiisneg): Move outside #ifdef NANS.
15896
0a2ed1f1
JH
15897Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
15898
15899 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
15900 frequencies match; avoid match on different loop depths.
15901 (try_crossjump_to_bb): Kill tests that no longer brings time
15902 savings.
15903 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
15904 updating code.
15905 (split_edge): Likewise.
15906
15907 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
15908 variable.
15909
15910 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
15911 * cfgrtl.c: Include insn-config.h
15912 (split_block) Dirtify block in presence of conditional execution
15913
4d72536e
RS
159142002-03-22 Richard Sandiford <rsandifo@redhat.com>
15915
15916 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
15917 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
15918 (function_arg): Constify CUMULATIVE_ARGS.
15919 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
15920 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
15921 (UNITS_PER_DOUBLE): New macro.
15922 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
15923 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
15924 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
15925 fp_regs and stack_words.
15926 (EABI_FLOAT_VARARGS_P): New macro.
15927 * config/mips/mips.c (struct mips_arg_info): New.
15928 (mips_arg_info): New function.
15929 (function_arg_advance): Use it. Add adjustment instructions here
15930 rather than in function_arg.
15931 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
15932 for VOIDmode at the beginning of the function.
15933 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
15934 (function_arg_pass_by_reference): Likewise.
15935 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
15936 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
15937 (mips_va_start): Likewise. Use the new stack_words field of
15938 CUMULATIVE_ARGS to set up overflow area. Reformat.
15939 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
15940 doubles and other types, aligning the overflow pointer for non-doubles
15941 too. Remove some code duplication. Replace hard-coded constants.
15942
e6f884cd
RS
159432002-03-22 Richard Sandiford <rsandifo@redhat.com>
15944
15945 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
15946 (CLASS_UNITS): Undefine.
15947 (CLASS_MAX_NREGS): Use FP_INC.
15948 * config/mips/mips.c (compute_frame_size): Likewise.
15949 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
15950
10cf9bde
NB
159512002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
15952
15953 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
15954 prototype, and handle lexing numbers and identifiers.
15955 (parse_identifier): Update to new form of parse_slow.
15956 (parse_number): Fast path only, use parse_slow otherwise.
15957 (_cpp_lex_direct): Update calls to parse_number.
15958
fbc2782e
DD
159592002-03-21 DJ Delorie <dj@redhat.com>
15960
15961 * bb-reorder.c (make_reorder_chain_1): Protect against
15962 when redundant edges are omitted.
15963 * predict.c (dump_prediction): Likewise.
15964
fba39eaf
RH
159652002-03-21 Richard Henderson <rth@redhat.com>
15966
15967 PR target/5996
15968 * fixinc/inclhack.def (solaris_stdio_tag): New.
15969 * fixinc/fixincl.x: Regenerate.
15970
eba80994
EB
159712002-03-21 Eric Botcazou <ebotcazou@multimania.com>
15972
15973 PR c/5597
15974 * c-typeck.c (process_init_element): Flag non-static
15975 initialization of a flexible array member as illegal.
15976
2a78758b
AM
159772002-03-22 Alan Modra <amodra@bigpond.net.au>
15978
15979 * config/rs6000/t-linux64: New.
15980 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
15981 t-ppccomm. Use t-rs6000 and t-linux64.
15982 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
15983 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
15984 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
15985 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 15986
2cb921f4
AH
159872002-03-21 Aldy Hernandez <aldyh@redhat.com>
15988
eba80994
EB
15989 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
15990 flag_really_no_inline instead of optimize == 0.
2cb921f4 15991
eba80994 15992 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 15993
eba80994 15994 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 15995
eba80994 15996 * flags.h (flag_really_no_inline): New.
2cb921f4 15997
659e5a7a 15998 * c-common.c (c_common_post_options): Initialize
eba80994 15999 flag_really_no_inline.
2cb921f4 16000
eba80994 16001 * toplev.c (flag_really_no_inline): New.
2cb921f4 16002
239b8b9d
JJ
160032002-03-21 Jakub Jelinek <jakub@redhat.com>
16004
16005 * config/avr/avr.md (length): Fix length computation for
16006 conditional branches.
16007
43577e6b
NB
160082002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
16009
16010 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
16011 sdbout.o, profile.o): Update.
16012 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
16013 langhook.
16014 * c-common.h (gettags): Move here from tree.h.
16015 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
16016 insert_block, getdecls, kept_level_p, global_bindings_p): New.
16017 * dbxout.c (dbxout_init): Use getdecls langhook.
16018 * expr.c (expand_expr): Use insert_block langhook.
16019 * fold-const.c: Include langhooks.h.
16020 (fold_range_test, fold_binary_op_with_conditional_arg,
16021 fold): Use global_bindings_p langhook.
16022 * integrate.c (expand_inline_function): Use insert_block langhook.
16023 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
16024 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
16025 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
16026 LANG_HOOKS_GETDECLS): New.
16027 (LANG_HOOKS_INITIALIZER): Update.
16028 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
16029 langhook.
16030 * langhooks.h (struct lang_hooks_for_decls): New.
16031 (struct lang_hooks): Update.
16032 * profile.c: Include langhooks.h.
16033 (output_func_start_profiler): Use new langhooks.
16034 * sdbout.c: Include langhooks.h.
16035 (sdbout_init, sdbout_finish): Use getdecls langhook.
16036 * stmt.c: Include langhooks.h.
16037 (expand_fixup, fixup_gotos): Use new langhooks.
16038 * stor-layout.c: Include langhooks.h.
16039 (variable_size): Use global_bindings_p langhook.
16040 * toplev.c (compile_file): Use getdecls langhook.
16041 * tree-inline.c (remap_block): Use insert_block langhook.
16042 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
16043 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
16044
5b19b10c
RH
160452002-03-21 Richard Henderson <rth@redhat.com>
16046
16047 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
16048 constants in .data when -fpic.
16049
e05af335
GP
160502002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16051
16052 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
16053 where appropriate.
16054
60ffc997
TT
160552002-03-21 Tom Tromey <tromey@redhat.com>
16056
16057 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
16058
75897075
RK
16059Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16060
a73afd69 16061 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 16062
75897075
RK
16063 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
16064
312687cf
EB
160652002-03-21 Eric Botcazou <ebotcazou@multimania.com>
16066 Richard Henderson <rth@redhat.com>
16067
16068 PR c/5354
16069 * c-common.c (c_expand_expr): Preserve result of a statement
16070 expression if needed.
16071
f0e1f482
JJ
160722002-03-21 Jakub Jelinek <jakub@redhat.com>
16073
16074 PR bootstrap/4195
16075 * genrecog.c (maybe_both_true_mode): Remove.
16076 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
16077 * machmode.def (Pmode): Likewise.
16078
c14b9960
JW
16079Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
16080
16081 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
16082 (nonlocal_mentioned_p_1): New function.
16083 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
16084 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
16085 (mark_constant_function): Recognize pure functions.
16086 * rtl.h (global_reg_mentioned_p): New prototype.
16087 * rtlanal.c (global_reg_mentioned_p,
16088 global_reg_mentioned_p_1): New function.
16089
aaa4d130
RO
160902002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16091
16092 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
16093 UNIX assert.h.
16094 * fixinc/fixincl.x: Regenerate.
16095
e5c4bd1b
JM
160962002-03-20 Jason Merrill <jason@redhat.com>
16097
16098 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
16099
852b81bb
MM
161002002-03-20 Michael Meissner <meissner@redhat.com>
16101
16102 * doc/invoke.texi (Optimize Options): Document that -O2 sets
16103 -fstrict-aliasing.
16104
86d8c251
BW
161052002-03-20 Bob Wilson <bob.wilson@acm.org>
16106
16107 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
16108 ".literal_position" directive before the constant pool.
16109
0a39c350
GP
161102002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16111
16112 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
16113 Add Craig Rodrigues.
16114 Add Brad Lucier to testers.
16115
71a83373
JJ
161162002-03-20 Jakub Jelinek <jakub@redhat.com>
16117
16118 PR target/4792
16119 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
16120 to if_then_else.
16121 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
16122 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
16123 instead of insn_extract.
16124
a29b099d
JJ
161252002-03-20 Jakub Jelinek <jakub@redhat.com>
16126
16127 PR bootstrap/4192
71a83373 16128 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
16129
16130 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
16131 stmt if some case has been output.
16132
048b1c95
JJ
161332002-03-20 Jakub Jelinek <jakub@redhat.com>
16134
16135 PR c/5972
16136 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
16137 movsfcc_1, movdfcc_1): Add %O2.
16138 * config/i386/i386.c (print_operand): Handle %ON.
16139 Print . before float condition codes in Sun as cmov syntax.
16140 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
16141 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
16142 no longer true.
16143
f4864588
PB
161442002-03-20 Philip Blundell <pb@nexus.co.uk>
16145
16146 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
16147 return instruction if PC was popped.
16148
3a307de4
BW
161492002-03-20 Bob Wilson <bob.wilson@acm.org>
16150
16151 * config/xtensa/xtensa.md: Remove unused type attributes.
16152 (adddi_carry, subddi_carry): Change type attribute to "multi".
16153
048b1c95 161542002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
16155
16156 PR optimization/5999, middle-end/5731
16157 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
16158 multiplications by reciprocals.
16159
7afff7cf
NB
161602002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
16161
16162 * Makefile.in: Update.
16163 * c-common.c: Include langhooks.h.
16164 (inline_forbidden_p): Use new hook.
16165 * diagnostic.c: Include langhooks.h.
16166 (format_with_decl, announce_function,
16167 default_print_error_function): Use new hook.
16168 * dwarf2out.c (dwarf2_name): Use new hook.
16169 * function.c: Include langhooks.h.
16170 (init_function_start): Use new hook.
16171 * langhooks-def.h (lhd_decl_printable_name): New.
16172 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
16173 (LANGHOOKS_INITIALIZER): Update.
16174 * langhooks.c (lhd_decl_printable_name): New.
16175 * langhooks.h (struct lang_hooks): New hook.
16176 * toplev.c (decl_name, decl_printable_name): Remove.
16177 (open_dump_file): Use new hook.
16178 (process_options): Remove old hook.
16179 * tree.h (decl_printable_name): Remove.
16180objc:
16181 * objc-act.c (objc_init): Remove old hook.
16182 (objc_printable_name): Export.
16183 * objc-act.h (objc_printable_name): New.
16184 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
16185
f78ce0b7
JB
161862002-03-19 Jim Blandy <jimb@redhat.com>
16187
16188 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
16189 the start_source_file debug hook, not the current line number.
16190
15b5aef3
RH
161912002-03-19 Richard Henderson <rth@redhat.com>
16192
16193 * flow.c (EH_USES): Provide default.
16194 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
16195 * doc/tm.texi (EH_USES): New.
16196
16197 * config/ia64/ia64.c (ia64_eh_uses): New.
16198 * config/ia64/ia64-protos.h: Update.
16199 * config/ia64/ia64.h (EH_USES): New.
16200
02a7a3fd
RH
162012002-03-19 Richard Henderson <rth@redhat.com>
16202
16203 * varasm.c (output_constant_def): Fix stupid typo.
16204
93f82d60
RH
162052002-03-19 Richard Henderson <rth@redhat.com>
16206
2842be05 16207 PR 5879
93f82d60
RH
16208 * except.c (current_function_has_exception_handlers): New.
16209 * except.h: Declare it.
16210 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
16211 Combine tests that disable all sibcalls for the function.
16212
ed4fbfa0
OH
162132002-03-19 Olivier Hainque <hainque@act-europe.fr>
16214
16215 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
16216 for INTEGER_CST.
16217
ebf0e888
RH
162182002-03-19 Richard Henderson <rth@redhat.com>
16219
1e82682b 16220 PR 5977, 5991
ebf0e888
RH
16221 * config/ia64/ia64.c: Revert 2002-03-01 patch.
16222 * config/ia64/ia64.h (INIT_EXPANDERS): New.
16223
e37b38d7
JB
162242002-03-19 Jim Blandy <jimb@redhat.com>
16225
16226 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
16227 name, even if the replacement list contains no tokens, as required
16228 by Dwarf.
16229
2a4ea326
JM
162302002-03-19 Jason Merrill <jason@redhat.com>
16231
f9d09ae5
JM
16232 * varasm.c (globalize_decl): Get the name from the RTL, not
16233 DECL_ASSEMBLER_NAME.
16234
2a4ea326
JM
16235 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
16236
99b96edb
BW
162372002-03-19 Bob Wilson <bob.wilson@acm.org>
16238
16239 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
16240 subdi_carry): Define.
16241
3774b567
DE
162422002-03-19 David Edelsohn <edelsohn@gnu.org>
16243
16244 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
16245 about -fpic/-fPIC if extra_warnings set.
16246
21ef78aa
DE
162472002-03-19 David Edelsohn <edelsohn@gnu.org>
16248
16249 * expr.c (expand_expr): Sign-extend CONST_INT generated from
16250 TREE_STRING_POINTER.
0c2fdcdf 16251 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 16252
91d4b3fd
RK
16253Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16254
16255 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
16256 in favor of SP if FRAME_POINTER_REQUIRED is false.
16257
2496c7bd
LB
162582002-03-19 Lars Brinkhoff <lars@nocrew.org>
16259
16260 * emit-rtl.c (gen_int_mode): New function.
16261 * rtl.h: Prototype for it.
16262 * combine.c (make_extraction, simplify_comparison), expmed.c
16263 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
16264 (convert_modes, store_field), optabs.c (expand_fix),
16265 simplify-rtx.c (neg_const_int, simplify_unary_real),
16266
16267 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
16268 Use it instead of GEN_INT (trunc_int_for_mode (...)).
16269
f735a153
JJ
162702002-03-19 Jakub Jelinek <jakub@redhat.com>
16271
16272 PR c/5656
16273 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
16274 convert_parm_for_inlining.
16275 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
16276 Define.
16277 * langhooks-def.h: Likewise.
16278 * objc/objc-lang.c: Likewise.
16279 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
16280 function.
16281 * tree-inline.c (initialize_inlined_parameters):
16282 Call convert_parm_for_inlining lang hook if needed.
16283 * c-typeck.c (c_convert_parm_for_inlining): New function.
16284 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
16285
1929c971
MM
162862002-03-18 Mark Mitchell <mark@codesourcery.com>
16287
b216cd4a 16288 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
16289 can be destroyed after expanding the argument.
16290 (expand_call): Likewise.
16291
c79ca0ac
EC
162922002-03-15 Eric Christopher <echristo@redhat.com>
16293
16294 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
16295 Fix register preference on last change.
16296 * config/mips/mips.c (mips_return_in_memory): New function.
16297 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
16298 * config/mips/mips-protos.h: Declare.
16299 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
16300 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
16301
07e2e444
AO
163022002-03-18 Alexandre Oliva <aoliva@redhat.com>
16303
1bfbbbcf
AO
16304 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
16305 a register too.
16306 (anddi3, iorsi3): Likewise.
16307
c066429e
AO
16308 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
16309 use %gprel for symbols that are going to be placed in linkonce
16310 sections.
16311
07e2e444
AO
16312 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
16313 RETURN_ADDRESS_POINTER_REGNUM to $ra.
16314 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
16315 not needed. Disregard leaf_function_p().
16316 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
16317 mips16 frame pointer.
16318 * config/mips/mips.md (store ra): Only to small SP offsets.
16319 2001-08-22 Graham Stott <grahams@redhat.com>
16320 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
16321 return a REG rtx for the return address register.
16322
eb8e00ea
BW
163232002-03-18 Bob Wilson <bob.wilson@acm.org>
16324
16325 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
16326 constant-pool addresses as "mode-dependent".
16327 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
16328
cbb92744
JJ
163292002-03-18 Jakub Jelinek <jakub@redhat.com>
16330
16331 PR target/5740
16332 * expr.c (emit_group_load): Use extract_bit_field if
16333 needed for CONCAT arguments.
16334
657d9449
RE
163352002-03-18 Richard Earnshaw <rearnsha@arm.com>
16336
91f3a802 16337 PR target/4863
657d9449
RE
16338 * arm.md (tablejump): Make this a define_expand. For PIC add the
16339 offset to the base of the table.
16340 (thumb_tablejump): Matcher for Thumb tablejump insn.
16341 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
16342 as the difference of two labels.
16343 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
16344 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
16345 tables in the code.
16346 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
16347 * arm.c (get_jump_table_size): If the table is not in the text
16348 section, return zero.
c79ca0ac 16349
5d5603e2
BS
163502002-03-18 Bernd Schmidt <bernds@redhat.com>
16351
16352 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
16353 of gen_rtx_SUBREG.
16354 (arm_reload_out_hi): Use gen_lowpart instead of
16355 gen_rtx_SUBREG to access QImode components.
16356 * config/arm/arm.md: Disable zero_extend split for QImode
16357 subregs in BIG_ENDIAN mode.
16358 (storehi_bigend): Match use of least significant byte.
16359 (storeinthi): Remove extraneous SUBREG.
66c17b64 16360 Add missing construction of operands[2].
5d5603e2
BS
16361 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
16362 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
16363 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
16364
df15fbc7
AH
163652002-03-18 Aldy Hernandez <aldyh@redhat.com>
16366
2496c7bd
LB
16367 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
16368 any_operand.
df15fbc7 16369
b83b7fa3
RH
163702002-03-17 Richard Henderson <rth@redhat.com>
16371
16372 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
16373 explicitly.
16374
6f7c00fe
HPN
163752002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
16376
16377 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
16378 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
16379
155038f2
KG
163802002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16381
720d42fa
KG
16382 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
16383
155038f2
KG
16384 * predict.c (estimate_bb_frequencies): Delete unused variables.
16385
e6542f4e
RH
163862002-03-17 Richard Henderson <rth@redhat.com>
16387
16388 * config/ia64/ia64.c (ia64_attribute_table): Move before
16389 targetm definition. Make static.
16390
52dabb6c
NB
163912002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
16392
16393 * c-common.h (yyparse, c_common_parse_file): New.
16394 * c-lang.c: Include c-common.h.
16395 (LANG_HOOKS_PARSE_FILE): Redefine.
16396 * c-lex.c: Include c-common.h.
16397 (yyparse): Rename c_common_parse_file. Call yyparse.
16398 * c-parse.in (yyparse): Remove macro.
16399 * c-tree.h (yyparse_1): Remove.
16400 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
16401 (LANG_HOOKS_INITIALIZER): Update.
16402 * langhooks.h (struct lang_hoooks): New hook parse_file.
16403 * toplev.c (compile_file): Use parse_file hook.
16404 * tree.h (yyparse): Remove.
e6542f4e 16405 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 16406
b5ffe606
HPN
164072002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
16408
ba82f58b
HPN
16409 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
16410 float_truncate, not fix.
16411 ("*truncdfsf2_real"): Ditto.
16412 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
16413
b5ffe606
HPN
16414 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
16415
c8d1b2b7
AO
164162002-03-16 Alexandre Oliva <aoliva@redhat.com>
16417
cfb773f9
AO
16418 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
16419 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
16420 where appropriate. Make the second reference to
16421 leaf_function_p a function call, as intended. Reindented.
16422
4dffef52
AO
16423 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
16424 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
16425
4f5bd6d7
AO
16426 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
16427 add register to non-constant into sp.
16428
c8d1b2b7
AO
16429 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
16430 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
16431 (mips16_gp_pseudo_rtx): Lose.
16432 (INIT_EXPANDERS): Deleted.
16433 * config/mips/mips.c (mips_init_machine_status): New.
16434 (mips_free_machine_status): New.
16435 (mips_mark_machine_status): New.
16436 (override_options): Set them.
16437 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
16438 (struct machine_function): ... new. Replaced all references.
16439 (mips_add_gc_roots): Don't mark them.
16440 (embedded_pic_fnaddr_reg): New, extracted from...
16441 (embedded_pic_offset): ... here.
16442 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
16443 (movsi): Likewise.
16444
b3124fac
NB
164452002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
16446
16447 * cppinit.c: Revert -MD removal.
16448
121449b6
SC
164492002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16450
16451 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
16452 soft registers by default for 68HC12.
16453 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
16454 when compiling with -fomit-frame-pointer.
16455 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
16456 (expand_epilogue): Likewise.
16457 (m68hc11_gen_rotate): Use exg when rotating by 8.
16458
840e2ff1
SC
164592002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16460
16461 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
16462 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
16463 (splits): Remove unused add splits.
16464 ("*addhi3_68hc12"): Tune constraints.
16465 ("addhi_sp"): Try to use X instead of Y in all cases and if the
16466 constant fits in 8-bits and D is dead use abx/aby instructions.
16467 ("*addhi3"): Remove extern declaration of ix_reg.
16468 ("*subsi3"): Optimize and provide new split.
16469 ("subhi3"): Cleanup.
16470 ("*subhi3_sp"): Avoid saving X if we know it is dead.
16471 (arith splits): For 68hc12 save the address register on the stack
16472 and do the arithmetic operation with a pop.
16473
3c9a5efe
SC
164742002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16475
16476 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
16477 allocating QImode in address registers.
16478 ("*movqi_m68hc11"): Likewise.
16479
e41f3392
JH
16480Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
16481
16482 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
16483
576786b0
NB
164842002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
16485
16486 * cppinit.c (print_help): Display -MD and -MMD.
16487 Don't display usage string. Update assertion syntax and
16488 typo.
16489 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
16490 (cpp_handle_option): Update.
16491
1ac458d4
CD
164922002-03-15 Chris Demetriou <cgd@broadcom.com>
16493
16494 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
16495 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
16496 and define it so that regardless of target CPU size,
16497 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
16498 of "int" rather than "long."
16499
1fcd592b
RH
165002002-03-15 Richard Henderson <rth@redhat.com>
16501
16502 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
16503 size as a tree.
16504
a0df6910
SC
165052002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16506
16507 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
16508 ("tstqi" split): Avoid using memory for tstqi on address register.
16509 (splits): Remove constraints.
16510 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
16511 ("cmpdf", "cmpsf"): Remove since not used.
16512 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
16513 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
16514
015a2e59
SC
165152002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16516
16517 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
16518 ("neghi2"): Tighten constraints.
16519 ("one_cmplsi2"): Optimize and simplify split.
16520 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
16521
cd28557c
SC
165222002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16523
16524 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
16525 and split of AND operation to clear the upper bits.
16526 ("*logicalsi3_zextqi"): Likewise.
16527 ("*logicallhi3_zexthi_ashift8"): Likewise.
16528 ("*logicalsi3_silshr16"): Likewise.
16529 ("logicalsi3_silshl16"): Likewise.
16530 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
16531
932657df
SC
165322002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16533
16534 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
16535 (m68hc11_indirect_p): New function.
16536 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
16537 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
16538 TARGET_M6812.
16539 (asm_print_register): Likewise.
16540 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
16541 (m68hc11_indirect_p): Declare.
16542 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
16543 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
16544 (TARGET_SWITCHES): New option -mrelax.
16545 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
16546 destination.
16547 ("iorsi3", "xorsi3"): Likewise.
16548 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
16549 ("*andhi3_mem"): New to handle destination in memory with bclr
16550 and a scratch register.
16551 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
16552 ("*andhi3_const"): New when operand2 is constant.
16553 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
16554 ("*andhi3_gen"): Cleanup of the old "andhi3".
16555 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
16556 ("xorqi3"): Update constraints.
16557
fdffea1a
SC
165582002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16559
16560 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
16561 for reg_equiv_memory_loc when the operand is a register that does
16562 not get a hard register (stack location).
16563 (tst_operand): After reload, accept all memory operand.
16564 (symbolic_memory_operand): Fix detection of symbolic references.
16565 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
16566 accept symbols and any constant.
16567
6272bc68
SC
165682002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16569
16570 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
16571 note on the insn that sets the soft frame register.
16572 (must_parenthesize): ix and iy are also reserved names.
16573 (print_operand_address): One more place where parenthesis are required
16574 to avoid confusion with register names.
16575 (m68hc11_gen_movhi): Allow push of stack pointer.
16576 (m68hc11_check_z_replacement): Fix handling of parallel with a
16577 clobber.
16578 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
16579 the replacement register is.
16580 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
16581 and D8_REGS classes.
16582 (MODES_TIEABLE_P): All modes are tieable except QImode.
16583
1d2d9def
SC
165842002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16585
16586 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
16587 (___subdi3): Likewise.
16588 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
16589 (__map_data_section): Optimize 68hc11 case.
16590
a0ccf503
SC
165912002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16592
16593 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
16594 than a shift to avoid adding a register with itself.
16595 (m68hc11_memory_move_cost): Take into account NO_REGS.
16596 (m68hc11_register_move_cost): Update and use memory move cost
16597 for soft registers.
16598 (m68hc11_address_cost): Make cost of valid offset not 0 so that
16599 it gives more opportunities to cse to optimize.
16600 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
16601 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
16602
6e4ae815
MM
166032002-03-15 Mark Mitchell <mark@codesourcery.com>
16604
16605 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
16606 * c-common.def (CLEANUP_STMT): New tree node.
16607 * c-common.h (CLEANUP_DECL): New macro.
16608 (CLEANUP_EXPR): Likewise.
16609 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
16610 * expr.c (expand_expr): Tidy.
16611 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
16612 * tree-inline.c (initialize_inlined_parameters): Clean up
16613 new local variables.
16614
a42519be
JJ
166152002-03-15 Jakub Jelinek <jakub@redhat.com>
16616
16617 PR bootstrap/4128
16618 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
16619 before movrXX only, use reg_overlap_mentioned_p.
16620 Only special case NE if just one insn can be generated.
16621
15409448
JM
166222002-03-15 Jason Merrill <jason@redhat.com>
16623
16624 * varasm.c (assemble_variable): Call resolve_unique_section before
16625 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
16626 of error_mark_node.
16627
3a4edb44
RE
166282002-03-15 Richard Earnshaw <rearnsha@arm.com>
16629
16630 PR target/5170
16631 * arm.md (split pattern for thumb shiftable immediates): Add comment
16632 explaining non-obvious test.
16633
32defa36
RE
166342002-03-15 Richard Earnshaw <rearnsha@arm.com>
16635
16636 PR target/5712
16637 * arm.md (movaddr, movaddr_insn): Delete.
16638
5cc90635
JM
166392002-03-15 Jason Merrill <jason@redhat.com>
16640
16641 * toplev.c (wrapup_global_declarations): Clarify variable handling.
16642 -fkeep-static-consts doesn't apply to comdats.
16643
ecb0eece
RH
166442002-03-14 Richard Henderson <rth@redhat.com>
16645
16646 * c-decl.c: Include c-pragma.h.
16647 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
16648 (finish_function): Tidy.
16649 * c-pragma.c: Include c-common.h.
16650 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
16651 (handle_pragma_weak): Use them.
16652 (init_pragma): Register pending_weaks.
16653 * c-pragma.h (maybe_apply_pragma_weak): Declare.
16654 * print-tree.c (print_node): Print DECL_WEAK.
16655 * varasm.c (mark_weak_decls): Remove.
16656 (remove_from_pending_weak_list): Remove.
16657 (add_weak): Remove.
16658 (asm_emit_uninitialised): Call globalize_decl for weak commons.
16659 (weak_decls): Make a tree_list.
16660 (declare_weak): Cons weak_decls directly.
16661 (globalize_decl): Remove weak_decls elements directly.
16662 (weak_finish): Simplify weak_decls walk. Don't weaken unused
16663 symbols. Don't pretend to handle aliases.
16664 (init_varasm_once): Update weak_decls registry.
16665 * Makefile.in: Update dependencies.
16666
98d2b17e
RH
166672002-03-14 Richard Henderson <rth@redhat.com>
16668
16669 PR target/5312
16670 * config/ia64/ia64.c: Include tm_p.h last.
16671 (gen_nop_type): Remove duplicate definition.
16672 (cycle_end_fill_slots): Set sched_data for second L slot.
16673 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
16674 (nop_cycles_until): Fix typos.
16675
f2f4927e
JJ
166762002-03-15 Jakub Jelinek <jakub@redhat.com>
16677
16678 PR optimization/5891
16679 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
16680
5025a549
DM
166812002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
16682
16683 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
16684 descriptors correctly.
16685
03e9dbc9
MM
166862002-03-14 Michael Meissner <meissner@redhat.com>
16687
16688 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
16689 100, allowing MAX_UNROLLED_INSNS to be overridden.
16690
16691 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
16692 --param.
16693
16694 * unroll.c (params.h): Include.
16695 (MAX_UNROLLED_INSNS): Delete, now in params.h.
16696
16697 * doc/invoke.texi (--param max-unroll-insns): Document.
16698
16699 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
16700
12249385
RE
167012002-03-14 Richard Earnshaw <rearnsha@arm.com>
16702
16703 * arm.md: Fix warnings about constraints in peepholes and splits.
16704
f0cce04a
ZW
167052002-03-14 Zack Weinberg <zack@codesourcery.com>
16706
16707 * cpphash.h (struct lexer_state): Remove line_extension member.
16708 * cpplib.c (dequote_string, do_linemarker): New functions.
16709 (linemarker_dir): New data object.
16710 (DIRECTIVE_TABLE): No longer need to interpret #line in
16711 preprocessed source. Delete obsolete comment about return
16712 values of handlers.
16713 (end_directive, directive_diagnostics, _cpp_handle_directive):
16714 Don't muck with line_extension.
16715 (directive_diagnostics): No need to issue warnings for
16716 linemarkers here.
16717 (_cpp_handle_directive): Issue warnings for linemarkers here,
16718 when appropriate. Dispatch linemarkers to do_linemarker, not
16719 do_line.
16720 (do_line): Code to handle linemarkers split out to do_linemarker.
16721 Convert escape sequences in filename argument, both places.
16722
16723 * cppmacro.c (quote_string): Rename cpp_quote_string and
16724 export. All callers changed.
16725 * cpplib.h (cpp_quote_string): Prototype.
16726 * cppmain.c (print_line): Call cpp_quote_string on to_file
16727 before printing it.
16728
16729 * doc/cpp.texi: Document that escapes are now interpreted in
16730 #line and in linemarkers, and that non-printing characters are
16731 converted to octal escapes when linemarkers are generated.
16732
16733Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
16734
16735 * emit-rtl.c (try_split): Use delete_insns.
16736 * recog.c (split_all_insns): Fix terminating condition.
16737
c882c7ac
RE
167382002-03-14 Richard Earnshaw <rearnsha@arm.com>
16739 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16740
16741 PR target/5828
16742 * arm.c (arm_output_epilogue): Fix floating-point register save
16743 adjustment when using a frame pointer.
16744
3f26edaa
RS
167452002-03-14 Richard Sandiford <rsandifo@redhat.com>
16746
16747 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
16748 * config/mips/mips.c (compute_frame_size): Retrofit them here.
16749 (save_restore_insns, mips_expand_epilogue): And here.
16750 (build_mips16_call_stub): And here.
16751 (mips_function_value): Use the new macros to decide whether a single
16752 or complex float can be returned in floating-point registers. Return
16753 a parallel rtx in the complex case.
16754
1e3881c2
JH
16755Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
16756
16757 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
16758 call after liveness analysis.
16759
16760 * recog.c (split_insn): Use delete_insn_and_edges.
16761
16762 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
16763 instructions to have branch prediction notes.
16764 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
16765
200ef634
GK
167662002-03-14 Geoffrey Keating <geoffk@redhat.com>
16767
16768 * configure.in: Don't pass -Wno-long-long to a ADA compiler
16769 that doesn't support it.
16770 * configure: Regenerate.
16771
0b82d204
JJ
167722002-03-13 Jakub Jelinek <jakub@redhat.com>
16773
16774 PR target/5626
16775 * config/sparc/sparc.md (normal_branch, inverted_branch,
16776 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
16777 inverted_fp_branch): Adjust calls to output_cbranch.
16778 Set length attribute.
16779 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
16780 output_v9branch. Set length attribute.
16781 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
16782 predicates.
16783 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
16784 (output_cbranch): Likewise. Handle far branches.
16785 (output_v9branch): Handle far branches.
16786 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
16787 Adjust prototypes.
16788 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
16789 noov_compare64_op predicates.
16790
7a8de19b
JM
167912002-03-13 Jason Merrill <jason@redhat.com>
16792
16793 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
16794 into the function and constify it.
16795 * gthr-dce.h, gthr-solaris.h: Likewise.
16796
2a55fd42
DE
167972002-03-13 David Edelsohn <edelsohn@gnu.org>
16798
16799 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
16800 * config/rs6000/rs6000.c (rs6000_va_arg): Use
16801 std_expand_builtin_va_arg if not ABI_V4.
16802
19c5b1cf
JM
168032002-03-13 Jason Merrill <jason@redhat.com>
16804
16805 * varasm.c (globalize_decl): New fn.
16806 (assemble_start_function): Use it.
16807 (asm_emit_uninitialized): Use it.
16808 (assemble_alias): Use it.
16809 (assemble_variable): Use it.
16810
2a15f5e1
HPN
168112002-03-13 Hans-Peter Nilsson <hp@axis.com>
16812
16813 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 16814 2002-03-12 internal visibility change.
2a15f5e1
HPN
16815 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
16816 visibility into SYMBOL_REF_FLAG.
16817
c0a3eeac
UW
168182002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
16819
16820 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
16821 VOIDmode operand. Add compile-time optimization for constant results.
16822
a1652cee
JM
168232002-03-12 Jason Merrill <jason@redhat.com>
16824
16825 * c-typeck.c (convert_for_assignment): Don't allow conversions
16826 between pointers and references. Only allow lvalues to convert to
16827 reference.
16828
c52a375d
HP
168292002-03-13 Hartmut Penner <hpenner@de.ibm.com>
16830
f0cce04a
ZW
16831 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
16832 before prologue, to avoid scheduling problems.
c52a375d 16833
e387e99b
JJ
168342002-03-13 Jakub Jelinek <jakub@redhat.com>
16835
16836 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
16837 (ELIMINABLE_REGS): Add sfp->sp.
16838 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
16839
168402002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
16841
16842 PR optimization/5892
16843 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
16844
4061c1a3
JJ
168452002-03-13 Jakub Jelinek <jakub@redhat.com>
16846
16847 * loop.c (basic_induction_var): Don't call convert_modes if mode
16848 classes are different.
16849
5b43fed1
RH
168502002-03-12 Richard Henderson <rth@redhat.com>
16851
9f53e965
RH
16852 PR optimization/5901
16853 * function.c (reposition_prologue_and_epilogue_notes): Position
16854 the markers after/before the last/first insn not deleted.
16855
168562002-03-12 Richard Henderson <rth@redhat.com>
16857
16858 PR optimization/5878
5b43fed1
RH
16859 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
16860 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
16861 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
16862
16863 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
16864 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
16865 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
16866
16867 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
16868 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
16869 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
16870 also. Don't set it if not flag_pic.
16871 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
16872 to be INVALID_REGNUM when not used.
16873
4e9bb42b
AH
168742002-03-13 Aldy Hernandez <aldyh@redhat.com>
16875
5b43fed1
RH
16876 * expmed.c (store_bit_field): Reset alias set for memory.
16877 (extract_bit_field): Same.
4e9bb42b 16878
2f9834e8
KG
168792002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16880
16881 * c-common.c (c_tree_code_type, c_tree_code_length,
16882 c_tree_code_name, add_c_tree_codes): Delete.
16883 * c-common.h (add_c_tree_codes): Delete.
16884 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
16885 Define.
16886 * c-objc-common.c (c_objc_common_init): Don't call
16887 add_c_tree_codes, instead set lang_unsafe_for_reeval.
16888 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
16889 objc_tree_code_name, add_objc_tree_codes): Delete.
16890 (objc_init): Don't call add_objc_tree_codes.
16891 * objc/objc-lang.c (tree_code_type, tree_code_length,
16892 tree_code_name): Define.
16893 * toplev.c (lang_independent_init): Don't set
16894 tree_code_length[IDENTIFIER_NODE].
16895 * tree.c (tree_code_type, tree_code_length, tree_code_name):
16896 Delete definitions, moved to language front-ends.
16897 * tree.def (IDENTIFIER_NODE): Hardwire the length.
16898 * tree.h (tree_code_type, tree_code_length, tree_code_name):
16899 Const-ify.
16900 (tree_code_length): Change type to unsigned char.
16901
36ad2436
RH
169022002-03-12 Richard Henderson <rth@redhat.com>
16903
16904 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
16905 internal visibility change.
16906
0ae02efa
BW
169072002-03-12 Bob Wilson <bob.wilson@acm.org>
16908
16909 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
16910 validize_mem() instead of change_address to avoid clobbering
16911 memory attributes.
16912
35bb2bee
NB
169132002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
16914
16915 * c-lex.h (position_after_whitespace): Remove.
16916
62ae2529
JJ
169172002-03-12 Jakub Jelinek <jakub@redhat.com>
16918
16919 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
16920 (lex_string): Use unsigned char pointers.
16921
6a45951f
UW
169222002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
16923
16924 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
16925 is not a valid memory_operand.
16926
e2fb85da
BW
169272002-03-12 Bob Wilson <bob.wilson@acm.org>
16928
16929 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
16930 * config/xtensa/lib1funcs.asm: Fix copyright to include
16931 special case for libgcc files.
16932 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
16933 (__divsi3): Likewise.
16934 (__umodsi3): Likewise.
16935 (__modsi3): Likewise.
16936 * config/xtensa/lib2funcs.S: Fix copyright to include
16937 special case for libgcc files.
16938
5b8619f8
TR
169392002-03-12 Tom Rix <trix@redhat.com>
16940
16941 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 16942 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
16943 (ignore_library): Same.
16944
089c8f97
BW
169452002-03-12 Bob Wilson <bob.wilson@acm.org>
16946
16947 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
16948
958c70ff
BW
169492002-03-12 Bob Wilson <bob.wilson@acm.org>
16950
16951 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
16952 to function_section before writing out the constant pool.
16953
a65c591c
DE
169542002-03-12 David Edelsohn <edelsohn@gnu.org>
16955
16956 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
16957 zero_constant.
16958 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
16959
169602002-03-12 Alan Modra <amodra@bigpond.net.au>
16961
16962 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
16963 (adddi3): Likewise.
16964 (movdf): Likewise.
16965 (movdi): Likewise.
16966 (cmpsi splitter): Likewise.
16967 (modsi3): Fail if <= 0.
16968 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
16969 redundant test when HOST_BITS_PER_WIDE_INT != 32.
16970 (reg_or_sub_cint64_operand): Likewise.
16971 (num_insns_constant_wide): Optimize sign extension.
16972 (rs6000_legitimize_address): Likewise.
16973
17720332
AM
169742002-03-12 Andrew MacLeod <amacleod@redhat.com>
16975
16976 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
16977 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
16978
cd49f073
AM
169792002-03-12 Andrew MacLeod <amacleod@redhat.com>
16980
16981 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
16982 address calculation.
16983
6a4e49c1
UW
169842002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
16985
16986 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
16987 scratch register to DImode / TImode.
16988 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
16989 register used does not overlap the target.
16990
54b6670a
KG
169912002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16992
16993 * Makefile.in (debug.o): Depend on debug.h.
16994 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
16995 * debug.c (do_nothing_debug_hooks): Likewise.
16996 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
16997 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
16998 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
16999 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
17000 * dwarfout.c (dwarf_debug_hooks): Likewise.
17001 * integrate.c (output_inline_function): Likewise.
17002 * objc/objc-act.c (synth_module_prologue): Likewise.
17003 * sdbout.c (sdb_debug_hooks): Likewise.
17004 * toplev.c (debug_hooks): Likewise.
17005 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
17006
2465bf76
KG
170072002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17008
17009 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
17010 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
17011 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
17012 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
17013 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
17014 * defaults.h (POINTER_SIZE): Define.
17015 * doc/tm.texi (POINTER_SIZE): Document default.
17016
53f3e9ca
KG
170172002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17018
17019 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
17020
44d3eb5b
RH
170212002-03-11 Richard Henderson <rth@redhat.com>
17022
17023 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
17024 if rebuild_label_notes_after_reload.
17025
4a085d2e
HPN
170262002-03-12 Hans-Peter Nilsson <hp@axis.com>
17027
17028 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
17029 emit pic register load if "internal" visibility.
17030 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
17031 (cris_expand_builtin_va_arg): Do all computations on trees.
17032
bc204393
RH
170332002-03-11 Richard Henderson <rth@redhat.com>
17034
17035 * rtlanal.c: Include recog.h.
17036 (keep_with_call_p): Fix thinko.
17037 * Makefile.in (rtlanal.o): Update dependencies.
17038
6b8b9d7b
CM
170392002-03-11 Chris Meyer <cmeyer@gatan.com>
17040
17041 * genflags.c (gen_insn): Use IS_VSPACE.
17042 * genoutput.c (output_insn_data): Likewise.
17043 (process_template): Likewise.
17044
6c40858f
RH
170452002-03-11 Richard Henderson <rth@redhat.com>
17046
17047 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
17048
40adaa27
NB
170492002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
17050
17051 * Makefile.in: Update.
6c40858f 17052 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 17053 Update documentation.
6c40858f
RH
17054 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
17055 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 17056
049b03f4
ZW
170572002-03-11 Zack Weinberg <zack@codesourcery.com>
17058
17059 * Makefile.in: Give texi2pod its input file as a command line
17060 argument, not on stdin.
17061
61eece67
DN
170622002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
17063 Daniel Berlin <dan@dberlin.org>
17064
17065 C++ alias analysis improvement.
f0cce04a 17066 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
17067 classes too.
17068
a65c591c
DE
170692002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
17070
ff080aba
UW
17071 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
17072
1682dbb1
DR
170732002-03-11 Douglas B Rupp <rupp@gnat.com>
17074
fa2d765a
DR
17075 * toplev.c (vms_fopen): Remove, not needed.
17076
6f1fd286
DR
17077 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
17078
b230e057
DR
17079 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
17080
cb9a8e97
DR
17081 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
17082 for FP, already done later.
17083
1682dbb1
DR
17084 * toplev.c (debug_args): Add entry for VMS_DEBUG.
17085 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
17086
3fcaac1d
RS
170872002-03-11 Richard Sandiford <rsandifo@redhat.com>
17088
17089 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
17090 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
17091 LARGEST_EXPONENT_IS_NORMAL for the given mode.
17092 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
17093 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
17094 (ediv, emul, eldexp, esqrt): Likewise.
17095 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
17096 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
17097 (saturate): New function.
17098 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
17099 (make_nan): Use a saturation value instead of a NaN if
17100 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
17101 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
17102 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
17103 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
17104 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
17105 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
17106 !ROUND_TOWARDS_ZERO.
17107 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
17108 (ROUND_TOWARDS_ZERO): Document.
17109
d25558be
AJ
171102002-03-11 Andreas Jaeger <aj@suse.de>
17111
17112 * cfg.c (dump_flow_info): Remove unused variable.
17113
c71f9ae7
HPN
171142002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
17115
17116 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
17117 computations on trees.
17118
561c9153
RH
171192002-03-10 Richard Henderson <rth@redhat.com>
17120
932b4e3e 17121 PR 5693:
561c9153
RH
17122 * reload.c (copy_replacements_1): New.
17123 (copy_replacements): Use it to recurse through the rtx.
17124
26b738be
RH
171252002-03-10 Richard Henderson <rth@redhat.com>
17126
17127 * loop.c (strength_reduce): Compute number of iterations as
17128 unsigned HOST_WIDE_INT.
17129
8d8a083e
RH
171302002-03-10 Richard Henderson <rth@redhat.com>
17131
17132 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
17133 to move away from the end of the block.
17134
32810ba3
NB
171352002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
17136
17137 PR preprocessor/5899
17138 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 17139
2b03d201
KG
171402002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17141
f90c544c
KG
17142 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
17143
2b03d201
KG
17144 * attribs.c (decl_attributes): Fix signed/unsigned warning.
17145
3ec1b4cb
HPN
171462002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
17147
17148 * config/mmix/mmix.c: Improve comments.
17149 (mmix_target_asm_function_prologue): Drop variable
17150 empty_stack_frame. Don't allocate unused slot above fp.
17151 (mmix_target_asm_function_epilogue): Mirror prologue changes.
17152 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
17153 brace in first column.
17154 (enum reg_class): Ditto.
17155 (FIRST_PARM_OFFSET): Now 0.
17156 (USER_LABEL_PREFIX): Remove #if 0:d definition.
17157
27e486c5
KG
171582002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17159
17160 * combine.c (make_extraction): Fix error in last change.
17161
0139adca
KG
171622002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17163
17164 * c4x.c (c4x_fp_reglist): Const-ify.
17165 * cris.c (cris_print_operand): Likewise.
17166 * i386.c (ix86_va_arg): Likewise.
17167 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
17168 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
17169 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
17170 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
17171 * mcore.h (regno_reg_class): Likewise.
17172 * mips.c (gen_int_relational): Likewise.
17173 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
17174 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 17175 * pdp11.c (move_costs): Likewise.
0139adca
KG
17176 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
17177 * s390.c (s390_branch_condition_mnemonic, regclass_map):
17178 Likewise.
17179 * s390.h (regclass_map): Likewise.
17180 * sh.c (shift_amounts): Likewise.
a4334c36 17181 * sh.md (rotlsi3): Likewise.
0139adca 17182
889b90a1
GK
171832002-03-09 Geoffrey Keating <geoffk@redhat.com>
17184
17185 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
17186 (ne0+5): Use new clobber to generate proper shift pattern.
17187 Patch by Michael Matz <matz@kde.org>.
17188
2877e0ae
AS
171892002-03-09 Andreas Schwab <schwab@suse.de>
17190
17191 * gcc.c (validate_all_switches): Also handle `%W{...}'.
17192
79b51cd7
GK
171932002-03-09 Geoffrey Keating <geoffk@redhat.com>
17194
17195 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
17196
e0f1be5c
JJ
171972002-03-09 Jakub Jelinek <jakub@redhat.com>
17198
17199 PR middle-end/5877
17200 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
17201 even for non-representable constants.
17202
0a7ec763
RK
17203Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17204
93fe8e92
RK
17205 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
17206 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
17207 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
17208 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
17209 (pop_function_context): Compute MAY_SHARE parameter for
17210 fixup_var_refs.
17211 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
17212 (gen_mem_addressof): Call fixup_var_refs with new parm.
17213
0a7ec763
RK
17214 * combine.c (make_extraction): Don't make extension of CONST_INT.
17215
a85cd407
AO
172162002-03-09 Alexandre Oliva <aoliva@redhat.com>
17217
9445b814
AO
17218 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
17219 in o32 and o64 ABIs.
17220 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
17221 but getting fixed-size structs passed in registers regardless of
17222 padding in o32 and o64 ABIs.
17223
a85cd407
AO
17224 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
17225 offset before loading address of argument passed by transparent
17226 reference.
17227
c51fbe40
JDA
172282002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
17229
17230 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
17231
918e70dd
AO
172322002-03-09 Alexandre Oliva <aoliva@redhat.com>
17233
17234 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
17235 marker such that registers after it are saved.
17236
3070dd00
KG
172372002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17238
17239 * sparc.c (arith_4096_operand): Fix error in last change.
17240
e25d11b0
AO
172412002-03-08 Alexandre Oliva <aoliva@redhat.com>
17242
17243 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
17244 defaults for MEABI.
17245
41daaf0e
AH
172462002-03-08 Aldy Hernandez <aldyh@redhat.com>
17247
5b43fed1
RH
17248 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
17249 vectors.
41daaf0e 17250
fa139b00
AH
172512002-03-08 Aldy Hernandez <aldyh@redhat.com>
17252
5b43fed1 17253 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 17254
c51d95ec
JH
17255Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
17256
17257 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
17258 removed; fix return value.
17259 * combine.c (combine_instructions): Dirtify blocks where we failed to
17260 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
17261 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
17262
3b25fbfe
KG
172632002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17264
17265 * gcse.c (insert_insn_end_bb): Fix typo in last change.
17266
189ae0f4
JH
17267Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
17268
17269 * recog.c (peephole2_optimize): Re-distribute EH edges.
17270
24965e7a
NB
172712002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
17272
17273 * expr.c (expand_expr): Use unsave lang hook.
17274 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
17275 (LANG_HOOKS_INITIALIZER): Update.
17276 * langhooks.h (struct lang_hooks): New hook unsave.
17277 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
17278 (unsave_expr_1): Remove unused lang_unsave_expr_now.
17279 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
17280 (unsave_expr_now): Remove.
17281 * tree.h (unsave_expr_now, lang_unsave,
17282 lang_unsave_expr_now): Remove.
17283 (lhd_unsave): New.
17284
1e4e95d6
AJ
172852002-03-08 Andreas Jaeger <aj@suse.de>
17286
17287 * flow.c (propagate_block_delete_insn): Remove unused variable.
17288
054ef905
KH
172892002-03-08 Kazu Hirata <kazu@hxi.com>
17290
17291 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
17292 insn length for memory load/store.
17293
5304400d 172942002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 17295
5304400d
CR
17296 * doc/install.texi (--with-libiconv-prefix): Document.
17297
81034129
MB
172982002-03-08 Michael Y. Brukman <myb2@cornell.edu>
17299
17300 * doc/sourcebuild.texi: Fix typo.
17301
71db7d03
JJ
173022002-03-08 Jakub Jelinek <jakub@redhat.com>
17303
17304 PR c/3711
17305 * builtins.c (std_expand_builtin_va_arg): Do all computations on
17306 trees.
17307
127c1ba5
RK
17308Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17309
17310 * rtl.c (copy_most_rtx): Move from here ...
17311 * emit-rtl.c (copy_most_rtx): ... to here.
17312
8a13c092
AO
173132002-03-08 Alexandre Oliva <aoliva@redhat.com>
17314
5faae4f7
AO
17315 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
17316 SUBTARGET_CPP_SIZE_SPEC.
17317 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
17318
8a13c092
AO
17319 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
17320
4ec59de2
MH
173212002-03-07 Matt Hiller <hiller@redhat.com>
17322
17323 * gensupport.c (first_dir_md_include): Renamed from include;
17324 change all references.
17325 (last_dir_md_include): Renamed from last_include; change all
17326 references.
17327 (init_md_reader): Unconditionally initialize base_dir whether or
17328 not filename is a relative path.
17329
12f61e77
AO
173302002-03-07 Alexandre Oliva <aoliva@redhat.com>
17331
95356058
AO
17332 * config/fp-bit.c (_unord_f2): Compile it in even if
17333 US_SOFTWARE_GOFAST is enabled.
17334
12f61e77
AO
17335 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
17336 NULL_RTX. Set all HFmode operations as NULL_RTX.
17337 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
17338 NULL_RTX, try reversing the comparison and the operands.
17339
6d7a1c4c
UW
173402002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
17341
17342 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
17343 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
17344 and MATCH_OP_DUP.
17345
66d54344
JH
17346Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
17347
17348 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
17349
068473ec
JH
17350Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
17351
17352 * basic-block.h (fixup_abnormal_edges): Declare.
17353 * reload1.c (fixup_abnormal_edges): New function.
17354 * reg-stack.c (convert_regs): Use it.
17355
17356 * gcse.c (insert_insn_end_bb): Handle trapping insns.
17357
17358 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
17359
71925bc0
RS
173602002-03-07 Richard Sandiford <rsandifo@redhat.com>
17361
17362 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
17363 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
17364 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
17365 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
17366 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
17367 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
17368 unless x and y could be infinite.
17369 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
17370 Check that the common type of both arguments is a real, even for
17371 targets without unordered comparisons. Allow an integer argument
17372 to be compared against a real.
17373 (expand_tree_builtin): Use expand_unordered_cmp.
17374 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
17375 * cse.c (fold_rtx): Likewise. Fix indentation.
17376 * fold-const.c (fold_real_zero_addition_p): New.
17377 (fold): Use it, and the new HONOR_... macros.
17378 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
17379 * jump.c (reversed_comparison_code_parts): After searching for
17380 the true comparison mode, use HONOR_NANS to decide whether it
17381 can be safely reversed.
17382 (reverse_condition_maybe_unordered): Remove IEEE check.
17383 * simplify-rtx.c (simplify_binary_operation): Use the new macros
17384 to decide which simplifications are valid. Allow the following
17385 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
17386 and (a - -b) to (a + b).
17387 (simplify_relational_operation): Use HONOR_NANS.
17388 * doc/tm.texi: Document the MODE_HAS_... macros.
17389
145d3bf2
RE
173902002-03-07 Richard Earnshaw <rearnsha@arm.com>
17391
17392 * combine.c (simplify_comparison): If simplifying a logical shift
17393 right and compare with constant, force the comparison to unsigned.
17394
76a773f3
AH
173952002-03-07 Aldy Hernandez <aldyh@redhat.com>
17396
5b43fed1 17397 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 17398
5b43fed1
RH
17399 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
17400 -mabi=no-altivec
17401 (alt_reg_names): Remove % for vrsave.
76a773f3 17402
ab55f58c
RH
174032002-03-06 Richard Henderson <rth@redhat.com>
17404
5ddec02e 17405 PR optimization/5844
ab55f58c
RH
17406 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
17407 if used indicates we've already emitted one copy of an operand.
17408 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
17409 (gen_split): Supply a non-null used.
17410
e16e3291
UW
174112002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
17412
5b43fed1 17413 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 17414
1e4e95d6 17415 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
17416 but simply fail if the expression is too complex to simplify.
17417 (simplify_gen_binary): Handle simplify_plus_minus failures.
17418
2ca6672b
JH
17419Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
17420
17421 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
17422 consistently call delete_trivially_dead_insns after CSE and GCSE;
17423 fix DFI_life dumping; do jump threading after liveness; do crossjumping
17424 after liveness2; update comment in last crossjumping.
17425 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
17426
31d0dd4f
JL
17427Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
17428
d094b0b3
JL
17429 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
17430 after completing fast dead code elimination.
17431
31d0dd4f
JL
17432 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
17433 COMPARE operator.
1e4e95d6 17434
f2b958b1
PE
174352002-03-06 Phil Edwards <pme@gcc.gnu.org>
17436
17437 * version.c: Fix misplaced leading blanks on first line.
17438
a2877a09
JH
17439Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
17440
17441 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
17442
fe477d8b
JH
17443Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
17444
17445 * cfgcleanup.c (mentions_nonequal_regs): New function.
17446 (thread_jump): Use it.
17447 * toplev.c (rest_of_compilation): Run jump threading after
17448 liveness.
17449
2041cde4
JJ
174502002-03-06 Jakub Jelinek <jakub@redhat.com>
17451
17452 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
17453 patch.
17454
82d68d46
JH
17455Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
17456
17457 * predict.c (estimate_bb_frequencies): Do not reload the
17458 frequencies from notes.
17459
3dec4024
JH
17460Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
17461
17462 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
17463 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
17464
17465 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
17466 delete_noop_moves): Return indeger.
17467 * flow.c (ndead): New variable.
17468 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
17469 BB argument; update callers.
17470 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
17471 (life_analysis): Do not call purge_all_dead_edges.
17472 (update_life_info): Return number of deleted insns; print statistics.
17473 (update_life_info_in_dirty_blocks): likewise.
17474 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
17475 return number of insns deleted.
17476
17477 * cse.c: Include timevar.h
17478 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
17479 iterate until stabilizes; print statistics; return number of killed
17480 insns.
17481 * Makefile.in: (cse.o): Add timevar.h dependency
17482 * rtl.h (delete_trivially_dead_insns): New.
17483 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
17484 * toplev.c (rest_of_compilation): Update callers.
17485
17486 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
17487 (try_optimize_cfg): Do not update liveness.
17488 (cleanup-cfg): Loop until try_optimize_cfg and dead code
17489 removal stabilizes; use delete_trivially_dead_insns.
17490
17491 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
17492
c7544dd8
ZW
174932002-03-05 Zack Weinberg <zack@codesourcery.com>
17494
17495 * cppmain.c (setup_callbacks): Disable #pragma and #ident
17496 callbacks when processing assembly language.
17497
50b424a9
JDA
174982002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
17499
17500 * pa.h (ASM_FILE_END): Define.
17501 * som.h (ASM_FILE_END): Delete.
17502
17503 * pa.c (function_arg): Don't pass floats in general registers in
17504 indirect calls if TARGET_ELF32.
17505
6185f217
RH
175062002-03-05 Richard Henderson <rth@redhat.com>
17507
17508 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
17509
3020a4b2
DS
175102002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
17511
17512 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
17513
65649daa
JJ
175142002-03-05 Jakub Jelinek <jakub@redhat.com>
17515
17516 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
17517 -r command line. Don't hide any symbols if not building
17518 shared libgcc.
17519
5a1a3e5e
JH
17520Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
17521
17522 * cfg.c (dump_flow_info): Warn about profile mismatches.
17523 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
17524 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
17525
170c56da
JJ
175262002-03-05 Jakub Jelinek <jakub@redhat.com>
17527
17528 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
17529 wide volatile memory by parts.
17530
6d051694
JJ
175312002-03-05 Jakub Jelinek <jakub@redhat.com>
17532
17533 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
17534 is NULL.
17535
28bcfd4d
RH
175362002-03-05 Richard Henderson <rth@redhat.com>
17537
5b43fed1 17538 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 17539
75227a33
GK
175402002-03-04 Geoffrey Keating <geoffk@redhat.com>
17541
17542 * toplev.c (documented_lang_options): Document more
17543 language-specific options.
17544 * doc/invoke.texi (Warning Options): Correct documentation for
17545 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
17546 * c-decl.c (c_decode_option): Use a table to handle warning options.
17547
4f1aac42
HPN
175482002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
17549
17550 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
17551 parameter to mmix_encode_section_info.
17552 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
17553 relocatably. Always produce ELF, not mmo if linking relocatably.
17554 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
17555 first is non-zero, don't add symbol prefix.
17556 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
17557 prototype accordingly.
17558
12345543
KW
175592002-03-04 Krister Walfridsson <cato@df.lth.se>
17560
17561 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
17562
8e97db8f
JM
175632002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
17564
17565 * configure.in: Increase required makeinfo version to 4.1.
17566 * configure: Regenerate.
17567
06487868
GK
175682002-03-04 Geoffrey Keating <geoffk@redhat.com>
17569
17570 * .cvsignore: Remove *.info* and genrtl*; these files are generated
17571 elsewhere now.
17572
cff42170
JM
175732002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
17574
17575 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
17576 * doc/invoke.texi: Fix @math uses.
17577
974a7f56
JH
17578Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
17579
17580 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
17581 removal
17582
3b7d0e98
AH
175832002-03-03 Aldy Hernandez <aldyh@redhat.com>
17584
5b43fed1
RH
17585 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
17586 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 17587
5b43fed1 17588 * config/rs6000/t-ppcendian: New.
3b7d0e98 17589
65f2f288
HB
175902002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
17591
17592 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
17593 nonimmediate_src_operand and nonimmediate_lsrc_operand to
17594 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
17595
8ce0a8a5
RH
175962002-03-03 Richard Henderson <rth@redhat.com>
17597
17598 * toplev.c (rest_of_decl_compilation): Revert last two changes.
17599
ba31d94e
ZW
176002002-03-03 Zack Weinberg <zack@codesourcery.com>
17601
17602 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
17603 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
17604 tree.c, config/m68k/m68k.c:
17605 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
17606 REAL_ARITHMETIC blocks unconditional. Delete some further
17607 #ifdef blocks predicated on REAL_ARITHMETIC.
17608 * flags.h, toplev.c: Delete remaining references to
17609 flag_pretend_float.
17610
17611 * doc/invoke.texi: Remove documentation of -fpretend-float.
17612 * doc/tm.texi: Describe the various REAL_* macros as provided by
17613 real.h, not by the target configuration files.
17614
17615 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
17616 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
17617 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
17618 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
17619 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
17620 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
17621 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
17622 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
17623 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
17624 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
17625 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
17626 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
17627 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
17628 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
17629 config/xtensa/xtensa.h:
17630 Do not define, undefine, or mention in comments any of
17631 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
17632 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
17633 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
17634 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
17635 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
17636 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
17637 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
17638 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
17639 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
17640
9a571cfd
KG
176412002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17642
e81dd381
KG
17643 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
17644 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
17645 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
17646 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
17647 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
17648 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
17649 Delete.
17650 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 17651 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 17652
9a571cfd
KG
17653 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
17654 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
17655 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
17656
ca7558fc
KG
176572002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17658
17659 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
17660 lieu of explicit sizeof/sizeof.
17661 * i386.c (override_options, ix86_init_mmx_sse_builtins,
17662 ix86_expand_builtin): Likewise.
17663 * mips.c (mips_add_gc_roots): Likewise.
17664 * mmix.c (mmix_output_condition): Likewise.
17665 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
17666 altivec_init_builtins): Likewise.
17667 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
17668 * cppexp.c (Nsuff, parse_number): Likewise.
17669 * cppinit.c (builtin_array_end): Likewise.
17670 * gcc.c (n_default_compilers, process_command): Likewise.
17671 * genpreds.c (output_predicate_decls): Likewise.
17672 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
17673 * lcm.c (N_ENTITIES): Likewise.
17674 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 17675
41c78c88
RH
176762002-03-03 Richard Henderson <rth@redhat.com>
17677
17678 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
17679 for types or labels.
17680
9e9b71e6
RH
176812002-03-03 Richard Henderson <rth@redhat.com>
17682
17683 * c-decl.c (start_decl): Initialized variables are not common.
17684
c26a6db8
PB
176852002-03-02 Per Bothner <per@bothner.com>
17686
17687 * gcc.c (option_map): Suport new --bootclasspath option.
17688 --CLASSPATH is now just an alias for --classpath.
17689
9e8aab55
RH
176902002-03-02 Richard Henderson <rth@redhat.com>
17691
17692 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
17693 load if "internal" visibility.
17694 * doc/extend.texi: Document visibility meanings.
17695
b3bbd220
RH
176962002-03-02 Richard Henderson <rth@redhat.com>
17697
17698 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
17699 to functions as well.
17700
b14707c3
RH
177012002-03-02 Richard Henderson <rth@redhat.com>
17702
17703 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
17704 (handle_visibility_attribute): Don't call assemble_visibility.
17705 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
17706 without asmspec. Invoke assemble_alias when needed.
17707 * varasm.c (maybe_assemble_visibility): New.
17708 (assemble_start_function, assemble_variable, assemble_alias): Use it.
17709
b2003250
RH
177102002-03-02 Richard Henderson <rth@redhat.com>
17711
17712 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
17713 invoke ENCODE_SECTION_INFO with first call flag.
17714
17715 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
17716 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 17717 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
17718 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
17719 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
17720 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
17721 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
17722 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
17723 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
17724 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
17725 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
17726 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
17727 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
17728 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
17729 config/mcore/mcore-protos.h, config/mcore/mcore.c,
17730 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
17731 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 17732 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
17733 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
17734 config/sh/sh.h, config/sparc/sparc.h,
17735 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
17736 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
17737 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
17738 FIRST argument. As needed, examine it and do nothing.
17739
ba31d94e 17740 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
17741 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
17742 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
17743
17744 * config/arm/t-pe (pe.o): Add dependencies.
17745
5c60f03d
KG
177462002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17747
17748 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
17749 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
17750 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
17751 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
17752 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
17753 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
17754 * defaults.h (BITS_PER_UNIT): Define.
17755 * doc/tm.texi (BITS_PER_UNIT): Document default value.
17756
86855e8c
KH
177572002-03-02 Kazu Hirata <kazu@hxi.com>
17758
17759 * config/h8300/h8300-protos.h: Add a prototype for
17760 compute_a_shift_length.
17761 * config/h8300/h8300.c (h8300_asm_insn_count): New.
17762 (compute_a_shift_length): Likewise.
17763 (h8300_adjust_insn_length): Do not adjust insn length of shift
17764 insns.
17765 * config/h8300/h8300.md (anonymous shift patterns): Use
17766 compute_a_shift_length.
17767
f6041ed8
RK
17768Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17769
35aa3c1c
RK
17770 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
17771 trunc_int_for_mode.
17772
f6041ed8
RK
17773 * emit-rtl.c (offset_address): Call update_temp_slot_address.
17774
27b41650
KG
177752002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17776
17777 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
17778 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
17779 * flags.h (flag_zero_initialized_in_bss): Declare.
17780 * toplev.c (flag_zero_initialized_in_bss): New flag.
17781 (lang_independent_options): Add flag_zero_initialized_in_bss.
17782 * tree.c (initializer_zerop): New function.
17783 * tree.h (initializer_zerop): Declare.
17784 * varasm.c (assemble_variable): If we can emit bss, put zero
17785 initializers in the bss section.
17786
ca734b39
AM
177872002-03-02 Alan Modra <amodra@bigpond.net.au>
17788
17789 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
17790 like more than one symbol per .weak directive.
17791
49b72306
RH
177922002-03-01 Richard Henderson <rth@redhat.com>
17793
17794 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
17795 adjust argument_pointer by pretend_args_size.
17796 (ia64_va_start): Adjust va_start address by -pretend_args_size.
17797
fbf0fe41
KH
177982002-03-01 Kazu Hirata <kazu@hxi.com>
17799
17800 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
17801
0010687d
JH
17802Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
17803
17804 * toplev.c (rest_of_compilation): Delete dead jumptables before
17805 loop.
17806 * flow.c (delete_dead_jumptables): Make global.
17807 * rtl.h (delete_dead_jumptables): Declare.
17808
9429c84c
DE
178092002-03-01 David Edelsohn <edelsohn@gnu.org>
17810
17811 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
17812 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 17813 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 17814
f0b6f9a6
KH
178152002-03-01 Kazu Hirata <kazu@hxi.com>
17816
17817 * config/h8300/h8300-protos.h: Fix formatting.
17818 * config/h8300/h8300.c: Likewise.
17819 * config/h8300/h8300.h: Likewise.
17820
bc8db8a1
KH
178212002-03-01 Kazu Hirata <kazu@hxi.com>
17822
17823 * config/h8300/h8300.c (print_operand): Support 16-bit
17824 constant addresses.
17825 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
17826
32b069d3
RH
178272002-02-28 Richard Henderson <rth@redhat.com>
17828
17829 * expmed.c (store_bit_field): Prevent generation of CONCATs;
17830 pun complex values as integers; use gen_lowpart instead of
17831 gen_rtx_SUBREG.
17832 (extract_bit_field): Likewise.
17833
79c4e63f
AM
178342002-03-01 Alan Modra <amodra@bigpond.net.au>
17835 David Edelsohn <edelsohn@gnu.org>
17836
17837 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
17838 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
17839 (SUPPORTS_WEAK): Likewise.
17840 * output.h (add_weak): Add tree param.
17841 * varasm.c (add_weak): Likewise. Save decl.
17842 (struct weak_syms): Add decl field.
17843 (mark_weak_decls): New function.
17844 (init_varasm_once): ggc_add_root mark_weak_decls.
17845 (assemble_start_function): Use ASM_WEAKEN_DECL.
17846 (assemble_variable): Likewise.
17847 (assemble_alias): Likewise.
17848 (declare_weak): Pass decl to add_weak.
17849 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
17850 (remove_from_pending_weak_list): Declare and define for
17851 ASM_WEAKEN_DECL.
17852 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
17853 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
17854 * defaults.h (SUPPORTS_WEAK): Likewise.
17855 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
17856 .weak for code sym. Do emit .size for descriptor sym.
17857 (ASM_DECLARE_FUNCTION_SIZE): Define.
17858 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
17859 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
17860 .lglobl unless TARGET_XCOFF. Formatting fixes.
17861 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
17862 .weak for code sym.
17863 (HANDLE_PRAGMA_WEAK): Remove.
17864 (ASM_WEAKEN_LABEL): Remove.
17865 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
17866
6f30f1f1
JM
178672002-03-01 Jason Merrill <jason@redhat.com>
17868
17869 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
17870 (TARGET_EXPR_CLEANUP): New macro.
17871
7879b81e
SE
178722002-02-28 Steve Ellcey <sje@cup.hp.com>
17873
17874 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
17875 to take ptr_extend into account as third type of extension.
17876 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
17877 fields used by SUBREG_PROMOTED_UNSIGNED_P.
17878 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
17879 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
17880 * calls.c (precompute_arguments): Use new macro.
17881 (expand_call): Ditto.
17882 * combine.c (nonzero_bits): Ditto.
17883 (record_promoted_value): Ditto.
17884 * expr.c (store_expr): Ditto.
17885 (expand_expr): Ditto.
17886 * function.c (assign_parms): Ditto.
17887
42d579d8
AO
178882002-02-28 Alexandre Oliva <aoliva@redhat.com>
17889
17890 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
17891 override -shared and -shared-libgcc.
17892
e0054185
DB
178932002-02-28 David O'Brien <obrien@FreeBSD.org>
17894
17895 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
17896 of "ultrasparc".
17897 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
17898 to be broken.
17899
abda4f1c
RH
179002002-02-28 Richard Henderson <rth@redhat.com>
17901
17902 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
17903 4 cycle latency from MM producers.
17904 (ia64_internal_sched_reorder): Likewise with pipeline flush.
17905
c0f08649
JJ
179062002-02-28 Jakub Jelinek <jakub@redhat.com>
17907
17908 * mklibgcc.in: Don't use GNU make extension.
17909
f79f2651
NB
179102002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
17911
17912 * c-parse.in (STATIC): New terminal.
17913 (scspec): New non-terminal. Update productions accordingly.
17914 (program): Remove bogus ifc / end ifc.
17915 (array_declarator): Simplify production using STATIC.
17916
001e3fee
JM
179172002-02-28 Jim Meyering <meyering@lucent.com>
17918
17919 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
17920 \a still means TARGET_BELL.
17921
89076bb3
RH
179222002-02-28 Richard Henderson <rth@redhat.com>
17923
17924 * haifa-sched.c (sched_emit_insn): New.
17925 (schedule_block): Use last_scheduled_insn to track last insn.
17926 * sched-int.h (sched_emit_insn): Prototype.
17927 * config/ia64/ia64.c (last_issued): Remove.
17928 (ia64_variable_issue): Don't set it.
17929 (nop_cycles_until): Use sched_emit_insn.
17930
e3aaacf4
AM
179312002-02-28 Andrew MacLeod <amacleod@redhat.com>
17932
17933 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
17934 extended constants.
17935
7f473594
KH
179362002-02-28 Kazu Hirata <kazu@hxi.com>
17937
17938 * config/h8300/h8300.c: Fix formatting.
17939 * config/h8300/h8300.h: Likewise.
17940
b96c434c
MM
179412002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
17942
17943 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
17944 which may overwrite the high byte of the frame pointer.
17945
9b420a6a
BT
179462002-02-28 Bo Thorsen <bo@suse.de>
17947
17948 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
17949 (STARTFILE_SPEC): Add 64 bit files.
17950 (ENDFILE_SPEC): Likewise.
17951
6f30f1f1 179522002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
17953
17954 * c-decl.c (finish_function): Only warn about missing return
17955 statement with -Wreturn-type.
17956
70da1d03
JH
17957Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
17958
17959 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
17960
17961 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
17962 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
17963
38c1593d
JH
17964Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
17965
17966 * basic-block.h (BB_REACHABLE): Renumber.
17967 (BB_DIRTY, BB_NEW): New flags.
17968 (clear_bb_flags): Declare.
17969 (update_life_info_in_dirty_blocks): Declare.
17970 * cfg.c (clear_bb_flags): New function.
17971 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
17972 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
17973 reorder_insns, emit_insn_after): Mark block as dirty.
17974 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
17975 (update_life_info_in_dirty_blocks): New function.
17976 * recog.c (apply_change_group): Dirtify block.
17977
17978 * cse.c (cse_insn): Reorder emitting of jump insn to keep
17979 cfg consistent.
17980 * gcse.c (delete_null_pointer_checks): Likewise.
17981
17982 * toplev.c (dump_file_index): Move cse2 after bp,
17983 add DFI_null
17984 (dump_file_info): Similary.
17985 (rest_of_compilation): Avoid most of CFG rebuilds;
17986 do first if converision after null pointer checks, do cse2
17987 after branch prediction; avoid full liveness rebuild after
17988 initializing subregs.
17989 * invoke.texi (-d options): Document -du, renumber.
17990
17991 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
17992 (notice_new_block): Do not set BB_UPDATE_LIFE.
17993 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
17994 merge_blocks_move_successor_nojumps, merge_blocks,
17995 try_crossjump_to_edge): Likewise.
17996 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
17997 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
17998 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
17999 (merge_of_block): Do not use life_data_ok.
18000 (find_if_case_1): Do not use SET_UPDATE_LIFE.
18001 (if_convert): Use BB_DIRTY mechanizm to update life.
18002 * lcm.c (optimize_mode_switching): Update
18003 update_life_info_in_dirty_blocks
18004
63e1b1c4
NB
180052002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
18006
18007 * Makefile.in (integrate.o): Update.
18008 * c-decl.c (copy_lang_decl): Rename.
18009 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
18010 * integrate.c: Include langhooks.h.
18011 (copy_decl_for_inlining): Update to use langhook.
18012 * langhooks-def.h (lhd_do_nothing_t,
18013 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
18014 (LANG_HOOKS_INITIALIZER): Update.
18015 * langhooks.c (lhd_do_nothing_t): New.
18016 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
18017 * tree.h (copy_lang_decl): Remove.
18018objc:
18019 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
18020
f472fa29
AM
180212002-02-27 Andrew MacLeod <amacleod@redhat.com>
18022
ba31d94e 18023 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
18024 POST_DEC, and POST_MODIFY.
18025
273cf2e4
ZW
180262002-02-27 Zack Weinberg <zack@codesourcery.com>
18027
18028 * c-typeck.c (digest_init): Remove unused parameter; all
18029 callers changed.
18030
4e07d762
GK
180312002-02-27 Geoffrey Keating <geoffk@redhat.com>
18032
18033 * expmed.c (expand_shift): Correctly test for low part of a
18034 subreg.
18035
6bc627b3
UW
180362002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
18037
18038 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
18039 insn UIDs with insn addresses.
18040
f458d1d5
ZW
180412002-02-27 Zack Weinberg <zack@codesourcery.com>
18042
18043 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
18044 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
18045 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
18046 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
18047 gcc.c, toplev.c: Delete code implementing -traditional mode.
18048
18049 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
18050 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
18051 Document removal of -traditional mode for compilation, and
18052 remove documentation only relevant to that mode.
18053
18054 * config/nextstep.h, config/ptx4.h, config/svr4.h,
18055 config/convex/convex.h, config/d30v/d30v.h,
18056 config/i386/dgux.h, config/i386/osf1elf.h,
18057 config/i386/osfelf.h, config/i386/osfrose.h,
18058 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
18059 config/m68k/hp310.h, config/m88k/dgux.h,
18060 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
18061 config/m88k/m88k.h, config/m88k/openbsd.h,
18062 config/mips/abi64.h, config/mips/osfrose.h,
18063 config/mips/svr4-5.h, config/mips/svr4-t.h,
18064 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
18065 config/stormy16/stormy16.h: Remove all references to
18066 -traditional from target specs. Delete all mention of the
18067 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
18068 delete a couple of commented-out definitions of
18069 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
18070 to -traditional.
18071
18072 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
18073 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
18074
e0b3a8ff
ZW
180752002-02-27 Zack Weinberg <zack@codesourcery.com>
18076
18077 * mklibgcc.in: Don't use \n in a line subject to
18078 interpretation by echo.
18079
5c6a85b7
GS
180802002-02-27 Graham Stott <grahams@redhat.com>
18081
72b05af1
GS
18082 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
18083 Constify NAME.
18084
7d104885
GS
18085 * loop.c (prescan_loop): Handle PARALLEL.
18086
8ed805d2
GS
18087 * unroll.c (loop_iterations): Return 0 if the add_val for
18088 a BIV is REG.
18089
fd478a0a
GS
18090 * final.c (output_operand_lossage): Constify PFX_STR.
18091
5c6a85b7
GS
18092 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
18093
cd98ad03
JH
18094Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
18095
18096 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
18097 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
18098
639ae55b
JH
18099Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
18100
18101 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
18102
e808ec9c
NB
181032002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
18104
18105 * cpplex.c (_cpp_lex_token): Handle directives in macro
18106 arguments.
18107 * cpplib.c (_cpp_handle_directive): Save and restore state
18108 if parsing macro args when entering a directive.
18109 * cppmacro.c (collect_args): No need to handle directives
18110 in macro arguments.
18111 (enter_macro_context, replace_args): Use the original macro
18112 definition in case it was redefined whilst collecting arguments.
18113doc:
18114 * cpp.texi: Update.
18115
f585a356
DE
181162002-02-26 David Edelsohn <edelsohn@gnu.org>
18117
18118 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
18119 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
18120 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
18121 method on AIX.
18122 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
18123 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
18124 (load_toc_v4_PIC_2): Same.
18125
181262002-02-26 Alan Modra <amodra@bigpond.net.au>
18127
18128 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
18129
d699058e
RH
181302002-02-26 Richard Henderson <rth@redhat.com>
18131
18132 * config/alpha/alpha.md (ashldi_se): Re-enable.
18133
eadccfbb
RH
181342002-02-26 Richard Henderson <rth@redhat.com>
18135
18136 * config/alpha/alpha.c (alpha_encode_section_info): Examine
18137 MODULE_LOCAL_P; improve commentary.
18138
7080ada1
ZW
181392002-02-26 Zack Weinberg <zack@codesourcery.com>
18140
18141 * doc/cpp.texi: Clarify documentation of relationship between
18142 #line and #include.
18143
b42cff6b
KH
181442002-02-26 Kazu Hirata <kazu@hxi.com>
18145
18146 * config/h8300/h8300-protos.h: Update the prototype for
18147 compute_logical_op_length. Add the prototype for
18148 compute_logical_op_cc.
18149 * config/h8300/h8300.c (compute_logical_op_length): Figure out
18150 code from operands.
18151 (compute_logical_op_cc): New.
18152 * config/h8300/h8300.md: Combine all the logical op patterns
18153 in HImode and SImode. Use compute_logical_op_cc.
18154
831c4e87
KC
181552002-02-26 Kelley Cook <kelleycook@comcast.net>
18156
18157 * config/i386/i386.c (print_operand): Don't append ATT-style
18158 length suffixs to x87 opcodes when in Intel mode.
18159
ff88fe10
RS
181602002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
18161
18162 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
18163 (init_emit_once): Update calls.
18164 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
18165 (init_syntax_once): Prototype.
18166
d4108589
JDA
181672002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
18168
18169 * pa-linux.h (LIB_SPEC): Update definition.
18170 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
18171
e013f3c7
RH
181722002-02-26 Richard Henderson <rth@redhat.com>
18173
18174 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
18175 if we emitted a stop bit.
18176
9e944a16
JJ
181772002-02-26 Jakub Jelinek <jakub@redhat.com>
18178
18179 * configure.in (libgcc_visibility): Substitute.
18180 * configure: Rebuilt.
18181 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
18182 defined symbols .hidden.
18183
47bd70b5
JJ
181842002-02-26 Jakub Jelinek <jakub@redhat.com>
18185
18186 * attribs.c (c_common_attribute_table): Add visibility.
18187 (handle_visibility_attribute): New function.
18188 * varasm.c (assemble_visibility): New function.
18189 * output.h (assemble_visibility): Add prototype.
18190 * tree.h (MODULE_LOCAL_P): Define.
18191 * crtstuff.c (__dso_handle): Use visibility attribute.
18192 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
18193 for MODULE_LOCAL_P symbols too.
18194 * config/ia64/ia64.c (ia64_encode_section_info): Handle
18195 MODULE_LOCAL_P symbols the same way as local symbols.
18196 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
18197 into .sdata/.sbss by the user.
18198 * doc/extend.texi (Function Attributes): Document visibility
18199 attribute.
18200
6d73371a
JJ
182012002-02-26 Jakub Jelinek <jakub@redhat.com>
18202
18203 PR debug/5770
18204 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
18205 STRING_CST initializer spanning the whole variable without
18206 embedded zeros.
18207 If expand_expr returned MEM, don't use it.
18208
06e224f7
AO
182092002-02-26 Alexandre Oliva <aoliva@redhat.com>
18210
18211 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
18212 generate a die for the lexical block.
18213
40367e2d
KH
182142002-02-26 Kazu Hirata <kazu@hxi.com>
18215
18216 * config/h8300/h8300-protos.h: Add a prototype for
18217 compute_logical_op_length.
18218 * config/h8300/h8300.c (compute_logical_op_length): New.
18219 * config/h8300/h8300.md (anonymous logical patterns): Use
18220 compute_logical_op_length for length.
18221
0e98f924
AH
182222002-02-26 Aldy Hernandez <aldyh@redhat.com>
18223
831c4e87
KC
18224 * dwarf2out.c (modified_type_die): Do not call type_main_variant
18225 for vectors.
18226 (gen_type_die): Same.
0e98f924 18227
831c4e87 18228 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 18229
a50cfd52
DE
182302002-02-26 Daniel Egger <degger@fhm.edu>
18231
831c4e87
KC
18232 * config/rs6000/rs6000.md: Swap define_insn attributes to
18233 fix incorrect generation of merge high instructions instead
18234 of merge low.
a50cfd52 18235
b7997284
AH
182362002-02-26 Aldy Hernandez <aldyh@redhat.com>
18237
831c4e87
KC
18238 * c-typeck.c (really_start_incremental_init): Use
18239 bitsize_zero_node for vectors.
b7997284 18240
376aec5d
AH
182412002-02-26 Aldy Hernandez <aldyh@redhat.com>
18242
831c4e87
KC
18243 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
18244 ("*set_vrsave_internal"): Same.
376aec5d 18245
3b40e71b
RH
182462002-02-25 Richard Henderson <rth@redhat.com>
18247
18248 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
18249 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
18250
232b8f52
JJ
182512002-02-25 Jakub Jelinek <jakub@redhat.com>
18252
18253 PR target/5755
18254 * config/i386/i386.c (ix86_return_pops_args): Only pop
18255 fake structure return argument if it was passed on the stack.
18256
67282790
JM
182572002-02-25 Jason Merrill <jason@redhat.com>
18258
18259 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
18260 RESULT_DECL.
18261
5c181756
AO
182622002-02-25 Alexandre Oliva <aoliva@redhat.com>
18263
18264 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
18265 link with shared_name only.
18266 * doc/invoke.texi (Link Options): Document new behavior.
18267
6786d201
AH
182682002-02-25 Aldy Hernandez <aldyh@redhat.com>
18269
831c4e87 18270 * c-typeck.c (push_init_level): Handle vectors.
6786d201 18271
7d6040e8
AO
182722002-02-25 Alexandre Oliva <aoliva@redhat.com>
18273
18274 * config/sparc/sparc.c (const64_high_operand): Zero-extend
18275 operands of SPARC_SETHI_P.
18276 (input_operand): Likewise.
18277 (sparc_emit_set_const32): Likewise.
18278 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
18279 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
18280 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
18281 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
18282 (movdi_insn_sp64_vis): Likewise.
18283 (movdi split, movdf split): Use SETHI32.
18284 * doc/md.texi: Document SPARC constraints L, M and N.
18285
b188f760
AH
182862002-02-25 Aldy Hernandez <aldyh@redhat.com>
18287
831c4e87
KC
18288 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
18289 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 18290
831c4e87
KC
18291 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
18292 gen_get_vrsave_internal.
b188f760 18293
8041889f
RK
18294Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18295
18296 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
18297
a47ed310
NB
182982002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
18299
18300 * cpplex.c (cpp_interpret_charconst): Get signedness or
18301 otherwise of wide character constants correct.
18302 * cppexp.c (lex): Get signedness of wide charconsts correct.
18303
cb8f73be
RK
18304Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18305
18306 * optabs.c (widen_operand): Only call convert_modes for
18307 promoted SUBREG if signedness matches.
18308 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
18309
2450e0b8
NB
183102002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
18311
18312 * cpplib.c (glue_header_name): Use local buffer to build up
18313 header name.
18314
70b6aaed
NB
183152002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
18316
18317 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
18318
6be580c7
KH
183192002-02-23 Kazu Hirata <kazu@hxi.com>
18320
18321 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
18322 H8/300[HS] separately.
18323 * config/h8300/h8300.md: Remove the early clobber constraint
18324 from bit field patterns.
18325
35dad9f1
KH
183262002-02-23 Kazu Hirata <kazu@hxi.com>
18327
18328 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
18329 register_operand.
18330 (mulhisi3): Likewise.
18331 (umulqisi3): Likewise.
18332 (umulhisi3): Likewise.
18333
ab8e2228
NB
183342002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
18335
18336 * cppinit.c (output_deps): Correct test for stdout output.
18337 (init_dependency_output): Cure warning.
18338
ac6f8a15
RK
18339Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18340
18341 * expr.c (store_expr): When converting expression to promoted
18342 equivalent type, allow using SUBREG_REG of TARGET as the target
18343 of the expansion of EXP.
18344 * loop.c (basic_induction_var, case SUBREG): Always look inside.
18345 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
18346 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
18347 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
18348 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
18349
f282ffb3
JM
183502002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
18351
18352 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
18353 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
18354 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
18355
44c5edc0
JJ
183562002-02-23 Jakub Jelinek <jakub@redhat.com>
18357
18358 PR optimization/5747
18359 * loop.c (scan_loop): Update reg info if move_movables created new
18360 pseudos.
18361
f98e43c0
DE
183622002-02-23 David Edelsohn <edelsohn@gnu.org>
18363
18364 * gcc.c (init_gcc_spec): Revert last change.
18365
e72247f4
DE
183662002-02-23 David Edelsohn <edelsohn@gnu.org>
18367
18368 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
18369 gpc_reg_operand constraint.
18370
183712002-02-23 Alan Modra <amodra@bigpond.net.au>
18372
18373 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
18374 Simplify comparison of `low'.
18375 (add_operand): Fix formatting.
18376 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 18377 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
18378 (rs6000_stack_info): Remove redundant test setting push_p.
18379 (output_toc): Fix formatting.
18380 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
18381 cc_reg_not_cr0_operand constraint.
18382 (booldi3, boolcdi3 splitters): Same.
18383
a5c30531
AH
183842002-02-23 Aldy Hernandez <aldyh@redhat.com>
18385
831c4e87 18386 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 18387
43710f9f
DE
183882002-02-22 David Edelsohn <edelsohn@gnu.org>
18389
18390 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
18391 gcc invoked with -shared-libgcc.
18392
3256b817
JJ
183932002-02-22 Jakub Jelinek <jakub@redhat.com>
18394
18395 PR c++/5748
18396 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
18397 decl if any of elements was TREE_USED.
18398
9e0625a3
AO
183992002-02-22 Alexandre Oliva <aoliva@redhat.com>
18400
18401 * config/sparc/sol2.h: Don't include sys/mman.h.
18402 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
18403 (arith_4096_operand): Don't throw high bits away.
18404 (const64_operand): Take sign extension of CONST_INTs into account.
18405 (const64_high_operand, sparc_emit_set_const32): Likewise.
18406 (GEN_HIGHINT64): Likewise.
18407 (sparc_emit_set_const64_quick1): Likewise.
18408 (const64_is_2insns): Likewise.
18409 (print_operand): Use trunc_int_for_mode for sign extension.
18410 * config/sparc/sparc.h (SMALL_INT32): Likewise.
18411 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
18412 chars. Assume CONST_INT is already properly sign-extended.
18413 (movdi split): Sign-extend each SImode part.
18414 (andsi3 split): Don't mask high bits off, so that result
18415 remains properly sign-extend.
18416 (iorsi3 split): Likewise.
18417 (xorsi3 split): Likewise.
18418
54fec3d5
RS
184192002-02-22 Richard Sandiford <rsandifo@redhat.com>
18420
18421 * fold-const.c (fold): Fix typo in comments.
18422
667ada9b
DN
184232002-02-21 Diego Novillo <dnovillo@redhat.com>
18424
18425 * Makefile.in (langhooks.o): Update dependencies.
18426
29ac78d5
DN
184272002-02-21 Diego Novillo <dnovillo@redhat.com>
18428
18429 * langhooks.c: Include flags.h.
18430
6aa77e6c
AH
184312002-02-21 Aldy Hernandez <aldyh@redhat.com>
18432
18433 * testsuite/gcc.dg/attr-alwaysinline.c: New.
18434
18435 * c-common.c (c_common_post_options): Set inline trees by
18436 default.
18437
18438 * doc/extend.texi (Function Attributes): Document always_inline
18439 attribute.
18440 Update documentation about inlining when not optimizing.
18441
18442 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
18443
18444 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
18445 unless DECL_ALWAYS_INLINE.
18446
18447 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
18448 unless DECL_ALWAYS_INLINE.
18449 (c_disregard_inline_limits): Disregard if always_inline set.
18450
18451 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
18452 Disregard if always_inline set.
18453 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
18454 unless DECL_ALWAYS_INLINE.
18455
18456 * attribs.c (handle_always_inline_attribute): New.
18457 (c_common_attribute_table): Add always_inline.
18458
18459 * config/rs6000/altivec.h: Add prototypes for builtins
18460 requiring the always_inline attribute.
18461
c410d49e
EC
184622002-02-21 Eric Christopher <echristo@redhat.com>
18463
18464 * expmed.c (store_bit_field): Try to simplify the subreg
18465 before generating a new one when when the mode size of
18466 value is less than maxmode.
18467
e3c8ea67
RH
184682002-02-21 Richard Henderson <rth@redhat.com>
18469
18470 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
18471 than gen_rtx_PLUS to form the sum.
18472 * explow.c (force_reg): Rearrange to not allocate new pseudo
18473 when force_operand returns a register.
18474 * expr.c (expand_assignment): Allow offset_rtx expansion to
18475 return a sum. Do not force addresses into registers.
18476 (expand_expr): Likewise.
18477 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
18478 to canonicalize arithmetic that didn't simpify.
18479 (simplify_plus_minus): New argument force; update
18480 all callers. Don't split CONST unless we can do something with it,
18481 and wouldn't lose the constness of the operands.
18482
18483 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
18484 that we generated earlier.
18485
c1a046e5
TT
184862002-02-21 Tom Tromey <tromey@redhat.com>
18487
18488 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18489 (output_line_info): Use constant `1', with a long explanatory
18490 comment.
18491 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
18492
31fbaad4
R
18493Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
18494
18495 * jump.c (redirect_jump): If old label has no UID, don't try to
18496 delete it.
18497
a7f52356
R
18498Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
18499
18500 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
18501 If input is constant, do shifts at compile time.
18502
924fcc4e
JM
185032002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
18504
18505 * doc/extend.texi: Fix some more overfull hboxes.
18506
e5a20888
JJ
185072002-02-21 Jakub Jelinek <jakub@redhat.com>
18508
18509 PR optimization/4994
18510 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
18511 register moves.
18512
185132002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
18514
18515 PR c++/4574
18516 * expr.h (expand_and): Add mode argument.
18517 * expmed.c (expand_and): Add mode argument.
18518 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
18519 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
18520 * except.c (expand_builtin_extract_return_addr): Likewise.
18521 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
18522 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
18523 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
18524 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
18525 * config/c4x/c4x.md: Use GEN_INT (x) instead of
18526 gen_rtx (CONST_INT, VOIDmode, x).
18527
7133e992
JJ
185282002-02-21 Jakub Jelinek <jakub@redhat.com>
18529
18530 PR c/4697:
18531 * stmt.c (warn_if_unused_value): Move side effects test once more.
18532
e2ec05a6
TG
185332002-02-20 Torbjorn Granlund <tege@swox.com>
18534
18535 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 18536 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 18537
9dd791c8
AO
18538Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
18539
18540 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
18541 SUBREG or ZERO_EXTEND.
18542
7ab56274
R
18543Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
18544
18545 * sh.h (current_function_anonymous_args): Remove.
18546 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
18547 of current_function_varargs and current_function_stdarg is set.
18548 * sh.c (sh_expand_prologue): Check current_function_varargs /
18549 current_function_stdarg / TARGET_SH5 instead of
18550 current_function_anonymous_args.
18551
18552 * sh64.h (TARGET_VERSION): Define.
18553
b1765bde
DE
185542002-02-20 David Edelsohn <edelsohn@gnu.org>
18555
18556 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
18557 VRSAVE_REGNO on TARGET_ALTIVEC.
18558
185592002-02-20 Alan Modra <amodra@bigpond.net.au>
18560
18561 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
18562 bits of SImode const_int.
18563 (includes_rshift_p): Likewise.
18564 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 18565 mode.
b1765bde
DE
18566 (rs6000_output_function_epilogue): Pad traceback table to word.
18567 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
18568 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
18569 mask64_operand with correct mode.
b1765bde
DE
18570 (FUNCTION_ARG_REGNO_P): Correct parentheses.
18571
149d6f9e
JJ
185722002-02-20 Jakub Jelinek <jakub@redhat.com>
18573
18574 PR debug/4461
18575 * varasm.c (get_pool_constant_mark): New.
18576 * rtl.h (get_pool_constant_mark): Add prototype.
18577 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
18578 be represented if it has not been output.
18579
4161da12
AO
185802002-02-20 Alexandre Oliva <aoliva@redhat.com>
18581
18582 * combine.c (do_SUBST): Sanity check substitutions of
18583 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
18584 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
18585 CONST_INT into its operand.
18586 (known_cond): Likewise, for ZERO_EXTEND.
18587 * simplify-rtx.c (simplify_unary_operation): Fix condition to
18588 allow for simplification of wide modes. Reject CONST_INTs in
18589 ZERO_EXTEND when their actual mode is not given.
18590
3704ef74
AO
185912002-02-20 Alexandre Oliva <aoliva@redhat.com>
18592
18593 * c-decl.c (pushdecl): If no global declaration is found for an
18594 extern declaration in block scope, try a limbo one.
18595
7552da58
JJ
185962002-02-20 Jakub Jelinek <jakub@redhat.com>
18597
18598 PR c++/4401
18599 * c-common.c (pointer_int_sum): Moved from...
18600 * c-typeck.c (pointer_int_sum): ...here.
18601 * c-common.h (pointer_int_sum): Add prototype.
18602
00fae85d
JJ
186032002-02-20 Jakub Jelinek <jakub@redhat.com>
18604
18605 PR c++/5713
18606 * c-decl.c (duplicate_decls): Return 0 if issued error about
18607 redeclaration.
18608
4636c87e
JJ
186092002-02-20 Roger Sayle <roger@eyesopen.com>
18610 Jakub Jelinek <jakub@redhat.com>
18611
18612 PR c/4389
18613 * tree.c (host_integerp): Ensure that the constant integer is
18614 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
18615 when pos is zero or non-zero respectively. Clarify comment.
18616 * c-format.c (check_format_info_recurse): Fix host_integerp
18617 usage; the pos argument should be zero when assigning to a
18618 signed HOST_WIDE_INT.
18619
59bef189
RH
186202002-02-20 Richard Henderson <rth@redhat.com>
18621
18622 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
18623 of the operand, rather than assuming TImode.
18624 (ix86_expand_binop_builtin): Cope with commutative patterns
18625 using nonimmediate_operand for both operands.
18626 (ix86_expand_timode_binop_builtin): Likewise.
18627 (ix86_expand_store_builtin): Validate operand 1.
18628 (ix86_expand_unop1_builtin): Likewise.
18629
9338ffe6 186302002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 18631
9338ffe6
PB
18632 PR 5705
18633 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
18634
f322b423
RH
186352002-02-20 Richard Henderson <rth@redhat.com>
18636
18637 PR c/5615
18638 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
18639
d94084f7
TT
186402002-02-20 Tom Tromey <tromey@redhat.com>
18641
18642 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18643 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18644 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18645 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18646 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
18647 unconditionally.
18648
37fa124a
AM
18649Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
18650
18651 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
18652 for (const_int 0) in X not just INTVAL.
18653
6e5bb5ad
JM
186542002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
18655
18656 * doc/extend.texi: Avoid or reduce overfull hboxes.
18657
420e7dfa
DN
186582002-02-20 Diego Novillo <dnovillo@redhat.com>
18659
18660 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
18661 operations if the field does not start at a mode boundary.
18662
1b7a2af6
JS
186632001-02-20 Joel Sherrill <joel@OARcorp.com>
18664
18665 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
18666 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
18667 Also done for -Acpu and -Amachine.
18668
56cd5b95
NB
186692002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
18670
18671 * cppinit.c (init_dependency_output): Take deps output file
18672 from -o if none given with -MF. Suppress normal output.
c410d49e 18673 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
18674 * doc/cpp.texi, doc/invoke.texi: Update.
18675
042cdf71
ZW
186762002-02-19 Zack Weinberg <zack@codesourcery.com>
18677
18678 * toplev.c (output_quoted_string): Write unprintable
18679 characters with octal escapes.
18680
c1f11548
DE
186812002-02-19 David Edelsohn <edelsohn@gnu.org>
18682
18683 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
18684 really_call_used[VRSAVE_REGNO] if not Altivec.
18685
186862002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 18687
c1f11548
DE
18688 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
18689 MODE_MASK.
18690 (constant_pool_expr_1): Fix formatting.
18691 (rs6000_legitimize_reload_address): Likewise.
18692
c964d90e
RK
18693Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18694
18695 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
18696 now that we have one.
18697
ae34ac46
ZW
186982002-02-19 Zack Weinberg <zack@codesourcery.com>
18699
18700 * tree.h (struct tree_common): Remove aux. Add unused_0 at
18701 end of first block of bitfields (which was only seven bits);
18702 rename dummy to unused_1; remove comment which is no longer true.
18703
293c28ee
GS
187042002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
18705
18706 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
18707
7b8781c8
PB
187082002-02-19 Philip Blundell <pb@nexus.co.uk>
18709
0cb6c58d 18710 PR 5399
7b8781c8
PB
18711 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
18712 if generating PIC.
18713
18714 PR 5054
18715 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
18716 arm_is_longcall_p rather than inspecting call-type cookie
18717 directly.
18718 (call_value_insn) [TARGET_THUMB]: Likewise.
18719
5c464583
GS
187202002-02-19 Graham Stott <grahams@redhat.com>
18721
18722 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
18723
71c061e6
DE
187242002-02-19 David Edelsohn <edelsohn@gnu.org>
18725
18726 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
18727 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 18728 (FP_SAVE_INLINE): Delete.
71c061e6
DE
18729
18730 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
18731 * config/rs6000/eabi.asm: Remove ABI save restore routines.
18732 * config/rs6000/t-ppccomm: Build crtsavres.o.
18733 * config/rs6000/crtsavres.asm: New file.
18734
3a7731fd
PB
187352002-02-19 Philip Blundell <philb@gnu.org>
18736
18737 * config/arm/arm.c (use_return_insn): Don't reject interrupt
18738 functions.
18739 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
18740 (output_return_instruction): Allow interrupt functions to return with
18741 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
18742 (arm_expand_prologue): Subtract 4 before stacking LR in an
18743 interrupt function.
18744
14f583b8
PB
187452002-02-19 Philip Blundell <pb@nexus.co.uk>
18746
18747 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
18748 decl, not just FUNCTION_DECL.
18749 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
18750 (arm_assemble_integer): Likewise.
18751 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
18752 marked local.
c410d49e 18753
4cb7482c
MG
187542002-02-19 matthew green <mrg@eterna.com.au>
18755
18756 * config.gcc (sparc-*-netbsdelf*): Enable target.
18757 (sparc64-*-netbsd*): New target.
18758 * config/sparc/netbsd-elf.h: New file.
18759 * config/sparc/t-netbsd64: New file.
18760
2df3a718
GS
187612002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
18762
18763 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
18764
77f6c1eb
RS
187652002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
18766
18767 * doc/invoke.texi: explicitly list the style guidelines that
18768 -Weffc++ checks for.
18769
fd973d56
JH
18770Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
18771
18772 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
18773
30518e45
NB
187742002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
18775
18776 PR other/5718
18777 * gcc.c (cpp_unique_options): Treat -o as indicating object file
18778 only if not -E. If -E, pass -o through to the preprocessor.
18779
39ea5704
KH
187802002-02-19 Kazu Hirata <kazu@hxi.com>
18781
18782 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
18783 register number with an appropriate macro.
18784
7355dba7
BM
187852002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
18786
18787 * doc/rtl.texi (Constants): Close @code tag.
18788
91c8aa9e
AH
187892002-02-19 Aldy Hernandez <aldyh@redhat.com>
18790
18791 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
18792 ("mmx_uavgv4hi3"): Same.
18793 ("pmulhrwv4hi3"): Same.
18794
18795 * tree-inline.c (walk_tree): Handle vectors.
18796
18797 * c-common.c (constant_expression_warning): Handle vectors.
18798 (overflow_warning): Same.
18799
18800 * sched-deps.c (sched_analyze_2): Handle vectors.
18801
18802 * rtlanal.c (rtx_unstable_p): Handle vectors.
18803 (rtx_varies_p): Same.
18804 (count_occurrences): Same.
18805 (regs_set_between_p): Same.
18806 (modified_between_p): Same.
18807 (modified_in_p): Same.
18808 (volatile_insn_p): Same.
18809 (volatile_refs_p): Same.
18810 (side_effects_p): Same.
18811 (may_trap_p): Same.
18812 (inequality_comparisons_p): Same.
18813 (replace_regs): Same.
18814 (computed_jump_p_1): Same.
18815
18816 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
18817 argument.
18818 (inner_mode_array): New.
18819 (copy_rtx): Handle vectors.
18820 (copy_most_rtx): Same.
18821 (rtx_equal_p): Same.
18822 (get_mode_alignment): Adjust for vectors.
18823
18824 * resource.c (mark_referenced_resources): Handle vectors.
18825 (mark_set_resources): Same.
18826
18827 * reload1.c (eliminate_regs): Handle vectors.
18828 (elimination_effects): Same.
18829 (scan_paradoxical_subregs): Same.
18830
18831 * reload.c (subst_reg_equivs): Handle vectors.
18832
18833 * regrename.c (scan_rtx): Handle vectors.
18834
18835 * regclass.c (reg_scan_mark_refs): Handle vectors.
18836
18837 * recog.c (find_single_use_1): Handle vectors.
18838
18839 * local-alloc.c (equiv_init_varies_p): Handle vectors.
18840 (contains_replace_regs): Same.
18841 (memref_referenced_p): Same.
18842
18843 * integrate.c (copy_rtx_and_substitute): Handle vectors.
18844 (subst_constants): Same.
18845
18846 * genattrtab.c (attr_copy_rtx): Handle vectors.
18847 (encode_units_mask): Same.
18848 (clear_struct_flag): Same.
18849 (count_sub_rtxs): Same.
18850
18851 * gcse.c (want_to_gcse_p): Handle vectors.
18852 (oprs_unchanged_p): Same.
18853 (hash_expr_1): Same.
18854 (oprs_not_set_p): Same.
18855 (expr_killed_p): Same.
18856 (compute_transp): Same.
18857 (store_ops_ok): Same.
18858
18859 * function.c (purge_addressof_1): Do not allow paradoxical subregs
18860 of vectors.
18861 (fixup_var_refs_1): Same.
18862 (instantiate_virtual_regs_1): Same.
18863
18864 * fold-const.c (operand_equal_p): Handle vectors.
18865 (fold): Same.
18866 (rtl_expr_nonnegative_p): Same.
18867
18868 * flow.c (mark_used_regs): Handle vectors.
18869
18870 * df.c (df_uses_record): Handle vectors.
18871
18872 * cselib.c (cselib_subst_to_values): Handle vectors.
18873 (cselib_mem_conflict_p): Same.
18874 (hash_rtx): Same.
18875
18876 * cse.c (canon_reg): Handle vectors.
18877 (fold_rt): Same.
18878 (cse_process_notes): Same.
18879 (count_reg_usage): Same.
18880 (canon_hash): Same.
18881
18882 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
18883
18884 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
18885
18886 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
18887 (gen_rtx): Handle CONST_VECTOR.
18888 (gen_const_vector_0): New.
18889 (copy_rtx_if_shared): CONST_VECTORs can be shared.
18890 (reset_used_flags): Same.
18891 (copy_insn_1): Same.
18892 (initializer_constant_valid_p): Handle VECTOR_CST.
18893
18894 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
18895
18896 * doc/rtl.texi (Constants): Document const_vector.
18897 (CONST0_RTX): Update for vectors.
18898 (RTL sharing): Same.
18899
18900 * print-tree.c (print_node): Add case for VECTOR_CST.
18901
18902 * tree.h (TREE_VECTOR_CST_ELTS): New.
18903 (struct tree_vector): New.
18904 (union tree_node): Add vector node.
18905 (build_vector): Add prototype.
18906
18907 * tree.def (VECTOR_CST): New.
18908
18909 * tree.c (build_vector): New.
18910
18911 * expmed.c (make_tree): Handle CONST_VECTOR.
18912
18913 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
18914 (CONST_VECTOR_ELT): New.
18915 (CONST_VECTOR_NUNITS): New.
18916
18917 * machmode.h (GET_MODE_INNER): New.
18918 (DEF_MACHMODE): Accept 8th arg.
18919
18920 * machmode.def: Add 8th argument for vector inner mode.
18921 Add inner vector modes for vectors.
18922
18923 * rtl.def (VEC_CONST): Remove.
18924 (CONST_VECTOR): New.
18925
18926 * expr.c (clear_storage): Allow vectors.
18927 (is_zeros_p): Handle VECTOR_CST.
18928
18929 * varasm.c (output_constant_pool): Handle vectors.
18930 (rtx_const): Add veclo and vechi fields.
18931 (kind): Add RTX_VECTOR.
18932 (decode_rtx_const): Add case for vector.
18933
18934 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 18935
91c8aa9e
AH
18936 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
18937 constants. Force easy vector constants into memory.
18938 (easy_vector_constant): New.
18939 (emit_easy_vector_constant): New.
18940 (rs6000_legitimize_reload_address): Do not generate bad reloads on
18941 darwin.
18942
18943 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
18944 instruction does.
18945 ("altivec_lvxl"): Same.
18946 (altivec_lvebx): Same.
18947 (altivec_lvehx): Same.
18948 (altivec_lvewx): Same.
18949 ("*movv4si_const0"): New.
18950 ("*movv4sf_const0"): New.
18951 ("*movv8hi_const0"): New.
18952 ("*movv16qi_const0"): New.
18953
d4d6d0ce
KH
189542002-02-18 Kazu Hirata <kazu@hxi.com>
18955
18956 * config/h8300/h8300.c (notice_update_cc): Use
18957 cc_status.value2.
18958
4915d3aa
KH
189592002-02-18 Kazu Hirata <kazu@hxi.com>
18960
18961 * config/h8300/h8300.md (divmod patterns): Change the
18962 constraints for operands[1] to register_operand.
18963
82be00ee
KH
189642002-02-18 Kazu Hirata <kazu@hxi.com>
18965
18966 * config/h8300/h8300-protos.h: Remove the prototype for
18967 p_operand.
18968 * config/h8300/h8300.c (p_operand): Remove.
18969 * config/h8300/h8300.md: Replace p_operand with
18970 const_int_operand.
18971
1768c26f
PB
189722002-02-18 Philip Blundell <pb@nexus.co.uk>
18973
18974 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
18975 comment.
18976 (output_return_instruction): Allow use of LDR to unstack
18977 return addresss even for interrupt handlers or when
18978 interworking. If compiling for ARMv5, use interworking-safe
18979 return instructions by default. Remove duplicated code and
18980 lengthy "strcat" sequences.
18981
ccd84f51
FS
189822002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
18983
18984 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
18985 (LINK_EH_SPEC): Define.
18986 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
18987
2c153108
UW
189882002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
18989
18990 * config/s390/s390.c (s390_emit_prologue): Do not set the
18991 frame_related flag for call-clobbered registers.
18992
e95d6b23
JH
18993Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
18994
18995 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
18996 (construct_container): Fix handling of SSE operands.
18997 (ix86_expand_builtin): Fix handling of 64bit pointers.
18998 (mmx_maskmovq_rex): New pattern.
18999
c43a12b5
JH
19000Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
19001
19002 * regrename.c (kill_set_value): Handle subregs properly.
19003
aeb85a15
DB
190042002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
19005
19006 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 19007 from objc_class_name.
aeb85a15 19008
a615ca3e
RH
190092002-02-17 Richard Henderson <rth@redhat.com>
19010
19011 * config/alpha/alpha.c (some_small_symbolic_operand,
19012 some_small_symbolic_operand_1, split_small_symbolic_operand,
19013 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
19014 Handle small SYMBOL_REFs anywhere, not just inside memories.
19015 * config/alpha/alpha-protos.h: Update.
19016 * config/alpha/alpha.h (PREDICATE_CODES): Update.
19017 * config/alpha/alpha.md (small symbolic operand splitter): Update.
19018
ddb28441
RM
190192002-02-17 Roland McGrath <roland@frob.com>
19020
19021 * config.gcc (powerpc-*-gnu-gnualtivec*,
19022 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
19023 * config/rs6000/gnu.h: New file.
19024 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
19025 Grok "gnu" in rs6000_abi_name.
19026 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
19027 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
19028 Grok -mcall-gnu analogous to -mcall-linux et al.
19029 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
19030 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
19031 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
19032
f6f8ada3
JJ
190332002-02-17 Jakub Jelinek <jakub@redhat.com>
19034
19035 PR c/3444:
19036 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
19037 shortening.
19038
e16b32fc
PT
190392002-02-17 Philipp Thomas <pthomas@suse.de>
19040
19041 * config/cris/cris.h: Undefine STARTFILE_SPEC and
19042 ENDFILE_SPEC before (re)defining them.
19043
f9477efd
KH
190442002-02-17 Kazu Hirata <kazu@hxi.com>
19045
19046 * config/h8300/h8300.c: Fix formatting.
19047 * config/h8300/h8300.h: Likewise.
19048
404ae494
PT
190492002-02-17 Philipp Thomas <pthomas@suse.de>
19050
19051 * doc/tm.texi: Explain why empty strings should not be
19052 marked for translation.
19053
a52453cc
PT
190542002-02-17 Philipp Thomas <pthomas@suse.de>
19055
19056 * final.c (output_operand_lossage): Changed to accept
19057 printf style arguments. Change calls where necessary.
19058 * output.h (output_operand_lossage): Change declaration
19059 accordingly. Update copyright.
19060 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
19061 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
19062 Update copyright date where necessary.
c410d49e 19063
a52453cc
PT
19064 * config/i386/i386.c (print_operand): Likewise. Remove use of
19065 sprintf.
19066
19067 * config/cris/cris.c (cris_operand_lossage): Likewise.
19068 Rename parameter so that exgettext recognizes it as
19069 translatable message.
19070 (LOSE_AND_RETURN): Rename parameter to msgid.
19071
1c11abc4
KH
190722002-02-17 Kazu Hirata <kazu@hxi.com>
19073
19074 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
19075 hard coded register number with an appropriate macro.
19076 (HARD_REGNO_MODE_OK): Likewise.
19077 (ARG_POINTER_REGNUM): Likewise.
19078 (STATIC_CHAIN_REGNUM): Likewise.
19079 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
19080 * config/h8300/h8300.md (define_constants): Define more
19081 register numbers.
19082
a5d17ff3
PT
190832002-02-17 Philipp Thomas <pthomas@suse.de>
19084
19085 * config/i386/i386.h: Don't mark empty strings for translation.
19086
1a7289c4
L
190872002-02-16 H.J. Lu <hjl@gnu.org>
19088
19089 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
19090
afb58288
ZW
190912002-02-16 Zack Weinberg <zack@codesourcery.com>
19092
19093 * cppinit.c (merge_include_chains): Check for brack being
19094 NULL before attempting to merge it with qtail.
19095
d2af4dbd
AC
190962002-02-16 Andrew Cagney <ac131313@redhat.com>
19097
19098 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
19099 DBX_DEBUG.
19100
2e1ed1e3
JDA
191012002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
19102
19103 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
19104
604c75b2
JDA
191052002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
19106
19107 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
19108 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
19109 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
19110
1a42b072
RK
19111Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19112
7303604f 19113 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
19114 now only if !TARGET_FIX.
19115 (*movsi_nt_vms_fix): New pattern.
19116
c2ea1ac6
DR
191172002-02-16 Douglas B Rupp <rupp@gnat.com>
19118
19119 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
19120 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
19121 (alpha_sa_mask, alpha_sa_size): Reflect above change.
19122 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
19123 (alpha_start_function, alpha_expand_epilogue): Likewise.
19124 (unicosmk_gen_dsib): Likewise.
19125
725e58b1
RK
19126Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19127
19128 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
19129
13e58269
UW
191302002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
19131
c410d49e 19132 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
19133 check_and_change_labels, s390_final_chunkify): Delete.
19134 (s390_split_branches, s390_chunkify_pool): New functions.
19135 (s390_function_prologue): Call them.
c410d49e 19136
13e58269
UW
19137 * config/s390/s390.h (S390_REL_MAX): Delete.
19138 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
19139
c410d49e 19140 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
19141 attribute calculation.
19142
19143
34d1b01d
DE
191442002-02-15 David Edelsohn <edelsohn@gnu.org>
19145
19146 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
19147 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
19148
be5cc51a
JDA
191492002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
19150
19151 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
19152 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
19153 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
19154
ee96ce90
RS
191552002-02-15 Richard Sandiford <rsandifo@redhat.com>
19156
19157 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
19158
05fa709d
RS
191592002-02-15 Richard Sandiford <rsandifo@redhat.com>
19160
19161 * reload.c (find_dummy_reload): Check that an output register
19162 is valid for its mode.
19163
4606272b
AO
191642002-02-14 Alexandre Oliva <aoliva@redhat.com>
19165
9a360704
AO
19166 * combine.c (known_cond): After replacing the REG of a SUBREG, try
19167 to simplify it.
19168
4606272b
AO
19169 * function.c (assign_parms): Demote promoted argument passed by
19170 transparent reference.
19171
e62d89a1
JS
191722001-02-14 Joel Sherrill <joel@OARcorp.com>
19173
19174 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
19175 -Acpu() and -Amachine() to eliminate warnings.
19176
6c4cf695
UW
191772002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
19178
19179 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
19180
037f11ef
KH
191812002-02-14 Kazu Hirata <kazu@hxi.com>
19182
19183 * config/h8300/h8300-protos.h: Update the prototype for
19184 const_costs.
19185 * config/h8300/h8300.c (const_costs): Treat SET as a little
19186 more expensive operation.
19187 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
19188 reference to const_costs.
19189
fdc76b09
HPN
191902002-02-14 Hans-Peter Nilsson <hp@axis.com>
19191
19192 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
19193
d76e6800
JJ
191942002-02-14 Jakub Jelinek <jakub@redhat.com>
19195
19196 PR c/5503:
19197 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
19198 use arguments from newtype.
19199
5ae590d7
EC
192002002-02-13 Eric Christopher <echristo@redhat.com>
19201
19202 * config/mips/mips.c (override_options): Add check for march/mipsX
19203 on the same command line. Fix error message in cpu processing.
19204 Remove architecture and ISA checks.
19205
b8513691
AH
192062002-02-14 Aldy Hernandez <aldyh@redhat.com>
19207
831c4e87 19208 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 19209
831c4e87 19210 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 19211
78c875e8
AH
192122002-02-14 Aldy Hernandez <aldyh@redhat.com>
19213
831c4e87
KC
19214 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
19215 alternatives.
19216 ("*movv8hi_internal1"): Same.
19217 ("*movv16qi_internal1"): Same.
19218 ("*movv4sf_internal1"): Same.
78c875e8 19219
831c4e87
KC
19220 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
19221 not push_reload for altivec modes.
78c875e8 19222
d76e6800 192232002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
19224
19225 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
19226 all RTEMS targets including removal of #includes from config/*/rtems*.h
19227 file and adding them to tm_file setting. Added xm_defines=POSIX to
19228 many targets.
19229 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
19230 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
19231 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
19232 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
19233 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
19234 config/m68k/rtemself.h: Ditto.
19235 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
19236 config/mips/rtems64.h: Ditto.
19237 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
19238 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
19239 Ditto.
19240 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
19241 config/sparc/rtemself.h: Ditto.
19242 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
19243 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
19244 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
19245 more like arm-elf.
19246 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
19247 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
19248 target made more similar to i386-elf.
19249 * config/i386/t-rtems-i386: Added soft float support and multilibs.
19250 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
19251 be similar to config/m68k/t-m68kelf.
19252 * gthr-rtems.h: Encapsulate with extern "C" for C++.
19253
8686336f
JH
19254Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
19255
19256 * regmove.c (kill_value): Handle subregs.
19257
558740bf
JH
19258Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
19259
19260 * i386.md (mul patterns): Allow memory operand to be first;
19261 add expanders where needed; fix constraints.
19262 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
19263 Allow memory operand to be the first.
19264
19265 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
19266 operands.
19267
21117a17
JJ
192682002-02-13 Jakub Jelinek <jakub@redhat.com>
19269
19270 PR c/5681:
19271 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
19272 GET_MODE (x).
19273
ec65b2e3
JJ
192742002-02-13 Jakub Jelinek <jakub@redhat.com>
19275
19276 PR optimization/5547:
19277 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
19278 all valid IA-32 address modes involving non-scaled %ebx and
19279 GOT/GOTOFF as displacement.
19280
ce50cae8
UW
192812002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
19282
19283 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
19284 after emitting ltorg insns.
19285
19286 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
19287 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
19288 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
19289 *abssf2): Fix "op_type" attribute.
19290
09eb789b
DR
192912002-02-13 Douglas B Rupp <rupp@gnat.com>
19292
2dbe67bb
DR
19293 * mkconfig.sh: Avoid using a subshell redirect.
19294 ($output.T): Change to $(output)T.
19295 (ENABLE_NLS): Remove unneeded undef.
19296
ea5b9a1f
DR
19297 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
19298 * config/alpha/x-vms (libsubdir): Define.
19299
3deb00ce
DR
19300 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
19301 register frame procedures. Optimize retrieving context.
19302
09eb789b
DR
19303 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
19304 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
19305 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
19306
1abade85
RK
19307Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19308
19309 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
19310 Make same change as for find_base_value.
19311
c283e63f
KH
193122002-02-13 Kazu Hirata <kazu@hxi.com>
19313
19314 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
19315 of QImode and SImode.
19316
86039100
KH
193172002-02-13 Kazu Hirata <kazu@hxi.com>
19318
19319 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
19320 length computation of movsi.
19321 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
19322
e1429da0
KH
193232002-02-13 Kazu Hirata <kazu@hxi.com>
19324
19325 * config/h8300/h8300.md (subqi3): Tighten the predicate for
19326 operands[2] to register_operand.
19327
aebfea10
JH
19328Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
19329
19330 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
19331
0ec4e2a8
AH
193322002-02-12 Aldy Hernandez <aldyh@redhat.com>
19333
831c4e87
KC
19334 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
19335 for altivec_lvx* and altivec_stvx*.
19336 ("*movv4si_internal"): Add constraint for loading from GPRs.
19337 ("*movv8hi_internal1"): Same.
19338 ("*movv16qi_internal1"): Same.
19339 ("*movv4sf_internal1"): Same.
0ec4e2a8 19340
831c4e87 19341 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 19342
831c4e87
KC
19343 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
19344 altivec_register_operand.
0ec4e2a8 19345
b007569d
HPN
193462002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
19347
19348 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
19349 handle SYMBOL_REF.
19350
e6834654
SS
193512002-02-13 Stan Shebs <shebs@apple.com>
19352
831c4e87
KC
19353 * c-typeck.c (digest_init): Handle vectors.
19354 (really_start_incremental_init): Same.
19355 (pop_init_level): Same.
19356 (process_init_element): Same.
e6834654 19357
831c4e87 19358 * varasm.c (output_constant): Same.
e6834654 19359
831c4e87
KC
19360 * expr.c (clear_storage): Same.
19361 (store_constructor): Same.
e6834654 19362
d9b3eb63
EC
193632002-02-12 Eric Christopher <echristo@redhat.com>
19364
19365 * explow.c (hard_function_value): Add comment explaining
19366 signed/unsigned comparison.
19367
56d44285
JJ
193682002-02-12 Jakub Jelinek <jakub@redhat.com>
19369
19370 * jump.c (never_reached_warning): Add finish argument.
19371 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
19372 real insn after end.
19373 * rtl.h (never_reached_warning): Adjust prototype.
19374 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
19375 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
19376 never_reached_warning.
19377
fc209487
GS
193782002-02-12 Graham Stott <grahams@redhat.com>
19379
19380 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
19381
1e41e866
KH
193822002-02-12 Kazu Hirata <kazu@hxi.com>
19383
19384 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
19385 logical shifts on H8/300.
19386 (shift_alg_si): Improve several shifts on H8/300.
19387 (get_shift_alg): Likewise.
19388
a36a47ad
GS
193892002-02-12 Graham Stott <grahams@redhat.com>
19390
19391 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
19392
0aacc8ed
RK
19393Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19394
19395 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
19396 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
19397
a02ac966
HPN
193982002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
19399
19400 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
19401 non-CONST_INT through default_assemble_integer.
19402 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
19403 <case 8>: Abort for CONST_DOUBLE.
19404
d6e06ddc
JDA
194052002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
19406
19407 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
19408 is specified.
19409 * config/pa/pa-linux.h (LIB_SPEC): Delete.
19410 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
19411
515342a8
AH
194122002-02-11 Andrew Haley <aph@cambridge.redhat.com>
19413
19414 * config/stormy16/stormy16.md (zero_extendqihi2): New.
19415
cddd8b72
AO
194162002-02-11 Alexandre Oliva <aoliva@redhat.com>
19417
66df7a98
AO
19418 * regrename.c (regrename_optimize): Don't accept a
19419 part-clobbered register if the replaced register is not part
19420 clobbered.
19421
841404cd
AO
19422 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
19423 take padding into account when computing the argument value.
19424
1d1ade42
AO
19425 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
19426
cddd8b72
AO
19427 * combine.c (try_combine): Apply substitutions in
19428 CALL_INSN_FUNCTION_USAGE too.
19429
5c665b88
AH
194302002-02-11 Aldy Hernandez <aldyh@redhat.com>
19431
77f6c1eb
RS
19432 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
19433 __builtin_altivec_abs*.
19434 (bdesc_abs): New.
5c665b88 19435
77f6c1eb
RS
19436 * config/rs6000/rs6000.h (rs6000_builtins): Add
19437 ALTIVEC_BUILTIN_ABS*.
5c665b88 19438
77f6c1eb
RS
19439 * config/rs6000/altivec.h: Use const char for builtins expecting
19440 literals.
19441 (vec_abs): New versions for C and C++.
19442 (vec_abss): Same.
5c665b88 19443
3494f1b4
KH
194442002-02-10 Kazu Hirata <kazu@hxi.com>
19445
19446 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
19447 using Pmode.
19448
72431aef
KH
194492002-02-10 Kazu Hirata <kazu@hxi.com>
19450
19451 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
19452 constant definition from h8300.md.
19453 (FRAME_POINTER_REGNUM): Likewise.
19454 * config/h8300/h8300.md (define_constants): Add FP_REG.
19455
87e4ee91
KH
194562002-02-10 Kazu Hirata <kazu@hxi.com>
19457
19458 * config/h8300/h8300.c (print_operand): Remove redundant code.
19459
9c188705
KH
194602002-02-10 Kazu Hirata <kazu@hxi.com>
19461
19462 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
19463 * config/h8300/h8300.c (byte_reg): Make it static.
19464
fba78abb
RH
194652002-02-10 Richard Henderson <rth@redhat.com>
19466
19467 PR c/5623
19468 * c-typeck.c (incomplete_type_error): Handle flexible array members.
19469
65739e62
RH
194702002-02-10 Richard Henderson <rth@redhat.com>
19471
19472 PR c++/5624
19473 * tree.c (append_random_chars): Don't abort if main_input_filename
19474 does not exist.
19475
247cb9df
HPN
194762002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
19477
19478 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
19479
232bd029
KH
194802002-02-10 Kazu Hirata <kazu@hxi.com>
19481
65739e62 19482 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
19483 (pushhi1): Likewise.
19484
276ef573
JDA
194852002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
19486
19487 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
19488 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
19489
617e9ee5
DB
194902002-02-09 David O'Brien <obrien@FreeBSD.org>
19491
19492 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
19493 remove MASK_VIS.
19494 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
19495
6dfa4005
KH
194962002-02-09 Kazu Hirata <kazu@hxi.com>
19497
19498 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
19499 a half of an SImode register on H8/300.
19500
749e7b80
JH
19501Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
19502
19503 * i386.md (movdi_2): Add missing '!'.
19504
ca77d87c
KH
195052002-02-09 Kazu Hirata <kazu@hxi.com>
19506
19507 * config/h8300/h8300.h: Fix formatting. Remove commented-out
19508 definitions.
19509
16c96304
KH
195102002-02-09 Kazu Hirata <kazu@hxi.com>
19511
19512 * config/h8300/h8300.md (length): Correct the distance valid
19513 for the short branch.
19514
a364bc90
KH
195152002-02-09 Kazu Hirata <kazu@hxi.com>
19516
19517 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
19518
e4ec2cac
AO
195192002-02-09 Alexandre Oliva <aoliva@redhat.com>
19520
a138247b
AO
19521 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
19522 registers in SImode.
19523 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
19524 part-clobbered.
19525
2b1fd83f
AO
19526 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
19527 patch.
d9b3eb63 19528
fa5322fa
AO
19529 Contribute sh64-elf.
19530 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
19531 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
19532 (sh_cannot_modify_jumps_p): New function.
19533 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
19534 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
19535 (sh_ms_bitfield_layout_p): New function.
19536 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
19537 Zack Weinberg <zack@codesourcery.com>
19538 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
19539 expand_simple_binop instead of expand_binop.
19540 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
19541 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
19542 use of .quad and .uaquad.
19543 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
19544 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
19545 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
19546 * config/sh/sh.md (movdi_const, movdi_const_32bit,
19547 movdi_const_16bit): Make sure all CONSTs have modes.
19548 (sym2PIC): Ditto, but by adjusting all callers.
19549 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
19550 if the prologue calls the SHmedia argument decoder or register
19551 saver.
19552 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
19553 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
19554 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
19555 (sh_expand_epilogue): Don't emit USE of return target register.
19556 (prepare_move_operands): Legitimize DImode PIC addresses.
19557 (sh_media_register_for_return): Skip tr0, used to initialize the
19558 PIC register.
19559 (sh_expand_prologue): Remove explicit USE of return register.
19560 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
19561 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
19562 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
19563 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
19564 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
19565 EXTRA_CONSTRAINT_T.
19566 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
19567 (MOVI_SHORI_BASE_OPERAND_P): New.
19568 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
19569 (EXTRA_CONSTRAINT_T): Define in terms of them.
19570 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
19571 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
19572 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
19573 alternatives supporting TARGET_REGS.
19574 (UNSPEC_GOTPLT): New constant.
19575 (movdi split): Move incrementing of LABEL_NUSES...
19576 (movdi_const, movdi_const_32bit): Here. Use
19577 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
19578 (movdi_const_16bit): New.
19579 (call, call_value) [flag_pic]: Use GOTPLT.
19580 (call_pop, call_value_pop): New expands.
19581 (call_pop_compact, call_pop_rettramp): New insns.
19582 (call_value_pop_compact, call_value_pop_rettramp): New insns.
19583 (sibcall) [flag_pic]: Use GOT.
19584 (builtint_setjmp_receiver): Remove bogus, unused expand.
19585 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
19586 (*pt, *ptb, ptrel): New insns.
19587 (sym2GOT): Handle DImode GOT.
19588 (sym2GOTPLT, symGOTPLT2reg): New expands.
19589 (sym2PIC): New expand.
19590 (shcompact_return_tramp): Use GOTPLT to return trampoline.
19591 (shcompact_return_tramp_i): Use return register explicitly.
19592 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
19593 disable flag_reorder_blocks.
19594 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
19595 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
19596 clobbers, for clarity.
19597 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
19598 restoring of r0 in macl as MAYBE_DEAD.
19599 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
19600 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
19601 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
19602 alter_subreg all over.
19603 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
19604 reload, instead of emitting instructions that would require
19605 reloading.
19606 (casesi_load_media): Add missing modes.
19607 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
19608 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
19609 as used if the argument decoder is called.
19610 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
19611 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
19612 Pmode, then extend it to DImode if necessary.
19613 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
19614 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
19615 constants in FPU-enabled SHmedia, let them be loaded from memory.
19616 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
19617 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
19618 Adjust whitespace in assembly output templates.
19619 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
19620 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
19621 mode of if_then_else.
19622 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
19623 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
19624 sh.h.
19625 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
19626 Joern Rennecke <amylaar@redhat.com>
19627 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
19628 (SUBTARGET_CPP_PTR_SPEC): New.
19629 (SUBTARGET_CPP_SPEC): Remove.
19630 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
19631 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
19632 Fix typo in previous checkin.
19633 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
19634 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
19635 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
19636 Alexandre Oliva <aoliva@redhat.com>
19637 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
19638 what single FP register can hold for SHmedia target.
19639 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
19640 Alexandre Oliva <aoliva@redhat.com>
19641 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
19642 Do not split into SUBREG.
19643 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
19644 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
19645 and added new functions as specified in SH5 ABI r9.
19646 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
19647 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
19648 8-byte boundary.
19649 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
19650 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
19651 gen_consttable_4 and gen_consttable_8. Emit multiple labels
19652 and consttable_window_ends.
19653 2001-06-03 Graham Stott <grahams@redhat,com>
19654 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
19655 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
19656 * config/sh/sh.c (print_operand): Handle floating-point pair,
19657 vector and matrix registers.
19658 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
19659 vector modes into account.
19660 * config/sh/sh.md (movv2sf): Split move between registers into
19661 movdf.
19662 (movv4sf, movv16sf): Introduce insns that get split only after
19663 reload.
19664 * config/sh/shmedia.h: Fix Copyright dates.
19665 * config/sh/ushmedia.h: Likewise. Move loop counter
19666 declarations into conditionals that uses them.
19667 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
19668 loop boundary.
19669 * config/sh/sshmedia.h: Fix Copyright dates.
19670 (sh_media_PUTCFG): Fix constraints.
19671 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
19672 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
19673 ptrmemfunc_vbit_in_delta for SH5.
19674 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
19675 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
19676 * invoke.texi: Likewise.
19677 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
19678 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
19679 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
19680 GCC_pop_shmedia_regs_nofpu): New global symbols.
19681 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
19682 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
19683 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
19684 compact function with nonlocal labels.
19685 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
19686 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
19687 (initial_elimination_offset): Account for their stack space.
19688 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
19689 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
19690 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
19691 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
19692 least one of the operands to be a register.
19693 (movv2sf): Likewise. Renamed to movv2sf_i.
19694 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
19695 prepare_move_operands() before emitting SHmedia insns.
19696 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
19697 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
19698 Don't save nor initialize r12. Don't mis-align the stack.
19699 Pad the code with a nop.
19700 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
19701 stack.
19702 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
19703 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
19704 [__SHMEDIA__]: Implement.
19705 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
19706 * config/sh/sh.md: Set latency of `pt' closer to reality.
19707 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
19708 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
19709 Set move, load and store type attributes.
19710 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
19711 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
19712 profiling.
19713 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
19714 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
19715 * config/sh/sh.c (sh_media_register_for_return): New function.
19716 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
19717 branch-target register.
19718 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
19719 * config/sh/sh.md (return_media_i): Use any call-clobbered
19720 branch-target register.
19721 (return_media): If r18 wasn't copied in the prologue, copy it
19722 here.
19723 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
19724 Clear class FP0_REGS.
19725 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
19726 from elf.h.
19727 2001-03-08 DJ Delorie <dj@redhat.com>
19728 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
19729 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
19730 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
19731 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
19732 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
19733 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
19734 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
19735 return value correctly for call_cookie.
19736 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
19737 * config/sh/crt1.asm (start): Modified so as to call
19738 ___setup_argv_and_call_main.
19739 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
19740 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
19741 SHmedia mode.
19742 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
19743 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
19744 (STRIP_NAME_ENCODING): Use it.
19745 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
19746 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
19747 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
19748 prepare_scc_operands().
19749 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
19750 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
19751 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
19752 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
19753 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
19754 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
19755 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
19756 used in shcompact_incoming_args.
19757 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
19758 change.
19759 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
19760 mode.
19761 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
19762 Adjust accordingly.
19763 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
19764 Simplify. Adjust. Add sanity check.
19765 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
19766 FPU_SINGLE_BIT.
19767 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
19768 TARGET_SHCOMPACT.
19769 (udivsi3, divsi3): Use them.
19770 (force_mode_for_call): New insn.
19771 (call, call_value, sibcall_value): Emit it before SHcompact
19772 calls.
19773 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
19774 * config/sh/sh.md (call, call_value, sibcall): Make sure the
19775 call cookie is non-NULL before taking its value.
19776 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
19777 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
19778 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
19779 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
19780 block.
19781 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
19782 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
19783 temporary for stack adjusts. Use MACL and MACH to pass
19784 arguments to shcompact_incoming_args.
19785 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
19786 clobber r1.
19787 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
19788 (nested_trampoline): Load static chain address into r1.
19789 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
19790 2001-01-07 Alexandre Oliva <aoliva@redhat.com
19791 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
19792 fp_arith_reg_operand().
19793 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
19794 * config/sh/sh.md (casesi): Sign-extend the first two operands,
19795 and use signed compares for them.
19796 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
19797 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
19798 ones properly aligned.
19799 (find_barrier): Account for extra alignment needed for 8-byte wide
19800 constants.
19801 (machine_dependent_reorg): Require a label for the second 4-byte
19802 constant after an 8-byte one.
19803 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
19804 change.
19805 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
19806 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
19807 last_float when switching float modes.
19808 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
19809 auto-increment for general-purpose registers.
19810 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
19811 result.
19812 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
19813 for stack adjust.
19814 * config/sh/sh.c (sh_builtin_saveregs): Support using all
19815 registers for varargs.
19816 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
19817 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
19818 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
19819 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
19820 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
19821 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
19822 call_cookie accordingly.
19823 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
19824 (SHCOMPACT_BYREF): Likewise.
19825 (SHCOMPACT_FORCE_ON_STACK): New macro.
19826 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
19827 (sh_builtin_saveregs): Likewise.
19828 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
19829 shcompact_incoming_args): Use new shift values. Support
19830 sequences of consecutive and non-consecutive pushes/pops.
19831 * config/sh/sh.md (return): Don't explicitly use PR_REG.
19832 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
19833 * config/sh/sh.h (TEXT_SECTION): Define.
19834 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
19835 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
19836 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
19837 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
19838 return values on FPU-enabled SHmedia.
19839 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
19840 FPU-enabled SHmedia.
19841 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
19842 value is returned in a non-FP reg and is not returned by
19843 reference.
19844 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
19845 jump_ind.
19846 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
19847 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
19848 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
19849 quad-aligned to be passed by callee-copy reference.
19850 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
19851 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
19852 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
19853 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
19854 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
19855 copying low-numbered FP regs to r7 and r8.
19856 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
19857 FP regs to general-purpose regs only if the copy was passed on the
19858 stack.
19859 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
19860 copying FP reg to r9.
19861 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
19862 copy FP regs to general-purpose regs only in outgoing calls.
19863 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 19864 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
19865 HOST_WIDE_INT.
19866 * config/sh/sh.h (struct sh_args): Document all fields.
19867 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
19868 passed partially on the stack should not consider making
19869 sibcalls.
19870 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
19871 stack_regs only for incoming calls. When passing FP args,
19872 make sure there are FP regs available before modifying
19873 call_cookie.
19874 (SHCOMPACT_BYREF): Pass double args in general-purpose
19875 registers by reference.
19876 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
19877 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
19878 attempt to generate sibcalls if the caller got any arguments
19879 by reference.
19880 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
19881 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
19882 to 8-byte boundaries.
19883 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
19884 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
19885 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
19886 stored in the stack.
19887 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
19888 for the offsets to have the ISA bit set.
19889 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
19890 invocation. Use beq instead of bgt to mark end of sequence of
19891 loads.
19892 (shcompact_incoming_args): Fix store of r2. Use beq instead of
19893 bgt to mark end of sequence of stores.
19894 * config/sh/sh.c (arith_operand): Don't check whether
19895 CONST_OK_FOR_J for now.
19896 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
19897 instead of long for conversion.
19898 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
19899 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
19900 before passing it to fprintf.
19901 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
19902 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
19903 Call set_fpscr before reading/writing SR.
19904 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
19905 Call set_fpscr.
19906 * config/sh/lib1funcs.asm: Add `.align 2' directives before
19907 SHmedia code.
19908 (FMOVD_WORKS): Define on SH5 with FPU.
19909 (set_fpscr): Define on SH5. Remove separate _fpscr_values
19910 setting.
19911 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
19912 _fpscr_values.
19913 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
19914 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
19915 address.
19916 (ia_main_table): Ditto.
19917 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
19918 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
19919 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
19920 the definitions from sh.h.
19921 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
19922 TARGET_SH5.
19923 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
19924 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
19925 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
19926 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
19927 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
19928 Increment LABEL_NUSES.
d9b3eb63 19929
fa5322fa
AO
19930 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
19931 TARGET_SH5.
19932 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
19933 defined.
19934 * config/sh/elf.h (SIZE_TYPE): Likewise.
19935 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
19936 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
19937 shcompact_incoming_args): Load switch table addresses using
19938 datalabel.
19939 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
19940 (NO_BUILTIN_SIZE_TYPE): Define.
19941 (SIZE_TYPE): Don't define.
19942 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
19943 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
19944 definition of __SH5__=32 for -m5-compact-nofpu.
19945 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
19946 ADDR_DIFF_VEC.
19947 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
19948 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
19949 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
19950 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
19951 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
19952 (INSN_LENGTH_ALIGNMENT): Likewise.
19953 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
19954 * config/sh/sh.md (call, call_value, sibcall): Simplify
19955 copying of non-branch-target register.
19956 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 19957 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
19958 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
19959 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
19960 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
19961 floating-point values as structs.
19962 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
19963 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
19964 general-purpose register.
19965 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
19966 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
19967 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
19968 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
19969 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
19970 (ENCODE_SECTION_INFO): Enclose variables and constants in
19971 DATALABEL unspecs.
19972 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
19973 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
19974 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
19975 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
19976 only for LABEL_REFs. For SYMBOL_REFs, prepend
19977 SH_DATALABEL_ENCODING to the symbol name.
19978 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
19979 convert_mode().
19980 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
19981 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
19982 UNSPEC_DATALABEL.
19983 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
19984 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
19985 (DATALABEL_REF_P): Don't require CONST.
19986 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
19987 REL label.
19988 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
19989 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
19990 right.
19991 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
19992 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
19993 Use shallow_copy_rtx and PUT_MODE to change the mode of
19994 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
19995 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
19996 on SHmedia using GENERAL_REGs.
19997 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
19998 bltu_media_i): Fix reversion of conditions.
19999 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
20000 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
20001 * config/sh/sh.c (output_far_jump): Save r13 in macl.
20002 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
20003 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
20004 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
20005 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
20006 (GCC_nested_trampoline): Likewise.
20007 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
20008 * config/sh/sh.c (gen_datalabel_ref): Define.
20009 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
20010 (INITIALIZE_TRAMPOLINE): Likewise.
20011 (TRAMPOLINE_ADJUST_ADDRESS): Define.
20012 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
20013 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
20014 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
20015 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
20016 (ic_invalidate): Adjust for SH5.
20017 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
20018 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
20019 _nested_trampoline.
20020 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
20021 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
20022 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
20023 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
20024 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
20025 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
20026 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
20027 * config/sh/sh.c (target_reg_operand): Match only target-branch
20028 registers and pseudos that aren't virtual registers.
20029 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
20030 Copy operands that don't match target_reg_operand to pseudos.
20031 (call_media, call_value_media, sibcall_media): Use
20032 target_reg_operand instead of target_operand.
20033 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 20034 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
20035 * config/sh/sh.c (target_reg_operand): Match hardware registers
20036 other than branch-target registers.
20037 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
20038 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
20039 (fpscr_values) [SH5 == 32]: Define.
20040 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
20041 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
20042 Handle function addresses coming in SUBREGs.
20043 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
20044 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
20045 shcompact_return_trampoline): Use datalabel where appropriate.
20046 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
20047 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
20048 general-purpose register to copy one branch-target register to
20049 another.
20050 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
20051 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
20052 SYMBOL_REFs with VOIDmode.
20053 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
20054 bltu_media_i): New insns.
20055 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
20056 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
20057 (INIT_CUMULATIVE_ARGS): Likewise.
20058 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
20059 * machmode.def (V16SFmode): New mode.
20060 * c-common.c (type_for_mode): Support V2SF and V16SF.
20061 * tree.c (build_common_tree_nodes_2): Likewise.
20062 * tree.h (tree_index): Likewise.
20063 * calls.c (emit_call_1): Take args_so_far. Adjust all
20064 callers. Introduce CALL_POPS_ARGS.
20065 * tm.texi (CALL_POPS_ARGS): Document.
20066 * config/sh/crt1.asm: Implement in SHmedia mode.
20067 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
20068 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
20069 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
20070 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
20071 Implement divsi and udivsi in SHmedia mode. Introduce
20072 SHcompact trampolines.
20073 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
20074 only in SHmedia64.
20075 (regno_reg_class): Rewrite.
20076 (fp_reg_names): Remove.
20077 (sh_register_names, sh_additional_register_names): New.
20078 (print_operand): Added `u'. Support SUBREGs in addresses.
20079 Add parentheses around shifted CONSTs.
20080 (output_file_start): Output .mode and .abi directives.
20081 (shiftcosts, addsubcosts, multcosts): Adjust.
20082 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
20083 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
20084 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
20085 bytes, not registers. Take into account the need for the
20086 SHcompact incoming args trampoline. Adjust all callers.
20087 (sh_expand_prologue): Take stack_regs into account. Call
20088 incoming args trampoline. Keep stack aligned as per SH5 ABI.
20089 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
20090 stack aligned as per SH5 ABI.
20091 (sh_builtin_saveregs): Support SH5 ABI.
20092 (sh_build_va_list, sh_va_start): Likewise.
20093 (initial_elimination_offset): Take alignment into account.
20094 Compute location of PR according to the SH5 stack frame.
20095 (arith_reg_operand): Reject branch-target registers.
20096 (shmedia_6bit_operand): New.
20097 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
20098 (target_reg_operand): Match DImode only. Accept SUBREGs.
20099 (target_operand): New.
20100 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
20101 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
20102 SIBCALL_REGS for SHmedia.
20103 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
20104 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
20105 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
20106 (TARGET_SWITCHES): New SH5 flags.
20107 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
20108 VALID_REGISTER_P to disable unsupported registers.
20109 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
20110 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
20111 (FUNCTION_ARG_PADDING): Define.
20112 (FASTEST_ALIGNMENT): Adjust.
20113 (SH_REGISTER_NAMES_INITIALIZER): New.
20114 (sh_register_names): Declare.
20115 (DEBUG_REGISTER_NAMES): Define.
20116 (REGISTER_NAMES): Define based on sh_register_names.
20117 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
20118 (sh_additional_register_names): Declare.
20119 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
20120 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
20121 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
20122 (REGISTER_NATURAL_MODE): Define.
20123 (FIRST_PSEUDO_REGISTER): Adjust.
20124 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
20125 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
20126 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
20127 (VECTOR_MODE_SUPPORTED_P): Define.
20128 (REG_CLASS_CONTENTS): Adjust.
20129 (SMALL_REGISTER_CLASSES): Adjust.
20130 (REG_ALLOC_ORDER): Adjust.
20131 (INDEX_REG_CLASS): Adjust.
20132 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
20133 (CONST_OK_FOR_LETTER_P): Adjust.
20134 (PREFERRED_RELOAD_CLASS): Adjust.
20135 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
20136 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
20137 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
20138 (FIRST_FP_PARM_REG): Adjust.
20139 (CALL_POPS_ARGS): Define.
20140 (FUNCTION_ARG_REGNO_P): Adjust.
20141 (struct sh_args): New fields.
20142 (GET_SH_ARG_CLASS): Adjust.
20143 (INIT_CUMULATIVE_ARGS): Adjust.
20144 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
20145 (FUNCTION_ARG_ADVANCE): Adjust.
20146 (FUNCTION_ARG): Adjust.
20147 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
20148 (FUNCTION_ARG_CALLEE_COPIES): Define.
20149 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
20150 (STRICT_ARGUMENT_NAMING): Define.
20151 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
20152 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
20153 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
20154 (SETUP_INCOMING_VARARGS): Adjust.
20155 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
20156 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
20157 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
20158 (SUBREG_OK_FOR_INDEX_P): Adjust.
20159 (EXTRA_CONSTRAINT_S): Update.
20160 (EXTRA_CONSTRAINT_T): New.
20161 (EXTRA_CONSTRAINT): Adjust.
20162 (GO_IF_LEGITIMATE_INDEX): Adjust.
20163 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
20164 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
20165 (MOVE_MAX): Adjust.
20166 (MAX_MOVE_MAX): Define.
20167 (Pmode): Adjust.
20168 (CONST_COSTS): Adjust.
20169 (REGISTER_MOVE_COST): Adjust.
20170 (BRANCH_COST): Adjust.
20171 (TEXT_SECTION_ASM_OP): Adjust.
20172 (DBX_REGISTER_NUMBER): Adjust.
20173 (ASM_OUTPUT_DOUBLE_INT): New.
20174 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
20175 (PREDICATE_CODES): Adjust.
20176 (PROMOTE_MODE): Adjust.
20177 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
20178 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
20179 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
20180 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
20181 (DR0_REG, DR2_REG, DR4_REG): Renumber.
20182 (TR0_REG, TR1_REG, TR2_REG): New.
20183 (XD0_REG): Renumber.
20184 (UNSPEC_COMPACT_ARGS): New.
20185 (type): Added pt and ptabs.
20186 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 20187 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
20188 (pt): New function unit.
20189 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
20190 Add whitespace between operands of SHmedia instructions.
20191 (movdicc): Fix.
20192 (adddi3_media, addsi3_media): Adjust constraints.
20193 (subsi3) [SHmedia]: Force operand 1 into a register.
20194 (udivsi3_i1_media, udivsi3_i4_media): New.
20195 (udivsi3): Support SHmedia.
20196 (divsi3_i1_media, divsi3_i4_media): New.
20197 (divsi3): Support SHmedia.
20198 (anddi3, iordi3, xordi3): Adjust constraints.
20199 (zero_extendhidi2, zero_extendqidi2): New.
20200 (extendsidi2, extendhidi2, extendqidi2): New.
20201 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
20202 (pop_e, pop_fpul, pop_4): Likewise.
20203 (movsi_media): Support FP and BT registers.
20204 (movsi_media_nofpu): New. Adjust splits to DImode.
20205 (lduw, ldub): Renamed to zero_extend* above.
20206 (movqi_media): Fix typo.
20207 (movdi_media): Support FP and BT registers.
20208 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
20209 (movdi_const_32bit): New.
20210 (shori_media): Require immediate operand. Use `u' for output.
20211 (movdf_media, movsf_media): Simplified.
20212 (movdf_media_nofpu, movsf_media_nofpu): New.
20213 (movdf, movsf): Adjust
20214 (movv2sf, movv2sf, movv16sf): New.
20215 (beq_media, beq_media_i): Adjust constraints. Don't use
20216 scratch BT register.
20217 (bne_media, bne_media_i): Likewise.
20218 (bgt_media, bgt_media_i): Likewise.
20219 (bge_media, bge_media_i): Likewise.
20220 (bgtu_media, bgtu_media_i): Likewise.
20221 (bgeu_media, bgeu_media_i): Likewise.
20222 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
20223 bunordered): Emit jump insn. Force operands to registers when
20224 needed.
20225 (jump_media, jump): Simplify.
20226 (call_compact, call_compact_rettramp): New.
20227 (call_value_compact, call_value_compact_rettramp): New.
20228 (call_media, call_value_media): Simplify.
20229 (sibcall_compact, sibcall_media): New.
20230 (call, call_value): Adjust for SHmedia and SHcompact.
20231 (sibcall, sibcall_value, untyped_call): Likewise.
20232 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
20233 (indirect_jump): Adjust for SHmedia.
20234 (casesi_jump_media): New.
20235 (nop): Re-enable for SHmedia.
20236 (call_site): Restrict to SH1.
20237 (casesi): Adjust for SHmedia.
20238 (casesi_shift_media, casesi_load_media): New.
20239 (return): Explicitly use PR register. Call return trampoline
20240 on SHcompact.
20241 (return_i): Explicitly use PR register.
20242 (shcompact_return_tramp, shcompact_return_tramp_i): New.
20243 (return_media): Adjust.
20244 (shcompact_incoming_args): New.
20245 (epilogue): Adjust.
20246 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
20247 (movstrsi): Disable on SH5.
20248 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
20249 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
20250 (subsf3, subsf3_media): Likewise.
20251 (mulsf3, mulsf3_media, mac_media): Likewise.
20252 (divsf3, divsf3_media): Likewise.
20253 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
20254 (floatsisf2, fux_truncsfsi2): Likewise.
20255 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
20256 constraints.
20257 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
20258 (cmpunsf_media, cmpsf): Likewise.
20259 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
20260 (abssf2, abssf2_media): Likewise.
20261 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
20262 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
20263 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
20264 (floatsidf2, fix_truncdfsi2): Likewise.
20265 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
20266 constraints.
20267 (cmpeqdf_media, cmpgtdf_media): Likewise.
20268 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
20269 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
20270 (absdf2, absdf2_media): Likewise.
20271 (extendsfdf2, extendsfdf2_media): Likewise.
20272 (truncsfdf2, truncsfdf2_media): Likewise.
20273 * config/sh/sh64.h: New file.
20274 * config/sh/t-sh64: New file.
20275 * config/sh/shmedia.h: New file.
20276 * config/sh/ushmedia.h: New file.
20277 * config/sh/sshmedia.h: New file.
20278 * configure.in: Added sh64-*-elf.
20279 * configure: Rebuilt.
20280 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
20281 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
20282 (reg_class_from_letter): Use `b' for TARGET_REGS.
20283 (print_operand): Support `%M', `%m', `AND' and
20284 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
20285 (andcosts): Adjust for SHmedia.
20286 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
20287 Likewise.
20288 (target_reg_operand): New function.
20289 * config/sh/sh-protos.h (target_reg_operand): Declare.
20290 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
20291 FP registers on SH5.
20292 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
20293 on SH4.
20294 (TARGET_REGISTER_P): New macro.
20295 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
20296 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
20297 (EXTRA_CONSTRAINT_S): New macro.
20298 (EXTRA_CONSTRAINT): Adjust.
20299 (FLOAT_TYPE_SIZE): Define to 32.
20300 (Pmode): DImode on SHmedia.
20301 (CONST_COSTS): Adjust for SHmedia literals.
20302 (PREDICATE_CODES): Added target_reg_operand.
20303 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
20304 * config/sh/sh.md: Remove all attrs from SHmedia insns.
20305 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
20306 (cmpdi): Accept SHmedia.
20307 (movdicc_false, movdicc_true): New insns.
20308 (movdicc): New expand.
20309 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
20310 no_new_pseudos.
20311 (addsi3_media): Match `S' constraint.
20312 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
20313 (negdi2): Expand for SHmedia.
20314 (one_cmpldi2): New expand.
20315 (zero_extendsidi2): Change from expand to insn.
20316 (extendsidi2): Add constraints.
20317 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
20318 LD/ST address. Fix SI immediate loading split.
20319 (movhi_media, movqi_media, lduw, ldub): New insns.
20320 (movhi, movqi): Accept SHmedia.
20321 (shori_media, movdi_media): Relax input constraints. Split
20322 symbolic constants.
20323 (movdf_media, movsf_media): New insn. New split to movdi.
20324 (movdf, movsf): Match on SHmedia.
20325 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
20326 bgeu_media): New insns and splits. New insns with `_i' suffix.
20327 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
20328 (bunordered): New expand.
20329 (jump_compact): Renamed from `jump'.
20330 (jump_media): New insn.
20331 (jump): New expand.
20332 (call_media, call_value_media): New insns.
20333 (call, call_value): Adjust.
20334 (indirect_jump_compact): Renamed from `indirect_jump'.
20335 (indirect_jump_media): New insn.
20336 (indirect_jump): New expand.
20337 (untyped_call, return): Accept SHmedia.
20338 (return_media): New insn.
20339 (prologue, epilogue, blockage): Accept SHmedia.
20340 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
20341 (sunordered): New expand.
20342 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
20343 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
20344 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
20345 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
20346 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
20347 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
20348 abssf2_media): New insns.
20349 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
20350 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
20351 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
20352 floatdidf2, floatsidf2_media, fix_truncdfdi2,
20353 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
20354 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
20355 absdf2_media): New insns.
20356 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
20357 (extendsfdf2_media, truncdfsf2_media): New insns.
20358 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
20359 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
20360 * config/sh/sh.h (CONST_OK_FOR_J): Document.
20361 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
20362 * config/sh/sh.md (adddi3): New expand.
20363 (adddi3_media, adddi3z_media): New insns.
20364 (adddi3_compact): Renamed from adddi3.
20365 (addsi3_media): Use add.l r63 to add constant zero.
20366 (subdi3): New expand.
20367 (subdi3_media): New insn.
20368 (subdi3_compact): Renamed from subdi3.
20369 (mulsidi3): New expand.
20370 (mulsidi3_media): New insn.
20371 (mulsidi3_compact): Renamed from mulsidi3.
20372 (umulsidi3): New expand.
20373 (umulsidi3_media): New insn.
20374 (umulsidi3_compact): Renamed from umulsidi3.
20375 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
20376 (ashlsi3, ashrsi3, lshrsi3): Use them.
20377 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
20378 (ashldi3, ashrdi3, lshrdi3): Use them.
20379 (zero_extendsidi2): New expand.
20380 (extendsidi2): New insn.
20381 (movsi_media): New insn. Split to movdi to load constants.
20382 (movsi): Enable for shmedia.
20383 (movdi_media): New insn. Use shori_media to load wide constants.
20384 (short_media): New insn.
20385 (movdi): Enable for shmedia.
20386 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
20387 * config/sh/sh.h (CPP_SPEC): Added `m5'.
20388 (SUBTARGET_CPP_SPEC): Added `!m5'.
20389 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
20390 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
20391 to all other SH variants.
20392 (TARGET_DEFAULT): Set to SH1_BIT.
20393 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
20394 (BITS_PER_WORD): Raise to 64 on shmedia.
20395 (MAX_BITS_PER_WORD): Change to 64.
20396 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
20397 (INT_TYPE_SIZE): Keep as 32.
20398 (UNITS_PER_WORD): Raise to 8 on shmedia.
20399 (MIN_UNITS_PER_WORD): Keep as 4.
20400 (POINTER_SIZE): Raise to 64 on shmedia.
20401 (CONST_OK_FOR_J): New macro.
20402 (CONST_OK_FOR_LETTER_P): Use it.
20403 (processor_type): Add PROCESSOR_SH5.
20404 * config/sh/sh.md: Conditionalize all expands, insns and
20405 splits to TARGET_SH1.
20406 (cpu): Added sh5.
20407 (addsi3_compact): Renamed from...
20408 (addsi3): Now an expand.
20409 (addsi3_media, subsi3_media): New insns.
20410 (subsi3): Don't negate constants with SHmedia.
20411
e4ec2cac
AO
20412 * hooks.c: New file.
20413 * hooks.h: New file.
20414 * Makefile.in (HOOKS_H): New.
20415 (TARGET_DEF_H): Added $(HOOKS_H).
20416 (OBJS): Added hooks.o.
20417 (cfgcleanup.o, bb-reorder.o): Added target.h.
20418 (hooks.o): Added dependencies.
20419 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
20420 (TARGET_INITIALIZER): this.
20421 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
20422 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
20423 * bb-reorder.c: Include target.h.
20424 (reorder_basic_blocks): Skip if cannot modify jumps.
20425 * cfgcleanup.c: Include target.h.
20426 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
20427
246a46e0
CD
204282002-02-08 Chris Demetriou <cgd@broadcom.com>
20429
831c4e87
KC
20430 * config/mips/mips.md (casesi_internal, casesi_internal_di):
20431 Protect jump delay slot instructions with .set noreorder and
20432 .set nomacro.
246a46e0
CD
20433
204342002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
20435
20436 * config/mips/mips.md (casesi_internal_di): Calculate
20437 the index into the target offset table correctly.
20438
fdf473ae
RH
204392002-02-08 Richard Henderson <rth@redhat.com>
20440
20441 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
20442 * final.c (output_addr_const): Accept and discard SUBREG.
20443 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
20444 mark them unknown instead.
20445 (simplify_subtraction): Handle RTX_UNKNOWN.
20446 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
20447
c50503ac
DE
204482002-02-08 David Edelsohn <edelsohn@gnu.org>
20449
20450 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
20451
3660d217
RH
204522002-02-08 Richard Henderson <rth@redhat.com>
20453
20454 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
20455
56547299
AJ
204562002-02-08 Andreas Jaeger <aj@suse.de>
20457
20458 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
20459 * config/i386/t-linux64: New file.
20460
1cf537c5
JJ
204612002-02-08 Jakub Jelinek <jakub@redhat.com>
20462
20463 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
20464 * c-parse.in (compstmt): Clear last_expr_type.
20465
5c7f5a5f
RH
204662002-02-07 Richard Henderson <rth@redhat.com>
20467
20468 * loop.c (strength_reduce): Sink final_value when not
20469 eliminating a biv.
20470
b1138bf3
DB
204712002-02-07 David O'Brien <obrien@FreeBSD.org>
20472
20473 * config/sparc/freebsd.h: Fix mismatched spec {.
20474
b6878a45
RH
204752002-02-07 Richard Henderson <rth@redhat.com>
20476
20477 * cfgrtl.c: Include recog.h and insn-config.h.
20478 (keep_with_call_p): Fix general_operand invocation.
20479 * Makefile.in (cfgrtl.o): Update dependencies.
20480
ae19f5ef
KH
204812002-02-07 Kazu Hirata <kazu@hxi.com>
20482
20483 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
20484 comment. Accept HImode only if TARGET_H8300.
20485
b137f9fc
EC
204862002-02-07 Eric Christopher <echristo@redhat.com>
20487
20488 * config/mips/crtn.asm: Cleanup #ifdefs.
20489
204902002-02-07 Eric Christopher <echristo@redhat.com>
20491
20492 * config/mips/crti.asm: Add changes for mips16. mips16 uses
20493 register 7 as RA instead of $31.
20494 * config/mips/crtn.asm: Ditto.
20495 * config/mips/mips.c (mips_move_2words): Add case for
20496 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
20497 (compute_frame_size): Fix typo.
20498 (save_restore_insns): Ditto. Make documentation about using
20499 register $7 as return register more precise.
20500 (mips_expand_epilogue): Fix comment. Add code to work around not
20501 being able to add to the stack pointer directly.
20502 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
20503 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
20504 epilogue.
20505
768070a0
TR
205062002-02-07 Tom Rix <trix@redhat.com>
20507
b137f9fc 20508 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
20509 immediates in ldu and stdu DS opcode field.
20510 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
20511 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
20512 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
20513
225909c3
JS
205142002-02-07 Jeff Sturm <jsturm@one-point.com>
20515
20516 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
20517 offset for stack bias.
20518
15fae023
L
205192002-02-07 H.J. Lu <hjl@gnu.org>
20520
20521 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
20522
fde5badd
UW
205232002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
20524
20525 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
20526
162f023b
JH
20527Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
20528
20529 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
20530 * i386.c (x86_order_regs_for_local_alloc): New global function.
20531 * i386.h (REG_ALLOC_ORDER): CLeanup.
20532 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
20533
9b462c42
RH
205342002-02-07 Richard Henderson <rth@redhat.com>
20535
85aa876c 20536 PR optimization/2463
9b462c42
RH
20537 * alias.c (find_base_value): Recall base values for fixed hard regs.
20538 * loop.c (loop_regs_update): Don't use single_set on non-insns.
20539
06e455a9
AO
205402002-02-07 Alexandre Oliva <aoliva@redhat.com>
20541
20542 * config/mips/mips.md (define_delay) [mips16]: Adjust required
20543 length.
20544
edd1967d
RH
205452002-02-06 Richard Henderson <rth@redhat.com>
20546
20547 PR c/5609
20548 * stmt.c (resolve_operand_name_1): Take more care with mixed
20549 named and unnamed operands.
20550
a2cd028f
JJ
205512002-02-06 Janis Johnson <janis187@us.ibm.com>
20552 Jan Hubicka <jh@suse.cz>
20553
20554 * loop.c (remove_constant_addition): Avoid clobbering a shared
20555 CONST expression.
20556
e8487c04
UW
205572002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
20558
20559 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
20560 * config/s390/t-linux64: New file.
20561 * config/s390/libgcc-glibc.ver: New file.
20562
58d10f89
UW
205632002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
20564
20565 * config/s390/linux64.h: Delete file.
20566 * config/s390/s390x.h: New file.
20567 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
20568 as target header file.
20569 * config/s390/linux.h (TARGET_VERSION): Define depending on
20570 DEFAULT_TARGET_64BIT.
20571 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
20572 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
20573 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
20574 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
20575 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
20576 (EXTRA_SPEC): New define.
20577 * config/s390/s390.h (TARGET_VERSION): Define depending on
20578 DEFAULT_TARGET_64BIT.
20579 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
20580
5ce89b2e
JM
205812002-02-06 Jason Merrill <jason@redhat.com>
20582
20583 * c-decl.c (finish_function): Warn about a non-void function with
20584 no return statement and no abnormal exit.
20585 (current_function_returns_abnormally): New variable.
20586 (start_function): Clear it.
20587 (struct c_language_function): Add returns_abnormally.
20588 (push_c_function_context): Save it.
20589 (pop_c_function_context): Restore it.
20590 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
20591 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
20592 an explicit return type.
20593 * c-tree.h: Declare current_function_returns_abnormally.
20594 (C_FUNCTION_IMPLICIT_INT): New macro.
20595 * c-typeck.c (build_function_call): Set it.
20596 (c_expand_return): Set current_function_returns_value even if the
20597 value is erroneous.
20598
caaf2272
JJ
205992002-02-06 Jakub Jelinek <jakub@redhat.com>
20600
20601 PR c/5420:
20602 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
20603 unsafe for reevaluation.
20604
d5129288
JJ
206052002-02-06 Jakub Jelinek <jakub@redhat.com>
20606
20607 PR c/5482:
20608 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
20609 EXPR_STMT, but COMPOUND_STMT, recurse into it.
20610
7fb75099
RH
206112002-02-06 Richard Henderson <rth@redhat.com>
20612
20613 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
20614 be a general_operand. Dest for function value must be a pseudo.
20615
d3a8b6a6
NC
206162002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
20617
20618 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
20619 as SYMBOL_REFs from the constant pool.
20620
3c1299c5
AO
206212002-02-06 Alexandre Oliva <aoliva@redhat.com>
20622
20623 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
20624 passed by invisible reference.
20625
c2c9f6c9
RH
206262002-02-05 Richard Henderson <rth@redhat.com>
20627
20628 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
20629
a824924d
HPN
206302002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
20631
20632 Implement using "base addresses" in insn operands as default.
20633 * config/mmix/mmix.c (mmix_conditional_register_usage): if
20634 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
20635 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
20636 used to read the rtx value.
20637 (mmix_target_asm_function_epilogue): Fix spacing.
20638 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
20639 (mmix_legitimate_address): Ditto.
20640 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
20641 should be loaded with a GETA insn. Don't allocate needless extra
20642 char for nul termination and fix misleading comment.
20643 (mmix_print_operand_address): Handle constants if
20644 TARGET_BASE_ADDRESSES.
20645 (mmix_output_register_setting): Use base addressing if
20646 TARGET_BASE_ADDRESSES and the number of insns is 3.
20647 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
20648 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
20649 to use R as constraint, add LDA to match s.
20650 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
20651 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
20652 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
20653 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
20654 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
20655 order with other fixed registers.
20656 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
20657 other parameter/call-clobbered registers.
20658 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
20659 -mbase-addresses, -mno-base-addresses.
20660 (MMIX Options): Ditto.
20661
73c342b9
JDA
206622002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
20663
20664 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
20665
ef238c58
AH
206662002-02-06 Aldy Hernandez <aldyh@redhat.com>
20667
831c4e87 20668 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 20669
ad08e60e
JT
206702002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
20671
20672 * config/netbsd.h (WCHAR_TYPE): Define.
20673 (WCHAR_TYPE_SIZE): Ditto.
20674 (WINT_TYPE): Ditto.
20675 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
20676 (WCHAR_UNSIGNED): Ditto.
20677 (WCHAR_TYPE_SIZE): Ditto.
20678 (WINT_TYPE): Ditto.
20679 * config/arm/netbsd.h: Likewise.
20680 * config/i386/netbsd-elf.h: Likewise.
20681 * config/i386/netbsd.h: Likewise.
20682 * config/m68k/netbsd-elf.h: Likewise.
20683 * config/m68k/netbsd.h: Likewise.
20684 * config/ns32k/netbsd.h: Likewise.
20685 * config/sparc/netbsd.h: Likewise.
20686 * config/vax/netbsd.: Likewise.
20687
f913c102
AO
206882002-02-05 Alexandre Oliva <aoliva@redhat.com>
20689
20690 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
20691 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
20692 (TARGET_INITIALIZER): this.
20693 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
20694 (BITFIELD_NBYTES_LIMITED): Markup fix.
20695 * tree.h (default_ms_bitfield_layout_p): Declare.
20696 (record_layout_info): Added prev_field.
20697 * tree.c (default_ms_bitfield_layout_p): New fn.
20698 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
20699 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
20700 * stor-layout.c: Include target.h.
20701 (start_record_layout): Initialize prev_field.
20702 (place_field): Handle MS bit-field layout, and disregard
20703 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
20704 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
20705 * Makefile.in (stor-layout.o): Adjust dependencies.
20706
c13db5d1
JM
207072002-02-05 Jason Merrill <jason@redhat.com>
20708
c13db5d1
JM
20709 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
20710
4505024e
AJ
207112002-02-05 Andreas Jaeger <aj@suse.de>
20712
20713 * crtstuff.c: Fix comments.
20714
794ad79d
RH
207152002-02-05 Richard Henderson <rth@redhat.com>
20716
2e279a9b
RH
20717 PR fortran/3393
20718 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
20719 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
20720
794ad79d
RH
20721 PR fortran/3392
20722 * config/mips/mips.c (function_arg): Handle TImode.
20723 (function_arg_advance): Likewise.
20724
8f909017
AH
207252002-02-05 Aldy Hernandez <aldyh@redhat.com>
20726
c13db5d1
JM
20727 * config/rs6000/altivec.h (vec_step_help): Rename to
20728 __vec_step_help.
8f909017 20729
66daa9e3
AH
207302002-02-05 Aldy Hernandez <aldyh@redhat.com>
20731
c13db5d1 20732 * config/rs6000/altivec.h: Fix typos.
66daa9e3 20733
2696e97b
JT
207342002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
20735
20736 * config/arm/netbsd.h: Correct a comment.
20737
3deb2758
AH
207382002-02-05 Aldy Hernandez <aldyh@redhat.com>
20739
c13db5d1
JM
20740 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
20741 building void typed builtins.
3deb2758 20742
c13db5d1
JM
20743 * config/rs6000/altivec.h (vec_ld*): Fix typos.
20744 (vec_step): Implement for C++.
3deb2758 20745
c13db5d1 20746Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
20747
20748 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
20749
ebbb0a63
RH
207502002-02-04 Richard Henderson <rth@redhat.com>
20751
20752 * combine.c (nonzero_bits): Re-introduce special case for
20753 sp/fp/ap wrt REGNO_POINTER_ALIGN.
20754
ae4b4a02
AH
207552002-02-05 Aldy Hernandez <aldyh@redhat.com>
20756
c13db5d1
JM
20757 * doc/extend.texi: Warn about unsupported usage of altivec
20758 builtins.
ae4b4a02 20759
c13db5d1
JM
20760 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
20761 (altivec_predicate_*): New.
ae4b4a02 20762
c13db5d1
JM
20763 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
20764 Add C++ version of vec_*() functions.
ae4b4a02 20765
c13db5d1
JM
20766 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
20767 (bdesc_2arg): Remove altivec predicates.
20768 (altivec_expand_builtin): Handle predicates.
20769 (altivec_init_builtins): Handle predicates.
20770 (altivec_expand_predicate_builtin): New.
ae4b4a02 20771
f6bcf44c
JDA
207722002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20773
20774 * pa.c (DO_FRAME_NOTES): Move forward.
20775 (store_reg): Revise handling of frame notes.
20776 (load_reg): Likewise.
20777 (set_reg_plus_d): Likewise.
20778 (hppa_expand_prologue): Likewise.
20779 (hppa_expand_epilogue): Likewise.
b137f9fc 20780
703b0080
JDA
207812002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20782
20783 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
20784
6f9fdf4d
JJ
207852002-02-04 Jakub Jelinek <jakub@redhat.com>
20786
20787 PR c/4475, c++/3780:
20788 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
20789 * c-common.h (SWITCH_TYPE): Define.
20790 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
20791 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
20792 Rename spareness variable to sparseness.
20793 (expand_end_case_type): Renamed from expand_end_case, use orig_type
20794 if non-NULL instead of TREE_TYPE (orig_index).
20795 * tree.h (expand_end_case_type): Renamed from expand_end_case.
20796 (expand_end_case): Define using expand_end_case_type.
20797 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
20798 to expand_end_case_type.
20799 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
20800
79109502
JDA
208012002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20802
20803 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
20804 (BIGGEST_ALIGNMENT): Change to 128.
20805
e62a5987
JDA
208062002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20807
20808 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
20809
219f24a4
JDA
208102002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20811
20812 * pa.md (call_internal_reg_64bit): Remove unused variable.
20813
3cb66fd7
NC
208142002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
20815
20816 * config/arm/arm.h (machine_function): Add uses_anonymous_args
20817 field.
831c4e87 20818 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 20819 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
20820 replace uses with cfun->machine->uses_anonymous_args.
20821 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
20822
20823 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
20824 any geenral register.
b137f9fc 20825
5d5603e2 208262001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
20827
20828 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
20829 the entry block.
20830
563c12b0
RH
208312002-02-04 Richard Henderson <rth@redhat.com>
20832
20833 * combine.c (force_to_mode): Remove STACK_BIAS code.
20834 (nonzero_bits): Likewise. Replace sp/fp special case with
20835 REGNO_POINTER_ALIGN.
20836
20837 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
20838 (HARD_FRAME_POINTER_REGNUM): New.
20839 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
20840 (FIXED_REGS, CALL_USED_REGS): Update.
20841 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
20842 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
20843 (HARD_REGNO_NREGS): Update for SFP.
20844 (STACK_POINTER_OFFSET): Include bias here ...
20845 (FIRST_PARM_OFFSET): ... not here.
20846 (STACK_BIAS): Remove.
20847 (INIT_EXPANDERS): New.
20848 (STARTING_FRAME_OFFSET): Do not include bias.
20849 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
20850 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
20851 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
20852 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
20853 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
20854 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
20855 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
20856 (MUST_SAVE_REGISTER): Likewise.
20857 (sparc_flat_function_prologue): Likewise.
20858 (sparc_flat_function_epilogue): Likewise.
20859 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
20860 (sparc_init_modes): SFP is GENERAL_REGS.
20861 (sparc_builtin_saveregs): SFP does not have bias applied.
20862
14691f8d
RH
208632002-02-04 Richard Henderson <rth@redhat.com>
20864
20865 * config/alpha/alpha.c (current_function_is_thunk): Don't check
20866 current_function_is_thunk.
20867 (alpha_sa_mask): Distinguish between current_function_is_thunk
20868 called from ASM_OUTPUT_MI_THUNK and not.
20869 (alpha_does_function_need_gp): Thunks always need gp.
20870 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
20871 (alpha_output_mi_thunk_osf): New.
20872 * config/alpha/alpha-protos.h: Update.
20873 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
20874
af702de8
RS
208752002-02-04 Richard Sandiford <rsandifo@redhat.com>
20876
20877 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
20878 function types, not when they're taken away.
20879
5b1cacd8
JL
20880Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
20881
20882 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
20883 CODE_LABEL and jump table when replacing a table jump with a
20884 simple jump.
20885
f3e9edff
UW
208862002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
20887
20888 * config/s390/s390-protos.h (legitimize_la_operand,
20889 s390_secondary_input_reload_class, s390_plus_operand,
20890 s390_expand_plus_operand): Add prototypes.
20891
20892 config/s390/s390.c (s390_secondary_input_reload_class,
20893 s390_plus_operand, s390_expand_plus_operand): New functions.
20894
20895 (struct s390_address): New member 'pointer'.
20896 (s390_decompose_address): Compute it.
20897 (legitimate_la_operand_p): Use it.
20898 (legitimize_la_operand): New function.
20899 (movti, movdi, movdf splitters): Call it.
20900
20901 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
20902 (PREDICATE_CODES): Add s390_plus_operand.
20903
20904 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
20905 (la_ccclobber): Allow GENERAL_REGS as output operand.
20906
20907 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
20908 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
20909 (*la_64, *la_31, reload_indi, reload_insi): ... these.
20910
3c9a08ec
UW
209112002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
20912
20913 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
20914 register names for regular asm () construct.
20915
ac300a45
JJ
209162002-02-04 Jakub Jelinek <jakub@redhat.com>
20917
20918 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
20919 registers.
20920
fa852403
JJ
209212002-02-04 Jakub Jelinek <jakub@redhat.com>
20922
20923 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
20924 pat for recog.
20925
fecaac37
HP
209262002-02-04 Hartmut Penner <hpenner@de.ibm.com>
20927
831c4e87
KC
20928 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
20929 constant pool to be identical by string address and index.
fecaac37 20930
10c45943
AG
209312002-02-04 Anthony Green <green@redhat.com>
20932
20933 * output.h (SECTION_OVERRIDE): Define.
20934 * varasm.c (named_section): Obey SECTION_OVERRIDE.
20935
69474c3c
JT
209362002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
20937
20938 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
20939 by existing arm*-*-netbsd* (a.out) target.
20940 (ns32k-*-netbsdelf*): Likewise.
20941 (sparc-*-netbsdelf*): Likewise.
20942 (vax-*-netbsdelf*): Likewise.
20943
939a46f6 209442002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
20945
20946 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
20947 headers and libobjc headers.
20948
209492002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
20950
20951 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
20952 (_mingw.h): Remove duplicate include.
20953
2fd95d71
JT
209542002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
20955
20956 * config.gcc: Set cpu_type to m68k for 68010, as well.
20957 (m68010-*-netbsdelf*): New...
20958 (m68k*-*-netbsdelf*): ...targets.
20959 * config/m68k/netbsd-elf.h: New file.
20960
0ea6f6a0
KH
209612002-02-02 Kazu Hirata <kazu@hxi.com>
20962
20963 * config/h8300/h8300.c (hand_list): Move inside function_arg.
20964
cbf1b2da
KH
209652002-02-02 Kazu Hirata <kazu@hxi.com>
20966
20967 * config/h8300/h8300.c (h8_push_ops): Move inside
20968 h8300_init_once.
20969 (h8_pop_ops): Likewise.
20970 (h8_move_ops): Likewise.
20971
0869f126
KH
209722002-02-02 Kazu Hirata <kazu@hxi.com>
20973
20974 * config/h8300/h8300.c (os_task): Make it static.
20975 (monitor): Likewise.
20976 (pragma_saveall): Likewise.
20977
90e65b70
AO
209782002-02-02 Alexandre Oliva <aoliva@redhat.com>
20979
20980 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
20981 constant is a valid sign-extension for Pmode.
20982
9cbcd983
KH
209832002-02-02 Kazu Hirata <kazu@hxi.com>
20984
20985 * config/h8300/h8300.c: Fix formatting.
20986
7a27efc4
KH
209872002-02-02 Kazu Hirata <kazu@hxi.com>
20988
20989 * config/h8300/h8300.md: Fix formatting.
20990
54175a44
KH
209912002-02-02 Kazu Hirata <kazu@hxi.com>
20992
20993 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
20994 predicates of operands[1]. Split the patterns for each
20995 processor variant.
20996
eceb1755
KH
209972002-02-02 Kazu Hirata <kazu@hxi.com>
20998
20999 * config/h8300/h8300.md (xor patterns): Tighten the predicates
21000 of operands[1] to register_operand.
21001
0fef3fd0
NB
210022002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
21003
21004 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
21005 * cpphash.c (_cpp_init_hashtable): Similarly.
21006 * cppinit.c (cpp_create_reader): Default the signed_char flag.
21007 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
21008 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
21009 (cpp_handle_option): Handle the new options.
21010 * cpplex.c (cpp_interpret_charconst): Use new flag.
21011 * cpplib.h (struct cpp_options): New member signed_char.
21012 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
21013 (cpp_options): Handle -fsigned-char and -funsigned-char.
21014 (static_specs): Remove signed_char_spec.
21015 (do_spec1): Don't handle %c.
21016 * system.h: Poison SIGNED_CHAR_SPEC.
21017 * tradcif.y (yylex): Use flag_signed_char.
21018 * tradcpp.h (flag_signed_char): New.
21019 * tradcpp.c (flag_signed_char): New.
21020 (main): Handle new command-line options.
21021 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
21022config:
21023 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
21024 * avr/avr.h: Remove old comments.
21025 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
21026 (CC1_SPEC): Pass -fsigned-char if -mic*.
21027 (SIGNED_CHAR_SPEC): Remove.
21028doc:
21029 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
21030
0617ed52
EC
210312002-02-01 Eric Christopher <echristo@redhat.com>
21032
21033 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
21034 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
21035 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
21036 (ASM_OUTPUT_REG_POP): Ditto.
21037
dfd48d76
NB
210382002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
21039
21040 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
21041 patch.
21042
4a23409e
JJ
210432002-02-02 Jakub Jelinek <jakub@redhat.com>
21044
21045 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
21046
d3c52658
JJ
210472002-02-02 Jakub Jelinek <jakub@redhat.com>
21048
21049 PR c/5304:
21050 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
21051 unconditionally.
21052
02c5a3bd
JJ
210532002-02-01 Janis Johnson <janis187@us.ibm.com>
21054
21055 * cfganal.c: Include tm_p.h.
21056 (keep_with_call_p): Fix the test that determines if a register holds
21057 the return value of a call.
21058
3968de80
DD
210592002-02-01 DJ Delorie <dj@redhat.com>
21060
21061 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
21062 we are given conflicting registers, switch to the other one we
21063 had allocated for us.
21064 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
21065 as TImode so we know when the "other" register is available.
21066
1338ea6c
DB
210672002-02-01 David O'Brien <obrien@FreeBSD.org>
21068
21069 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
21070 sparc/sparc_bi.h.
21071
f015be23
JJ
210722002-02-01 Janis Johnson <janis187@us.ibm.com>
21073
21074 * cfganal.c (keep_with_call_p): New function.
21075 (flow_call_edges_add): Prevent splitting a block between a call and
21076 a single-set instruction that should be kept in the same block.
21077
63708ffc
CR
210782002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
21079
21080 * doc/install.texi (avr): Update outdated URL.
21081
5ee4950e
AH
210822002-01-30 Andrew Haley <aph@cambridge.redhat.com>
21083
831c4e87
KC
21084 * config/stormy16/stormy16.md (pushqi): New.
21085 (popqi): New.
21086 (pushhi): New.
21087 (pophi): New.
21088 (movhi): Remove stack operands.
21089 (movqi): Likewise.
21090 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
21091 nonimmediate_nonstack_operand.
21092 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
21093 New.
21094 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
21095 New.
5ee4950e 21096
b88c0704
JM
210972002-01-31 Jason Merrill <jason@redhat.com>
21098
21099 * Makefile.in (c-parse.c): Handle .output file.
21100 * objc/Make-lang.in (objc-parse.c): Likewise.
21101
ac282977
AO
211022002-02-01 Alexandre Oliva <aoliva@redhat.com>
21103
21104 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
21105 the -me[lb] option is given. Don't output the default flag
21106 twice.
21107
bebc7e8b
ZW
211082002-01-31 Zack Weinberg <zack@codesourcery.com>
21109
21110 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
21111 the primary source file; this has not been done yet.
21112 * c-decl.c (c_expand_body): Reset input_filename from
21113 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
21114
5809eb5f
KH
211152002-01-31 Kazu Hirata <kazu@hxi.com>
21116
21117 * rtlanal.c (subreg_regno_offset): Do not use
21118 SUBREG_REGNO_OFFSET.
21119 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
21120 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
21121
8512bbd7
JM
211222002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
21123
21124 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
21125 version rather than GNATS version in --version output.
21126
74cb3cc8
RS
211272002-01-31 Richard Sandiford <rsandifo@redhat.com>
21128
21129 * ifcvt.c (noce_process_if_block): Make a copy of the destination
21130 when copying back from a temporary.
21131
874b5b14
RH
211322002-01-30 Richard Henderson <rth@redhat.com>
21133
21134 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
21135 and new_dest are the same.
21136
e803a64b
RH
211372002-01-30 Richard Henderson <rth@redhat.com>
21138
89cf7be5 21139 PR opt/5076
e803a64b
RH
21140 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
21141 * rtl.c (note_insn_name): Update.
21142 * emit-rtl.c (remove_unnecessary_notes): Kill it.
21143 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
21144 to perform loop rotation.
21145 (expand_exit_loop_top_cond): New.
21146 * tree.h (expand_exit_loop_top_cond): Declare it.
21147 * c-semantics.c (genrtl_while_stmt): Use it.
21148 (genrtl_for_stmt): Likewise.
21149
0b51254d
AO
211502002-01-30 Alexandre Oliva <aoliva@redhat.com>
21151
21152 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
21153 arguments to 64-bit boundaries on 64-bit ABIs.
21154
71cef493
SE
211552002-01-30 Steve Ellcey <sje@cup.hp.com>
21156
21157 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
21158
6169e5fd
JM
211592002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
21160
21161 * c-decl.c (grokdeclarator): Handle type being a typedef for an
21162 invalid type.
21163
86f808dc
DB
211642002-01-30 David O'Brien <obrien@FreeBSD.org>
21165
21166 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
21167 * config/sparc/sparc_bi.h: Remove file.
21168 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
21169
5748ebeb
RH
211702002-01-30 Richard Henderson <rth@redhat.com>
21171
21172 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
21173
20d32cc2
ZW
211742002-01-30 Zack Weinberg <zack@codesourcery.com>
21175
21176 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
21177
b88c0704 211782002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
21179
21180 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
21181 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
21182 (reg_save): Use DW_CFA_offset_extended_sf instead.
21183
21184 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
21185
37060e78
JJ
211862002-01-29 Jakub Jelinek <jakub@redhat.com>
21187
21188 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
21189 in cselib_lookup.
21190
d18dba68
AH
211912002-01-29 Aldy Hernandez <aldyh@redhat.com>
21192
bebc7e8b
ZW
21193 * rs6000.md ("*call_value_local32"): Remove constraints.
21194 ("*call_value_local64"): Same.
21195 ("*call_value_indirect_nonlocal_aix32"): Same.
21196 ("*call_value_nonlocal_aix32"): Same.
21197 ("*call_value_indirect_nonlocal_aix64"): Same.
21198 ("*call_value_nonlocal_aix64"): Same.
21199 ("*call_value_nonlocal_sysv"): Same.
d18dba68 21200
80a8aac6
RH
212012002-01-29 Richard Henderson <rth@redhat.com>
21202
21203 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
21204
12beba6f
RH
212052002-01-29 Richard Henderson <rth@redhat.com>
21206
21207 * expr.c (force_operand): Ignore flag_pic for detecting pic
21208 address loads.
21209 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
21210 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
21211 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
21212 instead of open-coded loop.
21213 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
21214 be fixed when in use.
21215
2583081e
RH
212162002-01-29 Richard Henderson <rth@redhat.com>
21217
21218 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
21219 * sched-rgn.c (propagate_deps): Update them.
21220 * sched-deps.c (sched_analyze_insn): Update them. Flush the
21221 clobbers list when either gets too long.
21222
3b8d200e
JJ
212232002-01-29 Jakub Jelinek <jakub@redhat.com>
21224
21225 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
21226 and INDEX_REGS the same as GENERAL_REGS.
21227 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
21228
2d3115eb
NB
212292002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
21230
bebc7e8b 21231 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 21232
ecbe845e
UW
212332002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
21234
bebc7e8b 21235 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 21236 movstrsix_31): Remove, replace by ...
bebc7e8b 21237 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
21238 movstrsi_long): ... these. New.
21239 (movstrdi, movstrsi): Adapt.
21240
21241 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 21242 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
21243 Remove unnecessary CC clobber.
21244 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
21245 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
21246
21247 (divmoddi4): Don't partially initialize TImode register.
21248
0b32fca5
GK
212492002-01-29 Geoffrey Keating <geoffk@redhat.com>
21250
21251 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
21252
08ef5437
RH
212532002-01-29 Richard Henderson <rth@redhat.com>
21254
21255 * flow.c (print_rtl_and_abort): Remove.
21256 (print_rtl_and_abort_fcn): Remove.
21257 (verify_local_live_at_start): Use dump_bb instead.
21258 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
21259 (verify_wide_reg_1): Return 2 on mode test failure.
21260
8469e54e
NB
212612002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
21262
21263 PR c/3325, c/3326, c/2511, c/3347
21264 * c-decl.c (enum_decl_context): Remove BITFIELD.
21265 (grokdeclarator): Take bitfield width as an input.
21266 Ensure bitfields are given the correct type. Perform
21267 bitfield width validation with build_bitfield_integer_type
21268 rather than waiting for finish_struct.
21269 (grok_typename, grok_typename_in_parm_context, start_decl,
21270 push_parmdecl, grokfield, start_function): Update calls to
21271 grokdeclarator.
21272 (build_bitfield_integer_type): New function.
21273 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 21274 and build_bitfield_integer_type.
8469e54e
NB
21275 * tree.c (build_nonstandard_integer_type): New function.
21276 * tree.h (build_nonstandard_integer_type): New prototype.
21277objc:
21278 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
21279
ffdeea47
JJ
212802002-01-29 Jakub Jelinek <jakub@redhat.com>
21281
21282 PR other/1502:
21283 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
21284 don't ignore unrecognized -W* options.
21285 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
21286 * cpplib.h (cpp_handle_option): Adjust prototype.
21287 * c-decl.c (c_decode_options): Pass 0 as last argument to
21288 cpp_handle_option.
21289
21290 PR c/2896:
21291 * gcc.c (cpp_unique_options): Split from cpp_options.
21292 (cpp_options): Source cpp_unique_options.
21293 (default_compilers): Use cpp_unique_options instead of cpp_options
21294 when used together with cc1_options.
21295 (static_specs): Add cpp_unique_options.
21296 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
21297 when used together with cc1_options.
21298
1a275226
KH
212992002-01-29 Kazu Hirata <kazu@hxi.com>
21300
21301 * config/h8300/h8300-protos.h: Update the prototype of
21302 output_a_shift.
21303 * config/h8300/h8300.c (output_a_shift): Remove an unused
21304 argument 'insn'. Remove redundant code.
21305 * config/h8300/h8300.md: Adust to the new prototype of
21306 output_a_shift.
21307
a11d9dfc
KH
213082002-01-29 Kazu Hirata <kazu@hxi.com>
21309
21310 * config/h8300/h8300-protos.h: Update the prototypes of
21311 emit_a_rotate and expand_a_rotate.
21312 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
21313 first argument to 'enum rtx_code'.
21314 (expand_a_rotate): Likewise.
21315
871f73e3
KH
213162002-01-28 Kazu Hirata <kazu@hxi.com>
21317
21318 * config/h8300/h8300-protos.h: Update the prototype of
21319 output_simode_bld.
21320 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
21321 'log2'.
21322 * config/h8300/h8300.md: Adjust to the new prototype.
21323
5fc4b751
KH
213242002-01-28 Kazu Hirata <kazu@hxi.com>
21325
21326 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
21327 redundant code.
21328
2d67bd7b
JDA
213292002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
21330
21331 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
21332 is a fixed register before returning pic_offset_table_rtx.
21333 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
21334 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
21335
5a852b3e
JM
213362002-01-28 Jason Merrill <jason@redhat.com>
21337
6bb28965 21338 * dwarf2.h: Sync with src version.
5a852b3e 21339
3bca17dd
PK
213402002-01-28 Paul Koning <pkoning@equallogic.com>
21341
21342 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
21343 BT_FN_VOID_PTR_VAR.
21344 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
21345 * doc/extend.texi (__builtin_prefetch): Update documentation:
21346 first argument is now const void ptr.
21347
7dc3f8c0
KH
213482002-01-28 Kazu Hirata <kazu@hxi.com>
21349
21350 * config/h8300/h8300-protos.h: Remove an unused prototype.
21351
e83cb5f0
RZ
213522002-01-28 Roman Zippel <zippel@linux-m68k.org>
21353
21354 * toplev.c (lang_independent_init): Round up identifier size.
21355
5721cd84
RE
213562002-01-28 Richard Earnshaw <rearnsha@arm.com>
21357
21358 * config.gcc: Revert previous change.
21359
d534119e
AP
213602002-01-28 Andris Pavenis <pavenis@latnet.lv>
21361
21362 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
21363
5a721dab
RE
213642002-01-28 Richard Earnshaw <rearnsha@arm.com>
21365
21366 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
21367 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
21368 other non-elf netbsd config frags.
21369 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
21370 collect2 will does that.
21371 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
21372 shared-lib frobbing will work.
21373
da1775d6
KH
213742002-01-28 Kazu Hirata <kazu@hxi.com>
21375
21376 * config/h8300/h8300.h: Fix formatting.
21377 * config/h8300/h8300.md: Likewise.
21378
8f2e963b
LR
213792002-01-28 Loren J. Rittle <ljrittle@acm.org>
21380
21381 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
21382 the old, removed AAA_standards fix.
21383 * fixinc/fixincl.x: Rebuilt.
21384
fdae5767
HPN
213852002-01-28 Hans-Peter Nilsson <hp@axis.com>
21386
21387 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
21388 atexit call in crtbegin, hooked in after call to frame_dummy;
21389 register EH before registering __fini__start.
21390
2a2ecb63
AH
213912002-01-28 Aldy Hernandez <aldyh@redhat.com>
21392
21393 * config/rs6000/altivec.h: Remove spurious semicolons.
21394
8ed43adf
KH
213952002-01-27 Kazu Hirata <kazu@hxi.com>
21396
21397 * config/h8300/h8300.md: Replace dead bit extraction patterns
21398 with ones that work.
21399
917afb0c
RK
21400Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21401
21402 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
21403 if not STRICT_ALIGNMENT.
21404 * rtl.h (MEM_ALIGN): Likewise.
21405
f70a54cb
CR
214062002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
21407
21408 * doc/invoke.texi (-fdump-translation-unit): Revert this
21409 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
21410
d8fd4914
KH
214112002-01-27 Kazu Hirata <kazu@hxi.com>
21412
21413 * config/h8300/h8300.md (define_constants): New.
21414 (anonymous patterns) Use defined constants appropriately.
21415
15e0e275
KH
214162002-01-27 Kazu Hirata <kazu@hxi.com>
21417
21418 * config/h8300/h8300.c (function_arg): Remove redundant code.
21419
37a0f8a5
RH
214202002-01-26 Richard Henderson <rth@redhat.com>
21421
21422 * sched-deps.c (reg_pending_uses_head): New.
21423 (reg_pending_barrier): Rename from reg_pending_sets_all.
21424 (find_insn_list): Don't mark inline.
21425 (find_insn_mem_list): Remove.
21426 (add_dependence_list, add_dependence_list_and_free): New.
21427 (flush_pending_lists): Replace only_write param with separate
21428 for_read and for_write parameters. Update all callers. Use
21429 add_dependence_list_and_free.
21430 (sched_analyze_1): Do not add reg dependencies here; just set
21431 the pending bits. Use add_dependence_list.
21432 (sched_analyze_2): Likewise.
21433 (sched_analyze_insn): Replace schedule_barrier_found with
21434 reg_pending_barrier. Add all dependencies for pending reg
21435 uses, sets, and clobbers.
21436 (sched_analyze): Don't add reg dependencies for calls, just
21437 set pending bits. Use regs_invalidated_by_call. Treat
21438 sched_before_next_call as a normal list, not a fake insn.
21439 (init_deps): No funny init for sched_before_next_call.
21440 (free_deps): Free pending mems lists. Don't zero reg_last.
21441 (init_deps_global): Init reg_pending_uses.
21442 (finish_deps_global): Free it.
21443 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
21444 (find_insn_mem_list): Remove.
21445 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
21446 (propagate_deps): Use them. Zero temp mem lists.
21447
cea3bd3e
RH
214482002-01-26 Richard Henderson <rth@redhat.com>
21449
21450 * Makefile.in (CRTSTUFF_CFLAGS): New.
21451 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
21452 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
21453 crtstuff.c instead of alpha assembly version.
21454 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
21455 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
21456 not FORCE_{INIT,FINI}_SECTION_ALIGN.
21457 (__do_global_dtors_aux): Mark used.
21458 (frame_dummy, __do_global_ctors_aux): Mark used.
21459 (fini_dummy, init_dummy): Remove.
21460
21461 * config/alpha/crtbegin.asm: Remove file.
21462 * config/alpha/crtend.asm: Remove file.
21463 * config/alpha/t-crtbe: Remove file.
21464 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
21465 (LINK_EH_SPEC): New.
21466
21467 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
21468 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
21469 calling constructors.
21470 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
21471
21472 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
21473 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
21474 CRT_END_INIT_DUMMY hack.
21475 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
21476 FORCE_{INIT,FINI}_SECTION_ALIGN.
21477
21478 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
21479 FORCE_{INIT,FINI}_SECTION_ALIGN.
21480
21481 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
21482 invocation sequence.
21483 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
21484
21485 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
21486 (FORCE_CODE_SECTION_ALIGN): New.
21487
60ffa0e5
RH
214882002-01-26 Richard Henderson <rth@redhat.com>
21489
21490 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
21491
61334ebe
RH
214922002-01-26 Richard Henderson <rth@redhat.com>
21493
21494 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
21495 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
21496
1d788fb6
KH
214972002-01-26 Kazu Hirata <kazu@hxi.com>
21498
21499 * config/h8300/h8300.md: Remove bit extraction patterns that
21500 cannot be triggered.
21501 Restrict each bit extraction pattern to a variant on which the
21502 pattern is tested.
21503
87611f88
JM
215042002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
21505
21506 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
21507
cd74ec59
KH
215082002-01-26 Kazu Hirata <kazu@hxi.com>
21509
21510 * config/h8300/h8300.md: Remove bit test patterns that cannot
21511 be triggered.
21512 Restrict each bit test pattern to a variant on which the
21513 pattern is tested.
21514
93051e0f
KG
215152002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21516
21517 * builtins.c (expand_builtin_strncat): Remove redundant check for
21518 INTEGER_CST.
21519
216c995f
DB
215202002-01-25 David O'Brien <obrien@FreeBSD.org>
21521
21522 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
21523 default setting.
21524 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
21525 existing setting.
21526
33c7f925
GK
215272002-01-25 Geoffrey Keating <geoffk@redhat.com>
21528
21529 * dbxout.c (dbxout_init): Use assemble_name rather than just
21530 stripping off the first character.
21531 (dbxout_source_file): Likewise.
21532
6cd444b4
DD
215332002-01-25 DJ Delorie <dj@redhat.com>
21534
21535 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
21536 using rtx_equal_p, not by comparing pointers.
21537
751551d5
SE
215382002-01-25 Steve Ellcey <sje@cup.hp.com>
21539
21540 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
21541 for PIC_OFFSET_TABLE_REGNUM.
21542 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
21543
e564e618
DB
215442002-01-25 David O'Brien <obrien@FreeBSD.org>
21545
21546 * config.gcc (x86_64-*-freebsd*): New target.
21547 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
21548 value.
21549 (i[34567]86-*-freebsd*): Don't include svr4.h.
21550 * config/i386/freebsd64.h: New file.
21551
ff3aaf17
DR
215522002-01-25 Douglas B Rupp <rupp@gnat.com>
21553
4857d29d
DR
21554 * config/alpha/x-vms (version): Make static.
21555
21556 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
21557 in previous checkin.
21558
ff3aaf17
DR
21559 * Makefile.in (install-headers-cp): New target.
21560 * config.gcc (alpha-dec-*vms*): Install headers with
21561 install-headers-cp
21562
48d79c43
JH
21563Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
21564
21565 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
21566 avoid it's copies.
21567
995b5904
RK
21568Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21569
21570 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
21571 of compare_tree_int.
21572 (expand_builtin_strncat): Likewise.
21573 * c-decl.c (finish_struct): Use tree_low_cst.
21574 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
21575 * tree.c (compare_tree_int): Likewise.
21576
75eefe3f
UW
215772002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
21578
21579 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
21580 adjustments even if they are implemented by more than two insns.
21581
5a133afd
JH
21582Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
21583
995b5904 21584 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
21585 * df.h (struct ref): Kill B.
21586 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
21587
21588 * basic-block.h (PROP_EQUAL_NOTES): New flag.
21589 * flow.c (propagate_one_insn): Use it.
21590 (mark_used_regs): Handle NIL.
21591
ead39bdf 215922002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
21593
21594 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
21595 to help folding.
21596
01a2ccd0
DE
215972002-01-25 David Edelsohn <edelsohn@gnu.org>
21598
21599 * rs6000.md (prefetch): Make address V4SI mode so that the address
21600 is restricted to legitimate form for instruction.
21601
fd29f6ea
BW
216022002-01-25 Bob Wilson <bob.wilson@acm.org>
21603
21604 * doc/install.texi (xtensa-*-elf): New target.
21605 (xtensa-*-linux*): New target.
21606 * doc/contrib.texi: Add myself.
21607
55492b32
NC
216082002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
21609
21610 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
21611 purpose register to hold an SImode (or smaller) value.
21612
72c7c913
JJ
216132002-01-25 Jakub Jelinek <jakub@redhat.com>
21614
21615 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
21616 registry only.
21617 * crtstuff.c: Likewise.
21618
c4df4ceb
KH
216192002-01-25 Kazu Hirata <kazu@hxi.com>
21620
21621 * config/h8300/h8300.md (negation patterns): Tighten
21622 predicates to register_operand.
21623
70e531f5
AH
216242002-01-24 Aldy Hernandez <aldyh@redhat.com>
21625
3bca17dd
PK
21626 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
21627 mode, not Pmode.
70e531f5 21628
3bca17dd 21629 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 21630
a4f76ef9
AO
216312002-01-24 Alexandre Oliva <aoliva@redhat.com>
21632
21633 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
21634 modes.
21635
9bf25b09
KH
216362002-01-24 Kazu Hirata <kazu@hxi.com>
21637
21638 * config/h8300/h8300.c (print_operand): Remove support for
21639 operand character 'A'.
21640 * config/h8300/h8300.md (three anonymous patterns): Replace
21641 operand character 'A' with either 'T' or 'S'.
21642
974af6a5
KH
216432002-01-24 Kazu Hirata <kazu@hxi.com>
21644
21645 * config/h8300/h8300.c (print_operand): Remove support for
21646 operand character 'U'.
21647
7a5bb7b8
AP
216482002-01-24 Andris Pavenis <pavenis@latnet.lv>
21649
3bca17dd 21650 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 21651
92a4639e
NC
216522002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
21653
21654 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
21655 values to be assigned to the stack pointer.
21656
467cb2da
HP
216572002-01-14 Hartmut Penner <hpenner@de.ibm.com>
21658
bebc7e8b 21659 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
21660 to const_double needs to be done right for big-endian systems.
21661
3b6cb920
JM
216622002-01-24 Jason Merrill <jason@redhat.com>
21663
b08dd119 21664 PR c++/2432
3b6cb920
JM
21665 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
21666 to can_throw_internal.
21667
f3077311
RH
216682002-01-23 Richard Henderson <rth@redhat.com>
21669
21670 * fold-const.c (fold): Change UINT_MAX test to check vs precision
21671 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
21672
e1d71275
AO
216732002-01-24 Alexandre Oliva <aoliva@redhat.com>
21674
21675 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
21676 (symGOT2reg): Use them, then set as GOT value as unchanging.
21677 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
21678 as a temporary, if possible.
21679 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
21680 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
21681
dc271dbe
KH
216822002-01-23 Kazu Hirata <kazu@hxi.com>
21683
21684 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
21685 accept to accept 0x80 as operands[2].
21686
1a9017f9
AO
216872002-01-24 Alexandre Oliva <aoliva@redhat.com>
21688
21689 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
21690
6932f033
RH
216912002-01-23 Richard Henderson <rth@redhat.com>
21692
21693 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
21694
709619d9
AH
216952002-01-23 Aldy Hernandez <aldyh@redhat.com>
21696
3bca17dd
PK
21697 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
21698 (parmlist_or_identifiers_1): Verify that only a parmlist follows
21699 an attribute.
709619d9 21700
3d709fd3
RH
217012002-01-23 Richard Henderson <rth@redhat.com>
21702
21703 * expr.c (move_by_pieces_1): Extend size before negation.
21704
88a446c0
RH
21705 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
21706 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
21707 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
21708 * config/m68k/t-m68kelf: Likewise.
21709
03984308
BW
217102002-01-23 Bob Wilson <bob.wilson@acm.org>
21711
21712 * config/xtensa/elf.h: New file.
21713 * config/xtensa/lib1funcs.asm: New file.
21714 * config/xtensa/lib2funcs.S: New file.
21715 * config/xtensa/linux.h: New file.
21716 * config/xtensa/t-xtensa: New file.
21717 * config/xtensa/xtensa-config.h: New file.
21718 * config/xtensa/xtensa-protos.h: New file.
21719 * config/xtensa/xtensa.c: New file.
21720 * config/xtensa/xtensa.h: New file.
21721 * config/xtensa/xtensa.md: New file.
21722 * config.gcc (xtensa-*-elf*): New target.
21723 (xtensa-*-linux*): New target.
21724 * cse.c (canon_hash): Compare rtx pointers instead of register
21725 numbers. This is required for the Xtensa port.
21726 * integrate.c (copy_insn_list): Handle case where the static
21727 chain is in memory and the memory address has to be copied to
21728 a register.
21729 * doc/invoke.texi (Option Summary): Add Xtensa options.
21730 (Xtensa Options): New node.
21731 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
21732
c3d5c3fa
ZW
217332002-01-23 Zack Weinberg <zack@codesourcery.com>
21734
a63bea75
ZW
21735 * diagnostic.c (internal_error): Do ICE suppression only
21736 when ENABLE_CHECKING is not defined.
21737
c3d5c3fa
ZW
21738 * c-typeck.c (require_complete_type): Return error_mark_node
21739 if type is error_mark_node.
21740
1398974c
JJ
217412002-01-23 Janis Johnson <janis187@us.ibm.com>
21742
21743 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
21744 -Os and issue a warning.
21745
807633e5
ZW
217462002-01-23 Zack Weinberg <zack@codesourcery.com>
21747
21748 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
21749 current (lack of) need for host configuration by hand.
21750
21751 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
21752 references. Documentation of some target macros moved from
21753 hostconfig.texi to tm.texi.
21754
cf8002d0
WC
217552002-01-23 Will Cohen <wcohen@redhat.com>
21756
21757 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
21758 defined.
21759
d1e76310
KH
217602002-01-23 Kazu Hirata <kazu@hxi.com>
21761
21762 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
21763 operand[3].
21764
b2115575
JM
217652002-01-23 Jason Merrill <jason@redhat.com>
21766
f893c16e
JM
21767 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
21768
b2115575
JM
21769 * function.c (assign_parms): Don't put args of inline functions
21770 into registers when not optimizing.
21771
6bacc7b0
NC
217722002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
21773
21774 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
21775 (prologue_use): New pattern.
21776 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
21777 preference to gen_rtx_USE.
21778 (thumb_expand_prologue): Use gen_prologue_use in preference to
21779 gen_rtx_USE.
21780 (thumb_expand_epilogue): Use gen_prologue_use in preference to
21781 gen_rtx_USE.
21782
a415f7bc
HPN
217832002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
21784
21785 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
21786
5372b3fb
NB
217872002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
21788
21789 PR c/3504
21790 * doc/extend.texi: Correct documentation of __alignof__.
21791
bd571ffc
ZW
217922002-01-22 Zack Weinberg <zack@codesourcery.com>
21793
21794 * params.h: Rename arguments of DEFPARAM so that it will be
21795 recognized as a translation keyword.
21796
333c8841
AH
217972002-01-22 Aldy Hernandez <aldyh@redhat.com>
21798
bd571ffc
ZW
21799 * extend.texi: Document altivec functions.
21800 Fix N-bit adjectives in X86 builtin documentation.
333c8841 21801
38979c65
AO
218022002-01-22 Alexandre Oliva <aoliva@redhat.com>
21803
21804 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
21805 auto_inc_dec values.
21806
7458a9f0
RE
218072002-01-22 Richard Earnshaw <rearnsha@arm.com>
21808
21809 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
21810 after backslash.
21811 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
21812
129bd0c4
AO
218132002-01-22 Alexandre Oliva <aoliva@redhat.com>
21814
21815 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
21816
8b9b74a9
RH
218172002-01-22 Richard Henderson <rth@redhat.com>
21818
21819 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
21820 copy_insn not copy_rtx.
21821
d0c9db30
AM
218222002-01-23 Alan Modra <amodra@bigpond.net.au>
21823
21824 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
21825 "nonzero" as that might add "1" bits. Ensure "constop" is
21826 properly sign extened.
21827 (force_to_mode): Tweak for sign extended constop.
21828
1e7e480e
RH
218292002-01-22 Richard Henderson <rth@redhat.com>
21830
21831 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
21832 for_each_rtx instead of assuming we're already looking at the MEM.
21833 (split_small_symbolic_mem_operand): Likewise.
21834 * config/alpha/alpha.h (PREDICATE_CODES): Update.
21835 * config/alpha/alpha.md (small symbolic memory splitters): Update.
21836
218372002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
21838
21839 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
21840 sequence number for the literal.
21841 (divmoddi_internal_er): Likewise.
21842
b7f2fb96
CR
218432002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
21844
21845 PR java/4972
21846 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
21847 in LIBICONV variable.
21848 * configure: Regenerated.
21849
f66a0046
KW
218502002-01-22 Krister Walfridsson <cato@df.lth.se>
21851
21852 * dependence.c (build_def_use): Remove array_idx.
21853
e3b0efd1
KW
21854 * dwarfout.c (last_filename): Remove.
21855 (output_compile_unit_die): Remove last_filename.
21856
d8086cbb
RS
218572002-01-22 Roger Sayle <roger@eyesopen.com>
21858 Richard Henderson <rth@redhat.com>
21859
21860 PR opt/3640
21861 * fold-const.c (fold): Optimize unsigned comparisons against
21862 UINT_MAX (and similar unsigned constants).
21863
e8d52ba0
JJ
218642002-01-22 Janis Johnson <janis187@us.ibm.com>
21865
d8086cbb 21866 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 21867 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 21868 against the predicate.
11303d15 21869
e8d52ba0
JJ
21870 PR target/5379
21871 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
21872 for the address operand.
21873
cc7b420e
RH
218742002-01-22 Richard Henderson <rth@redhat.com>
21875
21876 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
21877
816e265a
CR
218782002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
21879
21880 PR other/5450
cc7b420e
RH
21881 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
21882 preprocessor flags.
816e265a 21883
7c884404
JT
218842002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
21885
21886 * config.gcc (x86_64-*-netbsd*): New target.
21887 * config/i386/netbsd64.h: New file.
21888
2b672c08
AH
218892002-01-22 Aldy Hernandez <aldyh@redhat.com>
21890
d8086cbb 21891 * regrename.c (kill_value): Fix typo.
2b672c08
AH
21892
218932002-01-22 Aldy Hernandez <aldyh@redhat.com>
21894
d8086cbb 21895 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 21896
d8086cbb 21897 * config/rs6000/rs6000.h: Same.
2b672c08 21898
d8086cbb
RS
21899 * function.c (instantiate_virtual_regs): Remove
21900 STARTING_FRAME_PHASE.
21901 (assign_stack_local_1): Same.
21902 Calculate frame phase.
2b672c08 21903
4b02997f
NC
219042002-01-22 Nick Clifton <nickc@redhat.com>
21905
21906 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
21907 variable declaration to outer scope in order to simplify
21908 future extensions.
21909 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
21910 arm_hard_regno_mode_ok.
21911 * config/arm/arm-protos.h: Add a prototype for
21912 arm_hard_regno_mode_ok.
21913 * config/arm/arm.c (soft_df_operand): Remove now redundant
21914 check for DImode values using IP_REGNUM.
21915 (nonimmediate_soft_df_operand): Remove now redundant check for
21916 DImode values using IP_REGNUM.
21917 (arm_hard_regno_mode_ok): New function. New check: make sure
21918 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
21919
21920 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
21921 note with a USE.
21922 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
21923
8a827ab2
JM
219242002-01-22 Jason Merrill <jason@redhat.com>
21925
21926 * c-semantics.c (genrtl_compound_stmt): Only check nesting
21927 consistency if this COMPOUND_STMT is scoped.
21928
cf403648
KH
219292002-01-22 Kazu Hirata <kazu@hxi.com>
21930
21931 * predict.c: Fix formatting.
21932 * print-tree.c: Likewise.
21933 * protoize.c: Likewise.
21934 * real.h: Likewise.
21935 * rtl.h: Likewise.
21936 * sbitmap.h: Likewise.
21937 * scan.c: Likewise.
21938 * sched-deps.c: Likewise.
21939 * sched-vis.c: Likewise.
21940 * sdbout.c: Likewise.
21941 * sibcall.c: Likewise.
21942 * ssa.c: Likewise.
21943 * ssa-ccp.c: Likewise.
21944 * ssa-dce.c: Likewise.
21945 * stmt.c: Likewise.
21946 * stor-layout.c: Likewise.
21947 * system.h: Likewise.
21948
aea9695c
RK
21949Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21950
a8765ae7
RK
21951 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
21952 if fits in bounds of base type.
21953
aea9695c
RK
21954 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
21955 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
21956 (add_bound_info, default): If can't find a context, make a
21957 SAVE_EXPR.
21958 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
21959
58bf601b
HPN
219602002-01-22 Hans-Peter Nilsson <hp@axis.com>
21961
21962 * c-typeck.c (parser_build_binary_op): If result from
21963 build_binary_op is ERROR_MARK just return error_mark_node without
21964 further processing.
21965
f982f805
JT
219662002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
21967
21968 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
21969 Split a.out-specific bits into...
21970 * config/netbsd-aout.h: ...this.
21971 * config/netbsd-elf.h: New file.
21972 * config/alpha/netbsd-elf.h: Remove.
21973 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
21974 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 21975 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
21976 (ENDFILE_SPEC): Likewise.
21977 (LINK_SPEC): Likewise.
21978 (CPP_SPEC): Likewise.
21979 (ASM_SPEC): Likewise.
21980 (LIB_SPEC): Likewise.
21981 (SWITCH_TAKES_ARG): Likewise.
21982 (TARGET_MEM_FUNCTIONS): Likewise.
21983 (CPP_PREDEFINES): Redefine.
21984 (ASM_FINAL_SPEC): Remove redefinition.
21985 (ASM_COMMENT_START): Redefine.
21986 (FUNCTION_PROFILER): Define.
21987 (TARGET_VERSION): Redefine.
21988 Comment and formatting cleanup.
21989 * config/i386/netbsd.h: Include <netbsd-aout.h>.
21990 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
21991 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
21992 big- or little-endian.
21993 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
21994 * config.gcc (*-*-netbsd*): Add definitions common to all
21995 NetBSD configs.
21996 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
21997 gnu_ld definitions. Add netbsd-elf.h to and remove
21998 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
21999 tmake_file, and don't lose previous tmake_file contents.
22000 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
22001 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
22002 gnu_ld definitions. Add netbsd-elf.h to tm_file.
22003 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
22004 (mipsel-*-netbsd*): Rename this to...
22005 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
22006 mips/little.h to tm_file for mips*el-*.
22007 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
22008 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
22009 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
22010
2e396476
JDA
220112002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
22012
22013 * pa-protos.h (reg_before_reload_operand): New function prototype.
22014 * pa.c (reg_before_reload_operand): New function implementation.
22015 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
22016 contraints to "*m".
22017
3b5708e7
FS
220182002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
22019
22020 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
22021
85e79f96
JDA
220222002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
22023
22024 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
22025 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
22026 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
22027 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
22028 (ENDFILE_SPEC): Undefine.
22029 (STARTFILE_SPEC): Redefine for PA.
22030
38abadee
FS
220312002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
22032
22033 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
22034
94f1d97c
DJ
220352002-01-21 Daniel Jacobowitz <drow@mvista.com>
22036
22037 * config.gcc: Add entries to supported PowerPC --with-cpu
22038 types.
22039
0333394e
JJ
220402002-01-21 Jakub Jelinek <jakub@redhat.com>
22041
22042 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
22043 true for 64-bit mode only SSE registers in 32-bit mode.
22044
e9d1b155
KH
220452002-01-21 Kazu Hirata <kazu@hxi.com>
22046
22047 * unwind-dw2.c: Fix formatting.
22048 * unwind-dw2-fde.c: Likewise.
22049 * unwind-dw2-fde.h: Likewise.
22050 * unwind-pe.h: Likewise.
22051 * varasm.c: Likewise.
22052 * varray.h: Likewise.
22053
07338cf8
HPN
220542002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
22055
22056 Remove workaround for register stack overwrite bug in mmix.
22057 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
22058 support for TARGET_REG_STACK_FILL_BUG.
22059 * config/mmix/mmix.h: Remove member has_call_without_parameters.
22060 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
22061 Delete.
22062 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
22063 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
22064 -mno-reg-stack-fill-bug-workaround.
22065 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
22066 machine member has_call_without_parameters.
22067 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
22068 -mreg-stack-fill-bug-workaround and
22069 -mno-reg-stack-fill-bug-workaround.
22070 (MMIX Options): Ditto.
22071
7192cbf1
KH
220722002-01-21 Kazu Hirata <kazu@hxi.com>
22073
22074 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
22075 as appropriate.
22076 Remove redundant code.
22077
d1552d7b
JM
220782002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
22079
22080 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
22081 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
22082 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
22083 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
22084 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
22085 out target macro definitions and non-target-specific comments
22086 mostly taken from old versions of the manual.
22087
ed168e45
KH
220882002-01-20 Kazu Hirata <kazu@hxi.com>
22089
22090 * config/h8300/h8300.h: Fix comment formatting.
22091 * config/ia64/aix.h: Likewise.
22092 * config/ia64/ia64-protos.h: Likewise.
22093 * config/ia64/ia64.c: Likewise.
22094 * config/ia64/ia64.h: Likewise.
22095 * config/ia64/ia64intrin.h: Likewise.
22096 * config/ia64/linux.h: Likewise.
22097 * config/ia64/unwind-aix.c: Likewise.
22098 * config/ia64/unwind-ia64.c: Likewise.
22099
005e3e05
KH
221002002-01-20 Kazu Hirata <kazu@hxi.com>
22101
22102 * config/h8300/h8300.c: Revise comments about shift code.
22103
64bead4c
KH
221042002-01-20 Kazu Hirata <kazu@hxi.com>
22105
22106 * config/h8300/h8300.c (function_arg): Update a comment.
22107
ed863595
KH
221082002-01-20 Kazu Hirata <kazu@hxi.com>
22109
22110 * config/h8300/h8300.md: Update the comments at the beginning
22111 of the file.
22112
5904dc87
KH
221132002-01-20 Kazu Hirata <kazu@hxi.com>
22114
22115 * config/i370/i370.c: Fix comment formatting.
22116 * config/i370/i370.h: Likewise.
22117 * config/i370/i370.md: Likewise.
22118 * config/i370/linux.h: Likewise.
22119
9702143f
RK
22120Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22121
cbafacd1
RK
22122 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
22123
9702143f
RK
22124 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
22125 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
22126 in incomplete case.
22127
6b6996b8
GS
221282002-01-20 Graham Stott <grahams@redhat.com>
22129
22130 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
22131
eab854f6
JDA
221322002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
22133
22134 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
22135
5b029315
TR
221362002-01-19 Tom Rix <trix@redhat.com>
22137
22138 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
22139
1d690052
AH
221402002-01-18 Aldy Hernandez <aldyh@redhat.com>
22141
d8086cbb 22142 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 22143
d8086cbb
RS
22144 * function.c (assign_stack_local_1): Adjust x_frame_offset with
22145 STARTING_FRAME_PHASE.
22146 (STARTING_FRAME_PHASE): New.
22147 (instantiate_virtual_regs): Check saneness of
22148 STARTING_FRAME_PHASE.
1d690052 22149
d8086cbb 22150 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 22151
4dd8c093
AO
221522002-01-19 Alexandre Oliva <aoliva@redhat.com>
22153
22154 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
22155
6f2a28d7
CR
221562002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
22157
22158 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
22159 be used for bootstrapping GCC 3.0.
22160
8763a465
KH
221612002-01-18 Kazu Hirata <kazu@hxi.com>
22162
22163 * config/h8300/h8300.md: Fix an insn length.
22164
3ef42a0c
KH
221652002-01-18 Kazu Hirata <kazu@hxi.com>
22166
22167 * bitmap.h: Fix comment formatting.
22168 * combine.c: Likewise.
22169 * cppfiles.c: Likewise.
22170 * c-pragma.h: Likewise.
22171 * c-typeck.c: Likewise.
22172 * df.c: Likewise.
22173 * dwarf2out.c: Likewise.
22174 * function.c: Likewise.
22175 * gcc.c: Likewise.
22176 * genattrtab.c: Likewise.
22177 * gthr-win32.h: Likewise.
22178 * haifa-sched.c: Likewise.
22179 * predict.c: Likewise.
22180 * rtlanal.c: Likewise.
22181 * rtl.h: Likewise.
22182 * unwind-dw2-fde.h: Likewise.
22183 * unwind-pe.h: Likewise.
22184 * vmsdbgout.c: Likewise.
22185
dd4dc3cd
RK
22186Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22187
22188 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
22189 if type_required and passed decl.
22190
5fb4cf24
AH
221912002-01-17 Aldy Hernandez <aldyh@redhat.com>
22192
d8086cbb
RS
22193 * config.gcc (cpu_type): Include altivec.h in powerpc
22194 extra_headers.
22195 Same for darwin.
5fb4cf24 22196
d8086cbb 22197 * config/rs6000/altivec.h: New.
5fb4cf24 22198
2705baf5
DE
221992002-01-17 David Edelsohn <edelsohn@gnu.org>
22200
22201 * doc/install.texi (*-ibm-aix*): Update assembler and exception
22202 handling information.
22203 * doc/trouble.texi (Interoperation): Add libstdc++ information
22204 for AIX.
22205 (Misunderstandings): Add template instantiation and static template
22206 member information for AIX.
22207
dbd680e1
JM
222082002-01-17 Jason Merrill <jason@redhat.com>
22209
821adc5e
JM
22210 * dbxout.c (dbxout_type): Support const and volatile.
22211
dbd680e1
JM
22212 * except.c (add_partial_entry): Remove backwards compatibility code.
22213 (end_protect_partials): Likewise.
22214
d0e82870
JJ
222152002-01-17 Jakub Jelinek <jakub@redhat.com>
22216
22217 * config/ia64/ia64.md (prologue_use): New.
22218 * config/ia64/ia64.c (ia64_expand_prologue): Use
22219 gen_prologue_use instead of gen_rtx_USE.
22220 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
22221 as CODE_FOR_pred_rel_mutex.
22222 (ia64_sched_reorder2): Likewise.
22223
f9f45c65
EC
222242002-01-16 Eric Christopher <echristo@redhat.com>
22225
22226 * config/mips/r3900.h: Reformat.
22227 (SUBTARGET_CPP_SIZE_SPEC): Remove.
22228 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
22229 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
22230 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
22231 * config/mips/t-elf: Remove mips3 multilib.
22232
c66c8b0e
L
222332002-01-16 H.J. Lu <hjl@gnu.org>
22234
22235 * config/mips/linux.h: Include "mips/abi64.h".
22236
5f083b72
L
222372002-01-16 H.J. Lu <hjl@gnu.org>
22238
22239 * config/mips/t-linux: New.
22240
22241 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
22242
22243 * config/mips/linux.h: Don't include "gofast.h".
22244 (INIT_SUBTARGET_OPTABS): Removed.
22245
af3c90a6
KH
222462002-01-16 Kazu Hirata <kazu@hxi.com>
22247
22248 * config/h8300/h8300-protos.h: Replace emit_a_shift with
22249 output_a_shift.
22250 * config/h8300/h8300.c: Likewise.
22251 * config/h8300/h8300.md: Likewise.
22252
a1bf0a16
KH
222532002-01-16 Kazu Hirata <kazu@hxi.com>
22254
22255 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
22256 spaces after an opcode name.
22257 (pushqi1_h8300hs): Likewise.
22258 (pushhi1_h8300hs): Likewise.
22259
88ab0d1c
KH
222602002-01-16 Kazu Hirata <kazu@hxi.com>
22261
22262 * doc/extend.texi: Replace "option" with "attribute"
22263 appropriately.
22264
51c561e3
JJ
222652002-01-16 Jakub Jelinek <jakub@redhat.com>
22266
22267 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
22268 (and:DI () (const_int -8)).
22269 (split_small_symbolic_mem_operand): Split
22270 (mem (and:DI () (const_int -8)).
22271
b8c1a6b8
JJ
222722002-01-16 Jakub Jelinek <jakub@redhat.com>
22273
22274 PR target/5309:
d8086cbb 22275 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
22276 same way as TYPE_IMUL.
22277 (ultrasparc_sched_reorder): Likewise.
22278 * config/sparc/sparc.md (type): Add comment to update
22279 ultrasparc_sched_reorder when making changes.
22280
1e4e4df2
KH
222812002-01-16 Kazu Hirata <kazu@hxi.com>
22282
22283 * doc/invoke.texi: Change the dump file name of block
22284 reordering pass from 28.bbro to 29.bbro.
22285 Mention -dk option.
22286
14d920c0
JH
22287Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
22288
22289 * i386.md (minsf splitter): Fix pasto.
22290
2e99323f
NC
222912002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
22292
22293 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
22294 to frame pointer initialisation instruction.
22295 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
22296 initialisation instruction.
ab8081c1
NC
22297 (soft_df_operand): Do not accept the IP register.
22298 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 22299
c4031a04
JJ
223002002-01-16 Jakub Jelinek <jakub@redhat.com>
22301
22302 PR target/5357:
22303 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
22304 MASK_V8 being both set.
22305
44b8152b
UW
223062002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
22307
22308 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
22309 insn for GOT register; add REG_MAYBE_DEAD notes instead.
22310 config/s390/s390.md (call, call_value): Add GOT register to
22311 CALL_INSN_FUNCTION_USAGE where needed.
22312 (call_exp, call_value_exp): New.
22313
1d6e90ac
NC
223142002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
22315
22316 * config/arm/arm.c: General formatting tidy up.
22317
223182002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
22319
22320 * calls.c (try_to_integrate): Use "(size_t)" intermediate
22321 cast and when casting an integer literal to "rtx" pointer.
22322 (expand_call): Likewise.
22323 * flow.c (try_pre_increment): Likewise.
22324 (find_use_as_address): Likewise.
22325 * integrate.c (expand_iline_function): Likewise.
22326 * regmove.c (try_auto_increment): Likewise.
22327
1d6e90ac 223282002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
22329
22330 * sched-rgn.c (passed): Use sbitmap_free.
22331 (header): Likewise.
22332 (inner): Likewise.
22333 (in_queue): Likewise.
22334 (in_stack): Likewise.
22335
31fce3c4
EC
223362002-01-15 Eric Christopher <echristo@redhat.com>
22337
22338 * flow.c (propagate_one_insn): Change to use fatal_insn.
22339
c99d986a
KH
223402002-01-15 Kazu Hirata <kazu@hxi.com>
22341
22342 * expmed.c (extract_fixed_bit_field): Remove unused code.
22343 * system.h: Poison SLOW_ZERO_EXTEND.
22344 * doc/tm.texi: Remove.
22345 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
22346 * config/arm/arm.h: Likewise.
22347 * config/avr/avr.h: Likewise.
22348 * config/clipper/clipper.h: Likewise.
22349 * config/convex/convex.h: Likewise.
22350 * config/d30v/d30v.h: Likewise.
22351 * config/dsp16xx/dsp16xx.h: Likewise.
22352 * config/elxsi/elxsi.h: Likewise.
22353 * config/fr30/fr30.h: Likewise.
22354 * config/h8300/h8300.h: Likewise.
22355 * config/i370/i370.h: Likewise.
22356 * config/i386/i386.h: Likewise.
22357 * config/m68k/m68k.h: Likewise.
22358 * config/mips/mips.h: Likewise.
22359 * config/ns32k/ns32k.h: Likewise.
22360 * config/pdp11/pdp11.h: Likewise.
22361 * config/pj/pj.h: Likewise.
22362 * config/s390/s390.h: Likewise.
22363 * config/sh/sh.h: Likewise.
22364 * config/stormy16/stormy16.h: Likewise.
22365 * config/v850/v850.h: Likewise.
22366 * config/vax/vax.h: Likewise.
22367 * config/we32k/we32k.h: Likewise.
22368
acfab996
AH
223692002-01-15 Aldy Hernandez <aldyh@redhat.com>
22370
d8086cbb
RS
22371 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
22372 (altivec_lvsl): Change constraint to b.
22373 (altivec_lvsr): Same.
22374 (altivec_lvebx): Same.
22375 (altivec_lvehx): Same.
22376 (altivec_lvewx): Same.
22377 (altivec_lvxl): Same.
22378 (altivec_lvx): Same.
22379 (altivec_stvx): Add parallel.
22380 (altivec_stvxl): Same.
22381 (altivec_stvehx): Same.
22382 (altivec_stvebx): Same.
22383 (altivec_stvebx): Same.
acfab996 22384
5e505bc9
AH
223852002-01-15 Aldy Hernandez <aldyh@redhat.com>
22386
d8086cbb 22387 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 22388
d8086cbb 22389 * config/rs6000/altivec.h: Delete.
5e505bc9 22390
d8086cbb 22391 * config/rs6000/altivec-defs.h: Add.
5e505bc9 22392
5c41fdfb
JDA
223932002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
22394
22395 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
22396 and UMOD modes.
22397
22398 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
22399 less than or equal to eight bytes.
22400
22401 * vax.md (andsi3): Remove constraints and change SET destination
22402 operand type to nonimmediate_operand.
22403 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
22404 when it is a CONST_INT.
22405
de097a2d
JM
224062002-01-15 Jason Merrill <jason@redhat.com>
22407
22408 * c-common.def (FILE_STMT): New code.
22409 * c-common.c (statement_code_p): It's a statement.
22410 * c-common.h (stmt_tree_s): Add x_last_filename.
22411 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
22412 (last_expr_filename): New macro.
22413 * c-semantics.c (begin_stmt_tree): Initialize it.
22414 (add_stmt): If the filename changed, also insert a
22415 FILE_STMT.
22416 (expand_stmt): Handle seeing one.
22417
4a913dd6
EC
224182002-01-15 Eric Christopher <echristo@redhat.com>
22419
22420 * flow.c (propagate_one_insn): Add error message and print out
22421 insn for debugging.
22422
006946e4
JM
224232002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
22424
22425 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
22426 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
22427 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
22428 TRAMPOLINE_ALIGNMENT.
22429 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
22430 to be in bits.
22431 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
22432 PCC_BITFIELD_TYPE_MATTERS.
22433 * config/interix.h (STDC_VALUE): Remove. Use
22434 STDC_0_IN_SYSTEM_HEADERS.
22435 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
22436 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
22437 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
22438
751a1458
CR
224392002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
22440
22441 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
22442 not work on this platform currently.
22443
57771fe8
JM
224442002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
22445
22446 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
22447 readonly_warning in _().
22448
0e83ceb1 224492002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 22450
0e83ceb1 22451 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 22452
8e2e89f7
KH
224532002-01-15 Kazu Hirata <kazu@hxi.com>
22454
0e83ceb1
DR
22455 * config/h8300/h8300.c (print_operand): Remove support for
22456 unused operand characters.
22457
8e2e89f7
KH
22458 * read-rtl.c: Fix formatting.
22459 * real.c: Likewise.
22460 * recog.c: Likewise.
22461 * regclass.c: Likewise.
22462 * regmove.c: Likewise.
22463 * reg-stack.c: Likewise.
22464 * reload1.c: Likewise.
22465 * rtlanal.c: Likewise.
22466
b531087a
KH
224672002-01-15 Kazu Hirata <kazu@hxi.com>
22468
22469 * config/i386/i386.c: Fix formatting.
22470
7c94ce7f
JJ
224712002-01-15 Jakub Jelinek <jakub@redhat.com>
22472
22473 * c-typeck.c (process_init_element): Don't save_expr
22474 COMPOUND_LITERAL_EXPR if just its initializer will be used.
22475
6041bf2f
DE
224762002-01-15 David Edelsohn <edelsohn@gnu.org>
22477
22478 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
22479 emit optional traceback table if optimize_size or TARGET_ELF.
22480 * config/rs6000/rs6000.md (prefetch): New.
22481
8559c8c0
AJ
224822002-01-15 Andreas Jaeger <aj@suse.de>
22483
22484 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
22485
70f122f2
KH
224862002-01-15 Kazu Hirata <kazu@hxi.com>
22487
22488 * mips-tfile.c: Fix formatting.
22489
6a7b4ca6
JH
22490Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
22491
22492 * unroll.c (final_reg_note_copy): Fix previous commit.
22493
e7afe229
KH
224942002-01-14 Kazu Hirata <kazu@hxi.com>
22495
22496 * config/h8300/h8300-protos.h: Remove the prototype for
22497 eq_operator.
22498 * config/h8300/h8300.c (eq_operator): Remove.
22499
7d378549
RH
225002002-01-14 Richard Henderson <rth@redhat.com>
22501
22502 * config/i386/i386.md (prefetch): Tidy.
22503 (prefetch_3dnow): Fix locality operand.
22504
ab093b81
RH
225052002-01-14 Richard Henderson <rth@redhat.com>
22506
22507 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
22508 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
22509
d300f51f
HPN
225102002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
22511
22512 * reload1.c (reload_combine): Pass reg_sum replacement through
22513 copy_rtx in loop performing multiple changes.
22514
655dd289
JJ
225152002-01-14 Jakub Jelinek <jakub@redhat.com>
22516
22517 * except.c (remove_unreachable_regions): New.
22518 (free_eh_status): Clear exception_handler_labels.
22519 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
22520 (find_exception_handler_labels): Don't add the same label more than
22521 once.
22522 (remove_exception_handler_label): Don't die if
22523 find_exception_handler_labels hasn't been called for the current
22524 function yet.
22525
1fba46a7
JH
22526Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
22527
22528 * toplev.c (rest_of_compilation): Rebuild jump labels after
22529 gcse.
22530
0975678f
JM
225312002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
22532
22533 * doc/extend.texi: Move documentation of X86 built-in functions
22534 here.
22535 * doc/invoke.texi: From here.
22536 * doc/sourcebuild.texi: Document location of documentation for
22537 machine built-in functions.
22538
969815c7
CF
225392002-01-13 Christopher Faylor <cgf@redhat.com>
22540
22541 * cppfiles.c (TEST_THRESHOLD): New macro.
22542 (SHOULD_MMAP): Ditto.
22543 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
22544 be used.
22545
494c950b
JH
22546Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
22547
22548 * unroll.c (final_reg_note_copy): Properly handle
22549 REG_LABEL
22550 (unroll_loops): Fix LOOP_CONDITION heuristics.
22551
69a0611f
GK
225522002-01-14 Geoffrey Keating <geoffk@redhat.com>
22553
22554 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
22555 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
22556
b90e45ae
JH
22557Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
22558
22559 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
22560 threaded loop.
22561
8377288b
TR
225622002-01-14 Tom Rix <trix@redhat.com>
22563
22564 * config/rs6000/rs6000.md: Fix typo with sradi.
22565
9f37ccb1
UW
225662002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
22567
22568 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
22569 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
22570 (clrstrdi, clrstrsi): Adapt callers.
22571
22572 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
22573
8559c8c0 22574 (movti splitter): Never use register 0 as base register.
9f37ccb1 22575
6c2d03d0
HP
225762002-01-14 Hartmut Penner <hpenner@de.ibm.com>
22577
8559c8c0
AJ
22578 * combine.c (simplify_shift_const): Always generate new rtx
22579 for shift expression instead of reusing given expression.
6c2d03d0 22580
d3e98208
RK
22581Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22582
22583 * config/alpha/alpha.c (alpha_expand_mov): Don't call
22584 alpha_legitimize_address unless mode is Pmode.
22585
9f339dde
GK
225862002-01-13 Geoffrey Keating <geoffk@redhat.com>
22587
22588 * doc/md.texi (Modifiers): Document the '*' constraint for the
22589 user.
22590
22591 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
22592 * doc/extend.texi (Function Attributes): 'interrupt' is valid
22593 for xstormy16 too.
22594
02a10130
RH
225952002-01-13 Richard Henderson <rth@redhat.com>
22596
22597 * reload.c (find_reloads): Use a hard reg destination as reload reg
22598 for an input reload of the source.
22599
61d47787
GP
226002002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
22601
22602 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
22603 more generic.
22604
f0df8029
DR
22605Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
22606
22607 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
22608 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
22609
d2a37256
DR
22610 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
22611
a9e8a5ee
RK
22612Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22613
22614 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
22615
bc06712d
TR
226162002-01-12 Tom Rix <trix@redhat.com>
22617
8559c8c0 22618 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
22619 TARGET_POWERPC64.
22620
7cbe9bb7
RH
226212002-01-12 Richard Henderson <rth@redhat.com>
22622
38b29e64
RH
22623 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
22624
58605ba0
RH
22625 * doc/invoke.texi: Update Alpha options.
22626
7cbe9bb7
RH
22627 * doc/invoke.texi: Update i386 built-in function lists.
22628
9d560860
JH
22629Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
22630
22631 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
22632 referencing outside.
22633
bb93b973
RK
22634Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22635
22636 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
22637 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
22638 offsets, and change line folding.
22639 * optabs.c (expand_binop): Remove warnings.
22640 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 22641
f9f6b7df
GS
226422002-01-12 Graham Stott <grahams@redhat.com>
22643
22644 * attribs.c (handle_deprecated_attribute): constify WHAT.
22645 * diagnostic.c (warn_deprecated_use): Add braces, fixes
22646 dangling else warning and constify WHAT.
22647 * except.h (struct function, struct inline_remap): Move
22648 struct tag forward defs before all prototypes.
22649 (duplicate_eh_regions): Whitespace.
22650
4a692617
NC
226512002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
22652
22653 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
22654 MODE_BASE_REG_CLASS.
22655 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
22656
e37af218
RH
226572002-01-12 Richard Henderson <rth@redhat.com>
22658
22659 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
22660 (ix86_expand_vector_move): New.
22661 (bdesc_2arg): Remove andps, andnps, orps, xorps.
22662 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
22663 Remove old prefetch builtins. Special case the logicals removed above.
22664 (ix86_expand_builtin): Likewise.
22665 (safe_vector_operand): Use V4SFmode, not TImode.
22666 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
22667 (ix86_expand_timode_binop_builtin): New.
22668 * config/i386/i386-protos.h: Update.
22669 * config/i386/i386.h (enum ix86_builtins): Update.
22670 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
22671 Use ix86_expand_vector_move in vector move expanders.
22672 (movti_internal, movti_rex64): Add xorps alternative.
22673 (sse_clrv4sf): Rename and adjust from sse_clrti.
22674 (prefetch): Don't work so hard.
22675 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
22676 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
22677 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
22678
6f1a6c5b
RH
226792002-01-11 Richard Henderson <rth@redhat.com>
22680
22681 * config/i386/mmintrin.h: New file.
22682 * config/i386/xmmintrin.h: New file.
22683 * config.gcc (i?86-*-*): Add extra_headers.
22684 * simplify-rtx.c (simplify_unary_operation): Handle saturating
22685 truncation codes.
22686 (simplify_binary_operation): Handle saturating arithmetic codes.
22687 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
22688 not the lowpart subreg.
22689 (ix86_expand_builtin): Return a TImode dummy register instead of 0
22690 on error.
22691 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
22692
cdb574d3
MH
226932002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
22694
22695 * conflict.c (conflict_graph_compute): Free regsets when finished.
22696 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 22697
cf11ac55
HB
226982002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
22699
22700 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
22701 every where we allocate a register.
22702
76ac938b
MH
227032002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
22704
22705 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
22706 * lcm.c (compute_earliest, compute_farthest): Likewise.
22707
a84b4898
JJ
227082002-01-11 Janis Johnson <janis187@us.ibm.com>
22709
22710 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
22711
aaef1c12
JJ
227122002-01-11 Janis Johnson <janis187@us.ibm.com>
22713
22714 * doc/rtl.texi (Insns): Fix 2 typos.
22715
5d22c1a5
JM
227162002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
22717
22718 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
22719 options. Use @table @gcctabopt for MMIX options. Add index
22720 entries for MMIX options. Start new paragraph with first
22721 heading of the machine-dependent options.
22722
3e92902c
CR
227232002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
22724
22725 PR other/5299
22726 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
22727 * combine.c (force_to_mode): Same.
22728 * reload1.c (clear_reload_reg_in_use): Same.
22729
96ae8197
NC
227302002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
22731
22732 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
22733 and 'subtargets'.
22734
9b780582
AJ
227352002-01-11 Andreas Jaeger <aj@suse.de>,
22736 Brad Lucier <lucier@math.purdue.edu>
22737
22738 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
22739 mcpu.
22740
12300dad
DR
22741Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
22742
22743 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
22744 Protect with IN_LIBGCC.
22745 (LINK_EH_SPEC): Add required trailing space.
22746
27511a9a
NP
22747Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
22748
9b780582 22749 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
22750 under the filename which contains them.
22751 (check_identifier, finish_decl_top_level,
22752 lookup_name_current_level_global, shadow_record_fields): Remove.
22753
4daeab16
AJ
227542002-01-11 Andreas Jaeger <aj@suse.de>
22755
22756 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
22757 march.
22758
40571d67
RH
227592002-01-10 Richard Henderson <rth@redhat.com>
22760
22761 * config/alpha/alpha.c (print_operand): Add 'J'.
22762 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
22763 new operand with the sequence number for the lituse. When splitting
22764 the insns, use gen_movdi_er_high_g and generate a sequence number.
22765 (gen_movdi_er_high_g): Print the sequence number if non-zero.
22766
6525c0e7
AH
227672002-01-10 Aldy Hernandez <aldyh@redhat.com>
22768
d8086cbb
RS
22769 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
22770 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
22771 stvxl.
22772 (altivec_expand_builtin): Same.
22773 (altivec_expand_stv_builtin): New.
22774
22775 * config/rs6000/rs6000.h (rs6000_builtins): Same.
22776
22777 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
22778 ("altivec_lvehx"): New.
22779 ("altivec_lvewx"): New.
22780 ("altivec_lvxl"): New.
22781 ("altivec_lvx"): New.
22782 ("altivec_stvx"): New.
22783 ("altivec_stvebx"): New.
22784 ("altivec_stvehx"): New.
22785 ("altivec_stvewx"): New.
22786 ("altivec_stvxl"): New.
6525c0e7 22787
cda94cbb
RH
227882002-01-10 Richard Henderson <rth@redhat.com>
22789
22790 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
22791 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
22792 care not to delete instructions twice.
22793
df2c9a44
ZW
227942002-01-10 Zack Weinberg <zack@codesourcery.com>
22795
22796 * toplev.c: Don't declare environ (it's not used anywhere).
22797 * configure.in: Don't check for declaration of environ.
22798 * config/i386/xm-mingw32.h: Don't #define environ.
22799 * config.in, configure: Regenerate.
22800
5dd8a9b1
ZW
228012002-01-10 Zack Weinberg <zack@codesourcery.com>
22802
22803 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
22804 * configure: Regenerate.
22805
22806 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
22807 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
22808 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
22809 alpha/xm-vms.h.
22810 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
22811 LIMITS_H_TEST here, not in m68k/x-next.
22812 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
22813 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
22814
22815 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
22816 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
22817 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
22818
22819 * config/i386/x-djgpp: Renamed i386/t-djgpp.
22820 * config/m88k/x-dolph: Renamed m88k/t-dolph.
22821 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
22822 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
22823 replacement of quadlib.asm with quadlib.c.
22824
22825 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
22826 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
22827 config/rs6000/xm-beos.h: Delete file.
22828
22829 * config.gcc: Update to match above changes.
22830
d10dd44c
KH
228312002-01-10 Kazu Hirata <kazu@hxi.com>
22832
22833 * config/h8300/h8300.h: Fix comment typos.
22834 * config/h8300/h8300.md: Likewise.
22835 * config/h8300/lib1funcs.asm: Likewise.
22836
04894c5a
DJ
228372002-01-10 Dale Johannesen <dalej@apple.com>
22838
22839 PR optimization/5269
22840 * unroll.c (precondition_loop_p): Make *increment be the correct
22841 sign when n_iterations known, to avoid confusing caller.
22842
adc9fe67
KH
228432002-01-10 Kazu Hirata <kazu@hxi.com>
22844
22845 * doc/extend.texi (deprecated): Fix a typo.
22846
b446e5a2
JH
22847Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
22848
22849 * basic-block.h (update_br_prob_note): Declare.
22850 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
22851 (try_forward_edges): Care negative frequencies and update note.
22852 (outgoing_edges_match): Tweek conditional merging heuristics.
22853 (try_crossjump_to_edge): use update_br_prob_note.
22854 * cfglayout.c (fixup_reorder_chain): Likewise.
22855 * cfrtl.c (update_br_prob_note): New.
22856 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
22857
22858 * i386.c (ix86_decompose_address): Return -1 if address contains
22859 shift.
22860 (legitimate_address_p): Require ix86_decompose_address to return 1.
22861
22862 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
22863 (cprop_insn): Likewise.
22864
a01da83b
KH
228652002-01-10 Kazu Hirata <kazu@hxi.com>
22866
22867 * toplev.c: Fix formatting.
22868 * tree.c: Likewise.
22869 * tree-dump.c: Likewise.
22870 * unroll.c: Likewise.
22871 * unwind-dw2.c: Likewise.
22872 * unwind-dw2-fde.c: Likewise.
22873 * unwind-dw2-fde-glibc.c: Likewise.
22874 * unwind-sjlj.c: Likewise.
22875
9f85bca7
JM
228762002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
22877
22878 * doc/invoke.texi: Document PDP-11 options.
22879
f48f56b1
KH
228802002-01-10 Kazu Hirata <kazu@hxi.com>
22881
22882 * config/h8300/h8300.h: Fix formatting.
22883
ead39bdf 228842002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
22885
22886 Add __attribute__ ((deprecated)).
22887 * extend.texi: Document __attribute__ ((deprecated)).
22888 * invoke.texi: Document -Wno-deprecated-declarations.
22889 * testsuite/g++.dg/other/deprecated.C: New C++ test.
22890 * testsuite/gcc.dg/deprecated.c: New C test.
22891 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
22892 (c_common_attribute_table): Add "deprecated" entry.
22893 (handle_deprecated_attribute): New function.
22894 * c-decl.c (deprecated_states): New enum.
22895 deprecated_state: State of "deprecated" handling.
22896 (start_decl): Set deprecated_state based on attributes.
22897 (grokdeclarator): Test for deprecated uses, propagate attribute.
22898 * c-typeck.c (build_component_ref): Test for deprecated fields.
22899 (build_external_ref): Test for deprecated primaries.
22900 * diagnostic.c (warn_deprecated_use) New function to issue
22901 warnings about __attribute__ ((depricated)) references.
22902 * flags.h (warn_deprecated_decl): Extern declared for
22903 -W[no-]deprecated-declarations option.
22904 * print-tree.c (print_node): Show deprecated flag status.
22905 * toplev.c (warn_deprecated_decl): Defined.
22906 (W_options): Added "deprecated-declaration".
22907 * toplev.h (warn_deprecated_use): Extern declared.
22908 * tree.h (struct tree_common): Define deprecated_flag.
22909 (TREE_DEPRECATED): New macro to access flag.
22910 * cp/call.c (build_call): Test for deprecated calls.
22911 * cp/class.c (add_implicitly_declared_members): Set global
22912 flag to tell grokdeclarator to not issue deprecated warnings.
22913 * cp/cp-tree.h: Add extern for adding_implicit_members.
22914 * cp/decl.c (deprecated_states): New enum.
22915 (start_decl): Set deprecated_state based on attributes.
22916 (grokdeclarator): Test for deprecated uses, propagate attribute.
22917 * cp/lex.c (do_identifier): Test for deprecated primaries.
22918 * cp/typeck.c (build_component_ref): Test for deprecated fields.
22919
ead39bdf 229202002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
22921
22922 Fix to assign attributes to inline member functions.
22923 * cp/decl.c (start_method): Handle attrlist.
22924
47073a38
KH
229252002-01-10 Kazu Hirata <kazu@hxi.com>
22926
22927 * combine.c (expand_field_assignment): Use subreg_lsb().
22928
d288e53d
DE
229292002-01-10 David Edelsohn <edelsohn@gnu.org>
22930
22931 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
22932 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
22933 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
22934 Recurse for any operand of AND as long as constant is non-zero.
22935
08a02ffa
KH
229362002-01-10 Kazu Hirata <kazu@hxi.com>
22937
22938 * config/h8300/h8300.md: Remove constraints from expanders.
22939
c203e7fe
KH
229402002-01-10 Kazu Hirata <kazu@hxi.com>
22941
22942 * varasm.c: Fix formatting.
22943 * varray.c: Likewise.
22944 * vmsdbgout.c: Likewise.
22945 * xcoffout.c: Likewise.
22946
bcb3bc6d
JH
22947Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
22948
22949 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 22950 update edge probabilities to match.
bcb3bc6d 22951
0a553c7e
JM
229522002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
22953
22954 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
22955 dependencies.
22956 * doc/languages.texi, doc/sourcebuild.texi: New files.
22957 * doc/configfiles.texi: Make a subsubsection. Update.
22958 * doc/configterms.texi: Add @node. Remove warning that this isn't
22959 instructions for building GCC.
22960 * doc/makefile.texi: Make a subsection.
22961 * doc/gccint.texi: Update.
22962
adc7fcb8
JH
22963Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
22964
22965 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
22966
5a4dd0b3
NP
22967Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
22968
22969 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
22970
3987b9db
JH
22971Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
22972
22973 * optabs.c (expand_fix): Look for wider integer modes first.
22974
22975 * i386.md (mov?f): Avoid the fake const double trick for medium
22976 memory model.
22977 (min?f*/max?f*): Prohibit memory operands for i387 variant.
22978 (fop_df_4): Disable for SSE compilation.
22979
ceb15948 229802002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
22981
22982 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 22983 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 22984
e1623399
RH
229852002-01-10 Richard Henderson <rth@redhat.com>
22986
22987 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
22988
c4abb293
RH
229892002-01-10 Richard Henderson <rth@redhat.com>
22990
22991 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
22992 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
22993
d2604ae9
KH
229942002-01-10 Kazu Hirata <kazu@hxi.com>
22995
22996 * combine.c (can_combine_p): Fix a comment typo.
22997
766c7ad1
ZW
229982002-01-09 Zack Weinberg <zack@codesourcery.com>
22999
23000 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
23001 empty list correctly. Change loop index $t to $f for
23002 consistency with rest of Makefile.
23003
95385cbb
AH
230042002-01-08 Aldy Hernandez <aldyh@redhat.com>
23005
23006 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
23007 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
23008
23009 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
23010 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
23011 (altivec_init_builtins): Same.
23012 (altivec_expand_unop_builtin): Return NULL_RTX on error.
23013 (altivec_expand_binop_builtin): Same.
23014 (altivec_expand_ternop_builtin): Same.
23015 (bdesc_dst): New.
23016
23017 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
23018 ("altivec_vctuxs"): Fix typo.
23019 ("altivec_vnmsubfp"): Same.
23020 ("altivec_dssall"): New.
23021 ("altivec_mfvscr"): New.
23022 ("altivec_dss"): New.
23023 ("altivec_lvsl"): New.
23024 ("altivec_lvsr"): New.
23025 ("altivec_dstt"): New.
23026 ("altivec_dstst"): New.
23027 ("altivec_dststt"): New.
23028 ("altivec_dst"): New.
23029
23030 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
23031 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
23032
e4ac76b4
RH
230332002-01-09 Richard Henderson <rth@redhat.com>
23034
23035 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
23036
c893e4a4
HPN
230372002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
23038
23039 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
23040 function.
23041 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
23042 prototype.
7387c700 23043 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 23044
f4f4d0f8
KH
230452002-01-09 Kazu Hirata <kazu@hxi.com>
23046
23047 * read-rtl.c: Fix formatting.
23048 * real.c: Likewise.
23049 * regclass.c: Likewise.
23050 * regrename.c: Likewise.
23051 * reg-stack.c: Likewise.
23052 * reload1.c: Likewise.
23053 * reload.c: Likewise.
23054 * rtl.c: Likewise.
23055
cc863bea
KH
230562002-01-09 Kazu Hirata <kazu@hxi.com>
23057
23058 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
23059 to extract items in the expr_list chain.
23060
7b4dfe3d
RH
230612002-01-09 Richard Henderson <rth@redhat.com>
23062
23063 * config/vax/vax.c (vax_rtx_cost): Never abort.
23064
1d969638
RH
23065 * config/vax/vax.h (REAL_ARITHMETIC): Define.
23066
7d5ab30e
JH
230672002-01-09 Jan Hubicka <jh@suse.cz>
23068
23069 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
23070
9503f3d1
RH
230712002-01-09 Richard Henderson <rth@redhat.com>
23072
23073 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
23074 Unify code from various alternatives.
23075
42bd17b7
RH
230762002-01-09 Richard Henderson <rth@redhat.com>
23077
23078 * regrename.c (copy_value): Ignore the copy if the source register
23079 is present in the value chain with a narrower mode.
23080
bdca3c33
HB
230812002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
23082
cda94cbb
RH
23083 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
23084 for the c4x target. Also improve layout.
bdca3c33 23085
c73a5e94
RH
230862002-01-09 Richard Henderson <rth@redhat.com>
23087
23088 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
23089 * config/m32r/m32r.md (and ior xor splitters): Swap operands
23090 to match insn patterns.
23091
dd0a18c0
RH
230922002-01-09 Richard Henderson <rth@redhat.com>
23093
23094 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
23095 (copyprop_hardreg_forward_1): Likewise.
23096
1fd9ac1e
JDA
230972002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
23098
23099 * pa.md (decrement_and_branch_until_zero): Change predicate for
23100 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
23101
5cb265ec
BM
231022002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
23103
23104 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
23105 gets undefined. For Darwin.
23106
fcd8fa8b
HB
231072002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
23108
23109 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
23110
bd3ab23a
MH
231112002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
23112
23113 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
23114
21e16bd6
RH
231152002-01-08 Richard Henderson <rth@redhat.com>
23116
23117 * regrename.c (copy_value): Ignore overlapping copies.
23118
a5376276
RH
231192002-01-08 Richard Henderson <rth@redhat.com>
23120
23121 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
23122 as needed to avoid shared structure.
23123
18cf8dda
KH
231242002-01-08 Kazu Hirata <kazu@hxi.com>
23125
23126 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
23127 H8/300H and H8/S.
23128
16c484c7
JM
231292002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
23130
23131 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
23132 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
23133 documentation of obsolete macros.
23134 * system.h: Poison these macros.
23135 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
23136 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
23137 config/c4x/c4x.h, config/clipper/clipper.h,
23138 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
23139 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
23140 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
23141 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
23142 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
23143 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
23144 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
23145 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
23146 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
23147 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
23148 config/sparc/sparc.h, config/stormy16/stormy16.h,
23149 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
23150 definitions and commented out definitions of obsolete macros.
23151 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
23152 of MAX_INT_TYPE_SIZE.
23153
14b3e8ef
UW
231542002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
23155
23156 * config/s390/s390.c (s390_preferred_reload_class): Never
23157 return ADDR_REGS if it isn't a subset of the given class.
23158 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
23159 FP_REGS, but all superclasses as well.
23160
23161 * config/s390/s390.c (s390_function_profiler): Fix thinko.
23162
23163 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
23164 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
23165 must not be a const_int.
23166
a693284d
RH
231672002-01-08 Richard Henderson <rth@redhat.com>
23168
23169 * Makefile.in (toplev.o): Depend on options.h.
23170 (gcc.o): Depend on specs.h.
23171
b3ca30df
JJ
231722002-01-08 Jakub Jelinek <jakub@redhat.com>
23173
23174 * expr.c (store_expr): Convert VOIDmode constants back to target's
23175 mode.
23176
24dbb440
GP
231772002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
23178
23179 * doc/invoke.texi: Markup gcc as @command. Refer to
23180 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
23181 of http://gcc.gnu.org/thanks.html.
23182
234e114c
DJ
231832002-01-08 Dale Johannesen <dalej@apple.com>
23184
23185 * config/rs6000/rs6000.md: Add missing int register
23186 target case to movdf_low.
23187
0d24f4d1
ZW
231882002-01-08 Zack Weinberg <zack@codesourcery.com>
23189
23190 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
23191 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
23192 (cppinit.o): Depend on except.h.
23193 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
23194 s-specs): New rules.
23195
23196 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
23197 Don't create specs.h/options.h/gencheck.h here. Remove
23198 unnecessary variable settings from last argument of AC_OUTPUT.
23199 * config.in, configure: Regenerate.
23200 * intl.c: Hardcode package name as "gcc".
23201
23202 * cppinit.c: Include except.h.
23203 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
23204 appropriate.
23205 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
23206 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
23207 (!)USING_SJLJ_EXCEPTIONS.
23208 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
23209
ed722f66
JM
232102002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
23211
23212 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
23213 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
23214 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
23215 documentation of obsolete macros.
23216 * system.h: Poison these macros.
23217 * config/d30v/d30v.h, config/ns32k/encore.h,
23218 config/stormy16/stormy16.h: Remove definitions and commented out
23219 definitions of obsolete macros.
23220
31e5e29a
NP
23221Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
23222
23223 * objc/objc-act.c (handle_class_ref): Mark the declaration of
23224 %sobjc_class_ref_%s as used - to prevent unwanted compiler
23225 warnings.
23226
bc1fa59c
UW
232272002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
23228
23229 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
23230 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
23231 to insn adjusting stack/frame pointer.
0d24f4d1 23232 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
23233 accept operands that cause the insn to be non-splittable.
23234
a8086abf
GS
232352002-01-08 Graham Stott <grahams@redhat.com>
23236
23237 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
23238 (C_TYPE_FIELDS_VOLATILE): Likewise.
23239 (C_TYPE_BEING_DEFINED): Likewise.
23240 (C_IS_RESERVED_WORD): Likewise.
23241 (C_TYPE_VARIABLE_SIZE): Likewise.
23242 (C_DECL_VARIABLE_SIZE): Likewise.
23243 (C_MISSING_PROTOTYPE_WARNED): Likewise.
23244 (C_SET_EXP_ORIGINAL_CODE): Likewise.
23245 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
23246 parenthesis.
23247 (C_DECL_ANTICIPATED): Likewise.
23248 (c_build_type_variant): Add parenthesis.
23249
3f595aa1
JM
232502002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
23251
23252 * gcc.c (option_map): Remove --version.
23253 (process_command): Handle -fversion following the GNU Coding
23254 Standards. Partially addresses PR other/704.
23255
5bc5a8f9
GS
232562002-01-08 Graham Stott <grahams@redhat.com>
23257
23258 * combine.c (combine_instructions): Fix typo.
23259
16ec4ebf
GS
232602002-01-08 Graham Stott <grahams@redhat.com>
23261
23262 * debug.h: Use "tree" and "rtx" throughout.
23263
23264 * debug.c: Likewise.
23265
4b69f385
NC
232662002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
23267
23268 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
23269 constant pool, use the pool's version of the symbol instead.
23270
57d1019b
RH
232712002-01-07 Richard Henderson <rth@redhat.com>
23272
23273 * regrename.c (find_oldest_value_reg): Ignore the value chain if
23274 the original register was copied in a mode with a fewer number of
23275 hard registers than the desired mode.
23276 (copyprop_hardreg_forward_1): Likewise.
23277 (debug_value_data): Fix loop test.
23278 * toplev.c (parse_options_and_default_flags): Reenable
23279 -fcprop-registers at -O1.
23280
232812002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 23282
0d24f4d1
ZW
23283 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
23284 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 23285
0d24f4d1
ZW
23286 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
23287 predicates.
fa066a23 23288
0d24f4d1 23289 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 23290
8f949e7e
JDA
232912002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
23292
23293 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
23294 (pa_output_function_prologue): Output local label at the beginning of
23295 the prologue when profiling.
23296 (hppa_profile_hook): Use the local label rather than the function label.
23297 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
23298
c62f2db5
AH
232992002-01-07 Aldy Hernandez <aldyh@redhat.com>
23300
0d24f4d1
ZW
23301 * config/rs6000/rs6000.c (print_operand): Remove extra space.
23302 (altivec_expand_unop_builtin): Fix thinko.
23303 (altivec_expand_binop_builtin): Same.
23304 (altivec_expand_ternop_builtin): Same.
23305 (altivec_expand_builtin): Same.
c62f2db5 23306
b5235ba7
RH
233072002-01-07 Richard Henderson <rth@redhat.com>
23308
23309 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
23310
7d8ac293
JM
233112002-01-07 Jason Merrill <jason@redhat.com>
23312
23313 * unwind-dw2.c (execute_cfa_program): Use < again.
23314
571a03b8
JJ
233152002-01-07 Jakub Jelinek <jakub@redhat.com>
23316
23317 * predict.c (combine_predictions_for_insn): Avoid division by zero.
23318
2e951384
JJ
233192002-01-07 Jakub Jelinek <jakub@redhat.com>
23320
23321 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
23322 Don't allow -1 - x -> ~x simplifications in the first pass.
23323
20e26713
AH
233242002-01-07 Aldy Hernandez <aldyh@redhat.com>
23325
0d24f4d1
ZW
23326 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
23327 arguments.
23328 (altivec_expand_binop_builtin): Same.
23329 (altivec_expand_unop_builtin): Same.
23330 (print_operand): Fix typo.
23331 (bdesc_1arg): Add vupk* variants.
20e26713 23332
0d24f4d1 23333 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 23334
0d24f4d1 23335 * rs6000.md: Add altivec_vupk* variants.
20e26713 23336
4dd57c18
JM
233372002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
23338
23339 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
23340 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
23341 and last update dates.
23342
0341c5d2
JJ
233432002-01-07 Janis Johnson <janis187@us.ibm.com>
23344
23345 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
23346
c7f3e0b0
MM
233472002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
23348
23349 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
23350 * config/avr/avr.h (CPP_SPEC): Likewise.
23351 (LINK_SPEC): Likewise.
23352 (CRT_BINUTILS_SPECS): Likewise.
23353 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
23354 * doc/invoke.texi (AVR Options): Document them.
23355
6ba4d630
JH
23356Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
23357
23358 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
23359 LABEL_NUSES.
23360
6253d571
GS
233612002-01-07 Graham Stott <grahams@redhat.com>
23362
0d24f4d1
ZW
23363 * config/i386/i386.h: Update copyright date.
23364 (HALF_PIC_PTR): Add parenthesis.
23365 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
23366 (CONSTANT_ALIGNMENT): Add parenthesis.
23367 (DATA_ALIGNMENT): Likewise.
23368 (LOCAL_ALIGNMENT): Likewise.
23369 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
23370 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
23371 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
23372 (HARD_REGNO_NREGS): Add paranethesis.
23373 (VALID_SSE_REG_MODE): Whitespace.
23374 (VALID_MMX_REG_MODE): Whitespace.
23375 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
23376 (ix86_hard_regno_mode_ok): Add parenthesis.
23377 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
23378 (RETURN_IN_MEMORY): Whitespace.
23379 (N_REG_CLASSES): Add parenthesis.
23380 (INTEGER_CLASS_P): Add parenthesis and wrap.
23381 (FLOAT_CLASS_P): Likewise.
23382 (SSE_CLASS_P): Likewise.
23383 (MMX_CLASS_P): Likewise.
23384 (MAYBE_INTEGER_CLASS_P): Likewise.
23385 (MAYBE_FLOAT_CLASS_P): Likewise.
23386 (MAYBE_SSE_CLASS_P): Likewise.
23387 (MAYBE_MMX_CLASS_P): Likewise.
23388 (Q_CLASS_P): Likewise.
23389 (GENERAL_REGNO_P): Uppercase macro parameter.
23390 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
23391 (FP_REGNO_P): Likewise.
23392 (ANY_FP_REGNO_P): Uppercase macro parameter.
23393 (SSE_REGNO_P): Likewise.
23394 (SSE_REGNO): Likewise.
23395 (SSE_REG_P): Likewise.
23396 (SSE_FLOAT_MODE_P): Likewise.
23397 (MMX_REGNO_P): Likewise.
23398 (MMX_REG_P):Likewise.
23399 (STACK_REG_P): Likewise.
23400 (NON_STACK_REG_P): Likewise.
23401 (STACK_TOP_P): Likewise.
23402 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
23403 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
23404 (SECONDARY_MEMORY_NEEDED): Likewise.
23405 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
23406 (MD_ASM_CLOBBERS): Whitespace and wrap.
23407 (MUST_PASS_IN_STACK): Whitespace and wrap.
23408 (RETURN_POPS_ARGS): Add parenthesis.
23409 (INIT_CUMULATIVE_ARGS): Likewise.
23410 (FUNCTION_ARG): Likewise.
23411 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
23412 (SETUP_INCOMING_VARARGS): Likewise.
23413 (BUILD_VA_LIST_TYPE): Add parenthesis.
23414 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
23415 parenthsis.
23416 (EXPAND_BUILTIN_VA_ARG): Likewise.
23417 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
23418 (INITIALIZE_TRAMPOLINE): Add parenthesis.
23419 (INITIAL_ELIMINATION_OFFSET): Likewise.
23420 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
23421 (REGNO_OK_FOR_BASE_P): Likewise.
23422 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
23423 (REGNO_OK_FOR_DIREG_P): Likewise.
23424 (REG_OK_FOR_INDEX_P): Whitespace.
23425 (REG_OK_FOR_BASE_P): Whitespace.
23426 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
23427 parenthesis.
23428 (FIND_BASE_TERM): Fix typo.
23429 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
23430 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
23431 (SYMBOLIC_CONST; Whitespace.
23432 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
23433 (ENCODE_SECTION_INFO): Whitespace.
23434 (FINALIZE_PIC): Remove do { ... } while (0).
23435 (PROMOTE_MODE): Wrap in do { ... } while (0).
23436 (CONST_COSTS): Whitespace.
23437 (RTX_COSTS): Add paramethesis, whitespace and wrap.
23438 (REGISTER_MOVE_COST): Add parenthesis.
23439 (MEMORY_MOVE_COST): Likewise.
23440 (EXTRA_CC_MODES): Whitespace.
23441 (SELECT_CC_MODE): Add parenthesis and whitespace.
23442 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
23443 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
23444 (ASM_OUTPUT_LABEL): Add paramethesis.
23445 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
23446 (ASM_OUTPUT_REG_POP): Likewise.
23447 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
23448 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 23449
07933f72
GS
23450 * config/i386/i386.c: Update copyright.
23451 (CHECK_STACK_LIMIT): Add parenthesis.
23452 (AT_BP): Uppercase macro parameter.
23453 (x86_64_int_parameter_registers): Constify.
23454 (x86_64_int_return_registers): Likewise.
23455 (ix86_compare_op0): Use rtx.
23456 (construct_container): Constify INTREG parameter.
23457 (function_arg): Use rtx.
23458
0b4d32c9
GS
23459 * diagnostic.h: Update copyright date.
23460 (output_buffer_state): Add parenthesis.
23461 (output_buffer_format_args): Likewise.
23462
6253d571
GS
23463 * combine.c (combine_instructions): Replace XEXP (links, 0)
23464 with link.
23465
68f3f6f1
L
234662002-01-06 H.J. Lu <hjl@gnu.org>
23467
23468 * cfgcleanup.c (thread_jump): Fix 2 typos.
23469
234702002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 23471
0d24f4d1 23472 * config.gcc: Add support for --enable-altivec.
480f7f3a 23473
13b8c631
CR
234742002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
23475
23476 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
23477
58ad89b1
JJ
234782002-01-06 Jakub Jelinek <jakub@redhat.com>
23479
23480 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
23481 __objc_class_name_*.
23482
e403b4bc
CR
234832002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
23484
23485 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
23486
e41c7831
RH
234872002-01-06 Richard Henderson <rth@redhat.com>
23488
23489 * reorg.c (emit_delay_sequence): Remove death notes, not merely
23490 nop them out. Increment label reference count for REG_LABEL.
23491 (fill_slots_from_thread): Frob label reference count around
23492 delete_related_insns.
23493
3b3b1e32
RH
234942002-01-05 Richard Henderson <rth@redhat.com>
23495
23496 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
23497 jump threading.
23498
c28abdf0
RH
234992002-01-05 Richard Henderson <rth@redhat.com>
23500
23501 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
23502 * integrate.c (output_inline_function): Likewise.
23503 * toplev.c (rest_of_compilation): Do it here instead. Move call
23504 to remove_unnecessary_notes after emitting abstract instance.
23505 Force an emitted nested function to have its parent emited as well.
23506 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
23507 for null.
23508 (rtl_for_decl_location): Do not look at reload data structures
23509 before reload has run.
23510
c4f2c499
KH
235112002-01-05 Kazu Hirata <kazu@hxi.com>
23512
23513 * cse.c: Fix formatting.
23514 * dwarf2asm.c: Likewise.
23515 * dwarf2out.c: Likewise.
23516 * explow.c: Likewise.
23517 * expmed.c: Likewise.
23518 * function.c: Likewise.
23519 * gcov.c: Likewise.
23520 * gencheck.c: Likewise.
23521 * genrecog.c: Likewise.
23522 * ggc-common.c: Likewise.
23523 * ggc-page.c: Likewise.
23524 * global.c: Likewise.
23525
cf0d9408
KH
235262002-01-05 Kazu Hirata <kazu@hxi.com>
23527
23528 * combine.c: Fix formatting.
23529
bedca03a
CR
235302002-01-05 Craig Rodrigues <crodrigu@bbn.com>
23531
23532 PR middle-end/1557
23533 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
23534
0134bf2d
DE
235352002-01-05 David Edelsohn <edelsohn@gnu.org>
23536
23537 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
23538 as 1 for __powerpc64__ as well.
23539
23540 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
23541
23542 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
23543 return it.
23544
9ca88d5a
DB
235452002-01-05 Daniel Berlin <dan@dberlin.org>
23546
23547 * lcm.c: Revert change, due to performance regression it causes on
23548 SPEC because it's slightly more conservative (sigh, I hate
23549 edge-based LCM).
0d24f4d1 23550
1c570418
JH
23551Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
23552
23553 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
23554
d83bb9f7
NB
235552002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
23556
23557 * doc/cppinternals.texi: Update.
23558
3e0f61ac
HPN
235592002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
23560
23561 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
23562 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
23563 negatives.
23564 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
23565 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
23566 kludge for pre-october-14th mmix versions to handle new-found bug
23567 with PUSHJ/PUSHGO and the register stack.
23568 * config/mmix/mmix.h (struct machine_function): Rename member
23569 has_call_value_without_parameters to has_call_without_parameters.
23570 All referers changed.
23571 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
23572 TARGET_MASK_BRANCH_PREDICT): New macros.
23573 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
23574 -mno-reg-stack-fill-bug-workaround.
23575 * config/mmix/mmix.md ("call"): Set struct machine member
23576 has_call_without_parameters.
23577
4deaa2f8
JH
23578Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
23579
23580 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
23581
9f16e871
JH
23582Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
23583
23584 * cfgcleanup.c: Include tm_p.h
23585 (mark_effect): Fix handling of hard register; fix handling of SET
23586
96eb1157
KH
235872002-01-04 Kazu Hirata <kazu@hxi.com>
23588
23589 * config/h8300/h8300.md (anonymous patterns): Check that
23590 operands are registers before using REGNO on them.
23591
48180d68
RM
235922002-01-03 Roland McGrath <roland@frob.com>
23593
23594 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
23595
b0832fe1
JJ
235962002-01-04 Jakub Jelinek <jakub@redhat.com>
23597
23598 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
23599 * c-common.h (genrtl_expr_stmt_value): Likewise.
23600 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
23601 (expand_expr_stmt_value): Add maybe_last argument.
23602 Don't warn about statement with no effect if it is the last statement
23603 in expression statement.
23604 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
23605 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
23606 expand_expr_stmt_value.
23607 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
23608 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
23609 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
23610 as maybe_last to expand_expr_stmt_value.
23611
c1e14513
JL
23612Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
23613
0d24f4d1
ZW
23614 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
23615 be passed in, do not build it.
23616 (c_begin_if_stmt): New function.
23617 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
23618 * c-common.h (c_expand_start_cond): Update prototype.
23619 (c_begin_if_stmt): Prototype new function.
23620 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
23621 * c-parse.in (if_prefix): Use c_begin_if_stmt,
23622 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 23623
b6ec437a
WC
236242002-01-04 William Cohen <wcohen@redhat.com>
23625
23626 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
23627 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
23628 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
23629 * config/pa/som.h (ASM_FILE_START): Likewise.
23630
ead39bdf 236312002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
23632
23633 * lcm.c: Include df.h.
23634 Add available_transfer_function prototype.
23635 (compute_available): Rework to use iterative dataflow framework.
23636 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
23637 with bb_info in df.h
23638 (available_transfer_function): New function.
23639
23640 * Makefile.in (lcm.o): add df.h to dependencies.
23641
551cc6fd
RH
236422002-01-04 Richard Henderson <rth@redhat.com>
23643
23644 * config/alpha/alpha.c (some_operand): Accept HIGH.
23645 (input_operand): Likewise; accept simple references to globals.
23646 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
23647 (alpha_const_double_ok_for_letter_p): Likewise.
23648 (alpha_extra_constraint): Likewise.
23649 (alpha_preferred_reload_class): Likewise. Do not force
23650 symbolic constants to memory.
23651 (alpha_legitimate_address_p): Accept simple references
23652 to small_symbolic_operand.
23653 (alpha_legitimize_address): New arg scratch. Be prepared to be
23654 called when no_new_pseudos. Emit simple symbolic references.
23655 Split integers into low, high, and rest.
23656 (alpha_expand_mov): Use alpha_legitimize_address.
23657 (some_small_symbolic_mem_operand): New.
23658 (split_small_symbolic_mem_operand): New.
23659 * config/alpha/alpha-protos.h: Update.
23660 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
23661 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
23662 (EXTRA_CONSTRAINT): Likewise.
23663 (PREFERRED_RELOAD_CLASS): Likewise.
23664 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
23665 (PREDICATE_CODES): Update.
23666 * config/alpha/alpha.md: New post-reload splitters to convert
23667 simplfied symbolic operands to the form that references $29.
23668 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
23669 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
23670
1eaea054
RH
236712002-01-03 Richard Henderson <rth@redhat.com>
23672
23673 * local-alloc.c (function_invariant_p): Update commentary.
23674
c4cc12b7
L
236752002-01-04 H.J. Lu <hjl@gnu.org>
23676
23677 * toplev.c (rest_of_compilation): Fix a typo when calling
23678 cleanup_cfg.
23679
173bf5be
KH
236802002-01-03 Kazu Hirata <kazu@hxi.com>
23681
23682 * c-common.c: Fix formatting.
23683 * diagnostic.c: Likewise.
23684 * doloop.c: Likewise.
23685 * dwarf2out.c: Likewise.
23686
187462ac
KH
236872002-01-03 Kazu Hirata <kazu@hxi.com>
23688
23689 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
23690 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
23691
5d8ebbd8
NB
236922002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
23693
23694 * cpperror.c: Update comments and copyright.
23695 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
23696 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
23697
518c1311
JDA
236982002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
23699
23700 * collect2.c (main): Use strcmp when testing for "-shared".
23701
d15a58c0
NB
237022002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
23703
23704 * cppmacro.c: Don't include intl.h. Update comments.
23705 (new_number_token): Allocate enough buffer for 64-bit unsigned
23706 integers; update prototype.
23707 * cppmain.c: Update comments.
23708
70f4f91c
WC
237092002-01-03 William Cohen <wcohen@redhat.com>
23710
23711 * function.h (struct function): Add profile.
23712 (current_function_profile): New.
23713 doc/extend.texi: Update documentation.
23714 * final.c (final_start_function): Use current_function_profile
23715 instead of profile_flag.
23716 (profile_after_prologue): Likewise.
23717 * function.c (expand_function_start): Likewise.
23718 (expand_function_start): Likewise.
c4cc12b7 23719 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
23720 (alpha_does_function_need_gp): Likewise.
23721 (alpha_expand_prologue): Likewise.
23722 * config/arm/arm.c (arm_expand_prologue): Likewise.
23723 thumb_expand_prologue: Likewise.
23724 * config/d30v/d30v.c (d30v_stack_info): Likewise.
23725 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
23726 (fr30_expand_prologue): Likewise.
23727 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
23728 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
23729 * config/i386/i386.h (FINALIZE_PIC): Likewise.
23730 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
23731 * config/i960/i960.c (i960_output_function_prologue): Likewise.
23732 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
23733 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
23734 (m32r_expand_prologue): Likewise.
23735 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
23736 (m88k_expand_prologue): Likewise.
23737 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
23738 * config/mips/mips.c (compute_frame_size): Likewise.
23739 (mips_expand_prologue): Likewise.
23740 (mips_can_use_return_insn): Likewise.
23741 * config/pa/elf.h (ASM_FILE_START): Likewise.
23742 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
23743 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
23744 * config/pa/som.h (ASM_FILE_START): Likewise.
23745 * config/romp/romp.c (romp_using_r14): Likewise.
23746 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
23747 (rs6000_stack_info): Likewise.
23748 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 23749 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
23750 * config/v850/v850.c (compute_register_save_size): Likewise.
23751
cb1ac742
JJ
237522002-01-03 Jakub Jelinek <jakub@redhat.com>
23753
23754 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
23755 gen_lowpart_common fails, use gen_lowpart_SUBREG.
23756
61d951df 237572002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 23758
61d951df
TC
23759 * darwin.c (machopic_output_possible_stub_label): Don't generate
23760 stub routines for pseudo-stubs which we've just defined.
23761
505ddab6
KH
237622002-01-03 Kazu Hirata <kazu@hxi.com>
23763
23764 * builtins.c: Fix formatting.
23765 * c-typeck.c: Likewise.
23766 * combine.c: Likewise.
23767 * expr.c: Likewise.
23768 * loop.c: Likewise.
23769
b7e30d8a
AS
237702002-01-03 Andreas Schwab <schwab@suse.de>
23771
23772 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
23773 and return true if _cpp_push_next_buffer pushed a new include
23774 file.
23775 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
23776 _cpp_pop_file_buffer did not push a new file.
23777 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
23778
ff81832f
EC
237792002-01-02 Eric Christopher <echristo@redhat.com>
23780
23781 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
23782 FIND_REG_INC_NOTE call. Update copyright.
23783 * loop.c (canonicalize_condition): Ditto.
23784 * reorg.c (delete_scheduled_jump): Ditto.
23785
8e42ace1
KH
237862002-01-03 Kazu Hirata <kazu@hxi.com>
23787
23788 * gcse.c: Fix formatting.
23789
fb2bf631
GS
237902002-01-03 Graham Stott <grahams@redhat.com>
23791
23792 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
23793 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 23794 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
23795
23796 * system.h: Move forward defs for struct tags rtx_def, union_tree,
23797 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 23798 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
23799
238002002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
23801
23802 * tree.h: Update copyright date.
23803 (IS_EXPR_CODE_CLASS): Add parenthesis.
23804 (TREE_SET_CODE): Add whitespace.
23805 (TREE_CHECK): Add parenthesis.
23806 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
23807 (CST_OR_CONSTRUCTOR_CHECK):
23808 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
23809 (TREE_SYMBOL_REFERENCED): Whitespace.
23810 (INT_CST_LT): Likewise.
23811 (INT_CST_LT_UNSIGNED): Likewise.
23812 (tree_real_cst): Unwrap comment.
23813 (tree_string): Likewise.
23814 (tree_complex): Likewise.
23815 (IDENTIFIER_POINTER): correct cast.
23816 (SAVE_EXPR_CONTEXT): Whitespace.
23817 (EXPR_WFL_FILENAME_NODE): Likewise.
23818 (EXPR_WFL_FILENAME): Remove parenthesis.
23819 (DECL_ORIGIN): Add parenthesis.
23820 (DECL_FROM_INLINE): Use NULL_TREE.
23821 (build_int_2): Whitespace.
23822 (build_type_variant): Add parenthesis.
23823
23824 * gcc/jcf-parse.c: Update copyright date.
23825 (yyparse): Constify resource_filename.
23826
f52eda29
GS
238272002-01-03 Graham Stott <grahams@redhat.com>
23828
23829 * rtl.h: Update copyright date.
23830 (RTL_CHECK1): Wrap long line.
23831 (RTL_CHECK2): Likewise.
23832 (RTL_CHECKC1): Wrap long line and whitespace.
23833 (RTL_CHECKC2): Likewise.
23834 (XWINT): Whitespace.
23835 (XINT): Likewise.
23836 (XSTR): Likewise.
23837 (XEXP): Likewise.
23838 (XVEC): Likewise.
23839 (XMODE): Likewise.
23840 (XBITMAP): Likewise.
23841 (XTREE): Likewise.
23842 (XBBDEF): Likewise.
23843 (XTMPL): Likewise.
23844 (X0WINT): Likewise.
23845 (X0INT):Likewise.
23846 (X0UINT): Likewise.
23847 (X0STR): Likewise.
23848 (X0EXP): Likewise.
23849 (X0VEC): Likewise.
23850 (X0MODE): Likewise.
23851 (X0BITMAP): Likewise.
23852 (X0TREE): Likewise.
23853 (X0BBDEF): Likewise.
23854 (X0ADVFLAGS): Likewise.
23855 (X0CSELIB): Likewise.
23856 (X0MEMATTR): Likewise.
23857 (XCWINT): Likewise.
23858 (XCINT): Likewise.
23859 (XCUINT): Likewise.
23860 (XCSTR): Likewise.
23861 (XCEXP): Likewise.
23862 (XCVEC): Likewise.
23863 (XCMODE): Likewise.
23864 (XCBITMAP): Likewise.
23865 (XCTREE): Likewise.
23866 (XCBBDEF): Likewise.
23867 (XCADVFLAGS): Likewise.
23868 (XCCSELIB): Likewise.
23869 (XC2EXP): Likewise.
23870 (INSN_UID): Likewise.
23871 (PREV_INSN): Likewise.
23872 (PATTERN): Likewise.
23873 (INSN_CODE): Likewise.
23874 (PUT_REG_NOTE_KIND): Likewise.
23875 (CODE_LABEL_NUMBER): Likewise.
23876 (NOTE_SOURCE_FILE): Likewise.
23877 (NOTE_BLOCK): Likewise.
23878 (NOTE_EH_HANDLER): Likewise.
23879 (NOTE_RANGE_INFO): Likewise.
23880 (NOTE_LIVE_INFO): Likewise.
23881 (NOTE_BASIC_BLOCK): Likewise.
23882 (NOTE_EXPECTED_VALUE): Likewise.
23883 (NOTE_LINE_NUMBER): Likewise.
23884 (LABEL_NAME): Likewise.
23885 (LABEL_NUSES): Likewise.
23886 (LABEL_ALTERNATE_NAME): Likewise.
23887 (ADDRESSOF_DECL): Likewise.
23888 (JUMP_LABEL): Likewise.
23889 (LABEL_NEXTREF): Likewise.
23890 (REGNO): Likewise.
23891 (ORIGINAL_REGNO: Likewise.
23892 (HARD_REGISTER_NUM_P): Add parenthesis.
23893 (SUBREG_REG): Whitespace.
23894 (SUBREG_BYTE): Likewise.
23895 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
23896 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
23897 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
23898 (ASM_OPERANDS_INPUT_VEC): Likewise.
23899 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
23900 (ASM_OPERANDS_INPUT): Likewise.
23901 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
23902 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
23903 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
23904 (ASM_OPERANDS_INPUT_MODE): Likewise.
23905 (ASM_OPERANDS_SOURCE_FILE): Likewise.
23906 (ASM_OPERANDS_SOURCE_LINE): Likewise.
23907 (MEM_SET_IN_STRUCT_P): Minor reformat.
23908 (TRAP_CONDITION): Whitespace.
23909 (TRAP_CODE): Likewise.
23910 (COND_EXEC_TEST): Likewise.
23911 (COND_EXEC_CODE): Likewise.
23912 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
23913 (PHI_NODE_P): Add parenthesis.
23914 (plus_constant): Whitespace and add parenthesis.
23915
e03f5d43
KH
239162002-01-03 Kazu Hirata <kazu@hxi.com>
23917
23918 * config/avr/avr.c: Fix comment typos.
23919 * config/c4x/c4x.md: Likewise.
23920 * config/dsp16xx/dsp16xx.h: Likewise.
23921 * config/dsp16xx/dsp16xx.md: Likewise.
23922 * config/i386/i386.md: Likewise.
23923 * config/ia64/ia64.c: Likewise.
23924 * config/m32r/m32r.h: Likewise.
23925 * config/m68hc11/m68hc11.md: Likewise.
23926 * config/mmix/mmix.c: Likewise.
23927 * config/mn10200/mn10200.c: Likewise.
23928 * config/romp/romp.c: Likewise.
23929 * config/sh/sh.c: Likewise.
23930 * config/stormy16/stormy16.c: Likewise.
23931 * config/stormy16/stormy16.h: Likewise.
23932 * config/stormy16/stormy16.md: Likewise.
23933
97e300e9
GS
239342002-01-03 Graham Stott <grahams@redhat.com>
23935
23936 * loop.h: Update copyright date.
0d24f4d1
ZW
23937 (LOOP_MOVABLES): Fix typo.
23938 (LOOP_REGS): Likewise.
23939 (LOOP_IVS): Likewise.
ff81832f 23940
745b26b3
GS
239412002-01-03 Graham Stott <grahams@redhat.com>
23942
23943 * cppinit.c: Update copyright date.
23944 Don't include output.h
23945 * Makefile.in: Update copyright date.
23946 Update dependency.
23947
0a379b7a
CR
239482002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
23949
23950 PR c/5226
23951 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
23952 (-pthread) Add to RS/6000 options.
23953
a8154559
KH
239542002-01-02 Kazu Hirata <kazu@hxi.com>
23955
23956 * except.c: Fix comment typos.
23957 * loop.c: Likewise.
23958 * varasm.c: Likewise.
23959 * doc/tm.texi: Fix a typo.
23960
e6ecc89b
JJ
239612002-01-02 Jakub Jelinek <jakub@redhat.com>
23962
23963 * c-typeck.c (output_init_element): Allow initializing static storage
23964 duration objects with compound literals.
23965
d1094b40
RH
239662002-01-02 Richard Henderson <rth@redhat.com>
23967
23968 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
23969 after abusing it.
23970
0c5d8c82
KG
239712002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
23972
5e65297b
KG
23973 * gcc.c (default_compilers): Const-ify.
23974 * mips-tdump.c (stab_names): Likewise.
23975 * mips-tfile.c (map_coff_types, map_coff_storage,
23976 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
23977 pseudo_ops_t, pseudo_ops): Likewise.
23978 * protoize.c (default_include): Likewise
23979
0c5d8c82
KG
23980 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
23981 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
23982 Add array size in declaration.
23983 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
23984 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
23985 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
23986 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
23987 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
23988 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
23989 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
23990 emtens, make_nan): Const-ify.
23991 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
23992 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
23993
817e13c4
JM
239942002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
23995
23996 * config.gcc (ia64-*-*): Set extra_headers.
23997 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
23998 * config/alpha/t-osf: Remove.
23999 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
24000
98095e2b
DE
240012002-01-02 David Edelsohn <edelsohn@gnu.org>
24002
24003 * config/rs6000/t-aix43: Revert previous change.
24004
a4200657
JM
240052002-01-02 Jason Merrill <jason@redhat.com>
24006
24007 * c-decl.c (c_expand_body): Call outlining_inline_function when
24008 emitting an inline function out of line.
24009
54ba1f0d
RH
240102002-01-02 Richard Henderson <rth@redhat.com>
24011
24012 * dwarf2out.c (limbo_die_node): Add created_for member.
24013 (new_die): New argument created_for. Update all callers.
24014 (mark_limbo_die_list): New.
24015 (dwarf2out_init): Register limbo_die_list as a root.
24016 (dwarf2out_finish): Force insert limbo dies into their function
24017 context.
24018
323728aa
NS
240192002-01-02 Nathan Sidwell <nathan@codesourcery.com>
24020
24021 PR c++/5089
24022 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
24023
aefc5826
KH
240242002-01-02 Kazu Hirata <kazu@hxi.com>
24025
24026 * config/h8300/fixunssfsi.c: Update copyright.
24027 Fix comment typos.
24028 Fix formatting.
24029 * config/h8300/h8300.c: Update copyright.
24030 Eliminate warnings.
24031
b1c9bc51
KH
240322002-01-02 Kazu Hirata <kazu@hxi.com>
24033
24034 * config/romp/romp.c: Fix comment formatting.
24035 * config/romp/romp.h: Likewise.
24036 * config/romp/romp.md: Likewise.
24037 * config/s390/s390.c: Likewise.
24038 * config/stormy16/stormy16.c: Likewise.
24039 * config/stormy16/stormy16.h: Likewise.
24040
1574ef13
AO
240412002-01-02 Alexandre Oliva <aoliva@redhat.com>
24042
24043 * c-common.h (genrtl_expr_stmt_value): Declare.
24044 * c-semantics.c (genrtl_goto_stmt): Redirect to...
24045 (genrtl_goto_stmt_value): ... this new function. Pass new
24046 argument down to expand_expr_stmt_value, taking
24047 TREE_ADDRESSABLE into account.
24048 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
24049 STMT_EXPR as addressable, i.e., one whose result we want.
24050 * expr.c (expand_expr): Don't save expression statement value
24051 of labeled_blocks or loop_exprs.
24052 * stmt.c (expand_expr_stmt): Redirect to...
24053 (expand_expr_stmt_value): ... this new function. Use new
24054 argument to tell whether to save expression value.
24055 (expand_end_stmt_expr): Reset last_expr_type and
24056 last_expr_value if we don't have either.
24057 * tree-inline.c (declare_return_variable): Mark its use
24058 statement as addressable.
24059 * tree.h: Document new use of TREE_ADDRESSABLE.
24060 (expand_expr_stmt_value): Declare.
24061
252b88f7
TR
240622002-01-01 Tom Rix <trix@redhat.com>
24063
24064 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
24065 rs6000_emit_allocate_stack.
24066
29f7a208
JM
240672002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
24068
24069 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
24070 ${srcdir}/ginclude/ to every entry in extra_headers.
24071 * configure: Regenerate.
24072 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
24073 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
24074 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
24075 * ginclude/proto.h: Rename to config/convex/proto.h.
24076
2cc2d4bb
RK
24077Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24078
24079 * attribs.c (handle_vector_size_attribute): Use host_integerp
24080 and tree_int_cst; remove warnings.
24081 * caller-save.c (insert_restore): Add cast to get rid of warning.
24082 (insert_save): Likewise.
24083 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
24084 * regmove.c (find_matches): Add temporary var to kill a warning.
24085
f01c9bcd
DR
240862002-01-01 Douglas B Rupp <rupp@gnat.com>
24087
16b61764
DR
24088 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
24089 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
24090 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
24091 (vms-dwarf2eh.o): Add Makefile rule.
24092 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
24093 * config/alpha/vms-dwarf2eh.asm: New file.
24094
f01c9bcd
DR
24095 * gcc.c (delete_if_ordinary): Delete all versions.
24096
91312b81
HPN
240972002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
24098
24099 * config/mmix/mmix.md: Update FIXME to not mention
24100 define_constants.
24101 (MMIX_rJ_REGNUM): New define_constants constant.
24102 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
24103 "*movdicc_real"): Adjust contraints formatting.
24104 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
24105 for branch prediction.
24106 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
24107 output template.
24108 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
24109 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
24110 number. Delete related FIXMEs.
24111 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
24112 from number to MMIX_rJ_REGNUM.
24113 (TARGET_MASK_BRANCH_PREDICT): New.
24114 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
24115 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
24116 value. Add -mbranch-predict and -mno-branch-predict.
24117 (TARGET_VERSION): Drop date.
24118 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
24119 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
24120 for finding out global symbols.
24121 (mmix_asm_output_labelref): Revert condition for global symbol.
24122 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
24123 (mmix_print_operand_punct_valid_p): A '+' is valid.
24124
619acae7 24125See ChangeLog.6 for earlier changes.
This page took 3.039666 seconds and 5 git commands to generate.