]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
c-pretty-print.h (pp_c_statement): Declare.
[gcc.git] / gcc / ChangeLog
CommitLineData
7ff4a7ef
GDR
12002-07-30 Gabriel Dos Reis <gdr@nerim.net>
2
3 * c-pretty-print.h (pp_c_statement): Declare.
4 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
5 (pp_c_statement): Define.
6
4ad5e05d
KG
72002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8
9 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
10 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
11 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
12 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
13 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
14 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
15
16 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
17 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
18
1e6a3e1e
GDR
192002-07-30 Gabriel Dos Reis <gdr@nerim.net>
20
21 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
22 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
23 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
24 (pp_c_expression): Update.
25
1dcd444b
KG
262002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
27
28 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
29 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
30 * alpha/vms-ld.c (main): Likewise.
31 * dsp16xx.c (double_reg_to_memory): Likewise.
32 * mcore.c (mcore_expand_prolog): Likewise.
33 * cppfiles.c (read_name_map): Likewise.
34 * gensupport.c (process_rtx, identify_predicable_attribute,
35 alter_test_for_insn): Likewise.
36 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
37
e62f4abc
RS
382002-07-29 Roger Sayle <roger@eyesopen.com>
39
40 * builtins.c (expand_builtin): Change the default behavior to
41 only issue an error if the builtin function doesn't have a
42 fallback library call. Remove several cases handled by the
43 new default.
44
0cd2fb44
JDA
452002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
46
47 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
48 floating point format of the target is IEEE.
49 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
50 format of the target is DEC.
51
b642261e
RH
522002-07-29 Richard Henderson <rth@redhat.com>
53
54 * unroll.c (verify_addresses): Remove.
55 (find_splittable_givs): Never split DEST_ADDR givs.
56
cba57c9d
GK
572002-07-29 Geoffrey Keating <geoffk@redhat.com>
58
59 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
60 is exhaustive.
61 (Files): Improve documentation on generated source files.
62
63 * doc/extend.texi (Translation implementation): Document what
64 diagnostics look like.
65 (Identifiers implementation): Document that there's normally no
66 limit on identifier names.
67 (Integers implementation): Document two's complement.
68 (Hints implementation): Document that GCC honours 'inline', mostly.
69 (Preprocessing directives implementation): Document that GCC
70 requires the current time.
71
76a8ecba
GDR
722002-07-30 Gabriel Dos Reis <gdr@nerim.net>
73
74 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
75 (pp_initializer): New macro.
76 (pp_c_initializer): Declare.
77 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
78 (pp_c_initializer): Define.
79 (pp_c_initializer_list): New function.
80 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
81 VECTOR_CST, CONSTRUCTOR.
82 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
83 IMAGPART_EXPR.
84 (pp_c_cast_expression): Handle FLOAT_EXPR.
85 (pp_c_assignment_expression): Handle INIT_EXPR.
86 (pp_c_expression): Update.
87
4307be72
NB
882002-07-30 Neil Booth <neil@daikokuya.co.uk>
89
90 * objc/objc-act.c (objc_init): Return immediately if filename
91 is NULL.
92
6d439235
EC
932002-07-29 Eric Christopher <echristo@redhat.com>
94
95 * config/mips/elf.h: Remove ecoff.h and gofast includes.
96 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
97 (SDB_DEBUGGING_INFO): Undefine.
98 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
99 (PUT_SDB_SIZE): Remove.
100 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
101 (STARTFILE_SPEC): Add isa3264 define.
102 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
103 * config/mips/ecoff.h: Remove. and here...
104 * config/mips/iris3.h: and here...
105 * config/mips/sni-svr4.h: and here...
106 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
107 Add assembler -mmdebug options for non-dwarf debugging.
108 * config/mips/r3900.h: Remove debug info defines.
109 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
110 * config/mips/isa3264.h: Ditto.
111 * config/mips/t-isa3264: Fix up for file removal and gofast configure
112 change.
113 * config/mips/t-elf: Ditto.
114 * config/mips/t-ecoff: Ditto.
115 * config/mips/t-r3900: Ditto.
116 * config/mips/t-iris5-6: Ditto.
117 * config/mips/t-isa3264: Ditto.
118 * config/mips/t-linux: Remove.
119 * config/mips/t-netbsd: Remove.
120 * config/mips/t-mips: New file.
121 * config/mips/t-gofast: Ditto.
122 * config/mips/netbsd.h: Remove unnecessary undefines.
123 * config/mips/linux.h: Remove #include of mips.h.
124 * config.gcc: Add mips.h include for elf targets. Remove tm_file
125 for ecoff. Add gofast configure option for mips.
126
4357a6c3
CD
1272002-07-29 Chris Demetriou <cgd@broadcom.com>
128
129 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
130 linker scripts use STARTUP directives consistently.
131 * configure: Regenerate.
132 * config.in: Regenerate.
133 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
134 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
135 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
136 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
137 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
138 will be the same.
139
9a5cd606
AH
1402002-07-29 Aldy Hernandez <aldyh@redhat.com>
141
142 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
143
a23acaa6
AH
1442002-07-29 Aldy Hernandez <aldyh@redhat.com>
145
146 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
147
10ed84db
AH
1482002-07-29 Aldy Hernandez <aldy@quesejoda.com>
149
150 * config/rs6000/rs6000.md: Move altivec patterns from here...
151
152 * config/rs6000/altivec.md: ...to here.
153
c3021e5d
AH
1542002-07-29 Aldy Hernandez <aldyh@redhat.com>
155
156 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
157
6f1087be
RH
1582002-07-29 Richard Henderson <rth@redhat.com>
159
160 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
161 set_mem_attributes and add BITPOS argument. Subtract it from
162 OFFSET when same is adjusted.
163 (set_mem_attributes): New wrapper function.
164 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
165 remove offset adjustment hack.
166 * expr.h (set_mem_attributes_minus_bitpos): Declare.
167
61ccbcfd
GDR
1682002-07-29 Gabriel Dos Reis <gdr@nerim.net>
169
170 * Makefile.in (C_OBJS): Include c-pretty-print.o
171 (c-pretty-print.o): Add depency rule.
172 * pretty-print.h: Add more macros.
173 * c-pretty-print.c: New file.
174 * c-pretty-print.h: Likewise.
175
09101f56
AH
1762002-07-29 Aldy Hernandez <aldyh@redhat.com>
177
178 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
179 constants to __ev64_s32__.
180 (__internal_ev_mwhgsmian): Same.
181 (__internal_ev_mwhgsmfan): Same.
182 (__internal_ev_mwhgssfan): Same.
183 (__internal_ev_mwhgumiaa): Same.
184 (__internal_ev_mwhgsmiaa): Same.
185 (__internal_ev_mwhgsmfaa): Same.
186 (__internal_ev_mwhgssfaa): Same.
187
af673a52
DE
1882002-07-29 David Edelsohn <edelsohn@gnu.org>
189
190 * varasm.c (assemble_variable): Narrow test for uninitialized
191 without BSS target support.
192
6c208acd
NS
1932002-07-29 Nathan Sidwell <nathan@codesourcery.com>
194
195 * profile.c: Add file comment describing the overall algorithm and
196 structures.
197 (struct edge_info): Add comments.
198 (struct bb_info): Add comments.
199 * basic-block.h (EDGE_*): Add comments.
200 * doc/gcov.texi (Gcov Data Files): Document bit flags.
201
624f0d60
BW
2022002-07-29 Bob Wilson <bob.wilson@acm.org>
203
204 * config/xtensa/elf.h, config/xtensa/linux.h
205 (TARGET_OS_CPP_BUILTINS): Define.
206 (CPP_PREDEFINES): Remove.
207 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
208 (CPP_SPEC): Remove.
209
2199e5fa
ZW
2102002-07-29 Zack Weinberg <zack@codesourcery.com>
211
212 * gensupport.c: Include hashtab.h.
213 (insn_elision, condition_table, hash_c_test, cmp_c_test,
214 maybe_eval_c_test): New routines and data structures to
215 support insn elision.
216 (init_md_reader): Read and initialize the condition_table.
217 (read_md_rtx): Discard insn patterns whose C test is provably
218 always false.
219 * gensupport.h: Declare new functions and data structures.
220
221 * genconditions.c, dummy-conditions.c: New files.
222 * Makefile.in: Build genconditions; run it to construct
223 insn-conditions.c; build that and link it into most gen*
224 programs.
225 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
226 (GEN): Delete, unused.
227 (STAGESTUFF): Update.
228
229 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
230 CODE_FOR_nothing for all elided patterns.
231 (main): Tweaked to support this.
232 * genflags.c (gen_proto): Emit a static inline generator
233 function here for all elided patterns, which simply returns
234 NULL_RTX.
235 (gen_insn): Do not define HAVE_xxx for elided patterns.
236 (main): Tweaked to support this. No need to forward-declare
237 struct rtx_def.
238 * genrecog.c: Do not bother emitting the C test if it's known
239 to be true at compile time.
240
6ab185d6
MS
2412002-07-29 Mike Stump <mrs@apple.com>
242
6d439235 243 * config.gcc (target_gtfiles): Initialize, as otherwise cross
2199e5fa 244 compilers hosted on powerpc-apple-darwin6.0 won't even build.
6ab185d6 245
72b075d1
RE
2462002-07-29 Richard Earnshaw <rearnsha@arm.com>
247
248 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
249 remove clobber of LR.
250 (sibcall_insn, sibcall_value_insn): Update accordingly.
251 (sibcall_epilogue): Remove debugging comment from assembler stream.
252
f63c45ec
GDR
2532002-07-29 Gabriel Dos Reis <gdr@nerim.net>
254
255 * pretty-print.h: Define more macros.
256 * diagnostic.h (output_formatted_integer): Moved from...
257 * diagnostic.c: ... here.
258
c27c15db
KG
2592002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
260
261 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
262
99086d59
ZW
2632002-07-28 Zack Weinberg <zack@codesourcery.com>
264
265 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
266 arguments. Always use ".-symbol" as expression argument.
267 * doc/tm.texi: Update to match. Document requirement for
268 ".size symbol, .-symbol" to be acceptable to assembler.
269
270 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
271 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
272 config/i386/freebsd-aout.h, config/i386/sco5.h,
273 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
274 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
275
dd86aabf
KG
2762002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
277
6fd327e9
KG
278 * Makefile.in (gengtype-lex.c): Fix error in last change.
279
8155cedd
KG
280 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
281 backslash.
282
dd86aabf
KG
283 * Makefile.in (vmsdbgout.o): Depend on function.h.
284
285 * vmsdbgout.c: Include function.h.
286
d4348177
AM
2872002-07-28 Alan Modra <amodra@bigpond.net.au>
288
289 * prefix.c (update_path): Don't strip single `.' path components
290 unless stripping a later `..' component. Exit loop as soon as
291 a valid path is found.
292
c2ef6d34
RS
2932002-07-27 Roger Sayle <roger@eyesopen.com>
294
295 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
296 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
297 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
298 floating point unordered comparisons (e.g. __builtin_isgreater)
299 as const, and leave the remaining GCC_BUILTINs unchanged.
300
301 * c-decl.c (builtin_function): No need to explicitly mark
302 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
303
52bfebf0
RS
3042002-07-27 Roger Sayle <roger@eyesopen.com>
305
306 * Makefile.in: rtlanal.o now depends upon real.h.
307
308 * flags.h [flag_signaling_nans]: New flag.
309 [HONOR_SNANS]: New macro.
310
311 * toplev.c [flag_signaling_nans]: Initialize to false.
99086d59 312 (f_options): Add processing for "-fsignaling-nans".
52bfebf0
RS
313 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
314 (process_options): flag_signaling_nans implies flag_trapping_math.
315
316 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
317 when -fsignaling-nans. First step to implementing WG14's N965.
318
319 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
320 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
321 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
322
323 * simplify-rtx.c (simplify_relational_operation): Conditionalize
324 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
325
326 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
327 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
99086d59
ZW
328 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
329 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
52bfebf0
RS
330 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
331
332 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
333
e66f55b8
KG
3342002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
335
336 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
337 * gengtype-lex.l (YY_USE_PROTOS): Undef.
338 (YY_DECL): Define.
339
a3926fe1
RS
3402002-07-27 Roger Sayle <roger@eyesopen.com>
341
342 * doc/invoke.texi: Document that both -fno-builtin-foo and
343 -fno-builtin are supported by the g++ front-end.
344
ef69da62
SS
3452002-07-27 Stan Shebs <shebs@apple.com>
346
347 * configure.in: Rename config_gtfiles to target_gtfiles.
348 * configure: Regenerate.
349 * doc/gty.texi: Update reference.
350 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
351 instead of appending to it.
352
a4b0320c
AH
3532002-07-25 Aldy Hernandez <aldyh@redhat.com>
354
355 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
356 vectors are split into two registers.
357 (function_arg): Same.
358
c427db5d
R
359Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
360
361 * pa.md (extv): Check predicates before emitting extv_32.
362
57ac7be9
AM
3632002-07-27 Alan Modra <amodra@bigpond.net.au>
364
365 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
366 (rs6000_traceback): New var.
367 (rs6000_override_options): Set rs6000_traceback.
368 (rs6000_output_function_epilogue): Implement traceback options.
369 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
370 (rs6000_traceback_name): Declare.
371
372 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
373 label reference when NO_PROFILE_COUNTERS.
374
8e51619a
JM
3752002-07-26 Jason Merrill <jason@redhat.com>
376
377 * function.c (assign_parms): Handle frontend-directed pass by
378 invisible reference.
379
b41f25cf
NB
3802002-07-26 Neil Booth <neil@daikokuya.co.uk>
381
382 * doc/cppopts.texi: Update.
383
c2734e05
NB
3842002-07-26 Neil Booth <neil@daikokuya.co.uk>
385
386 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
387 warnings on assertions.
388
c372b0fa
NB
3892002-07-26 Neil Booth <neil@daikokuya.co.uk>
390
391 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
392 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
393 RID_COMPL): Remove.
394 * c-parse.in (rid_to_yy): Similarly.
395
558ee214
JM
3962002-07-26 Jason Merrill <jason@redhat.com>
397
398 * c-dump.c: Resurrect.
399 * tree-dump.c: Move C-specific stuff to c-dump.c.
400 * c-common.h: Declare c_dump_tree.
401 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
402 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
403 (c-dump.o): New rule.
404
ce71f754
AM
4052002-07-26 Alan Modra <amodra@bigpond.net.au>
406
407 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
408 PowerPC64. Replace "T" and "S" constraints with "n" when the
409 predicate will do. Formatting fixes.
410 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
411 as for extzvsi_internal1.
412
e179e7d7
NB
4132002-07-25 Neil Booth <neil@daikokuya.co.uk>
414
415 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
416 DERIV_END_LABEL_FMT): Remove.
417 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
418
a2056183
NB
4192002-07-25 Neil Booth <neil@daikokuya.co.uk>
420
421 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
422 Remove.
423
308c142a
SS
4242002-07-25 Stan Shebs <shebs@apple.com>
425
426 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
427 local var dwarfp.
428 (output_compiler_stub): Remove unused locals.
429 (output_call): Always initialize line number.
430
59324685
R
431Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
432
433 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
434 * sh.md (truncdiqi2, movqi_media): Likewise.
435
77bbd421
NB
4362002-07-25 Neil Booth <neil@daikokuya.co.uk>
437
438 * gcse.c (obstack_chunk_alloc): Remove.
439 (gcse_alloc): Fix to count allocated bytes.
440 * collect2.c (SYMBOL__MAIN): Remove.
441
7bad45b0
NB
4422002-07-25 Neil Booth <neil@daikokuya.co.uk>
443
444 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
445 HAVE_TARGET_EXECUTABLE_SUFFIX.
446
184166b5
R
447Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
448
449 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
450 SIZE, EXPR and OFFSET.
451
40cb04f1
RH
4522002-07-25 Richard Henderson <rth@redhat.com>
453
454 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
455 in ARRAY_REF of DECL_P case.
456
a27fb29b
RS
4572002-07-25 Richard Sandiford <rsandifo@redhat.com>
458
459 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
460 description. Document -mips32, -mips64, and the associated -march
461 values. Describe the "mipsN" arguments to -march. Say that the
462 -mipsN options are equivalent to -march. Reword the description
463 of default type sizes.
464 * toplev.h (target_flags_explicit): Declare.
465 * toplev.c (target_flags_explicit): New var.
466 (set_target_switch): Update target_flags_explicit.
467 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
468 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
469 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
470 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
471 * config/mips/mips.h (mips_cpu_info): New struct.
472 (mips_cpu_string, mips_explicit_type_size_string): Remove.
473 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
474 (MIPS_CPP_SET_PROCESSOR): New macro.
475 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
476 Define _MIPS_ARCH and _MIPS_TUNE.
477 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
478 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
479 MIPS_ISA_DEFAULT were already defined.
480 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
481 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
482 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
483 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
484 (ABI_GAS_ASM_SPEC): Remove.
485 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
486 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
487 Invoke %(asm_abi_default_spec) if no ABI was specified.
488 (CC1_SPEC): Remove ISA -> register-size rules.
489 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
490 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
491 (mips_cpu_string, mips_explicit_type_size_string): Remove.
492 (mips_cpu_info_table): New array.
493 (mips_set_architecture, mips_set_tune): New fns.
494 (override_options): Rework to make -mipsN equivalent to -march.
495 Detect more erroneous cases, including those removed from CC1_SPEC.
496 Don't change the ABI based on architecture, or vice versa.
497 Unify logic with GAS.
498 (mips_asm_file_start): Get architecture name from mips_arch_info.
499 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
500 (mips_parse_cpu): Take the name of the option as argument. Handle
501 'from-abi'. Raise an error if the option is wrong.
502 (mips_cpu_info_from_isa): New fn.
503
6bbdc759
RS
5042002-07-25 Richard Sandiford <rsandifo@redhat.com>
505
506 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
507 (tablejump_mips162): Likewise.
508
80a62484
R
509Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
510
511 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
512 int_mode_for_mode.
513
ea793912
GDR
5142002-07-25 Gabriel Dos Reis <gdr@nerim.net>
515
516 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
99086d59 517 complaining.
ea793912
GDR
518 * c-common.h (c_sizeof): Adjust definition.
519 (c_alignof): Likewise.
520 * c-tree.h (c_sizeof_nowarn): Now macro.
521 * c-typeck.c (c_sizeof_nowarn): Remove definition.
522
2d615444
NB
5232002-07-25 Neil Booth <neil@daikokuya.co.uk>
524
525 * c-decl.c (c_decode_option): No need to handle switches
526 cpplib handles.
527
2be2ac70
ZW
5282002-07-24 Zack Weinberg <zack@codesourcery.com>
529
530 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
531 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
532 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
533 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
534
535 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
536 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
537 config/cris/aout.h, config/i386/freebsd-aout.h,
538 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
539 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
540 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
541 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
542 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
543 config/xtensa/elf.h, config/xtensa/linux.h:
544 Use the new macros.
545 Where possible, remove redundant definitions of SIZE_ASM_OP,
546 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
547
518878e1
AH
5482002-07-24 Aldy Hernandez <aldyh@redhat.com>
549
550 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
551 TARGET_ISEL, and TARGET_FPRS.
99086d59 552
518878e1
AH
553 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
554 -mabi=spe, -mabi=no-spe, and -misel=.
555
556 * config/rs6000/rs6000-protos.h: Add output_isel.
557 Move vrsave_operation prototype here.
558
559 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
560 (smaxsi3): Same.
561 (uminsi3): Same.
562 (umaxsi3): Same.
563 (abssi2_nopower): Disallow when TARGET_ISEL.
564 (*ne0): Same.
565 (negsf2): Change to expand and rename old pattern to *negsf2.
566 (abssf2): Change to expand and rename old pattern to *abssf2.
99086d59 567
518878e1
AH
568 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
569 fixunssfsi2.
570
571 Change patterns that check for TARGET_HARD_FLOAT or
572 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
573
574 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
575 rs6000_isel, rs6000_fprs, rs6000_isel_string.
576 (rs6000_override_options): Add 8540 case to
577 processor_target_table.
578 Set rs6000_isel for the 8540.
579 Call rs6000_parse_isel_option.
580 (enable_mask_for_builtins): New.
581 (rs6000_parse_isel_option): New.
582 (rs6000_parse_abi_options): Add spe and no-spe.
583 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
584 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
585 for TARGET_HARD_FLOAT.
586 Add case for SPE_VECTOR_MODE.
587 (rs6000_legitimize_reload_address): Handle SPE vector modes.
588 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
589 vector modes.
590 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
591 (rs6000_emit_move): Check for TARGET_FPRS.
592 Add cases for SPE vector modes.
593 (function_arg_boundary): Return 64 for SPE vector modes.
594 (function_arg_advance): Check for TARGET_FPRS and
595 Handle SPE vectors.
596 (function_arg): Same.
597 (setup_incoming_varargs): Check for TARGET_FPRS.
598 (rs6000_va_arg): Same.
599 (struct builtin_description): Un-constify mask field. Move up in
600 file.
601 (bdesc_2arg): Un-constify and add SPE builtins.
602 (bdesc_1arg): Same.
603 (bdesc_spe_predicates): New.
604 (bdesc_spe_evsel): New.
605 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
606 (rs6000_expand_binop_builtin): Same.
607 (bdesc_2arg_spe): New.
608 (spe_expand_builtin): New.
609 (spe_expand_predicate_builtin): New.
610 (spe_expand_evsel_builtin): New.
611 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
612 (rs6000_init_builtins): Initialize SPE builtins. Call
613 rs6000_common_init_builtins.
614 (altivec_init_builtins): Move all non-altivec builtin code to...
615 (rs6000_common_init_builtins): ...here. New function.
616 (branch_positive_comparison_operator): Allow NE code for SPE.
617 (ccr_bit): Return correct ccr bit for SPE fp.
618 (print_operand): Emit crnor in 'D' case for SPE.
619 New case 't'.
620 Add SPE code for 'y' case.
621 (rs6000_generate_compare): Generate rtl for SPE fp.
622 (output_cbranch): Handle SPE hard floats.
623 (rs6000_emit_cmove): Handle isel.
624 (rs6000_emit_int_cmove): New.
625 (output_isel): New.
626 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
627 64-bits for SPE.
628 (debug_stack_info): Add SPE info.
629 (gen_frame_mem_offset): New.
630 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
631 Change mode of frame pointer, when saving it, to Pmode.
632 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
633 Misc cleanups and use gen_frame_mem_offset when appropriate.
634
635 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
636 (TARGET_SPE_ABI): New.
637 (TARGET_SPE): New.
638 (TARGET_ISEL): New.
639 (TARGET_FPRS): New.
640 (FIXED_SCRATCH): New.
641 (RTX_COSTS): Add PROCESSOR_PPC8540.
642 (ASM_CPU_SPEC): Add case for 8540.
643 (TARGET_OPTIONS): Add isel= case.
644 (rs6000_spe_abi): New.
645 (rs6000_isel): New.
646 (rs6000_fprs): New.
647 (rs6000_isel_string): New.
648 (UNITS_PER_SPE_WORD): New.
649 (LOCAL_ALIGNMENT): Adjust for SPE.
650 (HARD_REGNO_MODE_OK): Same.
651 (DATA_ALIGNMENT): Same.
652 (MEMBER_TYPE_FORCES_BLK): New.
653 (FIRST_PSEUDO_REGISTER): Set to 113.
654 (FIXED_REGISTERS): Add SPE registers.
655 (reg_class): Same.
656 (REG_CLASS_NAMES): Same.
657 (REG_CLASS_CONTENTS): Same.
658 (REGNO_REG_CLASS): Same.
659 (REGISTER_NAMES): Same.
660 (DEBUG_REGISTER_NAMES): Same.
661 (ADDITIONAL_REGISTER_NAMES): Same.
662 (CALL_USED_REGISTERS): Same.
663 (CALL_REALLY_USED_REGISTERS): Same.
664 (SPE_ACC_REGNO): New.
665 (SPEFSCR_REGNO): New.
666 (SPE_SIMD_REGNO_P): New.
667 (HARD_REGNO_NREGS): Adjust for SPE.
668 (VECTOR_MODE_SUPPORTED_P): Same.
669 (REGNO_REG_CLASS): Same.
670 (FUNCTION_VALUE): Same.
671 (LIBCALL_VALUE): Same.
672 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
673 (SPE_VECTOR_MODE): New.
674 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
675 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
676 (rs6000_stack): Add spe_gp_size, spe_padding_size,
677 spe_gp_save_offset.
678 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
679 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
680 (SPE_CONST_OFFSET_OK): New.
681 (rs6000_builtins): Add SPE builtins.
682
683 * testsuite/gcc.dg/ppc-spe.c: New.
99086d59 684
518878e1
AH
685 * config/rs6000/eabispe.h: New.
686
687 * config/rs6000/spe.h: New.
688
689 * config/rs600/spe.md: New.
690
691 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
692 __SIMD__ for TARGET_SPE.
693
694 * config.gcc: Add powerpc-*-eabispe* case.
695 Add spe.h to user headers for powerpc.
696
8d1b7ba1
CD
6972002-07-24 Chris Demetriou <cgd@broadcom.com>
698
699 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
700 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
701 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
702
8ad8135a
RH
7032002-07-24 Richard Henderson <rth@redhat.com>
704
705 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
706 form when not optimizing.
707
dc44a4d8
DM
7082002-07-24 David Mosberger <davidm@hpl.hp.com>
709
710 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
711 thread_pointer_rtx as unchanging.
712
c5605318
MM
7132002-07-24 Michael Matz <matz@suse.de>
714
715 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
716 (free_reg): Use it.
717
3ade30ea
RE
7182002-07-24 Richard Earnshaw <rearnsha@arm.com>
719
720 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
721 pattern.
722 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
723 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
724
8a3ad737
CD
7252002-07-24 Chris Demetriou <cgd@broadcom.com>
726
727 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
728 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
729 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
730
7e51e626
JH
731Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
732
733 * toplev.c (rest_of_compilation): Dump loops before clobbering
734 the structure.
735
5df533b3
JH
736Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
737
738 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
739
79258dce
RS
7402002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
741
742 PR optimization/7291
743 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
744 problem on x86_64.
745
26ff2117
GDR
7462002-07-24 Gabriel Dos Reis <gdr@nerim.net>
747
748 * pretty-print.h: Add macros from cp/error.c
749
0ba1b2ff
AM
7502002-07-24 Alan Modra <amodra@bigpond.net.au>
751
752 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
753 (mask64_2_operand): Declare.
754 (build_mask64_2_operands): Declare.
755 (and64_2_operand): Declare.
756 (extract_MB): Declare.
757 (extract_ME): Declare.
758 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
759 CONST_DOUBLE code.
760 (mask_operand_wrap): New insn predicate.
761 (mask64_2_operand): Likewise.
762 (and64_2_operand): Likewise.
763 (build_mask64_2_operands): New function.
764 (extract_MB): New function.
765 (extract_ME): New function.
766 (print_operand <case m,M>): Use extract_MB and extract_ME.
767 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
768 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
769 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
770 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
771 * config/rs6000/rs6000.md (andsi3_internal3): New
772 (andsi3_internal3+1): Enable split for powerpc64.
773 (andsi3_internal3+2): New split.
774 (andsi3_internal4): Renamed old andsi3_internal3.
775 (andsi3_internal5): New.
776 (andsi3_internal5+1): Enable split for powerpc64.
777 (andsi3_internal5+2): New split.
778 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
779 (anddi3): Handle 't' constraint.
780 (anddi3+1): New split.
781 (anddi3_internal2): Handle 't' constraint.
782 (anddi3_internal2+1): New split.
783 (anddi3_internal3): Handle 't' constraint.
784 (anddi3_internal3+1): New split.
785
097657c3
AM
7862002-07-24 Alan Modra <amodra@bigpond.net.au>
787
788 * config/rs6000/rs6000.md: Remove scratch reg on insns using
789 addze and similar (plus (comparison r1 r2) r3) insns. Add
790 missing scratch reg in one case. Formatting fixes.
791
a69cbaac
NB
7922002-07-24 Neil Booth <neil@daikokuya.co.uk>
793
794 * cppexp.c (parse_defined): Mark macro used.
795 * cpphash.h (struct cpp_macro): New member "used".
796 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
797 (struct cpp_reader): New member.
798 * cppinit.c (cpp_finish_options): Set first_unused_line.
799 (cpp_finish): Warn of unused macros if requested.
800 (OPT_TABLE): New switches.
801 (cpp_handle_option): Handle them.
802 * cpplib.c (do_undef): Warn if macro unused.
803 (do_ifdef, do_ifndef): Mark macro used.
804 * cpplib.h (struct cpp_options): New member.
805 * cppmacro.c (_cpp_warn_if_unused_macro): New.
806 (enter_macro_context): Mark macro used.
807 (_cpp_create_definition): Mark macro unused; warn if unused
808 when redefined.
809 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
810 Mark macros used.
811 * doc/cppopts.texi: Update.
812
c0667597
NB
8132002-07-23 Neil Booth <neil@daikokuya.co.uk>
814
815 * dwarf2out.c (SECTION_ASM_OP,
816 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
817 * system.h (SECTION_ASM_OP): Poison.
818 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
819 * config/alpha/alpha-interix.h, config/mips/linux.h
820 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
821 * config/mmix/mmix-protos.h, config/mmix/mmix.c
822 (mmix_asm_output_define_label_difference_symbol): Remove.
823 * config/mmix/mmix.h
824 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
b841421a 825 * doc/tm.texi: Remove documentation.
c0667597 826
bf7cd754
R
827Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
828
829 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
830 (constrain_operands): Likewise.
831 * regclass.c (record_reg_classes): Likewise.
832 * reload.c (find_reloads): Likewise.
833 * doc/md.texi: Likewise.
451f86fd
R
834
835 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
836 * simplify-rtx.c (simplify_subreg): When converting to a non-int
837 mode, try to convert to an integer mode of matching size first.
1d5fa6b4
R
838
839 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
840 from individual subregs, check that each subreg has been generated
841 sucessfully.
842
10d6af32
NB
8432002-07-23 Neil Booth <neil@daikokuya.co.uk>
844
845 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
846 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
847 FOR_EACH_BB_IN_SBITMAP): Remove.
848 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
849 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
850 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
851 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
852 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
853 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
854
6aaae39a
GDR
8552002-07-23 Gabriel Dos Reis <gdr@nerim.net>
856
857 * pretty-print.h: New file.
858
45e574d0
JDA
8592002-07-23 Paul Koning <pkoning@equallogic.com>
860
861 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
862 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
863 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
864 (TARGET_G_FLOAT): Default to 0 if not defined.
99086d59 865 (ieeetoe): New, common routine to convert target format floats
45e574d0
JDA
866 to internal form.
867 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
868 vs. others.
869 (e113toe): Change to use ieeetoe.
870
8712002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
872
873 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
874 IBM.
875 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
876 (e64toe): Remove special cases for DEC and IBM. Remove support for
877 ARM_EXTENDED_IEEE_FORMAT.
878 (e24toe): Remove special cases for DEC.
879 (significand_size): Simplify. Indent.
880 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
881 (etoieee, toieee): New.
882 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
883 etoieee and toieee for IEEE arithmetic.
884
3764f879
GDR
8852002-07-23 Gabriel Dos Reis <gdr@nerim.net>
886
887 * doc/extend.texi: Say ISO C90, not ISO C89.
888 * doc/invoke.texi: Likewise.
889 * doc/standards.texi: Likewise.
890
aa0f70e6
SE
8912002-07-23 Steve Ellcey <sje@cup.hp.com>
892
893 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
894 Fix permutation of conversion and plus/mult.
895 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
896 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
897 (expand_builtin_strncpy) Ditto.
898 (expand_builtin_memset) Ditto.
899
fa72b064
GDR
9002002-07-23 Gabriel Dos Reis <gdr@nerim.net>
901
902 Fix PR/7363:
903 * c-common.c (c_sizeof_or_alignof_type): New function.
904 (c_alignof): Remove definition.
905 * c-common.h (c_sizeof, c_alignof): Define as macros.
906 (c_sizeof_or_alignof_type): Declare.
907 (my_friendly_assert): Moved from cp/cp-tree.h
908 * c-typeck.c (c_sizeof): Remove definition.
909
2b773ee2
JH
9102002-07-23 Jan Hubicka <jh@suse.cz>
911
912 * gcse.c (try_replace_reg): Use num_changes_pending.
913 * recog.c (num_changes_pending): New function.
914 (validate_replace_src): Use validate_repalce_src_group.
915 (validate_replace_src_group): New.
916 * recog.h (validate_repalce_src_group): New.
917 (num_changes_pending): Likewise.
918
a0dc500c
R
919Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
920
921 * calls.c (emit_library_call_value_1): If
922 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
923 libcall, const call nor pure call.
924
d22eda7b
NB
9252002-07-23 Neil Booth <neil@daikokuya.co.uk>
926
927 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
928
b5e66e65
NB
9292002-07-23 Neil Booth <neil@daikokuya.co.uk>
930
931 * vmsdbgout.c (SECTION_ASM_OP): Remove.
932
c3a600c0
NB
9332002-07-23 Neil Booth <neil@daikokuya.co.uk>
934
935 * config/i386/i386.c (AT_BP): Remove.
936
4fa31c2a
NB
9372002-07-23 Neil Booth <neil@daikokuya.co.uk>
938
939 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
940 Default definition.
941 * gcse.c: Don't define obstack_chunk_free.
942 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
943 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
944 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
945 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
946 Don't define obstack macros.
947
fd576c86
SC
9482002-07-22 Stephane Carrez <stcarrez@nerim.fr>
949
950 PR target/6744
951 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
952 ASM_OPERANDS instructions.
953
b791ff31
SC
9542002-07-22 Stephane Carrez <stcarrez@nerim.fr>
955
956 PR target/7361
957 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
958 constant addresses only on 68HC12.
959
4a941115
NB
9602002-07-22 Neil Booth <neil@daikokuya.co.uk>
961
962 * cppfiles.c (stack_include_file): Correct test of whether
963 a dependency should be output.
964
7488cc6d
DE
9652002-07-22 David Edelsohn <edelsohn@gnu.org>
966
967 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
968
b41caf7c
RE
9692002-07-22 Richard Earnshaw <rearnsha@arm.com>
970
971 * arm.md (movqi): If optimizing and we can create pseudos, use
972 a ZERO_EXTEND to load from memory, then copy the result into the
973 target.
974 (movhi): Likewise, but only for ARMv4.
975
492e9934
NB
9762002-07-22 Neil Booth <neil@daikokuya.co.uk>
977
978 * ssa-ccp.c (PHI_PARMS): Remove.
979
f01f01a6
RS
9802002-07-22 Richard Sandiford <rsandifo@redhat.com>
981
982 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
983 on big-endian targets.
984
c2ae8aef
KG
9852002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
986
987 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
988 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
989 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
990 New formatting macros.
991
992 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
993
eab2120d
R
994Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
995
996 * rtlanal.c (subreg_regno_offset): Return correct offset for
997 big endian paradoxical subregs.
0d541696
R
998
999 * optabs.c (expand_vector_unop): Don't expand using sub_optab
1000 if we got the wrong mode.
bb9b3805
R
1001
1002 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
1003 * genrecog.c (write_switch, write_cond): Use it.
1004 * genemit.c (gen_exp): Likewise.
1005
e96eb215
JJ
10062002-07-22 Jakub Jelinek <jakub@redhat.com>
1007
1008 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
1009
cf3c4f56
JJ
10102002-07-22 Jakub Jelinek <jakub@redhat.com>
1011
1012 * c-decl.c (build_compound_literal): Defer compound literal decls
1013 until until file end to emit them only if they are actually used.
1014
533c4863
KG
10152002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1016
1017 * ra-build.c (check_conflict_numbers): Hide unused function.
1018 (livethrough_conflicts_bb): Avoid automatic aggregate
1019 initialization.
1020 (parts_to_webs_1): Avoid `U' integer constant modifier.
1021 (conflicts_between_webs): Wrap a variable in the macro controlling
1022 its usage.
1023 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
1024 (dump_igraph, dump_graph_cost): Avoid string concatenation
1025 (dump_static_insn_cost): Avoid automatic aggregate
1026 initialization.
1027 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
1028 initialization.
1029 (dump_cost): Avoid string concatenation
1030
8943a0b4
RH
10312002-07-21 Richard Henderson <rth@redhat.com>
1032
1033 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
1034 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
1035
b1aef35b
RH
10362002-07-21 Richard Henderson <rth@redhat.com>
1037
1038 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
1039 that are not unrolled completely.
1040
5e1afb11
RH
10412002-07-21 Richard Henderson <rth@redhat.com>
1042
1043 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
1044 * loop.c (strength_reduce): Update.
1045 * toplev.c (rest_of_compilation): Do unrolling in the first
1046 loop pass, not the second.
1047
c67a1cf6
RH
10482002-07-21 Richard Henderson <rth@redhat.com>
1049
1050 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
1051 when flag_argument_noalias == 2.
1052 * alias.c (nonoverlapping_memrefs_p): Handle that.
1053 * print-rtl.c (print_mem_expr): Likewise.
1054
b68daef4
HS
10552002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
1056
1057 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
1058 instead of __negdi2 directly.
1059
060a58c5
NB
10602002-07-21 Neil Booth <neil@daikokuya.co.uk>
1061
1062 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
1063 * function.c (SYMBOL__MAIN): Remove definition.
1064 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
99086d59 1065 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
060a58c5
NB
1066 * profile.c (GCOV_INDEX_TO_BB): Remove.
1067 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
1068 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
1069
2f8dd115
NB
10702002-07-21 Neil Booth <neil@daikokuya.co.uk>
1071
1072 * c-lex.c (GET_ENVIRONMENT): Remove.
1073 * collect2.c (GET_ENV_PATH_LIST): Remove.
1074 (prefix_from_env): Use GET_ENVIRONMENT.
1075 * cppinit.c (GET_ENV_PATH_LIST): Remove.
1076 (init_standard_includes): Use GET_ENVIRONMENT.
1077 * defaults.h (GET_ENVIRONMENT): Define here if not already.
1078 * gcc.c (GET_ENV_PATH_LIST): Remove.
1079 (make_relative_prefix, process_command): Update.
1080 * protoize.c (GET_ENV_PATH_LIST): Remove.
1081 (do_processing): Update.
1082
56508306
GDR
10832002-07-21 Gabriel Dos Reis <gdr@nerim.net>
1084
1085 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
1086 (grokdeclarator): Likewise.
1087 * c-format.c (C_STD_NAME): Likewise.
1088 * c-lex.c (interpret_integer): Likewise.
1089 * c-typeck.c (build_array_ref): Likewise.
1090 * cpplex.c (_cpp_lex_direct): Likewise.
1091 * toplev.c (documented_lang_options): Likewise.
1092
e2f62855
NB
10932002-07-21 Neil Booth <neil@daikokuya.co.uk>
1094
1095 * c-format.c (T99_I, T99_UI): Remove.
1096
c89d1dfd
NB
10972002-07-21 Neil Booth <neil@daikokuya.co.uk>
1098
1099 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
1100
46690369
JH
1101Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
1102
1103 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
1104 do_local_cprop.
1105
60ffc1b8
AJ
11062002-07-21 Andreas Jaeger <aj@suse.de>
1107
99086d59 1108 * reload1.c (fixup_abnormal_edges): Remove unused variable.
60ffc1b8 1109
c05ffc49
BS
11102002-07-21 Bernd Schmidt <bernds@redhat.com>
1111
1112 Improvements for the ifcvt pass from Michael Meissner, with patches
1113 by Richard Sandiford <rsandifo@redhat.com>
1114 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
1115 * ifcvt.c (cond_exec_changed_p): New static variable.
1116 (last_active_insn): New function, renamed from last_active_insn_p
1117 and changed to return the last active insn in a basic block. All
1118 callers updated.
1119 (block_fallthru): New function.
1120 (cond_exec_process_insns): New argument CE_INFO. Pass it to
1121 IFCVT_MODIFY_INSN. All callers updated.
1122 Return false if START or END are NULL.
1123 Handle case where we're processing an insn that is already
1124 conditional.
1125
1126 (noce_process_if_block): CE_INFO argument rather than
1127 multiple args containing the involved basic blocks. All callers
1128 changed.
1129 (process_if_block, merge_if_block, find_if_block,
1130 cond_exec_process_if_block): Likewise.
1131
1132 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
1133 changed.
1134 Use new function last_active_insn to simplify some code.
1135 New code to handle multiple tests.
1136 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
1137 cond_exec_changed_p to TRUE.
1138
1139 (process_if_block): New code to handle multiple tests.
1140 (merge_if_block): Likewise.
1141 (find_if_header): New arg PASS. Changed to return the currently
1142 processed basic block or NULL instead of true/false. All callers
1143 changed.
1144 Call IFCVT_INIT_EXTRA_FIELDS.
1145 (block_jumps_and_fallthru_p): New function.
1146 (find_if_block): Discover opportunities to convert multiple tests.
1147 Add additional debugging output.
1148 Update the ce_info structure before returning.
1149
1150 (if_convert): Run multiple passes of if-conversion.
1151 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
1152 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
1153 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
1154 these macros.
1155
ae860ff7
JH
1156Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
1157
1158 * gcse.c: Include cselib.h
1159 (constptop_register): Break out from ...
1160 (cprop_insn): ... here; kill basic_block argument.
1161 (do_local_cprop, local_cprop_pass): New functions.
1162 (one_cprop_pass): Call local_cprop_pass.
1163
0da65b89
RS
11642002-07-20 Roger Sayle <roger@eyesopen.com>
1165
1166 * simplify-rtx.c (simplify_relational_operation): Optimize
1167 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
1168
47cc673a
MM
11692002-07-20 Michae Matz <matz@suse.de>
1170
1171 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
1172
68e65275
NB
11732002-07-20 Neil Booth <neil@daikokuya.co.uk>
1174
1175 * cppexp.c (struct op): Add token pointer.
1176 (check_promotion, CHECK_PROMOTION): New.
1177 (optab): Update.
1178 (_cpp_parse_expr): Update, use token pointer of struct op.
1179 (reduce): Warn about change of sign owing to promotion.
1180 * cppinit.c (cpp_handle_option): New warning if -Wall.
1181 * cpplib.h (struct cpp_options): New member.
1182
e3485bbc
DE
11832002-07-19 David Edelsohn <edelsohn@gnu.org>
1184
1185 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
1186 fpu list. Separate Power4 compare and delayed_compare. Correct
1187 Power4 fpcompare.
1188 (fix_truncdfsi2_internal): Restore FPR preference.
1189 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
1190 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
1191
449655a6
MV
11922002-07-19 Momchil Velikov <velco@fadata.bg>
1193
1194 * reload1.c (reload_as_needed): Duplicate oldpat.
1195
8b583747
AM
11962002-07-20 Alan Modra <amodra@bigpond.net.au>
1197
1198 PR optimization/7130
1199 * loop.h (struct loop_info): Add "preconditioned".
1200 * unroll.c (unroll_loop): Set it.
1201 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
1202
0dc36574
ZW
12032002-07-19 Zack Weinberg <zack@codesourcery.com>
1204
1205 * rtl.def (CODE_LABEL): Remove slot 8.
1206 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
1207 (LABEL_ALTERNATE_NAME): Delete.
1208 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
1209 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
1210
1211 * final.c (output_alternate_entry_point): New.
1212 (final_scan_insn): Use it instead of
1213 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
1214 of a case label being an alternate entry point.
1215
1216 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
1217 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
1218 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
1219 (field deleted).
1220 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
1221
1222 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
1223 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
1224 * doc/tm.texi: Delete documentation of
1225 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
1226
59267987
RO
12272002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1228
1229 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
1230 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
1231 (LINK_SPEC): Define.
1232 (STARTFILE_SPEC): Define.
1233 (ENDFILE_SPEC): Define.
1234
1235 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
1236 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
1237
1238 * config/mips/iris6-o32-gas.h: New file.
1239 * config.gcc (mips-sgi-irix6*o32): Use it.
1240
1241 * config/mips/t-iris5-gas: New file.
1242 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
1243
75aef48a
NB
12442002-07-19 Neil Booth <neil@daikokuya.co.uk>
1245
1246 * cppexp.c (ALWAYS_EVAL): Remove.
1247 (optab, reduce): Always evaluate.
1248 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
1249 only if not skipping evaluation.
1250
72a5503d
MM
12512002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
1252
1253 * config/avr/avr.c (debug_hard_reg_set): Remove.
1254
059ba716
CD
12552002-07-19 Chris Demetriou <cgd@broadcom.com>
1256
1257 * gcc.c (cpp_options): Include "%1" (cc1_spec).
1258
544823b6
RH
12592002-07-19 Richard Henderson <rth@redhat.com>
1260
1261 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
1262
c35383cb
AM
12632002-07-19 Alan Modra <amodra@bigpond.net.au>
1264
1265 * prefix.c (update_path): Don't zap single `.' path components
1266 unless followed by another `.' and fix typo last patch.
1267
ad28cff7
NB
12682002-07-18 Neil Booth <neil@daikokuya.co.uk>
1269
1270 * cppexp.c (cpp_num_mul): Remove unused parameter.
1271 (UNARY, BINARY, OTHER, binary_handler): Remove.
1272 (ALWAYS_EVAL): New.
1273 (optab): Update.
1274 (reduce): Refactor to a large switch, don't use a function
1275 pointer.
1276
139b7f86
BT
12772002-07-18 Bo Thorsen <bo@berlioz.suse.de>
1278
1279 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
1280
e69d1422
R
1281Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1282
1283 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
1284 (sh_expand_binop_v2sf): Likewise.
1285 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
1286 (int_gpr_dest, trunc_hi_operand): New functions.
1287 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
1288 trunc_hi_operand.
1289 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
1290 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
1291 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
1292 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
1293 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
1294 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
1295 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
1296 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
1297 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
1298 (movsf_ie+1): Likewise.
1299 (loaddi_trunc): Use int_gpr_dest predicate.
1300 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
1301 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
1302 (casesi_worker_0+[12], casesi_worker): Likewise.
1303 (shcompact_preserve_incoming_args): Likewise.
1304 (mov_nop): Use any_register_operand predicate.
1305 (mperm_w0): Use trunc_hi_operand predicate.
1306
47a4976f
JDA
13072002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
1308
1309 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
1310 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
1311 numbering.
1312
f3a4e54e
JDA
13132002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
1314
1315 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
1316
30484ccf
RH
13172002-07-18 Richard Henderson <rth@redhat.com>
1318
1319 PR optimization/7147
1320 * ifcvt.c (noce_get_condition): Make certain that the condition
1321 is valid at JUMP.
1322
d042370e
R
1323Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
1324
1325 * sh.c (barrier_align, push): Shut up compiler warnings.
1326 (initial_elimination_offset,sh_media_init_builtins): Likewise.
1327 (reg_no_subreg_operand): Delete.
1328
61fee9b3
BT
13292002-07-17 Bo Thorsen <bo@suse.de>
1330
1331 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
1332 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
1333 (STARTFILE_SPEC): Remove hardcoded library paths.
1334 (ENDFILE_SPEC): Likewise.
1335
f305679f
JH
1336Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
1337
1338 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
1339
1340 * gcse.c (try_replace_reg): Do not return false positives.
1341
99bcb625
AM
13422002-07-18 Alan Modra <amodra@bigpond.net.au>
1343
f6f23ad2
AM
1344 * prefix.c: (update_path): Strip ".." components when prior dir
1345 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
1346
99bcb625
AM
1347 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
1348 (ASM_OUTPUT_REG_POP): Likewise.
1349
09eeeacb
AM
13502002-07-18 Alan Modra <amodra@bigpond.net.au>
1351
1352 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
1353 adjustments to first_reg for profiling case.
1354 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
1355 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
1356 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
1357 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
1358 (ASM_OUTPUT_REG_POP): Define.
1359 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
1360 (ASM_OUTPUT_REG_POP): Undef.
1361
74d06cf2
NB
13622002-07-17 Neil Booth <neil@daikokuya.co.uk>
1363
1364 * cpplib.c (do_sccs): Handle #sccs on all systems.
1365 * system.h (SCCS_DIRECTIVE): Poison.
1366 * config/darwin.h, config/freebsd.h, config/netbsd.h,
1367 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
1368 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
1369 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
1370 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
1371 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
1372 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
1373 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
1374 Remove all references to SCCS_DIRECTIVE.
1375 * doc/cpp.texi, doc/tm.texi: Update.
1376
61dde664
R
1377Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
1378
1379 * regrename.c (maybe_mode_change): New function.
1380 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
1381
97f51ac4
RB
13822002-07-17 Rodney Brown <rbrown64@csc.com.au>
1383
1384 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
1385 suppress addition when either ct or cf are zero.
1386
f1a73cfe 13872002-06-17 Eric Botcazou <ebotcazou@multimania.com>
30484ccf 1388 Glen Nakamura <glen@imodulo.com>
f1a73cfe
EB
1389
1390 PR optimization/6713
1391 * loop.c (loop_givs_rescan): Explicitly delete the insn that
1392 sets a non-replaceable giv after issuing the new one.
1393
23ff0223
NB
13942002-07-17 Neil Booth <neil@daikokuya.co.uk>
1395
1396 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
1397 eval_token): Clarify and correct use of "bool" variables.
1398 * cpplib.h (struct cpp_options): Similarly.
1399 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
1400 * cpptrad.c (recursive_macro): Similarly.
1401
ac09192a
R
1402Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
1403
d28586ab 1404 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
ac09192a 1405 SHmedia code.
68cef009
R
1406
1407 * sh.md (cmpgtudi_media): Remove spurious @.
701e3726
R
1408
1409 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
1410 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
ca903bba
R
1411
1412 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
1413 * sh-protos.h (sh_initialize_trampoline): Declare.
1414 * sh.c (sh_initialize_trampoline): New function.
1415 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
1416 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
1417 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
1418 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
1419 * sh.md (initialize_trampoline, double_shori): New patterns.
1420 (initialize_trampoline_compact): Likewise.
1421 (shmedia32_initialize_trampoline_big): Remove.
1422 (shmedia32_initialize_trampoline_little): Likewise.
0ac78517
R
1423
1424 * sh-protos.h (binary_float_operator): Remove declaration.
1425 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
1426 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
1427 (unary_float_operator, sh_expand_unop_v2sf): New functions.
1428 (sh_expand_binop_v2sf): Likewise.
1429 (zero_vec_operand): Delete.
1430 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
1431 all non-shared ones.
1432 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
1433 Enable nsb and byterev.
1434 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
1435 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
1436 in general regs.
1437 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
1438 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
1439 immediate operands.
1440 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
1441 Add DF_HI_REGS.
1442 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
1443 lowpart fp regs - only for big endian for now.
1444 (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
1445 when FPU is in use.
1446 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
1447 (LOAD_EXTEND_OP): NIL for SImode.
1448 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
1449 general and fp registers is 4.
1450 PREDICATE_CODES: Amend binary_float_operator entry.
1451 Remove zero_vec_operand. Add unary_float_operator.
1452 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
1453 subreg SET_DEST.
1454 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
1455 (truncdiqi2): Do sign extension.
1456 (movsi_media, movdi_media): Allow to use r63 to an fp register.
1457 (movdf_media, movsf_media): Likewise.
1458 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
1459 Collapse to one define_insn_and_split. Allow immediate sources.
1460 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
1461 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
1462 (movv4sf): Allow immediate sources.
1463 (movsf_media_nofpu+1): Don't split moves to FP registers.
1464 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
1465 (movv8qi_i+3): Check against CONST0_RTX.
1466 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
1467 for input and output operands. Fix argument 3 to gen_mextr_rl.
1468 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
1469 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
1470 (mshf0_w, fipr, ftrv): Likewise.
1471 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
1472
e9d7b180
JD
14732002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
1474
1475 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
1476 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
1477 * arm.c: Similarly.
1478
8214bf98
RS
14792002-07-17 Richard Sandiford <rsandifo@redhat.com>
1480
1481 * config/mips/mips-protos.h (mips_sign_extend): Declare.
1482 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
1483 (TARGET_SWITCHES): Remove debugh.
1484 (ISA_HAS_TRUNC_W): New macro.
1485 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
1486 (PREDICATE_CODES): Remove se_nonimmediate_operand.
1487 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
1488 any SImode move_operand.
1489 (se_nonimmediate_operand): Remove.
1490 (mips_sign_extend): New.
1491 (mips_move_2words): Use it for sign-extended source operands.
1492 (override_options): Allow integers to be put into single FPRs.
1493 (mips_secondary_reload_class): Handle integers in float registers.
1494 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
1495 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
1496 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
1497 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
1498 (fix_truncdfdi2): Provide only a single alternative, in which the
1499 integer is in a float register. Depend on TARGET_FLOAT64 rather
1500 than TARGET_64BIT.
1501 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
1502 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
1503 (movdi_internal2): Don't allow the source operand to be sign-extended.
1504 Add alternatives for float registers.
1505 (*movdi_internal2_extend): New. Version of movdi_internal2 that
1506 allows sign-extension.
1507 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
1508 (movsi_internal2): Rename to movsi_internal. Add alternatives for
1509 float registers. Remove TARGET_DEBUG_H_MODE test.
1510 (movhi_internal1): Rename to movhi_internal. Don't check
1511 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
1512 (movqi_internal1): Rename to movqi_internal and remove
1513 TARGET_DEBUG_H_MODE dependency.
1514 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
1515
7ab0121e
JW
15162002-07-16 Jim Wilson <wilson@redhat.com>
1517
1518 * toplev.c (lang_dependent_init): Create function context for
1519 init_expr_once.
1520
349ccf2e
HPN
15212002-07-16 Hans-Peter Nilsson <hp@axis.com>
1522
1523 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
1524 --gc-sections if -r.
1525 * config/cris/cris.h: Ditto.
1526
06ec023f
RB
15272002-07-16 Rodney Brown <rbrown64@csc.com.au>
1528
1529 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
1530 the comparison directly gives a mask suppress addition when cf is
1531 zero by complementing the mask.
1532
39cef914
NN
15332002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
1534
1535 * Makefile.in: Delete references to enquire.
1536 * enquire.c: Move to contrib.
1537
92c1a778
SS
15382002-07-16 Stan Shebs <shebs@apple.com>
1539
2aa9948d
SS
1540 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
1541 config/rs6000/darwin.h.
1542 (ASM_OUTPUT_SKIP): Ditto.
1543 (TEXT_SECTION_ASM_OP): Ditto.
1544 (DATA_SECTION_ASM_OP): Ditto.
1545 (ASM_APP_ON): Define.
1546 (ASM_APP_OFF): Define.
1547 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
1548 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
1549
1550 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
92c1a778
SS
1551 (machopic_function_base_name): Declare result to be const.
1552 (machopic_non_lazy_ptr_name): Ditto.
1553 (machopic_stub_name): Ditto.
2aa9948d 1554 * config/darwin-protos.h: Ditto for the prototypes.
92c1a778 1555
daaab00a
JH
1556Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
1557
1558 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
1559
63c574cc
JH
1560Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
1561
1562 * i386.md (prefetch): Fix for 64bit mode.
1563 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
1564
2a500b9e
JH
1565Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
1566
1567 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
1568 * i386.c (x86_machine_dependent_reorg): New function.
1569 * i386-protos.h (x86_machine_dependent_reorg): Declare.
1570
e5faf155
ZW
15712002-07-16 Zack Weinberg <zack@codesourcery.com>
1572
1573 * builtins.c (std_expand_builtin_va_start): Remove unused
1574 first argument.
1575 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
1576 std_expand_builtin_va_start with just two arguments.
1577 * expr.h: Update prototypes.
1578
1579 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
1580 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
1581 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
1582 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
1583 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
1584 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
1585 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
1586 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
1587 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
1588 argument from all implementations of EXPAND_BUILTIN_VA_START
1589 and all uses of std_expand_builtin_va_start.
1590
dbf65c2f
R
1591Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
1592
1593 * regrename.c (copy_value): Don't record high part copies.
1594
6acb6d3e 15952002-07-16 Steve Ellcey <sje@cup.hp.com>
99b823ca 1596
6acb6d3e
SE
1597 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
1598 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
1599 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
1600
5d7c2819
ID
16012002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
1602
1603 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
1604
1605 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
1606 into addsi3 using register class "x" and "y".
1607
1608 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
1609 "earlyclobber" constraint modifier for some alternative.
e5faf155 1610
5d7c2819
ID
1611 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
1612 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
1613 unordered.
1614 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
1615
1616 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
1617 (TARGET_SWITCHES): Add -mieee-compare option.
1618 (OVERRIDE_OPTIONS): 32332 is a subset of
1619 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
1620 (TARGET_SWITCHES): Fix description of bitfield option.
1621 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
1622 -mieee-compare option. Remove 32332 flag.
1623
5da4f548 16242002-07-16 Steve Ellcey <sje@cup.hp.com>
5d7c2819
ID
1625
1626 * explow.c (convert_memory_address): Remove special handling
5da4f548 1627 when POINTERS_EXTEND_UNSIGNED < 0.
5d7c2819 1628 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
5da4f548
SE
1629 (movedi_symbolic): Fix typo.
1630 (load_fptr): Remove mode restriction so it works for SI and DI.
1631 (load_fptr_internal1): Ditto.
1632 (load_gprel): Ditto.
1633 (load_symptr_internal1): Ditto.
1634 (call_pic): Ditto.
5d7c2819 1635 * config/ia64.c (call_operand): Modify mode check.
5da4f548
SE
1636 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
1637 (ia64_expand_move): Ditto.
1638 (ia64_assemble_integer): Handle SImode function pointers.
1639 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
1640 (ia64_expand_op_and_fetch): Ditto.
1641 (ia64_expand_compare_and_swap): Ditto.
1642 (ia64_expand_lock_test_and_set): Ditto.
1643 (ia64_expand_lock_release): Ditto.
1644
1575c31e
JD
16452002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
1646
1647 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
1648
16492002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
1650 Richard Earnshaw <rearnsha@arm.com>
1651
e5faf155 1652 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
1575c31e
JD
1653 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
1654
3894f59e
RE
16552002-07-16 Richard Earnshaw <rearnsha@arm.com>
1656
1657 * arm.md (stack_tie): New insn. Use an idiom that the alias code
1658 understands to be a memory clobber.
1659 * arm.c (arm_expand_prologue): Use it.
1660
e0b89be2 16612002-07-16 Daniel Berlin <dberlin@dberlin.org>
54b2a7f8
DB
1662
1663 * ra-rewrite.c: #include reload.h, insn-config.h
1664 * ra-build.c: #include reload.h
1665 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
e5faf155 1666 depend on reload.h, insn-config.h.
54b2a7f8 1667
cffa2189
R
1668Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
1669
1670 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
1671 the same size as a word.
1672
1673 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
1674 BYTES_BIG_ENDIAN into account.
1675
052c96b1
JH
1676Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
1677
1678 * i386.md (prefetch): Fix for 64bit mode.
1679 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
1680
1681 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
1682
ae32926b
MM
16832002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
1684
1685 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
1686
6c535c69
ZW
16872002-07-15 Zack Weinberg <zack@codesourcery.com>
1688
1689 * ginclude/varargs.h: Replace with stub which issues #error.
1690 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
1691 __builtin_va_start.
1692
1693 * builtins.def (BUILT_IN_VARARGS_START): Delete.
1694 (BUILT_IN_VA_START): New.
1695 * builtins.c (expand_builtin_va_start): Eliminate first
1696 argument and code to implement pre-ISO varargs.
1697 (std_expand_builtin_va_start): Ignore first argument; it is
1698 always 1.
1699 (expand_builtin): Handle BUILT_IN_VA_START and
1700 BUILT_IN_STDARG_START identically. Delete
1701 BUILT_IN_VARARGS_START case.
1702
1703 * function.c (assign_parms): Delete hide_last_arg and all
1704 its uses.
1705 (mark_varargs): Delete function.
1706 * function.h (struct function): Delete 'varargs' bit.
1707 (current_function_varargs): Delete macro.
1708 * tree.h: Don't declare mark_varargs.
1709
1710 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
1711 (c_expand_body): Don't call mark_varargs.
1712 * c-objc-common.c: Handle BUILT_IN_VA_START and
1713 BUILT_IN_STDARG_START identically. Delete
1714 BUILT_IN_VARARGS_START case.
1715 * c-tree.h: Don't declare c_mark_varargs.
1716 * c-parse.in: Remove grammar rules for '&...' (which has been
1717 commented out since before 2.7.2) and for '...' in K+R
1718 argument declarations.
1719
1720 * builtins.c, function.c, integrate.c, sibcall.c,
1721 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
1722 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
1723 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
1724 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
1725 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
1726 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
1727 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
1728 config/stormy16/stormy16.c: Delete all references to
1729 current_function_varargs, and code predicated on that flag.
1730
1731 * config/alpha/alpha.c (alpha_va_start),
1732 config/arc/arc.c (arc_va_start),
1733 config/i386/i386.c (ix86_va_start),
1734 config/mips/mips.c (mips_va_start),
1735 config/mn10300/mn10300.c (mn10300_va_start),
1736 config/rs6000/rs6000.c (rs6000_va_start),
1737 config/s390/s390.c (s390_va_start),
1738 config/sh/sh.c (sh_va_start),
1739 Ignore first argument; it is always 1.
1740
1741 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
1742 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
1743 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
1744 Delete m68hc11_va_start.
1745 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
1746 No need to define EXPAND_BUILTIN_VA_START.
1747
1748 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
1749 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
1750
6d80a854
EB
17512002-07-15 Eric Botcazou <ebotcazou@multimania.com>
1752
1753 PR optimization/7153
1754 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
1755 dies in more than one insn.
1756
043cfcbe
JT
17572002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
1758
1759 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
1760
ed8d2920 17612002-07-15 Michael Matz <matz@suse.de>,
6c535c69 1762 Daniel Berlin <dberlin@dberlin.org>,
ed8d2920
MM
1763 Denis Chertykov <denisc@overta.ru>
1764
1765 Add a new register allocator.
1766
1767 * ra.c: New file.
1768 * ra.h: New file.
1769 * ra-build.c: New file.
1770 * ra-colorize.c: New file.
1771 * ra-debug.c: New file.
1772 * ra-rewrite.c: New file.
1773
1774 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
1775 (ra-rewrite.o): New .o files for libbackend.a.
1776 (GTFILES): Add basic-block.h.
1777
1778 * toplev.c (flag_new_regalloc): New.
1779 (f_options): New option "new-ra".
1780 (rest_of_compilation): Call initialize_uninitialized_subregs()
1781 only for the old allocator. If flag_new_regalloc is set, call
1782 new allocator, instead of local_alloc(), global_alloc() and
1783 friends.
1784
1785 * doc/invoke.texi: Document -fnew-ra.
1786 * basic-block.h (FOR_ALL_BB): New.
1787 * config/rs6000/rs6000.c (print_operand): Write small constants
1788 as @l+80.
1789
1790 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
1791 (df_reg_table_realloc): Make size at least as large as max_reg_num().
1792 (df_insn_table_realloc): Size argument now is absolute, not relative.
1793 Changed all callers.
1794
1795 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
1796 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
1797
1798 2002-06-20 Michael Matz <matz@suse.de>
1799
1800 * df.h (struct ref.id): Make unsigned.
1801 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
1802
1803 2002-06-13 Michael Matz <matz@suse.de>
1804
1805 * df.h (DF_REF_MODE_CHANGE): New flag.
1806 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
1807 involving subregs with invalid mode changes, when
1808 CLASS_CANNOT_CHANGE_MODE is defined.
1809
1810 2002-05-07 Michael Matz <matz@suse.de>
1811
1812 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
1813
1814 2002-05-03 Michael Matz <matz@suse.de>
1815
1816 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
1817
1818 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
1819
1820 * regclass.c (regclass): Work with all regs which have sets or
1821 refs.
1822 (reg_scan_mark_refs): Count regs inside (clobber ...).
1823
1824 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
1825
1826 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
1827 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
1828 add new refs.
1829 (df_bb_refs_update): Don't clear insns_modified here, ...
1830 (df_analyse): ... but here.
1831
1832 * sbitmap.c (dump_sbitmap_file): New.
1833 (debug_sbitmap): Use it.
1834
1835 * sbitmap.h (dump_sbitmap_file): Add prototype.
1836
1837 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
1838
1839 * df.c (df_insn_modify): Grow the UID table if necessary, rather
1840 than assume all emits go through df_insns_modify.
1841
1842 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
1843
1844 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
1845 increase REG_N_REFS (like flow does), so that regclass doesn't
1846 think a reg is useless, and thus, not calculate a class, when it
1847 really should have.
1848
1849 2001-01-28 Daniel Berlin <dberlin@redhat.com>
1850
1851 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
1852 dataflow analysis.
1853
794a292d
JJ
18542002-07-15 Jakub Jelinek <jakub@redhat.com>
1855
1856 PR middle-end/7245
1857 * config/i386/i386.c (const_int_1_31_operand): New.
1858 * config/i386/i386.h (PREDICATE_CODES): Add it.
1859 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
1860 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
1861 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
1862
05d49501
AM
18632002-07-14 Alan Modra <amodra@bigpond.net.au>
1864
1865 PR target/7282
1866 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
1867 (floatunssidf2): Likewise.
1868 (floatsidf_ppc64): New insn_and_split.
1869 (floatunssidf_ppc64): Likewise.
1870
e89617fe
AJ
18712002-07-14 Andreas Jaeger <aj@suse.de>
1872
1873 * config.gcc (sh64): Remove unused
1874 target_requires_64bit_host_wide_int.
1875
78762e3b
RS
18762002-07-12 Roger Sayle <roger@eyesopen.com>
1877
1878 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
1879 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
1880 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
1881 whether clear_by_pieces should be used to clear storage.
1882 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
1883
1884 * doc/tm.texi: Document these two new target macros.
1885
f7a454e9
SC
18862002-07-12 Stephane Carrez <stcarrez@nerim.fr>
1887
1888 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
1889 the scratch register.
1890 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
1891 of it, forbid reload to use it.
1892
26af4041
MM
18932002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
1894
1895 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
1896 usage on 64-bit hosts, return value was truncated to 32 bits.
1897
226cfe61
R
1898Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
1899
1900 * simplify-rtx.c (simplify_subreg): Handle floating point
1901 CONST_DOUBLEs. When an integer subreg of a smaller mode than
1902 the element mode is requested, compute a subreg with an
1903 integer mode of the same size as the element mode first.
1904
25c25947
R
1905Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
1906
1907 * combine.c (try_combine): When converting a paradoxical subreg
1908 to an extension, take LOAD_EXTEND_OP into account.
1909
789b7de5
RO
19102002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1911
1912 * config.gcc (mips-sgi-irix6*o32): New configuration.
1913
1914 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
1915 configurations.
1916 * configure: Regenerate.
1917
1918 * config/mips/iris6-o32-as.h: New file.
1919 * config/mips/iris6-o32.h: New file.
e89617fe 1920
789b7de5
RO
1921 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
1922 (NM_FLAGS): Define.
1923 (HAVE_AS_SHF_MERGE): Undefine.
1924
1925 * config/mips/t-iris5-as: New file.
1926 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
1927
1928 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
1929 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
1930 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
1931 dp-bit.c, fp-bit.c): Move ...
1932 * config/mips/t-iris5-6: ... here.
1933 New file, shared by IRIX 5 and IRIX 6.
1934 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
1935 mips-sgi-irix5*): Use it.
1936
1937 * config/mips/iris6.h: Remove duplicate comment.
1938
1939 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
1940 !TARGET_IRIX6]: Define.
1941 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
1942
1943 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
1944
a18c2c5f
JDA
19452002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
1946
1947 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
1948 and delete code to force constant to register.
1949 * pa-protos.h (adddi3_operand): Add prototype.
1950 * pa.c (adddi3_operand): New function.
1951
e65a2d65
RS
19522002-07-11 Roger Sayle <roger@eyesopen.com>
1953
1954 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
1955 non-ANSI builtin functions.
1956
a06e3c40
R
1957Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
1958
1959 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
1960 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
1961 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
1962 (gen_const_vector_0): Use it.
1963
47abc309
JDA
19642002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
1965
1966 * pa.md (adddi3): For 32-bit targets, force constants to a register
1967 if they don't fit in an 11-bit immediate. Change insn predicate to
1968 arith11_operand. Remove comment.
1969 * pa.c (cint_ok_for_move): Fix comment.
1970 (emit_move_sequence): Don't directly split DImode constants on 32-bit
1971 targets.
1972
8ac9d31f
TJ
19732002-07-11 Tim Josling <tej@melbpc.org.au>
1974
e89617fe 1975 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
1976
1977 * Makefile.in
1978 (STAGESTUFF): add gtyp-gen.h
1979 (GTFILES): Remove front end specific files.
1980 (GTFILES_FILES_LANGS): New, from configure..
1981 (GTFILES_FILES_FILES): Likewise.
1982 (GTFILES_LANG_DIR_NAMES): Likewise.
1983 (GTFILES_SRCDIR): Likewise.
1984 (gtyp-gen.h): Build from configure information.
1985 (s-gtype): Remove command line parameters from gengtype.
1986 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
1987 (mostlyclean): Delete files generated by and for gengtype.
1988
1989 * c-config-lang.in: New file.
1990
1991 * configure.in (all_gtfiles_files_langs): New. Accumulate files
1992 for each language.
1993 (all_gtfiles_files_files): New. Accumulate language for each file
1994 accumulated.
1995 (gtfiles): Pick up value for C.
1996 (srcdir): AC-SUBST this variable.
1997 (all_gtfiles_files_langs): AC-SUBST this variable.
1998 (all_gtfiles_files_files): AC-SUBST this variable.
e89617fe 1999
8ac9d31f 2000 * configure: Regenerate.
e89617fe 2001
8ac9d31f
TJ
2002 * gengtype-lex.l (parse_file): Make parameter const.
2003
2004 * gengtype.c (toplevel): include gtyp-gen.h.
2005 (BASE_FILE_<language> unnamed enum): Delete.
2006 (lang_names): Delete (replaced by gtyp-gen.h)
2007 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
2008 all references.
2009 (NUM_GT_FILES): New.
2010 (NUM_LANG_FILES): New.
2011 (srcdir_len): New.
2012 (NUM_BASE_FILES): Change calculation.
2013 (open_base_files): Change prototype to avoid warning.
2014 (startswith): Delete.
2015 (get_file_basename): Iterate through generated language list not
2016 hard coded list.
2017 (get_base_file_bitmap): Use generated list of files and languages.
2018 (close_output_files): Add prototype to rmove warning.
2019 (main): Iterate through list of generated files from gtyp-gen.h
2020 rather than command line paramaters. Ignore duplicated file
e89617fe 2021 names.
8ac9d31f
TJ
2022
2023 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 2024
8ac9d31f
TJ
2025 * doc/sourcebuild.texi: Document gtfiles variable.
2026
2027 * doc/gty.texi: Document changes to gtfiles variable for front
2028 ends.
2029
2030 * objc/config-lang.in (gtfiles): Add files needed for objc front
2031 end.
2032
0e603223
RS
20332002-07-10 Roger Sayle <roger@eyesopen.com>
2034
2035 PR c/2454
2036 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
2037 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
2038
c5358a5d
RS
20392002-07-10 Roger Sayle <roger@eyesopen.com>
2040 Zack Weinberg <zack@codesourcery.com>
2041
2042 * builtins.def: Make the argument types of abort and exit
2043 independent of the front-end.
2044
a35f8b74
AM
20452002-07-11 Alan Modra <amodra@bigpond.net.au>
2046
2047 * config/rs6000/linux64.h (ASM_SPEC): Define.
2048
89e7058f
AH
20492002-07-10 Aldy Hernandez <aldyh@redhat.com>
2050
6c535c69
ZW
2051 * config/rs6000/rs6000.c (emit_frame_save): New.
2052 (rs6000_frame_related): Replace reg2 before reg.
2053 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
2054 and eh_return registers.
89e7058f 2055
086bbd21
TM
20562002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
2057
2058 Revert all patches for optimization of Complex .op. Real.
2059 * complex_part_zero_p: Remove
2060 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
2061 with x.
2062 * expand_cmplxdiv_wide: Ditto.
2063 * expand_binop: Ditto.
2064
126dbce0
MM
20652002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
2066
2067 * config/avr/avr.md: Fix two 0x80000000 constants to make them
2068 negative also on 64-bit hosts.
2069
2070 Default to -fno-reorder-blocks when optimizing for size.
2071 * config/avr/avr-protos.h (avr_optimization_options): Declare.
2072 * config/avr/avr.c (avr_optimization_options): New function.
2073 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
2074
2075 Optimize returning from simple functions.
2076 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
2077 * config/avr/avr.c (avr_simple_epilogue): New function.
2078 * config/avr/avr.md (return): New insn.
2079
21c318ba
DR
20802002-07-10 Douglas B Rupp <rupp@gnat.com>
2081
2082 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
2083 HAS_INIT_SECTION to protection.
2084
537834c8
MM
20852002-07-10 Mark Mitchell <mark@codesourcery.com>
2086
2087 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
2088 deprecated.
2089
80ba02b1
R
2090Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
2091
2092 * combine.c (gen_lowpart_for_combine): Handle vector modes.
2093 Supply non-VOID mode to simplify_gen_subreg.
2094
ae3aa00d
JH
2095Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
2096
2097 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
2098
029f3983
JL
20992002-07-10 Jeffrey A Law <law@redhat.com>
2100
7a464913
JL
2101 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
2102 as appropriate.
2103
6c535c69
ZW
2104 * mn10200.c (expand_epilogue): Fix test to determine which scratch
2105 register to use.
029f3983 2106
ff27a429
R
2107Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
2108
2109 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
2110 Get mode from dest.
2111 If simplify_gen_subreg fails, try next equivalent.
2112
e6986399
GDR
21132002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
2114
2115 * diagnostic.h: #include location.h
2116 (location_t): Move definition to..
2117 * location.h: ... here. New file.
2118 * tree.h: #include location.h
2119 (DECL_SOURCE_LOCATION): New macro.
2120 (DECL_SOURCE_FILE): Use.
2121 (DECL_SOURCE_LINE): Likewise.
2122 (struct tree_decl): REplace filename and linenum with locus.
2123 * Makefile.in (TREE_H): add location.h
2124 (diagnostic.o): Depends on gt-location.h
2125 (gt-location.h): Depends on s-gtype
2126
7990b46f
MK
21272002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
2128
2129 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
2130 TARGET_OS_CPP_BUILTINS.
2131 * config/rs6000/aix31.h: Likewise.
2132 * config/rs6000/aix41.h: Likewise.
2133 * config/rs6000/aix43.h: Likewise.
2134 * config/rs6000/aix51.h: Likewise.
2135 * config/rs6000/beos.h: Likewise.
2136 * config/rs6000/darwin.h: Likewise.
2137 * config/rs6000/eabi.h: Likewise.
2138 * config/rs6000/eabisim.h: Likewise.
2139 * config/rs6000/linux.h: Likewise.
2140 * config/rs6000/linux64.h: Likewise.
2141 * config/rs6000/lynx.h: Likewise.
2142 * config/rs6000/mach.h: Likewise.
2143 * config/rs6000/rtems.h: Likewise.
2144 * config/rs6000/sysv4.h: Likewise.
2145 * config/rs6000/vxppc.h: Likewise.
efa39e99
DP
2146
21472002-07-09 Devang Patel <dpatel@apple.com>
2148 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
2149 Do not allow ObjC objects as a parameter type for Objective-C methods.
2150 My previous patch restricted 'struct' also.
e89617fe 2151
cd98faa1
NB
21522002-07-09 Neil Booth <neil@daikokuya.co.uk>
2153
2154 * cpperror.c (cpp_error): Default to directive_line within
2155 directives here.
2156 * cppexp.c (cpp_interpret_integer): Only use traditional
2157 number semantics in directives.
2158 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
2159 (do_include_common): Similarly.
2160 * cpptrad.c (scan_out_logical_line): Implement accurate
2161 quoting of <> in #include.
2162 * doc/cpp.texi: Update.
2163
2ad65b0e 2164Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
6c535c69 2165 J"orn Rennecke <joern.rennecke@superh.com>
2ad65b0e
SC
2166
2167 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
2168 * sh.md (attribute issues): Replace with:
2169 (attribute pipe_model). All users changed.
2170 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
2171 All users changed.
2172 (function units sh5issue, sh5fds): New.
2173 (attribute is_mac_media): New.
2174 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
2175 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
2176 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
2177 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
2178 (call_media, call_value_media, sibcall_media): Likewise.
2179 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
2180 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
2181 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
2182 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
2183 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
2184 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
2185 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
2186 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
2187 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
2188 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
2189 (truncdfsf2_media): Likewise.
2190 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
2191 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
2192
b6d33983
R
2193Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
2194
2195 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
2196 * sh.c (general_extend_operand, inqhi_operand): New functions.
2197 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
2198 alternatives using 'N' modifier. Add type.
2199 (adddi3z_media): Likewise. Enable generator function generation.
2200 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
2201 exact predicates / constraints. Add type.
2202 (subsi3): Allow 0 for SHMEDIA.
2203 (udivsi3_i4_media): Use match_operand for input values
2204 rather than hard registers.
2205 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
2206 unnecessarily through hard registers. Keep copies of pseudo
2207 registers outside of the libcall sequence.
2208 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
2209 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
2210 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
2211 (extendhidi2, extendqidi2): Likewise.
2212 (andsi3_compact): Name.
2213 (andcdi3): Enable generator function generation.
2214 (zero_extendhisi2, zero_extendqisi2): Rename to
2215 (zero_extendhisi2_compact, zero_extendqisi2_compact).
2216 (extendhisi2, extendqisi2): Rename to
2217 (extendhisi2_compact, extendqisi2_compact).
2218 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
2219 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
2220 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
2221 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
2222 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
2223 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
2224 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
2225 (shmedia32_initialize_trampoline_big): Likewise.
2226 (shmedia32_initialize_trampoline_little): Likewise.
2227 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
2228 (negdi2): Remove spurious T clobber.
2229 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
2230 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
2231 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
2232 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
2233 (ic_invalidate_line_media): Write back data cache before invalidating
2234 instruction cache. Add type.
2235 (movsf_media): Sign-extend when the destination is a general
2236 purpose register. Add type.
2237 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
2238 (casesi_worker_0+1): Only increment ref count for proper label.
2239 (casesi_worker_0+2): Likewise.
2240
7ca0873c
MM
22412002-07-09 Mark Mitchell <mark@codesourcery.com>
2242
2243 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
2244
26b10ae0 22452002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 2246
26b10ae0
SE
2247 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
2248 from Pmode to ptr_mode.
2249 (get_exception_pointer): Ditto.
2250 (connect_post_landing_pads): Ditto.
2251 (dw2_build_landing_pads): Ditto.
2252
0c3a2ea0
SE
22532002-07-08 Steve Ellcey <sje@cup.hp.com>
2254 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
2255 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
2256 (handle_pragma_redefine_extname): Change to use new function.
2257
26c34780
RS
22582002-07-08 Roger Sayle <roger@eyesopen.com>
2259
2260 * combine.c (combine_simplify_rtx): Add an explicit cast
2261 to avoid signed/unsigned comparison warning.
2262 (simplify_if_then_else): Likewise.
2263 (extended_count): Likewise.
2264 (simplify_shift_const): Likewise.
2265 (simplify_comparison): Likewise.
2266
1d4047e0
RS
22672002-07-08 Richard Sandiford <rsandifo@redhat.com>
2268
2269 * config/mips/mips.md: Add imadd type. Update scheduler description
2270 to use imadd as well as imul.
2271 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
2272 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
2273 (*mul_sub_si): Likewise for first alternative. Change second
2274 alternative from imul to multi.
2275
5351f1ca
NB
22762002-07-07 Neil Booth <neil@daikokuya.co.uk>
2277
2278 * c-common.c (c_common_post_options): Update prototype;
2279 don't init backends if preprocessing only.
2280 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
2281 * langhooks.h (struct lang_hooks): Update post_options to
2282 return a boolean.
2283 * toplev.c (parse_options_and_default_flags, do_compile,
2284 lang_independent_init): Update prototypes. Allow the
2285 front end to specify that there is no need to initialize
2286 the back end.
2287 (general_init): Move call to hex_init here...
2288 (toplev_main): ...from here. Pass flag for back end init
2289 suppression.
2290
c8cc4417
R
2291Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
2292
2293 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
2294 (PREDICATE_CODES): Add entries for equality_comparison_operator,
2295 greater_comparison_operator and less_comparison_operator.
2296 * sh.c (print_operand): Add '\'' code. Make 'o' handle
2297 more operators.
2298 (equality_comparison_operator): New function.
2299 (greater_comparison_operator, less_comparison_operator): Likewise.
2300 * sh.md (beq_media_i): Disable generator function generation.
2301 Use match_operator to handle a whole class of comparisons. Add
2302 modifier in output template to provide branch prediction. Add type.
2303 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
2304 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
2305 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
2306 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
2307
957ec0f9
HPN
23082002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
2309
2310 Emit MMIX function prologue and epilogue as rtl.
2311 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
2312 not unprototyped get_hard_reg_initial_val.
2313 ("call_value", "nonlocal_goto_receiver"): Ditto.
2314 ("return"): Make define_expand. Move real insn to...
2315 ("*expanded_return"): New pattern.
2316 ("prologue", "epilogue"): New define_expands.
2317 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
2318 (struct machine_function): New member in_prologue.
2319 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
2320 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
2321 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
2322 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
2323 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
2324 (LOCAL_REGNO): Define. Adjust comment.
2325 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
2326 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
2327 leaf_function_p.
2328 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
2329 the prologue.
2330 (mmix_target_asm_function_prologue): Make static. Just mark that
2331 the prologue is being emitted. Move guts to...
2332 (mmix_expand_prologue): New function. Adjust for emitting
2333 prologue as rtl. For sizes, use HOST_WIDE_INT only.
2334 (mmix_target_asm_function_epilogue): Make static. Simply emit a
2335 \n. Move guts to...
2336 (mmix_expand_epilogue): New function. Adjust for emitting
2337 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
2338 (mmix_target_asm_function_end_prologue): Mark that the prologue
2339 has ended.
2340 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
2341 (mmix_conditional_register_usage): Improve comments.
2342 (mmix_local_regno): New function.
2343 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
2344 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
2345 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
2346 (mmix_get_hard_reg_initial_val): Ditto.
2347
7ab5c789
AJ
23482002-07-06 Andreas Jaeger <aj@suse.de>
2349
2350 * toplev.c (set_fast_math_flags): Don't use ISO C style function
2351 definitions.
2352 * gengtype.c (open_base_files): Likewise.
2353 (close_output_files): Likewise.
2354 * tracer.c (find_best_predecessor): Likewise.
2355 (find_best_successor): Likewise.
2356 (ignore_bb_p): Likewise.
2357
df061a43
RS
23582002-07-05 Roger Sayle <roger@eyesopen.com>
2359
2360 PR c++/7099
2361 * builtin-attrs.def: Define new attribute lists for use in
2362 builtins.def.
2363 * builtins.def [DEF_BUILTIN]: Modify to take an additional
2364 ATTRS argument, an enumerated value defined in builtin-attrs.def
2365 that represents the attribute list for the builtins. Modify
2366 all builtin functions to pass an appropriate attribute list.
2367 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
2368 their required noreturn attributes.
2369 * tree.h (enum_builtin_function): Ignore the additional parameter
2370 to DEF_BUILTIN.
2371 * builtins.c (built_in_names): Likewise.
2372 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
2373 argument with a tree representing the functions attribute list.
2374 Pass this "attrs" argument to builtin_function. No longer handle
2375 the noreturn_p processing manually.
2376 (built_in_attributes): Move the definitions from builtin-attrs.def
2377 before c_common_nodes_and_builtins.
2378 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
2379 DEF_BUILTIN, passing it to both builtin_function and the changed
2380 builtin_function_2.
2381
2382 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
2383 __builtin__exit and __builtin__Exit.
2384
e5eb8de8
SC
23852002-07-05 Stephane Carrez <stcarrez@nerim.fr>
2386
2387 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
2388 QI mode registers in soft registers.
7ab5c789 2389 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
2390 for register allocation (use '*' constraint).
2391
4c8aed14
SC
23922002-07-05 Stephane Carrez <stcarrez@nerim.fr>
2393
2394 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
2395 it is dead.
2396 ("*ashrsi3"): Likewise.
2397 ("*lshrsi3"): Likewise.
2398
99ed68ea
VM
23992002-07-05 Vladimir Makarov <vmakarov@redhat.com>
2400
2401 * genautomata.c (output_max_insn_queue_index_def): Take latencies
2402 into account.
2403
4c8aed14 24042002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
2405
2406 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
2407 address computation and memory moves.
2408
9833f679
MM
24092002-07-03 Mark Mitchell <mark@codesourcery.com>
2410
2411 PR c++/6706
2412 * dwarfout.c (output_reg_number): Fix warning message.
2413 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
2414 before using it.
7ab5c789 2415
81bca2f5
RO
24162002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2417
2418 * gcc/gcc.c (asm_debug): Move initialization ...
2419 (init_spec): ... here.
2420
17f44f02
NS
24212002-07-05 Nathan Sidwell <nathan@codesourcery.com>
2422
2423 * c-parse.in (extdef): Append ';'.
2424 (old_style_parm_decls): Append ';'.
2425
da77408f
DJ
24262002-07-04 Daniel Jacobowitz <drow@mvista.com>
2427
2428 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
2429 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
2430 to gcc_cv_as_gstabs_flag.
2431 * configure: Rebuilt.
2432
ec52b446
GK
24332002-07-04 Geoffrey Keating <geoffk@redhat.com>
2434
2435 * ggc.h (ggc_add_root): Document as obsolete.
2436
8721e3df
R
2437Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
2438
2439 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
2440 (mshflo_w): Likewise.
2441
3767c0fd
R
2442Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
2443
2444 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
2445 vector mode subregs of constants to finding integer mode
2446 subregs of constants.
2447 * cse.c (cse_insn): Use simplify_gen_subreg.
2448 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
2449 From a vector mode expression of different size than the
2450 target mode.
2451
4e314d1f
EC
24522002-07-03 Eric Christopher <echristo@redhat.com>
2453
2454 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
2455 * config/mips/mips.h: Remove deprecated -m<processor> options
2456 and cc1_cpu_spec associated.
2457 (CONSTANT_ADDRESS_P): Fix last patch.
2458 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
2459 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
2460 sunge_sf): Remove.
2461
6f0361e3
SS
24622002-07-03 Stan Shebs <shebs@apple.com>
2463
2464 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
2465 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
2466 (CPP_SPEC): Remove insertion of APPLE_CC definition.
2467
3129af4c
RS
24682002-07-03 Roger Sayle <roger@eyesopen.com>
2469
2470 * combine.c (struct_undo): Change types of recorded substitutions
2471 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
2472 (do_SUBST_INT): Change types of the substitution from unsigned int
2473 to int, to avoid compilation warning from SUBST_INT's only caller.
2474
2475 (make_extraction): Add cast to avoid compilation warning.
2476 (force_to_mode): Remove cast to avoid compilation warning.
2477
c7375e61
EB
24782002-07-03 Eric Botcazou <ebotcazou@multimania.com>
2479 Jeff Law <law@redhat.com>
2480
2481 * i386.md (length_immediate attribute): Fix typo.
2482 (length_address attribute): Likewise.
2483 (modrm attribute): Set it to 0 for immediate call instructions.
2484 (jcc_1 pattern): Set modrm attribute to 0.
2485 (jcc_2 pattern ): Likewise.
2486 (jump pattern): Likewise.
2487 (doloop_end_internal pattern): Explicitly set length.
2488 (leave pattern): Fix typo.
2489 (leave_rex64 pattern): Likewise.
2490
61c07d3c
DE
24912002-07-03 David Edelsohn <edelsohn@gnu.org>
2492
2493 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
2494 in FPR as preference.
2495 (fctiwz): Same.
2496 (floatdidf2, fix_truncdfdi2): Same.
2497 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
2498 (floatditf2): Same.
2499 (floatsitf2, fix_trunctfsi2): SImode in GPR.
2500 (ctrdi): Remove FPR alternative and splitter.
2501
25022002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
2503
2504 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
2505
34a80643
R
2506Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
2507
2508 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
2509 than UNITS_PER_WORD, unless this is little endian and the first unit
2510 in this word. Let extract_bit_field decide how to load an element.
2511 Force arguments to matching mode.
2512 (expand_vector_unop): Likewise.
2513
2514 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
2515 consist of word_mode elements.
2516 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
2517 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
2518 (build_unary_op): Allow vector types for BIT_NOT_EPR.
2519 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
2520 CONST_VECTOR.
2521 * optabs.c (expand_vector_binop): Try to perform operation in
2522 smaller vector modes with same inner size. Add handling of AND, IOR
2523 and XOR. Reject expansion to inner-mode sized scalars when using
2524 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
2525 (expand_vector_unop): Try to perform operation in smaller vector
2526 modes with same inner size. Add handling of one's complement.
2527 When there is no vector negate operation, try a vector subtract
2528 operation. Use simplify_gen_subreg on constants.
2529 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
2530 constants into smaller vectors with same inner mode, and to
2531 integer CONST_DOUBLEs.
2532
622d3731
KG
25332002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2534
2535 * c-parse.in (parsing_iso_function_signature): New variable.
2536 (extdef_1): New, copied from...
2537 (extdef): ... here. Reset parsing_iso_function_signature.
2538 (old_style_parm_decls): Reset parsing_iso_function_signature.
2539 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
2540 Warn about ISO C style function definitions.
2541 (nested_function, notype_nested_function): Reset
2542 parsing_iso_function_signature.
2543 (parmlist_2): Set parsing_iso_function_signature.
2544
2545 * doc/invoke.texi (-Wtraditional): Document new behavior.
2546
9bb46191
CD
25472002-07-02 Chris Demetriou <cgd@broadcom.com>
2548
2549 * config.gcc (mips*el-*-*): Use tm_defines to set
2550 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
2551 * config/mips/little.h: Remove.
2552
e1c2dd26 25532002-07-02 Devang Patel <dpatel@apple.com>
c40da518 2554
c40da518 2555 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
2556 object as parameter. Prevent something like 'NSObject' to be
2557 used as the type for a method argument.
c40da518 2558
0879540b
NB
25592002-07-03 Neil Booth <neil@daikokuya.co.uk>
2560
2561 * cpptrad.c: Update comment.
2562
b6fb43ab 25632002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 2564
b6fb43ab
NB
2565 * doc/cpp.texi: Update for traditional preprocessing changes.
2566 * goc/cppopts.texi: Similarly.
2567
c1c5187c
ZL
25682002-07-02 Ziemowit Laski <zlaski@apple.com>
2569
2570 * c-parse.in (designator): Enable designated initializers if ObjC.
2571 (objcmessageexpr): Remove references to objc_receiver_context.
2572 * objc/objc-act.h (objc_receiver_context): Remove decl.
2573 * objc/objc-act.c (objc_receiver_context): Remove.
2574 (lookup_objc_ivar): Test objc_method_context instead of
2575 objc_receiver_context.
2576
52702ae1
R
2577Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
2578
2579 * sh.c (print_operand, case 'N'): Allow zero vector.
2580 (arith_reg_or_0_operand): Likewise.
2581 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
4e314d1f 2582 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
2583 IOR, XOR, PLUS and SET and take their respective constant
2584 ranges into account.
2585 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
2586 * sh.md (subdi3, subdi3_media): Allow zero operand.
2587 (movv8qi_i+3): Only vector that is not split is the zero vector.
2588 Fix operand 3 to simplify_subreg.
2589 (movv2si_i): Split alternative 1.
2590 (mshfhi_l_di_rev+1): New splitter.
2591
49e7b251
NB
25922002-07-02 Neil Booth <neil@daikokuya.co.uk>
2593
ba57a9c0 2594 PR preprocessor/7029
49e7b251
NB
2595 * cppinit.c (cpp_handle_option): Suppress warnings with an
2596 implicit "-w" for "-M" and "-MM".
2597 * doc/cppopts.texi: Update.
2598
a3acdc0c
RS
25992002-07-01 Roger Sayle <roger@eyesopen.com>
2600
2601 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
2602 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
2603 builtin_function.
2604
0b558962
AM
26052002-07-02 Alan Modra <amodra@bigpond.net.au>
2606
2607 * README.Portability: Fix typos.
2608
9a81c5b7
HPN
26092002-07-01 Hans-Peter Nilsson <hp@axis.com>
2610
2611 PR target/7177
2612 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
2613 of indirections for register inside sign-extended mem part.
2614
6a2dd09a
RS
26152002-07-01 Roger Sayle <roger@eyesopen.com>
2616
2617 * tree.h: Modify builtin_function interface to take an extra
2618 argument ATTRS, which is a tree representing an attribute list.
2619
2620 * c-decl.c (builtin_function): Accept additional parameter.
2621 * objc/objc-act.c (builtin_function): Likewise.
2622 * f/com.c (builtin_function): Likewise.
2623 * java/decl.c (builtin_function): Likewise.
2624 * ada/utils.c (builtin_function): Likewise.
2625 * cp/decl.c (builtin_function): Likewise.
2626 (builtin_function_1): Likewise.
2627
2628 * c-common.c (c_common_nodes_and_builtins): Pass an additional
2629 NULL_TREE argument to builtin_function. (builtin_function_2):
2630 Likewise.
2631 * cp/call.c (build_java_interface_fn_ref): Likewise.
2632 * objc/objc-act.c (synth_module_prologue): Likewise.
2633 * java/decl.c (java_init_decl_processing): Likewise.
2634 * f/com.c (ffe_com_init_0): Likewise.
2635
2636 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
2637 NULL_TREE argument to builtin_function.
2638 * config/arm/arm.c (def_builtin): Likewise.
2639 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
2640 * config/i386/i386.c (def_builtin): Likewise.
2641 * config/ia64/ia64.c (def_builtin): Likewise.
2642 * config/rs6000/rs6000.c (def_builtin): Likewise.
2643
e20569ae
ZW
26442002-07-01 Zack Weinberg <zack@codesourcery.com>
2645
2646 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
2647 * config/mips/t-isa3264: Likewise.
2648 * config/mmix/t-mmix: Likewise.
2649
f1b690f1
JDA
26502002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
2651
2652 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
2653
6bfa5aac
RS
26542002-07-01 Roger Sayle <roger@eyesopen.com>
2655
2656 PR opt/4046
2657 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
2658 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
2659 B are truth values.
2660
9a5c1b9d
NN
26612002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
2662
2663 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
2664
d3fc4dbc
MK
26652002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
2666
3b2124df
MK
2667 * README.Portability (Function prototypes): Give an example of
2668 declaring and defining a function with no arguments.
2669
d3fc4dbc
MK
2670 * README.Portability (Function prototypes): Document new
2671 variable-argument function macros.
2672
c1b92d09
R
2673Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
2674
2675 * sh.c (langhooks.h): Include.
2676 (sh_init_builtins, sh_media_init_builtins): New functions.
2677 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
2678 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
2679 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
2680 (builtin_description): New struct tag.
2681 (signature_args, bdesc): New arrays.
2682 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
2683 (print_operand): Add 'N' modifier.
2684 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
2685 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
2686 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
2687 (CONST_COSTS): Add special case for SHmedia AND.
2688 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
2689 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
2690 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
2691 target_operand can also be const or unspec.
2692 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
2693 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
2694 (attribute type): Add new types.
2695 (anddi3): Add splitter.
2696 (movdi_const_16bit+1): Add code to handle vector constants and
2697 bitmasks efficiently.
2698 (shori_media): Have generator function made.
2699 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
2700 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
2701 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
2702 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
2703 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
2704 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
2705 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
2706 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
2707 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
2708 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
2709 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
2710 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
2711 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
2712 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
2713 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
2714 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
2715 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
2716 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
2717 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
2718 (ftrv): Likewise.
2719
2720 (fpu_switch+1, fpu_switch+2): Remove constraint.
2721
97ebc06f
AH
27222002-07-01 Aldy Hernandez <aldyh@redhat.com>
2723
6c535c69
ZW
2724 * tree.c (build_function_type_list): Update function comment.
2725 Rename first argument to return_type.
97ebc06f 2726
353a10d0
NB
27272002-07-01 Neil Booth <neil@daikokuya.co.uk>
2728
2729 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
2730 tradcif.y and related files.
2731
e34cabb3
NB
27322002-07-01 Neil Booth <neil@daikokuya.co.uk>
2733
2734 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
2735
8bf3ccbb
KG
27362002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2737
2738 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
2739
118f8dc1
DP
27402002-06-30 Devang Patel <dpatel@apple.com>
2741
2742 * objc/objc-act.c (finish_file): Avoid finish_objc() if
2743 -fsyntax-only.
2744
e3223ea2
DC
2745Fri Jun 28 17:22:37 2002 Denis Chertykov <denisc@overta.ru>
2746 Frank Ch. Eigler <fche@redhat.com>
6c535c69 2747 Matthew Green <mrg@redhat.com>
e3223ea2
DC
2748 Richard Henderson <rtl@redhat.com>
2749 Dave Hudson <dave.hudson@ubicom.com>
2750 Jeff Johnston <jjohnstn@redhat.com>
2751 Alan Lehotsky <apl@alum.mit.edu>
2752 Bernd Schmidt <bernds@redhat.com>
2753 Graham Stott <grahams@redhat.com>
4e314d1f 2754
e3223ea2
DC
2755 * doc/extend.texi: Add ip2k port to description of attribute
2756 naked.
2757 * doc/install.texi (Specific): Add ip2k description.
2758 * doc/install-old.texi (Configurations): Add ip2k to possible
2759 cpu types.
2760 * doc/md.texi: Document ip2k constraints.
2761 * config/ip2k/crt0.S: New file.
2762 * config/ip2k/ip2k-protos.h: New file.
2763 * config/ip2k/ip2k.c: New file.
2764 * config/ip2k/ip2k.h: New file.
2765 * config/ip2k/ip2k.md: New file.
2766 * config/ip2k/libgcc.S: New file.
2767 * config/ip2k/t-ip2k: New file.
2768
66b8c57f
HPN
27692002-06-30 Hans-Peter Nilsson <hp@bitrange.com>
2770
2771 * config/mmix/mmix.md ("return"): New pattern.
2772 * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
2773 (TARGET_USE_RETURN_INSN): New macros.
2774 (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
2775 (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
2776 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
2777 (MMIX_POP_ARGUMENT): New macro.
2778 (mmix_target_asm_function_prologue): When no epilogue is executed,
2779 just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn.
2780 (mmix_print_operand) <case '.'>: New case.
2781 (mmix_print_operand_punct_valid_p): Match '.'.
2782 (mmix_use_simple_return): New function.
2783 * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
2784 * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
2785 -msingle-exit, -mno-single-exit.
2786 (MMIX Options): Ditto.
2787
e7a60f56
AH
27882002-06-30 Aldy Hernandez <aldyh@redhat.com>
2789
6c535c69 2790 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
e7a60f56 2791
1ef7d32b
KG
27922002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2793
2794 * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
2795
c8b64bf2
AM
27962002-06-30 Alan Modra <amodra@bigpond.net.au>
2797
2798 * unroll.c (loop_iterations): Handle EQ loops.
2799
35aba846
DE
28002002-06-29 David Edelsohn <edelsohn@gnu.org>
2801
2802 * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
2803 constraint in define_expand, not splitter.
2804 Formatting.
2805
b4de2f7d
AH
28062002-06-29 Aldy Hernandez <aldyh@redhat.com>
2807
6c535c69
ZW
2808 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
2809 build_function_type_list instead of build_function_type.
b4de2f7d 2810
6c535c69 2811 * config/ia64/ia64.c (ia64_init_builtins): Same.
b4de2f7d 2812
6c535c69 2813 * config/alpha/alpha.c (alpha_init_builtins): Same.
b4de2f7d 2814
6c535c69 2815 * config/rs6000/rs6000.c (altivec_init_builtins): Same.
b4de2f7d 2816
6c535c69 2817 * config/arm/arm.c (arm_init_builtins): Same.
b4de2f7d 2818
6c535c69 2819 * tree.h: Add build_function_type_list prototype.
b4de2f7d 2820
6c535c69 2821 * tree.c (build_function_type_list): New.
b4de2f7d 2822
1691051f
KG
28232002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2824
2825 * collect2.c (scan_prog_file): Fix typo in message.
2826
7bfb14f1
AL
28272002-06-28 Aaron Lehmann <aaronl@vitelus.com>
2828
6c535c69 2829 * fold-cont.c: Remove unused CHARMASK.
7bfb14f1 2830
38800fe8
NB
28312002-06-29 Neil Booth <neil@daikokuya.co.uk>
2832
2833 PR preprocessor/7150
2834 * cppmain.c (scan_translation_unit_trad): Simplify.
590e1987 2835 * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
38800fe8 2836
f60ed6be
NB
28372002-06-29 Neil Booth <neil@daikokuya.demon.co.uk>
2838
2839 * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
2840 Don't use CPP_PREDEFINES.
2841 * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
2842 Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
2843 * config/i386/djgpp.h, config/i386/i386-coff.h,
2844 config/i386/i386-interix.h, config/i386/i386-interix3.h,
2845 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
2846 config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
2847 config/i386/uwin.h: Similarly.
2848
76118c11
HB
28492002-06-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
2850
6c535c69 2851 * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
76118c11
HB
2852 flag_inline_trees to enable inlining.
2853
9137b119
PE
28542002-06-28 Phil Edwards <pme@gcc.gnu.org>
2855
2856 * configure.in (gcc_gxx_include_dir): Change to match versioned
2857 C++ headers if --enable-version-specific-runtime-libs is used.
2858 * configure: Regenerate.
2859
6bdb8dd6
JH
28602002-06-28 Jan Hubicka <jh@suse.cz>
2861
2862 * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
2863
f1b1186f
SC
28642002-06-28 Stephen Clarke <stephen.clarke@superh.com>
2865
2866 * combine.c (combine_simplify_rtx): Pass the mode of the
2867 shift count, not the shift operation when trying to simplify
2868 a shift on a SHIFT_COUNT_TRUNCATED target.
2869
ae9bd481
SC
28702002-06-28 Stephane Carrez <stcarrez@nerim.fr>
2871
2872 * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
2873 avoid the auto increment addressing modes.
2874 ("*subsi3"): Likewise.
4e314d1f 2875 (split for add/sub on address): For 68HC12 push the value on
ae9bd481
SC
2876 the stack and do the operation with a pop.
2877
1d63a28a
NB
28782002-06-28 Neil Booth <neil@daikokuya.co.uk>
2879
2880 * cpplib.c (_cpp_handle_directive): Move #define-specific
2881 code to the #define handler...
2882 (do_define): ...here.
2883 (lex_macro_node): No longer a need to check for comments here.
2884
4caff360
SC
28852002-06-28 Stephane Carrez <stcarrez@nerim.fr>
2886
2887 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
2888 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
2889 Declare.
2890 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
2891 do not reorder basic blocks at the end when optimizing for size.
2892
2cc21497
SC
28932002-06-28 Stephane Carrez <stcarrez@nerim.fr>
2894
2895 * config/m68hc11/m68hc11.c (autoinc_mode): New function.
2896 (m68hc11_make_autoinc_notes): New function.
2897 (m68hc11_split_move): Be very cautious when spliting a move with
2898 auto increment/decrement modes because this may result in incompatible
2899 directions; add REG_INC notes to the resulting insn for CSE reg.
2900
3cdd2821
SC
29012002-06-28 Stephane Carrez <Stephane.Carrez@nerim.fr>
2902
2903 * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
2904 can be a valid address.
2905
e6a82e80
AH
29062002-06-28 Aldy Hernandez <aldyh@redhat.com>
2907
6c535c69
ZW
2908 * config/rs6000/rs6000.c: Remove unusued variables from last
2909 patch.
e6a82e80 2910
a7ae18e2
AH
29112002-06-27 Aldy Hernandez <aldyh@redhat.com>
2912
2913 Revert:
6c535c69
ZW
2914 * config/rs6000/rs6000.c (rs6000_override_options): Move
2915 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
a7ae18e2 2916
3a9b8c7e
AH
29172002-06-27 Aldy Hernandez <aldyh@redhat.com>
2918
6c535c69
ZW
2919 * config/rs6000/rs6000.c (altivec_expand_builtin): Move
2920 lvx/stv/dst builtins...
2921 (altivec_expand_ld_builtin): ...to here.
2922 (altivec_expand_st_builtin): ...here.
2923 (altivec_expand_dst_builtin): ...and here (respectively).
3a9b8c7e 2924
5f9dc214
BW
29252002-06-28 Bob Wilson <bob.wilson@acm.org>
2926
2927 * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
2928
53501a19
BS
29292001-06-08 Bernd Schmidt <bernds@redhat.com>
2930
2931 * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
2932 subregs.
2933 * recog.c (general_operand, register_operand): Disallow them.
2934
d1a58688
NB
29352002-06-28 Neil Booth <neil@daikokuya.co.uk>
2936
2937 PR preprocessor/7138
2938 * cpplib.c (_cpp_handle_directive): Do traditional
2939 preparation after setting state.angled_headers.
2940 * cpptrad.c (scan_out_logical_line): Fix potential
2941 quote bug.
2942
55c1c60d
AH
29432002-06-27 Aldy Hernandez <aldyh@redhat.com>
2944
6c535c69
ZW
2945 * config/rs6000/rs6000.c (rs6000_override_options): Move
2946 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
55c1c60d 2947
3219c65b
BW
29482002-06-27 Bob Wilson <bob.wilson@acm.org>
2949
2950 * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
2951 (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
2952 zero_cost_loop_end): Remove unnecessary "parallel" from insns.
2953
c8f863fc
RS
29542002-06-27 Roger Sayle <roger@eyesopen.com>
2955
2956 * config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
2957 * config/stormy16/stormy16.h: Likewise.
2958
2959 * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
2960 with #define.
2961
8d5362b7
GP
29622002-06-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2963
2964 * doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move
2965 Hitachi entry. Make punctuation more consistent.
2966
57694e40
MK
29672002-06-27 Matt Kraai <kraai@alumni.cmu.edu>
2968
2969 * doc/install.texi: Change ` bit' to `-bit'.
2970 * doc/md.texi: Change `-bits' to `-bit'.
2971 * doc/tm.texi: Change `-bits' to ` bits'.
2972
c635a1ec
DB
29732002-06-27 Daniel Berlin <dberlin@dberlin.org>
2974
2975 * gcse.c (hoist_code): Rewrite to only get list of dominated
4e314d1f 2976 blocks once per BB. Also fix reversed test (by removing need for
c635a1ec
DB
2977 the test at all).
2978
951a0766
NB
29792002-06-27 Neil Booth <neil@daikokuya.co.uk>
2980
2981 * cpphash.h (_cpp_set_trad_context): Remove.
2982 * cpplib.c (prepare_directive_trad): Do nothing for #define.
2983 (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
2984 * cpptrad.c: Update comments.
2985 (_cpp_read_logical_line_trad): Let scan_logical_line handle
2986 updating the current context.
2987 (scan_logical_line): Update the current context.
2988 (_cpp_create_trad_definition): Similarly.
2989 (_cpp_set_trad_context): Remove.
2990
06470238
NB
29912002-06-27 Neil Booth <neil@daikokuya.co.uk>
2992
2993 PR preprocessor/7070
2994 * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
2995
0c14a54d
BW
29962002-06-26 Bob Wilson <bob.wilson@acm.org>
2997
2998 * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
2999 config/xtensa/xtensa.c (xtensa_return_addr): New function.
3000 config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
3001 config/xtensa/xtensa.md (fix_return_addr): New pattern.
3002
e9873fd5
KG
30032002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3004
3005 * mips.c (coprocessor_operand, coprocessor2_operand,
3006 symbolic_operand): Move prototypes from here...
3007 * mips-protos.h (coprocessor_operand, coprocessor2_operand,
3008 symbolic_operand): ...to here.
3009
650e8d05
R
3010Wed Jun 26 16:32:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
3011
3012 * config/sh/crt1.asm: remove _stack label definition
3013 and sentinel value.
3014
c7836bcd
KG
30152002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3016
3017 * varasm.c: Include real.h before output.h.
3018
6e1f54e2
AH
30192002-06-26 Aldy Hernandez <aldyh@redhat.com>
3020
6c535c69
ZW
3021 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
3022 check for TARGET_ALTIVEC.
6e1f54e2 3023
18fbcbcf
NN
30242002-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
3025
3026 * config.gcc (vax-*-vms*): Make obselete.
3027
09bed167
KG
30282002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3029
3030 * gcc.c (warn_std): Delete.
3031
8254cb45
LR
30322002-06-25 Loren J. Rittle <ljrittle@acm.org>
3033
3034 * doc/extend.texi: Fix formatting of last checkin.
3035
f9ee10ab
RO
30362002-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3037
3038 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
3039 underscore from __IEEE_FP and __IEEE_FP_INEXACT.
3040
90989b26
AH
30412002-06-25 Aldy Hernandez <aldyh@redhat.com>
3042
6c535c69
ZW
3043 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
3044 discrepancies from motorola's documentation.
90989b26 3045
9881adff
R
3046Tue Jun 25 21:51:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
3047
3048 * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
3049 GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
4de1b7a9 3050
4e314d1f 3051 * config/sh/lib1funcs.asm (udivdi3): Make first divide step
4de1b7a9
R
3052 produce a 32 bit result before normalization, then normalize with a
3053 left shift. Compute approximative error of 2nd reciprocal
3054 approximation in 2's complement. Fix mask generation from upper
3055 longword of second divide stage result.
3056 For large divisor, fix shift count used to truncate first stage
3057 divide result; make decision if to adjust upwards based on comparison
3058 of higher parts of normalized values.
3059 (udivdi): Likewise. Undo normalization of result for large divisor
3060 case.
3061
16b46035
DM
30622002-06-25 David S. Miller <davem@redhat.com>
3063
3064 * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
3065
0c6db544
NB
30662002-06-25 Neil Booth <neil@daikokuya.co.uk>
3067
3068 * cpplib.c (do_include_common): Revert to correct line number
3069 if -traditional.
3070 * cpptrad.c (scan_out_logical_line): Treat null directive as
3071 white space. Invlidate MI optimization for non-whitespace
3072 text outside a directive.
3073
eef709c7
KG
30742002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3075
b41e09a7
KG
3076 * Makefile.in (SHELL): Set to @SHELL@.
3077 * fixinc/Makefile.in (SHELL): Likewise.
3078
eef709c7
KG
3079 * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
3080 fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
3081 initialization.
3082
b0ac73f8
JL
30832002-06-24 Jeff Law <law@redhat.com>
3084
3085 * flow.c (propagate_one_insn): When removing an insn
3086 with a REG_LIBCALL note but not the entire libcall sequence,
3087 delete the associated REG_RETVAL note.
3088
9e96203d
R
3089Mon Jun 24 21:05:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
3090
3091 * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
3092 (udivsi3): Likewise. Rewrite SH1 implementation.
3093 (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
3094 * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
3095 (udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
3096 * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
3097 (_moddi3): Likewise.
3098
3099 * lib1funcs.asm (ic_invalidate): Add data cache line writeback.
87912be7
R
3100
3101 * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
3102 arguments into account for stack_regs.
3103
0d893a63
MK
31042002-06-24 Matt Kraai <kraai@alumni.cmu.edu>
3105
3106 * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
3107 in examples.
4e314d1f 3108
04a5176a
AH
31092002-06-24 Art Haas <ahaas@neosoft.com>
3110
3111 * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
3112 * doc/tm.texi (Frame Layout): Likewise.
3113
cad61762 31142002-06-20 Steve Ellcey <sje@cup.hp.com>
ec52b446 3115
cad61762
SE
3116 * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
3117 Set float_format to i128.
3118
556a56ac
DM
31192002-06-24 David S. Miller <davem@redhat.com>
3120
3121 * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
3122 32-bit ABI libfuncs to NULL.
3123
563facba
DM
3124 * config/sparc/sparc.md: Use define_insn_and_split. Use braced
3125 strings instead of quoted strings for code blocks.
b776892b 3126
556a56ac
DM
3127 * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
3128 optabs if op1 is const0_rtx.
3129
a8106207
DM
3130 * Makefile.in (GTFILES): Add basic-block.h
3131 * basic-block.h (label_value_list, tail_recursion_label_list):
3132 Mark with GTY.
3133
2c088b53
NB
31342002-06-24 Neil Booth <neil@daikokuya.co.uk>
3135
3136 * cpptrad.c (scan_out_logical_line): Check recursing only when
3137 we know we have a macro invocation in the function-like case.
3138 Only call _cpp_handle_directive if we know we have a good
3139 directive, or we want to reject a bad directive.
3140
0228d06b
AM
31412002-06-24 Alan Modra <amodra@bigpond.net.au>
3142
3143 * doloop.c (doloop_valid_p): Correct comment.
3144 (doloop_modify_runtime <abs_inc != 1>): Simplify.
3145 (doloop_modify_runtime <do-while>): Don't emit code when NE.
3146
2f9021d3
DC
3147Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru>
3148
3149 * config.gcc: Add support for ip2k.
3150
bc9c2952 31512002-06-23 Jan Hubicka <jh@suse.cz>
f81a79ef
JH
3152 Jeff Law <law@redhat.com>
3153
3154 * function.h (struct emit_status): Clarify potential contents
3155 of regno_reg_rtx array.
3156 * integrate.c (copy_rtx_and_substitute): Update comments. Make
3157 sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
bc9c2952
AJ
3158
3159 * reg-stack.c (convert_regs_exit): Push the registers to stack in
3160 proper order.
3161
faa964e5
UW
31622002-06-22 Ulrich Weigand <uweigand@de.ibm.com>
3163
3164 PR middle-end/6963
3165 * function.c (assign_stack_temp_for_type): Do not return
3166 the same MEM rtx for multiple uses of a stack slot.
3167
7ae3e57c
DM
31682002-06-22 David S. Miller <davem@redhat.com>
3169
3170 PR target/6841 target/6770 target/6719
3171 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
3172 NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
3173 GENERAL_OR_EXTRA_FP_REGS.
3174
847c76c8
NB
31752002-06-22 Neil Booth <neil@daikokuya.co.uk>
3176
3177 * cpptrad.c (struct fun_macro): Add line number.
3178 (scan_out_logical_line): Set it, and use it to report unterminated
3179 macro invocations.
3180
813674e0
KG
31812002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3182
3183 * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
3184 VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
3185 DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
3186 DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
3187 REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
3188 REGEXP_ONEOF, check_name): Const-ify.
3189
23361093
MT
31902002-06-21 Matt Thomas <matt@3am-software.com>
3191
3192 * config/vax/vax.c (vax_output_function_prologue): Use
bc9c2952 3193 REGISTER_PREFIX. Fix some indentation.
23361093
MT
3194 * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
3195 (VAX_ISTREAM_SYNC): Define.
3196 (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the
bc9c2952
AJ
3197 i-stream sync to the end.
3198 (REGISTER_PREFIX): Define as "".
23361093
MT
3199 (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
3200
1c655a0d
JT
32012002-06-21 Jason Thorpe <thorpej@wasabisystems.com>
3202
3203 * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
3204 configurations.
3205
3e16bfe2
KG
32062002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3207
3208 * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
3209 tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
3210
6b0760fd
MT
32112002-06-21 Matt Thomas <matt@3am-software.com>
3212
3213 * config/vax/netbsd.h: Adjust a comment.
3214 (TARGET_DEFAULT): Redefine as 0.
3215
31a78298
RH
32162002-06-21 Richard Henderson <rth@redhat.com>
3217
3218 * bb-reorder.c (make_reorder_chain_1): Search harder for the
bc9c2952
AJ
3219 vax casesi fallthru edge.
3220 * cfglayout.c (cleanup_unconditional_jumps): Use
31a78298
RH
3221 redirect_edge_succ_nodup. Do not delete ADDR_VEC insns as dead.
3222 * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
3223 block after ADDR_VEC.
3224
d8bf1785
RO
32252002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3226
3227 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
3228
00b94a44
NB
32292002-06-21 Neil Booth <neil@daikokuya.co.uk>
3230
3231 * cpperror.c (cpp_error): For traditional CPP, default to
3232 diagnostics on pfile->line.
3233 * cpplib.c (prepare_directive_trad): Set line number for
3234 diagnostics for #define too.
3235 * cpptrad.c (skip_whitespace): Skip comments properly.
3236 (_cpp_expansions_different_trad): Initialize quote2.
3237
c583c5c3
HPN
32382002-06-21 Hans-Peter Nilsson <hp@bitrange.com>
3239
3240 * config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
3241 * config/mmix/mmix.h: Ditto.
3242 * config/mmix/mmix-protos.h: Ditto.
3243 * config/mmix/mmix.c: Ditto. Fix typo in comment.
3244 * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
3245 comment. Comment extra CC modes.
3246
1292ec0c
JH
32472002-06-20 Jan Hubicka <jh@suse.cz>
3248
3249 * cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
3250 (scope_to_insns_finalize): Do not call set_block_levels; handle
3251 sequences.
3252 (choose_inner_scope): New.
3253 * rtl.h (choose_inner_scope): Declare.
3254
0f8e3849
JDA
32552002-06-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
3256
3257 * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
3258 HOST_WIDE_INT.
3259 * pa.c (pa_asm_output_mi_thunk): Likewise.
3260 (n_deferred_plabels): Change type to size_t.
3261 (output_deferred_plabels, output_call): Use size_t instead of int.
3262
0655301f
RH
32632002-06-20 Richard Henderson <rth@redhat.com>
3264
3265 PR target/4041
3266 * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
3267 pattern and adjust constraints for coldfire.
3268
2b3aadfc
RH
32692002-06-20 Richard Henderson <rth@redhat.com>
3270
3271 * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
3272
5c44e275
CD
32732002-06-20 Chris Demetriou <cgd@broadcom.com>
3274
3275 * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
3276
8fff5435
CD
32772002-06-20 Chris Demetriou <cgd@broadcom.com>
3278
3279 * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
3280
8a67e083
SS
32812002-06-20 Stan Shebs <shebs@apple.com>
3282
3283 * dominance.c: Include errors.h instead of error.h.
3284
017acb41
NB
32852002-06-20 Neil Booth <neil@daikokuya.co.uk>
3286
3287 * cppexp.c (cpp_interpret_integer): Don't force traditional
3288 numbers to be unsigned.
3289 * cpplib.c (prepare_directive_trad): Set line number for
3290 diagnostics.
3291 * cpptrad.c (scan_out_logical_line): Continue scanning out
3292 at start of buffer.
3293 * gcc.c (trad_capable_cpp): Use cc1 always.
3294
0ed4a390
JL
32952002-06-20 Jeffrey Law <law@redhat.com>
3296
3297 * i386.h (TARGET_DEFAULT): Do not turn on frame pointer
3298 elimination in leaf functions by default yet.
3299
988ef418
RS
33002002-06-20 Richard Sandiford <rsandifo@redhat.com>
3301
3302 * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
3303
0ab2e54b
RO
33042002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3305
3306 * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
3307 multilibs.
3308 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
d8bf1785 3309 Fixes PR other/6836.
0ab2e54b 3310
355be0dc
JH
3311Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz>
3312 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
3313
3314 Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz>
3315
3316 * basic-block.h: Do not include et-forest.h
3317 (dominance_info): Declare as struct dominance-info.
3318 * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
3319 deleting block.
3320 * dominance.c (struct dominance_info): Define.
3321 (BB_NODE, SET_BB_NODE): New macros.
3322 (bb_hash_func, bb_eq_func): Kill.
3323 (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
3324 nearest_common_dominator, dominated_by_p, recount_dominator,
3325 add_to_dominance_info, delete_from_dominance_info): update for new
3326 representation.
3327 (get_dominated_by, redirect_immediate_dominators): Rewrite using
3328 enumerate_sons.
3329 * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
3330 find_if_case_1, find_if_case_2): Remove killed blocks from dominance
3331 structure.
3332
3333 * et-forest.h: Update copyright; revamp all function to operate on
3334 nodes
3335 (et_forest_value): Kill.
3336 (et_forest_enumerate_sons, et_forest_node_value): New.
3337 * et-forest.c: Update copyright.
3338 * et-forest.h: Update copyright; revamp all function to operate on
3339 nodes
3340 (et_forest_value): Kill.
3341 (et_forest_enumerate_sons, et_forest_node_value): New.
3342
3343 Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz>
3344
3345 * basic-block.h: Inlude et-forest.h
3346 (basic_block_def): Kill dominator.
3347 (dominance_info): New type.
3348 (loops): Use dominace_info.
3349 (dominace handling functions): Take dominace_info as argument
3350 instead of bitmaps.
3351 (create_preheader): Likewise.
3352 * cfg.c (entry_exit_blocks): Kill dominator.
3353 (dump_flow_info): Do not dump dominators.
3354 * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
3355 dominators.
3356 * cfgloop.c (flow_pre_header_find): Use dominacne_info.
3357 (flow_loops_pre_header_scan, make_forwarder_block,
3358 canonicale_loop_headers, flow_loops_find): Likewise.
3359 * dominance.c: Include error.h
3360 (idoms_to_doms): Kill.
3361 (bb_hash_func, bb_eq_func): New static functions.
3362 (debug_dominace_info): New global function.
3363 (calculate_dominance_info): Use new et forest structure.
3364 (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
3365 get_dominated_by, redirect_immediate_dominators,
3366 nearest_common_dominator, dominated_by_p, verify_dominators,
3367 recount_dominator, iterate_fix_dominators, add_to_dominace_info,
3368 delete_from_dominance_info): New global functions.
3369 * gcse.c (domnators): CHange to dominance_info.
3370 (alloc_hoist_mem): Do not alloc dominators
3371 (free_code_hoist_mem): Use free_dominance_info.
3372 (compute_code_hoist_data): Use dominance_info.
3373 (hoist_code): Likewise.
3374 * ifcvt.c (post_dominators): Likewise.
3375 (find_if_case_2, if_convert): Likewise.
3376 * predict.c (process_note_predictions, process_note_prediction,
3377 estimate-probability): Likewise.
3378 * sched-rgn.c (find_rgns, init_regions): Likewise.
3379 * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
3380 find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
3381 * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
3382 find_evaluations, convert_to_ssa): Likewise.
3383 * ssa.h (compute_dominance_frontiers): Likewise.
3384
3385 Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
3386
3387 * Makefile.in (et-forest.c): Add.
3388 * et-forest.c: New file.
3389 * at-forest.h: New file.
3390
ef9772c8
KG
33912002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3392
62c71f4b
KG
3393 * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
3394 array size calculation.
3395 * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
3396 Likewise.
3397
ef9772c8
KG
3398 * diagnostic.c (diagnostic_kind_text): Const-ify.
3399 * gengtype.c (lang_names): Likewise.
3400
b0dd4808
JH
3401Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz>
3402
3403 * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
3404
8433a25e
RO
34052002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3406
3407 * config/sol2.h: New file.
3408 * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
3409 (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
3410 (sparc-*-chorusos*): Likewise.
3411 (sparc-*-elf*): Likewise.
3412 (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
3413 (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
3414 (sparc-hal-solaris2*): Likewise.
3415 (sparc-*-solaris2*): Likewise.
3416 (sparclite-*-elf*): Likewise.
3417 (sparc86x-*-elf*): Likewise.
3418 (sparc64-*-elf*): Likewise.
bc9c2952 3419
8433a25e
RO
3420 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
3421 config/sol2.h.
3422 (ASM_SPEC): Override config/sol2.h version for now.
3423 Removed obsolete GAS_REJECTS_MINUS_S variant.
3424 (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
3425 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
3426 (TARGET_OS_CPP_BUILTINS): Likewise.
3427 Assert system=unix.
3428 (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
3429 (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
3430 config/sol2.h.
3431 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
3432 (ASM_CPU_SPEC): Define.
3433 (SUBTARGET_EXTRA_SPECS): Define.
bc9c2952 3434
8433a25e
RO
3435 * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
3436 in config/sparc/sol2.h.
3437 (ASM_SPEC): Moved to config/sol2.h.
3438 (CPP_CPU_SPEC): Simplified.
3439 (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
3440 consistency.
3441 (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
3442 (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
3443 STARTFILE_ARCH64_SPEC.
3444 (STARTFILE_SPEC): Moved to config/sol2.h
3445 (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
3446 (LINK_ARCH32_SPEC): Moved to config/sol2.h.
3447 (LINK_ARCH64_SPEC): Simplified.
3448 (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
3449 (LINK_SPEC): Moved to config/sol2.h
bc9c2952 3450
8433a25e
RO
3451 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
3452 config/sol2.h.
3453 Use BITS_PER_WORD for size.
3454 (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
3455 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
3456 (CPP_PREDEFINES): Removed OS-specific part handled by
3457 TARGET_OS_CPP_BUILTINS.
3458 (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
3459 (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
3460 (ASM_SPEC): Moved to config/sol2.h.
3461 (PREFERRED_DEBUGGING_TYPE): Likewise.
3462 (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
3463 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
3464 (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
3465 (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
bc9c2952 3466
8433a25e
RO
3467 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
3468 * config/i386/sol2gas.h: Removed.
3469
b6bb1d56
JH
3470Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz>
3471
3472 * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
3473
e50b19ce 34742002-06-16 Aldy Hernandez <aldyh@redhat.com>
4e314d1f 3475
e50b19ce
AH
3476 * gcc.c-torture/execute/simd-1.c: New.
3477
3478 * gcc.dg/simd-1.c: New.
3479
3480 * doc/extend.texi (Vector Extensions): Document that we can
3481 specify simd types not specifically supported by the hardware.
3482 Document that simd types can be used as function arguments.
3483 Document that signness does make a difference in SIMD types.
3484 Misc cleanups and revisions to the vector extensions section.
3485
3486 * simplify-rtx.c (simplify_subreg): Simplify subregs of vector
3487 constants.
3488
3489 * expr.c (vector_mode_valid_p): New.
3490
3491 * expr.h: Add vector_mode_valid_p.
3492
3493 * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
3494
3495 * c-common.c (type_for_mode): Always build vector nodes regardless
3496 of VECTOR_MODE_SUPPORTED_P.
3497 (handle_mode_attribute): Error if we can't emulate a nonexisting
3498 vector mode.
3499 (handle_vector_size_attribute): Same.
3500
3501 * optabs.c (expand_binop): Open-code vector operations.
3502 (expand_unop): Open-code vector unops.
3503 (expand_vector_binop): New.
3504 (expand_vector_unop): New.
4e314d1f 3505
e50b19ce
AH
3506 * c-typeck.c (build_binary_op): Allow vectors in binops.
3507 Allow vectors in conditional operatiors.
3508 (build_unary_op): Allow vectors in unary minus.
3509
3510 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
3511 TARGET_ALTIVEC.
3512
74d86f4f
RH
35132002-05-20 Richard Henderson <rth@redhat.com>
3514
3515 * c-common.c (c_common_get_alias_set): Correctly handle characters.
3516 Rearrange order of expressions; don't handle vectors here.
3517 * alias.c (get_alias_set): Let vectors match their components.
3518
1867b624
CD
35192002-06-19 Chris Demetriou <cgd@broadcom.com>
3520
6c535c69 3521 * config/mips/mips.c (mips_emit_prefetch): Use hints which
1867b624
CD
3522 match desired locality.
3523
2c1d2fcb
DD
35242002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
3525
3526 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
3527 (h8300_insert_attributes): New.
3528
84d901be
AD
35292002-06-19 Akim Demaille <akim@epita.fr>
3530
3531 * c-parse.in (initelt: identifier ':' initval): Add an empty
3532 action to fix a type clash.
3533 (aliasdecl, classdef): Add the missing closing `;'.
3534 Whitespace changes.
3535 * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
3536 $$ = $1 type clashes.
3537
8f2e3902
EC
35382002-06-19 Eric Christopher <echristo@redhat.com>
3539
3540 * config/mips/mips.c (symbol_operand): New function.
3541 (mips_emit_prefetch): Ditto.
3542 * config/mips/mips-protos.h: Define.
3543 * config/mips/mips.h (ISA_HAS_PREFETCH): Define.
3544 (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
3545 (LEGITIMIZE_ADDRESS): Ditto.
3546 * config/mips/mips.md (prefetch, prefetch_si_address,
3547 prefetch_si, prefetch_di_address, prefetch_di): New patterns.
3548
c894819c
EC
35492002-06-19 Eric Christopher <echristo@redhat.com>
3550
3551 * config/fp-bit.h: Add unordered defines for gofast.
3552
4005971c
VM
35532002-06-19 Vladimir Makarov <vmakarov@redhat.com>
3554
3555 * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
3556 DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
3557 DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
3558 REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
3559 checking and without it.
3560 (decl_name, decl_mode_check_failed, regexp_name,
3561 regexp_mode_check_failed): New functions.
3562 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
3563 gen_presence_set, gen_absence_set, gen_automaton,
3564 gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
3565 gen_regexp_sequence, gen_reserv, gen_insn_reserv,
3566 automaton_decl_hash, automaton_decl_eq_p): Use the macros.
3567 (find_automaton_decl): Ditto. Set up mode of work_automaton_decl.
3568 (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
3569 (find_insn_decl): Ditto. Set up mode of work_insn_decl.
3570 (decl_hash, decl_eq_p): Use the macros.
3571 (find_decl): Ditto. Set up mode of work_decl.
3572 (process_excls, process_presence_absence, process_decls,
3573 check_automaton_usage, process_regexp, process_regexp_decls,
3574 check_usage, loop_in_regexp, check_loops_in_regexps,
3575 process_regexp_cycles, add_advance_cycle_insn_decl,
3576 initiate_states, initiate_excl_sets,
3577 initiate_presence_absence_sets, copy_insn_regexp, transform_1,
3578 transform_2): Use the macros.
3579 (transform_3): Ditto. Check mode before making transformations of
3580 ALLOF.
3581 (regexp_transform_func, transform_insn_regexps,
3582 process_unit_to_form_the_same_automaton_unit_lists,
3583 form_the_same_automaton_unit_lists_from_regexp,
3584 form_the_same_automaton_unit_lists,
3585 process_seq_for_forming_states, process_alts_for_forming_states,
3586 create_alt_states, form_ainsn_with_same_reservs, make_automaton,
3587 form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
3588 estimate_one_automaton_bound, compare_max_occ_cycle_nums,
3589 units_to_automata_heuristic_distr, create_ainsns,
3590 units_to_automata_distr, create_automata): Use the macros.
3591 (form_regexp): Ditto. Fix typo in access to fields of ALLOF.
3592 (longest_path_length, min_issue_delay_pass_states,
3593 output_dead_lock_vect, output_tables, output_insn_code_cases,
3594 output_internal_insn_latency_func, output_print_reservation_func,
3595 output_description, output_automaton_units, generate): Use the
3596 macros.
3597 (make_insn_alts_attr): Ditto. Check case when there are not
3598 alternatives in the reservation.
3599 (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
3600 make_bypass_attr, form_important_insn_automata_lists,
3601 expand_automata): Use the macros.
c894819c 3602
015089dd
TJ
36032002-06-20 Tim Josling <tej@melbpc.org.au>
3604
3605 * Makefile.in: Clean up code to check for misspecified languages
3606 in enable-languages.
3607
7999462c
AP
36082002-06-19 Andrew Pinski <pinskia@physics.uc.edu>
3609
84d901be 3610 * cpptrad.c (_cpp_replacement_text_len): initialize len.
7999462c 3611
9c8d079c
JM
36122002-06-19 Jason Merrill <jason@redhat.com>
3613
3614 * Makefile.in (unstrap, restrap): New targets.
3615 (bootstrap): Mention restrap.
3616
d90a95fb
MK
36172002-06-19 Matt Kraai <kraai@alumni.cmu.edu>
3618
3619 * except.c (ehl_free): Remove.
3620
3621 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
3622 builtin_define and builtin_define_std.
3623
f01a0d8d
ID
36242002-06-19 Ian Dall <ian@sibyl.beware.dropbear.id.au>
3625
3626 * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
3627 (sCOND): Restrict operand class so that gcc knows how to reload them.
3628 (bitfield_set): Merge two unnamed insn's using alternatives.
3629 (call_value): Remove constraint on unused uperand.
3630 (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
3631 (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
c894819c 3632
f01a0d8d
ID
3633 * longlong.h (count_trailing_zeros): Escape newline and beautify.
3634
62363d99
MM
36352002-06-19 Mark Mitchell <mark@codesourcery.com>
3636
3637 * Makefile.in (QMTEST_DIR): Simplify definition.
3638
099bd656
NC
36392002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
3640
3641 * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
3642 #define.
3643
278c4662
NB
36442002-06-19 Neil Booth <neil@daikokuya.co.uk>
3645
3646 * cpphash.h (struct cpp_reader): Make date and time strings.
3647 (_cpp_builtin_macro_text, _cpp_copy_replacement_text,
3648 _cpp_replacement_text_len): New.
3649 * cppinit.c (cpp_create_reader): Update.
3650 (init_builtins): Register appropriate builtins for -traditional-cpp.
3651 * cppmacro.c (new_number_token): Remove.
3652 (_cpp_builtin_macro_text): New.
3653 (builtin_macro): Use it.
3654 (cpp_macro_definition): Update to handle traditional macros.
3655 * cppmain.c (cb_line_change): Don't do column positioning for
3656 traditional output.
3657 * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New
3658 state ls_fun_close.
3659 (skip_whitespace): Fix.
3660 (maybe_start_funlike): Don't set state.parsing_args.
3661 (scan_out_logical_line): Remove duplicate error. Use lex_state
3662 rather than state.parsing_args.
3663 (push_replacement_text): Handle builtins.
3664 (_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
3665
afd1930f 36662002-06-18 Hans-Peter Nilsson <hp@axis.com>
f01a0d8d 3667 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
afd1930f
HPN
3668
3669 * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
3670 attribute __always_inline__.
3671
5ee924c2
BW
36722002-06-18 Bob Wilson <bob.wilson@acm.org>
3673
3674 * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
3675 when generating the call to _mcount.
3676 (NO_PROFILE_COUNTERS): Define.
3677
32c36ac8
RH
36782002-06-18 Richard Henderson <rth@redhat.com>
3679
3680 * print-rtl.c (print_rtx): Adjust NOTE argument numbers for
3681 2002-06-02 change.
3682
c985dc5e
R
3683Tue Jun 18 20:53:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
3684
3685 * t-sh (MULTILIB_EXCEPTIONS): Set to ml.
3686 config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
3687 * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
3688 * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
e3ba8d11
R
3689
3690 * sh-protos.h (sh_pr_interrupt): Declare.
3691 * sh.c (sh_pr_interrupt): New function.
3692 (print_operand, calc_live_regs, sh_expand_prologue): Use it.
3693 (sh_hard_regno_rename_ok): Likewise.
3694 * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
3695
e3c8eb86
VM
36962002-06-18 Vladimir Makarov <vmakarov@redhat.com>
3697
3698 * rtl.def (DEFINE_AUTOMATON): Add description of new options
3699 `time' and `v'. Fix incorrect description of option `w'.
3700
3701 * doc/md.texi: Ditto.
3702
3703 * genautomata.c (TIME_OPTION, V_OPTION): New macros.
3704 (gen_automata_option): Process the new options.
3705 (transform_2, transform_3): Initialize some variables.
3706 (initiate_automaton_gen): Use the new macros.
c894819c 3707
b2471838
RS
37082002-06-18 Richard Sandiford <rsandifo@redhat.com>
3709
3710 * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
3711 (mips_set_return_address, mips_restore_gp): Declare.
3712 * config/mips/mips.h (struct mips_frame_info): Move to mips.c
3713 (current_frame_info): Remove.
3714 (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
3715 * config/mips/mips.c: Remove uses of current_frame_info.
3716 (struct mips_frame_info): Moved from mips.h. Remove 'insns_len'.
3717 (struct machine_function): Add 'frame' and 'insns_len'.
3718 (current_frame_info, zero_frame_info): Remove.
3719 (mips_restore_gp, mips_set_return_address): New.
3720 (mips_initial_elimination_offset): New.
3721 * config/mips/mips.md (exception_receiver): Use mips_restore_gp.
3722 (eh_return define_split): Use mips_set_return_address.
3723
d97371e0
NB
37242002-06-18 Neil Booth <neil@daikokuya.demon.co.uk>
3725
3726 * cpplib.c (dtable): Update.
3727 (end_directive): Decrement expansion prevention count.
3728 Clear state.in_expression.
3729 (prepare_directive_trad): Set state.in_expression.
3730 Increment expansion prevention count.
3731 * cpptrad.c (enum ls): New.
3732 (_cpp_overlay_buffer): Set overlaid_buffer.
3733 (_cpp_remove_overlay): Use overlaid_buffer.
3734 (_cpp_read_logcial_line_trad): Update buffer when it might
3735 have changed.
3736 (scan_out_logical_line): Handle state transitions for assertions
3737 and defined() in #if, and for funlike invocations including the
3738 directive case. Handle '<' and '>' as a quote mechanism in
3739 #include. Warn about unterminated macro invocations.
3740 * cpphash.h (struct lexer_state): New member in_expression.
3741 (struct cpp_reader): New member overlaid buffer.
3742
807b20b0
HPN
37432002-06-18 Hans-Peter Nilsson <hp@axis.com>
3744
3745 * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
3746 __always_inline__.
3747
8a09a7e5
AM
37482002-06-18 Alan Modra <amodra@bigpond.net.au>
3749
147d5f6f
AM
3750 * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
3751
8a09a7e5
AM
3752 * doloop.c (doloop_optimize): Extract pattern from insn.
3753
390de769
MK
37542002-06-17 Matt Kraai <kraai@alumni.cmu.edu>
3755
3756 * doc/extend.texi (Function Attributes): Remove `,...' from @var.
3757
0ed4a390 37582002-06-17 Jeff Law <law@redhat.com>
912ce297
JL
3759
3760 * libgcc2.c: Do not include symcat.h or machmode.h.
3761
5c45425b
RH
37622002-06-17 Richard Henderson <rth@redhat.com>
3763
3764 PR target/6922
3765 * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
3766
9aa497ae
TT
37672002-06-17 Tom Tromey <tromey@redhat.com>
3768
3769 * dwarfout.c: Include function.h.
3770
7f11f1f9
AS
37712002-06-17 Andreas Schwab <schwab@suse.de>
3772
3773 * print-rtl.c (print_rtx): Print space before vector, not after.
3774 (debug_rtx): Clear sawclose before printing.
3775 (debug_rtx_list): Print newline after each list element.
3776 (debug_rtx_range): Likewise.
3777
df696a75
RH
37782002-06-17 Richard Henderson <rth@redhat.com>
3779
3780 * function.h (struct function) [funcdef_no]: Rename profile_label_no.
3781 (current_function_funcdef_no): Similarly.
3782 * function.c (funcdef_no): Similarly.
3783 (prepare_function_start): Set current_function_funcdef_no.
3784 (expand_function_start): Don't set current_function_profile_label_no.
3785 * dwarf2out.h (current_funcdef_number): Remove.
3786 * dwarf2out.c (current_funcdef_number): Remove. Replace with
3787 current_function_funcdef_no throughout.
3788 * dwarfout.c, vmsdbgout.c: Similarly.
3789 * except.c (sjlj_funcdef_number): Remove.
3790 (sjlj_emit_function_enter): Use current_function_funcdef_no instead.
3791 (output_function_exception_table): Likewise.
3792 * final.c (profile_function): Use current_function_funcdef_no
3793 instead of current_function_profile_label_no.
3794
97272202
VM
37952002-06-17 Vladimir Makarov <vmakarov@redhat.com>
3796
3797 * sched-ebb.c (init_ready_list): Check INSN_P first.
3798
8bccce2d
R
3799Mon Jun 17 17:26:15 2002 J"orn Rennecke <joern.rennecke@superh.com>
3800
3801 * sh.md (divsi3): Update way how to find insns in a sequence.
dec0798e
R
3802
3803 * reload1.c (merge_assigned_reloads): Don't change reloads
3804 other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
3805 to RELOAD_OTHER when there are conflicting input reloads.
3806
0af5c896
RE
38072002-06-17 Richard Earnshaw (rearnsha@arm.com)
3808
3809 * function.c (epilogue_done): Correctly build a sequence of insns for
3810 a sibcall epilogue.
3811
9d0fa9d6
NC
38122002-06-17 Nick Clifton <nickc@cambridge.redhat.com>
3813
845b1456
NC
3814 * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
3815 #define.
3816
9d0fa9d6
NC
3817 * config/m32r/m32r.md: Replace gen_sequence with get_insns.
3818
e83f3cff
RH
38192002-06-16 Richard Henderson <rth@redhat.com>
3820
3821 * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
3822 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
3823
caecc099
RH
38242002-06-16 Richard Henderson <rth@redhat.com>
3825
3826 PR opt/6722
3827 * regclass.c (globalize_reg): Update regs_invalidated_by_call.
3828
3d05b15f
NB
38292002-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
3830
caecc099
RH
3831 * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
3832 * config/i386/i386-aout.h, config/i386/i386elf.h,
3833 config/i386/sysv4.h: Remove CPP_PREDEFINES.
3834 * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
3835 config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
3836 config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
3837 config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
3d05b15f 3838 CPP_PREDEFINES and part of CPP_SPEC.
caecc099 3839 * config/i386/sysv4-cpp.h: New.
3d05b15f 3840
8370aa3a
RH
38412002-06-16 Richard Henderson <rth@redhat.com>
3842
65a90f3c 3843 PR c/7030
8370aa3a
RH
3844 * dwarf2out.c (modified_type_die): Don't assign the qualified die
3845 to the unqualified type.
3846
e932b21b
JH
3847Sun Jun 16 22:16:10 CEST 2002 Jan Hubicka <jh@suse.cz>
3848
3849 * i386-protos.h (x86_field_alignment): Declare.
3850 * i386.c (x86_field_alignment): Define.
3851 * i386.h (ADJUST_FIELD_ALIGNMENT): New.
3852 (BIGGEST_FIELD_ALIGNMENT): Kill.
3853
7ee02381
RH
38542002-06-16 Richard Henderson <rth@redhat.com>
3855
f01a0d8d 3856 * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
7ee02381 3857
750491fc
RH
38582002-06-16 Richard Henderson <rth@redhat.com>
3859
3860 * c-common.c (flag_ms_extensions): Move from c++ front end.
3861 * c-common.h (flag_ms_extensions): Declare.
3862 * c-decl.c (c_decode_option): Add -fms-extensions.
3863 (grokfield): Don't accept anonymous structures in ISO C mode;
3864 accept only unnamed anonymous structures in GNU C mode; accept
3865 Plan 9 extensions in MS mode.
3866 * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
3867 SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
3868 (extension): Clear flag_iso.
3869 * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
3870
c134da6b
HPN
38712002-06-16 Hans-Peter Nilsson <hp@axis.com>
3872
3873 PR target/7042
3874 * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
3875 early if current_function_epilogue_delay_list is non-empty.
3876 * config/cris/cris.md ("return"): Add sanity check asserting that
3877 current_function_epilogue_delay_list is empty.
3878
038c7976
JL
38792002-06-16 Jeff Law <law@redhat.com>
3880
006a94b0
JL
3881 * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
3882 sharing of hard registers.
3883
3884 * toplev.c (rest_of_compilation): Remove redundant conditional.
3885
038c7976
JL
3886 * toplev.c (rest_of_compilation): Perform a simpler, less costly
3887 cleanup of the CFG when not optimizing.
3888
0797741a
AM
38892002-06-16 Alan Modra <amodra@bigpond.net.au>
3890
3891 * gcc.c (main): Correct startfile_prefix_spec check.
3892
a6e2e53e
GK
38932002-06-12 Geoffrey Keating <geoffk@redhat.com>
3894
3895 * config.gcc: Revert rth's patch of 2002-05-18. Instead,
3896 include both darwin.o and rs6000-c.o.
3897
129e0ee8
RS
38982002-06-15 Roger Sayle <roger@eyesopen.com>
3899
3900 * expr.c (compare_from_rtx): Call simplify_relational_operation
3901 on all comparisons, not just those between integer constants,
3902 with the correct (possibly unsigned) comparison code.
3903 (do_compare_rtx_and_jump): Likewise.
3904
d5355cb2
JDA
39052002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
3906
3907 * Makefile.in (tm_defines): New configuration variable.
3908 (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
3909 Pass tm_defines in TM_DEFINES.
3910 (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES.
3911 * config.gcc (tm_defines): New configuration variable.
3912 (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
3913 pa-7100.h headers. Change hppa1* scheduling default to 7100LC.
3914 * configure.in: Substitute tm_defines.
3915 * configure: Rebuilt.
3916 * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES.
3917 * doc/install.texi: Update.
3918 * pa/pa-700.h: Delete file.
3919 * pa/pa-7100.h: Delete file.
3920
8dcb27ed
RS
39212002-06-15 Roger Sayle <roger@eyesopen.com>
3922
3923 * fold-const.c (comparison_to_compcode): New function to convert
3924 an comparison TREE CODE into a bit-based representation.
3925 (compcode_to_comparison): New function to convert from this bit
3926 based representation back to a comparison TREE CODE.
3927 (fold_truthop): Simplify (x<y) && (x==y) and related composite
3928 comparisons.
3929
182e515e
AH
39302002-06-15 Aldy Hernandez <aldyh@redhat.com>
3931
f01a0d8d 3932 * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
182e515e 3933
f01a0d8d
ID
3934 * stor-layout.c (compute_record_mode): Remove check for
3935 FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
3936 MEMBER_TYPE_FORCES_BLK. Pass new mode field to
3937 MEMBER_TYPE_FORCES_BLK.
182e515e 3938
f01a0d8d 3939 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 3940
f01a0d8d 3941 * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 3942
8773135d
JS
39432002-06-14 Jeff Sturm <jsturm@one-point.com>
3944
3945 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
3946
893a047c
SE
39472002-06-14 Steve Ellcey <sje@cup.hp.com>
3948
3949 * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
3950 USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
3951 * configure, config.in: Regenerate.
3952
045d7161
EB
39532002-06-14 Eric Botcazou <ebotcazou@multimania.com>
3954
3955 * loop.c (check_final_value): Use v->always_executed
3956 instead of v->always_computable.
3957 * unroll.c (final_giv_value): Don't calculate the final
3958 value as a function of the biv if the giv is not computed
3959 for every loop iteration.
3960
048c8616 39612002-06-14 Eric Botcazou <ebotcazou@multimania.com>
c894819c 3962
048c8616
EB
3963 * loop.c (for_each_insn_in_loop): Fix formatting and comments.
3964
43e4a9d8
EB
39652002-06-14 Eric Botcazou <ebotcazou@multimania.com>
3966
52689a98 3967 PR c/6677
43e4a9d8
EB
3968 * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
3969 the truncation down when the target type is signed.
3970 [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
3971 * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
3972 the conversion if the target type is a smaller type.
3973
fa4a5557
RH
39742002-06-14 Richard Henderson <rth@redhat.com>
3975
3976 * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
3977 earlier. Re-factor comparisons vs extrema.
3978
d95eb49f
RH
39792002-06-14 Richard Henderson <rth@redhat.com>
3980
3981 * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
3982
be202ec2
FS
39832002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3984
3985 * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
3986 * sched-deps.c (add_dependence): Likewise.
3987 (group_leader): Likewise.
3988 * sched-rgn.c (init_ready_list): Likewise.
3989 * doc/rtl.texi: Adjust accordingly.
3990
e56c4463
JL
39912002-06-13 Jeffrey Law <law@redhat.com>
3992
99a15921
JL
3993 * gcse.c (delete_null_pointer_checks_1): Inform caller if any
3994 null pointer checks were eliminated. Update prototype.
3995 (delete_null_pointer_checks): Similarly.
3996 * rtl.h (delete_null_pointer_checks): Update prototype.
3997 * toplev.c (rest_of_compilation): Only run cleanup_cfg if
3998 delete_null_pointer_checks deletes one or more null
3999 pointer checks. Do not run cleanup_cfg before gcse, the
4000 CFG is accurate and optimized at that point..
4001
e56c4463
JL
4002 * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
4003 of hard registers.
4004
556b821e
UW
40052002-06-14 Ulrich Weigand <uweigand@de.ibm.com>
4006
4007 * Makefile.in (libgcc.mk): Depend on specs.
4008
fa60f36d
R
4009Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com>
4010
4011 * sh.md (mulsi3): Update way how to find insns in a sequence.
4012
03b8ec29
DD
4013Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com>
4014
4015 * sh.h: Define HARD_REGNO_RENAME_OK
4016 * sh.c: sh_hard_regno_rename_ok: New. If current function has
4017 interrupt_handler attribute, only registers saved on stack are OK.
4018 * sh-protos.h: Declare sh_hard_regno_rename_ok.
4019
8e831557
KK
40202002-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
4021
4022 * config/sh/sh.md (jump): Emit jump insn.
4023 (call_pcrel): Get pattern of the result of gen_call_site.
4024 (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
4025
bf9d5852
NB
40262002-06-14 Neil Booth <neil@daikokuya.demon.co.uk>
4027
4028 * cpphash.h (struct cpp_buffer): Remove saved_line_base.
4029 * cpptrad.c: Update comments.
4030 (skip_whitespace, copy_comment): Take a new parameter.
4031 (skip_escaped_newlines): Don't duplicate escaped newline test.
4032 (copy_comment): Different location for CUR, decide here how
4033 to copy / replace the comment.
4034 (skip_whitespace): Copy whitespace.
4035 (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
4036 (scan_out_logical_line): Let copy comment handle keeping or
4037 replacing comments.
4038 (scan_parameters, _cpp_create_trad_definition): Update.
4039
57292ec3
AL
40402002-06-13 Alan Lehotsky <apl@alum.mit.edu>
4041
4042 * reload.c (get_secondary_mem,find_reloads_address,
4043 find_reloads_address_1): Pass reference to MEM to find_reloads_address
4044 so that LEGITIMIZE_RELOAD_ADDRESS will be called.
c894819c 4045
a6f5e048
RH
40462002-06-13 Jessica Han <jessica@cup.hp.com>
4047
4048 * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
4049 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
4050 * doc/tm.texi: Document them.
4051 * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
4052 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
4053 (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
4054 (ASM_OUTPUT_FDESC): Likewise.
4055
3aafa0bb
EC
40562002-06-13 Eric Christopher <echristo@redhat.com>
4057
4058 * diagnostic.c (output_format): Fix thinko.
4059
8e581963
R
4060Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
4061
4062 * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
4063 (DWARF2_UNWIND_INFO): Define to 0.
9d7ed806
R
4064
4065 * config/sh/sh.c (calc_live_regs): Don't use initial_value
4066 optimization for PR_MEDIA_REG.
4067
b66377c1
NB
40682002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
4069
4070 * cpphash.h (_cpp_lex_identifier_trad): Remove.
4071 * cpplib.c (end_directive): Don't skip, always remove overlay
4072 apart from #define.
4073 (prepare_directive_trad): Handle NULL pfile->directive.
4074 (_cpp_handle_directive): Always call prepare_directive_trad
4075 if traditional.
4076 * cppmain.c (check_multiline_token): Rename account_for_newlines,
4077 generalize inputs.
4078 (scan_translation_unit_trad): Use it.
4079 * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
4080 output, get escaped newline in comment close correct.
4081 (check_output_buffer, skip_whitespace): Update.
4082 (_cpp_lex_identifier_trad): Remove.
4083 (scan_out_logical_line): Handle -C and comments in directives
4084 properly.
4085
8bc6e101
R
4086Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
4087
4088 * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
4089 * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
4090 * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
4091 (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
4092 (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
4093 (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
4094 (SELECT_SH5_COMPACT_NOFPU): Likewise.
4095 (TARGET_SWITCHES): Use them.
4096 (TARGET_CPU_DEFAULT): Define if not already defined.
4097 (TARGET_DEFAULT): Use it.
4098 (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
4099 * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
4100 * config/sh/t-monolib: New file.
4101
2181005d
RS
41022002-06-13 Roger Sayle <roger@eyesopen.com>
4103
4104 * toplev.c (rest_of_compilation): Simplify (and correct) the
4105 logic of the first delete-null-pointer-checks pass.
4106
aaae0bb9
JH
4107Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz>
4108
4109 * i386.c (ix86_expand_movstr): Fix pasto.
4110
4111Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
b80cb6e2
JH
4112
4113 * reload.c (find_valid_class): Fix thinko in my previous patch.
4114
dd3fbd93
UW
41152002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
4116
4117 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
4118 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
4119 (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
4120 (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
4121
0d0f605c
GDR
41222002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
4123
4124 * tree-inline.c (expand_call_inline): Don' mess with _DECL
3aafa0bb 4125 fields.
0d0f605c 4126
c92bcccb
GDR
41272002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
4128
4129 * diagnostic.c (output_format): Recognize "%H" as a format
4130 specifier for a location_t.
4131 (text_specifies_location): New function.
4132 (diagnostic_set_info): Use it.
4133
7f243674
JL
41342002-06-13 Jeffrey Law <law@redhat.com>
4135
6cde4876
JL
4136 * emit-rtl.c (static_regno_reg_rtx): Define.
4137 (init_emit_once): Initialize static_regno_reg_rtx.
4138 (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
4139 of building new hard reg objects once per function.
4140 (gen_rtx_REG): Try to share hard regs.
4141 * regclass.c (init_fake_stack_mems): New function broken out from
4142 init_regs.
4143 * rtl.h (init_fake_stack_mems): Declare.
4144 * toplev.c (lang_independent_init): Call init_regs before
4145 init_emit_once. Call init_fake_stack_mems after init_emit_once.
4146
110b3faa
JL
4147 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
4148
7f243674
JL
4149 * alias.c (argument_registers): Remove.
4150 (init_alias_once): Initialize static_reg_base_value here. Remove
4151 initialization of argument_registers.
4152 (init_alias_once_per_function): Remove.
4153 (init_alias_analysis): Copy all the entries from static_reg_base_value
4154 into new_reg_base_value all at once.
4155 * rtl.h (init_alias_once_per_function): Remove declaration.
4156 * function.c (prepare_function_start): Do not call
4157 init_alias_once_per_function.
4158
4159 * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
4160 starting a sequence and emitting an INSN.
4161
a336f2e5
RS
41622002-06-13 Richard Sandiford <rsandifo@redhat.com>
4163
4164 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
4165
2acf0fa9
DM
41662002-06-13 David S. Miller <davem@redhat.com>
4167
4168 * expmed.c (init_expmed): Remove duplicate init of 'reg'.
4169
974c43f1
NB
41702002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
4171
4172 * cpplib.c (end_directive): Handle line skipping. Only remove
4173 the rest of the line if the directive was valid.
4174 * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
4175 expanding a traditional macro.
4176 * cpptrad.c (recursive_macro): New.
4177 (read_logical_line_trad): Handle skipping.
4178 (scan_out_logical_line): Continue after a successful directive.
4179 Don't expand macros whilst skipping, or if recursing.
4180 (_cpp_create_trad_definition): scan_out_logical_line now sets
4181 the output current position.
4182
12bf26b6
EC
41832002-06-12 Eric Christopher <echristo@redhat.com>
4184
4185 From Chris Demetriou <cgd@broadcom.com>
4186 * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
4187 comment.
4188 (ISA_HAS_MADD_MSUB): Ditto.
4189 (ISA_HAS_NMADD_NMSUB): Ditto.
4190
be95b8a5
EC
41912002-06-12 Eric Christopher <echristo@redhat.com>
4192
4193 * config.gcc: Consolidate little endian handling and
4194 little/big endian targets.
4195 * config/mips/elfl.h: Remove file.
4196 * config/mips/elfl64.h: Ditto.
4197 * config/mips/ecoffl.h: Ditto.
4198 * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
4199
e03856fe
GK
42002002-06-12 Geoffrey Keating <geoffk@redhat.com>
4201
4202 * gengtype.h (xvasprintf): New prototype.
4203 (xasprintf): New prototype.
4204 (struct outf): New.
4205 (get_output_file): Return an outf_p.
4206 (header_file): Is now an outf_p.
4207 (base_files): Now are outf_p.
4208 (oprintf): New.
4209 * gengtype.c: Replace all output FILE * with outf_p; use oprintf
4210 rather than stdio operations. Use xasprintf in a few places,
4211 when appropriate.
4212 (xvasprintf): New.
4213 (xasprintf): New.
4214 (struct filemap): Delete.
4215 (files): Delete.
4216 (output_files): New.
4217 (oprintf): New.
4218 (create_file): Create an outf_p. Add parameter to indicate output
4219 file name, change all callers.
4220 (open_base_files): Create gtype-desc.c here.
4221 (get_output_file_with_visibility): Rewrite.
4222 (get_output_file_name): Just look at 'name' field in struct outf.
4223 (close_output_files): Rewrite.
4224
ec01703c
JT
42252002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
4226
4227 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
be95b8a5 4228 (MASK_G_FLOAT): Define.
ec01703c
JT
4229 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
4230 (TARGET_SWITCHES): Likewise.
4231 (TARGET_DEFAULT): Likewise.
4232
8b0397a6
DJ
42332002-06-12 Daniel Jacobowitz <drow@mvista.com>
4234
4235 * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
4236 * config/mips/mips.c (mips_output_filename): Don't print a
4237 ".file" directive if we are using DWARF-2.
4238 (mips_output_function_prologue): Do not emit source file
4239 name for TARGET_GAS.
4240
495333a6
JH
4241Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
4242
4243 * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
4244 decide whether emit the short opcode.
4245 * i386.h (x86_shift1): Declare.
4246 (TARGET_SHIFT1): New macro.
4247 * i386.c (x86_shift1): New global variable.
4248
8b0397a6
DJ
4249 * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
4250 unconditionally; make loop to rebuild CFG; kill unnecesary
4251 find_basic_block calls; kill compute_bb_for_insn call.
495333a6
JH
4252 * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
4253 * haifa-sched.c (sched_init): Likewise.
4254 * ssa-ccp.c (ssa_const_prop): Likewise.
4255 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
4256
d11cea13
DM
42572002-06-11 David S. Miller <davem@redhat.com>
4258
4259 * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
4260 active_insn_p.
4261
676997cf
RH
42622002-06-11 Richard Henderson <rth@redhat.com>
4263
4264 * c-common.c (builtin_define_type_max): New.
4265 (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
4266 __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
4267
4268 From Joseph S. Myers:
4269 * glimits.h: Rewrite to expect the double underscore definitions
4270 from the compiler.
4271
4272 * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
4273 config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
4274 config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
4275 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
4276 config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
4277 config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
4278 config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
4279 __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
4280
116b7a5e
RH
42812002-06-11 Richard Henderson <rth@redhat.com>
4282
4283 * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
4284 (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
4285 (code_for_builtns): Update.
4286 (alpha_init_builtins): Add __builtin_thread_pointer and
4287 __builtin_set_thread_pointer.
4288 (alpha_expand_builtin): Handle void builtins.
4289 * doc/extend.texi (Alpha Built-in Functions): Update.
4290
0cec6af1
HPN
42912002-06-11 Hans-Peter Nilsson <hp@axis.com>
4292
4293 PR target/6997
4294 * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
4295
1c0ca89d
ZW
42962002-06-11 Zack Weinberg <zack@codesourcery.com>
4297
4298 * config.gcc: Make the name of the extra-modes file adjustable
4299 by target stanzas.
4300 (s390x, strongarm, xscale stanzas): Use this facility.
4301 * configure.in: Update to match.
4302 * configure: Regenerate.
4303
5dc8d536
AH
43042002-06-11 Aldy Hernandez <aldyh@redhat.com>
4305
1c0ca89d
ZW
4306 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
4307 max/mins as unsigned GE compares.
5dc8d536 4308
169274cd
JT
43092002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
4310
1c0ca89d 4311 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
169274cd
JT
4312 * config/vax/bsd.h: New file.
4313 * config/vax/netbsd.h: Add missing notice.
1c0ca89d
ZW
4314 (CPP_PREDEFINES): Remove.
4315 (TARGET_OS_CPP_BUILTINS): Define.
4316 (CPP_SPEC): Use NETBSD_CPP_SPEC.
169274cd
JT
4317 * config/vax/openbsd.h: Update copyright years.
4318 (CPP_PREDEFINES): Remove.
4319 (TARGET_OS_CPP_BUILTINS): Define.
4320 * config/vax/ultrix.h: Likewise.
4321 * config/vax/vaxv.h: Likewise.
4322 * config/vax/vms.h: Likewise.
4323 * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
4324 (CPP_PREDEFINES, CPP_SPEC): Remove.
4325
2f41793e
JH
4326Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz>
4327
4328 * i386.md (addqi_1_slp, subqi_1_slp
4329 (andqi_ext0, testqi_ext0): Remove unnecesary check.
4330 (addhi*, addqi*): Simplify "dec" condition.
4331 (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
4332 (and, or, xor to QImode splitters): New.
4333 (iorqi_ext*): New.
4334 (xorqi_ext_0): New.
4335 (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
4336 (andqi_ext_1_rex64): New.
4337 (ashrqi*_slp): New.
4338 (ashlqi*_slp): New.
4339 (lshlqi*_slp): New.
4340 (rotrqi3*_slp): New.
4341 (rotlqi3*_slp): New.
4342
fc5c400a
GK
43432002-06-11 Geoffrey Keating <geoffk@redhat.com>
4344
4c4eb375
GK
4345 * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
4346 softfloat.h.
4347 * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
4348 (CPP_ENDIAN_LITTLE_SPEC): Delete.
4349 * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
4350 * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
4351 __LONG_DOUBLE_128__ setting, _CALL_* setting.
4352 (CPP_DEFAULT_SPEC): Delete.
4353 (CPP_FLOAT_DEFAULT_SPEC): Delete.
4354 (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
4355 (CPP_SYSV_DEFAULT_SPEC): Delete.
4356 (CPP_ENDIAN_BIG_SPEC): Delete.
4357 (CPP_ENDIAN_LITTLE_SPEC): Delete.
4358 (CPP_ENDIAN_SPEC): Delete.
4359 (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
4360 (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
4361 cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
4362 cpp_longdouble_default.
4363 * config/rs6000/softfloat.h: Delete.
4364 * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
4365 (EXTRA_SPECS): Delete cpp_cpu.
4366 (TARGET_CPU_CPP_BUILTINS): New.
4367 * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
4368 prototype.
4369 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
4370 * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
4371 (CPP_DEFAULT_SPEC): Delete.
4372 * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
4373 * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
4374 * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
4375 (CPP_DEFAULT_SPEC): Delete.
4376 * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
4377 (CPLUSPLUS_CPP_SPEC): Likewise.
4378 (CPP_CPU_SPEC): Delete.
4379 (CPP_DEFAULT_SPEC): Delete.
4380 * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
4381 (CPLUSPLUS_CPP_SPEC): Likewise.
4382 (CPP_CPU_SPEC): Delete.
4383 (CPP_DEFAULT_SPEC): Delete.
4384 * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
4385 (CPP_DEFAULT_SPEC): Delete.
4386 * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
4387 (CPP_DEFAULT_SPEC): Delete.
4388
fc5c400a
GK
4389 * doc/gty.texi: Small updates.
4390
13f0d49c
GDR
43912002-06-12 Gabriel Dos Reis <gdr@codesourcery.com>
4392
4393 * objc/objc-act.c (warn_with_ivar): Adjust calls to
4394 diagnostic_count_error.
4395 (warn_with_method): Likewise.
4396
4397 * diagnostic.h (warnings_are_errors_message): New field of
4398 diagnostic_context.
4399 (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
4400 match semantics.
4401 * diagnostic.c: Adjust calls to diagnostic_count_error through out.
4402 (diagnostic_count_diagnostic): Make aware of other kinds of
1c0ca89d 4403 diagnostics.
13f0d49c
GDR
4404 (diagnostic_initialize): Initialize warnings_are_errors_message field.
4405
0797e472
TT
44062002-06-11 Tom Tromey <tromey@redhat.com>
4407
4408 For PR java/6520:
4409 * fold-const.c (fold_convert): Don't modify existing tree's type.
4410
f288d4aa
GK
44112002-06-11 Geoffrey Keating <geoffk@redhat.com>
4412
4413 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
4414
d27bab4c
RH
44152002-06-11 Richard Henderson <rth@redhat.com>
4416
4417 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
4418
bc2a8f08
RH
44192002-06-11 Richard Henderson <rth@redhat.com>
4420
1c0ca89d 4421 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
bc2a8f08
RH
4422 DWARF2_UNWIND_INFO is false.
4423
b217ec1b
BW
44242002-06-11 Bob Wilson <bob.wilson@acm.org>
4425
4426 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
4427
11819f80
UW
4428 * config/s390/s390.c (emit_prologue): gen_store_multiple
4429 returns an insn now, not a pattern.
4430
c2727579
RO
44312002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4432
4433 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
4434 $(TEXI2DVI) -o.
4435
285464d0
JH
4436Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
4437
4438 * i386.c (x86_promote_QImode): Set for Athlon
4439 (x86_fast_prefix): New global variable.
4440 (x86_arch_always_fancy_math_387): Fix formating.
4441 * i386.h (x86_fast_prefix): Declare
4442 (TARGET_FAST_PREFIX): define.
4443 * i386.md (and to strict_low_part, HI to SI
4444 promoting splitter): Use new macro.
4445
4446 * i386.h (RTX_COSTS): float_extend is not for free for SSE.
4447
1bb1f121
ZW
44482002-06-11 Zack Weinberg <zack@codesourcery.com>
4449
4450 * Makefile.in (distclean): Delete junk left in testsuite
4451 directory, too.
4452
88c65786
JL
44532002-06-11 Jeffrey Law <law@redhat.com>
4454
c6a3fcf0
JL
4455 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
4456 last insn created by the splitter.
4457
0db79a6b
JL
4458 * caller-save.c (init_caller_save): Move creation of SAVEINSN
4459 and RESTINSN into into the scope of the sequence.
4460
47eb2ca8
JL
4461 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
4462 RETURN insns.
4463
603b4b92
JL
4464 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
4465
88c65786
JL
4466 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
4467 not the pattern. So extract the pattern from the insn.
882c7223
JL
4468
4469 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
4470
df14489a
UW
44712002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
4472
4473 * config/s390/s390.md (movsi): Only use floating point
4474 register alternatives when operands are already fprs.
4475 (movdi_31, movdi_64): Likewise.
4476
6f9703af
DM
44772002-06-11 David S. Miller <davem@redhat.com>
4478
4479 * emit-rtl.c (try_split): Do not abort on non-INSN_P.
4480 Only run RTX equality checks on INSN_P rtl.
4481
b2ccb744
UW
44822002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
4483
4484 * config/s390/s390.md (reload_base, ltorg): Remove.
1c0ca89d 4485 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744 4486 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
1c0ca89d 4487 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744
UW
4488 s390_asm_output_pool_prologue): Likewise.
4489 * s390.h (s390_pool_start_insn): Likewise.
4490
1c0ca89d 4491 * s390.c (s390_output_symbolic_const): Remove support for
b2ccb744
UW
4492 old-style pool chunks.
4493 (s390_function_epilogue): Likewise.
1c0ca89d 4494 (s390_output_constant_pool): Likewise. Also, fix incorrect
b2ccb744
UW
4495 alignment for 64-bit literal pools.
4496 (print_operand_address): Remove 'y' and 'Y' format flags.
1c0ca89d 4497 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
b2ccb744
UW
4498 old-style pool chunks.
4499 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
4500 (ASM_OUTPUT_POOL_EPILOGUE): Remove.
4501 (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
4502
4503 * s390.c (consttable_operand): New function.
4504 * s390-protos.h (consttable_operand): Declare it.
4505 * s390.h (PREDICATE_CODES): Add consttable_operand.
1c0ca89d
ZW
4506 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
4507 consttable_sf, consttable_df, pool_start_31, pool_end_31,
b2ccb744
UW
4508 pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
4509 * s390.c (struct constant, struct constant_pool): New data types.
4510 (constant_modes, gen_consttable): New variables.
1c0ca89d 4511 (s390_start_pool, s390_end_pool, s390_add_pool,
b2ccb744 4512 s390_dump_pool, s390_free_pool): New functions.
1c0ca89d 4513 (s390_chunkify_pool): Completely reimplement literal pool
b2ccb744
UW
4514 overflow handling.
4515
4516 * s390.c (s390_pool_overflow): New variable.
4517 * s390.h (s390_pool_overflow): Declare it.
1c0ca89d 4518 * s390.md (cjump, icjump): Use it to adapt length for out-of-range
b2ccb744
UW
4519 jumps in literal pool overflow situations.
4520
4521 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
1c0ca89d 4522 (s390_frame_info): Account for possible use of RETURN_REGNUM
b2ccb744
UW
4523 by new literal pool overflow code.
4524 (s390_emit_prologue): Likewise.
4525
2f937369
DM
45262002-06-05 David S. Miller <davem@redhat.com>
4527
4528 Delete SEQUENCE rtl usage outside of reorg and ssa passes.
4529 * rtl.h (gen_sequence, emit_insns, emit_insns_before,
4530 emit_insns_before_scope, emit_insns_after,
4531 emit_insns_after_scope): Delete declaration.
4532 * ada/misc.c (insert_code_for): Use emit_insn* instead of
4533 emit_insns_foo.
4534 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
4535 (alpha_set_memflags): Fix comment.
4536 (set_frame_related_p): Use get_insns instead of gen_sequence.
4537 * config/alpha/alpha.md (setjmp receiver splitter): Avoid
4538 emitting no insns.
4539 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
4540 gen_sequence.
4541 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
4542 * config/fr30/fr30.c (fr30_move_double): Likewise.
4543 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
4544 Likewise.
4545 * config/ia64/ia64.c (spill_restore_mem): Likewise.
4546 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
4547 no insns.
4548 * config/m32r/m32r.c (gen_split_move_double): Use get_insns
4549 instead of gen_sequence.
4550 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
4551 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
4552 * config/sh/sh.c (sh_need_epilogue): Likewise.
4553 * config/sparc/sparc.md (current_function_calls_alloca, flat): New
4554 attributes.
4555 (setjmp pattern and split): Use them to avoid splitter which emits
4556 no RTL.
4557 * genattrtab.c (main): Emit include of function.h
4558 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
4559 get_insns instead of gen_sequence.
4560 * config/cris/cris.c (cris_split_movdx): Likewise.
4561 * emit-rtl.c (emit_insns*): Kill.
4562 (try_split): Expect insn list instead of SEQUENCE.
4563 (make_jump_insn_raw, make_call_insn_raw): Fix comments.
4564 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
4565 Make them abort if a SEQUENCE is given and RTL checking is
4566 enabled.
4567 (emit_*_scope): Don't forget to set scope on final insn.
4568 (gen_sequence): Move from here...
4569 * ssa.c (gen_sequence): To here as private function.
4570 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
4571 comments.
4572 (expand_builtin_return, expand_builtin_mathfn): Likewise.
4573 (expand_builtin_strlen): Use get_insns instead of gen_sequence.
4574 (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
4575 (expand_builtin_expect_jump): Use get_insns and fix comments.
4576 * calls.c (try_to_integrate): Use emit_insn_foo.
4577 (expand_call, emit_library_call_value_1): Likewise.
4578 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
4579 (emit_move_insn_1): Use get_insns instead of gen_sequence.
4580 (expand_expr): Use emit_insn_foo.
4581 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
4582 * except.c (build_post_landing_pads): Likewise.
4583 * flow.c (attempt_auto_inc): Likewise.
4584 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
4585 expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
4586 * function.c (fixup_var_refs_insn): Use get_insns instead of
4587 gen_sequence.
4588 (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
4589 (fixup_memory_subreg): Use get_insns instead of gen_sequence.
4590 (fixup_stack_1, purge_addressof_1, expand_main_function,
4591 get_arg_pointer_save_area): Likewise.
4592 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
4593 expand_function_end): Use emit_insn_foo.
4594 (record_insns, keep_stack_depressed): Work with insn list instead
4595 of SEQUENCE, fix comments.
4596 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
4597 noce_try_store_flag_constants, noce_try_store_flag_inc,
4598 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
4599 noce_try_minmax, noce_try_abs): Use emit_insn_foo.
4600 (noce_process_if_block): Use get_insns instead of gen_sequence.
4601 * optabs.c (add_equal_note): Work with insn list, fix comments.
4602 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
4603 (expand_unop, expand_complex_abs, expand_unop_insn,
4604 expand_no_conflict_block): Likewise.
4605 (gen_move_insn): Use get_insns instead of gen_sequence.
4606 (gen_cond_trap): Likewise.
4607 * integrate.c (copy_rtx_and_substitute): Likewise.
4608 (emit_initial_value_sets): Use emit_insn_foo.
4609 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
4610 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
4611 now that RTL generators give insn lists.
4612 * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
4613 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
4614 instead of gen_sequence.
4615 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
4616 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
4617 instead of gen_sequence.
4618 * loop.c (move_movables, emit_prefetch_instructions,
4619 gen_add_mult, check_dbra_loop, gen_load_of_final_value):
4620 Likewise.
4621 (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
4622 (product_cheap_p): Likewise, and add commentary about RTL wastage
4623 here.
4624 * lcm.c (optimize_mode_switching): Use get_insns instead of
4625 gen_sequence.
4626 * profile.c (gen_edge_profiler): Likewise.
4627 * regmove.c (copy_src_to_dest): Likewise.
4628 * reg-stack.c (compensate_edge): Likewise and fix comment.
4629 * gcse.c (process_insert_insn): Likewise.
4630 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
4631 * jump.c (delete_prior_computation): Update comment.
4632 * genemit.c (gen_expand, gen_split, main): Use get_insns instead
4633 of gen_sequence, update comments to match.
4634 * recog.c (peephole2_optimize): Work with insn lists instead of
4635 SEQUENCE rtl.
4636 * sched-vis.c (print_pattern): Abort on SEQUENCE.
4637 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
4638 Use get_insns instead of gen_sequence.
4639 (copy_loop_body): Likewise and don't emit dummy NOTE.
4640 * genrecog.c: Don't mention SEQUENCE rtl in comments.
4641 * combine.c (try_combine): Expect insn lists from split generator.
4642 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
4643 hand.
1c0ca89d 4644
43cf10b5
RS
46452002-06-11 Roger Sayle <roger@eyesopen.com>
4646 Andreas Jaeger <aj@suse.de>
4647
4648 * cfgbuild.c: Update copyright years.
4649
1062f15a
AS
46502002-06-11 Andreas Schwab <schwab@suse.de>
4651
1c0ca89d 4652 * config/m68k/m68k.h (PREDICATE_CODES): Define.
1062f15a 4653
ce3649d2
EC
46542002-06-11 Eric Christopher <echristo@redhat.com>
4655
4656 * doc/tm.texi (Run-time Target): Add comment about flag_iso
4657 and strict ANSI.
4658 * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
4659 * config/mips/ecoffl.h: Ditto.
4660 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
4661 (CPP_PREDEFINES): Ditto.
4662 * config/mips/elfl64.h: Ditto.
4663 * config/mips/elfl.h: Ditto.
4664 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
4665 out until irix header consolidation.
4666 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
4667 with SUBTARGET_OS_CPP_BUILTINS.
4668 * config/mips/iris6.h: Ditto.
4669 (CPLUSPLUS_CPP_SPEC): Remove.
4670 * config/mips/linux.h: Ditto.
4671 * config/mips/netbsd.h: Ditto.
4672 * config/mips/openbsd.h: Ditto.
4673 * config/mips/rtems.h: Ditto.
4674 * config/mips/rtems64.h: Ditto.
4675 * config/mips/sni-svr4.h: Ditto.
4676 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
4677 ISA_MIPS32, ISA_MIPS64): New defines.
4678 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
4679 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
4680 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
4681 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
4682 (TARGET_CPU_CPP_BUILTINS): Define.
4683 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
4684 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
4685 (movdicc): Remove check for ISA_MIPS32.
4686 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
4687 sunordered_df, sunordered_sf, sordered_df, sordered_sf,
4688 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
4689 sunge_sf, sunle_df, sunle_sf): New patterns.
4690
bc3437ba
NB
46912002-06-11 Neil Booth <neil@daikokuya.demon.co.uk>
4692
4693 * Makefile.in: Update cppmain.o.
4694 * cpphash.h (struct cpp_reader): Move some members to a
4695 nested structure.
4696 (trad_line): Rename saved_line.
4697 (_cpp_read_logical_line_trad): Update.
4698 (_cpp_remove_overlay): New.
4699 * cppinit.c (cpp_create_reader): No need to set saved_line.
4700 (cpp_destroy): Update.
4701 (cpp_read_main_file): Only overlay if compiling.
4702 * cpplex.c (continue_after_nul): Return false if in directive.
4703 * cpplib.c (EXPAND): New.
4704 (directive_table, SEEN_EOL): Update.
4705 (end_directive): Remove overlay if traditional; don't skip
4706 line in traditional #define.
4707 (prepare_directive_trad): New.
4708 (_cpp_handle_directive, run_directive): Update for traditional
4709 directives.
4710 (lex_macro_node): Simplify, don't use lex_identifier_trad.
4711 * cpplib.h (struct options): Add preprocess_only.
4712 * cppmain.c: Don't include intl.h.
4713 (cpp_preprocess_file): Set options->preprocess_only.
4714 (scan_translation_unit_trad): Fix, and print line numbers.
4715 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
4716 maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
4717 save_replacement_text, _cpp_create_trad_definition): Update for
4718 variable renaming.
4719 (_cpp_overlay_buffer): Save line number.
4720 (_cpp_remove_overlay): Rename from restore_buff, restore line.
4721 (_cpp_read_logical_line_trad): Don't handle overlays here.
4722 (scan_out_logical_line): Process directives.
4723
b25bb36a
DS
47242002-06-11 Danny Smith <dannysmith@users.sourforge.net>
4725
4726 * gthr-win32.h: Wrap functions in extern "C".
4727 (__gthread_key_t): Typedef as unsigned long,
4728 not win32 DWORD.
4729 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
4730 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
4731 (__gthr_win32_once, __gthr_win32_key_create,
4732 __gthr_win32_key_delete, __gthr_win32_getspecific,
4733 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
4734 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
4735 __gthr_win32_mutex_unlock): Declare.
4736 (__gthread_once,__gthread_key_create,
4737 __gthread_key_delete, __gthread_getspecific,
4738 __gthread_setspecific, __gthread_mutex_init_function,
4739 __gthread_mutex_lock,__gthread_mutex_trylock,
4740 __gthread_mutex_unlock): Call corresponding
4741 __gthr_win32_* extern implementations if #defined
4742 __GTHREAD_HIDE_WIN32API.
4743 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
ce3649d2 4744 $(srcdir)/config/i386/gthr-win32.c
b25bb36a
DS
4745 * config/i386/gthr-win32.c: New implementation file.
4746 (__gthr_win32_once, __gthr_win32_key_create,
4747 __gthr_win32_key_delete, __gthr_win32_getspecific,
4748 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
4749 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
4750 __gthr_win32_mutex_unlock): New functions, based on
4751 static inlines in gthr-win32.h.
4752
a69c385e
BW
47532002-06-10 Bob Wilson <bob.wilson@acm.org>
4754
4755 * config/xtensa/xtensa.c (override_options): Don't warn about
4756 using -fpic or -fPIC when PIC is enabled by default.
4757
e654730d
RS
47582002-06-10 Roger Sayle <roger@eyesopen.com>
4759
4760 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
4761
a5381466
ZW
47622002-06-10 Zack Weinberg <zack@codesourcery.com>
4763
4764 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
ce3649d2 4765 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
a5381466
ZW
4766 exists, substitute its pathname as @extra_modes_file@, define
4767 EXTRA_MODES_FILE to be an appropriate string to #include it
4768 with, and define EXTRA_CC_MODES to 1.
4769
4770 * machmode.def: Update comments. Include EXTRA_MODES_FILE if
4771 it's defined. Get rid of redundancy in calling sequence for
4772 CC; don't use it to define CCmode, to avoid a warning.
4773 * libgcc2.c: Include symcat.h for the sake of machmode.def.
4774
4775 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
4776 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
4777 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
4778 New files.
4779 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
4780 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
4781
4782 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
4783 defining extra CC modes.
4784
852c6ec7
RS
47852002-06-10 Roger Sayle <roger@eyesopen.com>
4786 Andreas Jaeger <aj@suse.de>
4787
4788 * cfgrtl.c (create_basic_block_structure): Remove index argument
4789 and use last_basic_block++ instead. (create_basic_block): Update.
4790 * cfgbuild.c (find_basic_blocks_1): Likewise.
4791
4792 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
4793 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
4794 * sched-ebb.c (schedule_ebbs): Likewise.
4795 * sched-rgn.c (schedule_insns): Likewise.
4796 * ssa-ccp.c (ssa_const_prop): Likewise.
4797 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
4798 * toplev.c (rest_of_compilation): Likewise.
4799 * config/ia64/ia64.c (ia64_reorg): Likewise.
4800
60c86d4e
RS
48012002-06-10 Roger Sayle <roger@eyesopen.com>
4802
4803 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
4804 of matching registers.
4805
9543a9d2
RS
48062002-06-10 Roger Sayle <roger@eyesopen.com>
4807
4808 * toplev.c (rest_of_compilation): Disable early if-conversion pass.
4809 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
4810
38e18619
HPN
48112002-06-10 Hans-Peter Nilsson <hp@bitrange.com>
4812
4813 * config/mmix/mmix.h: Improve comments.
4814 (CPP_SPEC, CPP_PREDEFINES): Don't define.
4815 (TARGET_CPU_CPP_BUILTINS): Define.
4816 (CANONICALIZE_COMPARISON): Don't define, replace with comment.
4817 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
4818 unused predicate.
4819 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
4820 compiler warning.
4821 (mmix_constant_address_p): Remove another
4822 redundant test before case.
4823 (mmix_canonicalize_comparison): Remove unused function.
4824 (mmix_print_operand_address): Don't test and adjust for operand in
4825 non-canonical format.
4826 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
4827 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
4828
ac17cd8f
ZW
48292002-06-10 Zack Weinberg <zack@codesourcery.com>
4830
4831 * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
4832 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
4833 * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
4834 (gen_compare): Use CCmode unconditionally.
4835
7b668f9e
JJ
48362002-06-10 Jakub Jelinek <jakub@redhat.com>
4837
4838 PR optimization/6759
4839 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
4840 the REQ_EQUAL note.
4841
85d49058
JJ
48422002-06-10 Jakub Jelinek <jakub@redhat.com>
4843
4844 PR c/6660
4845 * c-decl.c (grokfield): Allow user defined types if they declare
4846 structs or unions for unnamed fields.
4847
50f30e6b
JJ
48482002-06-10 Jakub Jelinek <jakub@redhat.com>
4849
4850 PR c/6809
4851 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
4852
156755ac
JJ
48532002-06-10 Jakub Jelinek <jakub@redhat.com>
4854
4855 PR optimization/6842
4856 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
4857 operand subreg cannot be simplified.
4858
5d056e9b
JJ
48592002-06-10 Jakub Jelinek <jakub@redhat.com>
4860
4861 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
4862 (compare_constant): Likewise.
4863 (output_addressed_constants): Likewise.
4864
2bf87216
JJ
48652002-06-10 Jakub Jelinek <jakub@redhat.com>
4866
4867 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
4868 merge bb with itself.
4869
135fd2d8
RH
48702002-06-10 Richard Henderson <rth@redhat.com>
4871
4872 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
4873 (builtin_zapnot): Likewise.
4874
4875 * config/alpha/ev5.md: Don't combine shift and mvi insns in one
4876 reservation.
4877
fce5a9f2
EC
48782002-06-10 Eric Christopher <echristo@redhat.com>
4879
4880 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
4881 prototype and function.
4882 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
4883 (call_insn_operand): Remove half pic references.
4884 (legitimate_address_p): Ditto.
4885 * config/i386/i386.h: Remove half pic defines.
4886
95b1627e
EC
48872002-06-10 Eric Christopher <echristo@redhat.com>
4888
4889 * doc/extend.texi (Return Address): Add note explaining the side-
4890 effects of inlining on __builtin_return_address.
4891
aea185b3
TT
48922002-06-10 Tom Tromey <tromey@redhat.com>
4893
4894 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
4895 (c-common.o): Depend on langhooks.h.
4896
afb03408
NB
48972002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
4898
4899 * cpphash.h (_cpp_read_logical_line_trad,
4900 _cpp_expansions_different_trad): Update prototypes.
4901 * cpplex.c (continue_after_nul): New.
4902 * cppmain.c: Include cpphash.h.
4903 (scan_translation_unit_trad): New.
4904 (cpp_preprocess_file): Call it.
4905 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
4906 overlay.
4907 (_cpp_expansions_different_trad): Update prototype.
4908
2754d3c5
R
4909Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
4910
4911 Fix cfi generation for SH[1-4]:
4912
4913 * sh.c (frame_insn): New function.
4914 (output_stack_adjust): Add parameter emit_fn. All callers changed.
4915 (push): Now returns rtx. Use frame_insn.
4916 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
4917 of a DF register.
4918 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
4919
ad854f24
ZW
49202002-06-10 Zack Weinberg <zack@codesourcery.com>
4921
4922 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
4923 and gtype-desc.c.
4924 (mostlyclean): Delete specs.h, options.h, gencheck.h here...
4925 (distclean): ... not here. But do delete all testsuite/*.log,
4926 testsuite/*.sum files here. Delete mkheaders. Delete
4927 po/*.gmo and the testsuite directory in a split tree build.
4928
bf1660a6
JL
49292002-06-10 Jeffrey Law <law@redhat.com>
4930
4931 * alias.c (static_reg_base_value): New to hold RTL for
4932 items allocated once per function for the aliasing code.
4933 (init_alias_once_per_function): Initialize static_reg_base_value.
4934 (init_alias_analysis): Avoid throw-away allocations of RTL by
4935 using pre-computed values in static_reg_base_value.
4936 * function.c (prepare_function_start): Call
4937 init_alias_once_per_function appropriately.
4938 * rtl.h (init_alias_once_per_function): Declare.
4939 * caller-save (init_caller_save): Restructure slightly to
4940 avoid lots of silly RTL generation.
4941 * expr.c (init_expr_once): Likewise.
4942 * reload1.c (reload_cse_regs_1): Allocate throw-away register
4943 RTL object here. Pass it into children.
4944 (reload_cse_simplify_operands): Use passed-in register RTL
4945 object.
4946 (reload_cse_simplify): Pass through throw-away register
4947 RTL object.
4948
8dc58484 49492002-06-10 Daniel Berlin <dberlin@dberlin.org>
ad854f24 4950
8dc58484
DB
4951 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
4952
ea16b5ee
RS
49532002-06-10 Richard Sandiford <rsandifo@redhat.com>
4954
4955 * gcc.c (process_command): Avoid assignment to read-only location.
4956 Fix sizeof calculation.
4957
6618c5d4
NB
49582002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
4959
4960 * cpphash.h (struct cpp_macro): Put comments on their own lines.
4961 (_cpp_expansions_different_trad): New.
4962 * cppmacro.c (warn_of_redefinition): Fix for traditional case.
4963 * cpptrad.c (canonicalize_text): New.
4964 (scan_out_logical_line): Handle no arguments correctly.
4965 (save_replacement_text): Commit memory when finished.
4966 (_cpp_expansions_different_trad): New.
4967
96e3ac4f
TJ
49682002-06-10 Tim Josling <tej@melbpc.org.au>
4969
4970 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
4971 TREELANG and COBOL.
4972 (lang_names): Add treelang and cobol.
4973 (get_file_basename): Add code to support treelang and cobol as
4974 4th and 5th users of c-common.c.
4975
37a4aa31
GK
49762002-06-09 Geoffrey Keating <geoffk@redhat.com>
4977
4978 * Makefile.in (install-driver): Install driver as
4979 $(target_alias)-gcc-$(version).
4980 * gcc.c (spec_version): Make const.
4981 (process_command): Handle -V and -b by using exec.
4982 * doc/invoke.texi (Target Options): Restore -V option,
4983 update docs for -b option.
4984
02ef40d9
TJ
49852002-06-10 Tim Josling <tej@melbpc.org.au>
4986
ad854f24
ZW
4987 * configure.in (remaining_languages_check):
4988 Added check that all languages specified were found.
02ef40d9
TJ
4989 Exit if not found. Previous behaviour was silent failure.
4990 * configure: Regenerated.
4991
b38b97c4 49922002-06-10 Tim Josling <tej@melbpc.org.au>
ad854f24 4993
1c0ca89d 4994 First steps to making treelang documentation compliant, based on
b38b97c4
TJ
4995 instructions in sourcebuild.texi. Also add to gcc.c list of
4996 default languages.
ad854f24 4997
b38b97c4
TJ
4998 * doc/contrib.texi: Add self as contributor of treelang.
4999
5000 * doc/frontends.texi: Add mention of treelang.
5001
5002 * doc/invoke.texi (Overall Options): Add mention of treelang.
5003
5004 * doc/standards.texi: Add mention of treelang.
5005
ae9dbf1f
HPN
50062002-06-09 Hans-Peter Nilsson <hp@axis.com>
5007
5008 * config/cris/cris.c: Include ggc.h
5009
1ce676a0
NB
50102002-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
5011
5012 * cpphash.h (_cpp_push_text_context): Update.
5013 (_cpp_arguments_ok): New.
5014 * cppmacro.c (_cpp_arguments_ok): New, split out from...
5015 (collect_args): ...here.
5016 (_cpp_push_text_context): Change inputs.
5017 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
5018 replace_args_and_push): New.
5019 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
5020 Don't use IS macros directly.
5021 (scan_out_logical_line): Handle function-like macro argument
5022 collection.
5023 (push_replacement_text): Update.
5024 (replacement_length): Remove.
5025 (_cpp_create_trad_definition): Don't skip whitespace before
5026 checking for '('.
5027
25f2e176
MM
50282002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
5029
5030 * config/avr/avr.c (avr_mcu_types): Update for new devices.
5031 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
5032 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
5033 * config/avr/avr.md ("type" and "length" attributes): New type
5034 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that
5035 output a single "call" or "rcall" insn depending on device size.
5036 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
5037
309323c2
DE
50382002-06-09 David Edelsohn <edelsohn@gnu.org>
5039
5040 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
5041 synonym for 630. Add power4. Remove embedded processors. Use -m604
5042 assembler option.
5043 (CPP_CPU_SPEC): Add power3 and power4.
5044 (PROCESSOR_DEFAULT): Change to 604e.
5045 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
5046 (CPP_CPU_SPEC): Similar additions.
5047 (enum process_type): Add POWER4.
5048 (RTX_COSTS): Add POWER4.
5049 (CPP_CPU_SPEC): Similar additions.
5050 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
6ef0903d 5051 (PROCESSOR_DEFAULT64): Define.
309323c2
DE
5052 * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
5053 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
5054 branch adjustment.
5055 (rs6000_issue_rate): Add Power4.
5056 * config/rs6000/rs6000.md (cpu attr): Add power4.
5057 (iu compare): Remove 604, 604e, 620, 630.
5058 Add basic Power4 scheduling information.
5059 (mfcr/mtcrf): Change type attribute to cr_logical.
5060
1f8e4682
KG
50612002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5062
57d80297
KG
5063 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
5064 ATTRIBUTE_PRINTF_2.
5065 * gengtype-lex.l: Fix format specifier warning.
5066
1f8e4682
KG
5067 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,
5068 not isspace.
5069 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
5070 lieu of isspace/IDchar.
5071 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
5072 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
5073 ISSPACE.
5074
5a9ee623
ZW
50752002-06-08 Zack Weinberg <zack@codesourcery.com>
5076
5077 * Makefile.in (LIBCPP_OBJS): Take out version.o.
5078 * cpphash.h (cpp_reader): Take out print_version member.
5079 * cppinit.c: (cpp_handle_option): Don't do anything with
5080 -version. Just set help_only for --version, --target-help.
5081 Just set verbose option for -v.
5082 (cpp_post_options): Don't print a version string.
5083
c16e5a35
MM
50842002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
5085
5086 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
5087 (avr_section_type_flags): New, handle .noinit* sections.
5088
79bc889e
JT
50892002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
5090
5091 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
5092 and include netbsd_entry_point.
5093 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
5094 (NETBSD_ENTRY_POINT): Define.
5095
6a79bb0a
JT
50962002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
5097
5098 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
5a9ee623 5099 if not already defined.
6a79bb0a
JT
5100 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
5101
e52b6b63
MM
51022002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
5103
5104 * config/avr/avr.c (avr_regs_to_save): No need to save any registers
5105 in a noreturn function.
5106 (avr_output_function_prologue, avr_output_function_epilogue):
5107 Correct function size calculation. Do not crash on empty function.
5108 (avr_output_function_epilogue): No need for epilogue after a BARRIER.
5109
1569d670
JT
51102002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
5111
5112 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
5113 netbsd_link_spec and netbsd_entry_point.
5114 (LINK_SPEC): Use %(netbsd_link_spec).
5115 (NETBSD_ENTRY_POINT): Define.
5116
cfb06024
JT
51172002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
5118
5119 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
5120 linker emulation.
5121 (LINK_ARCH64_SPEC): Likewise.
5122 (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
5123 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
5124
5a9ee623
ZW
51252002-06-08 Marc Espie <espie@openbsd.org>
5126
5127 * lists.c (free_list): Fix typo in comment.
e3623158 5128
272cdf58
AJ
51292002-06-08 Andreas Jaeger <aj@suse.de>
5130
5131 * lcm.c (optimize_mode_switching): Add unused attribute for
5132 variable.
5133
5134 * sched-deps.c (sched_analyze): Remove unused variable.
5135
bf3f2a12
GDR
51362002-06-08 Gabriel Dos Reis <gdr@codesourcery.com>
5137
5138 * diagnostic.def: Don't capitalize diagnostict descriptors.
5139
523a5f2f
JT
51402002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
5141
5142 * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
5143 (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
5144 (NETBSD_ENTRY_POINT): Define.
5145
a3e944f9
JT
51462002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
5147
5148 * config/i386/netbsd-elf.h (LINK_SPEC): Define as
5149 NETBSD_LINK_SPEC_ELF.
5150 (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
5151 (NETBSD_ENTRY_POINT): Define.
5152 * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
5153 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
5154 netbsd_entry_point.
5155 (NETBSD_ENTRY_POINT): Define.
5156
854928a0
JT
51572002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
5158
5159 * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
5160 netbsd_link_spec and netbsd_entry_point.
5161 (LINK_SPEC): Use %(netbsd_link_spec).
5162 (NETBSD_ENTRY_POINT): Define.
5163
6bb5d2e7
JT
51642002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
5165
5166 * config/netbsd-elf.h (LINK_SPEC): Rename to...
5167 (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point)
5168 to specify program entry point.
5169
e50126e8
JL
51702002-06-07 Jeff Law <law@redhat.com
5171
5172 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
272cdf58 5173 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
e50126e8
JL
5174 than creating a new register.
5175 (distribute_notes): Likewise.
5176 * df.c (df_reg_use_gen): Likewise.
5177 (df_reg_clobber_gen): Likewise.
5178 (df_ref_record): Likewise.
5179 * expr.c (use_regs): Likewise.
5180 * flow.c (propagate_one_insn): Likewise.
5181 (mark_set_1): Likewise.
5182 (mark_used_reg): Likewise.
5183 * reload.c (emit_reload_insns): Likewise.
5184
bc9c18c3
RS
51852002-06-07 Roger Sayle <roger@eyesopen.com>
5186
5187 * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
5188 (ne (comp x y) 0) into (comp x y) where comp is a comparison code.
5189 Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
5190 comparison code comp can be reversed.
5191
437f1df1
RS
51922002-06-07 Roger Sayle <roger@eyesopen.com>
5193
5194 * fold-const.c (fold) [EQ_EXPR]: Place both integer and real
5195 constants last in comparisons. Optimize (x+1.0)>0.0 into the
5196 equivalent x > -1.0 when -ffast-math.
5197
cd24b8a4
JT
51982002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
5199
5200 * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
5201 * config/mips/t-netbsd: New file.
5202
09e77dee
ZW
52032002-06-07 Zack Weinberg <zack@codesourcery.com>
5204
5205 * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
5206 options their own entries.
5207 (parse_option): Clarify comment.
5208 (cpp_handle_option): Remove 'ignore' parameter and OPT_W
5209 special case. Replace if/strcmp chain for -W options with
5210 use of new OPT_* entries for them.
5211 (cpp_handle_options): Update to match.
5212 * cpplib.h: Remove last parameter to cpp_handle_option from prototype.
5213 * c-decl.c: Update call to cpp_handle_option.
5214
942030dc
AD
52152002-06-07 Akim Demaille <akim@epita.fr>
5216
5217 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
5218 Whitespace changes.
5219
f2846820
JL
52202002-06-07 Jeffrey Law <law@redhat.com>
5221
5222 * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
5223 on empty lists.
5224
4bafaa6f
L
52252002-06-07 H.J. Lu (hjl@gnu.org)
5226
5227 * configure.in: Add --enable-__cxa_atexit.
5228 * configure: Regenerated.
5229 * config.in: Likewise.
5230
5231 * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
5232 not defined.
5233
caef5b46
GDR
52342002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net>
5235
5236 * diagnostic.c (diagnostic_build_prefix): Fix initialization.
5237
ac64a17c
JT
52382002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
5239
5240 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
5241
97459791
JM
52422002-06-07 Jason Merrill <jason@redhat.com>
5243
5244 * cppexp.c (num_equality_op): Use a temporary variable to work
5245 around gcc 3.0.4 bug.
5246
4b1d52c7
GDR
52472002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
5248
5249 * diagnostic.c (diagnostic_build_prefix): Tidy.
5250
c70f6ed3
NB
52512002-06-07 Neil Booth <neil@daikokuya.demon.co.uk>
5252
5253 * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
5254 scan_parameters, save_replacement_text, replacement_length): New.
5255 (scan_out_logical_line): Take a macro and save parameters if
5256 non-NULL.
5257 (_cpp_logical_line_trad): Update.
5258 (_cpp_create_trad_definition): Update to handle function-like
5259 macros.
5260 * cpplex.c (new_buff): Update.
5261 (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
5262 * cpphash.h: ...here.
5263 (CPP_ALIGN2, _cpp_save_parameter): New.
5264 * cppmacro.c (save_parameter): Rename, export.
5265 (parse_params): Update.
5266
aec2ac46
AJ
52672002-06-07 Andreas Jaeger <aj@suse.de>
5268
5269 * config/mmix/mmix.c: Remove extra broken prototype for
5270 mmix_init_machine_status.
5271
9f313342
GK
52722002-06-06 Geoffrey Keating <geoffk@redhat.com>
5273
5274 * gengtype.c: Add comments before all the routines.
5275
3fa1b448
JT
52762002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
5277
5278 * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
5279 from and add t-sh64 to ${tmake_file}.
5280 (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
5281 * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
5282 * config/sh/t-netbsd-sh5-32: Remove.
5283 * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
5284 MULTILIB_ENDIAN.
5285 (MULTILIB_DIRNAMES): Define.
5286
0d682900
JH
5287Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz>
5288
5289 * i386.md (and promoting splitters): Disable QI to SImode promoting
5290 when doing so changes immediate to be 32bit.
5291
5292 * rtl.h (emit_*_scope): Declare.
5293 * emit-rtl.c (emit_*_scope): New global functions.
5294 (try_split): Copy scope.
5295 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
5296 noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
5297 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
5298 noce_process_if_block, find_cond_trap): Copy scopes.
5299 * recog.c (peephole2_optimize): likewise.
5300
c991649c
JL
53012002-06-06 Jeffrey Law <law@redhat.com>
5302
5303 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
5304
8a5d66c4
R
5305Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
5306
5307 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
5308
d7f8491b
RO
53092002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5310
5311 * Makefile.in (TEXI_GCCINSTALL_FILES): Define.
5312 ($(docdir)/gccinstall.info): New target.
5313 (info): Depend on it.
5314 (gccinstall.dvi): New target.
5315 (dvi): Depend on it.
5316 * doc/.cvsignore: Ignore new info files.
5317 * doc/install.texi (@setfilename): Reflect new info filename.
5318
eaeb7de8
R
5319Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com>
5320
5321 * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
5322 on an UNSPEC.
5323
0c7aeb88
NP
5324Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it>
5325
5326 PR objc/6834
5327 * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
5328 c_common_get_alias_set.
aec2ac46 5329 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
0c7aeb88 5330
2a496e8b
JDA
53312002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
5332
5333 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
5334 functions.
5335 * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
5336 * avr/avr.c (avr_output_function_epilogue): Use above to determine
5337 function size.
5338 * pa/pa.c (pa_output_function_prologue): Likewise.
5339
2ff581c3
DM
53402002-06-05 David S. Miller <davem@redhat.com>
5341
5342 * integrate.c (subst_constants): Handle 'B' RTL format.
5343
b2e2d0cc
EC
53442002-06-05 Eric Christopher <echristo@redhat.com>
5345
5346 * varasm.c (make_decl_rtl): Fix comment for removed
5347 halfpic.c.
5348
0f81faf6
EC
53492002-06-05 Eric Christopher <echristo@redhat.com>
5350
5351 * Makefile.in: Remove missed halfpic bits.
5352
33005162
EC
53532002-06-05 Eric Christopher <echristo@redhat.com>
5354
5355 * toplev.c: Remove half-pic.
5356 * config/mips/mips.c: Ditto.
5357 * config/mips/mips.h: Ditto. Remove unused defines.
5358 * config/mips/openbsd.h: Update comment to reflect above.
5359 * config/mips/mips.md: Remove half-pic constraints.
5360 * halfpic.h: Delete.
5361 * halfpic.c: Ditto.
5362
80081028
JL
53632002-06-05 Jeffrey Law <law@redhat.com>
5364
5a9ee623
ZW
5365 * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
5366 rejects (mem (lo_sum (reg) (unspec))), but will allow
5367 (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
80081028 5368
cbc69f84
NB
53692002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
5370
5371 * cpphash.h (_cpp_create_definition): Update prototype.
5372 (_cpp_push_text_context, _cpp_create_trad_definition): New.
5373 ( cpp_lex_identifier_trad): New.
5374 (_cpp_set_trad_context): New.
5375 * cppinit.c (cpp_finish_options): Don't conditionalize builtins.
5376 * cpplib.c (SEEN_EOL): Update.
5377 (lex_macro_node): Update for -traditional.
5378 (cpp_push_buffer, _cpp_pop_buffer): Similarly.
5379 * cppmacro.c (_cpp_create_definition): Split into
5380 create_iso_definition() and _cpp_create_trad_definition().
5381 (warn_of_redefinition): Update prototype; handle traditional
5382 macros.
5383 (_cpp_push_text_context): New.
5384 * cpptrad.c (skip_whitespace, push_replacement_text): New.
5385 (lex_identifier): Call ht_lookup with correct start.
5386 (_cpp_lex_identifier_tradm _cpp_create_trad_definition,
5387 _cpp_set_trad_context): New.
5388 (scan_out_logical_line): Update to handle changing contexts.
5389
dbf87f32
R
5390Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
5391
5392 * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
5393 (shl*-*-elf*): Add.
5394 * config/sh/t-be (MULTILIB_ENDIAN): Set.
5395 * config/sh/t-le (MULTILIB_ENDIAN): Likewise.
5396 * t-sh (MULTILIB_ENDIAN): Set.
5397 (MULTILIB_OPTIONS): Use it.
5398 * t-sh64 (MULTILIB_OPTIONS): Likewise.
5399 (MULTILIB_DIRNAMES): Likewise.
5400
47b69537
GDR
54012002-06-05 Gabriel Dos Reis <gdr@codesourcery.com>
5402
5403 * toplev.h (report_error_function): Remove.
5404
5405 * diagnostic.h (location_t): New datatype.
5406 (text_info): Likewise.
5407 (diagnostic_info): Likewise.
5408 (output_prefix): New macro.
5409 (diagnostic_last_function_changed): Likewise.
5410 (diagnostic_set_last_function): Likewise.
5411 (diagnostic_last_module_changed): Likewise.
5412 (diagnostic_set_last_module): Likewise.
5413 (report_diagnostic): Now macro.
5414 (diagnostic_set_info): Declare.
5415
5416 * diagnostic.c (report_problematic_module): Rename to
33005162 5417 diagnostic_repor_current_module.
47b69537
GDR
5418 (set_diagnostic_context): Remove.
5419 (count_error): Rename to diagnostic_error_count.
5420 (error_function_changed): Remove.
5421 (record_last_error_function): Likewise.
5422 (error_module_changed): Likewise.
5423 (record_last_error_module): Likewise.
5424 (context_as_prefix): Rename to diagnostic_build_prefix.
5425 (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
5426 (diagnostic_set_info): New function.
5427
5428 * objc/objc-act.c: #include diagnostic.h
5429 (error_with_ivar): Adjust call to count_error.
5430 (warn_with_method): Likewise.
5431 * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
5432
540eaea8
BW
54332002-06-05 Bob Wilson <bob.wilson@acm.org>
5434
5435 * config/xtensa/xtensa.c (xtensa_build_va_list): Use
5436 lang_hooks.types.make_type instead of make_node; set up
5437 __va_list_tag type decl.
5438 (xtensa_builtin_saveregs): Remove broken use of
5439 RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
5440 for saved registers; add varargs alias set.
5441
f23a084d
NB
54422002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
5443
5444config:
5445 * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
5446 * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
5447 CPP_PREDEFINES and part of CPP_SPEC.
5448 i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
5449 i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
5450
3fe3a596
JH
5451Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
5452
5453 * reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
5454
1fd9ba59
AM
54552002-06-05 Alan Modra <amodra@bigpond.net.au>
5456
5457 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
5458
cea554e0
ZW
54592002-06-04 Zack Weinberg <zack@codesourcery.com>
5460
5461 * gengtype-yacc.y: Make sure all rules end with a semicolon.
5462
07232638
BW
54632002-06-04 Bob Wilson <bob.wilson@acm.org>
5464
5465 * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
5466 typo in function prototype and include "ggc.h" header.
5467
c4b50f1a
RH
54682002-06-04 Richard Henderson <rth@redhat.com>
5469
5470 * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
5471 (print_operand) ['U']: Likewise.
5472 (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
5473 (alpha_expand_unaligned_store_words): Likewise.
5474 (alpha_expand_builtin_vector_binop): Fix typo.
5475 (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
5476 umulh, and cix insns.
5477 (one_arg_builtins): Add cix builtins.
5478 (two_arg_builtins): Add ext, ins, msk, umulh builtins.
5479 (alpha_expand_builtin): Fix typo in arity.
5480 * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
5481 (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
5482 builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
5483 builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
5484 builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
5485 builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
5486 builtin_ctlz, builtin_ctpop): New.
5487 * doc/extend.texi (Alpha Built-in Functions): Update.
5488
aaab35ae
GK
54892002-06-04 Geoffrey Keating <geoffk@redhat.com>
5490
afb0f770
GK
5491 * gengtype.c (write_gc_root): Don't unnecessarily prevent
5492 global variable-length arrays being roots.
5493
aaab35ae
GK
5494 * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
5495 * configure.in (config_gtfiles): New variable.
5496 (all_gtfiles): Initialise from config_gtfiles.
5497 * configure: Regenerate.
5498
1ba7b414
NB
54992002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
5500
5501config/i386:
5502 * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
5503 i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
5504 mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
5505 sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
5506 win32.h (CPP_SPEC): Remove cpp_cpu.
5507 * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
5508 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
5509
135ca7b2
JJ
55102002-06-04 Janis Johnson <janis187@us.ibm.com>
5511
5512 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
5513
85d69216 55142002-06-04 Jeff Law <law@redhat.com.
5a9ee623
ZW
5515 David Edelsohn <edelsohn@gnu.org>
5516 Michael Matz <matz@kde.org>
85d69216
JL
5517
5518 * sched-int.h (struct deps): New field libcall_block_tail_insn.
5519 * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
5520 * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
5521 is set, then mark the current insn as being part of a libcall
5522 scheduling group.
5523 (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
5524
5525 * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
5526 insns against the issue rate.
5527
63f4a88e
JH
5528Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
5529
5530 * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
5531 * final.c (final_scan_insn): Likewise.
5532 * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
5533 NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
5534 * haifa-sched.c (unlink_other_notes): Likeewise.
5535 (reemit_notes): Likewise.
5536 * print-rtl.c (print_rtx): Likewise.
5537 * sched-deps (sched-analyze): Likewise.
5538 * rtl.c (note_insn_name): Likewise.
5539 * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
5540 (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
5541 (RANGE_*): Kill.
5542
a5d1f75b
JT
55432002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
5544
5545 * varasm.c (mark_constants): Handle RTX format 'B'.
5546
82eda77e
NB
55472002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
5548
5549 * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
5550 (struct cpp_context): Add traditional fields.
5551 * cppmacro.c (paste_all_tokens, push_ptoken_context,
5552 push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
5553 * cpptrad.c (skip_comment, lex_identifier,
5554 _cpp_read_logical_line_trad, scan_out_logical_line): Update.
5555
589005ff
KH
55562002-06-04 Kazu Hirata <kazu@cs.umass.edu>
5557
5558 * gbl-ctors.h: Fix formatting.
5559 * gcc.c: Likewise.
5560 * gccspec.c: Likewise.
5561 * gcov.c: Likewise.
5562 * gcov-io.h: Likewise.
5563 * gcse.c: Likewise.
5564 * ggc-common.c: Likewise.
5565 * ggc.h: Likewise.
5566 * ggc-page.c: Likewise.
5567 * ggc-simple.c: Likewise.
5568 * global.c: Likewise.
5569 * graph.h: Likewise.
5570 * gthr-dce.h: Likewise.
5571 * gthr.h: Likewise.
5572 * gthr-posix.h: Likewise.
5573 * gthr-rtems.h: Likewise.
5574 * gthr-solaris.h: Likewise.
5575 * gthr-win32.h: Likewise.
5576
e2500fed
GK
55772002-06-03 Geoffrey Keating <geoffk@redhat.com>
5578
5579 Merge from pch-branch:
33005162 5580
e2500fed
GK
5581 * gengtype.h (UNION_OR_STRUCT_P): New macro.
5582 * gengtype.c (write_gc_structure_fields): Use it.
5583 (write_gc_root): Use it here too.
5584
5585 * gengtype.c (write_gc_structure_fields): Assume that lengths
5586 of typenames fit into an 'int'; don't pass a size_t to "%d" in
5587 printf.
5588 (write_gc_marker_routine_for_structure): Likewise.
5589 (write_gc_types): Likewise.
5590 (write_gc_root): Likewise.
5591
5592 * varray.h (VARRAY_CLEAR): New.
5593 (varray_clear): Prototype.
5594 * varray.c (varray_clear): New.
5595 * cselib.c (reg_values_old): New.
5596 (used_regs_old): New.
5597 (cselib_init): Use cached varrays if available to avoid
5598 generating large amounts of garbage.
5599 (cselib_finish): Don't throw away old varrays.
5600
5601 * final.c (insn_addresses_): Move out of ifdef.
5602
5603 * varray.c (uses_ggc): Make more varray kinds GCable.
5604 * varray.h (union varray_data_tag): Let gengtype see
5605 fields 'generic' and 'te'.
5606 * reg-stack.c: Include gt-reg-stack.h, ggc.h.
5607 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
5608 (reg_to_stack): Don't call VARRAY_FREE.
5609 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
5610 (insn_addresses_): Use gengtype to mark.
5611 * gengtype.c (write_gc_structure_fields): Handle arrays of generic
5612 pointers; handle generic pointers in unused union fields.
5613 (get_output_file_with_visibility): Include cselib.h,
5614 insn-addr.h in gtype-desc.c.
5615 * function.c (prologue): Use gengtype to mark.
5616 (epilogue): Likewise.
5617 (sibcall_epilogue): Likewise.
5618 * dependence.c: Include gt-dependence.h, ggc.h.
5619 (struct def_use): Use gengtype to mark.
5620 (struct loop): Likewise.
5621 (struct induction): Likewise.
5622 (struct dependence): Likewise.
5623 (def_use_chain): Likewise.
5624 (dep_chain): Likewise.
5625 (loop_chain): Likewise.
5626 (induction_chain): Likewise.
5627 (init_dependence_analysis): Don't free anything, just clear pointers.
5628 (build_def_use): Use GGC to allocate def_use.
5629 (add_loop): Use GGC to allocate loop.
5630 (find_induction_variable): Use GGC to allocate induction.
5631 (check_node_dependence): Use GGC to allocate induction, dependence.
5632 (dump_node_dependence): Don't free varrays.
5633 (end_dependence_analysis): Likewise.
5634 * cselib.h (struct cselib_val_struct): Use gengtype to mark.
5635 (struct elt_loc_list): Likewise.
5636 (struct elt_list): Likewise.
5637 * cselib.c: Don't include obstack.h.
5638 (hash_table): Use gengtype to mark.
5639 (reg_values): Use gengtype to mark.
5640 (used_regs): Use gengtype to mark.
5641 (cselib_obstack): Delete.
5642 (cselib_startobj): Delete.
5643 (empty_vals): Mark as deletable.
5644 (empty_elt_lists): Mark as deletable.
5645 (empty_elt_loc_lists): Mark as deletable.
5646 (new_elt_list): Use GGC to allocate struct elt_list.
5647 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
5648 (clear_table): Don't delete obstack; don't unnecessarily clear
5649 deletable variables.
5650 (new_cselib_val): Use GGC to allocate struct cselib_val.
5651 (cselib_init): Don't set up obstacks. Use GGC to allocate
5652 hash table.
5653 (cselib_finish): Just clear variables, don't free anything.
5654 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
5655 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
5656 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
5657 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
5658 (gt-reg-stack.h): New rule.
5659 (gt-dependence.h): New rule.
5660 (gtype-desc.o): Add cselib.h, insn-addr.h.
5661
5662 * varray.c: Use only necessary headers.
5663 (element_size): New.
5664 (uses_ggc): New.
5665 (varray_init): Take type, not size. Use GGC if appropriate.
5666 (varray_grow): Update for change to struct varray_head_tag.
5667 Use GGC if appropriate.
5668 * varray.h (struct const_equiv_data): Use gengtype.
5669 (enum varray_data_enum): New.
5670 (union varray_data_tag): Use gengtype.
5671 (struct varray_head_tag): Use gengtype. Replace size field with
5672 enum varray_data_enum.
5673 (varray_init): Update prototype.
5674 (VARRAY_SCHED_INIT): Delete.
5675 (VARRAY_*_INIT): Update for change to varray_init.
5676 (VARRAY_SCHED): Delete.
5677 (VARRAY_PUSH_SCHED): Delete.
5678 (VARRAY_TOP_SCHED): Delete.
5679 * tree.h: Update for change to length specifier.
5680 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
5681 (clone_body): Likewise.
5682 * ssa.h (ssa_definition): Use gengtype to mark.
5683 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
5684 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
5685 * rtl.h (struct rtvec_def): Update for change to length specifier.
5686 * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
5687 (struct initial_value_struct): Update for change to length specifier.
5688 * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
5689 (ggc_add_tree_varray_root): Delete prototype.
5690 (ggc_mark_rtx_varray): Delete prototype.
5691 (ggc_mark_tree_varray): Delete prototype.
5692 * ggc-common.c (ggc_add_rtx_varray_root): Delete.
5693 (ggc_add_tree_varray_root): Delete.
5694 (ggc_mark_rtx_varray): Delete.
5695 (ggc_mark_tree_varray): Delete.
5696 (ggc_mark_rtx_varray_ptr): Delete.
5697 (ggc_mark_tree_varray_ptr): Delete.
5698 * gengtype.h (enum typekind): Remove TYPE_VARRAY.
5699 (create_varray): Delete prototype.
5700 * gengtype.c (varrays): Delete.
5701 (create_varray): Delete.
5702 (adjust_field_type): Detect array of string pointers.
5703 (process_gc_options): Remove code to handle varray_type option.
5704 (set_gc_used_type): Remove TYPE_VARRAY case.
5705 (output_escaped_param): New.
5706 (write_gc_structure_fields): Use output_escaped_param on all
5707 parameters. Handle 'skip' with 'use_param' option. Handle
5708 arrays of strings. Remove TYPE_VARRAY handling.
5709 (write_gc_roots): Use boolean to detect 'length' option.
5710 * gengtype-yacc.y (VARRAY_TYPE): Delete token.
5711 (struct_fields): Call adjust_field_type on array fields.
5712 (type): Remove VARRAY_TYPE case.
5713 (type_option): Likewise.
5714 * gengtype-lex.l: Don't consider varray_type a keyword.
5715 * function.h: Update for change to length specifier.
5716 (free_eh_status): Delete prototype.
5717 * function.c (free_after_compilation): Don't call free_eh_status.
5718 (reorder_blocks): Don't use VARRAY_FREE.
5719 * except.c (struct eh_status): Update for change to length specifier.
5720 remove varray_type specifier.
5721 (free_eh_status): Delete.
5722 * dwarf2out.c: Include gt-dwarf2out.h.
5723 (used_rtx_varray): Use gengtype to mark, move
5724 outside ifdefs.
5725 (incomplete_types): Likewise.
5726 (decl_scope_table): Likewise.
33005162 5727 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
e2500fed
GK
5728 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
5729 * c-tree.h (struct lang_type): Update for change to length specifier.
5730 * c-parse.in (yylexstring): Don't use VARRAY_FREE.
5731 * c-objc-common.c: Include gt-c-objc-common.h.
5732 (deferred_fns): Mark for gengtype.
5733 (c_objc_common_init): Don't call ggc_add_tree_varray_root.
5734 (expand_deferred_fns): Just set deferred_fns to 0 to free it.
5735 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
5736 (gtype-desc.o): Update dependencies.
5737 (dwarf2out.o): Add gt-dwarf2out.h.
5738 (varray.o): Update dependencies.
5739 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
5740 (gt-c-objc-common.h): New rule.
5741 (gt-dwarf2out.h): New rule.
5742 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
5743
5744 * doc/gty.texi (GTY Options): Correct spelling.
5745 (GGC Roots): Likewise.
5746 * Makefile.in (TEXI_CPP_FILES): New.
5747 (TEXI_GCC_FILES): New.
5748 (TEXI_GCCINT_FILES): New.
5749 (TEXI_CPPINT_FILES): New.
5750 ($(docdir)/cpp.info): Use new macros.
5751 ($(docdir)/gcc.info): Likewise.
5752 ($(docdir)/gccint.info): Likewise.
5753 ($(docdir)/cppinternals.info): Likewise.
5754 (cpp.dvi): Likewise.
5755 (gcc.dvi): Likewise.
5756 (gccint.dvi): Likewise.
5757 (cppinternals.dvi): Likewise.
5758
5759 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
5760 * doc/gccint.texi (Top): Include gty.texi.
5761 * doc/gty.texi: New file.
5762
5763 * bitmap.c: Include ggc.h, gt-bitmap.h.
5764 (bitmap_ggc_free): New.
5765 (bitmap_elem_to_freelist): New.
5766 (bitmap_element_free): Use bitmap_elem_to_freelist.
5767 (bitmap_element_allocate): Allow use of GGC.
5768 (bitmap_clear): Use bitmap_elem_to_freelist.
5769 (bitmap_copy): Update for change to bitmap_element_allocate.
5770 (bitmap_set_bit): Likewise.
5771 (bitmap_operation): Update for changes elsewhere.
5772 (bitmap_initialize): Allow to create bitmaps that will use GGC.
5773 * bitmap.h (struct bitmap_element_def): Use gengtype.
5774 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
5775 (bitmap_initialize): Add extra parameter.
5776 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
5777 (BITMAP_ALLOCA): Delete.
5778 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
5779 (BITMAP_GGC_ALLOC): New.
5780 * Makefile.in (gtype-desc.o): Add bitmap.h.
5781 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
5782 (GTFILES): Add bitmap.c.
5783 (gt-bitmap.h): New rule.
5784 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
5785 * basic-block.h: Update for changes to bitmap_initialize.
5786 * except.c (exception_handler_label_map): Move into...
5787 (struct eh_status): Here.
5788 (struct eh_region): Make 'aka' GCable.
5789 (free_eh_status): Don't need to specially handle
5790 exception_handler_label_map.
5791 (add_ehl_entry): Update for changes to exception_handler_label_map.
5792 (find_exception_handler_labels): Likewise.
5793 (remove_exception_handler_label): Likewise.
5794 (maybe_remove_eh_handler): Likewise.
5795 (for_each_eh_label): Likewise.
5796 (remove_eh_handler): Allocate 'aka' using GGC.
5797 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
5798 to list of includes.
5799
5800 * gengtype.c (write_gc_marker_routine_for_structure): Name
33005162 5801 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
e2500fed
GK
5802 (write_gc_types): Arrange for the tests with NULL to be inlined.
5803 (write_gc_roots): Update uses of procedure pointers.
5804 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
5805
5806 * Makefile.in (explow.o): Add dependency on gt-explow.h.
5807 (sdbout.o): Add dependency on gt-sdbout.h.
5808
5809 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
5810 (mem_attrs_htab): Likewise.
5811 (init_emit_once): Don't call ggc_add_deletable_htab.
5812 * fold-const.c (size_htab): Use gengtype to clear unused entries.
5813 (size_int_type_wide): Don't call ggc_add_deletable_htab.
5814 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
5815 parameters, use them, change callers.
5816 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
5817 (write_gc_roots): Handle 'if_marked' option.
5818 (main): Don't need to call set_gc_used_type any more.
5819 * ggc.h (ggc_htab_marked_p): Delete.
5820 (ggc_htab_mark): Delete.
5821 (struct ggc_cache_tab): New.
5822 (gt_ggc_cache_rtab): New declaration.
5823 * ggc-common.c (struct d_htab_root): Delete.
5824 (d_htab_roots): Delete.
5825 (ggc_add_deletable_htab): Delete.
5826 (ggc_htab_delete): Handle new htab-deleting mechanism.
5827 (ggc_mark_roots): Use new htab-deleting mechanism.
5828 * tree.c (type_hash_table): Use gengtype to clear unused entries.
5829 Make static.
5830 (init_obstacks): Don't call ggc_add_deletable_htab.
5831
5832 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
5833 (struct hashed_entry): Likewise.
5834 (nst_method_hash_list): Likewise.
5835 (cls_method_hash_list): Likewise.
5836 (HASH_ALLOC_LIST_SIZE): Delete.
5837 (ATTR_ALLOC_LIST_SIZE): Delete.
5838 * objc/objc-act.c (hash_init): Use ggc to allocate
5839 nst_method_hash_list, cls_method_hash_list.
5840 (hash_enter): Use ggc to allocate; allocate one entry at a time.
5841 (hash_add_attr): Likewise.
5842 (ggc_mark_hash_table): Delete.
5843 (objc_act_parse_init): Delete.
5844 (objc_init): Delete reference to objc_act_parse_init.
5845 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
5846 obstack.h. Replace references to 'struct hash_table' with htab_t.
5847 (struct symbol_hash_entry): Replace hash header with key field.
5848 (struct file_hash_entry): Replace hash header with key field.
5849 (struct demangled_hash_entry): Replace hash header with key field.
5850 (hash_string_eq): New.
5851 (hash_string_hash): New.
5852 (symbol_hash_newfunc): Delete.
5853 (symbol_hash_lookup): Modify to use htab_t.
5854 (file_hash_newfunc): Delete.
5855 (file_hash_lookup): Modify to use htab_t.
5856 (demangled_hash_newfunc): Delete.
5857 (demangled_hash_lookup): Modify to use htab_t.
5858 (tlink_init): Modify to use htab_t.
5859 * hash.h: Delete.
5860 * hash.c: Delete.
5861 * ggc.h: Delete forward structure declarations.
5862 Delete prototypes for deleted functions.
5863 * ggc-common.c: Don't include hash.h.
5864 (ggc_add_tree_hash_table_root): Delete.
5865 (ggc_mark_tree_hash_table_entry): Delete.
5866 (ggc_mark_tree_hash_table): Delete.
5867 (ggc_mark_tree_hash_table_ptr): Delete.
5868 * gengtype.c (write_gc_structure_fields): Allow param_is option.
5869 (write_gc_marker_routine_for_structure): Use visibility of
5870 the parameter if there is one.
5871 * function.c: Replace hash.h with hashtab.h. Replace references
5872 to 'struct hash_table *' with htab_t.
5873 (struct insns_for_mem_entry): Include a plain key.
5874 (fixup_var_refs_insns_with_hash): Update to use htab_t.
5875 (insns_for_mem_newfunc): Delete.
5876 (insns_for_mem_hash): Update to use htab_t.
5877 (insns_for_mem_comp): Likewise.
5878 (insns_for_mem_walk): Likewise.
5879 * c-lang.c: Include ggc.h.
5880 * Makefile.in (OBJS): Remove hash.o.
5881 (c-lang.o): Add GGC_H.
5882 (COLLECT2_OBJS): Remove hash.o.
5883 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
5884 (ggc-common.o): Remove hash.h.
5885 (function.o): Remove hash.h, add HASHTAB_H.
5886 (genautomata.o): Remove hash.h, add HASHTAB_H.
5887
5888 * varasm.c (mark_const_str_htab_1): Delete.
5889 (mark_const_str_htab): Delete.
5890 (const_str_htab_del): Delete.
5891 (const_str_htab): Use gengtype to mark.
5892 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
5893 allocate them.
5894 * tree.c (mark_tree_hashtable_entry): Delete.
5895 (mark_tree_hashtable): Delete.
5896 * tree.h (mark_tree_hashtable): Delete prototype.
5897 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
5898 (ggc_mark): Likewise.
5899 (ggc_calloc): New.
5900 (htab_create_ggc): New.
5901 * ggc-common.c (ggc_calloc): New.
5902 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
5903 (struct type): Add param_struct structure.
5904 * gengtype.c (param_structs): New.
5905 (adjust_field_type): Handle param_is option.
5906 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
5907 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
5908 (write_gc_structure_fields): Add new PARAM parameter. Update
5909 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
5910 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
5911 Use it to generate function name. Update callers.
5912 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
5913 Process them.
5914 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
5915 option.
5916 (main): Define PTR as pointer-to-scalar. Don't specially
5917 mark deferred_string or ehl_map_entry.
5918 * gengtype-yacc.y (PARAM_IS): Add new token.
5919 (externstatic): Use adjust_field_type.
5920 (type_option): Add PARAM_IS.
5921 * gengtype-lex.l: Add rule for typedef of function pointers.
5922 Add rule for PARAM_IS.
5923 (IWORD): Add size_t.
5924 * except.c (exception_handler_label_map): Use gengtype to mark.
5925 (type_to_runtime_map): Likewise.
5926 (mark_ehl_map_entry): Delete.
5927 (mark_ehl_map): Delete.
5928 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
5929 (t2r_mark_1): Delete.
5930 (t2r_mark): Delete.
5931 * Makefile.in (gtype-desc.o): Correct dependencies.
5932 (GTFILES): Add hashtab.h.
5933 (genautomata.o): Actually uses hashtab.h.
5934
5935 * Makefile.in (stringpool.o): Add $(GGC_H).
5936 (dwarf2asm.o): Likewise.
5937 (GTFILES): Add hashtable.h.
5938 * c-common.h (struct c_common_identifier): Use gengtype.
5939 * c-decl.h (c_mark_tree): Delete.
5940 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
5941 * c-tree.h (struct lang_identifier): Use gengtype.
5942 (union lang_tree_node): New.
5943 (c_mark_tree): Delete prototype.
33005162 5944 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
e2500fed
GK
5945 dwarf2_debug_hooks.
5946 * gengtype-lex.l (IWORD): Allow 'bool'.
5947 (ptr_alias): Match.
5948 * gengtype-yacc.y (ALIAS): New token.
5949 (type_option): New rule.
5950 (option): Use type_option.
5951 * gengtype.c (process_gc_options): New.
5952 (set_gc_used_type): Use it.
5953 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
5954 Add new variable 't' to hold the type of the field being processed.
5955 Add more error checking. Use UNION_P when looking at 'desc' option.
5956 Handle language-specific structures containing other
5957 language-specific structures.
5958 (write_gc_types): Handle 'ptr_alias' option.
5959 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
5960 * ggc-common.c (ggc_pending_trees): Delete.
5961 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
5962 (ggc_mark_trees): Delete.
5963 (gt_ggc_m_tree_node): Delete.
5964 * ggc.h (ggc_pending_trees): Delete.
5965 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
5966 * hashtable.h (ht_identifier): Use gengtype.
5967 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
5968 * langhooks.h (struct lang_hooks): Delete mark_tree.
5969 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
5970 anyway.
5971 * system.h: Poison LANG_HOOKS_MARK_TREE.
5972 * tree.c (tree_node_structure): New.
5973 * tree.h (struct tree_common): Use gengtype.
5974 (struct tree_int_cst): Likewise.
5975 (struct tree_real_cst): Likewise.
5976 (struct tree_string): Likewise.
5977 (struct tree_complex): Likewise.
5978 (struct tree_vector): Likewise.
5979 (struct tree_identifier): Likewise.
5980 (struct tree_list): Likewise.
5981 (struct tree_vec): Likewise.
5982 (struct tree_exp): Likewise.
5983 (struct tree_block): Likewise.
5984 (struct tree_type): Likewise.
5985 (struct tree_decl): Likewise.
5986 (enum tree_structure_enum): New.
5987 (union tree_node): Use gengtype, with an alias.
5988 (tree_node_structure): Prototype.
5989 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
5990
5991 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
5992 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
5993 to LANG_HOOKS_FUNCTION_FINAL.
5994 * Makefile.in (GTFILES): Add bitmap.h.
5995 * except.c (struct eh_region): Mark field 'aka' to be skipped.
5996
5997 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
5998 (alpha_init_machine_status): Give proper type.
5999 * Makefile.in (c-lang.o): Depend on gtype-c.h.
6000 (optabs.o): Depend on gt-optabs.h.
6001 (GTFILES): Add optabs.o.
6002 (gt-optabs.h): Add rule.
6003 * optabs.c: Include gt-optabs.h.
6004
6005 * gengtype.c (set_gc_used_type): Correct some errors in last change.
6006 (write_gc_structure_fields): If a field which should be NULL is
6007 not, abort.
6008 * c-pragma.c: Move struct align_stack and variable alignment_stack
6009 out from the ifdef.
6010
6011 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
6012 * config/xtensa/xtensa.c: Include gt-cris.h.
6013 (struct machine_function): Use gengtype to mark.
6014 * config/mmix/mmix.h (struct machine_function): Use gengtype
6015 to mark.
6016 * config/cris/t-cris: Add dependencies for gt-cris.h.
6017 * config/cris/cris.c: Include gt-cris.h.
6018 (struct machine_function): Use gengtype to mark.
6019 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
6020 to mark.
6021 * doc/tm.texi (Per-Function Data): Delete references to
6022 mark_machine_status.
6023 * config/ia64/ia64.c (ia64_override_options): Don't set
6024 mark_machine_status.
6025 * config/i386/i386.c (override_options): Likewise.
6026 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
6027 * config/arm/arm.c (arm_init_expanders): Likewise.
6028 * config/alpha/alpha.c (override_options): Likewise.
33005162 6029 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
e2500fed
GK
6030 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
6031 (write_gc_structure_fields): Don't handle 'really' option.
6032 Handle 'maybe_null' option.
6033 (write_gc_types): Handle 'maybe_null' option.
6034 * function.h (struct function): Don't use "really".
6035 (mark_machine_status): Delete declaration.
6036 (mark_lang_status): Delete declaration.
6037 (gt_ggc_mr_machine_function): Delete prototype.
6038 (gt_ggc_mr_language_function): Delete prototype.
6039 * function.c (mark_machine_status): Delete.
6040 (mark_lang_status): Delete.
6041 (gt_ggc_mr_machine_function): Delete.
6042 (gt_ggc_mr_language_function): Delete.
6043 * c-tree.h (mark_c_function_context): Delete prototype.
6044 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
6045 * c-decl.c (struct language_function): Rename from struct
6046 c_language_function. Update uses. Use gengtype to mark.
6047 (mark_c_function_context): Delete.
6048 * c-common.h (struct c_language_function): Rename from struct
6049 language_function.
6050 (mark_stmt_tree): Delete prototype.
6051 (c_mark_lang_decl): Delete prototype.
6052 (mark_c_language_function): Delete prototype.
6053 * c-common.c (mark_stmt_tree): Delete.
6054 (c_mark_lang_decl): Delete.
6055 (mark_c_language_function): Delete.
6056
6057 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
6058 (lang_bitmap): New typedef. Use where appropriate.
6059 (struct type): Add gc_used field, lang_struct field.
6060 (UNION_P): New macro.
6061 (new_structure): New prototype.
6062 (find_structure): Remove 'pos' parameter. Change all callers.
6063 * gengtype-lex.l: Update for changes to find_structure.
6064 * gengtype-yacc.y (typedef_struct): Use new_structure.
6065 (yacc_ids): Suppress warning.
6066 (type): Use new_structure.
6067 * gengtype.c (string_type): Update for changes to struct type.
6068 (find_structure): Just find a structure, don't worry about
6069 creating one.
6070 (new_structure): New.
6071 (note_yacc_type): Use new_structure.
6072 (set_gc_used_type): New.
6073 (set_gc_used): New.
6074 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
6075 (write_gc_types): Handle TYPE_LANG_STRUCT.
6076 (write_gc_marker_routine_for_structure): New.
6077 (main): Call set_gc_used. Add some calls to set_gc_used_type
6078 for places where GCC doesn't use gengtype properly yet.
6079 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
6080 (gt_ggc_m_tree_node): Likewise.
6081
6082 * varasm.c (copy_constant): Call expand_constant if we hit
6083 something we can't recognise.
6084
6085 * ggc-common.c (ggc_mark_rtvec_children): Delete.
6086 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
6087 (lang_mark_false_label_stack): Delete.
6088 * rtl.h (struct rtvec_def): Use gengtype to mark.
6089 * ggc.h (ggc_mark_rtvec): Delete.
6090 (gt_ggc_m_rtvec_def): Delete.
6091 (ggc_mark_nonnull_tree): Delete.
6092 (ggc_mark_rtvec_children): Delete prototype.
6093 (lang_mark_false_label_stack): Delete declaration.
6094
6095 * gengtype.h (note_yacc_type): Add prototype.
6096 * gengtype.c (note_yacc_type): New function.
6097 * gengtype-lex.l: Add lexer support for yacc files.
6098 * gengtype-yacc.y (start): Extract union from yacc files.
6099 (yacc_union): New rule.
6100 (yacc_typematch): New rule.
6101 (yacc_ids): New rule.
6102 (enum_items): Tweak for efficiency.
6103 (optionseq): Likewise.
6104
6105 * c-common.h (struct language_function): Use gengtype.
6106 (struct c_lang_decl): Likewise.
6107 * c-tree.h (struct lang_decl): Likewise.
6108 (struct lang_type): Likewise.
6109 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
6110 tree language substructures.
6111
6112 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
6113 ggc_mark_tree.
6114 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
6115
6116 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
6117
6118 * stmt.c (struct nesting): Add discriminator. Use gengtype to
6119 mark. Remove 'data.block.cleanup_ptr' field.
6120 (struct stmt_status): Use usual technique to mark struct nesting.
6121 (gt_ggc_mr_nesting_cond): Delete.
6122 (gt_ggc_mr_nesting_loop): Delete.
6123 (gt_ggc_mr_nesting_block): Delete.
6124 (gt_ggc_mr_nesting_case_stmt): Delete.
6125 (expand_start_cond): Set discriminator.
6126 (expand_start_loop): Likewise.
6127 (expand_start_null_loop): Likewise.
6128 (expand_start_bindings_and_block): Set discriminator. Don't set
6129 deleted fields.
6130 (expand_decl_cleanup): Replace 'cleanup_ptr' with
6131 &thisblock->data.block.cleanups.
6132 (expand_start_case): Set discriminator.
6133 (expand_start_case_dummy): Set discriminator.
6134
6135 * ggc-callbacks.c: Remove.
6136
6137 * gengtype.h (struct type): Add 'u.s.bitmap' field.
6138 (find_structure): Add 'pos' parameter.
6139 * gengtype-lex.l: Update callers to find_structure.
6140 * gengtype-yacc.y: Likewise.
6141 * gengtype.c (find_structure): Allow for structures to be defined
6142 in multiple language backends.
6143 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
6144 (counter): Rename to gc_counter.
6145 (write_gc_structure_fields): Fail when writing out fields for
6146 an incomplete structure. Ignore arrays of scalars. Handle
6147 'tree_vec' special.
6148 (write_gc_types): Reset counter for each procedure written.
6149
6150 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
6151 (free_case_nodes): Delete.
6152 (expand_end_case_type): Delete call to free_case_nodes.
6153
6154 * Makefile.in (cselib.o): Include gt-<filename>.h.
6155 (gcse.o): Likewise.
6156 (profile.o): Likewise.
6157 (alias.o): Likewise.
6158 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
6159 alphabetize backend files.
6160 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
6161 * alias.c: Use gengtype for roots.
6162 * c-common.h (struct stmt_tree_s): Use gengtype.
6163 * c-decl.c: Use gengtype for roots.
6164 * cselib.c: Use gengtype for roots.
6165 * expr.c: Use gengtype for roots.
6166 * fold-const.c: Use gengtype for roots.
6167 * gcse.c: Use gengtype for roots.
6168 * gengtype-lex.l: Handle typedefs of function types.
6169 Allow for empty array bounds.
6170 Allow processing to stop on initialisers.
6171 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
6172 (semiequal): New rule.
6173 * gengtype.c (create_file): Tidy output files.
6174 (get_output_file_with_visibility): Fix paren warning. Fix bug
6175 involving multiple input files mapping to one output file.
6176 (write_gc_structure_fields): Skip arrays of scalars.
6177 (write_gc_types): Tidy output files.
6178 (write_gc_root): New function.
6179 (write_gc_roots): Fix bugs, add support for roots that are
6180 structures.
6181 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
6182 (ggc_mark_tree_ptr): Delete.
6183 (ggc_add_rtx_root): Delete.
6184 (ggc_add_tree_root): Delete.
6185 (ggc_del_root): Delete.
6186 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
6187 allocate struct initial_value_struct.
6188 * profile.c: Use gengtype for roots.
6189 * sdbout.c: Use gengtype for roots.
6190 * varasm.c (mark_weak_decls): Delete unused prototype.
6191 (mark_const_hash_entry): Delete unused function.
6192 * config/darwin-protos.h: Use gengtype for roots.
6193 (machopic_add_gc_roots): Delete.
6194 * config/arm/arm.c: Use gengtype for roots.
6195 * config/arm/arm.h: Use gengtype for roots.
6196 * config/c4x/c4x-protos.h: Use gengtype for roots.
6197 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
6198 * config/d30v/d30v-protos.h: Use gengtype for roots.
6199 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
6200 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
6201 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
6202 * config/ia64/ia64-protos.h: Use gengtype for roots.
6203 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
6204 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
6205 * config/m68hc11/m68hc11.c (z_reg): Make global.
6206 (z_reg_qi): Make global.
6207 (m68hc11_add_gc_roots): Delete.
6208 * config/mcore/mcore-protos.h: Use gengtype for roots.
6209 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
6210 * config/mips/mips.c (mips_add_gc_roots): Delete.
6211 * config/mips/mips.h: Use gengtype for roots.
6212 * config/mmix/mmix.c (override_options): Use gengtype for roots.
6213 * config/mmix/mmix.h: Use gengtype for roots.
6214 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
6215 * config/mn10200/mn10200.h: Use gengtype for roots.
6216 * config/pa/pa.c: Use gengtype for roots, marking.
6217 (struct deferred_plabel): Use GGC, gengtype.
6218 (pa_add_gc_roots): Delete.
6219 (mark_deferred_plabels): Delete.
6220 * config/pj/pj-protos.h: Use gengtype for roots.
6221 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
6222 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
6223 machopic_add_gc_roots.
6224 * config/rs6000/rs6000.h: Use gengtype for roots.
6225 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
6226 (gt-darwin.h): Add rule.
6227 * config/sh/sh.c: Use gengtype for roots.
6228 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
6229 (gt-sh.h): Add rule.
6230 * config/sparc/sparc.c: Use gengtype for roots.
6231 (sparc_add_gc_roots): Delete.
6232 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
6233 (mark_ultrasparc_pipeline_state): Delete.
6234 * config/sparc/sparc.h: Use gengtype for roots.
6235
6236 * Makefile.in (c-parse.o): Update dependencies.
6237 (c-common.o): Likewise.
6238 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
6239 Add dependencies for the files they generate.
6240 * c-common.c: Replace ggc_add_* uses with GTY annotations.
6241 * c-common.h: Likewise.
6242 * c-decl.c: Likewise.
6243 (gt_ggc_mp_binding_level): Delete.
6244 * c-lang.c: Include gtype-c.h.
6245 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
6246 gt-c-parse.h.
6247 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
6248 (gt_ggc_mp_align_stack): Delete.
6249 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
6250 * function.c: Replace ggc_add_* uses with GTY annotations.
6251 (gt_ggc_mp_function): Delete.
6252 * function.h: Replace ggc_add_* uses with GTY annotations.
6253 * gengtype.c (lang_names): New.
6254 (NUM_BASE_FILES): New.
6255 (open_base_files): Create language base files.
6256 (startswith): New.
6257 (get_file_basename): New.
6258 (get_base_file_bitmap): New.
6259 (get_output_file_with_visibility): Rename from get_output_file.
6260 Add more mappings for various C/Objc filenames.
6261 (finish_root_table): New.
6262 (write_gc_roots): Handle dependencies and scoping properly.
6263 * gengtype.h: Add prototypes for new functions.
6264 * ggc-common.c (struct deletable_root): Delete.
6265 (deletables): Delete.
6266 (ggc_add_deletable_root): Delete.
6267 (ggc_mark_roots): No need to deal with deleted functionality.
6268 * ggc.h (ggc_add_deletable_root): Delete prototype.
6269 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
6270 (gtype-objc.h): Add rule to create.
6271 * objc/config-lang.in (gtfiles): New.
6272 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
6273 ggc_add_* with GTY markers. Include gtype-objc.h.
6274 (ggc_mark_imp_list): Delete.
6275 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
6276 * objc/objc-lang.c: Random Whitespace Change.
6277
6278 * except.h (exception_handler_labels): Delete.
6279 (get_exception_handler_labels): New.
6280 * except.c (exception_handler_labels): Delete.
6281 (struct eh_status): Add exception_handler_labels field.
6282 (doing_eh): Don't add exception_handler_labels as root.
6283 (free_eh_status): Don't need to free exception_handler_labels.
6284 (get_exception_handler_labels): New.
6285 (find_exception_handler_labels): Update for move of
6286 exception_handler_labels.
6287 (remove_exception_handler_label): Likewise.
6288 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
6289 * jump.c (rebuild_jump_labels): Likewise.
6290 * loop.c (find_and_verify_loops): Likewise.
6291 * sched-rgn.c (is_cfg_nonregular): Likewise.
6292
6293 * gengtype.c (write_gc_structure_fields): Handle variable-length
6294 TYPE_ARRAYs.
6295
6296 * varasm.c (struct weak_syms): Use GGC, gengtype.
6297 (mark_weak_decls): Delete.
6298 (weak_decls): Likewise.
6299 (add_weak): Likewise.
6300 (remove_from_pending_weak_list): Likewise.
6301 (init_varasm_once): Likewise.
6302
6303 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
6304 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
6305 stor-layout.c, regclass.c, and lists.c.
6306 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
6307 gt-regclass.h and gt-lists.h on s-gtype.
6308 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
6309 * except.c: Use gengtype for roots.
6310 * explow.c: Use gengtype for roots. Include gt-explow.h.
6311 * expr.h (init_stor_layout_once): Delete prototype.
6312 * function.c: Use gengtype for roots.
6313 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
6314 * gengtype-yacc.y (start): Can also be an externstatic.
6315 (externstatic): New production.
6316 (struct_fields): Correct array bounds inversion for 2-d arrays.
6317 * gengtype.c (variables): New variable.
6318 (note_variable): New function.
6319 (get_output_file): Include libfuncs.h into gtype-desc.c.
6320 (get_output_file_name): New function.
6321 (write_gc_structure_fields): Suppress warnings.
6322 (write_gc_types): Make static.
6323 (put_mangled_filename): New function.
6324 (write_gc_roots): New function.
6325 (main): Call write_gc_roots.
6326 * gengtype.h (note_variable): Prototype.
6327 (get_output_file_name): Prototype.
6328 (write_gc_types): Delete prototype.
6329 * ggc.h: Clean up unnecessary structure predefinitions.
6330 (struct ggc_root_tab): Define.
6331 (gt_ggc_m_rtx_def): Make function, not macro.
6332 (gt_ggc_m_tree_node): Likewise.
6333 * libfuncs.h: Use gengtype for roots.
6334 * lists.c: Use gengtype for roots. Include gt-lists.h.
6335 (init_EXPR_INSN_LIST_cache): Delete.
6336 * optabs.c: Use gengtype for roots.
6337 (gt_ggc_mp_optab): Delete.
6338 * optabs.h: Use gengtype for roots.
6339 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
6340 * rtl.h: Use gengtype for roots.
6341 (init_EXPR_INSN_LIST_cache): Delete prototype.
6342 * stor-layout.c: Use gengtype for roots.
6343 Include gt-stor-layout.h.
6344 (init_stor_layout_once): Delete.
6345 * toplev.c: Use gengtype for roots. Delete calls to deleted
6346 routines.
6347 * tree.c: Use gengtype for roots.
6348 * tree.h: Use gengtype for roots.
6349 * varasm.c: Use gengtype for roots.
33005162 6350
e2500fed
GK
6351 * Makefile.in (GTFILES): Add @all_gtfiles@.
6352 * configure: Regenerate.
6353 * configure.in: Construct all_gtfiles from the gtfiles definitions
6354 in config-lang.in.
6355 * gengtype-yacc.y (type): Warn about duplicate structure names.
6356 * gengtype.c (get_output_file): Handle .c files in language
6357 subdirectories.
6358
6359 * Makefile.in (GTFILES): Run gengtype on all the config files
6360 and on the target .c file.
6361 * except.c (mark_eh_region): Delete.
6362 (init_eh_for_function): Use GGC on struct eh_status.
6363 (mark_eh_status): Delete.
6364 (free_eh_status): Use GGC.
6365 (expand_eh_region_start): Use GGC to
6366 (collect_eh_region_array): Allocate last_region_number using GGC.
6367 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
6368 (remove_eh_handler): Let GGC free struct eh_region.
6369 (add_call_site): Use GGC to reallocate call_site_record array.
6370 * function.c (init_machine_status): Update calling sequence.
6371 (mark_machine_status): Likewise.
6372 (mark_lang_status): Likewise.
6373 (prepare_function_start): Update init_machine_status call.
6374 (mark_function_status): Delete.
6375 (maybe_mark_struct_function): Delete.
6376 (ggc_mark_struct_function): Delete.
6377 (gt_ggc_mp_function): New.
6378 (gt_ggc_mr_machine_function): New.
6379 (gt_ggc_mr_language_function): New.
6380 (init_function_once): Use canonical names.
6381 * function.h (struct function): Use gengtype.
6382 (init_machine_status): Return the structure.
6383 (mark_machine_status): Take a 'void *'.
6384 (mark_lang_status): Likewise.
6385 * ggc-common.c (ggc_mark_trees): Use canonical name for
6386 ggc_mark_struct_function.
6387 * tree.h (ggc_mark_struct_function): Delete prototype.
6388 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
6389 (alpha_init_machine_status): Likewise.
6390 (override_options): Use canonical name for alpha_mark_machine_status.
6391 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
6392 * config/arm/arm.h (struct machine_function): Use gengtype.
6393 * config/arm/arm.c (arm_mark_machine_status): Delete.
6394 (arm_init_machine_status): Update calling sequence.
6395 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
33005162 6396 * config/cris/cris.c (cris_init_machine_status): Update
e2500fed
GK
6397 calling sequence.
6398 * config/d30v/d30v.h (struct machine_function): Use gengtype.
33005162 6399 * config/d30v/d30v.c (d30v_init_machine_status): Update
e2500fed
GK
6400 calling sequence.
6401 (d30v_mark_machine_status): Delete.
6402 * config/i386/i386.c: Include gt-i386.h.
6403 (struct machine_function): Use gengtype.
6404 (ix86_init_machine_status): Update calling sequence.
6405 (ix86_mark_machine_status): Delete.
6406 (override_options): Use canonical namke for ix86_mark_machine_status.
6407 * config/ia64/ia64.h (struct machine_function): Use gengtype.
33005162 6408 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
e2500fed
GK
6409 sequence.
6410 (ia64_mark_machine_status): Delete.
33005162 6411 (ia64_override_options): Use canonical name for
e2500fed 6412 ia64_mark_machine_status.
33005162 6413 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
e2500fed
GK
6414 sequence.
6415 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
6416 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
6417 * gengtype.c (get_output_file): Fix warning.
6418 (main): Add prototype to suppress warning.
6419 * tree.c: Remove tree_hash_mark prototype.
6420
6421 * tree.h (init_stmt): Delete prototype.
6422 * toplev.c (lang_independent_init): Don't call init_stmt.
6423 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
6424 (stmt_obstack): Delete.
6425 (POPSTACK): No need to free 'struct nesting'.
6426 (gt_ggc_mr_nesting_cond): Use canonical names.
6427 (gt_ggc_mr_nesting_loop): Use canonical names.
6428 (gt_ggc_mr_nesting_block): Use canonical names.
6429 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
6430 (mark_stmt_status): Delete.
6431 (init_stmt): Delete.
6432 (clear_last_expr): Clear both last_expr_type and last_expr_value.
6433 Use it everywhere that last_expr_type was cleared.
6434 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
6435 (zap_lists): Delete.
6436 * ggc.h (ggc_add_deletable_root): Prototype.
6437 (mark_stmt_status): Remove prototype.
6438 * ggc-common.c (ggc_add_deletable_root): New.
6439 (ggc_mark_roots): Handle deletable roots.
6440 * function.c (ggc_mark_struct_function): Use canonical name
6441 for mark_stmt_status.
6442 * emit-rtl.c (free_sequence_stack): New.
6443 (start_sequence): Use a freelist for sequences.
6444 (end_sequence): Likewise.
6445 (init_emit_once): Add free_sequence_stack as a deleteable root.
6446 * c-pragma.c Include gt-c-pragma.h.
6447 (struct align_stack): Use gengtype.
6448 (push_alignment): Use GGC for struct align_stack.
6449 (mark_align_stack): Delete.
6450 (gt_ggc_mp_align_stack): New.
6451 (init_pragma): Use canonical name for mark_align_stack.
6452 * c-decl.c: Include gt-c-decl.h.
6453 (struct binding_level): Use gengtype.
6454 (make_binding_level): Use GGC; handle the freelist here.
6455 (pop_binding_level): New.
6456 (pushlevel): Move code into make_binding_level.
6457 (push_label_level): Likewise.
6458 (poplevel): Move code into pop_binding_level.
6459 (pop_label_level): Likewise.
6460 (mark_binding_level): Delete.
6461 (gt_ggc_mp_binding_level): New.
6462 (c_init_decl_processing): Use canonical name for mark_binding_level.
6463 Add free_binding_level as deletable root.
6464 (mark_c_function_context): Use canonical name for mark_binding_level.
6465 * Makefile.in (c-decl.o): Add gt-c-decl.h.
6466 (c-pragma.o): Add gt-c-pragma.h.
6467 (GTFILES): Add c-decl.c and c-pragma.c.
6468 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
6469
6470 * tree.c (struct type_hash): Use gengtype.
6471 (init_obstacks): Use canonical name for type_hash_mark.
6472 (type_hash_mark): Delete.
6473 Include gt-tree.h.
6474 * rtl.h (struct mem_attrs): Use gengtype.
6475 * optabs.h (struct optab): Use gengtype.
6476 * optabs.c (expand_binop): Squish signed/unsigned warning.
6477 (mark_optab): Make local, use canonical name, use autogenerated
6478 marker procedure.
6479 (init_optabs): Use canonical name for mark_optab.
6480 (new_optab): Use GGC to allocate optabs.
6481 * ggc.h: Delete mark_optab prototype.
6482 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
6483 mem_attrs marker procedure.
6484 * gengtype.c (get_output_file): Include headers in gtype-desc.c
6485 explicitly rather than deducing them from file names.
6486 (write_gc_structure_fields): Handle arrays of structures.
6487 (main): Return non-zero exit code if errors occur during output.
6488 * emit-rtl.c (mem_attrs_mark): Delete.
6489 (init_emit_once): Use canonical name for mem_attrs marker procedure.
6490 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
6491 (tree.o): Depend on gt-tree.h.
6492 (GTFILES): Add rtl.h, optabs.h, tree.c.
6493 (gt-tree.h): Add it to s-gtype rule.
6494
6495 * .cvsignore: Ignore gengtype flex/bison generated files.
6496 * Makefile.in (GGC_H): Add gtype-desc.h.
6497 (OBJS): Add gtype-desc.o.
6498 (GEN): Add gengtype.
6499 (STAGESTUFF): Add gengtype.
6500 (varasm.o): Add gt-varasm.h.
6501 (stmt.o): Add gt-stmt.h.
6502 (except.o): Add gt-except.h.
6503 (integrate.o): Add gt-integrate.h.
6504 (GTFILES): New.
6505 Add new rules for new files.
6506 * configure: Regenerate.
6507 * configure.in: Correct defaults.h paths.
6508 * emit-rtl.c (mark_sequence_stack): Delete.
6509 (mark_emit_status): Delete.
6510 (start_sequence): Allocate sequence structures using GGC.
6511 (end_sequence): Allocate sequence structures using GGC.
6512 * except.c: Use gengtype for various structures. Include
6513 gt-except.h.
6514 * expr.c (mark_expr_status): Delete.
6515 * function.c: Use gengtype for various structures. Include
6516 gt-function.h.
6517 (mark_function_status): Use standard gt_ggc names for marker functions.
6518 (ggc_mark_struct_function): Likewise.
6519 * function.h: Use gengtype for various structures.
6520 * gengtype-lex.l: New file.
6521 * gengtype-yacc.y: New file.
6522 * gengtype.c: New file.
6523 * gengtype.h: New file.
6524 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
6525 the standard names. Remove some now-unnecessary prototypes.
6526 * integrate.c: Use gengtype for various structures. Include
6527 gt-integrate.h.
6528 (mark_hard_reg_initial_vals): Delete.
6529 * integrate.h (mark_hard_reg_initial_vals): Delete.
6530 * stmt.c: Use gengtype for various structures. Include
6531 gt-stmt.h.
6532 (mark_case_node): Delete.
6533 (mark_goto_fixup): Delete.
6534 (mark_stmt_status): Use standard gt_ggc names for marker functions.
6535 * system.h: Define GTY to empty. In flex/bison files,
6536 don't poison malloc or realloc, instead just define them to
6537 xmalloc and xrealloc.
6538 * varasm.c: Use gengtype for various structures. Include
6539 gt-varasm.h. Use standard gt_ggc names for marker functions.
6540 (mark_pool_constant): Delete.
6541 (mark_varasm_status): Delete.
6542 (decode_rtx_const): #if 0 out non-typesafe hack.
6543
6544 * function.h (free_lang_status): Mark as obsolete.
6545 * function.c (free_lang_status): Mark as obsolete.
6546 * c-decl.c (push_c_function_context): Use GC to allocate and free
6547 struct language_function.
6548 (pop_c_function_context): Likewise.
6549 * c-common.c (mark_c_language_function): Mark struct
6550 language_function.
6551
6552 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
6553 Document that the machine_function structures must be allocated
6554 using GC. Update mark_machine_status documentation.
6555 * function.h: Don't declare free_machine_status.
33005162 6556 * function.c (free_machine_status): Don't define.
e2500fed
GK
6557 (free_after_compilation): Don't call free_machine_status.
6558 (ggc_mark_struct_function): Mark f->machine. Call
6559 mark_machine_status only on non-NULL pointers.
6560 * system.h: Poison free_machine_status.
6561 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
6562 struct machine_function.
6563 (xtensa_free_machine_status): Delete.
6564 (override_options): Don't set free_machine_status.
6565 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
6566 free_machine_status.
6567 (rs6000_init_machine_status): Use GC on struct machine_function.
6568 (rs6000_free_machine_status): Delete.
6569 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
6570 machine_function.
6571 (ia64_mark_machine_status): Likewise.
6572 (ia64_free_machine_status): Delete.
6573 (ia64_override_options): Don't set free_machine_status.
6574 * config/i386/i386.c (override_options): Don't set
6575 free_machine_status.
6576 (ix86_init_machine_status): Use GC on struct machine_function.
6577 (ix86_mark_machine_status): Likewise.
6578 (ix86_free_machine_status): Delete.
6579 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
6580 machine_function.
6581 (d30v_mark_machine_status): Likewise.
6582 (d30v_free_machine_status): Delete.
6583 (d30v_init_expanders): Don't set free_machine_status.
6584 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
6585 machine_function.
6586 (arm_init_machine_status): Likewise.
6587 (arm_free_machine_status): Delete.
6588 (arm_init_expanders): Don't set free_machine_status.
6589 * config/alpha/alpha.c (override_options): Don't set
6590 free_machine_status.
6591 (alpha_init_machine_status): Use GC on struct machine_function.
6592 (alpha_mark_machine_status): Likewise.
6593 (alpha_free_machine_status): Delete.
6594
6595 * varasm.c (compare_constant): Fix typo.
6596
6597 * varasm.c: Don't include obstack.h.
6598 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
6599 (struct rtx_const): Give substructures names, improve formatting.
6600 (struct constant_descriptor): Delete.
6601 (struct constant_descriptor_tree): New, based on constant_descriptor.
6602 (const_hash_table): Is a hash table of trees.
6603 (mark_const_hash_entry): Is used for hashes of trees. Mark
6604 constant_descriptor_tree structure.
6605 (mark_const_str_htab_1): Mark deferred_string structure.
6606 (compare_constant): Rewrite to compare trees.
6607 (compare_constant_1): Delete.
6608 (record_constant): Delete.
6609 (record_constant_1): Delete.
6610 (output_constant_def): Use struct constant_descriptor_tree.
6611 Don't duplicate trees twice.
6612 (struct constant_descriptor_rtx): New.
6613 (struct pool_constant): Used for rtx constants.
6614 (init_varasm_status): Update for change to struct varasm_status.
6615 (mark_varasm_status): Likewise.
6616 (free_varasm_status): Delete.
6617 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
6618 (record_constant_rtx): Likewise.
6619 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
6620 (force_const_mem): Likewise.
6621 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
6622 * function.c (free_after_compilation): Don't use free_varasm_status.
6623 * function.h: Don't prototype free_varasm_status.
6624
6625 * ggc-common.c (ggc_realloc): Handle X being NULL.
6626
6627 * ggc-common.c (ggc_realloc): New function.
6628 * ggc.h: Prototype it.
6629 * emit-rtl.c (free_emit_status): Delete.
6630 (init_emit): Allocate emit subarrays using GC.
6631 (gen_reg_rtx): Reallocate subarrays using GC.
6632 (init_emit): Use GC to allocate 'struct emit_status' and its
6633 subarrays.
6634 (mark_emit_status): Mark structure and its subarrays.
6635 * stmt.c (free_stmt_status): Delete.
6636 * expr.c (free_expr_status): Delete.
6637 * function.h: Remove prototypes for deleted functions.
6638 * function.c (free_after_compilation): Don't use deleted functions.
6639 Don't call free() on x_parm_reg_stack_loc.
6640 (free_after_parsing): Don't use free_stmt_status.
6641 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
6642 (mark_function_status): Mark x_parm_reg_stack_loc.
6643
6644 * varasm.c (init_varasm_status): Use GC to allocate
6645 'struct varasm_status' and its fields x_const_rtx_hash_table
6646 and x_const_rtx_sym_hash_table.
6647 (mark_varasm_status): Mark them.
6648 (free_varasm_status): Use GC to free them.
6649 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
6650 (mark_expr_status): Mark the structure itself.
6651 (free_expr_status): Use GC to free the structure.
6652 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
6653 (mark_stmt_status): Mark the 'struct stmt_status' itself.
6654 (init_stmt_for_function): Allocate the structure for GC.
6655
6656 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
6657 (equate_type_number_to_die): Likewise.
6658 * tree.h (TYPE_SYMTAB_DIE): New macro.
6659 (struct die_struct): Predeclare.
6660 (struct tree_type): Add field symtab.die. Add a tag
6661 to the union type of field symtab.
6662
6663 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
6664 'struct rtvec_def *', not 'struct rtvec_def'.
6665
6666 * function.h (original_arg_vector): Make a real rtvec.
6667 * function.c (ggc_mark_struct_function): Adjust.
6668 * integrate.c (expand_inline_function): Adjust.
6669
b655555e
JT
66702002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
6671
6672 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
6673 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
6674 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
6675 (TARGET_VERSION_CPU): Define according to the
6676 default target.
6677 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
6678 TARGET_VERSION_CPU.
6679 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
6680 if TARGET_SHMEDIA64.
6681 (LINK_DEFAULT_CPU_EMUL): Define according to the
6682 default target.
6683 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
6684 (SUBTARGET_LINK_SPEC): Define.
6685 (LINK_SPEC): Use SH_LINK_SPEC.
6686 (ASM_SPEC): Remove.
6687 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
6688 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
6689 and TARGET_SHMEDIA64 which abort, for now.
6690 * config/sh/t-netbsd-sh5: New file.
6691 * config/sh/t-netbsd-sh5-32: New file.
6692 * config/sh/t-netbsd-sh5-64: New file.
6693
6d8fd7bb
RH
66942002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
6695 Richard Henderson <rth@redhat.com>
6696
6697 * config/alpha/alpha.c (reg_or_const_int_operand): New.
6698 (some_operand, input_operand): Accept CONST_VECTOR.
6699 (alpha_extra_constraint): Add 'W'.
6700 (alpha_expand_zap_mask): New.
6701 (alpha_expand_builtin_vector_binop): New.
6702 (enum alpha_builtin): New.
6703 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
6704 (alpha_init_builtins, alpha_expand_builtin): New.
6705 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
6706 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
6707 (PREDICATE_CODES): Update.
6708 * config/alpha/alpha-protos.h: Update.
6709 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
6710 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
6711 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
6712 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
6713 (movv2si, movv2si_fix, movv2si_nofix): New.
6714 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
6715 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
6716 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
6717 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
6718 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
6719 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
6720 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
6721 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
6722 builtin_unpkbw, unpkbw): New.
6723 * doc/extend.texi (Alpha Built-in Functions): New.
6724
618939de
RH
67252002-06-03 Richard Henderson <rth@redhat.com>
6726
6727 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
6728 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
6729
73db7137
RH
67302002-06-03 Richard Henderson <rth@redhat.com>
6731
6933647a
RH
6732 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
6733
73db7137
RH
6734 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
6735 (const0_operand): New.
6736 (reg_or_fp0_operand, fp0_operand): Remove.
6737 * config/alpha/alpha.h (PREDICATE_CODES): Update.
6738 * config/alpha/alpha-protos.h: Update.
6739 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
6740 and fp0_operand with reg_or_0_operand and const0_operand.
6741
a6f7c915
DN
67422002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
6743
6744 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
6745
b2f02503
RS
67462002-06-03 Roger Sayle <roger@eyesopen.com>
6747
6748 * gcse.c (cprop_jump): Use single_set to get the pattern
6749 from the setcc argument.
6750
4fcc2065
GDR
67512002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
6752
33005162 6753 * diagnostic.h (diagnostic_count): Move from output_buffer to
4fcc2065
GDR
6754 diagnostic_context.
6755 (diagnostic_kind_count): Adjust definition.
6756
5204d665
JH
6757Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
6758
6759 * except.c (except.c): Do not rebuild CFG.
6760 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
6761 optimization.
6762
0478a14c
JH
6763Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
6764
6765 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
6766 * toplev.c: Include cfglahout.h
6767 * Makefile.in (toplev.c): Add dependnecy.
6768
30efe578
NB
67692002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
6770
6771 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
6772 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
6773 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
6774
a782515b
JT
67752002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
6776
6777 * config/ns32k/netbsd.h: Update copyright years.
6778 (TARGET_OS_CPP_BUILTINS): Define.
6779 (CPP_PREDEFINES): Remove.
6780 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
6781 (TARGET_CPU_CPP_BUILTINS): Define.
6782
0fb7aeda
KH
67832002-06-02 Kazu Hirata <kazu@cs.umass.edu>
6784
589005ff 6785 * emit-rtl.c: Fix formatting.
0fb7aeda
KH
6786 * errors.h: Likewise.
6787 * except.c: Likewise.
6788 * explow.c: Likewise.
6789 * expmed.c: Likewise.
6790 * expr.c: Likewise.
6791 * expr.h: Likewise.
6792
1c8ec18b
KH
67932002-06-02 Kazu Hirata <kazu@cs.umass.edu>
6794
6795 * config/h8300/elf.h: Fix formatting.
6796 * config/h8300/rtems.h: Likewise.
6797
86cb04f6
JT
67982002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
6799
6800 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
6801
5d83269d
TT
68022002-06-02 Tom Tromey <tromey@redhat.com>
6803
6804 * fixinc/fixincl.x: Rebuilt.
6805 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
6806
62f6a494
NB
68072002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6808
6809config/i370:
6810 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
6811 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
6812 * mvs.h: Similarly.
6813 * oe.h: Similarly.
6814
0acb0203
JH
6815Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
6816
6817 * final.c (final): Allow notes to not have computed addresses;
6818 kill no longer needed STACK_REGS ifdef.
6819
ada8d98a
RH
68202002-06-02 Richard Henderson <rth@redhat.com>
6821
6822 * gcse.c (bypass_conditional_jumps): Fix typo last change.
6823
ba4f7968
JH
6824Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
6825
ada8d98a
RH
6826 * loop.c (emit_prefetch_instructions): Properly place the address
6827 computation.
ba4f7968
JH
6828
6829Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
6830
6831 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
6832 (set_block_for_insn): Turn into macro.
6833 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
6834 * cfglayout.c (insn_scopes): Kill.
6835 (scope_to_insns_initialize): Do not use insn_scopes.
6836 (scope_to_insns_finalize): Likewise.
6837 (duplicate_insn_chain): Likewise.
6838 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
6839 * cfgrtl.c (basic_block_for_insn): Kill.
6840 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
6841 (create_basic_block_structure): Use reorder_insns.
6842 (compute_bb_for_insn): Do not use basic_block_for_insn.
6843 (merge_blocks_nomove): Likewise.
6844 (update_bb_for_insn): Likewise.
6845 (verify_flow_info): Likewise.
6846 (set_block_for_insn): Kill.
6847 * combine.c (try_combine): Update gen_rtx_INSN call.
6848 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
6849 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
6850 scopes and BBs.
6851 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
6852 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
6853 Clear BB.
6854 (emit_insns_after): Simplify.
6855 (emit_copy_of_insn_after): Copy scope.
6856 * final.c (final_start_function): Lower scopes.
6857 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
6858 * integrate.c (copy_insn_list): Cope scopes.
6859 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
6860 * loop.c (loop_optimize): Do not care block notes.
6861 * print-rtl.c (print_rtx): Print BB.
6862 * recog.c (apply_change_group): Simplify.
6863 * rtl.c (copy_rtx): Handle 'B'.
6864 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
6865 * rtl.h (Field accessors): Update indexes.
6866 * sched-ebb.c (schedule_ebbs): Do not lower notes.
6867 * sched-rgn.c (schedule_insns): Likewise.
6868 * toplev.c (rest_of_compilation): Lower notes.
6869 * unroll.c (unroll_loop): Do not care scoping notes.
6870 (copy_loop_body): Copy scopes.
6871
537fc532
NB
68722002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6873
6874config/h8300:
6875 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
6876 SUBTARGET_SPEC.
6877 * rtems.h: Similarly.
6878 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
6879 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
6880 (TARGET_CPU_CPP_BUILTINS): Use.
6881
ab780373
RH
68822002-06-02 Richard Henderson <rth@redhat.com>
6883
6884 * alias.c: Include target.h.
6885 (mark_constant_function): Use targetm.binds_local_p instead
6886 of checking TREE_PUBLIC ourselves.
6887 * Makefile.in (alias.o): Add TARGET_H.
6888
b9305c66
NB
68892002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6890
6891 * c-lex.c: Update copyright and file description.
6892
0ac3e0c4
NB
68932002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6894
6895 * config/fr30/fr30.h: Update to new CPP macros.
6896
be3a1d46
NB
68972002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6898
6899 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
6900
ceeedfc1 69012002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
a8fd5963 6902 Zack Weinberg <zack@codesourcery.com>
ceeedfc1
NB
6903
6904 * c-common.c (c_common_init): Override cpplib's default
6905 warn_long_long setting.
6906 * c-lex.c (lex_number): Replace with interpret_integer,
6907 interpret_float, narrowest_unsigned_type and
6908 narrowest_signed_type, taking advantage of the new
6909 cpplib functionality.
6910 * cpperror.c (_cpp_begin_message): If a warning is turned
6911 into an error, avoid printing "warning:".
6912 * cppexp.c (cpp_num_sign_extend): New.
6913 * cppinit.c: Update comment.
6914 * cpplib.h (cpp_num_sign_extend): New.
6915 * tree.h: Update comment.
6916
27e511e0
GDR
69172002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
6918
6919 * diagnostic.h (struct diagnostic_context): Add new member
33005162 6920 internal_error.
27e511e0
GDR
6921 (internal_error_function): Remove declaration.
6922 * diagnostic.c (internal_error_function): Remove definition..
6923 (internal_error): Adjust use.
6924
818b6b7f
RH
69252002-06-02 Richard Henderson <rth@redhat.com>
6926
6927 * rtl.h (CC0_P): New.
6928 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
6929 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
6930 (bypass_block): Save old dest block for dump text.
6931 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
6932 Allow only true SET insns, not single_set.
6933
167143a0
GDR
69342002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
6935
6936 * diagnostic.c (diagnostic_finish): Rename to output_flush.
6937 (clear_disgnostic_info): Rename to output_clear_data. Use false
6938 instead of 0 for boolean value.
6939 Adjust function call throughout.
6940
eae4bc56
JH
6941Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
6942
6943 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
6944 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
6945
9eb404a0
NB
69462002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6947
6948 * d30v.h (CPP_PREDEFINES): Replace with
6949 (TARGET_CPU_CPP_BUILTINS): New.
6950
53e8b0b8
RS
69512002-06-02 Roger Sayle <roger@eyesopen.com>
6952
6953 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
6954
92e34b67
JH
6955Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
6956
6957 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
6958
e7e9d242
RH
69592002-06-02 Richard Henderson <rth@redhat.com>
6960
6961 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
6962
9af145ae
MM
69632002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
6964
6965 Support for C++ constructors/destructors.
6966 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
6967 instead of looping if main() returns.
6968 (asm_file_start): Output global symbols that cause .data and .bss
6969 initialization code to be linked in, unconditionally for now.
6970 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
6971 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
6972 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
6973 (LIBSTDCXX): New.
6974 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
6975 (__tablejump__): New.
6976 (__do_copy_data, __do_clear_bss): New.
6977 (__do_global_ctors, __do_global_dtors): New.
6978 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
6979 _ctors, _dtors.
6980
0d66ad57
NB
69812002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
6982
6983 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
6984 (CPP_SPEC, CPP_PREDEFINES): Kill.
6985 * c4x/rtems.h (CPP_PREDEFINES): Kill.
6986 (TARGET_OS_CPP_BUILTINS): New.
6987
5c856b23
JH
6988Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
6989
6990 * Makefile.in (tracer.o): New.
6991 * params.def (TRACER_*): New options.
6992 * rtl.h (tracer): Declare.
6993 * timevar.def (TV_TRACER): New.
6994 * toplev.c (dump_file_index): Add DFI_tracer.
6995 (dump_file_info): Add tracer.
6996 (flag_tracer): New.
6997 (lang_indepdenent_options): Add tracer.
6998 (rest_of_compilation): Call tracer.
6999 * tracer.c: New file.
7000 * invoke.texi (-ftracer): Document.
7001 (--param tracer-*): Document.
7002
e2405951
DB
70032002-06-01 Daniel Berlin <dberlin@dberlin.org>
7004
7005 * tree-inline.c (expand_call_inline): Make the statement
33005162 7006 expression we generate have a COMPOUND_STMT.
e2405951 7007
0e3f0221
RS
70082002-06-01 Roger Sayle <roger@eyesopen.com>
7009
7010 * gcse.c (cprop_cc0_jump): Function deleted.
7011 (cprop_jump): Take an additional argument which is the possibly
7012 NULL cc setting insn immediately before the conditional jump.
7013 When a MODE_CC set is present, substitute it into the JUMP_INSN
7014 before attempting the constant propagation.
7015 (cprop_insn): Recognize cc setters followed by conditional jumps
7016 as a special case. Use cprop_jump instead of cprop_cc0_jump.
7017 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
7018 (find_bypass_set): New function based upon find_avail_set used by
7019 cprop, but finds constant expressions available at the end of
7020 basic blocks.
7021 (bypass_block): New function. Given a basic block that begins
7022 with a conditional jump and multiple incoming edges, perform
7023 the jump bypass optimization.
7024 (bypass_conditional_jumps): New function. Call bypass_block with
7025 each suitable basic block in the CFG using a simple single pass.
7026
378393da
RS
70272002-06-01 Roger Sayle <roger@eyesopen.com>
7028
7029 * tree.c (real_minus_onep): New function to test for -1.0.
7030 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
7031
01c58f26
RS
70322002-06-01 Roger Sayle <roger@eyesopen.com>
7033
7034 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
7035 and "!p && !q" into "(p|q) == 0" under suitable conditions.
7036
91b12472
AJ
70372002-06-01 Andreas Jaeger <aj@suse.de>
7038
7039 * cppexp.c (cpp_classify_number): Cast precission to int for
7040 correct printf format.
7041
01e9ae86
MM
70422002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
7043
7044 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
7045 expected, but don't really exist: atmega83, atmega85, attiny10.
7046 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
7047 emulations for all devices.
7048 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
7049 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
7050
be1e06df
KH
70512002-06-01 Kazu Hirata <kazu@cs.umass.edu>
7052
7053 * config/h8300/h8300-protos.h: Add a prototype for
7054 h8300_shift_needs_scratch_p.
7055 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
7056 * config/h8300/h8300.h (OK_FOR_R): New.
7057 (OK_FOR_S): Likewise.
7058 (OK_FOR_T): Likewise.
7059 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
7060 * config/h8300/h8300.md (anonymous shift patterns): Use
7061 constraints R, S, and T.
7062
2ecfd709
ZD
7063Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7064
7065 * basic-block.h (struct basic_block_def): New field loop_father.
7066 (BB_VISITED): New flag.
7067 (struct loop): New field pred, removed field shared.
7068 (struct loops): New field parray.
7069 (LOOP_EXITS_DOMS): Removed.
7070 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
7071 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
7072 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
7073 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
7074 verify_loop_structure): Declare.
7075 * cfg.c (entry_exit_blocks): Initialize loop_father field.
7076 * cfganal.c (dfs_enumerate_from): New function.
7077 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
7078 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
7079 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
7080 flow_loop_dump, flow_loops_dump, flow_loops_free,
7081 flow_loop_tree_node_add, flow_loop_level_compute,
7082 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
7083 flow_loop_outside_edge_p): Modified for new infrastructure.
7084 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
7085 redirect_edge_with_latch_update, flow_loop_free): New static functions.
7086 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
7087 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
7088 find_common_loop, verify_loop_structure, loop_latch_edge,
7089 loop_preheader_edge): New functions.
7090 (flow_loops_cfg_dump): Do not show dominators, as this information
7091 does not remain up to date long.
7092 (flow_loops_find): Store results in new format.
7093 * predict.c (propagate_freq, estimate_probability,
7094 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
7095 infrastructure.
7096
d9763749 70972002-06-01 Alan Lehotsky <apl@alum.mit.edu>
91b12472 7098
d9763749
AL
7099 * except.c (nothrow_function_p): Walk epilogue delay list
7100 checking the insn, not the chain for potential throws.
91b12472 7101
1e730c5c
ZW
71022002-05-31 Zack Weinberg <zack@codesourcery.com>
7103
7104 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
7105 (install): Refer to install-cpp directly.
7106 (uninstall-cpp): Folded into uninstall rule.
7107 * configure.in: Delete all code relating to --disable-cpp.
7108 * configure: Regenerate.
7109 * config/t-install-cpp: Delete.
7110
6f9b006d
RH
71112002-05-31 Richard Henderson <rth@redhat.com>
7112
7113 * configure.in (HAVE_AS_TLS): Add alpha tests.
7114 * configure: Rebuild.
7115 * config/alpha/alpha.c (TARGET_AS_TLS): New.
7116 (alpha_tls_size, alpha_tls_size_string): New.
7117 (overide_options): Set it. Always install machine_status hooks.
7118 (input_operand): Accept got tls predicates.
7119 (local_symbol_p): Merge into ...
7120 (local_symbolic_operand): ... here. Reject tls symbols.
7121 (global_symbolic_operand): Likewise.
7122 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
7123 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
7124 (tp16_symbolic_operand, tp32_symbolic_operand): New.
7125 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
7126 (alpha_encode_section_info): Handle TLS symbols.
7127 (alpha_strip_name_encoding): Likewise.
7128 (alpha_legitimate_address_p): Likewise.
7129 (alpha_legitimize_address): Likewise.
7130 (alpha_expand_mov): Early exit to avoid nop moves.
7131 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
7132 (alpha_init_machine_status, alpha_mark_machine_status,
7133 alpha_free_machine_status): Always define.
7134 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
7135 (print_operand, print_operand_address): Add TLS relocs.
7136 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
7137 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
7138 (TARGET_SWITCHES): Add -mtls-kernel.
7139 (alpha_tls_size, alpha_tls_size_string): New.
7140 (TARGET_OPTIONS): Add -mtls-size=.
7141 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
7142 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
7143 (ASM_OUTPUT_LABELREF): Skip %.
7144 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
7145 (PREDICATE_CODES): Update.
7146 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
7147 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
7148 UNSPEC_TP, UNSPECV_SET_TP): New.
7149 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
7150 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
7151 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
7152 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
7153 (call_value_osf_2_er): Accept anything as op4.
7154 * config/alpha/alpha-protos.h: Update.
7155 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
7156
39e5db1a
ZW
71572002-05-31 Zack Weinberg <zack@codesourcery.com>
7158
7159 * cppinit.c (append_include_chain): Always pay attention to
7160 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
7161 marker on argument.
7162
41077ce4
KH
71632002-05-31 Kazu Hirata <kazu@cs.umass.edu>
7164
7165 * target.h: Fix formatting.
7166 * timevar.h: Likewise.
7167 * tlink.c: Likewise.
7168 * toplev.c: Likewise.
7169 * toplev.h: Likewise.
7170 * tree.c: Likewise.
7171 * tree-dump.h: Likewise.
7172 * tree.h: Likewise.
7173 * tree-inline.h: Likewise.
7174 * unroll.c: Likewise.
7175 * unwind-dw2.c: Likewise.
7176 * unwind-dw2-fde.c: Likewise.
7177 * unwind-dw2-fde-glibc.c: Likewise.
7178 * unwind-dw2-fde.h: Likewise.
7179 * unwind.h: Likewise.
7180 * unwind-sjlj.c: Likewise.
7181 * varasm.c: Likewise.
7182 * varray.h: Likewise.
7183 * vmsdbg.h: Likewise.
7184 * vmsdbgout.c: Likewise.
7185 * xcoffout.h: Likewise.
7186
b2e426a0
IS
71872002-05-31 Igor Shevlyakov <igor@microunity.com>
7188
1e730c5c 7189 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
b2e426a0
IS
7190 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
7191
8b968bd1
MW
71922002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
7193
7194 * gcc.c (cpp_unique_options): Remove "-d" options.
7195 (cpp_debug_options): New spec string.
7196 (default_compilers): Use it.
7197 * objc/lang-specs.h: Likewise.
7198
5c35940c
NN
71992002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
7200
1e730c5c 7201 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
5c35940c
NN
7202 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
7203 * gcc/mklibgcc.in: Likewise.
7204 * gcc/config/arc/t-arc: Likewise.
7205 * gcc/configure.in: Likewise.
7206 * gcc/configure: Regenerate.
7207
8b496ceb
SS
72082002-05-31 Stan Shebs <shebs@apple.com>
7209 Turly O'Connor <turly@apple.com>
7210
7211 * c-decl.c (struct binding_level): Change int field n_incomplete
7212 to tree list incomplete_list.
7213 (clear_binding_level): Init field with NULL.
7214 (pushdecl): Add incomplete type to list.
7215 (mark_binding_level): Mark the incomplete list.
7216 (finish_struct): Scan the incomplete list for types instead
7217 of all decls in the current binding level.
7218
4722213d
JDA
72192002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
7220
7221 * pa.c (output_millicode_call): Add missing '%' characters.
7222 (output_call): Likewise.
7223
1086fcb1
DE
72242002-05-31 David Edelsohn <edelsohn@gnu.org>
7225
7226 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
7227 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
7228
afdfb380 72292002-05-31 Alan Lehotsky <apl@alum.mit.edu>
91b12472 7230
afdfb380
AL
7231 * varasm.c (mark_constant_pool): Walk epilogue delay list
7232 checking the insn, not the chain for potential constants.
1e730c5c 7233
f2df45f6
R
7234Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
7235
7236 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
7237
91ea38f9
JH
7238Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
7239
7240 * i386.c (classify_argument): Properly handle base types.
7241
7242 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
7243 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
7244 registers.
7245
10d1bb36
JH
7246Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
7247
7248 * gcse.c (gcse_emit_move_after): New.
7249 (pre_delete, hoist_store): Use it.
7250
7251 * reload1.c (emit_input_reload_insns): Use constrain_operands
7252 instead of constraint_accepts_reg_p to verify optimization.
7253 (constraint_accepts_reg_p): Kill
7254
7255 * reload1.c (reload_cse_delete_noop_set): Kill.
7256 (reload_cse_simplify): use delte_insn_and_edges.
7257
8a72fb76
ZD
72582002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7259
7260 * cfgloop.c (flow_loops_find): Initialize first and last fields
7261 correctly.
7262
a9da2e5b
NB
72632002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
7264
7265 * c-common.c (builtin_define_std): Correct logic.
7266
6248c4dd
JDA
72672002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
7268
7269 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
7270 (output_call): Likewise.
7271
d499455b
JDA
72722002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
7273
7274 * pa.c: Move output.h include after tree.h include.
7275 (pa_asm_output_mi_thunk): Constify identifier lab.
7276
2eb2901a
JT
72772002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
7278
7279 * config/ns32k/ns32k.h: Define named constants for the
7280 bits in target_flags and use them.
7281 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
7282
806bf413
JDA
72832002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
7284
7285 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
7286 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
7287 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
7288 default scheduling model.
7289 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
7290 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
7291 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
7292 * doc/install.texi (hppa*-*-*): Document default scheduling.
7293
6d8d2bbc
JDA
72942002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
7295
7296 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
7297
c8eb9785
JT
72982002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
7299
7300 * config.gcc (ns32k-*-netbsd*): Set tm_file to
7301 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
7302 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
7303 netbsd.h, or netbsd-aout.h.
7304
6e2e5b6a
JT
73052002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
7306
7307 * longlong.h (count_trailing_zeros): Add missing \, and clean up
7308 whitespace in __ns32000__ case.
7309
00182e1e
AH
73102002-05-31 Aldy Hernandez <aldyh@redhat.com>
7311
1e730c5c
ZW
7312 * expr.c (expand_expr): Output partially zeroed out vectors with
7313 output_constant_def.
00182e1e 7314
b4eb03fe
JT
73152002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
7316
7317 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
7318 (sh-*-netbsdelf*)
7319 (shl*-*-netbsdelf*): New targets.
7320 * config/sh/netbsd-elf.h: New file.
8fd0df91 7321 * config/sh/t-netbsd: New file.
b4eb03fe 7322
261376e7
RH
73232002-05-30 Richard Henderson <rth@redhat.com>
7324 Eric Botcazou <ebotcazou@multimania.com>
7325
7326 PR optimization/6822
7327 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
7328 to unsigned int for op1 comparisons. Use gen_int_mode.
7329
ce60bf25
EB
73302002-05-30 Eric Botcazou <ebotcazou@multimania.com>
7331
7332 * expmed.c (const_mult_add_overflow_p): New.
7333 * expr.h: Declare it.
7334 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
7335 Don't eliminate the biv if the giv has a constant multiplier and
7336 the rhs argument of the comparison does satisfy the predicate.
7337 Use expand_mult_add to compute the replacement constant.
7338
d18b1ed8
OS
73392002-05-30 Osku Salerma <osku@iki.fi>
7340
7341 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
7342 (c_common_get_alias_set): Handle it.
7343 * doc/extend.texi: Document it.
7344
a7943381
RH
73452002-05-30 Richard Henderson <rth@redhat.com>
7346
7347 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
7348 * toplev.c (process_options): Don't check it.
7349 * doc/tm.texi: Don't document it.
7350 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
7351 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
7352 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
7353 frame pointer optimization if current_function_profile.
7354
e11e816e
KH
73552002-05-30 Kazu Hirata <kazu@cs.umass.edu>
7356
7357 * langhooks.c: Fix formatting.
7358 * langhooks.h: Likewise.
7359 * lcm.c: Likewise.
7360 * libgcc2.c: Likewise.
7361 * lists.c: Likewise.
7362 * local-alloc.c: Likewise.
7363 * loop.c: Likewise.
7364 * loop.h: Likewise.
7365
73662002-05-30 Marc Espie <espie@openbsd.org>
7367
7368 * config.gcc (sparc64-*-openbsd*): New.
7369 * config/sparc/openbsd1-64.h: New.
7370 * config/sparc/openbsd64.h: New.
91f0fcee 7371
d35dfca9
JL
73722002-05-30 Jeff Law <law@redhat.com>
7373
7374 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
7375 a dead insn with a REG_RETVAL note when the entire libcall is not
7376 dead and remove the associated REG_LIBCALL note at the same time.
7377
81b40b72
R
7378Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
7379
7380 * lcm.c (output.h): #include.
7381 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
7382 as an ordinary block.
7383 (optimize_mode_switching): Don't pretend that the exit block is
7384 an ordinary block, or handle sucessors of entry block specially.
7385 Instead, split edges from entry block and to exit block, and
7386 put a computing definition on the thus gained post-entry-block,
7387 and a need on the pre-exit-block.
7388
c8ea9a0f
JH
7389Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
7390
7391 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
7392 * rtl.texi: Document 'B'
7393
348f0869
JT
73942002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
7395
7396 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
7397 at run-time.
7398 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
7399
9a171fcd
AH
74002002-05-30 Aldy Hernandez <aldyh@redhat.com>
7401
1e730c5c
ZW
7402 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
7403 const0_rtx instead of NULL_RTX when in error.
7404 (altivec_expand_abs_builtin): Same.
7405 (rs6000_expand_binop_builtin): Same.
7406 (altivec_expand_predicate_builtin): Same.
7407 (altivec_expand_stv_builtin): Same.
7408 (rs6000_expand_ternop_builtin): Same.
7409 (altivec_expand_builtin): Same.
9a171fcd 7410
62a35e60
DM
74112002-05-29 David S. Miller <davem@redhat.com>
7412
7413 * rtl.h (clear_emit_caches): Delete.
7414 * integrate.c (output_inline_function): Don't call it.
7415 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
7416 (clear_emit_caches): Delete definition.
7417 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
7418
cbc39da8
HPN
74192002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
7420
7421 * config/mmix/mmix.c: Include real.h.
7422 (mmix_constant_address_p): Remove redundant test before switch.
7423
50efa737
JT
74242002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7425
7426 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
7427 only if not already defined.
7428
2e760b15
KH
74292002-05-29 Kazu Hirata <kazu@cs.umass.edu>
7430
7431 * config/h8300/h8300-protos.h: Remove prototypes for
7432 ok_for_bclr and small_power_of_two.
7433 * config/h8300/h8300.c (small_power_of_two): Remove.
7434 (ok_for_blcr): Likewise.
7435 (fix_bit_operand): Make WHAT deal with an integer instead of a
7436 constraint character.
7437 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
7438 (CONST_OK_FOR_P): Likewise.
7439 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
7440 CONST_OK_FOR_P any more.
7441 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
7442 of fix_bit_operand.
7443 (iorqi3): Likewise.
7444 (xorqi3): Likewise.
7445
e1c293ae
JT
74462002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7447
7448 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
7449 (CPP_PREDEFINES): Make sure this is undefined.
7450 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
7451 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
7452 or -U__MIPSEB__ before defining one or the other. Instead,
7453 use %(subtarget_endian_default) if neither -EB nor -EL are
7454 specified.
7455 (SUBTARGET_EXTRA_SPECS): Define.
7456 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
7457 %(netbsd_cpp_spec).
7458
fde6d81f
HPN
74592002-05-29 Hans-Peter Nilsson <hp@axis.com>
7460
7461 * doc/md.texi (Patterns): Note pattern condition pitfall
7462 for unnamed insn.
7463
92898235
AH
74642002-05-29 Aldy Hernandez <aldyh@redhat.com>
7465
1e730c5c
ZW
7466 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
7467 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
7468 ternary operations from here...
7469 (rs6000_expand_builtin): ...to here.
7470 New argument expandedp.
7471 Change all instances of altivec_expand_binop_builtin to
7472 rs6000_expand_binop_builtin.
7473 (altivec_expand_unop_builtin): Rename to
7474 rs6000_expand_unop_builtin.
7475 (altivec_expand_binop_builtin): Rename to
7476 rs6000_expand_binop_builtin.
7477 (altivec_expand_ternop_builtin): Rename to
7478 rs6000_expand_ternop_builtin.
92898235 7479
67adf6a9
RH
74802002-05-29 Richard Henderson <rth@redhat.com>
7481
7482 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
7483 (TARGET_BI_ARCH): Likewise.
7484 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
7485 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
7486 (TARGET_64BIT_DEFAULT): Default to 0.
7487 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
7488
145aacc2
RH
74892002-05-29 Richard Henderson <rth@redhat.com>
7490
7491 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
7492 (get_pc_thunk_name): New.
7493 (output_set_got): Use it.
7494 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
7495 into linkonce sections.
7496
a5b49bbc
JT
74972002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7498
7499 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
7500 (CPP_PREDEFINES): Make sure this is undefined.
7501 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
7502 (CPP_SUBTARGET_SPEC): Don't provide different versions for
7503 default-32 and default-64. Just always use %(netbsd_cpp_spec).
7504 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
7505 cpp_subtarget_spec64. Add netbsd_cpp_spec.
7506 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
7507 (CPP_PREDEFINES): Make sure this is undefined.
7508 (SUBTARGET_EXTRA_SPECS): Define.
7509 (CPP_SPEC): Use %(netbsd_cpp_spec).
7510
54374491
JL
75112002-05-29 Jeff Law <law@redhat.com>
7512
ae02eae8
JL
7513 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
7514
b862c2aa
JL
7515 * flow.c (propagate_one_insn): Do not remove a dead insn if it
7516 contains a REG_RETVAL note.
7517
d10791ba
JL
7518 * haifa-sched (sched_analyze): Remove another useless clearing
7519 of SCHED_GROUP_P I missed yesterday.
7520
54374491
JL
7521 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
7522 * pa.c (pa_asm_output_mi_thunk): New function.
7523 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
7524
92c392e6
NB
75252002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
7526 Marek Michalkiewicz <marekm@amelek.gda.pl>
7527
7528 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
7529 (avr_asm_only_p): Make non-static.
7530 (enum avr_arch): Remove.
7531 (avr_arch_types): New.
7532 (avr_mcu_types): Update.
7533 (avr_override_options): Use avr_arch_types table instead of switch.
7534 * avr.h (CPP_PREDEFINES): Die.
7535 (avr_base_arch_macro, avr_extra_arch_macro): New.
7536 (TARGET_CPU_CPP_BUILTINS): New.
7537 (CPP_SPEC, EXTRA_SPECS): Simplify.
7538 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
7539 CPP_AVR5_SPEC): Die.
7540
4528173e
JT
75412002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7542
7543 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
7544 NETBSD_OS_CPP_BUILTINS_AOUT.
7545 (SUBTARGET_EXTRA_SPECS): Define.
7546 (CPP_SPEC): Use %(netbsd_cpp_spec).
7547
bd09bdeb
RH
75482002-05-29 Richard Henderson <rth@redhat.com>
7549
7550 * config/i386/i386.c (ix86_output_function_epilogue): New.
7551 (TARGET_ASM_FUNCTION_EPILOGUE): New.
7552 (pic_label_name): Remove.
7553 (pic_labels_used): New.
7554 (ix86_asm_file_end): Emit one pc load stub for each register used.
7555 (output_set_got): Generate deep pc load to any register.
7556 (ix86_select_alt_pic_regnum): New.
7557 (ix86_save_reg): Don't save pic register if we can find a valid
7558 call-clobbered replacement.
7559 (ix86_expand_prologue): If we found a valid replacement, renumber
7560 pic_offset_table_rtx.
7561 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
7562 pic_offset_table_rtx after reload.
7563 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
7564 * config/i386/i386.md (set_got): Make insn, not expander.
7565 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
7566
002ff5bc
RH
75672002-05-29 Richard Henderson <rth@redhat.com>
7568
7569 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
7570 alignment for alloca.
7571
edfe8595
RH
75722002-05-29 Richard Henderson <rth@redhat.com>
7573
7574 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
7575 (print_operand_address): Only add rip for symbolic addresses
7576 for which we do not have another relocation type.
7577
cd7714ee
JT
75782002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7579
7580 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
7581 (EXTRA_SPECS): Add netbsd_cpp_spec.
7582 (CPP_SPEC): Use %(netbsd_cpp_spec).
7583 (CPP_PREDEFINES): Remove.
7584 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
7585 (EXTRA_SPECS): Define.
7586 (CPP_SPEC): Use %(netbsd_cpp_spec).
7587 (CPP_PREDEFINES): Remove.
7588
8dc901de
NB
75892002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
7590
7591 PR preprocessor/6844
7592 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
7593 NUL.
7594
2274b31a
EC
75952002-05-29 Eric Christopher <echristo@redhat.com>
7596
7597 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
7598 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
7599
5c7666c1
NC
76002002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
7601
7602 * config/fr30/fr30.md: Remove previous restriction on splits.
7603 Enforce conformance through gen_lowpart and cont_int_operand.
1e730c5c 7604 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
5c7666c1
NC
7605 as the assembler does not support ".bss".
7606
45beef47
JT
76072002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7608
7609 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
7610 (CPP_PREDEFINES): Remove.
7611 (SUBTARGET_EXTRA_SPECS): Define.
7612 (CPP_SPEC): Use %(netbsd_cpp_spec).
7613 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
7614 (CPP_PREDEFINES): Remove.
7615 (SUBTARGET_EXTRA_SPECS): Define.
7616 (CPP_SPEC): Use %(netbsd_cpp_spec).
7617 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
7618 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
7619 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
7620 Add netbsd_cpp_spec.
7621 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
7622
cd7ab83f
NB
76232002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
7624 Zack Weinberg <zack@codesourcery.com>
7625
7626 * cppexp.c (cpp_num): Move to cpplib.h.
7627 (CPP_ERROR): Remove.
7628 (interpret_float_suffix, interpret_int_suffix): New.
7629 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
7630 (cpp_classify_number, cpp_interpret_integer): New.
7631 (interpret_number): Remove.
7632 (eval_token): Update to use new routines.
7633 * cpphash.h (cpp_num_part): Move to cpplib.h.
7634 * cppinit.c (cpp_post_options): Set warn_long_long.
7635 * cpplib.h (struct cpp_options): Add warn_long_long.
7636 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
7637 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
7638 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
7639 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
7640 cpp_interpret_integer): New.
7641
61a8515c
JS
76422002-05-29 Joel Sherrill <joel@OARcorp.com>
7643
7644 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
7645
53a428b5
JT
76462002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
7647
7648 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
2274b31a
EC
7649 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
7650 (CPP_SUBTARGET_SPEC): Define.
7651 (SUBTARGET_EXTRA_SPECS): Define.
53a428b5
JT
7652 (CPP_SPEC): Remove.
7653
45b1f7c7
CL
76542002-05-29 Chris Lattner <sabre@nondot.org>
7655
1e730c5c
ZW
7656 * ssa.c (rename_insn_1): Rename uses of undefined registers to
7657 prevent confusion if/when the register is defined.
45b1f7c7 7658
049746c2
HPN
76592002-05-29 Hans-Peter Nilsson <hp@axis.com>
7660
7661 PR target/6838
7662 * config/cris/cris.md: Fix typos and thinkos in comments.
7663 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
7664 second alternative.
7665 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
7666 ("*mov_sideqi_mem"): Similar, but for operand 3.
7667 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
7668 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
7669 Remove spurious mode specifier on operand 2.
7670
4d4d89e2
KH
76712002-05-29 Kazu Hirata <kazu@cs.umass.edu>
7672
7673 * config/h8300/h8300-protos.h: Remove the prototype for
7674 o_operand.
7675 Add prototypes for single_one_operand and single_zero_operand.
7676 * config/h8300/h8300.c (o_operand): Remove.
7677 (single_one_operand): New.
7678 (single_zero_operand): Likewise.
7679 (print_operand): For 'V' operand, and the operand with 0xff.
7680 For 'V' and 'W' operands, do not and the bit position with 7.
7681 * config/h8300/h8300.md (various anonymous patterns): Replace
7682 use of exact_log2 with single_one_operand/single_zero_operand.
7683
abd6ddec
UW
76842002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
7685
7686 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
7687
da06d85a
UW
76882002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
7689
7690 * config/s390/s390.c (legitimate_pic_operand_p): Do not
7691 accept symbolic LARL operands.
2274b31a 7692 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
da06d85a 7693 epilogue insns.
2274b31a 7694
f8766020
HP
76952002-05-29 Hartmut Penner <hpenner@de.ibm.com>
7696
7697 * config/s390/s390.md (cmpstr_64/31): Mark whole
2274b31a 7698 input registers as used.
f8766020 7699
66edd3b4
RH
77002002-05-28 Richard Henderson <rth@redhat.com>
7701
7702 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
7703 not current_function_uses_pic_offset_table and
7704 current_function_uses_const_pool; examine current_function_profile.
7705 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
7706 input to blockage if needed.
7707 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
7708 (legitimize_pic_address): Likewise. Set regs_ever_live for
7709 pic_offset_table_rtx when invoked during reload.
7710 * config/i386/i386.h (FINALIZE_PIC): Remove.
7711 * config/i386/i386.md (tablejump): Reformat. Do not set
7712 current_function_uses_pic_offset_table.
7713 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
7714 (blockage): Accept anything as operand 0.
7715
52f4fff6
JT
77162002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
7717
7718 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
7719 common CPP built-ins for all NetBSD a.out targets.
7720 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
7721 common CPP built-ins for all NetBSD ELF targets.
7722 * config/netbsd.h: Add missing notice.
7723 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
7724 for all NetBSD targets.
7725 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
7726 for all NetBSD targets using an LP64 code model.
7727 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
7728 NetBSD targets.
7729
e0e577a2
RH
77302002-05-28 Richard Henderson <rth@redhat.com>
7731
7732 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
7733 update if UPDATE_LIFE_LOCAL.
7734
77352002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
62526ec3
TM
7736
7737 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
7738
f1a58d92 7739Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1e730c5c 7740 Jason R. Thorpe <thorpej@wasabisystems.com>
f1a58d92
R
7741
7742 config/sh reorganization to factor out endianness and coff:
7743
7744 * config/sh/little.h: New file.
1e730c5c
ZW
7745 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
7746 defined, define to 0 to select big-endian.
f1a58d92 7747 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
1e730c5c
ZW
7748 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
7749 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
7750 * config/sh/t-be: New file.
7751 * config/sh/t-le: New file.
f1a58d92
R
7752
7753 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
7754 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
7755 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
7756 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
7757 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
7758 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
7759 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
7760 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
7761 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
7762 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
7763 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
7764 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
7765 (LINK_SPEC): Define to SH_LINK_SPEC.
7766 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
7767 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
7768 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
7769 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
7770 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
7771 * config/sh/coff.h: New file.
7772 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
7773 (TARGET_OBJFMT_CPP_BUILTINS): Define.
7774 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
7775 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
7776 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
7777 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
7778 (PTRDIFF_TYPE): Likewise.
7779 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
7780 (CPP_PREDEFINES): Don't define.
7781 (TARGET_OBJFMT_CPP_BUILTINS): Define.
7782 (LINK_SPEC): Define to SH_LINK_SPEC.
7783 (LINK_EMUL_PREFIX): Redefine.
7784 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
7785 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
7786 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
7787 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
7788 (TARGET_OS_CPP_BUILTINS): Define.
7789 (TARGET_DEFAULT): Redefine.
7790 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
7791 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
7792 (LINK_SPEC): Don't redefine.
7793 (LINK_DEFAULT_CPU_EMUL): Redefine.
7794 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
7795 * sh.c (sh_asm_named_section): Don't declare / define.
7796 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
7797 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
7798 (sh64-*-elf* tm_file): Likewise.
7799 (sh-*-rtemself* tm_file): Likewise.
7800 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
7801 (sh-*-linux* tmake_file): Add sh/t-le.
7802 (sh-*-rtems* tm_file): Add sh/coff.h
7803 (sh-*-* tm_file): Likewise.
7804
7805Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
7806
7807 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
7808 CONSTANT_POOL_ADDRESS_P.
7809
7810 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
7811
d10791ba 78122002-05-28 David Edelsohn <edelsohn@gnu.org>
33a3dfc4
DE
7813 Jeff Law <law@redhat.com>
7814
64de6c0a
DE
7815 * optabs.c (expand_binop): Fix nwords sign warnings.
7816 generate pseudo for add_optab.
7817
33a3dfc4
DE
7818 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
7819 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
7820
972957ba 78212002-05-28 Marc Espie <espie@openbsd.org>
33a3dfc4 7822
2274b31a 7823 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
972957ba
ME
7824 inherited from gas.h.
7825 (ASM_QUAD): Undef. OpenBSD does not support it.
7826
cc92b8ab
DS
78272002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
7828
7829 * doc/install.texi (binaries): Change mingw binaries
7830 link to www.mingw.org.
7831
f8088d55
ZD
78322002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7833
7834 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
7835
0b7ae565
RH
78362002-05-28 Richard Henderson <rth@redhat.com>
7837
7838 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
7839 bottom alignment for leaf functions.
7840
16069d69
ZW
78412002-05-28 Zack Weinberg <zack@codesourcery.com>
7842
7843 * config/pa/milli32.S, config/pa/lib1funcs.asm,
7844 config/sparc/sol2-g1.asm: Delete unused files.
7845
04653686
RH
78462002-05-28 Richard Henderson <rth@redhat.com>
7847
7848 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
7849
f3ea5f6a
RH
7850 * flow.c (calculate_global_regs_live): Rename call_used to
7851 invalidated_by_call. Initialize from regs_invalidated_by_call
7852 instead of call_used_regs.
7853
923c7cdf
RH
7854 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
7855 DECL_EXTERNAL.
7856
11ad4784
ZW
78572002-05-28 Zack Weinberg <zack@codesourcery.com>
7858
8abbd76a
ZW
7859 * tree.h: Don't include real.h.
7860 Forward-declare struct realvaluetype.
11ad4784
ZW
7861 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
7862 contain it.
7863 (TREE_REAL_CST_PTR): New accessor.
7864 (TREE_REAL_CST): Update.
7865 * real.h: Include machmode.h.
2274b31a 7866 (realvaluetype): Make it struct realvaluetype, not a typedef.
11ad4784
ZW
7867 (build_real): Prototype here.
7868
7869 * tree.c: Include real.h.
2274b31a
EC
7870 (build_real): Allocate the REAL_VALUE_TYPE as a separate
7871 object in GC memory, set TREE_REAL_CST_PTR to point to it.
11ad4784
ZW
7872 (build_real_from_int_cst): Use build_real.
7873 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
7874 REAL_CST.
7875
7876 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
7877 fold-const.c, print-tree.c, real.c: Include real.h.
7878 * Makefile.in: Update dependency lists.
7879
bf77398c
ZD
78802002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7881
7882 * basic-block.h (last_basic_block): Declare.
7883 (expunge_block_nocompact): Declaration removed.
7884 (compact_blocks): Declare.
7885 * cfg.c (last_basic_block): New variable.
7886 (expunge_block_nocompact): Removed.
7887 (expunge_block): Do not compact basic blocks.
7888 (compact_blocks): New.
7889 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
7890 longer change.
7891 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
7892 last_basic_block.
7893 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
7894 real positions of blocks.
7895 (delete_unreachable_blocks): Simplified -- quadratic behavior now
7896 cannot occur.
7897 (cleanup_cfg): Compact blocks.
7898 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
7899 basic_block_info varray.
7900 (flow_delete_block): Comment update.
7901 (back_edge_of_syntactic_loop_p): Modify position check code.
7902 (verify_flow_info): Update checking.
7903 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
7904 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
7905 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
7906 indices no longer change.
7907 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
7908 last_basic_block.
7909 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
7910 * profile.c (branch_prob): Compact blocks.
7911 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
7912 last_basic_block.
7913
ae12a094
KH
79142002-05-28 Kazu Hirata <kazu@cs.umass.edu>
7915
7916 * config/h8300/h8300.md (two anonymous patterns): New.
7917
c6172f14
DM
79182002-05-28 David S. Miller <davem@redhat.com>
7919
7920 * config/sparc/sparc.md (cpu): Tidy.
7921 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
7922 'trap'.
7923 (in_call_delay): Delete reference to 'return' type.
7924 (eligible_for_return_delay, in_return_delay, define_delay
7925 referencing those): Delete.
7926 (rest of file): Use new type attributes as appropriate.
7927 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
7928 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
7929 * config/sparc/ultra1_2.md (us1_single): New reservation.
7930 (us1_ialuX): Likewise.
7931 * config/sparc/ultra3.md (us3_single): Likewise.
7932 (us3_ialuX): Likewise.
7933 (us3_imul, us3_idiv): Tweak.
2274b31a 7934
34a6c2ec
RH
79352002-05-28 Richard Henderson <rth@redhat.com>
7936
7937 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
7938 STRING_CST.
7939
9c075570
RH
79402002-05-28 Richard Henderson <rth@redhat.com>
7941
7942 * config.gcc: Obsolete mn10200.
7943
359b0bec
NB
79442002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
7945
7946 * cppexp.c (interpret_number): Optimize for single-digit
7947 and less-than-half-precision cases.
7948 (num_trim, num_positive, num_div_op): Cast constants.
7949
4075db8f
BT
79502002-05-27 Bo Thorsen <bo@suse.de>
7951
7952 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
7953 3.1 branch. The file was made by Jakub Jelinek.
7954 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
7955 support so multilib doesn't break. And don't define this at all
7956 when -Dinhibit_libc is used.
7957 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
7958 * config/i386/t-linux64: Implement full multilib support. Patch
7959 originally done by Andreas Jaeger and Jakub Jelinek.
7960
39f2f3c8
RS
79612002-05-27 Roger Sayle <roger@eyesopen.com>
7962
7963 * c-common.c: Add support for __attribute__((nothrow)) to specify
7964 that a function cannot throw an exception (using TREE_NOTHROW).
7965 (handle_nothrow_attribute): New function to process this attribute.
7966
7967 * doc/extend.texi: Document the new nothrow function attribute.
7968
d51b0053
L
79692002-05-27 H.J. Lu (hjl@gnu.org)
7970
7971 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
7972 (num_positive): Likewise.
7973 (num_div_op): Likewise.
7974
630363b4
NB
79752002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
7976
7977 * c-common.c (c_common_init): Always use intmax_t.
7978
d94cde01
NB
79792002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
7980
7981 * c-common.c (c_common_init): Use intmax_t for now.
7982
57f851a3
AH
79832002-05-24 Andrew Haley <aph@redhat.com>
7984
7985 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
7986 if T is a boolean type.
7987
d55bc081
ZD
79882002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7989
7990 * basic-block.h (last_basic_block): Defined as synonym for
7991 n_basic_blocks.
7992 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
7993 flow_depth_first_order_compute, flow_preorder_transversal_compute,
7994 flow_dfs_compute_reverse_init): Replaced relevant occurences of
7995 n_basic_blocks with last_basic_block.
7996 * cfgbuild.c (make_edges): Likewise.
7997 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
7998 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
7999 * combine.c (combine_instructions): Likewise.
8000 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
8001 iterative_dataflow_bitmap): Likewise.
8002 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
8003 calc_idoms, idoms_to_doms): Likewise.
8004 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
8005 Likewise.
8006 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
8007 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
8008 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
8009 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
8010 delete_null_pointer_checks, compute_code_hoist_vbeinout,
8011 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
8012 compute_store_table, build_store_vectors): Likewise.
8013 * haifa-sched.c (sched_init): Likewise.
8014 * ifcvt.c (if_convert): Likewise.
8015 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
8016 pre_edge_lcm, compute_available, compute_nearerout,
8017 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
8018 Likewise.
8019 * predict.c (estimate_probability, process_note_prediction,
8020 note_prediction_to_br_prob): Likewise.
8021 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
8022 * recog.c (split_all_insns, peephole2_optimize): Likewise.
8023 * regrename.c (copyprop_hardreg_forward): Likewise.
8024 * resource.c (init_resource_info): Likewise.
8025 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
8026 init_regions, schedule_insns): Likewise.
8027 * ssa-ccp.c (ssa_const_prop): Likewise.
8028 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
8029 * ssa.c (compute_dominance_frontiers,
8030 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
8031
8032 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
8033 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
8034 sizes consistently.
8035
71d2c5bd
JH
8036Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
8037
8038 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
8039 new.
8040 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
8041 hoist_insn_after, hoist_insn_to_edge): New.
8042
5149f070
JH
8043Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
8044
8045 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
8046 (PROP_FINAL): Include.
8047 * flow.c (life_analysis, update_life_info,
8048 init_propagate_block_info, mark_set_1, mark_used_rgs):
8049 Support SCAN_DEAD_STORE.
8050
c9220e3a
NB
80512002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
8052
8053 * c-common.c (c_common_init): Set CPP arithmetic precision.
8054 * cppexp.c (cpp_num_part): Move typedef ...
8055 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
8056 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
8057 (sanity_checks): Update.
8058
e34a3d31
GK
80592002-05-26 Geoffrey Keating <geoffk@redhat.com>
8060
8061 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
8062 (mkheaders): New rule.
8063 (install-mkheaders): New rule.
8064 * configure.in (all_outputs): Add mkheaders.
8065 * configure: Regenerate.
8066 * mkheaders.in: New file.
8067
9059e33c
JJ
80682002-05-26 Jakub Jelinek <jakub@redhat.com>
8069
8070 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
8071
291cc0fe
AJ
80722002-05-26 Andreas Jaeger <aj@suse.de>
8073
8074 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
8075
91318908
NB
80762002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
8077
8078 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
8079 right_shift): Remove.
8080 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
8081 HIGH_PART): New.
8082 (struct op): Use cpp_num.
8083 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
8084 num_part_mul, num_unary_op, num_binary_op, num_negate,
8085 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
8086 num_div_op, num_lshift, num_rshift, append_digit): New.
8087 (interpret_number, parse_defined, eval_token, reduce): Update
8088 for two-integer arithmetic.
8089 (binary_handler): New typedef.
8090 (optab): Update.
8091 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
8092 (_cpp_parse_expr, reduce): Update to handle two-integers.
8093 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
8094
331ca350
MM
80952002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
8096
8097 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
8098 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
8099 branch insn into account, do not assume 1.
8100 (avr_out_sbxx_branch): New function. Optimize cases of skipping
8101 over single word insn. Handle upper half of I/O space too.
8102 * config/avr/avr.md (*sbrx_branch): Use it.
8103 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
8104 (*sbix_branch, *sbix_branch_bit7): Likewise.
8105 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
8106 Use RTL peepholes to optimize register operand sign tests.
8107
bcb6a2be
MM
81082002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
8109
8110 * config/avr/avr.c (avr_asm_only_p): New variable.
8111 (avr_override_options): Set it here if AVR1.
8112 (asm_file_start): Test it here, report an error if set.
8113
ca7fd9cd
KH
81142002-05-26 Kazu Hirata <kazu@cs.umass.edu>
8115
8116 * alias.c: Fix formatting.
8117 * attribs.c: Likewise.
8118 * bb-reorder.c: Likewise.
8119 * bitmap.c: Likewise.
8120 * bitmap.h: Likewise.
8121 * builtins.c: Likewise.
8122
a65dc37d
JH
8123Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
8124
8125 * reload.c (find_valid_class): Accept new argument DEST,
8126 choose class accordingly.
8127 (push_reload): Update callers.
8128
9b89393b
AJ
81292002-05-26 Andreas Jaeger <aj@suse.de>
8130
8131 * combine.c (combine_instructions): Do not indent #if for
8132 traditional C.
8133
b53bb376
RH
81342002-05-25 Richard Henderson <rth@redhat.com>
8135
8136 * c-pragma.c (apply_pragma_weak): Convert value identifier to
8137 string for decl_attributes.
8138 (handle_pragma_weak): Call assemble_alias if we're modifying
8139 an existing decl.
8140
e133041b
RH
81412002-05-25 Richard Henderson <rth@redhat.com>
8142
8143 PR target/6788
8144 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
8145 using rtl instead of fprintf.
8146 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
8147 * config/sparc/sparc-protos.h: Update.
8148
81a75f0f
NB
81492002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
8150
8151 * Makefile.in (C_COMMON_H): Fix.
8152 Update other targets.
8153 * c-common.c: Don't include c-lex.h.
8154 (builtin_define_with_value): Make static and prototype.
8155 (builtin_define_std): Move from c-lex.h.
8156 * c-common.h (init_c_lex): Move from c-lex.h.
8157 * c-decl.c: Don't include c-lex.h.
8158 (make_pointer_declarator): Move from c-parse.in.
8159 * c-lex.c: Don't include c-lex.h.
8160 * c-lex.h: Remove.
8161 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
8162 (make_pointer_declarator): Move to c-decl.c.
8163 * c-pragma.c: Don't include c-lex.h.
8164 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
8165 * c-tree.h (make_pointer_declarator): New.
8166doc:
8167 * passes.texi, tm.texi: Update.
8168objc:
8169 * Make-lang.in: Update and correct.
8170 * objc-act.c: Don't include c-lex.h or cpplib.h.
8171treelang:
8172 * treetree.c: Don't include c-lex.h.
8173config:
8174 * darwin-c.c: Don't include c-lex.h.
8175 * c4x/c4x-c.c: Don't include c-lex.h.
8176 * c4x/t-c4x: Update.
8177 * i370/i370-c.c: Don't include c-lex.h.
8178 * i370/t-i370: Update.
8179 * i960/i960-c.c: Don't include c-lex.h.
8180 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
8181 * i960/t-960bare: Update.
8182 * i960/t-vxworks: Update.
8183 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
8184 * rs6000/t-darwin: Update.
8185 * rs6000/t-rs6000-c-rule: Update.
8186 * v850/v850-c.c: Don't include c-lex.h.
8187 * v850/v850.c: Don't include c-lex.h or cpplib.h.
8188
8189
04d2be8e
KH
81902002-05-25 Kazu Hirata <kazu@cs.umass.edu>
8191
8192 * tree.def: Fix typos.
8193 * doc/install.texi: Likewise.
8194
7b6e506e
RH
81952002-05-25 Richard Henderson <rth@redhat.com>
8196
8197 * configure.in (HAVE_AS_TLS): Add ia64 test.
8198 * configure: Rebuild.
8199 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
8200 (override_options): Set it.
8201 (TARGET_HAVE_TLS): New.
8202 (sdata_symbolic_operand): Look for 's'.
8203 (tls_symbolic_operand): New.
8204 (ia64_expand_load_address): Abort for tls symbols.
8205 (gen_tls_get_addr): New.
8206 (gen_thread_pointer): New.
8207 (ia64_expand_move): Split out from movdi. Handle tls symbols.
8208 (rtx_needs_barrier): Add new unspecs.
8209 (ia64_encode_section_info): Handle tls symbols.
8210 (ia64_strip_name_encoding): Strip two encoding chars.
8211 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
8212 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
8213 (TARGET_OPTIONS): Add tls-size.
8214 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
8215 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
8216 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
8217 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
8218 (movsf, movdf): Likewise.
8219 (movdi_symbolic): Use match_scratch. Don't split if we won't
8220 have a scratch availiable.
8221 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
8222 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
8223 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
8224 * config/ia64/ia64-protos.h: Update.
8225 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
8226 sdata_symbolic_operand.
8227 (ASM_OUTPUT_LABELREF): Strip two characters.
8228
8c1d52a3
KH
82292002-05-25 Kazu Hirata <kazu@cs.umass.edu>
8230
8231 * combine.c (simplify_set): Remove an unnecessary subreg.
8232
b47cae3d
MM
82332002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
8234
8235 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
8236
8237 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
8238
ce9e3a6d
GDR
82392002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
8240
8241 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
8242
fb2c6841
RS
82432002-05-25 Roger Sayle <roger@eyesopen.com>
8244
8245 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
8246 (cond (compare x y) 0) into the equivalent (cond x y).
8247
da7ac8f1
GDR
82482002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
8249
8250 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
8251
c7bdf0a6
ZW
82522002-05-24 Zack Weinberg <zack@codesourcery.com>
8253
8254 * config.gcc: Remove all stanzas for previously obsoleted
8255 systems. Where necessary, add explicit error stanzas to
8256 prevent removed systems from being misidentified as something
8257 else. Begin a fresh obsoletions list, with the systems that
8258 were reprieved last round.
8259 * doc/install.texi: Remove all mention of dead targets.
8260 * fixinc/mkfixinc.sh: Likewise.
8261
8262 * config/arm/arm.h: Bit 31 of target_flags is no longer
8263 reserved.
8264
8265 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
8266 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
8267 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
8268 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
8269 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
8270 config/alpha/osf12.h, config/alpha/osf2or3.h,
8271 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
8272 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
8273 config/clipper/clipper-protos.h, config/clipper/clipper.c,
8274 config/clipper/clipper.h, config/clipper/clipper.md,
8275 config/clipper/clix.h, config/convex/convex-protos.h,
8276 config/convex/convex.c, config/convex/convex.h,
8277 config/convex/convex.md, config/convex/fixinc.convex,
8278 config/convex/proto.h, config/elxsi/elxsi-protos.h,
8279 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
8280 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
8281 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
8282 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
8283 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
8284 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
8285 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
8286 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
8287 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
8288 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
8289 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
8290 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
8291 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
8292 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
8293 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
8294 config/m68k/altos3068.h, config/m68k/apollo68.h,
8295 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
8296 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
8297 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
8298 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
8299 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
8300 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
8301 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
8302 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
8303 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
8304 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
8305 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
8306 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
8307 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
8308 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
8309 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
8310 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
8311 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
8312 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
8313 config/mips/dec-osf1.h, config/mips/elflorion.h,
8314 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
8315 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
8316 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
8317 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
8318 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
8319 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
8320 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
8321 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
8322 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
8323 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
8324 config/ns32k/sequent.h, config/ns32k/tek6000.h,
8325 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
8326 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
8327 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
8328 config/sparc/rtems.h, config/we32k/we32k-protos.h,
8329 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
8330 Delete file.
8331
755ac5d4
RH
83322002-05-24 Richard Henderson <rth@redhat.com>
8333
8334 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
8335 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
8336 * config/i386/i386.c (tls_model_chars): Add leading space.
8337 (tls_symbolic_operand): Don't bias by 1.
8338 (legitimize_address): Don't unbias by 1.
8339
c429f12e
TM
83402002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
8341
8342 * lcm.c (optimize_mode_switching): Change bb used as indices
8343 to bb->index.
8344
8beda321
RH
83452002-05-24 Richard Henderson <rth@redhat.com>
8346
8347 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
8348 of update_life_info_in_dirty_blocks.
8349
90442291
JJ
83502002-05-24 Jakub Jelinek <jakub@redhat.com>
8351
8352 PR other/6782
8353 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
8354
3620711b
NB
83552002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
8356
8357 PR preprocessor/6780
8358 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
8359
2f8d482e
JB
83602002-05-24 Jim Blandy <jimb@redhat.com>
8361
8362 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
8363 entry with a type code of zero, marking the end of the compilation
8364 unit's macro info.
8365
95bfe95f
RH
83662002-05-24 Richard Henderson <rth@redhat.com>
8367
c7bdf0a6
ZW
8368 * varasm.c (asm_output_bss): Always output one byte.
8369 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 8370
7efda054
BM
83712002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
8372
8373 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
8374 namespace.
8375
8a951190
AJ
83762002-05-24 Andreas Jaeger <aj@suse.de>
8377
8378 * ggc-page.c (alloc_page): Cast variables of type size_t to
8379 unsigned long, adjust printf format string.
8380 (ggc_alloc): Likewise.
8381 (ggc_print_statistics): Likewise.
8382 (ggc_print_statistics): Correct printf format string for SCALE to
8383 use unsigned long.
8384
f29e2ec0
DS
83852002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
8386
8387 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
8388
211a0cbe 83892002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 8390 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
8391
8392 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
8393 quoted strings.
8394 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 8395 directive in assembly file.
211a0cbe
GDR
8396 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
8397 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
8398 * config/pj/pj.h (ASM_FILE_START): Likewise.
8399 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
8400 * config/avr/avr.c (asm_file_end): Likewise.
8401 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 8402 char.
211a0cbe
GDR
8403 * toplev.h (output_clean_symbol_name): Declare
8404 * toplev.c (output_clean_symbol_name): Define.
8405 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
8406 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
8407
2f0552b6
AM
84082002-05-24 Alan Modra <amodra@bigpond.net.au>
8409
8410 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
8411
b326b2c1
VM
84122002-05-23 Vladimir Makarov <vmakarov@redhat.com>
8413
8414 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
8415 of size of unsigned.
8416
f996902d
RH
84172002-05-23 Richard Henderson <rth@redhat.com>
8418
8419 * configure.in (HAVE_AS_TLS): New test.
8420 * config.in, configure: Rebuild.
8421 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
8422 (ix86_tls_dialect_string, ix86_tls_dialect): New.
8423 (override_options): Set it.
8424 (tls_model_chars, tls_symbolic_operand): New.
8425 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
8426 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
8427 (local_exec_symbolic_operand): New.
8428 (get_pic_label_name): Merge into output_set_got.
8429 (ix86_asm_file_end): Emit pic_label_name if defined.
8430 (legitimate_constant_p, constant_address_p): New.
8431 (legitimate_pic_operand_p): New.
8432 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
8433 (legitimate_address_p): Likewise.
8434 (ix86_encode_section_info): Rename from i386_; handle tls decls.
8435 (ix86_strip_name_encoding): New.
8436 (get_thread_pointer): New.
8437 (legitimize_address): Handle tls symbols.
8438 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
8439 Remove UNSPEC_PLT.
8440 (struct machine_function): Add some_ld_name.
8441 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
8442 (print_operand) [&]: Use it. Handle UNSPEC_TP.
8443 (output_addr_const_extra): New.
8444 (maybe_get_pool_constant): New.
8445 (ix86_split_to_parts): Use it.
8446 (ix86_expand_move): Handle tls symbols.
8447 (ix86_tls_get_addr): New.
8448 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
8449 (TARGET_OPTIONS): Add tls-dialect.
8450 (CONSTANT_ADDRESS_P): Use new out-of-line function.
8451 (LEGITIMATE_CONSTANT_P): Likewise.
8452 (LEGITIMATE_PIC_OPERAND_P): Likewise.
8453 (TARGET_STRIP_NAME_ENCODING): New.
8454 (ASM_OUTPUT_LABELREF): New.
8455 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
8456 (OUTPUT_ADDR_CONST_EXTRA): New.
8457 (PREDICATE_CODES): Update.
8458 (ix86_tls_dialect, ix86_tls_dialect_string): New.
8459 * config/i386/i386.md: Regroup and renumber unspec constants.
8460 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
8461 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
8462 (tls_global_dynamic, tls_local_dynamic_base): New.
8463 (tls_local_dynamic_once): New.
8464 * config/i386/i386-protos.h: Update.
8465
821e35ba
RH
84662002-05-23 Richard Henderson <rth@redhat.com>
8467
8468 * genemit.c (gen_insn): Print file:lineno comment before function.
8469 (main): likewise.
8470 * gensupport.c (struct queue_elem): Add filename member.
8471 (queue_pattern): Initialize it; update all callers.
8472 (process_include): Don't free filename.
8473 (read_md_rtx): Set read_rtx_filename.
8474
0f1ffa23 84752002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
8476
8477 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 8478
8e9fadc3
RH
84792002-05-23 Richard Henderson <rth@redhat.com>
8480
8481 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
8482
244c2241
RH
84832002-05-23 Richard Henderson <rth@redhat.com>
8484
8485 * doc/extend.texi (C++98 Thread-Local Edits): Update with
8486 commentary from Mark.
8487
e0082a72
ZD
84882002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8489
8490 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
8491 Use FOR_EACH_BB macros to iterate over basic block chain.
8492 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
8493 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
8494 Likewise.
8495 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
8496 find_unreachable_blocks, create_edge_list, verify_edge_list,
8497 remove_fake_edges, add_noreturn_fake_exit_edges,
8498 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
8499 Likewise.
8500 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
8501 find_sub_basic_blocks): Likewise.
8502 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
8503 Likewise.
8504 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
8505 Likewise.
8506 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
8507 Likewise.
8508 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
8509 commit_edge_insertions, commit_edge_insertions_watch_calls,
8510 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
8511 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
8512 * conflict.c (conflict_graph_compute): Likewise.
8513 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
8514 df_modified_p, df_refs_unlink, df_dump): Likewise.
8515 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
8516 * final.c (compute_alignments): Likewise.
8517 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
8518 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
8519 count_or_remove_death_notes): Likewise.
8520 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
8521 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
8522 classic_gcse, compute_transp, cprop, compute_pre_data,
8523 compute_transpout, invalidate_nonnull_info,
8524 delete_null_pointer_checks_1, delete_null_pointer_checks,
8525 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
8526 compute_store_table, build_store_vectors, store_motion): Likewise.
8527 * global.c (global_conflicts, mark_elimination): Likewise.
8528 * graph.c (print_rtl_graph_with_bb): Likewise.
8529 * haifa-sched.c (sched_init): Likewise.
8530 * ifcvt.c (if_convert): Likewise.
8531 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
8532 compute_available, compute_nearerout, compute_rev_insert_delete,
8533 optimize_mode_switching): Likewise.
8534 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
8535 * predict.c (estimate_probability, note_prediction_to_br_prob,
8536 propagate_freq, counts_to_freqs, expensive_function_p,
8537 estimate_bb_frequencies): Likewise.
8538 * profile.c (instrument_edges, get_exec_counts,
8539 compute_branch_probabilities, compute_checksum, branch_prob,
8540 find_spanning_tree): Likewise.
8541 * recog.c (split_all_insns, peephole2_optimize): Likewise.
8542 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
8543 Likewise.
8544 * regclass.c (scan_one_insn, regclass): Likewise.
8545 * regmove.c (mark_flags_life_zones, regmove_optimize,
8546 record_stack_memrefs): Likewise.
8547 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
8548 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
8549 * resource.c (find_basic_block): Likewise.
8550 * sched-ebb.c (schedule_ebbs): Likewise.
8551 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
8552 find_single_block_region, find_rgns, schedule_insns)
8553 * sibcall.c (optimize_sibling_and_tail_recursive_call)
8554 * ssa-ccp.c (optimize_unexecutable_edges,
8555 ssa_ccp_df_delete_unreachable_insns): Likewise.
8556 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
8557 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
8558 rename_block, convert_to_ssa, compute_conservative_reg_partition,
8559 compute_coalesced_reg_partition, rename_equivalent_regs,
8560 convert_from_ssa): Likewise.
8561 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
8562 process_for_unwind_directive): Likewise.
8563
8564 * df.c (FOR_ALL_BBS): Removed.
8565 * gcse.c (struct null_pointer_info): Type of current_block field
8566 changed.
8567 (struct reg_avail_info): Type of last_bb field changed.
8568 * config/ia64/ia64.c (block_num): Removed.
8569 (need_copy_state): Type changed.
8570 (last_block): New.
8571
17645b15
NB
85722002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
8573
8574 * cppinit.c (mark_named_operators): Split out from init_builtins.
8575 (cpp_finish_options): Call it from here instead.
8576
79ed7328
JT
85772002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
8578
8579 * builtin-attrs.def: Update copyright years.
8580 (ATTR_NONNULL): New attribute identifier.
8581 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
8582 attribute tree lists.
8583 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
8584 format operand.
8585 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
8586 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
8587 attribute lists. Chain the appropriate nonnull attribute.
8588 * c-format.c (check_format_arg): Remove null format string
8589 warning.
8590 * testsuite/gcc.dg/format/null-1.c: New test.
8591
7d600178
RO
85922002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8593
8594 * Makefile.in (ADAC): Define.
8595 (SYSLIBS): Define.
8596 (.SUFFIXES): Move before language makefile fragments.
8597 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
8598
5ff225fc
MM
85992002-05-23 Mark Mitchell <mark@codesourcery.com>
8600
8601 * varasm.c (make_decl_rtl): Don't allow weak variables to be
8602 placed in common.
8603
0f72964f
JH
8604Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
8605
8606 * cfg.c (dump_flow_info): Print results of
8607 maybe_hot/probably_never_executed predicates.
8608 * toplev.c (open_dump_file): Print function frequency.
8609
c863f8c2
DM
86102002-05-23 David S. Miller <davem@redhat.com>
8611
8612 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
8613 regsets.
8614
b34c7881
JT
86152002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
8616
8617 * c-common.c (warn_nonnull): Declare.
8618 (c_common_attribute_table): Add "nonnull" attribute.
8619 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
8620 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
8621 check_function_arguments_recurse): New functions.
8622 * c-common.h (warn_nonnull): Declare extern.
8623 (check_function_arguments, check_function_arguments_recurse): New
8624 prototypes.
8625 * c-decl.c (c_decode_option): Add -Wnonnull option.
8626 * c-format.c (set_Wformat): Set warn_nonnull if enabling
8627 format checking.
8628 (format_check_context): New structure.
8629 (check_format_info_recurse): Remove recursion and rename to...
8630 (check_format_arg): ...this. Update comment.
8631 (check_format_info): Use check_function_arguments_recurse.
8632 * c-typeck.c (build_function_call): Call check_function_arguments
8633 instead of check_function_format.
8634 * doc/extend.texi: Document "nonnull" attribute.
8635 * doc/invoke.texi: Docuemnt -Wnonnull option.
8636 * testsuite/gcc.dg/nonnull-1.c: New test.
8637 * testsuite/gcc.dg/nonnull-2.c: New test.
8638
95479831
DM
86392002-05-23 David S. Miller <davem@redhat.com>
8640
8641 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
8642 * cfgcleanup.c (cleanup_cfg): If it is set do not
8643 attempt to delete trivially dead insns.
8644 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
8645 * toplev.c (rest_of_compilation): Document non-trivial aspect
8646 the RTL before optimize_save_area_alloca is run.
8647
a97d1398
NB
86482002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
8649
8650 * c-lex.c (indent_level): Remove.
8651 (cb_file_change, c_lex): Remove indent level handling.
8652 * c-lex.h (indent_level): Remove.
8653 * input.h (struct file_stack): Remove indent_level.
8654 * toplev.c (push_srcloc): Remove indent_level handling.
8655
66b408f2
JJ
86562002-05-23 Jakub Jelinek <jakub@redhat.com>
8657
8658 PR target/6753
8659 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
8660 of x in constraints for clarity.
8661 (sse_mov?fcc split): abort if op2 == op3.
8662 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
8663 sse_movsfcc_const0_4): Add earlyclobber.
8664 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
8665 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
8666 Use Y instead of x in constraints.
8667
5bf0ebab
RH
86682002-05-23 Richard Henderson <rth@redhat.com>
8669
9217ef40
RH
8670 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
8671 (C++98 Thread-Local Edits): New subsection.
8672
5bf0ebab
RH
8673 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
8674 (ix86_arch): Set type to enum processor_type.
8675
8a951190 8676 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
8677 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
8678
4832c9e1
JJ
86792002-05-23 Jakub Jelinek <jakub@redhat.com>
8680
8681 * configure.in: Fix as version test for binutils 2.12.1 releases
8682 (without dates).
8683 * configure: Rebuilt.
8684
c8c03509
RH
86852002-05-23 Richard Henderson <rth@redhat.com>
8686
8687 * config/i386/i386.c (get_pic_label_name): New.
8688 (load_pic_register): Remove.
8689 (output_set_got): New.
8690 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
8691 * config/i386/i386.md (UNSPEC_SET_GOT): New.
8692 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
8693 (prologue_set_got, prologue_get_pc): Remove.
8694 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
8695 (builtin_setjmp_receiver): Use gen_set_got.
8696 * config/i386/i386-protos.h: Update.
8697
d51f3632
JH
8698Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
8699
8700 * gcse.c (hash_expr): Do not use alias set for hashing.
8701
b0a93386
KB
87022002-05-22 Kevin Buettner <kevinb@redhat.com>
8703
8704 * dbxout.c (dbxout_class_name_qualifiers): New function.
8705 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
8706
bdee42b1
NB
87072002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
8708
8709 * cpperror.c (_cpp_begin_message): No special casing
8710 of CPP_FATAL_LIMIT.
8711 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
8712 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
8713 * cpplib.c (do_include_common): Use DL_ERROR.
8714 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
8715 (DL_ICE): Renumber.
8716 * fix-header.c (read_scan_file): Update.
8717
0e07aff3
RH
87182002-05-22 Richard Henderson <rth@redhat.com>
8719
8720 * config/i386/i386.c (ix86_expand_call): New function, extracted
8721 from md call patterns. Add pic_offset_table_rtx to
8722 CALL_INSN_FUNCTION_USAGE when needed.
8723 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
8724 (call_value_pop, call_value, untyped_call): Likewise.
8725 (call_exp, call_value_exp): Remove.
8726 * config/i386/i386-protos.h: Update.
8727
6f001fdf
RH
87282002-05-22 Richard Henderson <rth@redhat.com>
8729
8730 * varasm.c (default_section_type_flags): Check for VAR_DECL
8731 before using DECL_THREAD_LOCAL.
8732
cbaaba19
DE
87332002-05-22 David Edelsohn <edelsohn@gnu.org>
8734
8735 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
8736 (STARTFILE_SPEC): Delete PE crt0.o.
8737 * config/rs6000/aix51.h: Same.
8738 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
8739 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
8740 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
8741 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
8742 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
8743
c711ba8e
RH
87442002-05-22 Richard Henderson <rth@redhat.com>
8745
8746 * varasm.c (default_section_type_flags): Handle tls data and
8747 default sections.
8748 (default_unique_section): Handle tls sections.
8749
343f59d9
AM
87502002-05-23 Alan Modra <amodra@bigpond.net.au>
8751
8752 * configure.in (CROSS): Define NATIVE_CROSS.
8753 * configure: Regenerate.
8754 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
8755 (startfile_prefix_spec): New var.
8756 (static_specs): Add startfile_prefix_spec.
8757 (do_spec_2): Split out from..
8758 (do_spec): ..here.
8759 (main): Process startfile_prefix_spec.
8760 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
8761 dynamic linker.
8762 (STARTFILE_PREFIX_SPEC): Define.
8763 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 8764 absolute paths.
343f59d9 8765
df383483
KH
87662002-05-22 Kazu Hirata <kazu@cs.umass.edu>
8767
8768 * cpperror.c: Fix formatting.
8769 * cppexp.c: Likewise.
8770 * cppfiles.c: Likewise.
8771 * cpphash.c: Likewise.
8772 * cpphash.h: Likewise.
8773 * cppinit.c: Likewise.
8774 * cpplex.c: Likewise.
8775 * cpplib.c: Likewise.
8776 * cppmacro.c: Likewise.
8777 * cppmain.c: Likewise.
8778 * cppspec.c: Likewise.
8779
2dd36f90
JJ
87802002-05-22 Jakub Jelinek <jakub@redhat.com>
8781
8782 * combine.c (force_to_mode): Use gen_int_mode.
8783 Don't clear CONST_INT bits outside of mode.
8784
8dc02d7f
RH
87852002-05-22 Richard Henderson <rth@redhat.com>
8786
8787 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
8788 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
8789
45f79783
JJ
87902002-05-22 Jakub Jelinek <jakub@redhat.com>
8791
8792 PR c/6643
8793 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
8794 if DECL_SIZE_UNIT is INTEGER_CST.
8795
19f71cd7
RH
87962002-05-22 Richard Henderson <rth@redhat.com>
8797
8798 * flow.c (life_analysis): Delete broken reg_label check.
8799
d5bcfcce
RH
88002002-05-22 Richard Henderson <rth@redhat.com>
8801
8802 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
8803 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
8804
985d311b 8805Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
8806
8807 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
8808 (embed-bb.c): New rule.
985d311b 8809 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
8810 * config/sh/embed_bb.c: Delete.
8811
985d311b
R
8812Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
8813
8814 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
8815
f6d45746
KH
88162002-05-22 Kazu Hirata <kazu@cs.umass.edu>
8817
8818 * config/h8300/h8300.md (*andorqi3): New.
8819
e5f3b786
NB
88202002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
8821
8822 PR preprocessor/6517
8823 * Makefile.in: Update.
8824 * c-common.c (c_common_post_options): Add preprocessor
8825 errors to the error count.
8826 * c-lang.c (c_post_options): Kill.
8827 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
8828 * hooks.h: Add header guards.
8829 * langhooks-def.h: Include hooks.h.
8830 (LANG_HOOKS_POST_OPTIONS): Update.
8831 * langhooks.h (struct lang_hooks): Update post_options.
8832 * toplev.c (parse_options_and_default_flags): Update.
8833objc:
8834 * objc-lang.c (objc_post_options): Kill.
8835 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
8836
4c526be3
BK
88372002-05-21 Bruce Korb <bkorb@gnu.org>
8838
8839 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
8840 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
8841 * fixinc/fixincl.x: regen.
4c526be3 8842
f87c27b4
KH
88432002-05-21 Kazu Hirata <kazu@cs.umass.edu>
8844
8845 * cfgbuild.c: Fix formatting.
8846 * cfg.c: Likewise.
8847 * cfgcleanup.c: Likewise.
8848 * cfglayout.c: Likewise.
8849 * cfgloop.c: Likewise.
8850 * cfgrtl.c: Likewise.
8851
3d78f2e9
RH
88522002-05-21 Richard Henderson <rth@redhat.com>
8853
8854 * c-common.h (enum rid): Add RID_THREAD.
8855 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
8856 (grokdeclarator): Grok __thread.
8857 * c-parse.in (reswords): Add __thread.
8858 (rid_to_yy): Add RID_THREAD.
8859
8860 * tree.h (DECL_THREAD_LOCAL): New.
8861 (struct tree_decl): Add thread_local_flag.
8862 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
8863 * tree.c (staticp): TLS variables are not static.
8864
8865 * target-def.h (TARGET_HAVE_TLS): New.
8866 * target.h (have_tls): New.
8867 * output.h (SECTION_TLS): New.
8868 * varasm.c (assemble_variable): TLS variables can't be common for now.
8869 (default_section_type_flags): Handle .tdata and .tbss.
8870 (default_elf_asm_named_section): Handle SECTION_TLS.
8871 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
8872
8873 * flags.h (flag_tls_default): Declare.
8874 * toplev.c (flag_tls_default): Define.
8875 (display_help): Display help for it.
8876 (decode_f_option): Set it.
8877
8878 * doc/extend.texi (Thread-Local): New node describing language-level
8879 thread-local storage.
8880 * doc/invoke.texi (-ftls-model): Document.
8881
8882 * fixinc/inclhack.def (thread_keyword): New.
8883 * fixinc/fixincl.x: Rebuild.
8884
a151daf0
JL
88852002-05-21 Jeffrey A Law <law@redhat.com>
8886
8a951190 8887 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
8888 do not compute intermediate results into something that is
8889 not a register (such as a SUBREG or MEM).
8890
a151daf0
JL
8891 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
8892 (ix86_sched_reorder): Make sure to initialize scheduling
8893 data even when there's only one insn in the ready queue.
8894
96b1f73b
VM
88952002-05-21 Vladimir Makarov <vmakarov@redhat.com>
8896
8897 * genautomata.c (reserv_sets_hash_value): Fix a typo.
8898
dceb2b75
VM
88992002-05-21 Vladimir Makarov <vmakarov@redhat.com>
8900
8901 * genautomata.c (reserv_sets_hash_value): Define hash_value as
8902 set_el_t. Transform the hash value into unsigned.
8903 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
8904 (transform_3): Add code to process `(A,B)+(D,E)'.
8905
159d5964
NY
89062002-05-21 NIIBE Yutaka <gniibe@m17n.org>
8907
8908 * reload1.c (do_output_reload): Run delete_output_reload
8909 only if optimizing.
8910
cf5124f6
RS
89112002-05-21 Roger Sayle <roger@eyesopen.com>
8912
8913 PR middle-end/6600
8914 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
8915 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
8916 (can_store_by_pieces): ... and here to limit the largest mode used.
8917 Add a comment to document this function.
8918
380e6ade
RH
89192002-05-21 Richard Henderson <rth@redhat.com>
8920
8921 * flow.c (life_analysis): Fix test for deleted label.
8922
1f95326c
NB
89232002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
8924
8925 * doc/tm.texi: Fix typo.
8926
2a1dc0d8
ZW
89272002-05-21 Zack Weinberg <zack@codesourcery.com>
8928
8929 * c-common.c (c_common_init): Set options->unsigned_char from
8930 flag_signed_char.
8931 (cb_register_builtins): Define __STRICT_ANSI__ and
8932 __CHAR_UNSIGNED__ here...
8933 * cppinit.c (init_builtins): Not here.
8934 (cpp_create_reader): unsigned_char option defaults to 0, not
8935 !DEFAULT_SIGNED_CHAR.
8936 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
8937 and -funsigned-char.
8938
8939 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
8940 * cpphash.c (_cpp_init_hashtable): Don't set it.
8941 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
8942 directly. Clarify comment.
8943
d29146f2 89442002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 8945
f5eb2fc8
ZD
8946 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
8947 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
8948 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
8949 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 8950 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 8951 flow_preorder_transversal_compute): Too.
d29146f2 8952 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
8953 find_sub_basic_blocks): Too.
8954 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 8955 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
8956 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
8957 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
8958 * combine.c (this_basic_block): Type changed to basic_block.
8959 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
8960 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
8961 get_last_value, distribute_notes, distribute_links): Too.
8962 * final.c (compute_alignments): Too.
8963 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
8964 * function.c (thread_prologue_and_epilogue_insns): Too.
8965 * gcse.c (compute_code_hoist_vbeinout): Too.
8966 * global.c (build_insn_chain): Too.
8967 * ifcvt.c (find_if_block, find_cond_trap): Too.
8968 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
8969 * regmove.c (regmove_optimize): Too.
8970 * resource.c (find_basic_block): Too.
8971 * sched-ebb.c (schedule_ebbs): Too.
8972 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 8973
68bd6dd6
AJ
89742002-05-21 Andreas Jaeger <aj@suse.de>
8975
8976 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
8977
35a76aac
RH
89782002-05-21 Richard Henderson <rth@redhat.com>
8979
8980 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
8981 unspec names, not numbers.
8982
2870428f
JM
89832002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
8984
8985 * doc/sourcebuild.texi: Mention snapshot-README and
8986 snapshot-index.html as needing updating for new front ends.
8987
b0ad77d5
KG
89882002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8989
8990 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
8991 disabling checking, and avoid multiple evaluation of RTX.
8992
279be7c8
RE
89932002-05-21 Richard Earnshaw <rearnsha@arm.com>
8994
8995 * bitmap.c (bitmap_find_bit): Return early if we have the correct
8996 element cached.
8997
193a563a
JH
8998Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
8999
9000 * profile.c (gen_edge_profiler): Set alias set before the memory is
9001 used.
9002
31825e57
DM
90032002-05-20 David S. Miller <davem@redhat.com>
9004
9005 * cselib.c (max_value_regs): New.
9006 (cselib_lookup, cselib_invalidate_regno): Initialize it when
9007 adding new entries to the REG_VALUES table and we are dealing with
9008 a hard register.
9009 (clear_table): Initialize it.
9010 (cselib_invalidate_regno): Use it to determine which hard
9011 registers to scan when mode is not VOIDmode.
9012
68bd6dd6 90132002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
9014
9015 * tradcpp.c (fixup_newlines): Use old-style function header.
9016
e0a09fda
KW
90172002-05-20 Krister Walfridsson <cato@df.lth.se>
9018
9019 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
9020
e0c13c70
L
90212002-05-20 H.J. Lu (hjl@gnu.org)
9022
9023 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
9024
9025 * config/mips/mips.h (DFMODE_NAN): Defined.
9026 (SFMODE_NAN): Likewise.
9027
4c11675d 90282002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 9029
2a1dc0d8
ZW
9030 * combine.c (cant_combine_insn_p): Back out my
9031 previous patch.
4c11675d 9032
6a4d6760
KH
90332002-05-20 Kazu Hirata <kazu@cs.umass.edu>
9034
9035 * params.c: Fix formatting.
9036 * params.h: Likewise.
9037 * predict.c: Likewise.
9038 * prefix.c: Likewise.
9039 * print-rtl.c: Likewise.
9040 * print-tree.c: Likewise.
9041 * profile.c: Likewise.
9042
5715ca64
L
90432002-05-20 H.J. Lu (hjl@gnu.org)
9044
9045 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
9046
00b89f01
NC
90472002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
9048
9049 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
9050 switches straight on to the assembler, do not abbreviate them.
9051 * config/arm/elf.h (ASM_SPEC): As above.
9052 * config/arm/semi.h (ASM_SPEC): As above.
9053 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
9054 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
9055 -mcpu=xscale on to the assembler by default.
9056 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
9057
1441374b
RH
90582002-05-20 Richard Henderson <rth@redhat.com>
9059
9060 * cse.c (canon_hash): Reorder do_not_record test. Always
9061 allow pic_offset_table_rtx.
9062
c0fe508e
TM
90632002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
9064
9065 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
9066 (expand_binop): Ditto (3 times).
9067
f362c762
MM
90682002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
9069
9070 * Makefile.in (distclean): Remove QMTest stuff.
9071 (QMTEST_PATH): New variable.
9072 (QMTESTFLAGS): Likewise.
9073 (QMTESTRUNFLAGS): Likewise.
9074 (QMTEST): Likewise.
9075 (QMTEST_GPP_TESTS): Likewise.
9076 (QMTEST_DIR): Likewise.
9077 (QMTEST_DIR/context): New target.
9078 (qmtest-g++): Likeise.
9079 (qmtest-gui): Likewise.
9080 (QMTEST_DIR/gpp-expected.qmr): Likewise.
9081
16861f33
AH
90822002-05-19 Aldy Hernandez <aldyh@redhat.com>
9083
2a1dc0d8
ZW
9084 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
9085 an altivec register if TARGET_ALTIVEC.
16861f33 9086
2a1dc0d8
ZW
9087 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
9088 to ALTIVEC_VECTOR_MODE.
9089 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
9090 (rs6000_va_arg): Vectors may go in registers if they are not
9091 altivec vectors.
16861f33 9092
23459e15
KH
90932002-05-19 Kazu Hirata <kazu@cs.umass.edu>
9094
9095 * protoize.c: Fix formatting.
9096
174cc7d1
RH
90972002-05-19 Richard Henderson <rth@redhat.com>
9098
9099 * gensupport.c (init_include_reader): Merge into ...
9100 (process_include): ... here. Simplify composite path creation.
9101 Plug memory leaks. Fix file/line number tracking. Do not
9102 process_define_cond_exec. Return void.
9103 (process_rtx): Don't check process_include return value.
9104
918ed612
ZD
91052002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9106
9107 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
9108 fields.
9109 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
9110 traversing basic block chain.
9111 (create_basic_block_structure, create_basic_block): Declaration changed.
9112 (link_block, unlink_block): Declare.
9113 * cfg.c (entry_exit_blocks): Initialize new fields.
9114 (link_block, unlink_block): New.
9115 (expunge_block_nocompact): Unlink basic block.
9116 (dump_flow_info): Print prev_bb/next_bb fields.
9117 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
9118 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
9119 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
9120 * cfgrtl.c (create_basic_block_structure, create_basic_block,
9121 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
9122 (verify_flow_info): Check that list agrees with numbering.
9123
e0322d5c
NB
91242002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
9125
9126 * c-common.c (preprocessing_asm): New macro.
9127 * c-lex.h (builtin_define, builtin_assert): Use pfile.
9128doc:
9129 * tm.texi: Update.
9130config/alpha:
9131 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
9132 (CPP_SPEC): Simplify.
9133 (TARGET_CPU_CPP_BUILTINS): Update.
9134 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
9135 (CPP_SPEC): Simplify.
9136 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
9137 (TARGET_OS_CPP_BUILTINS): Update.
9138 * osf.h (CPP_XFLOAT_SPEC): Kill.
9139 (TARGET_OS_CPP_BUILTINS): Update.
9140 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
9141 * osf5.h (CPP_XFLOAT_SPEC): Kill.
9142 * vms.h (CPP_SUBTARGET_SPEC): Kill.
9143 (TARGET_OS_CPP_BUILTINS): Update.
9144
121f5c2c
RH
91452002-05-19 Richard Henderson <rth@redhat.com>
9146
9147 * varasm.c (default_binds_local_p): Fix typo.
9148
651c5ed9
MM
91492002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
9150
9151 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
9152 CONST_INT operand to the correct mode after adding 1 to it.
9153
bce0deb2
MM
91542002-05-19 Mark Mitchell <mark@codesourcery.com>
9155
9156 * config.gcc (powerpc-wrs-windiss*): New target.
9157
4aa74a4f
FS
91582002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9159
9160 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
9161 (ashrdi3): Use it.
9162
a15135c9
MM
91632002-05-18 Mark Mitchell <mark@codesourcery.com>
9164
9165 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
9166 alphasort.
9167 * config.in: Regenerated.
9168 * configure: Regenerated.
9169
47754fd5
RH
91702002-05-19 Richard Henderson <rth@redhat.com>
9171
9172 * target-def.h (TARGET_BINDS_LOCAL_P): New.
9173 * target.h (struct gcc_target): Move boolean fields to the end.
9174 Add binds_local_p.
9175 * varasm.c (default_binds_local_p): New.
9176 * output.h: Declare it.
9177
9178 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
9179 * config/cris/cris.c (cris_encode_section_info): Likewise.
9180 * config/i386/i386.c (i386_encode_section_info): Likewise.
9181 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
9182 * config/sh/sh.c (sh_encode_section_info): Likewise.
9183
9184 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
9185 (TARGET_BINDS_LOCAL_P): New.
9186
fc881338
RH
91872002-05-19 Richard Henderson <rth@redhat.com>
9188
9189 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
9190 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
9191 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
9192
9193 * toplev.c (display_help): Kill -a -ax help.
9194
68bd6dd6 9195 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
9196 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
9197 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
9198 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
9199 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
9200
9201 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
9202 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
9203
9204 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
9205 (ix86_output_function_block_profiler): Kill.
9206 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
9207 (m68hc11_function_block_profiler): Kill.
9208 * config/m68hc11/m68hc11-protos.h: Update.
9209 * config/m88k/m88k.c (output_block_profiler): Kill.
9210 (output_function_block_profiler): Kill.
9211 * config/m88k/m88k-protos.h: Update.
9212
772c5265
RH
92132002-05-19 Richard Henderson <rth@redhat.com>
9214
9215 * system.h (STRIP_NAME_ENCODING): Poison it.
9216 * output.h (STRIP_NAME_ENCODING): Remove.
9217 (default_strip_name_encoding): Declare.
9218 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
9219 * target.h (strip_name_encoding): New.
9220 * varasm.c (default_strip_name_encoding): New.
9221
9222 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
9223 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
9224 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
9225 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
9226 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
9227 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
9228 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
9229 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
9230 config/v850/v850.h: Use the hook, not the macro.
9231
9232 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
9233 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
9234 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
9235 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
9236 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
9237 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 9238 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
9239 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
9240 config/v850/v850.c, config/v850/v850.h:
9241 Move STRIP_NAME_ENCODING to out-of-line function and add
9242 TARGET_STRIP_NAME_ENCODING.
9243
9244 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
9245 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
9246 with TARGET_STRIP_NAME_ENCODING referencing existing function;
9247 make function static.
9248
9249 * xcoffout.c: Include target.h
9250 * Makefile.in (xcoffout.o): Update.
9251
9252 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
9253 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
9254 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
9255 reloc argument unused.
9256 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
9257
9258 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
9259 STRIP_NAME_ENCODING docs.
9260
8f9eb495
AJ
92612002-05-19 Andreas Jaeger <aj@suse.de>
9262
9263 * gengenrtl.c: Add prototype for excluded_rtx.
9264
9265 * real.h: Add prototype for exact_real_truncate.
9266
fb49053f
RH
92672002-05-18 Richard Henderson <rth@redhat.com>
9268
9269 * system.h (ENCODE_SECTION_INFO): Poison it.
9270 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
9271 * target.h (encode_section_info): New.
9272 * varasm.c (make_decl_rtl, output_constant_def): Use it.
9273 * hooks.c (hook_tree_int_void): New.
9274 * hooks.h: Declare it.
9275
9276 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
9277 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
9278 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
9279 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
9280 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
9281 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
9282 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
9283 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
9284 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
9285 config/mcore/mcore-protos.h, config/mcore/mcore.c,
9286 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
9287 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
9288 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
9289 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
9290 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
9291 referencing existing function. Make function static.
9292
9293 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 9294 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
9295 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
9296 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
9297 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 9298 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
9299 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
9300 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
9301 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
9302 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 9303 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
9304 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
9305 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
9306 Move ENCODE_SECTION_INFO to out-of-line function and add
9307 TARGET_ENCODE_SECTION_INFO.
9308
9309 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
9310 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
9311
9312 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
9313 from SUBTARGET_*
9314 (switch_to_section): Replace in_rdata case with in_readonly_data.
9315
9316 * config/h8300/h8300.c (h8300_encode_label): Make static.
9317 * config/h8300/h8300-protos.h: Update.
9318
9319 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
9320 from rs6000_encode_section_info; make static.
9321 (rs6000_xcoff_encode_section_info): New.
9322
9323 * config/v850/v850.c (v850_encode_data_area): Make static.
9324 * config/v850/v850-protos.h: Update.
9325
9326 * config/vax/vax.c: Include flags.h.
9327 (vms_select_section): Fix typo.
9328
9329 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
9330 ENCODE_SECTION_INFO docs.
9331
9fe08fd0
RH
93322002-05-18 Richard Henderson <rth@redhat.com>
9333
9334 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
9335 REGISTER_TARGET_PRAGMAS.
9336 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
9337
410b770f
RH
9338 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
9339
b64a1b53
RH
93402002-05-18 Richard Henderson <rth@redhat.com>
9341
9342 * system.h (SELECT_RTX_SECTION): Poison.
9343 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
9344 * target.h (select_rtx_section): New.
9345 * varasm.c (output_constant_pool): Use it.
9346 (default_select_rtx_section, default_elf_select_rtx_section): New.
9347 * output.h: Declare them.
9348
9349 * config/darwin.h (SELECT_RTX_SECTION): Move ...
9350 * config/darwin.c (machopic_select_rtx_section): ... here.
9351 * config/darwin-protos.h: Update.
9352
9353 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
9354 * config/nextstep.c (machopic_select_rtx_section): ... here.
9355 (nextstep_select_section): Rename variable to avoid macro clash.
9356 * config/nextstep-protos.h: Update.
9357
9358 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
9359 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
9360 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 9361 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
9362 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
9363 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 9364 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
9365 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
9366 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
9367 (SELECT_RTX_SECTION): Remove.
9368
9369 * config/darwin.h, config/elfos.h, config/nextstep.h,
9370 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
9371 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
9372 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
9373 config/sparc/lynx.h, config/xtensa/xtensa.c
9374 (TARGET_ASM_SELECT_RTX_SECTION): New.
9375
9376 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
9377 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
9378 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
9379 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
9380 (ia64_aix_select_rtx_section): New.
9381 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
9382 redefining.
9383 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 9384 Support ELF SHF_MERGE features.
b64a1b53
RH
9385 * config/mips/mips-protos.h: Update.
9386 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
9387 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
9388 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
9389 make static, fall back to default_elf_select_rtx_section.
9390 * config/rs6000/rs6000-protos.h: Update.
9391 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
9392 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
9393 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
9394 * config/romp/romp.c (romp_select_rtx_section): New.
9395 * config/s390/s390.c (s390_select_rtx_section): New.
9396 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
9397 declarations before target macro definition.
9398 (xtensa_emit_call): Use static buffer.
9399 (xtensa_select_rtx_section): New.
9400 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
9401 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
9402 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
9403
9404 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
9405 SELECT_RTX_SECTION docs.
9406
9407Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
9408
9409 * i386.md (movsi/movdi): Fix template.
9410 (sse2 patterns): Set attributes consistently.
9411
9412 * i386.md (pushqi2, ashrqi_*): Fix constraint.
9413
6835a09c
TM
94142002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
9415
9416 * optabs.c (complex_part_zero_p): New.
9417 * (expand_cmplxdiv_straight): Use it.
9418 * (expand_cmplxdiv_wide): Ditto.
9419 * (expand_binop): Ditto.
9420
d48bc59a
RH
94212002-05-18 Richard Henderson <rth@redhat.com>
9422
9423 * final.c (HAVE_READONLY_DATA_SECTION): New.
9424 (shorten_branches): Use it instead of ifdefs.
9425 * varasm.c (enum in_section): Add in_readonly_data.
9426 (text_section, data_section): Tidy.
9427 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
9428
9429 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
9430 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
9431 (READONLY_DATA_SECTION): Don't undef.
9432
9433 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
9434 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
9435 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
9436
9437 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
9438 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
9439 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
9440 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
9441
9442 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
9443 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
9444 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
9445 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
9446 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
9447 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
9448 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
9449 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
9450 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
9451
9452 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
9453 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
9454 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
9455 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
9456 config/pa/pa64-hpux.h, config/sparc/litecoff.h
9457 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
9458
9459 * config/elfos.h, config/netware.h, config/svr3.h,
9460 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
9461 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
9462 config/h8300/h8300.h, config/i386/i386-interix.h,
9463 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
9464 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
9465
9466 * config/elfos.h, config/netware.h, config/svr3.h,
9467 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
9468 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
9469 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
9470 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
9471
9472 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
9473 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
9474 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
9475 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
9476 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
9477 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
9478 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
9479 config/rs6000/sysv4.h, config/v850/v850.h
9480 (EXTRA_SECTIONS): Remove in_const/in_rdata.
9481 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
9482
9483 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
9484 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
9485 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
9486 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
9487 * config/alpha/alpha.c (alpha_start_function): Likewise.
9488 (alpha_write_linkage): Likewise.
9489 * config/m32r/m32r.c (m32r_select_section): Likewise.
9490 * config/m88k/m88k.c (m88k_select_section): Likewise.
9491 * config/mips/mips.c (mips_select_rtx_section): Likewise.
9492 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
9493 (rs6000_elf_select_section): Likewise.
9494 * config/v850/v850.c (v850_select_section): Likewise.
9495
9496 * config/1750a/1750a.h, config/i860/sysv3.h
9497 (READONLY_DATA_SECTION_ASM_OP): New.
9498 READONLY_DATA_SECTION_ASM_OP.
9499 * config/i386/interix.c, config/i386/winnt.c
9500 (i386_pe_unique_section): Always use .rdata prefix.
9501 * config/pa/som.h (readonly_data): Always switch to read-only section.
9502 (READONLY_DATA_SECTION): Predicate on flag_pic.
9503 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
9504 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
9505 (READONLY_DATA_SECTION): Update.
9506
e964a556
JT
95072002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
9508
9509 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 9510 is used without -Wformat.
e964a556
JT
9511 * c-common.h (warn_format_zero_length): Declare extern.
9512 * c-decl.c (warn_options): Add "format-zero-length".
9513 * c-format.c (warn_format_zero_length): Declare.
9514 (set_Wformat): Set warn_format_zero_length for -Wformat.
9515 (check_format_info): Only warn about zero-length formats if
9516 warn_format_zero_length is true. Include the format type
9517 name in the warning message.
9518 * doc/invoke.texi: Document -Wformat-zero-length.
9519 * testsuite/gcc.dg/format/zero-length-1.c: New test.
9520
d92b4486
KH
95212002-05-18 Kazu Hirata <kazu@cs.umass.edu>
9522
9523 * timevar.c: Fix formatting.
9524 * tlink.c: Likewise.
9525 * toplev.c: Likewise.
9526 * tree-dump.c: Likewise.
9527 * tree-inline.c: Likewise.
9528
43612ffb
NB
95292002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
9530
9531 * cppinit.c (cpp_post_options): If preprocessed, turn off
9532 traditional. If traditional, turn off column numbers.
9533 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
9534 * cpptrad.c (handle_newline): Update line_base.
9535 (skip_comment): Handle -Wcomment.
9536
f24a153a
ZW
95372002-05-17 Zack Weinberg <zack@codesourcery.com>
9538
9539 * cppinit.c (struct builtin): Remove unused fields.
9540 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
9541 (operator_array): New - was second half of builtin_array.
9542 (init_builtins): Simplify loop over builtin_array/operator_array.
9543
12403335
NB
95442002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
9545
9546 * defaults.h (UNIQUE_SECTION): Remove.
9547 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
9548
1f8c3c5b
RH
95492002-05-17 Richard Henderson <rth@redhat.com>
9550
9551 * expr.c (init_expr_once): Don't use start/end_sequence.
9552 Use rtx_alloc instead of emit_insn.
9553 * toplev.c (lang_dependent_init): Run init_expr_once here ...
9554 (lang_independent_init): ... not here.
9555
4664f4c4
JT
95562002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
9557
9558 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
9559
93febe68
MM
95602002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
9561
9562 * config/avr/avr.c (avr_regs_to_save): New function. Also check
9563 for fixed registers, possibly used for global register variables.
9564 (initial_elimination_offset, avr_output_function_prologue,
9565 avr_output_function_epilogue): Move common code to avr_regs_to_save.
9566
004cb263
NB
95672002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
9568
9569 * Makefile.in: Update for cpptrad.c.
9570 * cpphash.h (struct cpp_buffer): New members for buffer
9571 overlays.
9572 (struct cpp_reader): New members for traditional output.
9573 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
9574 * cppinit.c (cpp_create_reader): Set trad_line.
9575 (cpp_destroy): Free trad_out_base if used.
9576 (cpp_read_main_file): Overlay an empty buffer if traditional.
9577 (cpp_finish_options): Don't do builtins.
9578 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
9579 (cpp_handle_option): Handle it.
9580 * cpplex.c (continue_after_nul): New.
9581 (_cpp_lex_direct): Use handle_nul.
9582 * cpplib.h (struct cpp_options): New traditional option.
9583 * cpptrad.c: New file.
9584
bdcae02b
NB
95852002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
9586
9587 * c-common.c (c_common_init_options): Use C89 for Objective-C,
9588 and set the options flag.
9589 * cppinit.c (lang_flags): Remove objc.
9590 (lang_defaults): Remove OBJC and OBJCXX.
9591 (set_lang): Update.
9592 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
9593 (cpp_handle_option): Remove -+ and -lang-objc++.
9594 For ObjC, just set a flag.
9595 (print_help): Update.
9596 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
9597
0fca60ab
RO
95982002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9599
9600 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
9601 bootstrap with -mips3.
9602
dd3f0101
KH
96032002-05-17 Kazu Hirata <kazu@cs.umass.edu>
9604
9605 * final.c: Fix formatting.
9606 * fix-header.c: Likewise.
9607 * flow.c: Likewise.
9608 * fold-const.c: Likewise.
9609 * function.c: Likewise.
9610
5ca9299f
DM
96112002-05-17 David S. Miller <davem@redhat.com>
9612
9613 PR c/6689, PR optimization/6615
9614 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
9615 and make it a pointer to rtx. Update comments.
9616 (update_equiv_regs): When scanning for equivalences, record
9617 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
9618 it while making the equiv replacements.
9619
508bc172
RO
96202002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9621
9622 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
9623
5cd983a6
KK
96242002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
9625
9626 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
9627 when encoding visibility into SYMBOL_REF_FLAG.
9628
ce0f3925
RS
96292002-05-17 Richard Sandiford <rsandifo@redhat.com>
9630
9631 * expr.c (force_operand): Fix reversed move.
9632
06809951
GP
96332002-05-17 Kurt Wall <kwall@kurtwerks.com>
9634
9635 * doc/install.texi (Testing): Mention two common DejaGnu warnings
9636 that can be ignored.
9637
96382002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9639
9640 * doc/install.texi (Final install): Recommend to install into a
9641 "clean" target directory.
9642
1d5d7a21
RH
96432002-05-17 Richard Henderson <rth@redhat.com>
9644
9645 * config/ia64/ia64.md: Use braced strings instead of quoted strings
9646 for code blocks. Tidy whitespace.
9647
ae46c4e0
RH
96482002-05-17 Richard Henderson <rth@redhat.com>
9649
9650 * hooks.c (hook_tree_bool_false): New.
9651 * hooks.h: Declare it.
9652 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
9653 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
9654 * target.h (select_section, unique_section): New.
9655 (in_small_data_p): New.
9656 * varasm.c (resolve_unique_section): Use hooks instead of macros.
9657 (variable_section, output_constant_def_contents): Likewise.
9658 (default_select_section, default_unique_section): New.
9659 (categorize_decl_for_section, default_elf_select_section): New.
9660 * output.h: Declare them.
9661
9662 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
9663 (TARGET_ASM_SELECT_SECTION): New.
9664 (SELECT_SECTION): Move ...
9665 * config/darwin.c (machopic_select_section): ... here.
9666 * config/darwin-protos.h: Update.
9667
9668 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
9669 (SELECT_SECTION): Move ...
9670 * config/nextstep.c (nextstep_select_section): ... here.
9671 * config/nextstep-protos.h: Update.
9672
9673 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
9674 (TARGET_ASM_SELECT_SECTION): New.
9675 * config/svr3.h (SELECT_SECTION): Remove.
9676
9677 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
9678 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
9679 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
9680 (alpha_encode_section_info): Use it.
9681 * config/alpha/alpha-protos.h: Update.
9682 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
9683 (SELECT_SECTION, UNIQUE_SECTION): Remove.
9684 (TARGET_ASM_SELECT_SECTION): New.
9685 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
9686
9687 * config/arm/pe.h (UNIQUE_SECTION): Remove.
9688 (TARGET_ASM_UNIQUE_SECTION): New.
9689
9690 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
9691 (avr_unique_section): Rename from unique_section; make static.
9692 * config/avr/avr-protos.h: Update.
9693 * config/avr/avr.h (UNIQUE_SECTION): Remove.
9694
9695 * config/c4x/c4x.h (SELECT_SECTION): Remove.
9696
9697 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
9698 (TARGET_ASM_UNIQUE_SECTION): New.
9699 * config/i386/i386-interix.h: Likewise.
9700 * config/i386/win32.h: Likewise.
9701 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
9702 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
9703 * config/i386/sco5.h (SELECT_SECTION): Remove.
9704 (TARGET_ASM_SELECT_SECTION): New.
9705 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
9706
9707 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
9708 instead of SELECT_SECTION.
9709 * config/m68k/dpx2.h: Likewise.
9710 * config/rs6000/lynx.h: Likewise.
9711
9712 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
9713 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
9714 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
9715 (ia64_in_small_data_p): New.
9716 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
9717 (ia64_aix_select_section, ia64_aix_unique_section): New.
9718 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
9719 (SELECT_SECTION, UNIQUE_SECTION): Remove.
9720
9721 * config/m32r/m32r.h (SELECT_SECTION): Remove.
9722 (TARGET_ASM_SELECT_SECTION): New.
9723 * config/m32r/m32r.c (m32r_select_section): Take align argument.
9724 * config/m32r/m32r-protos.h: Update.
9725
9726 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
9727 (SELECT_SECTION): Move ...
9728 * config/m88k/m88k.c (m88k_select_section): ... here.
9729
9730 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
9731 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
9732 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
9733 (mcore_unique_section): Make static.
9734 * config/mcore/mcore-protos.h: Update.
9735
9736 * config/mips/elf.h (UNIQUE_SECTION): Remove.
9737 (TARGET_ASM_UNIQUE_SECTION): New.
9738 * config/mips/elf64.h: Likewise.
9739 * config/mips/iris6gld.h: Likewise.
9740 * config/mips/linux.h: Likewise.
9741 * config/mips/mips-protos.h: Update.
9742 * config/mips/mips.c (mips_select_section): Add align argument.
9743 * config/mips/mips.h (SELECT_SECTION): Remove.
9744 (TARGET_ASM_SELECT_SECTION): New.
9745
9746 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
9747 * config/mmix/mmix.c (mmix_select_section): Remove.
9748 (mmix_unique_section): Remove.
9749 * config/mmix/mmix-protos.h: Update.
9750
9751 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
9752 (SELECT_SECTION): Move ...
9753 * config/pa/pa.c (pa_select_section): ... here.
9754 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
9755
9756 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
9757 from rs6000_select_section and make static.
9758 (rs6000_elf_unique_section): Similarly.
9759 (rs6000_xcoff_select_section): From xcoff.h.
9760 (rs6000_xcoff_unique_section): Likewise.
9761 * config/rs6000/rs6000-protos.h: Update.
9762 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
9763 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
9764 * config/rs6000/xcoff.h: Likewise.
9765
9766 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
9767 (SELECT_SECTION): Move ...
9768 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
9769
9770 * config/v850/v850.h (SELECT_SECTION): Move ...
9771 * config/v850/v850.c (v850_select_section): ... here.
9772 (TARGET_ASM_SELECT_SECTION): New.
9773
9774 * config/vax/vms.h (SELECT_SECTION): Move ...
9775 * config/vax/vax.c (vms_select_section): ... here.
9776 (TARGET_ASM_SELECT_SECTION): New.
9777
9778 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
9779 for the target hooks.
9780
eaeb23a7
NC
97812002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
9782
9783 * config/arm/arm.c (emit_multi_reg_push): Do not set
9784 RTX_FRAME_RELATED_P on the SEQUENCE.
9785
a00fe19f
RH
97862002-05-16 Richard Henderson <rth@redhat.com>
9787
9788 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
9789 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
9790
5ccff482
RH
97912002-05-16 Richard Henderson <rth@redhat.com>
9792
9793 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
9794
068d7739
RH
9795 * config/ia64/ia64.c (saveable_obstack): Do not declare.
9796
0b17ab2f
RH
97972002-05-16 Richard Henderson <rth@redhat.com>
9798
9799 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
9800 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
9801 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
9802 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
9803 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
9804 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
9805 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
9806 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
9807 Revert "Basic block renumbering removal", and two followup patches.
9808
8ae86b3c
JT
98092002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
9810
9811 * lcm.c (optimize_mode_switching): Revert previous change.
9812
4e9f27af
ZD
98132002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9814
9815 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
9816 with only extant block numbers.
9817
3cdc1dbc
JT
98182002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
9819
9820 * lcm.c (optimize_mode_switching): Fix typo.
9821
fbfb3b09
ZD
98222002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9823
9824 * flow.c (calculate_global_regs_live): Queue blocks in program order.
9825
b4b0fb02
RO
98262002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9827
9828 * doc/install.texi (Configuration): Document PWDCMD.
9829
63b827c5
DJ
98302002-05-16 Dale Johannesen <dalej@apple.com>
9831
9832 * combine.c (cant_combine_insn_p): Reenable combinations
9833 involving hard regs unless CLASS_LIKELY_SPILLED_P.
9834
748d29c1
NB
98352002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
9836
9837 * c-common.c (cb_register_builtins): Handle more built-ins
9838 here rather than in gcc.c specs.
9839 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
9840 (cpp_options): Pass -O flags even when only preprocessing.
9841 * toplev.c (set_fast_math_flags): New prototype.
9842 (fast_math_flags_set_p): New.
9843 (set_no_fast_math_flags): Remove.
9844 (decode_f_option): Update.
9845 * toplev.h (set_fast_math_flags): Update.
9846 (fast_math_flags_set_p): New.
9847 (set_no_fast_math_flags): Remove.
9848config:
9849 * c4x/c4x.c (c4x_override_options): Update.
9850
5279d739
ZW
98512002-05-16 Zack Weinberg <zack@codesourcery.com>
9852
9853 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
9854 Default-define here.
9855 (builtin_define_with_value): Can now wrap the expansion in
9856 quotation marks if such is wanted.
a00fe19f 9857 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
9858 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
9859 here.
9860 (c_common_init): Set options->stdc_0_in_system_headers.
9861 * c-lex.h: Update prototype of builtin_define_with_value.
9862 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
9863 and REGISTER_PREFIX.
9864
9865 * cppinit.c (VERS, ULP, C, X): Kill.
9866 (builtin_array): Remove entries for __VERSION__,
9867 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
9868 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
9869 a constant.
9870 (init_builtins): Kill off a bunch of now-dead code.
9871 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
9872 -fno-leading-underscore.
9873 (cpp_handle_option): Remove code to set user_label_prefix.
9874 (cpp_post_options): Likewise.
9875
9876 * cpplib.h (struct cpp_options): Remove user_label_prefix.
9877 (stdc_0_in_system_headers): New.
9878 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
9879 stdc_0_in_system_headers) too to decide the value of __STDC__.
9880
9881 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 9882 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
9883 (initialize_builtins): Don't define __REGISTER_PREFIX__
9884 or __USER_LABEL_PREFIX__.
9885 (install_value): Wrap compound statement in dummy loop so the
9886 macro works properly in an if statement.
9887
9888
62e6ca55
JJ
98892002-05-16 Janis Johnson <janis187@us.ibm.com>
9890
9891 * loop.h (struct loop_info): Add member has_prefetch.
9892 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
9893 (prescan_loop): Initialize has_prefetch.
9894 (struct prefetch_info): Change prefetch_in_loop and
9895 prefetch_before_loop from bit fields to ints.
9896 (emit_prefetch_instructions): Several small fixes.
9897 (check_dbra_loop): Don't reverse loop that uses prefetch.
9898
1e6347d8
RO
98992002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9900
9901 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
9902 * configure.in: Likewise.
9903 * fixinc/check.tpl: Likewise.
9904 * fixinc/fixinc.dgux: Likewise.
9905 * fixinc/fixinc.svr4: Likewise.
9906 * fixinc/fixinc.winnt: Likewise.
9907 * fixinc/fixincl.sh: Likewise.
9908 * fixproto: Likewise.
9909 * configure: Regenerate.
9910
355e4ec4
ZD
99112002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9912
9913 Basic block renumbering removal:
9914 * basic_block.h (struct basic_block_def): Renamed index to sindex,
9915 added prev_bb and next_bb fields.
9916 (n_basic_blocks): Renamed to num_basic_blocks.
9917 (last_basic_block): New, index of last basic block.
9918 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
9919 traversing basic block chain.
9920 (BLOCK_NUM): index -> sindex.
9921 (create_basic_block_structure, create_basic_block): Declaration changed.
9922 (debug_num2bb): Declare.
9923 (expunge_block_nocompact): Declaration removed.
9924 (link_block, unlink_block, compact_blocks): Declare.
9925 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
9926 * cfg.c (entry_exit_blocks): Initialize new fields.
9927 (clear_edges, alloc_block, expunge_block, cached_make_edge,
9928 redirect_edge_pred, dump_flow_info, dump_edge_info,
9929 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
9930 free_aux_for_edges): Modified.
9931 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
9932 (expunge_block_nocompact): Removed.
9933 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
9934 find_unreachable_blocks, create_edge_list, print_edge_list,
9935 verify_edge_list, flow_edge_list_print, remove_fake_successors,
9936 remove_fake_edges, flow_reverse_top_sort_order_compute,
9937 flow_depth_first_order_compute, flow_preorder_transversal_compute,
9938 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
9939 flow_dfs_compute_reverse_execute): Modified.
9940 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
9941 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
9942 Modified.
9943 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
9944 merge_blocks_move_predecessor_nojumps,
9945 merge_blocks_move_successor_nojumps, merge_blocks,
9946 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
9947 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
9948 * cfglayout.c (skip_insns_after_block, label_for_bb,
9949 record_effective_endpoints, scope_to_insns_finalize,
9950 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
9951 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
9952 cfg_layout_duplicate_bb): Modified.
9953 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
9954 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
9955 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
9956 flow_loops_find, flow_loop_outside_edge_p): Modified.
9957 * cfgrtl.c (create_basic_block_structure, create_basic_block,
9958 flow_delete_block, compute_bb_for_insn, split_block,
9959 try_redirect_by_replacing_jump, redirect_edge_and_branch,
9960 force_nonfallthru_and_redirect, tidy_fallthru_edge,
9961 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
9962 commit_edge_insertions, commit_edge_insertions_watch_calls,
9963 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
9964 purge_all_dead_edges): Modified.
9965 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
9966 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
9967 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
9968 Modified.
9969 * conflict.c (conflict_graph_compute): Modified.
9970 * df.c (FOR_ALL_BBS): Removed.
9971 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
9972 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
9973 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
9974 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
9975 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
9976 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
9977 * final.c (compute_alignments, final_scan_insn): Modified.
9978 * flow.c (verify_local_live_at_start, update_life_info,
9979 update_life_info_in_dirty_blocks, free_basic_block_vars,
9980 delete_noop_moves, calculate_global_regs_live,
9981 initialize_uninitialized_subregs, allocate_bb_life_data,
9982 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
9983 mark_used_reg, count_or_remove_death_notes): Modified.
9984 * function.c (thread_prologue_and_epilogue_insns): Modified.
9985 * gcse.c (struct null_pointer_info): Change typo of current_block
9986 to basic_block.
9987 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
9988 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
9989 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
9990 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
9991 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
9992 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
9993 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
9994 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
9995 pre_delete, one_pre_gcse_pass, compute_transpout,
9996 invalidate_nonnull_info, delete_null_pointer_checks_1,
9997 free_code_hoist_mem, compute_code_hoist_vbeinout,
9998 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
9999 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
10000 compute_store_table, build_store_vectors, insert_insn_start_bb,
10001 insert_store, replace_store_insn, free_store_memory, store_motion):
10002 Modified.
10003 * global.c (global_alloc, global_conflicts, mark_elimination,
10004 build_insn_chain): Modified.
10005 * graph.c (print_rtl_graph_with_bb): Modified.
10006 * haifa-sched.c (sched_init): Modified.
10007 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
10008 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
10009 if_convert): Modified.
10010 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
10011 compute_insert_delete, pre_edge_lcm, compute_available,
10012 compute_farthest, compute_nearerout, compute_rev_insert_delete,
10013 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
10014 Modified.
10015 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
10016 * loop.c (loop_dump_aux): Modified.
10017 * predict.c (combine_predictions_for_insn, estimate_probability,
10018 last_basic_block_p, process_note_prediction, process_note_predictions,
10019 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
10020 expensive_function_p, estimate_bb_frequencies,
10021 compute_function_frequency): Modified.
10022 * print-rtl.c (print_rtx): Modified.
10023 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
10024 get_exec_counts, compute_branch_probabilities, compute_checksum,
10025 branch_prob, find_spanning_tree): Modified.
10026 * recog.c (split_all_insns, peephole2_optimize): Modified.
10027 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
10028 convert_regs_1, convert_regs_2, convert_regs): Modified.
10029 * regclass.c (scan_one_insn, regclass): Modified.
10030 * regmove.c (mark_flags_life_zones, regmove_optimize,
10031 combine_stack_adjustments): Modified.
10032 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
10033 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
10034 * reorg.c (dbr_schedule): Modified.
10035 * resource.c (find_basic_block, init_resource_info): Modified.
10036 * sbitmap.c (sbitmap_intersection_of_succs,
10037 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
10038 sbitmap_union_of_preds): Modified.
10039 * sched-deps.c (init_dependency_caches): Modified.
10040 * sched-ebb.c (schedule_ebbs): Modified.
10041 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
10042 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
10043 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
10044 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
10045 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
10046 ssa_const_prop): Modified.
10047 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
10048 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
10049 * ssa.c (remove_phi_alternative, find_evaluations,
10050 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
10051 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
10052 make_regs_equivalent_over_bad_edges,
10053 make_equivalent_phi_alternatives_equival,
10054 compute_conservative_reg_partition,
10055 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
10056 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
10057 Modified.
10058
5a566bed
MM
100592002-05-16 Mark Mitchell <mark@codesourcery.com>
10060
10061 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
10062
48f6efae
NC
100632002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
10064
10065 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
10066 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
10067 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
10068 calling CONSTANT_POOL_ADDRESS_P.
10069 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
10070 to decide whether to define __arm__ or __thumb.
355e4ec4 10071 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
10072 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
10073
b166fadd
NB
100742002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
10075
10076 * config/arc/arc.h (CPP_PREDEFINES): Remove.
10077 (CPP_SPEC): Update.
10078 (TARGET_CPU_CPP_BUILTINS): New.
10079
601328bb
NB
100802002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
10081
10082 * cpphash.h (cpp_macro): Move here, and make expansion a union.
10083 * cppmacro.c (cpp_macro): Remove.
10084 (enter_macro_context, replace_args, warn_of_redefinition,
10085 _cpp_create_definition, cpp_macro_definition): Update.
10086
ff48be5c
JM
100872002-05-16 Jason Merrill <jason@redhat.com>
10088
10089 * config/mips/mips.c (mips_output_external): Don't do sdata
10090 optimization for a variable with DECL_COMDAT set.
10091
805c42ba
AH
100922002-05-15 Aldy Hernandez <aldyh@redhat.com>
10093
355e4ec4
ZD
10094 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
10095 Cleanups for accepting modifiers on pointers.
10096 Fix predicate typos.
10097 Allow long pointers as well as int pointers.
805c42ba 10098
34fb9ba5
RH
100992002-05-15 Richard Henderson <rth@redhat.com>
10100
10101 * varasm.c (merge_weak): Remove special case for extern and common.
10102
62e118f5
MH
101032002-05-15 Matt Hiller <hiller@redhat.com>
10104
10105 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 10106 XFAILing.
62e118f5
MH
10107 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
10108 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
10109 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
10110 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
10111 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
10112 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
10113
fefac463
AH
101142002-05-15 Aldy Hernandez <aldyh@redhat.com>
10115
355e4ec4 10116 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 10117
5f004351
AH
101182002-05-15 Aldy Hernandez <aldyh@redhat.com>
10119
355e4ec4
ZD
10120 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
10121 ("altivec_mfvscr"): Read from VSCR.
10122
10123 Add vscr sets for the following insns: altivec_vctuxs,
10124 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
10125 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
10126 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
10127 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
10128 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
10129 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
10130 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
10131 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
10132 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
10133 altivec_vsum2sws, altivec_vsumsws.
10134
10135 * config/rs6000/rs6000.h: Add VSCR fixed register.
10136 (CALL_REALLY_USED_REGISTERS): Add vscr.
10137 (CALL_USED_REGISTERS): Same.
10138 (FIXED_REGISTERS): Same.
10139 (REG_ALLOC_ORDER): Same.
10140 (reg_class): Add VSCR_REGS.
10141 (REG_CLASS_NAMES): Same.
10142 (REG_CLASS_CONTENTS): Same.
10143 (VSCR_REGNO): New.
10144 (REGISTER_NAMES): Add vscr.
10145 (DEBUG_REGISTER_NAMES): Same.
10146 (ADDITIONAL_REGISTER_NAMES): Same.
10147 (FIRST_PSEUDO_REGISTER): Increment.
10148 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 10149
033afd11
RH
101502002-05-15 Jakub Jelinek <jakub@redhat.com>
10151
10152 * fold-const.c (fold): Fix a typo.
10153
101542002-05-15 Eric Botcazou <ebotcazou@multimania.com>
10155
10156 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
10157 comparison against the highest or lowest integer value before
10158 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
10159 transformation and that of an unsigned comparison against 0
10160 right after.
10161
14285ace
RH
101622002-05-15 Richard Henderson <rth@redhat.com>
10163
10164 * varasm.c (merge_weak): Error for any weakening after definition.
10165 Adjust weakening after use warning to catch more cases.
10166 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
10167 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
10168
194734e9
JH
10169Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
10170
10171 * invoke.texi (-malign-double): Re-add lost warning.
10172
10173 * i386-protos.h (x86_output_mi_thunk): Declare.
10174 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
10175 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
10176
10177 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
10178 when flag_asynchronous_unwind_tables is set.
10179
10180 * flags.h (flag_reorder_functions): Declare.
10181 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 10182 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
10183 * Makefile.in (predict.o): Add dependency on target.h and params.h
10184 * defaults.h (HOT_TEXT_SECTION_NAME,
10185 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
10186 * predict.c (choose_function_section): New function.
10187 (estimate_bb_frequencies): Use it.
10188 * toplev.c (flag_reorder_functions): New global variable.
10189 (lang_independent_options): New.
10190 (parse_options_and_default_flags): Set.
10191 * varasm.c (assemble_start_function): Bypass functdion alignment
10192 for never executed functions.
10193 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
10194 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
10195 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
10196 Document.
10197
10198 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
10199
10200 * predict.c: Inlude profile.h
10201 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
10202 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
10203 Use the information about maximal counter in the program.
10204
10205 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
10206
10207 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
10208 probably_never_executed_bb_p): New functions.
10209 * cfgcleanup.c (outgoing_edges_match): Use them.
10210 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
10211 (maybe_hot_bb_p, probably_cold_bb_p,
10212 probably_never_executed_bb_p): New functions.
10213
10214 * function.h (function): Add new field function_frequency.
10215 * predict.c (compute_function_frequency): New function.
10216 (estimate_probability): Call it.
10217
61ad9a34
JJ
102182002-03-09 Jakub Jelinek <jakub@redhat.com>
10219
10220 PR optimization/5172, optimization/5200
10221 * gcse.c (gcse_main): Disable store_motion.
10222
a11eba95
ZW
102232002-05-14 Zack Weinberg <zack@codesourcery.com>
10224
10225 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
10226 (c_common_nodes_and_builtins): Use it.
10227 (builtin_define_with_value): New function.
10228 (cb_register_builtins): Define __SIZE_TYPE__,
10229 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
10230 using builtin_define_with_value. Use consistent notation when
10231 defining __GXX_WEAK__.
10232 (WCHAR_TYPE_SIZE): Don't redefine.
10233 (combine_strings): Don't use WCHAR_TYPE_SIZE.
10234
10235 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
10236 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
10237 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
10238 * tradcpp.c (initialize_builtins): Likewise.
10239 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
10240
10241 * c-lex.h (builtin_define_with_value): Prototype.
10242 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
10243 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
10244 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
10245
10246 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
10247 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
10248 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
10249 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
10250 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
10251 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
10252 config/sparc/sol2-bi.h, config/sparc/sparc.h:
10253 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
10254 to __SIZE_TYPE__ etc from all spec strings. When this makes
10255 extra specs empty, delete them.
10256
1c31ecf6
JDA
102572002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
10258
10259 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
10260 for PA8000 or generating dwarf2 call frame information.
10261 (output_call): Remove DO_FRAME_NOTES check from return pointer
10262 optimization.
10263 (following_call): Return 0 when scheduling for PA8000 or generating
10264 dwarf2 call frame information. Revise comment.
10265
ac9cfada
NB
102662002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
10267
10268config/alpha:
10269 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
10270 and __IEEE_FP_INEXACT as appropriate.
10271 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
10272 (CPP_SPEC): Remove ieee defines.
10273 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
10274
9b690711
RH
102752002-05-14 Richard Henderson <rth@redhat.com>
10276
10277 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
10278 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
10279
e6471be6
NB
102802002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
10281
e6471be6
NB
10282 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
10283 (CPP_SPEC): Update.
10284 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
10285 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
10286 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
10287 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
10288 (EXTRA_SPECS): Update.
10289 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
10290 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
10291 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
10292 define TARGET_OS_CPP_BUILTINS if necessary.
10293
e5f5feea
NB
102942002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
10295
10296 * gcc.c (cpp_options): Must pass -m* and -f* options
10297 to the front end even when only preprocessing.
10298 (cc1_options): Remove redundant -lang-c.
10299 * tradcpp.c (main): Ignore -m options.
10300objc:
10301 * lang-specs.h: Similarly.
10302
317638a8
VM
103032002-05-14 Vladimir Makarov <vmakarov@redhat.com>
10304
10305 * genautomata.c (transform_3): Add code for transformation
10306 `(A,B,...)+C -> A+C,B,...'.
10307
4d604303
JH
10308Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
10309
10310 * final.c (end_final): Do not output profile_arcs constructor, when
10311 no functions are instrumented.
10312
b18b06ed
JH
10313Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
10314
10315 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
10316
a12f97f0
GP
103172002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10318
10319 * doc/install.texi: Remove special markup originally required for
10320 HTML generation with texi2html.
10321
c1ae3eb4
AS
103222002-05-14 Andreas Schwab <schwab@suse.de>
10323
10324 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
10325 SELECT_SECTION.
10326 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
10327
10328 * varasm.c (resolve_unique_section): Add third parameter
10329 flag_function_or_data_sections and use it instead of
10330 flag_function_sections.
10331 (assemble_start_function): Pass flag_function_sections.
10332 (asm_emit_uninitialised): Pass flag_data_sections.
10333 (assemble_variable): Likewise.
10334
8ee41eaf
RH
103352002-05-14 Richard Henderson <rth@redhat.com>
10336
10337 * config/i386/i386.md: Use define_constants for unspec numbers.
10338 * config/i386/i386.c: Likewise.
10339
e6471be6
NB
103402002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
10341
10342 * doc/contrib.texi: Update my entry.
10343
c297b764
MM
103442002-05-13 Mark Mitchell <mark@codesourcery.com>
10345
10346 * fixinc/inclhack.def (winidss_valist): Limit applicability.
10347 * fixinc/fixincl.x: Regenerated.
10348 * fixinc/tests/base/math.h: Update.
10349 * fixinc/tests/base/testing.h: Likewise.
10350
0b42c8f8
ZW
103512002-05-13 Zack Weinberg <zack@codesourcery.com>
10352
10353 * genattr.c (gen_attr): Don't emit a comma after the last
10354 enumerator.
10355
546c093e
RH
103562002-05-13 Richard Henderson <rth@redhat.com>
10357
10358 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
10359 by non-local gotos.
10360 * recog.c (peephole2_optimize): Likewise.
10361
85be8c2d
AP
103622002-05-13 Andris Pavenis <pavenis@lanet.lv>
10363
10364 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
10365 input to O_BINARY.
10366
765b8f90
JL
103672002-05-13 Jeffrey A Law (law@redhat.com)
10368
fe4b3c79
JL
10369 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
10370 Update prototype and callers.
10371 (propagate_one_insn): Stack pointer adjustments kill MEMs on
10372 the mem_set_list which reference the stack pointer, as do
10373 calls to constant functions as they may clobber outgoing
10374 argument space.
10375
16133d00
JL
10376 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
10377
765b8f90
JL
10378 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
10379 (ia32_multipass_dfa_lookahead): New function.
10380
63826d5b
NB
103812002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
10382
10383 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
10384 (translate_options): Remove 'V'.
10385 (process_command): Similarly.
10386doc:
10387 * invoke.texi: Remove documentation of 'V'.
10388
dcb41ced
UW
103892002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
10390
10391 * config/s390/linux.h: Revert 2002-04-22 changes.
10392
8dfea428
SM
103932002-05-13 Scott Marks <SMarks@mobile-mind.com>
10394
10395 * config/fr30/fr30.md: Only allow splits of immediate loads
10396 if the destination is a register.
10397
12a41c22
NB
103982002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
10399
10400 * Makefile.in (c-common.o, cppinit.o): Update.
10401 * c-common.c: Include except.h.
10402 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
10403 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
10404 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
10405 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
10406 CPP_PREDEFINES): Handle here.
10407config:
10408 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
10409 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
10410 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
10411 TARGET_OS_CPP_BUILTINS.
10412 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
10413 (CPP_SPEC, EXTRA_SPECS): Update.
10414 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
10415 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
10416 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
10417 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
10418 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
10419doc:
10420 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
10421 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
10422
5692c7bc
ZW
104232002-05-12 Zack Weinberg <zack@codesourcery.com>
10424
10425 * emit-rtl.c (global_rtl): Update comment.
10426 (const_double_htab, const_double_htab_hash,
10427 const_double_htab_hash, lookup_const_double): New.
10428 (const_int_htab_hash, const_int_htab_eq): Remove const
10429 qualifiers, which cause tons of warnings with RTL checking on.
10430 (gen_rtx_CONST_DOUBLE): Deleted.
10431 (const_double_from_real_value): New function - bears some
10432 resemblance to the former immed_real_const_1.
10433 (immed_double_const): Moved here from varasm.c and
10434 simplified.
10435 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
10436 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
10437 (gen_rtx): Use immed_double_const.
10438 (init_emit_once): Initialize the const_double_htab. Use
10439 REAL_VALUE_FROM_INT where possible. Can now use
10440 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
10441 * varasm.c (struct varasm_status): Remove x_const_double_chain.
10442 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
10443 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
10444 (init_varasm_status, mark_varasm_status): Don't touch
10445 x_const_double_chain.
10446
10447 * output.h: Delete prototype for clear_const_double_mem.
10448 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
10449 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
10450 const_double_from_real_value, not immed_real_const_1, and use
10451 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
10452 CONST_DOUBLE_ATOF.
10453 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
10454 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
10455 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
10456 (gen_rtx_REG): Second arg is unsigned.
10457
10458 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
10459 (excluded_rtx): New, return true for CONST_DOUBLE.
10460 (genmacro): Write nothing for excluded codes.
10461 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
10462 * expr.c (expand_expr): Likewise.
10463 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
10464 CONST_DOUBLE_CHAIN.
10465 * toplev.c (rest_of_compilation): Don't call
10466 clear_const_double_mem.
10467
10468 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
10469 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
10470 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
10471 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
10472 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
10473 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
10474 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
10475 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
10476
31397a7b
KG
104772002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10478
10479 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
10480
1b70d38a
TT
104812002-05-12 Tom Tromey <tromey@redhat.com>
10482
10483 * tree.h (copy_node): Don't mention TREE_PERMANENT.
10484
9a5834ae
ZW
104852002-05-12 Zack Weinberg <zack@codesourcery.com>
10486
10487 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
10488 (scan_comma_elt): New function. Accepts whitespace in comma lists.
10489 * gensupport.h: Prototype new routines.
10490 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
10491 use of printf.
10492 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
10493 (next_comma_elt): Use scan_comma_elt.
10494
10495 * config/i386/i386.md: Use new attribute notation to break up
10496 long lines in define_attr forms.
10497
51286de6
RH
104982002-05-12 Richard Henderson <rth@redhat.com>
10499
10500 * expr.c (compress_float_constant): New.
10501 (emit_move_insn): Use it.
10502 (float_extend_from_mem): New.
10503 (init_expr_once): Initialize it.
10504 * real.c (exact_real_truncate): New.
10505
10506 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
10507 dropped into memory; penalize for size.
10508 (RTX_COSTS): FLOAT_EXTEND is free.
10509 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
10510 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
10511
6412341e
RH
105122002-05-12 Richard Henderson <rth@redhat.com>
10513
10514 * profile.h (profile_info): Add missing extern to declaration.
10515 * profile.c (profile_info): Define it.
10516
12877f09
JDA
105172002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
10518
10519 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
10520 used for DImode and TImode.
10521
387f9e32
NB
105222002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
10523
10524 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
10525 fake a newline.
10526
e1a0f69c
ZW
105272002-05-11 Zack Weinberg <zack@codesourcery.com>
10528
10529 * config/rs6000/rs6000.c (rs6000_default_long_calls,
10530 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
10531 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
10532 (rs6000_override_options): Handle -m(no-)longcall.
10533 (init_cumulative_args, output_mi_thunk): Check for both
10534 longcall and shortcall attributes on the function.
10535 (rs6000_attribute_table): Add "shortcall".
10536 (rs6000_handle_longcall_attribute): Update comment.
10537 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
10538 altivec_expand_ternop_builtin): Add default clauses to switches
10539 to silence warnings.
10540
10541 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
10542 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
10543 (TARGET_OPTIONS): Add longcall and no-longcall.
10544
10545 * config/rs6000/rs6000.md (call_nonlocal_sysv,
10546 call_value_nonlocal_sysv): Split by alternatives. One pair
10547 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
10548 the call cookie. The other pair accepts only LR/CTR and has
10549 no restriction.
10550
10551 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
10552 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
10553 tmake_file.
10554 * config/rs6000/rs6000-c.c: New file.
10555 * config/rs6000/t-rs6000-c-rule: New file.
10556 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
10557 Prototype rs6000_pragma_longcall.
10558
10559 * doc/extend.texi: Document shortcall attribute.
10560 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
10561
9c64026d
JDA
105622002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
10563
10564 * reorg.c (dbr_schedule): Remove unnecessary test.
10565
6c81a490
JH
10566Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
10567
10568 * i386.md (testsi to testqi spliters): New.
10569
10570 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
10571
10572 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
10573
10574 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
10575
10576 * basic-block.h: New flag EDGE_CAN_FALLTHRU
10577 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
10578 that can be made fallthru.
10579
10580 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
10581
10582 * cfglayout.c (cleanup_unconditional_jumps): New static function.
10583 (cfg_layout_initialize): Use it.
4c476cf3 10584
e4447d94
MM
105852002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
10586
10587 * config/avr/avr.c (avr_mcu_types): Update supported devices.
10588 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
10589 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
10590
3a538a66
KH
105912002-05-11 Kazu Hirata <kazu@cs.umass.edu>
10592
10593 * dbxout.c: Fix formatting.
10594 * dependence.c: Likewise.
10595 * df.c: Likewise.
10596 * diagnostic.c: Likewise.
10597 * doloop.c: Likewise.
10598 * dominance.c: Likewise.
10599 * doschk.c: Likewise.
10600 * dwarf2asm.c: Likewise.
10601 * dwarf2out.c: Likewise.
10602 * dwarfout.c: Likewise.
10603
2292e8fc
RH
106042002-05-10 Richard Henderson <rth@redhat.com>
10605
10606 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
10607 Convert integers constants as needed. Replace "nwords" field with
10608 "sizeof_bb".
10609 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
10610 * function.h: Fix typo in comment.
10611 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
10612
dbfb1116
RS
106132002-05-10 Roger Sayle <roger@eyesopen.com>
10614
10615 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
10616 into the equivalent (signed char)c > 0.
10617
79a497cd
JJ
106182002-05-10 Janis Johnson <janis187@us.ibm.com>
10619
10620 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
10621 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
10622 (struct prefetch_info): Fix spelling of member bytes_accessed.
10623 (emit_prefetch_instructions): Make dump messages more regular;
10624 restructure code to add more dump messages; use new macros for
10625 heuristics. (There are no code generation changes in any of this).
10626
6c45cb0d
DM
106272002-05-10 David S. Miller <davem@redhat.com>
10628
7440af14
DM
10629 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
10630 (struct rtx_def): Update unchanging flag comment.
10631 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
10632 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
10633 to be handled to INSN too.
10634 (dbr_schedule): Likewise.
10635 * resource.c (next_insn_no_annul): Likewise.
10636
6c45cb0d
DM
10637 * cse.c (rtx_cost): Remove multiplication by power of 2 special
10638 casing.
10639
29f21e4f
GP
106402002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10641
10642 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
10643 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
10644 (possibly) work around broken /bin/sh.
10645
e4ba88da
RO
106462002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10647
10648 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
10649 . as N64/N32 libgcc_s.so subdirs.
10650
4f4778ee
DM
106512002-05-10 David S. Miller <davem@redhat.com>
10652
10653 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
10654
10655 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
10656 more accurately.
10657 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
10658 comment.
10659 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
10660 * doc/rtl.texi: Document these macros more accurately.
10661 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
10662 JUMP_INSNs and CALL_INSNs.
10663 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
10664 or INSN_FROM_TARGET_P if the code is appropriate.
10665
1a499b92
MM
106662002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
10667
10668 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
10669 before using SYMBOL_REF_FLAG (addr).
10670
10671 * config/avr/avr-protos.h (avr_io_address_p): Declare.
10672 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
10673 Make non-static. Update all callers.
10674 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
10675 New insns to clear/set/test a single bit in I/O address space.
10676
65212b66
KG
106772002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10678
10679 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
10680
3df89291
NB
106812002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
10682
10683 * Makefile.in: Update.
10684 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
10685 builtin_define_std): New.
10686 (c_common_init): Register CPP builtins callback.
10687 * c-common.h (flag_iso, flag_undef): New.
10688 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
10689 * c-lex.c: Don't include target.h.
10690 (cb_register_builtins): Move to c-common.c.
10691 (init_c_lex): Don't register hook here.
10692 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
10693 (cpp_define, cpp_assert): Remove.
10694 * gcc.c (cc1_options): Pass -undef to front end.
10695 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
10696 (TARGET_INITIALIZER): Update.
10697 * target.h (struct cpp_reader): Don't predeclare.
10698 (struct gcc_target): Remove cpp builtin hook.
10699 * tree.c (default_register_cpp_builtins): Remove.
10700doc:
10701 * tm.texi: Update.
10702
32fa4565
NB
107032002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
10704
10705 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
10706
23357c55
RO
107072002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10708
10709 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
10710 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
10711
5aa26af0
JJ
107122002-05-09 Jakub Jelinek <jakub@redhat.com>
10713
10714 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
10715 * config/sparc/libgcc-sparc-glibc.ver: New file.
10716 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
10717 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
10718
2937267b
JJ
107192002-05-09 Jakub Jelinek <jakub@redhat.com>
10720
10721 PR target/6429
10722 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
10723 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
10724 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
10725 base multilibs.
10726 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
10727 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
10728 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
10729 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
10730
086c0f96
RH
107312002-05-09 Richard Henderson <rth@redhat.com>
10732
10733 * config/ia64/ia64.md: Use define_constants for unspec numbers.
10734 * config/ia64/ia64.c: Likewise.
10735
a8b4881f
RS
107362002-05-09 Richard Sandiford <rsandifo@redhat.com>
10737
10738 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
10739 (save_restore_insns): Likewise.
10740 (mips_expand_prologue, mips_expand_epilogue): Update callers.
10741 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
10742
243e5500 10743Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
890d52e8 10744
af2728a4
JL
10745 * athlon.md, k6.md, pentium.md, ppro.md): New files.
10746 * i386.md: Move scheduling information into new files.
10747
890d52e8
JL
10748 * i386.md (type attribute): Add "rotate" for rotate insns.
10749 (rotate insns): Set type to "rotate".
10750 (various attributes and function units): Treat rotate like shift.
10751 (pent_pair attribute): Only rotates by one bit position are
10752 pairable.
10753 (sbb insns): Explicitly set pent_pair attribute on a couple
10754 that were missing it.
10755
f78ec36a
R
10756Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
10757
10758 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
10759 make sure that buffer starts on odd word address.
10760 (sh_va_arg): Skip odd fp registers when reading a double precision
10761 value.
10762
ff431459
NB
107632002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
10764
10765 * tree.h (preserve_data, object_permanent_p, type_precision):
10766 Remove.
10767
c3bf3e6e
NB
107682002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
10769
10770 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
10771 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
10772doc:
10773 * cpp.texi: Update for removal of obsolete features.
10774
02263a8a
JH
10775Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
10776 Jeffrey A Law (law@redhat.com)
10777
10778 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
10779 the DFA interface for Pentium processors.
10780 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
10781 (attr_pent_pair, ix86_pent_find_pair): Remove.
10782 (ix86_sched_reorder_pentium): Remove.
10783 (ix86_sched_reorder): Remove reordering for Pentium.
10784 * i386.md (Pentium scheduling): Rewrite using DFA description.
10785
3e638a90
JH
10786Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
10787
10788 * cfganal.c (can_fallthru): Fix fast path.
10789 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
10790 with edges to the next block.
10791
b7c9bf28
JH
10792Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
10793 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
10794
10795 * final.c (end_final): Use C trees to output data structures for profiling.
10796
10797 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
10798 (profile.o): New dependency profile.h
10799 (final.o): New dependency profile.h
10800 * profile.h: New file. New global structure profile_info.
10801 * final.h (count_edges_instrumented_now): Declare.
10802 (current_function_cfg_checksum): Declare.
10803 (function_list): New structure.
10804 (functions_head, functions_tail): New static variables.
10805 (end_final): Emits more data, removed some -ax stuff.
10806 (final): Stores function names and chcksums.
10807 * gcov-io.h (__write_gcov_string): New function.
10808 (__read_gcov_string): New function.
10809 * gcov.c (read_profile): New function.
10810 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 10811 da_file.
5692c7bc
ZW
10812 (read_files): Removed da_file checking, it's done by read_profile now.
10813 * libgcc2.c (bb_function_info): New structure.
10814 (bb): New field in structure, removed some -ax stuff.
10815 (__bb_exit_func): Changed structure of da_file.
10816 * profile.c (count_edges_instrumented_now): New global variable.
10817 (current_function_cfg_checksum): New global variable.
10818 (max_counter_in_program): New global variable.
10819 (get_exec_counts): New function.
10820 (compute_checksum): New function.
10821 (instrument_edges): Sets count_edges_instrumented_now.
10822 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 10823 reading da_file.
5692c7bc
ZW
10824 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
10825 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 10826 now.
5692c7bc 10827 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 10828 now.
5692c7bc 10829 * gcov.texi: Updated information about gcov file format.
b7c9bf28 10830
786de7eb
KH
108312002-05-09 Kazu Hirata <kazu@cs.umass.edu>
10832
10833 * sbitmap.c: Fix formatting.
10834 * scan.c: Likewise.
10835 * scan-decls.c: Likewise.
10836 * sched-deps.c: Likewise.
10837 * sched-ebb.c: Likewise.
10838 * sched-rgn.c: Likewise.
10839 * sched-vis.c: Likewise.
10840 * sdbout.c: Likewise.
10841 * sibcall.c: Likewise.
10842 * simplify-rtx.c: Likewise.
10843 * ssa.c: Likewise.
10844 * ssa-ccp.c: Likewise.
10845 * ssa-dce.c: Likewise.
10846 * stmt.c: Likewise.
10847 * stor-layout.c: Likewise.
10848 * stringpool.c: Likewise.
10849
b7764693
DM
108502002-05-09 David S. Miller <davem@redhat.com>
10851
10852 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
10853
4e7d5d27
DM
108542002-05-07 David S. Miller <davem@redhat.com>
10855
10856 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
10857 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
10858 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
10859 library implementation clobbers the output before the inputs
10860 are fully consumed, use stack temporary for the output.
10861
f979570e
JT
108622002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
10863
10864 * config/netbsd.h (CPP_SPEC): Remove.
10865 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
10866 * config/i386/netbsd.h (CPP_SPEC): Define.
10867 * config/ns32k/netbsd.h (CPP_SPEC): Define.
10868 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
10869 * config/sparc/netbsd.h (CPP_SPEC): Define.
10870 * config/vax/netbsd.h (CPP_SPEC): Define.
10871
a6a2274a
KH
108722002-05-08 Kazu Hirata <kazu@cs.umass.edu>
10873
10874 * read-rtl.c: Fix formatting.
10875 * real.c: Likewise.
10876 * recog.c: Likewise.
10877 * regclass.c: Likewise.
10878 * regmove.c: Likewise.
10879 * reg-stack.c: Likewise.
10880 * reload1.c: Likewise.
10881 * reload.c: Likewise.
10882 * resource.c: Likewise.
10883 * rtlanal.c: Likewise.
10884 * rtl.c: Likewise.
10885 * rtl-error.c: Likewise.
10886
461b48d5
JDA
108872002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
10888
10889 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
10890 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
10891
95d075ff
BS
108922002-05-08 Bernd Schmidt <bernds@redhat.com>
10893
10894 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
10895 use __SSE2__ macro instead.
10896 * config/i386/xmmintrin.h: Likewise.
10897
2d4cc6a7
JJ
108982002-05-08 Janis Johnson <janis187@us.ibm.com>
10899
10900 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
10901 and use it in all invocations of these macros. Clean up comments.
10902 * rtl.c (rtl_check_failed_flag): Add an argument for the name
10903 of the flag access macro whose check failed.
10904 * doc/rtl.texi (Flags): Document additional flag uses.
10905
3f8ffc7c
RS
109062002-05-08 Robert Spier <rspier@pobox.com>
10907 Neil Booth <neil@daikokuya.demon.co.uk>
10908
10909 PR preprocessor/6521
10910 * cppfiles.c (handle_missing_header): Don't do anything
10911 different for <> includes.
10912doc:
10913 * cppopts.texi: Update documentation for -MG.
10914
b9e2d17b
NB
109152002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
10916
10917 * cpplex.c (cpp_interpret_charconst): Truncate as well as
10918 sign-extend.
10919doc:
10920 * cpp.texi: Clarify multichar charconst valuation.
10921
8d8269fa
MM
109222002-05-08 Mark Mitchell <mark@codesourcery.com>
10923
10924 * doc/invoke.texi: Document -mwindiss option.
10925
29b91443
JM
109262002-05-08 Jason Merrill <jason@redhat.com>
10927
10928 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
10929
10930 * dwarf2out.c (gen_type_die): Abort on broken recursion.
10931
10932 PR c++/6381
10933 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
10934 REAL_CST.
10935
6c76b950
NC
109362002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
10937
10938 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
10939 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 10940 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
10941 multilibs for the Thumb.
10942
f90bf7ca
MM
109432002-05-08 Mark Mitchell <mark@codesourcery.com>
10944
10945 PR c/6569.
10946 * varasm.c (mark_weak): New function.
10947 (merge_weak): Use it. Do not call declare_weak.
10948 (declare_weak): Use merge_weak.
10949
1e150f2c
JH
10950Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
10951
10952 * cse.c (dead_libcall_p): Update counts.
10953 (delete_trivially_dead_insns): Update call of dead_libcall_p.
10954
969d70ca
JH
10955Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
10956
10957 * cfglayout.c (function_tail_eff_head): Rename to ...
10958 (function_footer): ... this one.
10959 (unlink_insn_chain): New functions.
10960 (label_for_bb): Only call block_label and emit debug message.
10961 (record_effective_endpoints): Actually unlink the headers and footers.
10962 (fixup_reorder_cahin): Re-insert the unlinked sequences.
10963 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
10964 * cfglayout.h (struct reorder_block_def): New fields footer/header;
10965 remove eff_head/eff_end.
10966 * rtl.h (set_first_insn): Declare.
10967 * emit-rtl.c (set_first_insn): New function.
10968
10969 * cfglayout.c (fixup_reorder_chain): Dump duplicated
10970 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
10971 cfg_layout_duplicate_bb): New global function.
10972 (duplicate_insn_chain): New static function.
10973 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
10974 cfg_layout_duplicate_bb): Declare.
10975 (struct reorder_block_def): Add "original" field.
10976 * emit-rtl.c (emit_copy_of_insn_after): New function.
10977 * rtl.h (emit_copy_of_insn_after): Declare.
10978
10979 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
10980 (fixup_reorder_chain): properly handle edges to exit block.
10981
10982Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10983 Jan Hubicka <jh@suse.cz>
10984
10985 * basic-block.h (note_prediction_to_br_prob): declare.
10986 * c-semantics.c: Inlucde predit.h
10987 (expand_stmt): predict GOTO_STMT as not taken.
10988 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
10989 (cleanup_cfg): Do not free tail_recursion_list.
10990 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
10991 (flow_delete_block): Kill predictions past end of basic block.
10992 * output.h (delete_unreachable_blocks): Declare.
10993 * predict.c (predicted_by_p, process_note_predictions,
10994 process_note_prediction, last_block_p): New function.
10995 (estimate_probability): Bypass loop on PRED_CONTINUE;
10996 do not handle noreturn heuristics; kill PRED_RETURN; add
10997 PRED_EARLY_RETURN.
10998 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
10999 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
11000 * predict.h (IS_TAKEN): New constant.
11001 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
11002 * rtl.c (NOTE_INSN_PREDICTION): New.
11003 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
11004 New macro.
11005 (insn_note): add NOTE_INSN_PREDICTION.
11006 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
11007 CFG; free tail_recursion_label_list.
11008 * stmt.c: Include predict.h;
11009 (return_prediction): New.
11010 (expand_value_return): Use it.
11011 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
11012
41f8d041
RS
110132002-05-08 Richard Sandiford <rsandifo@redhat.com>
11014
11015 * config/mips/mips.md: Name the unspecs with define_constant.
11016 (*HILO_delay): Rename to 'hilo_delay' (no star).
11017 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
11018 (reload_outdi, reload_outsi): Likewise.
11019
9cabb1d8
KH
110202002-05-07 Kazu Hirata <kazu@cs.umass.edu>
11021
11022 * toplev.c: Fix formatting.
11023
4c76f856
JJ
110242002-05-07 Janis Johnson <janis187@us.ibm.com>
11025
11026 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
11027 * configure.in (ac_rtlflag_checking): New.
11028 * doc/install.texi (--enable-checking): Document RTL flag checking.
11029
44a147ad
NB
110302002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
11031
11032 * c-common.c (c_common_init): Set options->unsigned_wchar.
11033 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
11034 group target dependencies.
11035 (init_builtins, cpp_handle_option): Update.
11036 * cpplex.c (cpp_interpret_charconst): Update.
11037 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
11038 signed_char to unsigned_char, group target dependencies.
11039 * defaults.h (WCHAR_UNSIGNED): Remove.
11040 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
11041config:
11042 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
11043 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
11044 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
11045 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
11046 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
11047doc:
11048 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
11049
cace4f93
MM
110502002-05-07 Mark Mitchell <mark@codesourcery.com>
11051
11052 * fixinc/inclhack.def (windiss_math1): New fix.
11053 (windiss_math2): Likewise.
11054 (windiss_valist): Likewise.
11055 * fixinc/fixincl.x: Regenerated.
11056
e2ff6cee
AJ
110572002-05-07 Andreas Jaeger <aj@suse.de>
11058
11059 * genautomata.c (output_internal_min_issue_delay_func): Add
11060 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
11061 (output_internal_trans_func): Likewise.
11062
bdad4be5
JL
11063Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
11064
11065 * pa.c (hppa_profile_hook): Use force_reg to get the address
11066 of the profile hook into an appropriate pseudo register.
11067
a1ffecd9
MM
110682002-05-07 Mark Mitchell <mark@codesourcery.com>
11069
11070 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
11071 (LINK_START_SPEC): Handle it.
11072 (LINK_OS_SPEC): Likewise.
11073 (CPP_SPEC): Likewise.
11074 (STARTFILE_SPEC): Likewise.
11075 (LIB_SPEC): Likewise.
11076 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
11077 all platforms.
11078 (CRTSAVRES_DEFAULT_SPEC): New macro.
11079 (LIB_WINDISS_SPEC): New macro.
11080 (CPP_OS_WINDISS_SPEC): Likewise.
11081 (STARTFILE_WINDISS_SPEC): Likewise.
11082 (ENDFILE_WINDISS_SPEC): Likewise.
11083 (LINK_START_WINDISS_SPEC): Likewise.
11084 (LINK_OS_WINDISS_SPEC): Likewise.
11085 * config/rs6000/windiss.h: New file.
e2ff6cee 11086
df966bff
AH
110872002-05-07 Aldy Hernandez <aldyh@redhat.com>
11088
a5c76ee6 11089 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 11090
db84f1bd
DM
110912002-05-06 David S. Miller <davem@redhat.com>
11092
11093 * config/sparc/sparc.md (shift insns): Do not mask off
11094 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
11095 take care of it.
11096
818c0c94
RH
110972002-05-06 Richard Henderson <rth@redhat.com>
11098
11099 PR c++/6212
11100 * expr.c (highest_pow2_factor_for_type): New.
11101 (expand_assignment): Use it.
11102
61e0b50f
AH
111032002-05-06 Aldy Hernandez <aldyh@redhat.com>
11104
818c0c94
RH
11105 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
11106 unspec_volatile.
11107 ("altivec_mfvscr"): Same.
61e0b50f 11108
5a63e069
JJ
111092002-05-06 Janis Johnson <janis187@us.ibm.com>
11110
11111 * rtl.h (struct rtx_def): Update comments.
11112 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
11113 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
11114 RTL_FLAG_CHECK macros with list of expected RTL codes.
11115 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
11116 (rtl_check_failed_flag): New.
11117 * reload1.c (reload): Use REG macro before changing rtx to MEM.
11118 (reload_cse_noop_set_p): Check rtx code before using access macro.
11119 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
11120 before using access macro.
11121
4afe3952
JJ
111222002-05-06 Janis Johnson <janis187@us.ibm.com>
11123
11124 * doc/rtl.texi (Flags): Update to reflect current usage.
11125
1f77b5da
RS
111262002-05-06 Roger Sayle <roger@eyesopen.com>
11127
11128 PR opt/3995
11129 * fold-const.c (sign_bit_p): New function.
11130 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 11131 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
11132 Reapply fold when converting (A & C) == C into (A & C) != 0.
11133 (fold_binary_op_with_conditional_arg): Fix typo in comment.
11134
a5a49440
NB
111352002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
11136
11137 * c-common.c (warn_multichar): New.
11138 (c_common_init): Set CPP's warn_multichar.
11139 * c-common.h (warn_multichar): New.
11140 * c-decl.c (warn_multichar): Remove.
11141 * c-lex.c (lex_charconst): Update.
11142 * c-tree.h (warn_multichar): Remove.
11143 * cppexp.c (eval_token): Sign-extend charconst value.
11144 * cppinit.c (cpp_create_reader): Set warn_multichar.
11145 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
11146 each character. Update prototype. Sign-extend the result.
11147 * cpplib.h: Fix conditions.
11148 (struct cpp_options): Add new warning flag.
11149 (cpp_interpret_charconst): Update prototype.
11150doc:
11151 * cpp.texi: Update documentation.
11152
83e0be55
VM
111532002-05-06 Vladimir Makarov <vmakarov@redhat.com>
11154
11155 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
11156 Fix typo in usage of allof instead of unit.
11157
688ec718
RH
111582002-05-06 Richard Henderson <rth@redhat.com>
11159
11160 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
11161 and any jump or call for IN.
11162
f6536266
BS
111632002-05-06 Bernd Schmidt <bernds@redhat.com>
11164
e2ff6cee 11165 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
11166 -msse2.
11167 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 11168
0316d49b
RS
111692002-05-06 Roger Sayle <roger@eyesopen.com>
11170
11171 * fold-const.c (lshift-double): Cast the high word to an unsigned
11172 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
11173 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
11174 avoid compiler warning. (fold): Remove redundant code from
11175 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
11176
5d50fab3
JL
111772002-05-06 Jeff Law <law@redhat.com>
11178
11179 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
11180 * pa.c (pa_adjust_cost): Remove all true dependency cost
11181 adjustments. Also remove support for non-DFA scheduling.
11182 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
11183 to adjust true dependency costs. Update various comments.
11184 (7100lc, 7200, 7300 scheduling): Simplify by combining the
11185 FP ALU & MPY units into a single unit.
11186
a17a104c
CM
111872002-05-06 Catherine Moore <clm@redhat.com>
11188
11189 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 11190 to count all of the registers that will be saved.
a17a104c 11191
7799175f
JH
11192Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
11193
11194 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
11195
0ac941a0
DM
111962002-05-06 David S. Miller <davem@redhat.com>
11197
11198 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
11199 allow result to overlap input operands in memory.
11200
95ff5d3f
NB
112012002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
11202
11203doc:
11204 * cpp.texi: Update multichar charconst docs.
11205
639e8b0c
NB
112062002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
11207
11208 * cpplex.c (cpp_interpret_charconst): Sign-extend each
11209 character. Don't ignore excess characters. Treat
11210 multicharacter character constants as signed.
11211 (cpp_parse_escape): Clarify diagnostic.
11212
84ea5bc1
JJ
112132002-05-05 Jakub Jelinek <jakub@redhat.com>
11214
11215 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
11216 use add instead of shift.
11217 (ashldi3_sp64): Likewise.
11218 (ashlsi3_const1, ashldi3_const1): Remove.
11219 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
11220 * config/sparc/sparc.c (const1_operand): New.
11221
40cd22f2
JT
112222002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
11223
11224 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
11225
cac01076
JJ
112262002-05-05 Jakub Jelinek <jakub@redhat.com>
11227
11228 PR target/6561
11229 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
11230
98791e3a
RH
112312002-05-05 Richard Henderson <rth@redhat.com>
11232
11233 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
11234 memory latency adjustments.
11235 (alpha_variable_issue): Remove.
11236 (alpha_use_dfa_pipeline_interface): New.
11237 (alpha_multipass_dfa_lookahead): New.
11238 * config/alpha/alpha.md: Remove define_function_unit scheduling;
11239 include new dfa scheduling.
11240 (attr type): Add none.
11241 (blockage): Use it.
11242 * config/alpha/ev4.md: New.
11243 * config/alpha/ev5.md: New.
11244 * config/alpha/ev6.md: New.
11245
309527ce
DM
112462002-05-05 David S. Miller <davem@redhat.com>
11247
11248 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
11249
68252e27
KH
112502002-05-05 Kazu Hirata <kazu@cs.umass.edu>
11251
11252 * cse.c: Fix formatting.
11253 * emit-rtl.c: Likewise.
11254
30cc9d00
VM
112552002-05-05 Vladimir Makarov <vmakarov@redhat.com>
11256
11257 * genautomata.c (initiate_states): Add additional guard to
11258 initialize `units_array'.
11259
deb09eff
VM
112602002-05-05 Vladimir Makarov <vmakarov@redhat.com>
11261
11262 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
11263 process_unit_to_form_the_same_automaton_unit_lists,
11264 form_the_same_automaton_unit_lists
11265 check_unit_distributions_to_automata): New prototypes and
11266 functions.
11267 (check_automata): Rename it into `check_automata_insn_issues'.
11268 (unit_decl): New fields `the_same_automaton_unit' and
11269 `the_same_automaton_message_reported_p'.
11270 (unit_decl_t): New typedef.
11271 (the_same_automaton_lists): New gloval variable.
11272 (unit_regexp, unit_set_el, units_array, units_cmp,
11273 output_get_cpu_unit_code_func): Use the typedef.
11274 (evaluate_max_reserv_cycles): Increment
11275 `description->max_insn_reserv_cycles'.
11276 (initiate_states): Don't increment `max_cycles_num'.
11277 (transform_insn_regexps): Move code around transformation of
11278 regexps from `generate'.
11279 (generate): Remove call of `transform_insn_regexps'.
11280 (expand_automata): Call `transform_insn_regexps' and
11281 `check_unit_distributions_to_automata'. Check errors before
11282 `generate'.
11283
11284 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
11285 automaton `ultrasparc3_1'.
e2ff6cee 11286
2443d4e1
NB
112872002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
11288
11289 * c-common.c (c_common_init): Set up CPP arithmetic.
11290 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
11291 something reasonable for the host.
11292 (sanity_checks): Add checks.
11293 (cpp_read_main_file): Call sanity_checks() from here...
11294 (cpp_post_options): ... not here.
11295 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
11296 * cpplib.h (struct cpp_options): New member int_precision.
11297
791a949f
FS
112982002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11299
11300 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
11301
091fb516
DM
113022002-05-04 David S. Miller <davem@redhat.com>
11303
f60ebeb7
DM
11304 * config/sparc/linux.h, config/sparc/linux64.h
11305 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
11306
214c6394
DM
11307 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
11308 more RTX codes.
11309 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
11310
091fb516
DM
11311 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
11312 of SETs.
11313
f2fdc802
TJ
113142002-05-05 Tim Josling <tej@melbpc.org.au>
11315
e2ff6cee 11316 * treelang; New directory for new sample language treelang.
f2fdc802 11317
3d90d290
NB
113182002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
11319
11320 * Makefile.in (c-lex.o): Update.
11321 * c-lex.c: Include target.h.
11322 (cb_register_builtins): New.
11323 (init_c_lex): Set builtins callback.
11324 * c-lex.h (cpp_define, cpp_assert): New prototypes.
11325 * cppinit.c (init_builtins): Use callback, including for
11326 GXX_WEAK.
11327 * cpplib.h (struct cpp_callbacks): New member.
11328 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
11329 (TARGET_INITIALIZER): Update.
11330 * target.h (struct gcc_target): New hook.
11331 * tree.c (default_register_cpp_builtins): New.
11332 * tree.h (default_register_cpp_builtins): New.
11333doc:
11334 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
11335
625458d0
NB
113362002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
11337
11338 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
11339 (cpp_post_options): Move sanity checks to...
11340 (sanity_checks): New.
11341 * cpplex.c (maybe_read_ucs): Fix prototype.
11342 (parse_string, cpp_parse_escape): Cast for %c format specifier.
11343 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
11344 if necessary.
11345
916b60b7
BS
113462002-05-04 Bernd Schmidt <bernds@redhat.com>
11347
11348 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
11349 builtins. Use V2DI patterns instead of TI for logical operations.
11350 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
11351 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
11352 (ix86_expand_builtins): Change the pattern used for movntdq.
11353 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
11354 sse2_nandv2di3): New patterns.
11355 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
11356 on operands.
11357 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
11358 (cvtdq2pd): Correct mode on operand 1.
11359 (sse2_umulsidi3): Describe without unspec.
11360 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
11361 machine modes.
11362 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
11363 (ashlv2di3): Likewise, from sse2_ashlv2di3.
11364 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
11365 ashlv4si3, ashlv2di3): Use SImode for shift count.
11366 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
11367 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
11368 New patterns.
11369 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
11370 New typedefs.
11371 (__m128i, __m128d): New macros.
11372 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
11373 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
11374 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
11375 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
11376 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 11377 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
11378 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
11379 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 11380 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
11381 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
11382 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
11383 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
11384 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
11385 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
11386 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
11387 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
11388 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
11389 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
11390 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
11391 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
11392 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
11393 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
11394 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
11395 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
11396 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
11397 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
11398 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
11399 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
11400 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
11401 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
11402 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
11403 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
11404 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
11405 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
11406 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
11407 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
11408 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
11409 functions.
e2ff6cee 11410 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
11411 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
11412
c26fbbca
KH
114132002-05-04 Kazu Hirata <kazu@cs.umass.edu>
11414
11415 * dwarf2out.c: Fix formatting.
11416 * varasm.c: Likewise.
11417
0387639b
DE
114182002-05-04 David Edelsohn <edelsohn@gnu.org>
11419
11420 PR c/6543
11421 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
11422 clobber and use result as temporary value.
11423
8a28dbcc
JH
11424Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
11425
11426 * expr.c (force_operand): Use expand_simple_* to handle more
11427 cases.
11428
4268e8bb
NB
114292002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
11430
11431 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
11432 and sign-extension.
11433 (lex_charconst): Update for change in prototype of
11434 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
11435 appropriately.
11436 * cpphash.h (BITS_PER_CPPCHAR_T): New.
11437 * cppinit.c (cpp_create_reader): Initialize them for no
11438 change in semantics.
11439 (cpp_post_options): Add sanity checks.
11440 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
11441 and truncation issues. Calculate in type cppchar_t.
11442 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
11443 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
11444 run-time dependent precision correctly. Return whether the
11445 result is signed or not.
11446 * cpplib.c (dequote_string): Use cppchar_t; update.
11447 * cpplib.h (cppchar_signed_t): New.
11448 struct cpp_options): New precision members.
11449 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 11450 * cppexp.c (eval_token): Update.
4268e8bb 11451
af54350e
DM
114522002-05-03 David S. Miller <davem@redhat.com>
11453
2ce04b6b
DM
11454 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
11455 * config/sparc/sparc.c (sparc_rtx_costs): New function
11456 implementing RTX_COSTS and CONST_COSTS.
11457 * config/sparc/sparc.h (CONST_COSTS): Delete.
11458 (RTX_COSTS_CASES): Define.
11459 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
11460 the work.
11461
a1d9bd0c
DM
11462 * config/sparc/sparc.md (DFA schedulers): Split out...
11463 * config/sparc/cypress.md, config/sparc/hypersparc.md,
11464 config/sparc/sparclet.md, config/sparc/supersparc.md,
11465 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
11466
e87bb82e
DM
11467 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
11468 checks on it, always defined for Sparc.
11469
af54350e
DM
11470 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
11471 Tweak, and add more detailed comments.
11472
935bfb44
ZW
114732002-05-03 Zack Weinberg <zack@codesourcery.com>
11474
11475 * Re-apply patch accidentally reverted with
11476 DFA scheduler merge: remove all rules and variables to slurp
11477 source files out of libiberty and rebuild them with HOST_CC.
11478 ($(HOST_PREFIX_1)varray.o): New rule.
11479 (genattrtab rule): Word wrap.
11480
fa7a0712
JT
114812002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
11482
11483 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
11484 (CPP_SUBTARGET_SPEC): Define.
11485 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
11486 cpp_subtarget specs.
11487 (CPP_SPEC): Redefine to include %(cpp_subtarget).
11488
14c93978
DM
114892002-05-03 David S. Miller <davem@redhat.com>
11490
11491 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
11492 * target.h (struct gcc_target): Delete cycle_display member.
11493
14d118d6
DM
11494 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
11495 (rtx_needs_barrier): Delete reference to cycle_display unspec.
11496 (ia64_sched_reorder2): Mention need for cycle display handling
11497 once such notes exist.
935bfb44 11498
b3ae1ccd
RH
114992002-05-03 Richard Henderson <rth@redhat.com>
11500
11501 * real.c (etoasc): Strip most trailing zeros for clarity.
11502 * sched-vis.c: Include real.h.
11503 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
11504 * Makefile.in (sched-vis.o): Add real.h.
11505
8f39865a
DM
115062002-05-03 David S. Miller <davem@redhat.com>
11507
11508 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
11509 no longer needed.
11510
b44140e7
AH
115112002-05-03 Aldy Hernandez <aldyh@redhat.com>
11512
935bfb44
ZW
11513 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
11514 when we get an out of range literal.
11515 (altivec_expand_ternop_builtin): Same.
11516 (altivec_expand_unop_builtin): Same.
11517 (altivec_expand_builtin): Same, for dss.
11518 (altivec_expand_builtin): Use trees instead of rtl when
11519 determining literal argument validity.
b44140e7 11520
aaaed752
DM
115212002-05-03 David S. Miller <davem@redhat.com>
11522
11523 Delete cycle display scheduling hook.
11524 * config/ia64/ia64.c (ia64_cycle_display,
11525 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
11526 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
11527 and use emit_insn_before instead of ia64_emit_insn_before.
11528 * config/ia64/ia64.md (unspec usage): Delete cycle display.
11529 (cycle_display): Delete insn pattern.
11530 * config/sparc/sparc.md (unspec usage): Delete cycle display.
11531 (cycle_display): Delete insn pattern.
11532 * config/sparc/sparc.c (sparc_cycle_display,
11533 TARGET_SCHED_CYCLE_DISPLAY): Delete.
11534 * doc/md.texi (cycle_display): Don't mention.
11535 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 11536
b37c2614
RH
115372002-05-03 Richard Henderson <rth@redhat.com>
11538
11539 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
11540 * recog.h: Declare them.
11541
11542 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
11543 * config/sparc/sparc.md: Use store_data_bypass_p instead.
11544 * config/sparc/sparc-protos.h: Update.
935bfb44 11545
e1c1132e
JT
115462002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
11547
11548 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
11549 -D__arch64__. Add -D_LP64.
11550 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
11551 from sparc.h.
11552 (CPP_ARCH64_SPEC): Likewise.
11553 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
11554 (NO_BUILTIN_SIZE_TYPE): Undef.
11555
0b2fb0d7
VM
115562002-05-03 Vladimir Makarov <vmakarov@redhat.com>
11557
11558 * genautomata.c (min_issue_delay_pass_states): Change return type
11559 in the prototype.
11560 (min_issue_delay_pass_states): Change the algorithm.
11561 (min_issue_delay): Set up min_insn_issue_delay for the state.
11562 (output_min_issue_delay_table): Interchange the nested loops and
11563 and initiate min_insn_issue_delay for states.
935bfb44 11564
3d4ce12a
JH
11565Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
11566
11567 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
11568 jump is simplejump.
11569
11570Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
11571
11572 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
11573 sequence.
11574
b5482208
RH
115752002-05-03 Richard Henderson <rth@redhat.com>
11576
11577 PR opt/6534
11578 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
11579 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
11580 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
11581 code before JUMP, not EARLIEST.
11582
5a3085c5
JM
115832002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
11584
11585 * c-format.c (check_format_info_main): Don't check for presence of
11586 parameter for * width until after operand number has been read,
11587 and only check for it if format parameters are available.
11588 Fixes PR c/6547.
11589
40039424
JT
115902002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
11591
11592 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
11593 (LINK_SPEC): Undef before defining.
11594
8157303b
JJ
115952002-05-03 Jakub Jelinek <jakub@redhat.com>
11596
11597 PR preprocessor/6489
11598 * tradcpp.c (fixup_newlines): New.
11599 (main, finclude): Use it.
11600
66319f5c
RS
116012002-05-03 Richard Sandiford <rsandifo@redhat.com>
11602
11603 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
11604 * config/mips/mips.c (mips_unique_section): Strip encoding from
11605 decl name.
11606
ce8076ad
JJ
116072002-05-03 Jakub Jelinek <jakub@redhat.com>
11608
11609 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
11610 mode.
11611
975c6e4e
RO
116122002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11613
11614 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
11615 (Specific): Removed buildstats references.
11616 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
11617 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
11618 Accomodate Solaris versions beyond 8.
11619 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
11620 (Specific, *-*-solaris2.8): Removed, obsolete.
11621
d70e94ec
JJ
116222002-05-03 Jakub Jelinek <jakub@redhat.com>
11623
11624 PR target/6542
11625 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
11626 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
11627 fill leaf_reg_remap with identity.
11628 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
11629
6b148bd9
KH
116302002-05-03 Kazu Hirata <kazu@cs.umass.edu>
11631
11632 * config/h8300/crti.asm: Remove trailing spaces.
11633 * config/h8300/h8300.c: Likewise.
11634 * config/h8300/lib1funcs.asm: Likewise.
11635
609688f3
JM
116362002-05-02 Jason Merrill <jason@redhat.com>
11637
11638 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
11639 * c-decl.c (c_init_decl_processing): Use it.
11640 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
11641 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
11642 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
11643
3b03c671
KH
116442002-05-03 Kazu Hirata <kazu@cs.umass.edu>
11645
11646 * regrename.c: Fix formatting.
11647 * tree.c: Likewise.
11648
3b4961bd
JH
11649Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
11650
11651 * i386.md (attribute memory): Handle compares properly.
11652
19cba4a0
JH
11653Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
11654
3b4961bd 11655 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
11656 to none.
11657
797a6ac1
KH
116582002-05-02 Kazu Hirata <kazu@cs.umass.edu>
11659
11660 * function.c: Fix formatting.
11661
6d0de005
JH
116622002-05-02 Jan Hubicka <jh@suse.cz>
11663
11664 * haifa-sched.c (schedule_insn): Print table of instructions and
11665 reservations.
11666 (sched_block): Do not print ready list at verbosity level 1.
11667 * sched-vis.c (print_insn): Make global.
11668 * sched-ebb.c (ebb_print_insn): Rename from...
11669 (print_insn): ... this one.
11670 * sched-int.h (print_insn): Declare
11671
0bfb9a69
RH
116722002-05-02 Richard Henderson <rth@redhat.com>
11673
11674 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
11675 emitted by cycle_display.
11676
6b976d99
LR
116772002-05-02 Loren J. Rittle <ljrittle@acm.org>
11678
11679 * doc/install.texi (*-*-freebsd*): Update to latest status.
11680
0a295052
JJ
116812002-05-02 Jakub Jelinek <jakub@redhat.com>
11682
11683 PR target/6540
11684 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
11685 * config/float-sparc.h: Assume 128-bit long double if
11686 __LONG_DOUBLE_128__ is defined.
11687
842d5d6c
VM
116882002-05-02 Vladimir Makarov <vmakarov@redhat.com>
11689
11690 * genattrtab.c (write_function_unit_info): Add a dummy element
11691 when num_units == 0.
11692
3d7a6309
HB
116932002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11694
11695 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
11696 TYPE_MODE (double_type_node) instead of DFmode.
11697
1b6763cf
JH
11698Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
11699
11700 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
11701 jumps post reload.
11702 * toplev.c (rest_of_compilation): Revert Richard's patch.
11703
b303008e
JDA
117042001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
11705
11706 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
11707
6ed7412a
CM
117082002-05-02 Catherine Moore <clm@redhat.com>
11709
11710 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
11711
e0a2f705
KH
117122002-05-02 Kazu Hirata <kazu@hxi.com>
11713
b32d6163 11714 * combine.c: Fix comment typos.
e0a2f705
KH
11715 * expr.c: Likewise.
11716 * genautomata.c: Likewise.
11717 * stmt.c: Likewise.
11718 * tree.h: Likewise.
11719
38e23049
JM
117202002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
11721
11722 * doc/install.texi: State GNAT version requirements.
11723
40f4a97d
NC
117242002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
11725
11726 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
11727 of the frame pointer or arg pointer register which strict register
11728 checking is not enabled.
11729
0d6d6892
AH
117302002-05-02 Aldy Hernandez <aldyh@redhat.com>
11731
b5482208 11732 * gcc.dg/altivec-8.c: New.
0d6d6892 11733
b5482208
RH
11734 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
11735 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 11736
abaa8559
BK
117372002-05-01 Bruce Korb <bkorb@gnu.org>
11738
11739 * fixinc/check.tpl(set-writable): make sure the function exists first
11740 * fixinc/inclhack.def(alpha_assert): fix test_text
11741 * fixinc/tests/base/assert.h: add in missing result
11742
ecab2143
JL
117432002-05-01 Jeff Law <law@redhat.com>
11744
11745 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
11746 'T' constraint.
11747
ea619b46
JB
117482002-05-01 Joel Brobecker <brobecker@gnat.com>
11749
11750 * dbxout.c (dbxout_type): Emit size information for range types,
11751 as well, but only when using GDB extensions.
11752
c72931a6
RH
117532002-05-01 Richard Henderson <rth@redhat.com>
11754
11755 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
11756 target-independent gnu binutils date test.
11757
2150ad33
RH
117582002-05-01 Richard Henderson <rth@redhat.com>
11759
11760 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
11761 info before expunging the block.
11762
1651cc96
JJ
117632002-05-01 Jakub Jelinek <jakub@redhat.com>
11764
11765 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
11766 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
11767 -M -or -MM is in effect.
11768
8998d5bf
ZW
117692002-05-01 Zack Weinberg <zack@codesourcery.com>
11770
11771 * config.gcc: Correct test of --enable-obsolete. Obsolete all
11772 A29k configurations.
11773 * doc/install.texi: Update to match.
11774
a81eed10
FS
117752002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11776
11777 PR bootstrap/6514
11778 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
11779 for duplicates. Always loop over whole list.
11780
8d53318f
RK
11781Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11782
11783 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
11784
4109b118
JS
117852002-05-01 Joel Sherrill <joel@OARcorp.com>
11786
11787 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
11788 support routines.
11789
c4a9c570
JS
117902002-05-01 Joel Sherrill <joel@OARcorp.com>
11791
11792 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
11793
ea112fc4
DE
117942002-05-01 David Edelsohn <edelsohn@gnu.org>
11795
11796 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
11797 (nabs_nopower): Same.
11798 (floatdisf2): New pattern.
11799 (absdi2): Convert to define_insn_and_split.
11800 (nabsdi2): Same.
11801 (trunctfsf2): Same.
11802 (floatditf2): Same.
11803 (floatsitf2): Same.
11804 (fix_trunctfdi2): Same.
11805 (fix_trunctfsi2): Same.
11806
dda78254
JM
118072002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
11808
11809 * doc/install.texi: Update Texinfo version requirement
11810 documentation.
11811
26aeede4
JJ
118122002-05-01 Jakub Jelinek <jakub@redhat.com>
11813
11814 PR target/6512, PR target/5628
11815 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
11816 when memory is not aligned.
11817 (movdf_insn_v9only_vis): Likewise.
11818 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
11819 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
11820 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
11821
9b7bc465
AH
118222002-05-01 Aldy Hernandez <aldyh@redhat.com>
11823
8998d5bf 11824 * gcc.dg/altivec-7.c: New.
9b7bc465 11825
8998d5bf 11826 * config/rs6000/altivec.h: Cleanup.
9b7bc465 11827
08b57fb3
AH
118282002-04-30 Aldy Hernandez <aldyh@redhat.com>
11829
8998d5bf
ZW
11830 * doc/invoke.texi (Option Summary): Add -mvrsave=.
11831 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 11832
8998d5bf
ZW
11833 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
11834 (rs6000_altivec_vrsave_string): Same.
11835 (rs6000_override_options): Call rs6000_parse_vrsave_option.
11836 (rs6000_parse_vrsave_option): New.
11837 (rs6000_stack_info): Only generate vrsave instructions when
11838 TARGET_ALTIVEC_VRSAVE.
08b57fb3 11839
8998d5bf
ZW
11840 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
11841 (rs6000_altivec_vrsave_string): Define extern.
11842 (rs6000_altivec_vrsave): Same.
11843 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 11844
8e8c38cd
RH
118452002-04-30 Richard Henderson <rth@redhat.com>
11846
11847 PR opt/6516
11848 * toplev.c (rest_of_compilation): Don't run cross-jump before
11849 bb-reorder.
11850
4be9e9cb
TR
118512002-04-30 Tom Rix <trix@redhat.com>
11852
8998d5bf 11853 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
11854 check which_alternative.
11855
1eeeb6a4
KH
118562002-04-30 Kazu Hirata <kazu@hxi.com>
11857
11858 * cpplex.c: Fix comment formatting.
11859 * function.c: Likewise.
11860 * integrate.c: Likewise.
11861 * regrename.c: Likewise.
11862 * sibcall.c: Likewise.
11863 * simplify-rtx.c: Likewise.
11864 * tree-inline.c: Likewise.
11865
ed9d6ff9
JDA
118662002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
11867
11868 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
11869 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
11870 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
11871 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
11872 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
11873 * pa/x-ada: New file. Define ADA_CFLAGS.
11874
1f2641b6
HPN
118752002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
11876
11877 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
11878 from MMIX_LAST_REGISTER_FILE_REGNUM.
11879 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
11880 (struct machine_function): New member highest_saved_stack_register
11881 previously static variable in mmix.c.
11882 (MACHINE_DEPENDENT_REORG): Define.
11883 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
11884 (MMIX_OUTPUT_REGNO): New.
11885 (mmix_target_asm_function_prologue): Move calculation of last used
11886 saved-stack-register into...
11887 (mmix_machine_dependent_reorg): New function. Update to also handle
11888 !TARGET_ABI_GNU.
11889 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
11890 register names, simplify somewhat by new variable regno.
11891 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
11892 register.
11893 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
11894 emitting register names.
11895 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
11896 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
11897 Remove fixed FIXME.
11898 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
11899 Declare.
11900
11901 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
11902
73985940
RH
119032002-04-30 Richard Henderson <rth@redhat.com>
11904
11905 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
11906 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
11907 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
11908 emit_tfmode_cvt): New.
11909 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
11910 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
11911 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
11912 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
11913 * config/sparc/sparc-protos.h: Update.
11914
2b46bc67
JJ
119152002-04-30 Janis Johnson <janis187@us.ibm.com>
11916
11917 * install.texi (Final install): Add to the list of info to include
11918 in a report of a successful bootstrap, and add link to 3.1 list.
11919
3d34cd91
JH
11920Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
11921
11922 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
11923 (mode): Add vector modes
11924 (i387): Kill attribute.
11925 (unit): New attribute.
11926 (length_immediate): Grok new types.
11927 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
11928 (modrm): Use "unit".
11929 (memory): Handle MMX/SSE properly.
11930 (scheduling descriptions): Kill uses of fop1.
11931 (sse, mmx, fp patterns): Set type and mode properly.
11932
243e5500 11933Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
3193c415 11934
30482eb0
JL
11935 * pa.c (override_options): Default to PA8000 scheduling.
11936 * doc/invoke.texi (HP-PA options): Mention newly added 7300
11937 scheduling parameter.
11938
3193c415
JL
11939 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
11940 handling of double precision multiplies.
11941
11942 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
11943 fpdiv and fpsqrt instructions.
11944 (7200 & 7300 scheduling): Fix typo in handling of
11945 store-load and store-store penalties.
11946
c0a34cb7
GP
119472002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11948
11949 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
11950 mips. Add two missing commas.
11951
8bce0628
PC
119522002-04-30 Paolo Carlini <pcarlini@unitus.it>
11953
11954 * doc/contrib.texi (Contributors): Update Paolo Carlini's
11955 and Benjamin Kosnik's entries.
11956
84643cbf
DM
119572002-04-29 David S. Miller <davem@redhat.com>
11958
11959 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
11960 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
11961 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
11962 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
11963
da6886f6
FS
119642002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11965
11966 * combine.c (find_split_point): Use gen_int_mode.
11967
fae15c93
VM
119682002-04-29 Vladimir Makarov <vmakarov@redhat.com>
11969
11970 Merging code from dfa-branch:
8998d5bf 11971
fae15c93
VM
11972 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
11973
11974 * genautomata.c (output_reserv_sets): Fix typo.
11975
11976 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
11977
11978 * genautomata.c (output_reserv_sets): Remove
11979 next_cycle_output_flag.
11980
11981 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
11982
8998d5bf
ZW
11983 * sched-rgn.c (init_ready_list): Make the DFA code handle
11984 USE/CLOBBER insns in the same way as the traditional
11985 scheduler.
11986 (new_ready): Similarly..
fae15c93
VM
11987
11988 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
11989
11990 * haifa-sched.c (schedule_block): Change the DFA state only after
11991 issuing insn.
11992
11993 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
11994
11995 * pa.c (hppa_use_dfa_pipeline_interface): New function.
11996 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
11997 (override_options): Add PA7300 scheduling support.
11998 (pa_adjust_cost): Update various comments. Properly
11999 handle anti and output dependencies when using the
12000 DFA scheduler.
12001 (pa_issue_rate): Add PA7300 scheduling support.
12002 (pa_can_combine_p): Call extract_insn before calling
12003 constrain_operands (taken from mainline tree).
12004 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
12005 * pa.md (cpu attr): Add 7300. Rewrite pipeline
12006 descriptions using DFA descriptions. Add PA7300
12007 scheduling support.
12008
12009 2002-03-30 David S. Miller <davem@redhat.com>
12010
12011 Add UltraSPARC-III DFA scheduling support.
12012 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
12013 Update FP conditional move on register insn patterns to use it, as
12014 appropriate.
12015 (define_attr cpu): Add ultrasparc3.
12016 (define_attr us3load_type): New, update integer load patterns to
12017 set it, as appropriate.
12018 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
12019 (rest): Add UltraSPARC3 scheduling description.
12020 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
12021 (PROCESSOR_ULTRASPARC3): New.
12022 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
12023 ({ASM,CPP}_CPU_SPEC): Likewise.
12024 (REGISTER_MOVE_COST): Likewise.
12025 (RTX_COSTS): Likewise.
12026 * config/sparc/sparc.c (sparc_override_options,
12027 sparc_initialize_trampoline, sparc64_initialize_trampoline,
12028 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
12029 sparc_issue_rate): Likewise.
12030 * config/sparc/sol2.h: Likewise.
12031 * config/sparc/sol2-sld-64.h: Likewise.
12032 * config/sparc/linux64.h: Likewise.
8998d5bf 12033
fae15c93
VM
12034 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
12035
12036 * doc/md.texi: Add comments about usage the latency time for the
12037 different dependencies and about case when two or more conditions
12038 in different define_insn_reservations returns TRUE for an insn.
12039
12040 * doc/md.texi: Add reference for automaton based pipeline
12041 description.
8998d5bf 12042
fae15c93
VM
12043 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
12044
12045 * doc/passes.texi: Add missed information about genattrtab.
12046
12047 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
12048
12049 * genautomata.c (output_automata_list_transition_code): Check
12050 automata_list on NULL.
12051
12052 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
12053
12054 * genautomata.c (output_insn_code_cases,
12055 output_automata_list_min_issue_delay_code,
12056 output_automata_list_transition_code,
12057 output_automata_list_state_alts_code): Comment the functions.
12058
12059 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
12060
12061 * genautomata.c (automata_list_el_t): New typedef.
12062 (get_free_automata_list_el,free_automata_list_el,
12063 free_automata_list, automata_list_hash, automata_list_eq_p,
12064 initiate_automata_lists, automata_list_start, automata_list_add,
12065 automata_list_finish, finish_automata_lists,
12066 output_insn_code_cases, output_automata_list_min_issue_delay_code,
12067 output_automata_list_transition_code,
12068 output_automata_list_state_alts_code, add_automaton_state,
12069 form_important_insn_automata_lists): New functions and prototypes.
12070 (insn_reserv_decl): Add members important_automata_list and
12071 processed_p.
12072 (ainsn): Add members important_p.
12073 (automata_list_el): New structure.
12074 (first_free_automata_list_el, current_automata_list,
12075 automata_list_table): New global variables.
12076 (create_ainsns): Initiate member important_p.
12077 (output_internal_min_issue_delay_func): Generate the switch and
12078 call output_insn_code_cases.
12079 (output_internal_trans_func, output_internal_state_alts_func):
12080 Ditto.
12081 (generate): Call initiate_automata_lists.
12082 (automaton_states): New global variable.
12083 (expand_automata): Call form_important_insn_automata_lists.
12084 (write_automata): Call finish_automata_lists.
8998d5bf 12085
fae15c93
VM
12086 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
12087
12088 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 12089 cpu units in the sets belong the same automaton.
fae15c93
VM
12090
12091 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
12092 about that cpu units in the sets belong the same automaton.
12093
12094 * doc/md.texi: Ditto.
8998d5bf 12095
2799d721
VM
12096 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
12097 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 12098
fae15c93
VM
12099 * config/sh/sh.c (sh_use_dfa_interface): New function.
12100
12101 (sh_issue_rate): New Function.
12102 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
12103 TARGET_SCHED_ISSUE_RATE: define.
12104
12105 * config/sh/sh.md: Add DFA based pipeline description for SH4.
12106
8998d5bf
ZW
12107 (define_attr insn_class): New attribute used for DFA
12108 scheduling.
fae15c93
VM
12109 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
12110 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
12111 cmpeqdi_t): Likewise.
12112
12113 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 12114 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
12115 ex_group.
12116 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 12117
fae15c93
VM
12118 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
12119
12120 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
12121 break.
12122
12123 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
12124
12125 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
12126 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
12127 necessary.
12128 (output_dfa_start_func): Initiate new variable insn_codes_length,
12129 (write_automata): Output definition of the new variable.
8998d5bf 12130
fae15c93
VM
12131 2001-10-02 David S. Miller <davem@redhat.com>
12132
12133 * haifa-sched.c (advance_one_cycle): New function.
12134 (schedule_block): Use it.
12135 (queue_to_ready): Use it, and also make sure to advance the DFA
12136 state on all stall cycles, not just those where insn_queue links
12137 are found.
12138
12139 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
12140
12141 * haifa-sched.c (max_issue): Remove last_p argument. Only return
12142 non-zero if the highest-priority instruction could be scheduled.
12143 (choose_ready): Remove last argument from max_issue call.
12144
12145 2001-09-28 David S. Miller <davem@redhat.com>
12146
12147 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
12148 ultrasparc and 3 for other multi-issue sparcs.
12149
12150 2001-09-27 David S. Miller <davem@redhat.com>
12151
12152 * config/sparc/sparc.md (cycle_display): New pattern.
12153 * config/sparc/sparc.c (sparc_cycle_display): New.
12154 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
12155
12156 2001-09-25 David S. Miller <davem@redhat.com>
12157
12158 Convert all of Sparc scheduling to DFA
12159 * config/sparc/sparc.md: Kill all define_function_unit
12160 directives and replace with DFA equivalent.
12161 * config/sparc/sparc.c (ultrasparc_adjust_cost,
12162 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
12163 ultra_fpmode_conflict_exists, ultra_find_type,
12164 ultra_build_types_avail, ultra_flush_pipeline,
12165 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
12166 ultrasparc_variable_issue, ultrasparc_sched_init,
12167 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
12168 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
12169 ultra_cur_hist, ultra_cycles_elapsed): Kill.
12170 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
12171 ultrasparc_store_bypass_p): New.
12172 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
12173 Declare.
12174
12175 2001-09-24 David S. Miller <davem@redhat.com>
12176
12177 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
12178 ready->vec[foo] not ready[foo].
12179
12180 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
12181
12182 * doc/md.texi: Correct examples for define_insn_reservations
12183 `mult' and `div'.
12184
12185 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
12186
12187 * genautomata.c (create_automata): Print message about creation of
12188 each automaton.
12189 (generate): Remove printing meease about creation of
12190 automata.
12191
12192 2001-09-05 David S. Miller <davem@redhat.com>
12193
12194 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
12195 * config/sparc/linux64.h: Likewise.
12196
12197 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
12198
12199 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
12200 schedule_block, sched_init, sched_finish): Add missed calls of
12201 use_dfa_pipeline_interface.
12202
12203 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
12204 Ditto.
12205
12206 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 12207
fae15c93
VM
12208 2001-08-27 Richard Henderson <rth@redhat.com>
12209
12210 * genattr.c (main): Emit state_t even when not doing scheduling.
12211
12212 2001-08-27 Richard Henderson <rth@redhat.com>
12213
12214 * genautomata.c (expand_automata): Always create a description.
12215
12216 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
12217
8998d5bf 12218 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
12219 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
12220 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
12221 RTL constructions.
12222
12223 * genattr.c (main): New variable num_insn_reservations. Increase
12224 it if there is DEFINE_INSN_RESERVATION. Output automaton based
12225 pipeline hazard recognizer interface.
12226
12227 * genattrtab.h: New file.
12228
12229 * genattrtab.c: Include genattrtab.h.
12230 (attr_printf, check_attr_test, make_internal_attr,
12231 make_numeric_value): Move protypes into genattrtab.h. Define them
12232 as external.
12233 (num_dfa_decls): New global variable.
12234 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
12235 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
12236 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
12237 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
12238
12239 * genautomata.c: New file.
12240
12241 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
12242
8998d5bf 12243 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
12244 automaton pipeline interface.
12245 (haifa_insn_data): Add comments for members blockage and units.
12246
12247 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12248 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12249 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12250 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12251 TARGET_SCHED_DFA_POST_CYCLE_INSN,
12252 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12253 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
12254 macros.
12255 (TARGET_SCHED): Use the new macros.
12256
12257 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
12258 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
12259 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
12260 dfa_bubble): New members in gcc_target.sched.
12261
8998d5bf 12262 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
12263 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
12264 (insn_queue): Redefine it as pointer to array.
12265 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
12266 INSN_QUEUE_SIZE.
12267 (max_insn_queue_index_macro_value): New variable.
12268 (curr_state, dfa_state_size, ready_try): New varaibles for
12269 automaton interface.
12270 (ready_element, ready_remove, max_issue): New function prototypes
12271 for automaton interface.
12272 (choose_ready): New function prototype.
12273 (insn_unit, blockage_range): Add comments.
12274 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
12275 FUNCTION_UNITS_SIZE == 0.
12276 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
12277 actual_hazard, potential_hazard): Add comments.
12278 (insn_cost): Use cost -1 as undefined value. Remove
12279 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
12280 pipeline interface.
12281 (ready_element, ready_remove): New functions for automaton
12282 interface.
12283 (schedule_insn): Add new code for automaton pipeline interface.
12284 (queue_to_ready): Add new code for automaton pipeline interface.
12285 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
12286 (debug_ready_list): Print newline when the queue is empty.
12287 (max_issue): New function for automaton pipeline interface.
12288 (choose_ready): New function.
12289 (schedule_block): Add new code for automaton pipeline interface.
12290 Print ready list before scheduling each insn.
12291 (sched_init): Add new code for automaton pipeline interface.
12292 Initiate insn cost by -1.
12293 (sched_finish): Free the current automaton state and finalize
12294 automaton pipeline interface.
12295
12296 * sched-rgn.c: Include target.h.
12297 (init_ready_list, new_ready, debug_dependencies): Add new code for
12298 automaton pipeline interface.
12299
12300 * sched-vis.c: Include target.h.
12301 (get_visual_tbl_length): Add code for automaton interface.
12302 (target_units, print_block_visualization): Add comments.
12303
8998d5bf 12304 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
12305 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
12306 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
12307 (getruntime.o, genautomata.o): New entries.
12308 (genattrtab.o): Add new dependency file genattrtab.h.
12309 (genattrtab): Add new dependencies. Link it with `libm.a'.
12310 (getruntime.o, hashtab.o): New entries for canadian cross.
12311
12312 * doc/md.texi: Description of automaton based model.
12313
12314 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
12315 Add comments.
12316 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12317 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12318 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12319 TARGET_SCHED_DFA_POST_CYCLE_INSN,
12320 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12321 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12322 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
12323 hook descriptions.
12324 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
12325 MAX_DFA_ISSUE_RATE): New macro descriptions.
12326
12327 * doc/contrib.texi: Add dfa based scheduler contribution.
12328
12329 * doc/gcc.texi: Add more information about genattrtab.
12330
a2ff290c
RK
12331Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12332
12333 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
12334 adjust_address_nv call.
12335
f97903cc
JJ
123362002-04-29 Janis Johnson <janis187@us.ibm.com>
12337
12338 * doc/install.texi (Testing): Provide additional information, and
12339 a stronger encouragement, for running the testsuites.
12340
f41a6bf1
DD
123412002-04-29 DJ Delorie <dj@redhat.com>
12342
12343 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
12344 given in upper case.
12345
d8af0868
RO
123462002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12347
12348 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
12349 Solaris 2 <widec.h> if missing.
12350 * fixinc/fixincl.x: Regenerate.
12351 * fixinc/tests/base/widec.h: New file.
12352
1034407f
NC
123532002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
12354
12355 * toplev.c (f_options): Add "profile" switch so that
12356 -fno-profile can be used to disable -p.
12357
fbe5eb6d
BS
123582002-04-29 Bernd Schmidt <bernds@redhat.com>
12359
12360 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
12361 UV2DImode.
12362 * tree.c (build_common_tree_nodes_2): Likewise.
12363 * tree.h (enum tree_index): Likewise.
12364 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
12365
12366 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
12367 entries.
12368 (init_mmx_sse_builtins): Initialize SSE2 builtins.
12369 (ix86_expand_builtin): Add support for SSE2 builtins.
12370 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
12371 (VALID_SSE_REG_MODE): Use it.
12372 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
12373 (enum ix86_builtins): Add SSE2 builtins.
12374 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
12375 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
12376 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
12377 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
12378 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
12379 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
12380 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
12381 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
12382 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
12383 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
12384 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
12385 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
12386 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
12387 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
12388 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
12389 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
12390 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
12391 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
12392 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
12393 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
12394 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
12395 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
12396 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
12397 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
12398 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
12399 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
12400 lfence_insn): New patterns.
12401 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
12402 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
12403
44aefada
JH
12404Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
12405
12406 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
12407
d5482cdc
GP
124082002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12409
12410 * doc/contrib.texi (Contributors): Add Paolo Carlini and
12411 Janis Johnson.
12412 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
12413 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
12414 and CPU instead of cpu.
12415
2c4b77f3
JH
12416Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
12417
12418 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
12419 variables.
12420 (lang_independent_options): Add -fif-conversion, -fif-conversion2
12421 (rest_of_compilation): Do if conversion only when asked for.
12422 (parse_options_and_default_flags): Set new variables to 1 for -O1
12423 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
12424
3de72741
JH
12425Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
12426
12427 * i386.c (dbx64_register_map): Fix typo.
12428
8aa18a7d
JH
12429Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
12430
12431 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
12432 real_one_half, real_bb_freq_max): New static variables.
12433 (debug_profile_bbauxs): Kill.
12434 (process_note_predictions): Kill unused variable.
12435 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
12436 volatile double.
12437 (propagate_freq): Use REAL_ARITHMETICS.
12438 (estimate_bb_frequencies): Likevise; init new static variables.
12439 * Makefile.in (predict.o): Add dependency on real.h
12440
1bbad4c6
DM
124412002-04-28 David S. Miller <davem@redhat.com>
12442
12443 PR target/6500
12444 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
12445 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
12446 several {reads,writes} instead.
12447 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
12448 Define.
12449
3ef3f384
DM
124502002-04-27 David S. Miller <davem@redhat.com>
12451
12452 PR target/6494
12453 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
12454 of the stack bias.
12455
12456 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
12457 including signal.h and sys/ucontext.h, not needed.
12458
ec493bcb
HPN
124592002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
12460
12461 * varasm.c (output_constant_def): Correct test for not calling
12462 ENCODE_SECTION_INFO for INTEGER_CST.
12463
60284a59
NB
124642002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
12465
12466 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
12467 keep most cases as function eval_token.
12468 (eval_token): New function.
12469 (_cpp_parse_expr): Read token here for improved diagnostics.
12470 Don't use op_as_text. Detect bad ':' here.
12471 (reduce): Don't detect bad ':' here.
12472 (op_as_text): Remove.
12473 * cpphash.h (_cpp_test_assertion): Change prototype.
12474 * cpplib.c (_cpp_test_assertion): Change prototype.
12475
349a4b40
RH
124762002-04-28 Richard Henderson <rth@redhat.com>
12477
12478 PR c/5154
8998d5bf 12479 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
12480 (ggc_mark_rtx_children): New.
12481
7a03f82f
JJ
124822002-04-28 Jakub Jelinek <jakub@redhat.com>
12483
12484 PR target/6496
12485 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
12486 after call peepholes for UltraSPARC.
12487 (call + jump 64-bit peepholes): Remove.
12488
80103f96
FS
124892002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12490
12491 PR c/6497
12492 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
12493 result as temporary value.
12494
06990986
JJ
124952002-04-28 Jakub Jelinek <jakub@redhat.com>
12496
12497 PR c++/6396
12498 * toplev.c (rest_of_compilation): Only run regrename and copy
12499 propagation if optimizing.
12500
a20fd5ac
JJ
125012002-04-28 Jakub Jelinek <jakub@redhat.com>
12502
12503 PR optimization/6475
12504 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
12505 register of REGNO_DECL (i).
12506 * Makefile.in (reload1.o): Add $(TREE_H).
12507
87ed109f
NB
125082002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
12509
12510 * cppexp.c (lex): Update to use state.skip_eval.
12511 (struct op): Remove prio and flags members.
12512 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
12513 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
12514 (LEFT_ASSOC): New macro.
12515 (optab): New table of operator priorities and flags.
12516 (SHIFT): Update.
12517 (_cpp_parse_expr): Clean up logic. Return bool. Use a
12518 malloc-ed parser stack.
12519 (reduce): New; reduce the operator stack.
12520 (_cpp_expand_op_stack): Expand the operator stack as necessary.
12521 * cpphash.h (struct op): Predeclare.
12522 (struct cpp_reader): New members op_stack, op_limit.
12523 (struct lexer_state): New member skip_eval.
12524 (_cpp_parse_expr): Update.
12525 (_cpp_expand_op_stack): New.
12526 * cpplib.c (do_if): Update.
12527 * cppinit.c (cpp_create_reader): Create op stack.
12528 (cpp_destroy): And destroy it.
12529 * cpplib.h (CPP_LAST_CPP_OP): Correct.
12530 (TTYPE_TABLE): Correct.
12531
45806a3f
FS
125322002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12533
12534 PR c/6343
12535 * c-decl.c (duplicate_decls): Call merge_weak.
12536 * c-pragma.c (apply_pragma_weak): Warn about misuse.
12537 * output.h (merge_weak): Prototype merge_weak.
12538 * varasm.c (merge_weak): New function.
12539 (declare_weak): Make sure we don't give an error on VAR_DECLs.
12540 Mark RTL with SYMBOL_REF_WEAK.
12541
a6227154
KG
125422002-04-27 Kurt Garloff <garloff@suse.de>
12543
12544 * tree-inline.c (inlinable_function_p): Improve heuristics
12545 by using a smoother function to cut down allowable inlinable size.
12546 * param.def: Add parameters max-inline-insns-single,
12547 max-inline-slope, min-inline-insns that determine the exact
12548 shape of the above function.
12549 * param.h: Likewise.
12550
94a50397
RH
125512002-04-26 Richard Henderson <rth@redhat.com>
12552
12553 * c-parse.in (malloced_yyss, malloced_yyvs): New.
12554 (yyoverflow): Re-add. Set them.
12555 (free_parser_stacks): New.
12556 * c-common.h: Declare it.
12557 * c-lex.c (c_common_parse_file): Call it.
12558
9c0a0632
RH
125592002-04-26 Richard Henderson <rth@redhat.com>
12560
12561 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
12562 for fallthru search.
12563
b875d2ee
EC
125642002-04-26 Eric Christopher <echristo@redhat.com>
12565
12566 PR optimization/3700
12567 * config/mips/mips.c (mips_issue_rate): Define. New function.
12568 (TARGET_SCHED_ISSUE_RATE): Use.
12569
1db828df
DM
125702002-04-25 David S. Miller <davem@redhat.com>
12571
12572 PR target/6422
12573 * reorg.c (optimize_skip): Do not allow exception causing
12574 instructions to be considered for delay slots.
12575 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
12576 (relax_delay_slots): Do not try to consider exception causing
12577 instructions as redundant.
12578
ae5d234e
RH
125792002-04-26 Richard Henderson <rth@redhat.com>
12580
12581 PR c/5225
12582 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
12583
7d793e9b
MM
125842002-04-26 Mark Mitchell <mark@codesourcery.com>
12585
12586 PR bootstrap/6445
12587 * config/i386/i386.md (untyped_call): Return the value in a float
12588 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
12589 TARGET_80387.
12590
b13ab42c
AO
125912002-04-26 Alexandre Oliva <aoliva@redhat.com>
12592
12593 * tree.c (tree_int_cst_lt): Compare constants whose types differ
12594 in unsigned-ness correctly.
12595
5e56f909
JDA
125962002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
12597
12598 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
12599 portable runtime model.
12600
bde3c0c0
RH
126012002-04-26 Richard Henderson <rth@redhat.com>
12602
a6227154 12603 * c-parse.in (yyoverflow): Revert.
bde3c0c0 12604
5276df18
DE
126052002-04-26 David Edelsohn <edelsohn@gnu.org>
12606 Richard Henderson <rth@redhat.com>
12607
12608 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
12609 result as temporary value.
12610
b84a3874
RH
126112002-04-26 Richard Henderson <rth@redhat.com>
12612
12613 PR c/3581
12614 * c-common.c (fix_string_type): Split out of ...
12615 (combine_strings): ... here. Take a varray, not a tree list.
12616 (c_expand_builtin_printf): Use fix_string_type.
12617 * c-common.h: Update decls.
12618 * c-parse.in (string): Remove. Update all uses to use STRING
12619 instead, and not call combine_strings.
12620 (yylexstring): New.
12621 (_yylex): Use it.
12622 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
12623 (build_asm_stmt): Likewise.
12624 * objc/objc-act.c (my_build_string): Use fix_string_type.
12625 (build_objc_string_object): Build varray for combine_strings.
12626
d8ae8cd4
BT
126272002-04-26 Bo Thorsen <bo@suse.co.uk>
12628
12629 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
12630 x86-64.
12631
f8b954fc
NB
126322002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
12633
12634 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
12635 (HAVE_NO_R_OPERAND): Remove.
12636 (HAVE_VALUE): Remove.
12637 (op_to_prio): Update.
12638 (UNARY): Don't alter flags.
12639 (_cpp_parse_expr): want_value used to indicate whether
12640 a number or unary operator is expected next. Distinguish
12641 unary and binary +/-.
12642 (op_as_text): Update for unary operators.
12643
6052bef0
RH
126442002-04-25 Richard Henderson <rth@redhat.com>
12645
12646 PR c/2161
12647 * c-parse.in (yyoverflow): New.
12648
5c5b2283
RH
126492002-04-25 Richard Henderson <rth@redhat.com>
12650
12651 PR c/2098
12652 * c-common.c (shorten_compare): Simplfy conditions leading to
12653 the generation of a warning.
12654
28ce94d4
RH
126552002-04-25 Richard Henderson <rth@redhat.com>
12656
12657 PR c/2035
12658 * expmed.c (extract_bit_field): Fall through to generic code rather
12659 than aborting on subreg special case.
12660
6bfd0c63
DM
126612002-04-25 David S. Miller <davem@redhat.com>
12662
12663 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
12664 for DECL being NULL.
12665
7a430e3b
SC
126662002-04-25 Steve Christiansen <smc@us.ibm.com>
12667
12668 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
12669
45c42d7d
EB
126702002-04-25 Eric Botcazou <ebotcazou@multimania.com>
12671
12672 * c-decl.c (grokdeclarator): Remove outdated ??? note
12673 on invalid declaration of flexible array members.
12674
eb7715a4
RH
126752002-04-25 Richard Henderson <rth@redhat.com>
12676
12677 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
12678
cf5ee720
UW
126792002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
12680
12681 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
12682 needed by the compiler, even if they are used as global regs.
12683
d604bca3
MH
126842002-04-25 Matt Hiller <hiller@redhat.com>
12685
12686 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
12687 functions.
12688 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
12689 of the corresponding functions.
12690 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
12691 New prototypes.
b875d2ee 12692
d604bca3
MH
126932002-04-25 Matt Hiller <hiller@redhat.com>
12694
12695 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
12696
12697 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
12698 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
12699 registers, adjust comment accordingly.
12700 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
12701 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
12702 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
12703 for coprocessor registers.
12704 (ADDITIONAL_REGISTER_NAMES): Include
12705 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 12706
d604bca3
MH
12707 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
12708 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
12709 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
12710 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
12711 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
12712
12713 (mips_char_to_class): Adjust comment to include coprocessor
12714 constraint letters.
12715
12716 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
12717 New functions.
12718 (mips_reg_names, mips_regno_to_class): Include coprocessor
12719 information.
12720 (mips_sw_reg_names): Ditto, make non-static.
12721 (mips_move_1word): Handle moves to and from coprocessor registers.
12722 (mips_move_2words): Handle moves to and from coprocessor
12723 registers.
12724 (mips_class_max_nregs, mips_register_move_cost): Handle
12725 coprocessor register classes.
12726 (override_options): Initialize mips_char_to_class and
12727 mips_hard_regno_mode_ok properly for coprocessor registers.
12728
12729 * config/mips/mips.md (movdi_internal, movdi_internal2,
12730 movsi_internal1, movsi_internal2): Add constraint-sets for
12731 coprocessor registers.
12732 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
12733 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
12734 isn't mips.
12735 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
12736 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
12737 isn't mips.
12738 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
12739 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
12740 isn't mips.
12741 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
12742 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
12743 isn't mips.
b875d2ee 12744
d604bca3
MH
12745 * doc/tm.texi: Document feature.
12746
b9a26d09
NB
127472002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
12748
12749 * integrate.c (function_attribute_inlinable_p): Simplify.
12750 Check the table pointer is not NULL.
12751
ab5973b7
SB
127522002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
12753
12754 * doc/c-tree.texi: Fix typo in introduction.
12755
ff45c01e
NB
127562002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
12757
12758 * c-common.h (c_common_parse_file): Update.
12759 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
12760 * c-lex.c (YYDEBUG): Get from c-lex.h.
12761 (c_common_parse_file): Update.
12762 * c-lex.h (YYDEBUG, yydebug): New.
12763 * c-parse.in (YYDEBUG): Get from c-lex.h.
12764 (c_set_yydebug): Remove.
12765 * c-tree.h (c_set_yydebug): Remove.
12766 * langhooks-def.h (lhd_do_nothing_i): New.
12767 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
12768 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
12769 * langhooks.c (lhd_do_nothing_i): New.
12770 (lhd_set_yydebug): Remove.
12771 * langhooks.h (struct lang_hooks): Update.
12772 * toplev.c (set_yydebug): New.
12773 (compile_file): Update call to parse_file hook.
12774 (decode_d_option): Update.
12775objc:
12776 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
12777
fcae219a
R
12778Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
12779
12780 * loop.c (load_mems): Don't change the interface of called functions.
12781
12782 * calls.c (expand_call): Take current_function_pretend_args_size
12783 into account when setting argblock for sibcalls.
12784
d0fea45a
MH
127852002-04-24 Matt Hiller <hiller@redhat.com>
12786
12787 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
12788 * c-lex.c: Ditto.
12789
12790 * cpplex.c (skip_line_comment): Process comment one multibyte
12791 character at a time rather than one char at a time, if
12792 appropriate.
12793 (parse_string): Process string one multibyte character at a time
12794 rather than one char at a time, if appropriate.
12795 * c-lex.c (lex_string): Lex and copy multibyte strings
12796 appropriately.
12797 * cpplib.h (cppchar_t): Change to unsigned.
12798
2d1b5436
RH
127992002-04-24 Richard Henderson <rth@redhat.com>
12800
12801 PR c/3467
12802 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
12803 for c99.
12804
5e039e6b
R
12805Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
12806
12807 * sh.c (sh_va_arg): If argument was passed by reference,
12808 dereference the pointer.
309d8365
R
12809
12810 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
12811
12812 * sh.md (divsi3_i4_media): Use match_operand for input values
12813 rather than hard registers.
12814 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
12815 unnecessarily through hard registers. Keep copies of pseudo
12816 registers outside of the libcall sequence.
12817
12818 * sh.md (casesi_shift_media): Add modes.
b700634a
R
12819
12820 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
12821 values in memory.
12822
349ae713
NB
128232002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
12824
12825 * attribs.c (c_common_attribute_table): Move table and handlers
12826 to c-common.c.
12827 (format_attribute_table, lang_attribute_table,
12828 lang_attribute_common): Remove.
12829 (init_attributes): Replace NULL pointers with pointers to the
12830 empty table.
12831 (handle_packed_attribute, handle_nocommon_attribute,
12832 handle_common_attribute, handle_noreturn_attribute,
12833 handle_noinline_attribute, handle_always_inline_attribute,
12834 handle_used_attribute, handle_unused_attribute,
12835 handle_const_attribute, handle_transparent_union_attribute,
12836 handle_constructor_attribute, handle_destructor_attribute,
12837 handle_mode_attribute, handle_section_attribute,
12838 handle_aligned_attribute, handle_weak_attribute,
12839 handle_alias_attribute, handle_visibility_attribute,
12840 handle_no_instrument_function_attribute, handle_malloc_attribute,
12841 handle_no_limit_stack_attribute, handle_pure_attribute,
12842 handle_deprecated_attribute, handle_vector_size_attribute,
12843 vector_size_helper): Move to c-common.c.
12844 * c-common.c (c_common_attribute_table,
12845 handle_packed_attribute, handle_nocommon_attribute,
12846 handle_common_attribute, handle_noreturn_attribute,
12847 handle_noinline_attribute, handle_always_inline_attribute,
12848 handle_used_attribute, handle_unused_attribute,
12849 handle_const_attribute, handle_transparent_union_attribute,
12850 handle_constructor_attribute, handle_destructor_attribute,
12851 handle_mode_attribute, handle_section_attribute,
12852 handle_aligned_attribute, handle_weak_attribute,
12853 handle_alias_attribute, handle_visibility_attribute,
12854 handle_no_instrument_function_attribute, handle_malloc_attribute,
12855 handle_no_limit_stack_attribute, handle_pure_attribute,
12856 handle_deprecated_attribute, handle_vector_size_attribute,
12857 vector_size_helper): Move from attribs.c.
12858 * c-common.h (c_common_attribute_table,
12859 c_common_format_attribute_table): New.
12860 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
12861 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
12862 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
12863 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
12864 (LANG_HOOKS_INITIALIZER): Update.
12865 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
12866 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
12867 * target.h: Update comment.
12868 * tree.c (default_target_attribute_table): Remove.
12869 * tree.h (default_target_attribute_table, format_attribute_table,
12870 lang_attribute_table, lang_attribute_common): Remove.
12871objc:
12872 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
12873 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
12874
84f0ace0
JM
128752002-04-24 Jason Merrill <jason@redhat.com>
12876
12877 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
12878 * dwarf2out.c (dwarf_attr_name): Support it.
12879 (gen_array_type_die): Emit it.
12880 (lookup_type_die): No special handling for VECTOR_TYPE.
12881 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
12882
120eaf28
RH
128832002-04-24 Richard Henderson <rth@redhat.com>
12884
12885 * config/mips/mips.md (movdi_usd): Renumber.
12886
e732178c
DM
128872002-04-24 David S. Miller <davem@redhat.com>
12888
12889 PR target/6420
12890 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
12891 32-bit Sparc and current_function_returns_struct is true.
12892
e879eb2f
JH
12893Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
12894
12895 * loop.c (canonicalize_condition): Use gen_int_mode.
12896
4287a893
AH
128972002-04-24 Aldy Hernandez <aldyh@redhat.com>
12898
12899 * config/rs6000/altivec.h: Cleanup file. Add non individual
12900 variants.
12901 (vec_vaddubm): New.
12902 (vec_vadduhm): New.
12903 (vec_vadduwm): New.
12904 (vec_vaddfp): New.
12905 (vec_vaddcuw): New.
12906 (vec_vaddubs): New.
12907 (vec_vaddsbs): New.
12908 (vec_vadduhs): New.
12909 (vec_vadduws): New.
12910 (vec_vaddsws): New.
12911 (vec_vand): New.
12912 (vec_vandc): New.
12913 (vec_vavgub): New.
12914 (vec_vavgsb): New.
12915 (vec_vavguh): New.
12916 (vec_vavgsh): New.
12917 (vec_vavguw): New.
12918 (vec_vavgsw): New.
12919 (vec_vrfip): New.
12920 (vec_vcmpbfp): New.
12921 (vec_vcmpequb): New.
12922 (vec_vcmpequh): New.
12923 (vec_vcmpequw): New.
12924 (vec_vcmpeqfp): New.
12925 (vec_vcmpgefp): New.
12926 (vec_vcmpgtub): New.
12927 (vec_vcmpgtsb): New.
12928 (vec_vcmpgtuh): New.
12929 (vec_vcmpgtsh): New.
12930 (vec_vcmpgtuw): New.
12931 (vec_vcmpgtsw): New.
12932 (vec_vcmpgtfp): New.
12933 (vec_vcmpgefp): New.
12934 (vec_vcfux): New.
12935 (vec_vcfsx): New.
12936 (vec_vctsxs): New.
12937 (vec_vctuxs): New.
12938 (vec_vexptefp): New.
12939 (vec_vrfim): New.
12940 (vec_lvx): New.
12941 (vec_lvebx): New.
12942 (vec_lvehx): New.
12943 (vec_lde): Add vector float variant.
12944 (vec_lvewx): New.
12945 (vec_lvxl): New.
12946 (vec_vlogefp): New.
12947 (vec_vmaddfp): New.
12948 (vec_vmhaddshs): New.
12949 (vec_vmaxub): New.
12950 (vec_vmaxsb): New.
12951 (vec_vmaxuh): New.
12952 (vec_vmaxsh): New.
12953 (vec_vmaxuw): New.
12954 (vec_vmaxsw): New.
12955 (vec_vmaxsw): New.
12956 (vec_vmaxfp): New.
12957 (vec_vmrghb): New.
12958 (vec_vmrghh): New.
12959 (vec_vmrghw): New.
12960 (vec_vmrglb): New.
12961 (vec_vmrglh): New.
12962 (vec_vmrglw): New.
12963 (vec_vminub): New.
12964 (vec_vminsb): New.
12965 (vec_vminuh): New.
12966 (vec_vminsh): New.
12967 (vec_vminuw): New.
12968 (vec_vminsw): New.
12969 (vec_vminfp): New.
12970 (vec_vmladduhm): New.
12971 (vec_vmhraddshs): New.
12972 (vec_msumubm): New.
12973 (vec_vmsummbm): New.
12974 (vec_vmsumuhm): New.
12975 (vec_vmsumshm): New.
12976 (vec_vmsumuhs): New.
12977 (vec_vmsumshs): New.
12978 (vec_vmuleub): New.
12979 (vec_vmulesb): New.
12980 (vec_vmuleuh): New.
12981 (vec_vmulesh): New.
12982 (vec_vmuloub): New.
12983 (vec_mulosb): New.
12984 (vec_vmulouh): New.
12985 (vec_vmulosh): New.
12986 (vec_vnmsubfp): New.
12987 (vec_vnor): New.
12988 (vec_vor): New.
12989 (vec_vpkuhum): New.
12990 (vec_vpkuwum): New.
12991 (vec_vpkpx): New.
12992 (vec_vpkuhus): New.
12993 (vec_vpkshss): New.
12994 (vec_vpkuwus): New.
12995 (vec_vpkswss): New.
12996 (vec_vpkshus): New.
12997 (vec_vpkswus): New.
12998 (vec_vperm): New.
12999 (vec_vrefp): New.
13000 (vec_vrlb): New.
13001 (vec_vrlh): New.
13002 (vec_vrlw): New.
13003 (vec_vrfin): New.
13004 (vec_vrsqrtefp): New.
13005 (vec_vsel): New.
13006 (vec_vslb): New.
13007 (vec_vslh): New.
13008 (vec_vslw): New.
13009 (vec_vsldoi): New.
13010 (vec_vsl): New.
13011 (vec_vslo): New.
13012 (vec_vspltb): New.
13013 (vec_vsplth): New.
13014 (vec_vspltw): New.
13015 (vec_vspltisb): New.
13016 (vec_vspltish): New.
13017 (vec_vspltisw): New.
13018 (vec_vsrb): New.
13019 (vec_vsrh): New.
13020 (vec_vsrw): New.
13021 (vec_vsrab): New.
13022 (vec_vsrah): New.
13023 (vec_vsraw): New.
13024 (vec_vsr): New.
13025 (vec_vsro): New.
13026 (vec_stvx): New.
13027 (vec_stvebx): New.
13028 (vec_stvehx): New.
13029 (vec_stvewx): New.
13030 (vec_stvxl): New.
13031 (vec_vsububm): New.
13032 (vec_vsubuhm): New.
13033 (vec_vsubuwm): New.
13034 (vec_vsubfp): New.
13035 (vec_vsubcuw): New.
13036 (vec_vsububs): New.
13037 (vec_vsubsbs): New.
13038 (vec_vsubuhs): New.
13039 (vec_vsubshs): New.
13040 (vec_vsubuws): New.
13041 (vec_vsubsws): New.
13042 (vec_vsum4ubs): New.
13043 (vec_vsum4sbs): New.
13044 (vec_vsum4shs): New.
13045 (vec_vsum2sws): New.
13046 (vec_vsumsws): New.
13047 (vec_vrfiz): New.
13048 (vec_vupkhsb): New.
13049 (vec_vupkhpx): New.
13050 (vec_vupkhsh): New.
13051 (vec_vupklsb): New.
13052 (vec_vupklpx): New.
13053 (vec_vupklsh): New.
13054 (vec_vxor): New.
13055
cff27795
EB
130562002-04-23 Eric Botcazou <ebotcazou@multimania.com>
13057
13058 PR c/5430
13059 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
13060 added literals from substracted literals.
13061 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
13062 (fold) [associate]: Preserve MINUS_EXPR if needed.
13063
952bca84
ZW
130642002-04-23 Zack Weinberg <zack@codesourcery.com>
13065
13066 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
13067 are obsoleted.
13068
50cb2154
TT
130692002-04-23 Tom Tromey <tromey@redhat.com>
13070
13071 * gcc.c: Added --resource. For PR java/6314.
13072
271f61fb
DB
130732002-04-23 David O'Brien <obrien@FreeBSD.org>
13074
9566d1e9 13075 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
13076 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
13077 these libraries.
13078
bdabbc80
DB
130792002-04-23 David O'Brien <obrien@FreeBSD.org>
13080
13081 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
13082
74411039
JH
13083Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
13084
13085 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
13086 workaround.
13087 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
13088 (ix86_expand_clrstr): Fix typo.
13089 * loop.c (gen_load_of_final_value): New.
13090 (loop_givs_rescan, strength_reduce, check_dbra_loop):
13091 Use it.
13092
1a887f86
RS
130932002-04-23 Roger Sayle <roger@eyesopen.com>
13094
13095 * builtins.c (builtin_memset_gen_str): New function.
13096 (expand_builtin_memset): Optimize the case of constant length, but
13097 unknown value.
13098
8d3441e0
AH
130992002-04-23 Aldy Hernandez <aldyh@redhat.com>
13100
cff27795
EB
13101 * config/rs6000/altivec.h (vec_step): Remove extraneous
13102 parentheses.
13103 (vec_ctu): Cast return.
8d3441e0 13104
f6f315fe
AM
131052002-04-23 Alan Modra <amodra@bigpond.net.au>
13106
13107 PR target/6413
13108 * function.h: (struct function): Add profile_label_no field.
13109 (current_function_profile_label_no): Define.
13110 * function.c: (profile_label_no): New static var.
13111 (expand_function_start): Increment it, and copy to
13112 current_function_profile_label_no.
13113 * output.h (profile_label_no): Delete.
13114 * final.c (profile_label_no): Delete.
13115 (profile_function): Use current_function_profile_label_no.
13116 (final_end_function): Don't increment profile_label_no here.
13117 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
13118 profile_label_no with current_function_profile_label_no.
13119 * config/pa/pa.c (current_function_number): Delete.
13120 (pa_output_function_prologue): Don't output profile label here.
13121 (hppa_profile_hook): Use label_no param rather than
13122 current_function_number.
13123 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
13124 * config/pa/pa.h: .. here.
13125 (FUNCTION_PROFILER): Output profile label here.
13126
d239cdc0
EC
131272002-04-22 Eric Christopher <echristo@redhat.com>
13128
13129 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
13130 patch of 2002-04-09 due to binutils issues.
13131 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
13132
04428ad4
AH
131332002-04-22 Aldy Hernandez <aldyh@redhat.com>
13134
cff27795
EB
13135 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
13136 constraint to 'o' for m=r and r=m alternatives.
13137 ("*movv8hi_internal1"): Same.
13138 ("*movv16qi_internal1"): Same.
13139 ("*movv4sf_internal1"): Same.
04428ad4 13140
2adc7f12
JJ
131412002-04-22 Janis Johnson <janis187@us.ibm.com>
13142
13143 * rtl.h (RTX_FLAG): New macro.
13144 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
13145 * final.c (alter_subreg): Use macro to access rtx flag.
13146 * integrate.c (copy_rtx_and_substitute): Use new access macro.
13147 * print-rtl.c (print_rtx): Use new access macro.
13148
13149 * cse.c (insert): Check rtx code before accessing flag.
13150
13151 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
13152 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
13153 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
13154 convert_const_symbol_ref, make_canonical, make_alternative_compare,
13155 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
13156 simplify_test_exp, optimize_attrs, simplify_by_exploding,
13157 find_and_mark_used_attributes, unmark_used_attributes,
13158 add_values_to_cover, simplify_with_current_value,
13159 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
13160 copy_rtx_unchanging, main): Use new access macros.
13161
b7c89afe
TR
131622002-04-22 Tom Rix <trix@redhat.com>
13163
13164 * expmed.c (init_expmed): Generate shifted constant once.
13165
9340544b
ZW
131662002-04-22 Zack Weinberg <zack@codesourcery.com>
13167
13168 * c-lex.c (lex_charconst): Call convert to get constant in
13169 proper type; don't just smash the type field.
13170 Fixes PR c/6300.
13171
13172 * config.gcc: Add list of obsolete configurations. Disallow
13173 building these without --enable-obsolete.
13174 * doc/install.texi: Document --enable-obsolete and obsoletion
13175 policy. Mention obsoletion of individual targets in
13176 appropriate places.
13177
f942d7a5
RH
131782002-04-22 Richard Henderson <rth@redhat.com>
13179
13180 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
13181
131822002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
13183
13184 PR f/6138.
13185 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
13186 (walk_fixup_memory_subreg): Likewise.
13187 (fixup_var_refs_insn): Adjust accordingly.
13188 (fixup_var_refs_1): Likewise.
13189
232b0b45
UW
131902002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
13191
13192 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
13193 LIBPATH_ARCH64_SPEC): Define.
13194 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
13195 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
13196 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
13197 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
13198
1b61552b
JS
131992002-04-22 Joel Sherrill <joel@OARcorp.com>
13200
13201 * gthr-rtems.h: Correct prototypes to remove warnings.
13202
0fe854a7
RH
132032002-04-22 Richard Henderson <rth@redhat.com>
13204
13205 PR c/6344
13206 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
13207
13208 * gcse.c (free_insn_expr_list_list): New.
13209 (clear_modify_mem_tables): Use it. Fix bit set usage.
13210 (canon_list_insert): Use EXPR_LISTs for expressions.
13211 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
13212
af0d16cd
NB
132132002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
13214
13215 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
13216 file change and include code to _cpp_pop_buffer.
13217 * cpphash.h (struct pending_option): Predeclare.
13218 (struct cpp_reader): New member next_include_file.
13219 (_cpp_pop_file_buffer): Update.
13220 (_cpp_push_next_buffer): Update, rename.
13221 * cppinit.c (cpp_destroy): Free include chain and pending here.
13222 (cpp_finish_options): Simplify.
13223 (_cpp_push_next_buffer): Rename and clean up.
13224 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
13225 Clarify.
13226 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
13227
0d918572
AH
132282002-04-22 Aldy Hernandez <aldyh@redhat.com>
13229
0fe854a7
RH
13230 * config/rs6000/altivec.h (vec_xor): Add variant for both args
13231 being vector signed int.
13232 (vec_andc): Same.
13233 (vec_xor): Add variant for both args being vector signed char.
13234 Remove redundant variant.
13235 (vec_andc): Same.
0d918572 13236
77e2c290
DM
132372002-04-21 David S. Miller <davem@redhat.com>
13238
13239 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
13240 compare mode in output RTL.
13241
ee2ca2a2
DE
132422002-04-22 David Edelsohn <edelsohn@gnu.org>
13243
13244 * config/rs6000/rs6000.c (rs6000_override_options): Correct
13245 style and formatting of previous patch.
13246
894bdff6
AM
132472002-04-22 Alan Modra <amodra@bigpond.net.au>
13248
13249 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
13250 flag_pic for ABI_AIX.
13251
562a5c27
NB
132522002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
13253
13254 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
13255 * cppfiles.c (read_include_file): Similarly.
13256 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
13257 uxstrdup ustrchr, ufputs): Similarly.
13258 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
13259 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
13260 cpp_ideq, parse_identifier, parse_number): Similarly.
13261 * cpplib.c (struct directive, dequote_string, D, run_directive,
13262 cpp_push_buffer): Similarly.
13263 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
13264 _cpp_create_definition, check_trad_stringification,
13265 cpp_macro_definition): Similarly.
13266
9ac3b1be
NB
132672002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
13268
13269 * cppmacro.c (funlike_invocation_p): Don't step back
13270 over CPP_EOF.
13271
9dda4cc8
DE
132722002-04-21 David Edelsohn <edelsohn@gnu.org>
13273
13274 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
13275 labelno.
13276
20764052
JM
132772002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
13278
13279 * doc/invoke.texi: Remove Chill references.
13280 * doc/gcc.texi: Update last modified date.
13281
26b29884
KH
132822002-04-20 Kazu Hirata <kazu@hxi.com>
13283
13284 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
13285 push and pop. Replace add.l with add.w.
13286
59184677
TM
132872002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
13288
13289 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
13290 multiply instructions for H8/300H case.
13291
b1113e0a
TM
132922002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
13293
13294 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
13295 Bum three instructions from each routine.
13296
b03e38e1
NB
132972002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
13298
13299 * Makefile.in: Update.
13300 * decl.c (push_c_function_context, pop_c_function_context,
13301 mark_c_function_context): Rename for consistency.
13302 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
13303 * c-tree.h (push_c_function_context, pop_c_function_context,
13304 mark_c_function_context): Rename for consistency.
13305 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
13306 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
13307 * function.c (init_lang_status, save_lang_status,
13308 restore_lang_status, mark_lang_status, free_lang_status):
13309 Move to langhooks.h.
13310 (push_function_context_to, pop_function_context_from,
13311 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
13312 Update.
13313 * function.h (init_lang_status, save_lang_status,
13314 restore_lang_status, mark_lang_status, free_lang_status):
13315 Move to langhooks.h.
13316 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
13317 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
13318 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
13319 LANG_HOOKS_FUNCTION_INITIALIZER): New.
13320 (LANG_HOOKS_INITIALIZER): Update.
13321 (lhd_do_nothing_f): New.
13322 * langhooks.h (struct lang_hooks_for_functions): New.
13323 (struct lang_hooks): New hooks.
13324 * langhooks.c (lhd_do_nothing_f): New.
13325objc:
13326 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
13327 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
13328
db430d26
DM
133292002-04-19 David S. Miller <davem@redhat.com>
13330
13331 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
13332 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
13333
0f2a3457
JJ
133342002-04-19 Jakub Jelinek <jakub@redhat.com>
13335
13336 PR optimization/3756
13337 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
13338 x = ((int) y < 0) ? cst1 : cst2.
13339
ce5e43d0
JJ
133402002-04-19 Jakub Jelinek <jakub@redhat.com>
13341
13342 PR c/6358
13343 * function.c: Reapply patch for c/6358.
13344 (expand_function_end): Copy decl_rtl's mode, not
13345 current_function_return_rtx mode.
13346
133472002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
13348
13349 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
13350 targets.
13351
40e7f8ea
TT
133522002-04-19 Tom Tromey <tromey@redhat.com>
13353
13354 * doc/install.texi (Specific): Update status of Solaris 2.8.
13355 For PR libgcj/6158.
13356
62a12b27
AS
133572002-04-19 Andreas Schwab <schwab@suse.de>
13358
13359 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
13360 (PUT_REAL): Restore old definition.
13361
1405141b
DN
133622002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
13363 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13364
13365 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
13366 binutils 2.11.2 and higher generate smaller binaries than Sun's
13367 native tools.
13368
303a3927
MM
133692002-04-19 Mark Mitchell <mark@codesourcery.com>
13370
13371 PR c++/6352
13372 * toplev.c (rest_of_compilation): Do not defer functions for which
13373 TREE_SYMBOL_REFERENCED has already been set.
13374
de80110b
JH
13375Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
13376
13377 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
13378 alternative.
13379
ab393bf1
NB
133802002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
13381
13382 * builtins.c: Include langhooks.h.
13383 (lang_type_promotes_to): Remove.
13384 (expand_builtin_va_arg): Use new hook.
13385 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
13386 (simple_type_promotes_to): Move to c-typeck.c.
13387 * c-common.h (simple_type_promotes_to): Remove.
13388 * c-decl.c (duplicate_decls, grokdeclarator): Update.
13389 * c-format.c: Include langhooks.h.
13390 (check_format_types): Update.
13391 * c-tree.h (c_type_promotes_to): New.
13392 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
13393 (type_lists_compatible_p): Update.
13394 * langhooks-def.h (lhd_type_promotes_to): New.
13395 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
13396 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
13397 * langhooks.c (lhd_type_promotes_to): New.
13398 * langhooks.h (struct lang_hooks_for_types): New hook.
13399 * tree.h (lang_type_promotes_to): Remove.
13400objc:
13401 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
13402
0cd3301b
RH
134032002-04-18 Richard Henderson <rth@redhat.com>
13404
58533fa2 13405 * function.c: Revert patch for c/6358.
0cd3301b
RH
13406
134072002-04-18 Richard Henderson <rth@redhat.com>
13408
58533fa2
RH
13409 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
13410 blocks. Handle multiple references to the TRAP block. Handle
13411 non-adjacent THEN and OTHER blocks.
0cd3301b 13412
58533fa2
RH
134132002-04-18 Richard Henderson <rth@redhat.com>
13414
13415 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
13416 crash with no type for by-mode libcalls.
13417
13418 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 13419
57174693
BW
134202002-04-18 Bob Wilson <bob.wilson@acm.org>
13421
13422 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
13423 __xtensa_nonlocal_goto): Use a syscall instructions to flush
13424 the register windows.
13425
46468cd9
ZW
134262002-04-18 Zack Weinberg <zack@codesourcery.com>
13427
13428 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
13429 appropriate. Document need for extended precision even when
13430 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
13431 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
13432 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
13433 instead of relying on later syntax error when REAL_WIDTH > 5.
13434 * real.c: Define NE based only on whether or not we have a
13435 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
13436 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
13437 define GET_REAL and PUT_REAL as simple memcpy operations; no
13438 need to byteswap or round.
13439 Use #error instead of #ifdef-ing out the entire file, for
13440 prompt error detection.
13441
13442 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
13443
2f82dbf8
DM
134442002-04-18 David S. Miller <davem@redhat.com>
13445
13446 * config/sparc/sparc.h (BRANCH_COST): Define.
13447
13448 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
13449 does it.
13450
566576e7
HPN
134512002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
13452
13453 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
13454 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
13455 propagate_block calls after relaxation loop using new variable
13456 stabilized_prop_flags.
13457
51dcde6f
RH
134582002-04-18 Richard Henderson <rth@redhat.com>
13459
13460 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
13461 (ia64_va_arg): Expect variable sized types by reference.
13462 * config/ia64/ia64-protos.h: Update.
46468cd9 13463 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
13464 ia64_function_arg_pass_by_reference.
13465
26406018
RH
134662002-04-18 Richard Henderson <rth@redhat.com>
13467
46468cd9
ZW
13468 * ifcvt.c: Include except.h.
13469 (block_has_only_trap): Break out from find_cond_trap.
13470 (find_cond_trap): Use it. Always delete the trap block.
13471 (merge_if_block): Allow then block null. Be less simplistic about
13472 what insns can end a block.
13473 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 13474
26406018
RH
13475 * config/ia64/ia64.md (trap, conditional_trap): New.
13476
a3acf46d
JJ
134772002-04-18 Jakub Jelinek <jakub@redhat.com>
13478
13479 PR c/6358
13480 * function.c (assign_parms): Assign hard current_function_return_rtx
13481 register here...
13482 (expand_function_end): ...not here.
13483
7a228918
NB
134842002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
13485
13486 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
13487 * c-tree.h (c_incomplete_type_error): New.
13488 * c-typeck.c (require_complete_type, build_component_ref): Update.
13489 (incomplete_type_error): Rename.
13490 * langhooks-def.h (lhd_incomplete_type_error): New.
13491 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
13492 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
13493 * langhooks.c (lhd_incomplete_type_error): New.
13494 * langhooks.h (struct lang_hooks_for_types): New hook.
13495 * tree.c (size_in_bytes): Use new hook.
13496 * tree.h (incomplete_type_error): Remove.
13497objc:
13498 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
13499
f18664c1
ZW
135002002-04-18 Zack Weinberg <zack@codesourcery.com>
13501
13502 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
13503 TARGET_FLOAT_FORMAT blocks.
13504
8ecab453
GP
135052002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13506
13507 * doc/install.texi (Downloading the source): Do not mention Chill
13508 any longer, but mention Ada.
13509 (Configuration): Do not mention Chill any longer.
13510
528d8489
HPN
135112002-04-18 Hans-Peter Nilsson <hp@axis.com>
13512
13513 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
13514
91da27c5
JH
13515Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
13516
13517 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
13518 in last patch.
13519
a32db605
JJ
135202002-04-18 Jakub Jelinek <jakub@redhat.com>
13521
13522 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
13523 instead of unsigned_type.
13524
5a28d8cc
JH
13525Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
13526
13527 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
13528 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
13529 later.
13530
3d980b9f
BS
135312002-04-18 Bernd Schmidt <bernds@redhat.com>
13532
13533 * attribs.c (vector_type_node_list): New static variable.
13534 (handle_vector_size_attribute): Use it to avoid generating a
13535 new type node each time we are called.
13536
2e676d78
BS
13537 * combine.c (subst): Avoid trying to make a vector mode subreg of
13538 an integer constant.
13539 (gen_lowpart_for_combine): Likewise.
46468cd9 13540
58c2956c
RS
135412002-04-18 Roger Sayle <roger@eyesopen.com>
13542 Jakub Jelinek <jakub@redhat.com>
13543
13544 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
13545 for integer constant c (if x has unsigned type or sign bit is not
13546 set in c). This folds the zero/sign extension into the bit-wise and
13547 operation.
13548
692efa8e
JJ
135492002-04-18 Jakub Jelinek <jakub@redhat.com>
13550
13551 PR middle-end/6205
13552 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
13553 otherwise xorps.
13554
1372d4ce
NY
135552002-04-17 NIIBE Yutaka <gniibe@m17n.org>
13556
13557 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
13558
169ce44d
NC
135592002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
13560
13561 * gcc.c (read_specs): Detect and fail if an attempt is made to
13562 rename a spec string to an already existing string.
13563
b30d2115
UW
135642002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
13565
13566 * config/s390/s390.c (legitimize_pic_address): Do not generate
13567 illegal address constant without CONST.
13568
d6964c30
KG
135692002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13570
13571 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
13572 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
13573
7c82a1ed
UW
135742002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
13575
13576 PR optimization/6305
13577 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
13578 to make sure previous reloads are taken into account. Generate
13579 better code if one operand is an in-range immediate constant.
13580
58db9d1a
AH
135812002-04-16 Andrew Haley <aph@cambridge.redhat.com>
13582
13583 * doc/install.texi (Building): libgcj requires GNU make.
13584
2a732575
JJ
135852002-04-17 Jakub Jelinek <jakub@redhat.com>
13586
13587 PR bootstrap/6315
13588 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
13589 even if hard quad and register is not floating.
13590 (movtf reg<-mem split): Disallow splitting if hard quad and
13591 register is floating.
13592 (movtf mem<-reg split): Likewise.
13593 * config/sparc/sparc.c (fp_register_operand): New predicate.
13594 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
13595
75a65e46
ZW
135962002-04-17 Zack Weinberg <zack@codesourcery.com>
13597
13598 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
13599 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
13600 (unprotoize.o): Ditto. Build from protoize.c. Define
13601 UNPROTOIZE on command line.
13602 * protoize.c: Include cppdefault.h. Delete include_defaults.
13603 (in_system_include_dir): Use cpp_include_defaults (defined in
13604 cppdefault.o).
13605 * unprotoize.c: Delete file.
13606
650f0e97
AH
136072002-04-17 Aldy Hernandez <aldyh@redhat.com>
13608
46468cd9
ZW
13609 * config/rs6000/altivec.h (vec_ld): Add array variants.
13610 (vec_lde): Same.
13611 (vec_ldl): Same.
650f0e97 13612
71a0ab0c 136132002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 13614 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 13615
46468cd9
ZW
13616 * config/rs6000/altivec.h: Define __ALTIVEC__.
13617 (bool): New.
13618 (__pixel): New.
13619 (pixel): New.
13620 (vec_cfux): New.
13621 (vec_vmaddfp): New.
13622 (vec_vsldoi): New.
13623 Add parentheses to all macro arguments.
71a0ab0c 13624
ff2c46ac
RH
136252002-04-16 Richard Henderson <rth@redhat.com>
13626
13627 PR c++/6320
13628 * except.c (remove_eh_handler): Insert inner regions at beginning
13629 of sibling chain. Refactor expressions.
13630
f1ba94dd
RH
136312002-04-16 Richard Henderson <rth@redhat.com>
13632
f0871dfe
RH
13633 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
13634 * config/sparc/sol2-gas-bi.h: New file.
13635 * config.gcc (sparc*-solaris): Add it as needed.
13636 * configure.in (AS_SPARC64_FLAG): Remove check.
13637 * config.in, configure: Regenerate.
13638
13639 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
13640
136412002-04-16 Richard Henderson <rth@redhat.com>
13642
13643 * config/mips/mips.c (override_options): Don't override N32 for
13644 a 64-bit ISA.
409d3c60 13645
f1ba94dd
RH
13646 PR 6202
13647 * config/mips/mips.md (can_delay): Split out of existing define_delays.
13648 (HILO_delay): Set can_delay false.
13649
178c3eff
DJ
136502002-04-16 Dale Johannesen <dalej@apple.com>
13651
13652 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
13653 instruction addresses.
13654 (rs6000_output_function_epilogue): Likewise.
13655
7d6f6369
PC
136562002-04-16 Paolo Carlini <pcarlini@unitus.it>
13657
13658 * c-parse.in (poplevel, compstmt_start,
13659 compstmt_primary_start): Add ending ';', in accordance
13660 with POSIX.
13661
8947df0c
RH
136622002-04-16 Richard Henderson <rth@redhat.com>
13663
13664 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
13665 Adjust tm_file order to get TARGET_DEFAULT set properly.
13666 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
13667 * doc/install.texi (sparc-solaris): Update.
13668
3148ad6d
DJ
136692002-04-16 Dale Johannesen <dalej@apple.com>
13670
13671 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
13672 comparison operands do not match each other or if modes of
13673 conditions do not match result.
13674
014cb9b6 136752002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 13676
014cb9b6
HP
13677 PR target/6305
13678 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 13679 multiword register.
562a69be 13680
014cb9b6 136812002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 13682
8947df0c 13683 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 13684
a9772b60
JJ
136852002-04-16 Jakub Jelinek <jakub@redhat.com>
13686
13687 PR middle-end/6279
13688 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
13689
13690 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
13691
861829ed
RH
136922002-04-15 Richard Henderson <rth@redhat.com>
13693
13694 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
13695 call_really_used_regs too.
13696
bcf2fe9c
RH
136972002-04-15 Richard Henderson <rth@redhat.com>
13698
13699 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
13700
629111c7
DM
137012002-04-15 David S. Miller <davem@redhat.com>
13702
13703 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
13704 as being CLOBBERed.
13705
98ef3137
JJ
137062002-04-16 Jakub Jelinek <jakub@redhat.com>
13707
13708 PR c/6290
13709 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
13710 CONST_VECTOR is { 0, ... 0 }.
13711
0aa911c5
LR
137122002-04-15 Loren J. Rittle <ljrittle@acm.org>
13713
13714 * doc/install.texi (Installing GCC: Configuration): Clarify
13715 the only supported ways to configure gcc.
13716
83248d49 137172002-04-15 Roland McGrath <roland@frob.com>
46468cd9 13718
83248d49
RM
13719 * config.gcc (alpha*-*-gnu*): New target configuration.
13720 * config/alpha/gnu.h: New file for it.
13721 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
13722
b2123dc0
MM
137232002-04-16 Mark Mitchell <mark@codesourcery.com>
13724
13725 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
13726 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
13727 * tree.h (expand_start_stmt_expr): Update prototype.
13728 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
13729 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
13730 on the STMT_EXPR created for the inline function.
46468cd9 13731
8fe2d853
RH
137322002-04-15 Richard Henderson <rth@redhat.com>
13733
13734 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
13735 config/i386/linux-aout.h, config/i386/linux-oldld.h,
13736 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
13737 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
13738 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
13739 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
13740 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
13741 Define __gnu_linux__, not gnu_linux.
13742 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
13743
07cdae91
MM
137442002-04-15 Mark Mitchell <mark@codesourcery.com>
13745
13746 Remove Chill front end.
13747 * gcc.c (default_compilers): Remove Chill entries.
13748 * ch: Remove directory.
13749 * doc/frontends.texi: Remove information about Chill.
13750 * doc/sourcebuild.texi: Likewise.
13751 * doc/standards.texi: Likewise.
13752
41823c5e
DR
137532002-04-15 Douglas B Rupp <rupp@gnat.com>
13754
13755 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
13756 (LONGLONG_STANDALONE): Define.
13757
eb29ddb6
DM
137582002-04-15 David S. Miller <davem@redhat.com>
13759
13760 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
13761 Call emit_library_call with LCT_NORMAL.
13762 (sparc_initialize_trampoline): Use LCT_foo instead of
13763 magic constant in emit_library_call invocations.
13764 (sparc64_initialize_trampoline): Likewise.
13765 (sparc_profile_hook): Likewise.
13766 * config/sparc/sparc.md: Likewise.
13767
13768 * config/sparc/sparc.c (sparc_extra_constraint_check):
13769 Fix type of argument 'c'.
13770 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
13771 Likewise.
13772
bd6bec6b
GDR
137732002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
13774
13775 * diagnostic.h (output_buffer_state): Redefine.
13776 (output_format_decoder): New macro.
13777 (output_prefixing_rule): Likewise.
13778 (output_line_cutoff): Likewise.
13779 (diagnostic_format_decoder): Adjust.
13780 (diagnostic_prefixing_rule): Likewise.
13781 (diagnostic_line_cutoff): Likewise.
13782 (diagnostic_state): Likewise.
13783 (diagnostic_kind_count): Likewise.
13784 (diagnostic_buffer): Now a macro.
13785
13786 * diagnostic.c (diagnostic_buffer): Remove definition.
13787 (output_is_line_wrapping): Adjust.
13788 (set_real_maximum_length): Likewise.
13789 (output_set_maximum_length): Likewise.
13790 (init_output_buffer): Likewise.
13791 (lhd_print_error_function): Likewise.
13792 (output_do_verbatim): Likewise.
13793
ebef4e8c
NB
137942002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
13795
13796 * cpperror.c (print_location): Don't print include chain
13797 if line == 0.
13798 (cpp_begin_message): Update to use DL_ macros.
13799 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
13800 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
13801 cpp_notice, cpp_notice_from_errno): Remove.
13802 (cpp_error, cpp_error_with_line): Update to take a diagnostic
13803 level.
13804 (cpp_errno): New.
13805 * cppexp.c (CPP_ICE): Remove.
13806 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
13807 lex, integer_overflow, _cpp_parse_expr): Update.
13808 * cppfiles.c (read_include_file, find_include_file,
13809 handle_missing_header, _cpp_read_file, remap_filename): Update.
13810 * cpphash.h (enum error_type): Remove.
13811 (_cpp_begin_message): Update.
13812 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
13813 cpp_handle_option, cpp_post_options): Update.
13814 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
13815 skip_whitespace, parse_identifier, parse_slow, parse_string,
13816 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
13817 cpp_interpret_charconst): Update.
13818 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
13819 lex_macro_node, do_undef, glue_header_name, parse_include,
13820 do_include_common, read_flag, do_line, do_linemarker, do_ident,
13821 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
13822 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
13823 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
13824 _cpp_pop_buffer, do_diagnostic): Update.
13825 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
13826 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
13827 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
13828 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
13829 cpp_notice, cpp_notice_from_errno): Remove.
13830 (cpp_error, cpp_error_with_line): Update to take a diagnostic
13831 level.
13832 (cpp_errno): New.
13833 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
13834 collect_args, enter_macro_context, save_parameter, parse_params,
13835 _cpp_create_definition, check_trad_stringification,
13836 cpp_macro_definition): Update.
13837 * cppmain.c (cpp_preprocess_file): Update.
13838 * fix-header.c (read_scan_file): Update.
13839
c19a3859
AS
138402002-04-14 Andreas Schwab <schwab@suse.de>
13841
13842 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
13843
10fdbed6
JD
138442002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
13845
13846 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
13847
77660a9a
MM
138482002-04-13 Mark Mitchell <mark@codesourcery.com>
13849
13850 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
13851 not gnu_hurd.
13852
e0ff1ded
HPN
138532002-04-13 Hans-Peter Nilsson <hp@axis.com>
13854
13855 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
13856
2341c7ea
JS
138572002-04-13 Joel Sherrill <joel@OARcorp.com>
13858
13859 * config/sparc/t-elf: Enable v8 multilibs. Impacts
13860 sparc-elf and sparc-rtems targets.
13861
d29350c0
MM
138622002-04-13 Mark Mitchell <mark@codesourcery.com>
13863
13864 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
13865 defined, and __gnu_hurd__ wherever __GNU__ is defined.
13866 * arm/linux-elf.h: Likewise.
13867 * cris/aout.h: Likewise.
13868 * cris/linux.h: Likewise.
13869 * i370/linux.h: Likewise.
13870 * i386/gnu.h: Likewise.
13871 * i386/linux-aout.h: Likewise.
13872 * i386/linux-oldld.h: Likewise.
13873 * i386/linux.h: Likewise.
13874 * i386/linux64.h: Likewise.
13875 * ia64/linux.h: Likewise.
13876 * m68k/linux-aout.h: Likewise.
13877 * m68k/linux.h: Likewise.
13878 * mips/linux.h: Likewise.
13879 * pa/pa-linux.h: Likewise.
13880 * pj/linux.h: Likewise.
13881 * rs6000/sysv4.h: Likewise.
13882 * s390/linux.h: Likewise.
13883 * sh/linux.h: Likewise.
13884 * sparc/linux-aout.h: Likewise.
13885 * sparc/linux.h: Likewise.
13886 * sparc/linux64.h: Likewise.
13887 * xtensa/linux.h: Likewise.
13888
fc552851
RS
138892002-04-13 Richard Sandiford <rsandifo@redhat.com>
13890
13891 * stmt.c (check_unique_operand_names): Expect operand names to
13892 be strings rather than identifiers. Use simple_cst_equal to
13893 compare them.
13894 (resolve_operand_name_1): Make same identifier to string change here.
13895 * c-parse.in (asm_operand): Convert a named operand into a string.
13896 * cp/parse.y (asm_operand): Likewise.
13897
1d405c5e
AS
138982002-04-13 Andreas Schwab <schwab@suse.de>
13899
13900 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
13901
c740732f
MM
139022002-04-12 Mark Mitchell <mark@codesourcery.com>
13903
13904 Revert these changes:
13905
13906 2002-04-06 Mark Mitchell <mark@codesourcery.com>
13907
13908 PR c++/5571
13909 * stor-layout.c (layout_decl): Reset the RTL for the decl.
13910
3fc602a0
RH
139112002-04-12 Richard Henderson <rth@redhat.com>
13912
13913 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
13914 (sparc*-*-solaris): Clean up header files.
13915 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
13916 and plan on generating 64-bit code.
13917 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
13918 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
13919 * config/sparc/sol2-sld-64.h: Rename ...
13920 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
13921 for AS_SPARC64_FLAG not defined.
13922 * config/sparc/sol2-gld-bi.h: New.
13923 * config/sparc/sol2-sld.h: Remove.
13924 * config/sparc/sol26-sld.h: New.
13925 * config/sparc/sol2.h: Tidy comments.
13926 * doc/install.texi: Document sparc-solaris configury changes.
13927
2f15e255
RH
139282002-04-12 Richard Henderson <rth@redhat.com>
13929
13930 * recog.c (offsettable_address_p): Match the logic in adjust_address.
13931
13932 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
13933 in 64-bit mode only. Use only for 32-bit or MEDLOW.
13934
cc8475cb
RO
139352002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13936
13937 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
13938
6f133a4a
JL
13939Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
13940
ef1b8858 13941 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
13942 constrain_operands.
13943
1329e600
DR
139442002-04-12 Douglas B Rupp <rupp@gnat.com>
13945
13946 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
13947 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
13948 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 13949 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
13950 * config/i386/t-interix (USER_H): Remove.
13951
0339d239
DD
139522002-04-12 DJ Delorie <dj@redhat.com>
13953
13954 * integrate.c (compare_blocks): Make comparisons safe for when
13955 sizeof(int) < sizeof(char *).
13956 (find_block): Likewise.
13957
cc4d5fec
JH
139582002-04-12 Jan Hubicka <jh@suse.cz>
13959 David Edelsohn <edelsohn@gnu.org>
13960
13961 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
13962 registers.
13963 (symbol_ref_operand): New.
13964 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
13965 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
13966
93215a1b
AS
139672002-04-12 Andreas Schwab <schwab@suse.de>
13968
13969 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
13970 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
13971 overrides the definition in config/svr4.h.
46468cd9 13972
1d80248e
EN
139732002-04-12 Eric Norum <eric.norum@usask.ca>
13974
13975 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
13976 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
13977 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
13978 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
13979 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
13980 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
13981 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
13982 definitions to config/rtems.h and make the targets more similar.
13983
fa1591cb
RK
13984Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13985
fa06ab5c
RK
13986 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
13987 POINTERS_EXTEND_UNSIGNED.
13988 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
13989 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
13990
fa1591cb
RK
13991 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
13992 not specified.
13993
12e85a0e
R
13994Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
13995
13996 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
13997 depends on TARGET_SHMEDIA, not TARGET_SH5.
13998
1ab3e58a
HPN
139992002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
14000
14001 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
14002 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
14003
18778292
R
14004Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
14005
14006 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
14007 no r0 clobber.
14008
9002507c
AS
140092002-04-12 Andreas Schwab <schwab@suse.de>
14010
14011 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
14012
9be40833
RH
140132002-04-12 Richard Henderson <rth@redhat.com>
14014
14015 PR bootstrap/4191
14016 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
14017
14018 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
14019 modes spanning multiple hard regs.
46468cd9 14020
9be40833
RH
14021 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
14022
3d9268b6
JDA
140232002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
14024
14025 * pa.c (pa_output_function_prologue): Don't accumulate the total
14026 number of code bytes when using TARGET_64BIT, or gas, SOM and not
14027 the portable runtime.
14028 (output_deferred_plabels): Handle 64bit plabels.
14029 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
14030 generating pic code using the GAS assembler for object formats that
14031 are not SOM (ie., ELF32 and ELF64).
14032 (output_millicode_call): Check attribute type if attribute length is 28.
14033 Likewise use $PIC_pcrel$0. Only call get_attr_length and
14034 dbr_sequence_length once.
14035 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
14036 dbr_sequence_length once.
14037 * pa.h (TARGET_SOM): Define if not defined.
14038 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
14039 with GAS and not SOM.
14040 (jump, call_internal_reg, call_value_internal_reg): Likewise.
14041 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
14042
d360fd18
DB
140432002-04-11 David O'Brien <obrien@FreeBSD.org>
14044
14045 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
14046 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
14047 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
14048 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
14049 elfos.h and dbxelf.h values are fine now.
14050 * config/i386/freebsd.h, config/alpha/freebsd.h
14051 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
14052
5b8fcab6
DB
140532002-04-11 David O'Brien <obrien@FreeBSD.org>
14054
14055 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
14056 or set Acpu or Amachine. Reformat.
14057 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
14058 define.
14059 (LINK_SPEC): Do not need to undef.
14060 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
14061 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
14062 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
14063 define.
14064 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
14065 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
14066 (LINK_SPEC): Do not need to undef.
14067 (DONT_USE_BUILTIN_SETJMP): Do not define.
14068 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
14069 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
14070 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
14071 Remove trailing spaces.
14072 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
14073 __ELF__, or set Acpu or Amachine. Reformat.
14074 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
14075 define.
14076
fee42cc1
DB
140772002-04-11 David O'Brien <obrien@FreeBSD.org>
14078
14079 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
14080 all other *-*-freebsd* targets.
14081
77a403e4
RH
140822002-04-11 Richard Henderson <rth@redhat.com>
14083
14084 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
14085
cf0005c6
DB
140862002-04-11 David O'Brien <obrien@FreeBSD.org>
14087
14088 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
14089 Include {cpu}/{cpu}.h thru tm_file.
14090 (alpha*-*-linux*ecoff): Remove target.
14091 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
14092 (LINK_SPEC): Remove, is not OS independent.
14093 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
14094 (LINK_SPEC): Do not need to #undef any longer.
14095 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
14096 any longer.
14097 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
14098 __ELF__.
14099 (LINK_SPEC): Moved here from alpha/elf.h.
14100 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
14101 SUB_CPP_PREDEFINES.
14102 * config/alpha/linux-ecoff.h: Remove.
14103 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
14104 (CPP_SPEC): Define _POSIX_SOURCE as needed.
14105 (CPP_SUBTARGET_SPEC): Do not define.
14106 (LINK_SPEC): Do not need to #undef any longer.
14107 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
14108 * config/alpha/vms.h: Likewise.
14109
9be40833 141102002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
14111
14112 * doc/extend.texi: Remove old claim that typedefs cannot have
14113 an alignment attribute.
14114
010f87c4
JJ
141152002-04-11 Jakub Jelinek <jakub@redhat.com>
14116
14117 PR optimization/6177
14118 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
14119 bitpos is 0 and bitsize CONCAT size.
14120
578fc63d
JJ
141212002-04-11 Jakub Jelinek <jakub@redhat.com>
14122
14123 PR c/6223
14124 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
14125
bf9b85ce
DB
141262002-04-10 David O'Brien <obrien@FreeBSD.org>
14127
14128 * config/alpha/freebsd.h: Minor reformatting.
14129 (CPP_SPEC): Define ELF and add cpp_subtarget.
14130 (ASM_SPEC): No longer needed.
14131
7425707d
RH
141322002-04-11 Richard Henderson <rth@redhat.com>
14133
14134 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
14135 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
14136 (dimode mem/zero splitter): New.
14137
1a05e874
HPN
141382002-04-11 Hans-Peter Nilsson <hp@axis.com>
14139
14140 * config/cris/cris.c (cris_override_options): Tweak error message
14141 for PIC not implemented.
14142
14143 * config/cris/cris.h: Tweak comments related to parameter-passing.
14144
14145 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
14146
6f3d0447
RH
141472002-04-10 Richard Henderson <rth@redhat.com>
14148
14149 * except.c (add_ehl_entry): Allow duplicates after landing pad
14150 creation.
14151
174bf2b1
DE
141522002-04-10 David Edelsohn <edelsohn@gnu.org>
14153
14154 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
14155
03f10472
TM
141562002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
14157
14158 * c-decl.c (c_init_decl_processing): Move generation of
14159 decls for g77_integer_type_node and friends from here ...
14160 * c-common.c (c_common_nodes_and_builtins): ... to here.
14161
2f460a0a
UW
141622002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
14163
14164 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
14165 is only used as frame pointer when frame_pointer_needed is true.
14166
0be5cf85
RE
141672002-04-10 Richard Earnshaw <rearnsha@arm.com>
14168
14169 PR target/817
14170 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
14171 for the fact that the pool entry uses two words.
14172 (movdf_hard_insn): Similarly. Also, ADR instruction can span
14173 1k bytes.
14174 (movdf_soft_insn): Similarly.
14175 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
14176 for the fact that the pool entry uses three words.
14177
bf6d4777
RS
141782002-04-10 Richard Sandiford <rsandifo@redhat.com>
14179
14180 * config/mips/mips.c (mips_va_arg): When using the struct version
14181 of the EABI va_list, allow arguments in the register save area to
14182 take up less room than a stack argument.
14183
c2e9dc85
RH
141842002-04-10 Richard Henderson <rth@redhat.com>
14185
14186 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
14187 if EXPAND_INITIALIZER.
14188
bc8e8e97
RH
141892002-04-09 Richard Henderson <rth@redhat.com>
14190
14191 * config/alpha/alpha.md (movdi_er_maybe_g): New.
14192 * config/alpha/alpha.c (alpha_expand_mov): Use it.
14193
a6a063b8
AM
141942002-04-10 Alan Modra <amodra@bigpond.net.au>
14195
14196 PR optimization/6233
14197 * rtlanal.c (pure_call_p): New function.
14198 * rtl.h (pure_call_p): Declare.
14199 * loop.c (prescan_loop): Use it to set has_nonconst_call.
14200 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
14201
7b2e1077
EC
142022002-04-09 Eric Christopher <echristo@redhat.com>
14203
14204 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
14205 information to .comm directive.
14206
d8a50944
RH
142072002-04-09 Richard Henderson <rth@redhat.com>
14208
14209 PR c/5078
14210 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
14211
6a58eee9
RH
142122002-04-09 Richard Henderson <rth@redhat.com>
14213
14214 * basic-block.h (flow_delete_block_noexpunge): Declare.
14215 (expunge_block_nocompact): Declare.
14216 * cfg.c (expunge_block_nocompact): Split out from ...
14217 (expunge_block): ... here.
14218 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
14219 (flow_delete_block_noexpunge): Split out from ...
14220 (flow_delete_block): ... here.
14221 * cfgcleanup.c (delete_unreachable_blocks): Compact while
14222 removing dead blocks.
14223 * except.c (exception_handler_labels): Remove.
14224 (exception_handler_label_map): New.
14225 (struct eh_region): Add aka member.
14226 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
14227 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
14228 (for_each_eh_label, for_each_eh_label_1): New.
14229 (init_eh): Register exception_handler_label_map.
14230 (free_eh_status): Use free_region.
14231 (find_exception_handler_labels): Use the map, not the list.
14232 (remove_exception_handler_label): Likewise.
14233 (maybe_remove_eh_handler): Likewise.
14234 (remove_eh_handler): Use the region aka bitmap.
14235 * except.h (exception_handler_labels): Remove.
14236 (for_each_eh_label): Declare.
14237 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
14238 * loop.c (invalidate_loops_containing_label): New.
14239 (find_and_verify_loops): Use it. Use for_each_eh_label.
14240 * sched-rgn.c (is_cfg_nonregular): Use
14241 current_function_has_exception_handlers.
14242
b47374fa
RH
142432002-04-09 Richard Henderson <rth@redhat.com>
14244
14245 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
14246 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
14247 Do not return changed status.
14248 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
14249 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
14250 New functions that do return changed status.
14251 * sbitmap.h: Update decls.
14252 * gcse.c, lcm.c: Use _cg functions as needed.
14253
1951818c
R
14254Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
14255
14256 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
14257 (sh64-*-elf*, sh-*-rtemself*): Likewise.
14258 * config/sh/embed_bb.c: New file.
14259 * config/sh/embed-elf.h: New file.
14260 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
14261 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
14262 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
14263 __PTRDIFF_TYPE__ .
14264 (SUBTARGET_CPP_PTR_SPEC): Don't define.
14265 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
14266 Add subtarget_asm_endian_spec.
14267 (ASM_SPEC): Use subtarget_asm_endian_spec.
14268 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
14269 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
14270 (WCHAR_UNSIGNED): Define.
14271 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
14272 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
14273 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
14274 Fix value.
14275 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
14276 (sh_adjust_cost): Likewise.
14277 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
14278 __PTRDIFF_TYPE__ .
14279 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
14280 (WCHAR_TYPE_SIZE): Likewise.
14281 (ASM_SPEC): Use subtarget_asm_endian_spec.
14282 (SH_ELF_WCHAR_TYPE): #undef/ #define.
14283 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
14284 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
14285 (MAX_WCHAR_TYPE_SIZE): Don't #define .
14286 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
14287 (USER_LABEL_PREFIX): Don't #undef /#define .
14288 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
14289 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
14290 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
14291 (ASM_SPEC): Likewise.
14292 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
14293 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
14294 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
14295 (LIB2FUNCS_EXTRA): Define.
14296 * t-sh64 (LIB2FUNCS_EXTRA): Define.
14297 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
14298 (LIB1ASMFUNCS_CACHE): Define.
14299 (LIB2FUNCS_EXTRA): Redefine empty.
14300
34295799
RH
143012002-04-08 Richard Henderson <rth@redhat.com>
14302
14303 * reorg.c (get_branch_condition): Use reversed_comparison_code.
14304
e8766a39
SC
143052002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14306
14307 * config/m68hc11/larith.asm (__map_data_section): Fix condition
14308 and optimize for size.
14309 (__do_global_ctors): Fix pointer comparison.
14310 (__do_global_dtors): Likewise.
14311
f451b552
DM
143122002-04-09 David S. Miller <davem@redhat.com>
14313
14314 * config/sparc/sparc.c (sparc_extra_constraint_check): New
14315 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
14316 allow reloading pseudos.
14317 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
14318 * config/sparc/sparc-protos.h: Declare it.
14319
14320 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
14321 unsigned comparison warning.
14322 (output_restore_regs): Mark leaf_function as unused.
14323
1ce7f3c2
RK
14324Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14325
14326 * expr.c (is_aligning_offset): New function.
14327 (expand_expr, case COMPONENT_EXPR): Call it.
14328
7a31a340
DM
143292002-04-08 David S. Miller <davem@redhat.com>
14330
14331 PR target/6082
14332 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
14333
14334 Make init_priority work on Sparc when using GNU ld.
14335 * config/sparc/linux.h, config/sparc/linux64.h,
14336 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
14337 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
14338 * config/sparc/sol2-gld.h: New file to do the same.
14339 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
14340 sparc/sol2-gld.h to tm_file.
14341
14342 PR optimization/4328
14343 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
14344 * doc/md.texi: Document it.
14345 * config/sparc/sparc.md (movdi_insn_sp64_novis,
14346 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
14347 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
14348 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
14349 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
14350
11579f33
AJ
143512002-04-08 Andreas Jaeger <aj@suse.de>
14352
14353 * stmt.c (expand_asm_operands): Revert last patch from Richard
14354 Henderson.
14355
b57215d9
GP
143562002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14357
14358 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
14359 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
14360
143612002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14362
14363 * doc/contrib.texi (Contributors): Add David O'Brien.
14364
534d0cc0
AM
143652002-04-08 Alan Modra <amodra@bigpond.net.au>
14366
14367 * configure.in (auto-build.h): Use target_alias and build_alias
14368 when running configure.
14369 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
14370 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
14371 * configure: Regenerate.
14372
19fe522a
DM
143732002-04-07 David S. Miller <davem@redhat.com>
14374
14375 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
14376
bf2d0b8e
JDA
143772002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
14378
14379 PR 5933
14380 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
14381 generating 32-bit pic code.
14382
477cdac7
JT
143832002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
14384
14385 * cppinit.c (cpp_create_reader): Initialize
14386 discard_comments_in_macro_exp.
14387 (COMMAND_LINE_OPTIONS): Add "-CC" option.
14388 (cpp_handle_option): Handle "-CC" option.
14389 * cpplex.c (save_comment): If saving a C++ comment in
14390 a directive, convert it to a C comment.
14391 (_cpp_lex_direct): Pass second comment start character to
14392 save_comment to indicate comment type.
14393 * cpplib.c (_cpp_handle_directive): If processing
14394 a "#define" directive and discard_comments_in_macro_exp
14395 is false, re-enable saving of comments.
14396 (lex_macro_node): If discard_comments_in_macro_exp is false,
14397 discard any comments before the macro identifier.
14398 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
14399 member.
14400 * cppmacro.c (cpp_get_token): If expanding a macro while
14401 processing a directive, discard any comments we might encounter.
14402 (parse_params): If discard_comments_in_macro_exp is false,
14403 ignore comments in the macro parameter list.
14404 * gcc.c (cpp_unique_options): Add "-CC" option.
14405 (option_map): Map "--comments-in-macros" to "-CC".
14406 * doc/cppopts.texi: Document "-CC" option.
14407 * f/lang-specs.h: Add "-CC" option.
14408 * testsuite/gcc.dg/cpp/maccom1.c: New test.
14409 * testsuite/gcc.dg/cpp/maccom2.c: New test.
14410 * testsuite/gcc.dg/cpp/maccom3.c: New test.
14411 * testsuite/gcc.dg/cpp/maccom4.c: New test.
14412 * testsuite/gcc.dg/cpp/maccom5.c: New test.
14413 * testsuite/gcc.dg/cpp/maccom6.c: New test.
14414
f1526122
JDA
144152002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
14416
14417 PR middle-end/6180
14418 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
14419
b1896e61
MM
144202002-04-06 Mark Mitchell <mark@codesourcery.com>
14421
0154eaa8
MM
14422 PR c++/5571
14423 * stor-layout.c (layout_decl): Reset the RTL for the decl.
14424
b1896e61
MM
14425 PR opt/5120
14426 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
14427 RTX_UNCHANGING_P for the functions arguments when a tail call
14428 is made.
14429
b0148884
JM
144302002-04-06 Jason Merrill <jason@redhat.com>
14431
14432 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
14433 (parse_options_and_default_flags): Set them appropriately.
14434 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
14435
392fc5b0
HPN
144362002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
14437
14438 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
14439 here.
14440
14441 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
14442 semicolon.
14443
14444 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
14445 types come in by-reference. Fix typo in comment.
14446
2d69e3cb
DM
144472002-04-05 David S. Miller <davem@redhat.com>
14448
14449 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
14450 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
14451 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
14452 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
14453
144542002-04-05 David S. Miller <davem@redhat.com>
14455
14456 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
14457 are not going to emit return instructions, emit at least a nop
14458 for the sake of sane backtraces.
14459
5f9fb0e3
RH
144602002-04-05 Richard Henderson <rth@redhat.com>
14461
14462 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
14463
49f37a0d
JJ
144642002-04-05 Jakub Jeilnek <jakub@redhat.com>
14465
14466 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
14467
974a3101
AO
144682002-04-05 Alexandre Oliva <aoliva@redhat.com>
14469
14470 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
14471 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
14472 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
14473
2e04a694
AS
144742002-04-05 Andreas Schwab <schwab@suse.de>
14475
a40179bd 14476 * c-convert.c: Include c-common.h.
2e04a694
AS
14477 * Makefile.in (c-convert.o): Updated.
14478
1f785b7c
JJ
144792002-04-05 Jakub Jelinek <jakub@redhat.com>
14480
14481 * mklibgcc.in: Use separate libgcc.map for each multilib.
14482 * Makefile.in (distclean): Don't remove libgcc.map here.
14483
4d2fb38b
JJ
144842002-04-05 Jakub Jelinek <jakub@redhat.com>
14485
14486 * Makefile.in (s-mlib): Handle --disable-multilib by separate
14487 genmultilib invocation.
14488
bb63e5a0
RS
144892002-04-04 Richard Sandiford <rsandifo@redhat.com>
14490
14491 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
14492 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
14493 to num_gprs for symmetry.
14494 * config/mips/mips.c: Adjust accordingly.
14495
8ab80eaa
NB
144962002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
14497
14498 * c-common.c (truthvalue_conversion): Rename, update.
14499 * c-common.h (c_common_truthvalue_conversion): New.
14500 * c-convert.c (convert): Update.
14501 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
14502 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
14503 * c-typeck.c (build_binary_op, build_unary_op,
14504 build_conditional_expr): Update.
14505 * fold-const.c (constant_boolean_node, fold): Use langhook.
14506 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
14507 * langhooks.h (struct lang_hooks): New hook.
14508 * stmt.c (expand_decl_cleanup): Use langhook.
14509 * tree.h (truthvalue_conversion): Remove.
14510objc:
14511 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
14512
a2e9374a
AM
145132002-04-05 Alan Modra <amodra@bigpond.net.au>
14514
14515 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
14516 Add rules to make null object file.
14517
64d08263
JB
145182002-04-04 Jim Blandy <jimb@redhat.com>
14519
14520 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
14521 macro formal parameter names.
14522
aa7634dd
DM
145232002-04-04 David S. Miller <davem@redhat.com>
14524
14525 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
14526
ecc114f7
RH
145272002-04-04 Richard Henderson <rth@redhat.com>
14528
14529 PR middle-end/5099
14530 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
14531 Support copies into and out of memory. Don't accept allows_reg
14532 and allows_mem as gospel.
14533
c4484b8f
RH
145342002-04-04 Richard Henderson <rth@redhat.com>
14535
14536 PR opt/6165
14537 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
14538 (write_dependence_p): Likewise.
14539
39002160
RH
145402002-04-04 Richard Henderson <rth@redhat.com>
14541
14542 * predict.c (estimate_bb_frequencies): Do frequency calculation
14543 with a volatile temporary.
14544
f53ebe71
UW
145452002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
14546
14547 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
14548
15e0ecab
JJ
145492002-04-04 Jakub Jelinek <jakub@redhat.com>
14550
14551 PR c++/6119
14552 * final.c (final_start_function): Don't bump profile_label_no here...
14553 (final_end_function): ...but here.
14554
ffd386b0
JJ
145552002-04-04 Jakub Jelinek <jakub@redhat.com>
14556
14557 * config/sparc/sparc.md (pic): New attribute.
14558 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
14559 into stack slots.
14560 (split after do_builtin_setjmp_setup): New.
14561
8b156b3e
JJ
145622002-04-04 Jakub Jelinek <jakub@redhat.com>
14563
14564 PR fortran/6106
14565 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
14566 change.
14567
014c0998
JJ
145682002-04-04 Jakub Jelinek <jakub@redhat.com>
14569
14570 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
14571 UNITS_PER_WORD for zero sized aggregates.
14572
4d8611d9
DM
145732002-04-03 David S. Miller <davem@redhat.com>
14574
14575 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
14576 one-character spec for this, just use %(link_gcc_c_sequence).
14577
b03ad99d
DM
145782002-04-03 David S. Miller <davem@redhat.com>
14579
14580 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
14581 handling.
14582
823fbbce
JDA
145832002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
14584
14585 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
14586 (DWARF_FRAME_RETURN_COLUMN): Move.
14587 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14588 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
14589 * pa.c (except.h, predict.h): Include.
14590 (FRP): Delete.
14591 (store_reg_modify, set_reg_plus_d): Revise prototypes.
14592 (output_ascii): Add cast.
14593 (store_reg_modify): Revise to add frame notes.
14594 (set_reg_plus_d): Likewise.
14595 (compute_frame_size): Include space for eh data registers in frame if
14596 the current function calls eh_return.
14597 (hppa_expand_prologue): Ensure register %r2 is saved if the current
14598 function calls eh_return. Save eh data registers if the current
14599 function calls eh_return. Fix code to add frame notes. Emit
14600 blockage to prevent insns with frame notes being scheduled in the
14601 delay slot of calls.
14602 (hppa_expand_epilogue): Restore eh data registers and do final stack
14603 adjustment if the current function calls eh_return. Don't add frame
14604 notes.
14605 (output_call): Revise for change in length of call insn. Don't do
14606 return pointer adjustment for an unconditional jump in the delay slot
14607 of a call when using frame notes.
14608 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
14609 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
14610 (ARG_POINTER_CFA_OFFSET): Define.
14611 * pa.md (return_external_pic): New pattern.
14612 (prologue): Correct formatting. Use return_external_pic if current
14613 function calls eh_return.
14614 (call_internal_symref, call_value_internal_symref,
14615 sibcall_internal_symref, sibcall_value_internal_symref): Change default
14616 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
14617 respectively.
14618 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
14619
14620 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
14621 list of targets to check using "nop" insn.
14622 * configure: Rebuilt.
14623
4078e224
AM
146242002-04-04 Alan Modra <amodra@bigpond.net.au>
14625
14626 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
14627
bbd7687d
DM
146282002-04-03 David S. Miller <davem@redhat.com>
14629
14630 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
14631 library sequence passed to the linker.
14632 (LINK_COMMAND_SPEC): Use it.
14633 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
14634 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
14635 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
14636
659e5a7a
JM
146372002-04-03 Jason Merrill <jason@redhat.com>
14638
14639 * except.c (struct eh_status): Remove protect_list.
14640 (begin_protect_partials, end_protect_partials): Remove.
14641 (add_partial_entry): Remove.
14642 * except.h: Remove prototypes.
14643
14644 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
14645 expand_decl_cleanup_eh.
14646
14647 PR c++/5636
14648 * tree.h (CLEANUP_EH_ONLY): New macro.
14649 * stmt.c (expand_decl_cleanup_eh): New fn.
14650 (expand_cleanups): Check CLEANUP_EH_ONLY.
14651 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
14652 Use expand_decl_cleanup_eh.
14653 (expand_stmt): Adjust.
14654 * c-common.h: Adjust prototype.
14655
053d3344
HPN
146562002-04-04 Hans-Peter Nilsson <hp@axis.com>
14657
14658 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
14659 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
14660 (cris_target_asm_function_epilogue): Ditto.
14661 (cris_initial_frame_pointer_offset): Ditto.
14662 (cris_simple_epilogue): Ditto.
14663 (cris_expand_builtin_va_arg): Variable-size types come in
14664 by-reference.
14665
61ab5260
DM
146662002-04-03 David S. Miller <davem@redhat.com>
14667
14668 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
14669 little-endian.
14670 (set_fast_math): Correct 'fsr' type.
14671
ef4f94ac
RH
146722002-04-03 Richard Henderson <rth@redhat.com>
14673
36c2272c 14674 PR opt/3569
ef4f94ac
RH
14675 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
14676 * toplev.c (check_global_declarations): Use it.
14677 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
14678 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
14679 (LANG_HOOKS_DECLS): Add it.
14680 * langhooks.c (lhd_warn_unused_global_decl): New.
14681 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
14682 * c-objc-common.c (c_warn_unused_global_decl): New.
14683 * c-tree.h (c_warn_unused_global_decl): Declare.
14684 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
14685
599bba86
NB
146862002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
14687
14688 * langhooks-def.h (lhd_set_decl_assembler_name,
14689 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
14690 (LANG_HOOKS_INITIALIZER): Update.
14691 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
14692 * langhooks.h (struct lang_hooks): New hook.
14693 * tree.c (set_decl_assembler_name): Move to langhooks.c.
14694 (lang_set_decl_assembler_name): Remove.
14695 (init_obstacks): Don't set hook.
14696 (decl_assembler_name): New function.
14697 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
14698 (decl_assembler_name): New.
14699 (lang_set_decl_assembler_name): Remove.
14700
cf7b8b0d
JJ
147012002-04-03 Jakub Jelinek <jakub@redhat.com>
14702
14703 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
14704 works properly with .hidden symbols.
14705 * configure: Rebuilt.
14706 * config.in: Rebuilt.
14707 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
14708 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
14709 properly with .hidden symbols.
14710
faf6db38
JJ
147112002-04-03 Jakub Jelinek <jakub@redhat.com>
14712
14713 PR middle-end/6102
14714 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
14715 USE argument.
14716
68c17f30
RH
147172002-04-03 Richard Henderson <rth@redhat.com>
14718
14719 PR opt/4120
14720 * sched-rgn.c (sets_likely_spilled): New.
14721 (sets_likely_spilled_1): New.
14722 (add_branch_dependences): Use it.
14723
6584b4aa
RH
147242002-04-02 Richard Henderson <rth@redhat.com>
14725
14726 PR opt/4311
14727 * loop.h (LOOP_FIRST_PASS): New.
14728 * loop.c (strength_reduce): Mind it when deciding to unroll.
14729 * toplev.c (rest_of_compilation): Set it.
14730
0acf409f
DM
147312002-04-02 David S. Miller <davem@redhat.com>
14732
14733 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
14734 mems_ok_for_ldd_peep when the order of the loads being examined
14735 is reversed.
14736 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
14737 existing comment to increase comprehension of this situation.
14738
85654444
ZW
147392002-04-02 Zack Weinberg <zack@codesourcery.com>
14740
14741 * config/sh/sh.md: Don't use union real_extract.
14742
543828ca
RH
147432002-04-02 Richard Henderson <rth@redhat.com>
14744
14745 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
14746
39ed301b
DB
147472002-04-02 David O'Brien <obrien@FreeBSD.org>
14748
14749 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
14750 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
14751 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
14752 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
14753 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
14754 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
14755 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
14756 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
14757 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
14758 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
14759 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
14760 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
14761 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
14762 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
14763 Include as many configury headers via tm_file as possible. This
14764 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
14765 * config/openbsd-oldgas.h: New file.
14766 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
14767 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
14768 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
14769 config/i386/i386-coff.h, config/i386/i386-interix.h,
14770 config/i386/iscdbx.h, config/i386/linux-aout.h,
14771 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
14772 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
14773 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
14774 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
14775 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
14776 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
14777 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
14778 config/i386/vxi386.h: Do not directly include configury headers.
14779 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
14780 Directly include configury headers that are no longer automatically
14781 included by the above headers.
14782 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
14783 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
14784 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
14785 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
14786 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
14787 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
14788 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
14789 (TARGET_VERSION): Define.
14790 * config/i386/beos-elf.h, config/i386/freebsd.h,
14791 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
14792 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
14793 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
14794 config/i386/sco5.h, config/i386/sysv4.h
14795 (TARGET_VERSION): Do not need to protect.
14796 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
14797 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
14798 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
14799 config/i386/i386-interix.h, config/i386/linux-aout.h,
14800 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
14801 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
14802 (YES_UNDERSCORES): Do not define - not needed.
14803 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
14804 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
14805 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
14806 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
14807 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
14808 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
14809 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
14810 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
14811
9432c136
EB
148122002-04-02 Eric Botcazou <ebotcazou@multimania.com>
14813 Richard Henderson <rth@redhat.com>
14814
14815 PR c/5484
14816 * function.c (assign_temp): Accept either type or decl argument.
14817 Detect variables whose size is too large to fit into an integer.
14818 * stmt.c (expand_decl): Pass the decl, not the type.
14819
058b1275
DB
148202002-04-02 David O'Brien <obrien@FreeBSD.org>
14821
14822 * protoize.c: Match include directory usage with cppdefault.c.
14823
5add6d1a 148242002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 14825 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
14826
14827 * combine.c (simplify_comparison): Avoid narrowing a comparison
14828 with a paradoxical subreg when doing so would drop signficant bits.
14829
1e533e4b
SE
148302002-04-02 Steve Ellcey <sje@cup.hp.com>
14831
14832 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
14833 if POINTERS_EXTEND_UNSIGNED is defined.
14834
7a145e92
RH
148352002-04-02 Richard Henderson <rth@redhat.com>
14836
14837 PR opt/3967
14838 * local-alloc.c (contains_replace_regs): LO_SUM may contain
14839 replace regs.
14840
3a079822
RH
148412002-04-02 Richard Henderson <rth@redhat.com>
14842
14843 * doc/standards.texi: Document required freestanding libc entry points.
14844
c94ccb87
AM
148452002-04-02 Alan Modra <amodra@bigpond.net.au>
14846
14847 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
14848 associated splitter. Remove MQ constraint.
14849 (ctrdi_internal4): Correct CCmode clobber.
14850
fe660a1a
JDA
148512002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
14852
14853 * milli64.S ($$dyncall): New function.
14854 * t-linux (LIB1ASMFUNCS): Revise module list.
14855 (LIB1ASMSRC): Use pa/milli64.S.
14856
eadc0202
RH
148572002-04-02 Richard Henderson <rth@redhat.com>
14858
14859 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
14860 rename solaris_sys_varargs_h.
14861
a1471322
RK
14862Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14863
14864 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
14865 the same mode as its component.
14866
c8b94768
RH
148672002-04-02 Richard Henderson <rth@redhat.com>
14868
14869 PR opt/190
14870 * final.c (this_is_asm_operands): Export.
14871 * output.h (this_is_asm_operands): Declare.
14872 * config/i386/i386.c (print_operand): Error odd asm operands.
14873
161eb4fc
RH
148742002-04-02 Richard Henderson <rth@redhat.com>
14875
14876 PR opt/420
14877 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
14878
b88a94c6
RH
148792002-04-01 Richard Henderson <rth@redhat.com>
14880
14881 PR target/1538
14882 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
14883 * fixinc/fixincl.x: Rebuild.
14884
72e32876
RH
148852002-04-01 Richard Henderson <rth@redhat.com>
14886
14887 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
14888 (atomic_alloc, atomic_free): New.
14889 (SIZE, MASK_FOR, PTR_IN): New.
14890 (emergency_reg_state, emergency_reg_state_free): New.
14891 (emergency_labeled_state, emergency_labeled_state_free): New.
14892 (reg_state_alloced, labeled_state_alloced): New.
14893 (alloc_reg_state, free_reg_state): New.
14894 (alloc_label_state, free_label_state, free_label_states): New.
14895 (push, pop, dup_state_stack, free_state_stack): Use them.
14896 (desc_label_state): Likewise.
14897 (uw_frame_state_for): Free label states and state stack.
14898 (uw_update_reg_address): Eliminate warnings.
14899
84d76074
VM
149002002-04-01 Vladimir Makarov <vmakarov@redhat.com>
14901
14902 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 14903 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 14904
dffd7eb6
NB
149052002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
14906
14907 * c-decl.c (grokdeclarator): Update.
14908 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
14909 * c-tree.h (c_mark_addressable): New.
14910 * c-typeck.c (default_function_array_conversion, build_unary_op,
14911 build_array_ref, convert_for_assignment): Update.
14912 (mark_addressable): Rename.
14913 * calls.c (try_to_integrate, expand_call): Use langhook.
14914 * expr.c (expand_expr): Use langhook.
14915 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
14916 * langhooks.h (struct lang_hooks): New hook.
14917 * stmt.c (expand_asm_operands): Use langhook.
14918 * tree.h (mark_addressable): Remove.
14919objc:
14920 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
14921
544ef5b5
BW
149222002-04-01 Bob Wilson <bob.wilson@acm.org>
14923
9be40833
RH
14924 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
14925 in previous change.
544ef5b5 14926
bcf88f9b
BW
149272002-04-01 Bob Wilson <bob.wilson@acm.org>
14928
14929 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
14930 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
14931
ceef8ce4
NB
149322002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
14933
14934 * c-common.c (unsigned_conversion_warning, convert_and_check,
14935 unsigned_type, signed_type, shorten_compare,
14936 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
14937 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
14938 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
14939 New.
14940 * c-decl.c (grokdeclarator): Update.
14941 * c-format.c (check_format_types): Update.
14942 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
14943 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
14944 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
14945 * convert.c (convert_to_integer): Use new hooks.
14946 * expmed.c (make_tree): Use new hooks.
14947 * expr.c (store_expr): Use new hooks.
14948 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
14949 all_ones_mask_p, unextend, fold): Use new hooks.
14950 * langhooks.h (struct lang_hooks_for_types): New hooks.
14951 * tree.h (signed_or_unsigned_type, signed_type,
14952 unsigned_type): Remove.
14953objc:
14954 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
14955 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
14956
1d9ad0e0
RH
149572002-03-31 Richard Henderson <rth@redhat.com>
14958
14959 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
14960 (desc_frgr_mem): Fix reference to f16-f31.
14961
d544bc39
KG
149622002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14963
14964 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
14965 RTVEC_ELT): Const-ify.
d8750784
KG
14966 * varray.h (VARRAY_CHECK): Const-ify.
14967 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
14968 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 14969
b18101c7
NB
149702002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
14971
14972 * diagnostic.c: Include langhooks-def.h.
14973 * Makefile.in (diagnostic.o): Update.
14974
48a7a235
NB
149752002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
14976
14977 * c-common.c (c_unsafe_for_reeval): Rename.
14978 * c-common.h (c_unsafe_for_reeval): Rename.
14979 * c-decl.c (finish_incomplete_decl): Rename.
14980 (c_init_decl_processing): Don't set langhook.
14981 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
14982 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
14983 * c-objc-common.c (c_objc_common_init): Don't set langhook.
14984 * c-tree.h (finish_incomplete_decl): Rename.
14985 * langhooks-def.h (lhd_unsafe_for_reeval): New.
14986 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
14987 (LANG_HOOKS_INITIALIZER): Update.
14988 * langhooks.c (lhd_unsafe_For_reeval): New.
14989 * langhooks.h (struct langhooks): New hooks.
14990 * toplev.c (incomplete_decl_finalize_hook): Remove.
14991 (wrapup_global_declarations): Update.
14992 * tree.c (lang_unsafe_for_reeval): Remove.
14993 (unsafe_for_reeval): Update.
14994 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
14995 Remove.
14996objc:
14997 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
14998 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
14999
7cb32822
NB
150002002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
15001
15002 * diagnostic.c (print_error_function): Remove.
15003 (default_print_error_function): Rename.
15004 (report_error_function): Update.
15005 * diagnostic.h (print_error_function): Remove.
15006 (default_print_error_function): Remove.
15007 * langhooks-def.h (struct diagnostic_context): Predeclare.
15008 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
15009 (LANG_HOOKS_INITIALIZER): Update.
15010 * langhooks.h (struct diagnostic context): Predeclare.
15011 (struct lang_hooks): New hook.
15012
1db02437
FS
150132002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15014
15015 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
15016 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
15017 !flag_pic.
15018 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
15019 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
15020 of PIC_OFFSET_TABLE_REGNUM thruout.
15021 * config/rs6000/rs6000.md: Likewise.
15022 * config/rs6000/darwin.h: Likewise.
15023
3bf1e984
RK
15024Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15025
15026 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
15027 unsigned HOST_WIDE_INT, not unsigned int.
15028
0864c526
JJ
150292002-03-31 Jakub Jelinek <jakub@redhat.com>
15030
15031 PR middle-end/6096, middle-end/6098, middle-end/6099
15032 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
15033 CODE_LABELs.
15034 (fill_slots_from_thread): Likewise.
15035
105b2084
JJ
150362002-03-31 Jakub Jelinek <jakub@redhat.com>
15037
15038 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
15039 floating fields in float regs.
15040 (function_arg_record_value_2): Likewise.
15041
db08fddf
HPN
150422002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
15043
15044 * config/mmix/mmix.md (define_constants): Remove misleading
15045 FIXME. Add MMIX_fp_rO_OFFSET.
15046 ("nonlocal_goto_receiver"): Don't have stack-frame address of
15047 saved rO as part of the pattern. Remove FIXME.
15048 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
15049 here, at output-time.
15050
4f31cce8
JJ
150512002-03-31 Jakub Jelinek <jakub@redhat.com>
15052
15053 PR middle-end/6100
15054 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
15055 REG_BR_PRED.
15056 (output_v9branch): Likewise.
15057
ba2b7435
AO
150582002-03-31 Alexandre Oliva <aoliva@redhat.com>
15059
15060 * gcc.c: Revert previous patch for now.
15061 * config/i386/djgpp.h: Likewise.
15062
aa66aa5f 150632002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
15064
15065 * config/mmix/crti.asm (_init): Register _fini with atexit.
15066 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
15067
41ba8a20
RH
150682002-03-31 Richard Henderson <rth@redhat.com>
15069
15070 PR target/3997
15071 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
15072 (ASM_OUTPUT_DEF_FROM_DECLS): New.
15073
adc186ef
RH
150742002-03-31 Richard Henderson <rth@redhat.com>
15075
15076 * libgcc2.c (__bb_exit_func): Make static.
15077
9be40833 15078 * config/alpha/alpha.md (trap): New.
a7648399 15079
9602f5a0
RH
150802002-03-31 Richard Henderson <rth@redhat.com>
15081
15082 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
15083 promoted argument types; build trap.
15084 (expand_builtin_trap): New.
15085 (expand_builtin): Use it.
15086 * stmt.c (expand_nl_goto_receivers): Likewise.
15087 * expr.h (expand_builtin_trap): Declare.
15088 * libfuncs.h (LTI_abort, abort_libfunc): New.
15089 * optabs.c (init_optabs): Init abort_libfunc.
15090
1a0a7539
AO
150912002-03-31 Alexandre Oliva <aoliva@redhat.com>
15092
15093 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
15094 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 15095 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
15096 shared_name in the second copy.
15097 (init_spec): Test for duplicate
15098 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
15099
b5de1a27
DM
151002002-03-30 David S. Miller <davem@redhat.com>
15101
15102 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
15103 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
15104
78414d74 151052002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 15106 Richard Henderson <rth@redhat.com>
78414d74 15107
9be40833
RH
15108 * regmove.c (combine_stack_adjustments_for_block): Avoid
15109 emitting a stack adjustment of zero bytes. Let delete_insn
15110 update bb->head.
78414d74 15111
33074e5f
RH
151122002-03-30 Richard Henderson <rth@redhat.com>
15113
15114 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
15115 (sparc_emitting_epilogue): New.
15116 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
15117 * config/sparc/sparc-protos.h: Update.
15118 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
15119 (TARGET_SWITCHES): Update.
15120 * config/sparc/sparc.md (return): Remove.
15121 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
15122 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
15123 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
15124 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
15125 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
15126 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
15127 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
15128 Remove MASK_EPILOGUE.
15129 * doc/invoke.texi: Update.
15130
606cc056
DB
151312002-03-30 Daniel Berlin <dan@dberlin.org>
15132
15133 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
15134 CPP will start the file for us.
7b2e1077 15135
bdbe5b8d
RH
151362002-03-30 Richard Henderson <rth@redhat.com>
15137
15138 PR target/5446
15139 * config/ia64/ia64.c (group_barrier_needed_p): Special case
15140 prologue_allocate_stack.
15141 (ia64_single_set): Use insn codes for recognition of special
15142 cases, not rtl matching.
15143 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
15144
4ab95d82
JH
15145Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
15146
15147 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
15148
89a8b315
RH
151492002-03-30 Richard Henderson <rth@redhat.com>
15150
15151 PR target/6032
15152 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
15153 or -fomit-frame-pointer with profiling.
15154 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
15155 (FUNCTION_PROFILER): Do nothing.
15156 (PROFILE_HOOK): New.
15157 * config/sparc/sparc.c (sparc_override_options): Don't check
15158 code models for profiling.
15159 (sparc_function_profiler): Remove.
15160 (sparc_profile_hook): New.
15161 * config/sparc/sparc-protos.h: Update.
15162
30984c57
JJ
151632002-03-30 Jakub Jelinek <jakub@redhat.com>
15164
15165 PR optimization/6086
15166 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
15167 of SUBREG of volatile MEM or because the MEM was mode dependent,
15168 return CLOBBER instead of unmodified SUBREG.
15169
1540f9eb
JH
15170Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
15171
89a8b315
RH
15172 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
15173 when not optimizing.
1540f9eb
JH
15174
15175 * toplev.c (rest_of_compilation): Cann mark_constant_function
15176 only when optimizing.
15177
89a8b315
RH
15178 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
15179 are NULL.
1540f9eb
JH
15180
15181 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
15182 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
15183 (try_optimize_cfg): clear all AUX fields.
15184
15185 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
15186 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
15187 (ix86_address_cost): Be prepared for SUBREGed registers.
15188 (legitimate_address_p): Accept SUBREGed registers.
15189
70d95bac
RH
151902002-03-29 Richard Henderson <rth@redhat.com>
15191
15192 PR target/5672
15193 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
15194
d3294cd9
FS
151952002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15196
15197 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
15198 for aggregate and TFmode types.
15199
a106c875
HPN
152002002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
15201
15202 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
15203
7d7a5d6f
RH
152042002-03-29 Richard Henderson <rth@redhat.com>
15205
6e2d670b 15206 PR target/5886
7d7a5d6f
RH
15207 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
15208 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
15209
30c99a84
RH
152102002-03-29 Richard Henderson <rth@redhat.com>
15211
6e2d670b 15212 PR target/6041
30c99a84
RH
15213 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
15214 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
15215 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
15216 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
15217 conditional.
15218 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
15219
02a566dc
DJ
152202002-03-29 Dale Johannesen <dalej@apple.com>
15221
15222 * loop.c (combine_movables): Do allow combination of pseudos.
15223
bc3a44db
LR
152242002-03-29 Loren J. Rittle <ljrittle@acm.org>
15225
15226 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
15227 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
15228 No functional change except ...
15229 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
15230 * doc/install.texi (*-*-freebsd*): Document port configuration.
15231
b0c48229
NB
152322002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
15233
15234 * Makefile.in (convert.o, calls.o, expmed.o): Update.
15235 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
15236 Use new hooks.
15237 * builtin-types.def (BT_PTRMODE): Update.
15238 * c-common.c (type_for_size): Rename c_common_type_for_size.
15239 (type_for_mode): Similarly.
15240 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
15241 Use new hook.
15242 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
15243 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
15244 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
15245 Redefine.
15246 * c-typeck.c (common_type, comptypes, default_conversion):
15247 Use new hooks.
15248 * calls.c: Include langhooks.h.
15249 (emit_library_call_value_1): Use new hooks. Avoid redundant
15250 calls.
15251 * convert.c: Include langhooks.h
15252 (convert_to_pointer, convert_to_integer): Use new hooks.
15253 * except.c (init_eh): Similarly.
15254 * expmed.c: Include langhooks.h.
15255 (expand_mult_add): Use new hooks.
15256 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
15257 try_casesi): Similarly.
15258 * fold-const.c (optimize_bit_field_compare, make_range,
15259 decode_field_reference, fold_truthop, fold): Similarly.
15260 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
15261 put_var_into_stack): Similarly.
15262 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
15263 LANG_HOOKS_TYPE_FOR_SIZE): New.
15264 (LANG_HOOKS_TYPES_INITIALIZER): Update.
15265 * langhooks.h (lang_hooks_for_types): New hooks.
15266 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
15267 * tree.c (get_unwidened, get_narrower): Similarly.
15268 * tree.h (type_for_mode, type_for_size): Remove.
15269 * varasm.c (force_const_mem): Use new hooks.
15270 * utils2.c (nonbinary_modular_operation): Update.
15271objc:
15272 * objc-act.c (handle_impent): Update.
15273 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
15274 Redefine.
15275
e206a74f
SE
152762002-03-29 Steve Ellcey <sje@cup.hp.com>
15277
15278 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
15279 * config/ia64/ia64.c (basereg_operand): New.
15280 * config/ia64/ia64-protos.h (basereg_operand): Declare.
15281 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
15282
7d9b6378
HPN
152832002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
15284
15285 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
15286 unwind information when frame_pointer_needed.
15287 (mmix_assemble_integer): Tweak wording in comment.
15288
f1e639b1
NB
152892002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
15290
15291 * Makefile.in (except.o): Update.
15292 * except.c: Include langhooks.h.
15293 (init_eh): Use langhook.
15294 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
15295 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
15296 (LANG_HOOKS_INITIALIZER): Update.
15297 * langhooks.h (lang_hooks_for_types): New.
15298 (struct lang_hooks): Add it.
15299 * tree.c (make_lang_type_fn, make_lang_type): Remove.
15300 * tree.h (make_lang_type_fn, make_lang_type): Remove.
15301config:
15302 * alpha/alpha.c: Include langhooks.h.
15303 (alpha_build_va_list): Use langhook.
15304 * d30v/d30v.c: Include langhooks.h.
15305 (d30v_build_va_list): Use langhook.
15306 * i386/i386.c: Include langhooks.h.
15307 (ix86_build_va_list): Use langhook.
15308 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
15309 * s390/s390.c: Include langhooks.h.
15310 (s390_build_va_list): Use langhook.
15311 * stormy16/stormy16.c: Include langhooks.h.
15312 (stormy16_build_va_list): Use langhook.
15313
f17f9332
JJ
153142002-03-29 Jakub Jelinek <jakub@redhat.com>
15315
15316 PR c++/5964
15317 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
15318 attributes.
15319 (length): Compute variable length for branches/calls/jumps here.
15320 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
15321 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
15322 define branch_type attribute.
15323 (divsi3_sp32): Maximum length is 6 not 7.
15324 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
15325 call_address_untyped_struct_value_sp32,
15326 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
15327 * config/sparc/sparc.c (empty_delay_slot): New function.
15328 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
15329 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
15330
0a0440c9
JJ
153312002-03-29 Jakub Jelinek <jakub@redhat.com>
15332
15333 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
15334 nonzero_bits if not needed.
15335 (nonzero_bits) [XOR]: Likewise.
15336 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
15337 reg_last_set_mode and mode are both MODE_INT, but not equal.
15338 (record_value_for_reg): Compute reg_last_set_nonzero_bits
15339 in nonzero_bits_mode for MODE_INT modes.
15340
c9045f47
RH
153412002-03-28 Richard Henderson <rth@redhat.com>
15342
15343 PR target/5715
15344 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
15345 to GAS. Correct drift between alternatives.
15346
f8ed1958
RH
153472002-03-28 Richard Henderson <rth@redhat.com>
15348
15349 PR target/6087
15350 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
15351
54e20385
LR
153522002-03-28 Alexandre Oliva <aoliva@redhat.com>
15353
15354 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
15355 emulation to the linker.
15356
153572002-03-28 Loren J. Rittle <ljrittle@acm.org>
15358
15359 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
15360 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
15361
8bc52806
JL
15362Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
15363
15364 * combine.c (simplify_and_const_int): Make sure to apply mask
15365 when force_to_mode returns a constant integer. PR3311.
15366
279dccc5
JDA
153672002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
15368
15369 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
15370
62aaa62c
GP
153712002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15372
15373 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
15374 and Objective-C Dialect Options.
15375
b8de5050
RH
153762002-03-28 Richard Henderson <rth@redhat.com>
15377
15378 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
15379 comparison should be done vs !=0 not >0 return code. Tidy cases.
15380
619708cc
RH
153812002-03-28 Richard Henderson <rth@redhat.com>
15382
15383 * c-decl.c (finish_function): New arg can_defer_p. Pass it
15384 on to c_expand_body.
15385 * c-tree.h (finish_function): Update decl.
15386 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
15387
b1d874d7
JH
15388Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
15389
15390 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
15391
f5eb5fd0
JH
15392Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
15393
15394 * rtlanal.c: Include flags.h
15395 (may_trap_p): Do not mark FP operations if trapping
15396 if !flag_trapping_math
15397 * Makefile.in (rtlanal.o): Add dependency on flag.h
15398 * ifcvt.c (noce_operand_ok): Avoid the lameness.
15399
81b4c798
ZW
154002002-03-27 Zack Weinberg <zack@codesourcery.com>
15401
15402 * mips.md: Use dconst1, not 1.0, as first argument of
15403 REAL_VALUE_LDEXP. Don't use union real_extract.
15404
55a2ea2a
AM
154052002-03-28 Alan Modra <amodra@bigpond.net.au>
15406
15407 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
15408 rather than $target. Heed program_prefix and
15409 program_transform_name. Search for gas in cross-compiler case too.
15410 "test -x" rather than "test -f".
15411 (gcc_cv_ld): Likewise.
15412 (gcc_cv_nm): Heed program_prefix and program_transform_name.
15413 (gcc_cv_objdump): Likewise.
15414 * configure: Regenerate.
15415
7ffb4fd2
NB
154162002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
15417
15418 * Makefile.in (attribs.o): Update.
15419 * attribs.c: Include langhooks.h.
15420 (decl_attributes): Use langhook.
15421 * c-decl.c (insert_default_attributes): Rename.
15422 * c-tree.h (c_insert_default_attributes): New.
15423 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
15424 (LANG_HOOKS_INITIALIZER): Update.
15425 * langhooks.h (struct lang_hooks): New hook.
15426 * tree.h (insert_default_attributes): Remove.
15427objc:
15428 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
15429
e4dbaed5
AS
154302002-03-27 Andreas Schwab <schwab@suse.de>
15431
15432 * config/i386/i386.c (classify_argument): Also check for
15433 QUAL_UNION_TYPE.
15434
18b467f1
RO
154352002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15436
15437 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
15438 any more.
15439
d337d653
JH
15440Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
15441
15442 * i960.md (ret): Set PC.
15443 (nonlocal_goto): Fix expander.
15444 * builtins.c (epxand_builin_longjmp): Check that we've emitted
15445 some jump or call.
15446
218aa620
JH
15447Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
15448
15449 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
15450 of libcall regions.
15451
e27a4eaf
ZD
15452Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15453
15454 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
15455 assigning to BLOCK_FOR_INSN directly.
15456
8a12f34c
JH
15457Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
15458
15459 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
15460
c9d892a8
NB
154612002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
15462
15463 * c-common.c (c_expand_expr): Fix prototype.
15464 * c-common.h (c_expand_expr): Always declare, update.
15465 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
15466 * c-objc-common.c (c_objc_common_init): No global hook.
15467 * expr.c (expand_expr): Use langhook.
15468 * expr.h (enum expand_modifier): Conditionally declare.
15469 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
15470 (LANG_HOOKS_INITIALIZER): Update.
15471 * langhooks.c (lhd_expand_expr): New.
15472 * langhooks.h (struct lang_hooks): New hook.
15473 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
15474 (lang_independent_init): Don't default hook.
15475objc:
15476 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
15477
6dad5a56
RH
154782002-03-27 Richard Henderson <rth@redhat.com>
15479
15480 PR target/6054
15481 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
15482 TARGET_CONST_GP. Simplify conditions.
15483
59f96879
RH
154842002-03-27 Richard Henderson <rth@redhat.com>
15485
15486 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
15487 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
15488 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
15489
f3f1190d
DS
154902002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
15491
15492 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
15493 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
15494 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
15495 Remove unnecessary masks.
15496 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
15497 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
15498 -mwindows, -mdll switches and their negations.
15499
31c816cf
NB
155002002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
15501
15502 * gcc-common.c (lang_mark_false_label_stack): Remove.
15503 * ggc.h (lang_mark_false_label_stack): Similarly.
15504
7b2e1077 155052002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
15506
15507 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
15508
15509 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
15510 or __rtems_ is defined.
15511
1ef9531b
RH
155122002-03-26 Richard Henderson <rth@redhat.com>
15513
15514 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
15515 if a non-trivial load was emitted.
15516 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
15517 in high+extra+low case.
15518
300d4093
RH
155192002-03-26 Richard Henderson <rth@redhat.com>
15520
15521 * config.gcc (sparc*-solaris): Use float_format=sparc.
15522
b3689904
RH
155232002-03-26 Richard Henderson <rth@redhat.com>
15524
15525 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
15526 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
15527 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
15528 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
15529 (WINT_TYPE_SIZE): Fix at 32.
15530
1eefb6c1
RH
155312002-03-26 Richard Henderson <rth@redhat.com>
15532
15533 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
15534 until after eh landing pad generation.
15535 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
15536 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
15537
361ea006
RH
155382002-03-26 Richard Henderson <rth@redhat.com>
15539
15540 * expr.h (ADD_PARM_SIZE): One more convert for INC.
15541
1de38a88
PE
155422002-03-26 Phil Edwards <pme@gcc.gnu.org>
15543
15544 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
15545 and warning switches.
15546 (cc1_options): Likewise.
15547
d7e60e95 155482002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 15549
d7e60e95
HB
15550 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
15551 Restore more of the signal context. Set no_reg_stack_frame.
15552 * config/ia64/unwind-ia64.c (unw_state_record):
15553 Add no_reg_stack_frame, comments.
15554 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
15555 (uw_update_context): Adjust bsp when unwinding from leaf,
15556 but not signal frame.
15557
7032923b
DE
155582002-03-26 David Edelsohn <edelsohn@gnu.org>
15559
15560 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
15561
8be56275
BW
155622002-03-26 Bob Wilson <bob.wilson@acm.org>
15563
15564 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
15565
56fbb855
RE
155662002-03-26 Richard Earnshaw <rearnsha@arm.com>
15567
15568 PR target/5621
15569 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
15570 "Add a pool_range attribute", which was lost during the ARM/Thumb
15571 merge.
15572
3437320b
BW
155732002-03-26 Bob Wilson <bob.wilson@acm.org>
15574
15575 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
15576 a register into the MAC16 accumulator.
15577
173028e5
AC
155782002-03-26 Andrew Cagney <ac131313@redhat.com>
15579
15580 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
15581 (Warning Options): Document -Wswitch-enum.
15582 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
15583 -Wswitch.
15584 (warn_switch_enum): Define variables.
15585 * flags.h (warn_switch_enum): Declare variables.
15586 * stmt.c (expand_end_case_type): When warn_switch_enum /
15587 -Wswitch-enum, perform switch checks.
15588 Fix PR c/5044.
7b2e1077 15589
e14365a7
RE
155902002-03-26 Richard Earnshaw <rearnsha@arm.com>
15591
15592 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
15593 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
15594 (reload_muladdsi_compare0_scratch): Delete.
15595
46fc709d
LR
155962002-03-26 Loren J. Rittle <ljrittle@acm.org>
15597
15598 * doc/install.texi (*-*-freebsd*): Update.
15599
f36dea3c
RH
156002002-03-26 Richard Henderson <rth@redhat.com>
15601
8e5fe23f
RH
15602 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
15603 (SUB_PARM_SIZE): Cast DEC to ssizetype.
15604
15605 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
15606 types from the normal argument frame.
15607
f36dea3c
RH
15608 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
15609 variable sized objects by reference.
15610 (sparc_va_arg): Receive them by reference too.
15611
1447dc69
HP
156122002-03-26 Hartmut Penner <hpenner@de.ibm.com>
15613
15614 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 15615 code to not restoring global registers.
1447dc69 15616
4f0ade92
NB
156172002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
15618
15619 * Makefile.in (ggc-common.o): Update.
15620 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
15621 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
15622 * c-tree.h (c_mark_tree): New.
15623 * ggc-common.c: Include langhooks.h.
15624 (gcc_mark_trees): Use new langhook.
15625 * ggc-callbacks.c: Delete file.
15626 * ggc.h (lang_mark_tree): Remove.
15627 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
15628 (LANG_HOOKS_INITIALIZER): Update.
15629 * langhooks.h (struct lang_hooks): New hook.
15630objc:
15631 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
15632
caba570b
ZW
156332002-03-25 Zack Weinberg <zack@codesourcery.com>
15634
15635 * doc/cpp.texi: Exclude entire Top node from printed manual.
15636 Move option index after directive index. Insert page breaks
15637 before GFDL and concept index. Index environment variables
15638 with command line options.
15639 * doc/cppenv.texi: Use @vtable for environment variable list.
15640 Add paragraph explaining semantics of empty elements in path
15641 variables. Exclude a cross-reference to Fishkill from the
15642 manpage. Remove an unnecessary cross-reference of the entry
15643 right above the referer. Don't use @anchor in text that goes
15644 into manpage.
15645 * doc/cppopts.texi: Cross-reference the environment variables
15646 section, not the specific environment variable, for consistency.
15647
6b2e80b7
RH
156482002-03-25 Richard Henderson <rth@redhat.com>
15649
15650 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
15651 anywhere in the block. Don't refer to insns that have been
15652 removed from the chain. Iterate backward through the new insns.
15653 Don't refer to edges that have been removed.
15654
67e469d7
AM
156552002-03-26 Alan Modra <amodra@bigpond.net.au>
15656
15657 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
15658 test for overflow of constant.
15659
f2356393
RE
156602002-03-25 Richard Earnshaw <rearnsha@arm.com>
15661
15662 PR target/2623
15663 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
15664 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
15665 these patterns on arm_archv4.
15666
355426ab
DS
156672002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
15668
15669 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
15670 int".
15671
15e5ad76
ZW
156722002-03-25 Zack Weinberg <zack@codesourcery.com>
15673
15674 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
15675 float_handled, float_handler, float_signal, set_float_handler,
15676 and do_float_handler. Set handler for SIGFPE to crash_signal.
15677 * toplev.h: Don't prototype do_float_handler.
15678
15679 * c-lex.c: Fold parse_float into lex_number. Make warning
15680 about portability of hex float constants more informative, and
15681 don't issue it on top of a syntax error.
15682 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
15683 their callers.
15684 * real.h: Define REAL_VALUE_ABS here...
15685 * simplify-rtx.c: ... not here. Fold check_fold_consts,
15686 simplify_unary_real, simplify_binary_real, and
15687 simplify_binary_is2orm1 into their callers.
15688 * tree.c: Fold build_real_from_int_cst_1 into caller.
15689
15690 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
15691
15692 * tsystem.h: Include float.h here...
15693 * libgcc2.c: ... not here.
15694
56ae9405
NC
156952002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
15696
15697 Fixes for: PR bootstrap/3591, target/5676
15698 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
15699 defined. Do not disable exceptions or rtti.
15700 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
15701 mcore.h. Disable exceptions and rtti, since they are not
15702 supported by EPOC.
15703
c88770e9
NB
157042002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
15705
15706 * c-decl.c (maybe_build_cleanup): Remove.
15707 * expr.c (expand_expr): Use langhook.
15708 * langhooks-def.h (lhd_return_null_tree,
15709 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
15710 (LANGHOOKS_INITIALIZER): Update.
15711 * langhooks.c (lhd_return_null_tree): New.
15712 * langhooks.h (struct lang_hooks): New hook.
15713 * tree-inline.c (initialize_inlined_parameters): Use langhook.
15714 * tree.h (maybe_build_cleanup): Remove.
15715
2ed1f154
JJ
157162002-03-25 Jakub Jelinek <jakub@redhat.com>
15717
15718 * regrename.c (build_def_use): Move recog_memoized
15719 before extract_insn.
15720
6ddae612
JJ
157212002-03-25 Jakub Jelinek <jakub@redhat.com>
15722
15723 PR target/6043
15724 * expr.c (emit_group_store): Handle storing into CONCAT.
15725
ea475b23
JJ
157262002-03-25 Jakub Jelinek <jakub@redhat.com>
15727
15728 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
15729 corresponding MATCH_DUP.
15730
e7d482b9
RH
157312002-03-24 Richard Henderson <rth@redhat.com>
15732
cd39fc13
RH
15733 * unroll.c (unroll_loop): Zero label_map.
15734
e7d482b9
RH
15735 * gcse.c: Include except.h.
15736 * Makefile.in (gcse.o): Update.
15737
1bd6476f
RH
157382002-03-24 Richard Henderson <rth@redhat.com>
15739
15740 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
15741 Do resolve_unique_section before shared data clause.
15742
2e6c150a
RH
157432002-03-24 Richard Henderson <rth@redhat.com>
15744
15745 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
15746
b29afcf8
RH
157472002-03-24 Richard Henderson <rth@redhat.com>
15748
15e5ad76 15749 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
15750 generated in the middle of a block. Do global life update if
15751 zapped EH edges.
15752
05ed1296
RH
157532002-03-24 Richard Henderson <rth@redhat.com>
15754
15755 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
15756
3ddbb8a9
NB
157572002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
15758
15759 preprocessor/3951
15e5ad76 15760 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
15761 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
15762 (init_dependency_output): Don't make no_output decision here.
15763
740b77b6
AC
157642002-03-24 Andrew Cagney <ac131313@redhat.com>
15765
15766 * stmt.c (check_for_full_enumeration_handling): Remove tests of
15767 warn_switch. Update description.
15768 (expand_end_case_type): Call check_for_full_enumeration_handling
15769 when warn_switch.
15770
7590cfd0
SC
157712002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15772
15773 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
15774 (m68hc11_split_move): Call it to see if the source and destination
15775 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 15776 source an offsetable memory operand and generate an add.
7590cfd0 15777
2e3d3481
SC
157782002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15779
15780 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
15781 register for operand 2.
15782 ("*subsi3_zero_extendqi"): Likewise.
15783 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
15784 bits so that it is compatible with a pop.
15785 ("*andhi3_gen"): Likewise.
15786 ("xorhi3"): Likewise.
15787
2784528c
NB
157882002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
15789
15790 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
15791 -pedantic here...
15792 (cpp_post_options): ... not here.
15793
aaf93206
NB
157942002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
15795 Aldy Hernandez <aldyh@redhat.com>
15796
15797 Removal of separate preprocessor cpp0.
15798
15799 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
15800 cpp0, install-common): Update.
15801 * c-common.c (flag_preprocess_only): New.
15802 (c_common_init): Preprocess for -E.
15803 * c-common.h (flag_preprocess_only): New.
15804 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
15805 * c-objc-common.c (c_init_decl_processing): Exit quickly
15806 for NULL return from c_common_init.
15807 * cpplib.h (cpp_preprocess_file): New.
15808 * cppmain.c (main, general_init, pfile, progname): Remove.
15809 (do_preprocessing): Rename cpp_preprocess_file, don't call
15810 cpp_finish. Don't close stdout here.
15811 (setup_callbacks): Update prototype.
15812 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
15813 Update.
15814 * tradcpp.c (main): Ignore -quiet.
15815objc:
15816 * lang-specs.h (default_compilers): Preprocess with cc1obj.
15817
c6e6f5c1
RH
158182002-03-24 Richard Henderson <rth@redhat.com>
15819
15820 PR optimization/5742
15821 * machmode.def: Add inner mode field to complex modes.
15822 * config/mips/mips.c (mips_function_value): Always define. Add
15823 new argument to handle libcalls.
15824 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
15825 (FUNCTION_VALUE): Likewise.
15826 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
15827 * config/mips/mips-protos.h: Update.
15828
d88e57d1
RH
158292002-03-23 Richard Henderson <rth@redhat.com>
15830
15831 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
15832 * config/sparc/sparc-protos.h: Update.
15833 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
15834
6dfaf9ba
RH
158352002-03-23 Richard Henderson <rth@redhat.com>
15836
15837 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
15838 _start or _init begins the text segment.
15839
0c769cf8
DE
158402002-03-23 David Edelsohn <edelsohn@gnu.org>
15841
15842 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
15843 not HOST_WIDEST_INT.
15844 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
15845
64e92a26
RE
158462002-03-23 Richard Earnshaw <rearnsha@arm.com>
15847
15848 PR java/5489
15849 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
15850 operand argument to output_return_instruction.
15e5ad76 15851 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
15852 const_true_rtx then just return.
15853 (arm_print_operand, case 'D'): If the operand is const_true_rtx
15854 then abort.
15855
d6961341
AC
158562002-03-23 Andrew Cagney <ac131313@redhat.com>
15857
15858 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
15859 (Warning Options): Document -Wswitch-default.
15860 * toplev.c (W_options): Add -Wswitch-default. Update comment on
15861 -Wswitch.
15862 (warn_switch_default): Define variable.
15863 (warn_switch): Update comment.
15864 * flags.h (warn_switch_default): Declare variable.
15865 (warn_switch): Update comment.
15866 * stmt.c (expand_end_case): Check for and, when
15867 warn_switch_no_default, warn of a missing default case.
15e5ad76 15868
d4c5ac1f
AM
158692002-03-23 Alan Modra <amodra@bigpond.net.au>
15870
bbaa9790
AM
15871 * real.h (N): Special case 128 bit doubles.
15872
d4c5ac1f
AM
15873 * combine.c (simplify_comparison): When widening modes, ignore
15874 sign extension on CONST_INTs.
15875
84bf8c2c
BW
158762002-03-22 Bob Wilson <bob.wilson@acm.org>
15877
15878 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
15879 passed to adjust_address. Fix comment formatting.
15880
15881
b216cd4a
ZW
158822002-03-22 Zack Weinberg <zack@codesourcery.com>
15883
15884 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
15885 Always make REAL_VALUE_TYPE a struct containing an array of
15886 HOST_WIDE_INT, not a double. Tidy up the code deciding how
15887 big it is. Don't declare or use union real_extract.
15888
15889 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
15890 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
15891 (print_operand), config/arm/arm.c (output_move_double),
15892 config/arm/arm.md (consttable_4, consttable_8),
15893 config/romp/romp.c (output_fpops), config/s390/s390.h
15894 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
15895 (xtensa_output_literal): Don't use union real_extract.
15896
15897 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
15898 (sfmode_constant_to_ulong), config/ns32k/merlin.h
15899 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
15900 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
15901 (PRINT_OPERAND): Don't use local version of union
15902 real_extract.
15903
15904 * config/convex/convex.c (check_float_value), config/vax/vax.c
15905 (vax_float_literal), config/m88k/m88k.md (divdf3),
15906 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
15907 config/pdp11/pdp11.c (output_move_quad): Don't do host
15908 arithmetic on target floating point quantities.
15909
15910 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
15911 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
15912
15913 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
15914 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
15915
15916 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
15917 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
15918 INFINITY.
15919 * print-rtl.c (print_rtx): Disable code which needs
15920 floating-point emulator.
15921 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
15922 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
15923 depending on HOST_FLOAT_FORMAT to be defined properly.
15924
15925 * config/1750a/1750a.c (get_double, float_label): Delete.
15926 (print_operand): Delete huge commented-out chunk. Use
15927 REAL_VALUE_TO_DECIMAL.
15928 * config/1750a/1750a-protos.h: Delete prototypes of deleted
15929 functions.
15930 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
15931 IEEE_FLOAT_FORMAT.
15932 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
15933 Use REAL_VALUE_TO_DECIMAL as ELF version does.
15934 * config/m88k/m88k.c (real_power_of_2_operand,
15935 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
15936 real_extract out of the union; run the input through
15937 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
15938 from that into the union.
15939 * config/pdp11/pdp11.c (output_move_double): Rearrange
15940 parentheses to make automatic indenter happy.
15941
15942 * doc/tm.texi (Cross-compilation): Rename node to "Floating
15943 Point" and rewrite to describe current situation. Also adjust
15944 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
15945 match code.
15946 * doc/rtl.texi: Adjust cross reference.
15947
a8cacfd2
BW
159482002-03-22 Bob Wilson <bob.wilson@acm.org>
15949
15950 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
15951 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
15952 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
15953 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
15954 prevent use of sp as a reload register.
15955 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
15956 non_acc_reg_operand.
15957 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
15958 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
15959 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
15960 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
15961
d4e6133f
NB
159622002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
15963
b216cd4a
ZW
15964 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
15965 * cpplex.c (unterminated): Delete.
15966 (parse_string): No string literal may extend over multiple
15967 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
15968 * cppmain.c (scan_translation_unit): Strings are single-line.
15969
b216cd4a 15970 * doc/cpp.texi: Update to match.
d4e6133f 15971
65e6c005
JJ
159722002-03-22 Jakub Jelinek <jakub@redhat.com>
15973
15974 PR optimization/5854
15975 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
15976 Shut up warnings.
15977 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
15978 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
15979 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
15980 const0 if scratch register was not allocated.
15981 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
15982 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
15983 with GEN_INT (...).
15984 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
15985 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
15986 with GEN_INT (...) everywhere. Remove constraints in define_split
15987 patterns.
15988 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
15989 require scratch register for setting 0 into regs/non-pushable memory.
15990
7f48c9e1
AO
159912002-03-22 Alexandre Oliva <aoliva@redhat.com>
15992
15993 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
15994 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
15995
909de5da
PE
159962002-03-22 Phil Edwards <pme@gcc.gnu.org>
15997
15998 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
15999 * cppinit.c (cpp_create_reader): On by default.
16000 (cpp_handle_option): Handle -W[no-]endif-labels.
16001 (cpp_post_options): Also enable if -pedantic.
16002 * cpplib.c (do_else): Use it.
16003 (do_endif): Likewise.
16004 * doc/cppopts.texi: Document new option.
16005 * doc/invoke.texi: Document new option.
16006
d8bf17f9
LB
160072002-03-22 Lars Brinkhoff <lars@nocrew.org>
16008
16009 * config/i386/i386.c, config/i386/i386.md: Change all occurences
16010 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
16011
70e0ccd0
AO
160122002-03-22 Alexandre Oliva <aoliva@redhat.com>
16013
16014 * flow.c (calculate_global_regs_live): Clear aux fields of
16015 ENTRY and EXIT.
16016
68882f0f
JJ
160172002-03-22 Jakub Jelinek <jakub@redhat.com>
16018
16019 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
16020 REG or MEM subregs, pass rtx * instead of rtx to it.
16021 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
16022 rtx * instead of rtx to alter_subreg.
16023 * config/m32r/m32r.c (gen_split_move_double): Likewise.
16024 * config/pj/pj.c (pj_output_rval): Likewise.
16025
648fe28b
RH
160262002-03-22 Richard Henderson <rth@redhat.com>
16027
16028 PR target/3177
16029 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
16030 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
16031 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
16032 (ia64_expand_prologue): Look at int_regs, not words, for number
16033 of incomming int regs.
16034
e8dcd824
AM
160352002-03-22 Andrew MacLeod <amacleod@redhat.com>
16036
16037 * expr.c (expand_expr): A RESULT_DECL is part of a call.
16038
96327cdc
JH
16039Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
16040
16041 * toplev.c (flag_loop_optimize, flag_crossjumping):
16042 New static variables.
16043 (rest_of_compilation): Conditionalize crossjumping and
16044 loop optimizer.
16045 (parse_options_and_default_flags): Default loop_optimize and
16046 crossjumping.
16047 (lang_independent_options): Add -fcrossjumping and -floop-optimize
16048 * invoke.texi (crossjumping, loop-optimize): Document.
16049
bc185257
RS
160502002-03-22 Richard Sandiford <rsandifo@redhat.com>
16051
16052 * real.c (eiisneg): Move outside #ifdef NANS.
16053
0a2ed1f1
JH
16054Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
16055
16056 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
16057 frequencies match; avoid match on different loop depths.
16058 (try_crossjump_to_bb): Kill tests that no longer brings time
16059 savings.
16060 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
16061 updating code.
16062 (split_edge): Likewise.
16063
16064 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
16065 variable.
16066
16067 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
16068 * cfgrtl.c: Include insn-config.h
16069 (split_block) Dirtify block in presence of conditional execution
16070
4d72536e
RS
160712002-03-22 Richard Sandiford <rsandifo@redhat.com>
16072
16073 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
16074 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
16075 (function_arg): Constify CUMULATIVE_ARGS.
16076 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
16077 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
16078 (UNITS_PER_DOUBLE): New macro.
16079 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
16080 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
16081 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
16082 fp_regs and stack_words.
16083 (EABI_FLOAT_VARARGS_P): New macro.
16084 * config/mips/mips.c (struct mips_arg_info): New.
16085 (mips_arg_info): New function.
16086 (function_arg_advance): Use it. Add adjustment instructions here
16087 rather than in function_arg.
16088 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
16089 for VOIDmode at the beginning of the function.
16090 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
16091 (function_arg_pass_by_reference): Likewise.
16092 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
16093 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
16094 (mips_va_start): Likewise. Use the new stack_words field of
16095 CUMULATIVE_ARGS to set up overflow area. Reformat.
16096 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
16097 doubles and other types, aligning the overflow pointer for non-doubles
16098 too. Remove some code duplication. Replace hard-coded constants.
16099
e6f884cd
RS
161002002-03-22 Richard Sandiford <rsandifo@redhat.com>
16101
16102 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
16103 (CLASS_UNITS): Undefine.
16104 (CLASS_MAX_NREGS): Use FP_INC.
16105 * config/mips/mips.c (compute_frame_size): Likewise.
16106 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
16107
10cf9bde
NB
161082002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
16109
16110 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
16111 prototype, and handle lexing numbers and identifiers.
16112 (parse_identifier): Update to new form of parse_slow.
16113 (parse_number): Fast path only, use parse_slow otherwise.
16114 (_cpp_lex_direct): Update calls to parse_number.
16115
fbc2782e
DD
161162002-03-21 DJ Delorie <dj@redhat.com>
16117
16118 * bb-reorder.c (make_reorder_chain_1): Protect against
16119 when redundant edges are omitted.
16120 * predict.c (dump_prediction): Likewise.
16121
fba39eaf
RH
161222002-03-21 Richard Henderson <rth@redhat.com>
16123
16124 PR target/5996
16125 * fixinc/inclhack.def (solaris_stdio_tag): New.
16126 * fixinc/fixincl.x: Regenerate.
16127
eba80994
EB
161282002-03-21 Eric Botcazou <ebotcazou@multimania.com>
16129
16130 PR c/5597
16131 * c-typeck.c (process_init_element): Flag non-static
16132 initialization of a flexible array member as illegal.
16133
2a78758b
AM
161342002-03-22 Alan Modra <amodra@bigpond.net.au>
16135
16136 * config/rs6000/t-linux64: New.
16137 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
16138 t-ppccomm. Use t-rs6000 and t-linux64.
16139 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
16140 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
16141 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
16142 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 16143
2cb921f4
AH
161442002-03-21 Aldy Hernandez <aldyh@redhat.com>
16145
eba80994
EB
16146 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
16147 flag_really_no_inline instead of optimize == 0.
2cb921f4 16148
eba80994 16149 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 16150
eba80994 16151 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 16152
eba80994 16153 * flags.h (flag_really_no_inline): New.
2cb921f4 16154
659e5a7a 16155 * c-common.c (c_common_post_options): Initialize
eba80994 16156 flag_really_no_inline.
2cb921f4 16157
eba80994 16158 * toplev.c (flag_really_no_inline): New.
2cb921f4 16159
239b8b9d
JJ
161602002-03-21 Jakub Jelinek <jakub@redhat.com>
16161
16162 * config/avr/avr.md (length): Fix length computation for
16163 conditional branches.
16164
43577e6b
NB
161652002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
16166
16167 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
16168 sdbout.o, profile.o): Update.
16169 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
16170 langhook.
16171 * c-common.h (gettags): Move here from tree.h.
16172 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
16173 insert_block, getdecls, kept_level_p, global_bindings_p): New.
16174 * dbxout.c (dbxout_init): Use getdecls langhook.
16175 * expr.c (expand_expr): Use insert_block langhook.
16176 * fold-const.c: Include langhooks.h.
16177 (fold_range_test, fold_binary_op_with_conditional_arg,
16178 fold): Use global_bindings_p langhook.
16179 * integrate.c (expand_inline_function): Use insert_block langhook.
16180 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
16181 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
16182 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
16183 LANG_HOOKS_GETDECLS): New.
16184 (LANG_HOOKS_INITIALIZER): Update.
16185 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
16186 langhook.
16187 * langhooks.h (struct lang_hooks_for_decls): New.
16188 (struct lang_hooks): Update.
16189 * profile.c: Include langhooks.h.
16190 (output_func_start_profiler): Use new langhooks.
16191 * sdbout.c: Include langhooks.h.
16192 (sdbout_init, sdbout_finish): Use getdecls langhook.
16193 * stmt.c: Include langhooks.h.
16194 (expand_fixup, fixup_gotos): Use new langhooks.
16195 * stor-layout.c: Include langhooks.h.
16196 (variable_size): Use global_bindings_p langhook.
16197 * toplev.c (compile_file): Use getdecls langhook.
16198 * tree-inline.c (remap_block): Use insert_block langhook.
16199 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
16200 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
16201
5b19b10c
RH
162022002-03-21 Richard Henderson <rth@redhat.com>
16203
16204 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
16205 constants in .data when -fpic.
16206
e05af335
GP
162072002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16208
16209 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
16210 where appropriate.
16211
60ffc997
TT
162122002-03-21 Tom Tromey <tromey@redhat.com>
16213
16214 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
16215
75897075
RK
16216Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16217
a73afd69 16218 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 16219
75897075
RK
16220 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
16221
312687cf
EB
162222002-03-21 Eric Botcazou <ebotcazou@multimania.com>
16223 Richard Henderson <rth@redhat.com>
16224
16225 PR c/5354
16226 * c-common.c (c_expand_expr): Preserve result of a statement
16227 expression if needed.
16228
f0e1f482
JJ
162292002-03-21 Jakub Jelinek <jakub@redhat.com>
16230
16231 PR bootstrap/4195
16232 * genrecog.c (maybe_both_true_mode): Remove.
16233 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
16234 * machmode.def (Pmode): Likewise.
16235
c14b9960
JW
16236Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
16237
16238 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
16239 (nonlocal_mentioned_p_1): New function.
16240 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
16241 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
16242 (mark_constant_function): Recognize pure functions.
16243 * rtl.h (global_reg_mentioned_p): New prototype.
16244 * rtlanal.c (global_reg_mentioned_p,
16245 global_reg_mentioned_p_1): New function.
16246
aaa4d130
RO
162472002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16248
16249 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
16250 UNIX assert.h.
16251 * fixinc/fixincl.x: Regenerate.
16252
e5c4bd1b
JM
162532002-03-20 Jason Merrill <jason@redhat.com>
16254
16255 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
16256
852b81bb
MM
162572002-03-20 Michael Meissner <meissner@redhat.com>
16258
16259 * doc/invoke.texi (Optimize Options): Document that -O2 sets
16260 -fstrict-aliasing.
16261
86d8c251
BW
162622002-03-20 Bob Wilson <bob.wilson@acm.org>
16263
16264 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
16265 ".literal_position" directive before the constant pool.
16266
0a39c350
GP
162672002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16268
16269 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
16270 Add Craig Rodrigues.
16271 Add Brad Lucier to testers.
16272
71a83373
JJ
162732002-03-20 Jakub Jelinek <jakub@redhat.com>
16274
16275 PR target/4792
16276 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
16277 to if_then_else.
16278 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
16279 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
16280 instead of insn_extract.
16281
a29b099d
JJ
162822002-03-20 Jakub Jelinek <jakub@redhat.com>
16283
16284 PR bootstrap/4192
71a83373 16285 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
16286
16287 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
16288 stmt if some case has been output.
16289
048b1c95
JJ
162902002-03-20 Jakub Jelinek <jakub@redhat.com>
16291
16292 PR c/5972
16293 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
16294 movsfcc_1, movdfcc_1): Add %O2.
16295 * config/i386/i386.c (print_operand): Handle %ON.
16296 Print . before float condition codes in Sun as cmov syntax.
16297 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
16298 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
16299 no longer true.
16300
f4864588
PB
163012002-03-20 Philip Blundell <pb@nexus.co.uk>
16302
16303 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
16304 return instruction if PC was popped.
16305
3a307de4
BW
163062002-03-20 Bob Wilson <bob.wilson@acm.org>
16307
16308 * config/xtensa/xtensa.md: Remove unused type attributes.
16309 (adddi_carry, subddi_carry): Change type attribute to "multi".
16310
048b1c95 163112002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
16312
16313 PR optimization/5999, middle-end/5731
16314 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
16315 multiplications by reciprocals.
16316
7afff7cf
NB
163172002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
16318
16319 * Makefile.in: Update.
16320 * c-common.c: Include langhooks.h.
16321 (inline_forbidden_p): Use new hook.
16322 * diagnostic.c: Include langhooks.h.
16323 (format_with_decl, announce_function,
16324 default_print_error_function): Use new hook.
16325 * dwarf2out.c (dwarf2_name): Use new hook.
16326 * function.c: Include langhooks.h.
16327 (init_function_start): Use new hook.
16328 * langhooks-def.h (lhd_decl_printable_name): New.
16329 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
16330 (LANGHOOKS_INITIALIZER): Update.
16331 * langhooks.c (lhd_decl_printable_name): New.
16332 * langhooks.h (struct lang_hooks): New hook.
16333 * toplev.c (decl_name, decl_printable_name): Remove.
16334 (open_dump_file): Use new hook.
16335 (process_options): Remove old hook.
16336 * tree.h (decl_printable_name): Remove.
16337objc:
16338 * objc-act.c (objc_init): Remove old hook.
16339 (objc_printable_name): Export.
16340 * objc-act.h (objc_printable_name): New.
16341 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
16342
f78ce0b7
JB
163432002-03-19 Jim Blandy <jimb@redhat.com>
16344
16345 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
16346 the start_source_file debug hook, not the current line number.
16347
15b5aef3
RH
163482002-03-19 Richard Henderson <rth@redhat.com>
16349
16350 * flow.c (EH_USES): Provide default.
16351 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
16352 * doc/tm.texi (EH_USES): New.
16353
16354 * config/ia64/ia64.c (ia64_eh_uses): New.
16355 * config/ia64/ia64-protos.h: Update.
16356 * config/ia64/ia64.h (EH_USES): New.
16357
02a7a3fd
RH
163582002-03-19 Richard Henderson <rth@redhat.com>
16359
16360 * varasm.c (output_constant_def): Fix stupid typo.
16361
93f82d60
RH
163622002-03-19 Richard Henderson <rth@redhat.com>
16363
2842be05 16364 PR 5879
93f82d60
RH
16365 * except.c (current_function_has_exception_handlers): New.
16366 * except.h: Declare it.
16367 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
16368 Combine tests that disable all sibcalls for the function.
16369
ed4fbfa0
OH
163702002-03-19 Olivier Hainque <hainque@act-europe.fr>
16371
16372 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
16373 for INTEGER_CST.
16374
ebf0e888
RH
163752002-03-19 Richard Henderson <rth@redhat.com>
16376
1e82682b 16377 PR 5977, 5991
ebf0e888
RH
16378 * config/ia64/ia64.c: Revert 2002-03-01 patch.
16379 * config/ia64/ia64.h (INIT_EXPANDERS): New.
16380
e37b38d7
JB
163812002-03-19 Jim Blandy <jimb@redhat.com>
16382
16383 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
16384 name, even if the replacement list contains no tokens, as required
16385 by Dwarf.
16386
2a4ea326
JM
163872002-03-19 Jason Merrill <jason@redhat.com>
16388
f9d09ae5
JM
16389 * varasm.c (globalize_decl): Get the name from the RTL, not
16390 DECL_ASSEMBLER_NAME.
16391
2a4ea326
JM
16392 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
16393
99b96edb
BW
163942002-03-19 Bob Wilson <bob.wilson@acm.org>
16395
16396 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
16397 subdi_carry): Define.
16398
3774b567
DE
163992002-03-19 David Edelsohn <edelsohn@gnu.org>
16400
16401 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
16402 about -fpic/-fPIC if extra_warnings set.
16403
21ef78aa
DE
164042002-03-19 David Edelsohn <edelsohn@gnu.org>
16405
16406 * expr.c (expand_expr): Sign-extend CONST_INT generated from
16407 TREE_STRING_POINTER.
0c2fdcdf 16408 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 16409
91d4b3fd
RK
16410Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16411
16412 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
16413 in favor of SP if FRAME_POINTER_REQUIRED is false.
16414
2496c7bd
LB
164152002-03-19 Lars Brinkhoff <lars@nocrew.org>
16416
16417 * emit-rtl.c (gen_int_mode): New function.
16418 * rtl.h: Prototype for it.
16419 * combine.c (make_extraction, simplify_comparison), expmed.c
16420 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
16421 (convert_modes, store_field), optabs.c (expand_fix),
16422 simplify-rtx.c (neg_const_int, simplify_unary_real),
16423
16424 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
16425 Use it instead of GEN_INT (trunc_int_for_mode (...)).
16426
f735a153
JJ
164272002-03-19 Jakub Jelinek <jakub@redhat.com>
16428
16429 PR c/5656
16430 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
16431 convert_parm_for_inlining.
16432 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
16433 Define.
16434 * langhooks-def.h: Likewise.
16435 * objc/objc-lang.c: Likewise.
16436 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
16437 function.
16438 * tree-inline.c (initialize_inlined_parameters):
16439 Call convert_parm_for_inlining lang hook if needed.
16440 * c-typeck.c (c_convert_parm_for_inlining): New function.
16441 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
16442
1929c971
MM
164432002-03-18 Mark Mitchell <mark@codesourcery.com>
16444
b216cd4a 16445 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
16446 can be destroyed after expanding the argument.
16447 (expand_call): Likewise.
16448
c79ca0ac
EC
164492002-03-15 Eric Christopher <echristo@redhat.com>
16450
16451 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
16452 Fix register preference on last change.
16453 * config/mips/mips.c (mips_return_in_memory): New function.
16454 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
16455 * config/mips/mips-protos.h: Declare.
16456 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
16457 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
16458
07e2e444
AO
164592002-03-18 Alexandre Oliva <aoliva@redhat.com>
16460
1bfbbbcf
AO
16461 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
16462 a register too.
16463 (anddi3, iorsi3): Likewise.
16464
c066429e
AO
16465 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
16466 use %gprel for symbols that are going to be placed in linkonce
16467 sections.
16468
07e2e444
AO
16469 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
16470 RETURN_ADDRESS_POINTER_REGNUM to $ra.
16471 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
16472 not needed. Disregard leaf_function_p().
16473 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
16474 mips16 frame pointer.
16475 * config/mips/mips.md (store ra): Only to small SP offsets.
16476 2001-08-22 Graham Stott <grahams@redhat.com>
16477 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
16478 return a REG rtx for the return address register.
16479
eb8e00ea
BW
164802002-03-18 Bob Wilson <bob.wilson@acm.org>
16481
16482 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
16483 constant-pool addresses as "mode-dependent".
16484 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
16485
cbb92744
JJ
164862002-03-18 Jakub Jelinek <jakub@redhat.com>
16487
16488 PR target/5740
16489 * expr.c (emit_group_load): Use extract_bit_field if
16490 needed for CONCAT arguments.
16491
657d9449
RE
164922002-03-18 Richard Earnshaw <rearnsha@arm.com>
16493
91f3a802 16494 PR target/4863
657d9449
RE
16495 * arm.md (tablejump): Make this a define_expand. For PIC add the
16496 offset to the base of the table.
16497 (thumb_tablejump): Matcher for Thumb tablejump insn.
16498 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
16499 as the difference of two labels.
16500 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
16501 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
16502 tables in the code.
16503 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
16504 * arm.c (get_jump_table_size): If the table is not in the text
16505 section, return zero.
c79ca0ac 16506
5d5603e2
BS
165072002-03-18 Bernd Schmidt <bernds@redhat.com>
16508
16509 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
16510 of gen_rtx_SUBREG.
16511 (arm_reload_out_hi): Use gen_lowpart instead of
16512 gen_rtx_SUBREG to access QImode components.
16513 * config/arm/arm.md: Disable zero_extend split for QImode
16514 subregs in BIG_ENDIAN mode.
16515 (storehi_bigend): Match use of least significant byte.
16516 (storeinthi): Remove extraneous SUBREG.
66c17b64 16517 Add missing construction of operands[2].
5d5603e2
BS
16518 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
16519 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
16520 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
16521
df15fbc7
AH
165222002-03-18 Aldy Hernandez <aldyh@redhat.com>
16523
2496c7bd
LB
16524 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
16525 any_operand.
df15fbc7 16526
b83b7fa3
RH
165272002-03-17 Richard Henderson <rth@redhat.com>
16528
16529 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
16530 explicitly.
16531
6f7c00fe
HPN
165322002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
16533
16534 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
16535 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
16536
155038f2
KG
165372002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16538
720d42fa
KG
16539 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
16540
155038f2
KG
16541 * predict.c (estimate_bb_frequencies): Delete unused variables.
16542
e6542f4e
RH
165432002-03-17 Richard Henderson <rth@redhat.com>
16544
16545 * config/ia64/ia64.c (ia64_attribute_table): Move before
16546 targetm definition. Make static.
16547
52dabb6c
NB
165482002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
16549
16550 * c-common.h (yyparse, c_common_parse_file): New.
16551 * c-lang.c: Include c-common.h.
16552 (LANG_HOOKS_PARSE_FILE): Redefine.
16553 * c-lex.c: Include c-common.h.
16554 (yyparse): Rename c_common_parse_file. Call yyparse.
16555 * c-parse.in (yyparse): Remove macro.
16556 * c-tree.h (yyparse_1): Remove.
16557 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
16558 (LANG_HOOKS_INITIALIZER): Update.
16559 * langhooks.h (struct lang_hoooks): New hook parse_file.
16560 * toplev.c (compile_file): Use parse_file hook.
16561 * tree.h (yyparse): Remove.
e6542f4e 16562 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 16563
b5ffe606
HPN
165642002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
16565
ba82f58b
HPN
16566 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
16567 float_truncate, not fix.
16568 ("*truncdfsf2_real"): Ditto.
16569 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
16570
b5ffe606
HPN
16571 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
16572
c8d1b2b7
AO
165732002-03-16 Alexandre Oliva <aoliva@redhat.com>
16574
cfb773f9
AO
16575 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
16576 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
16577 where appropriate. Make the second reference to
16578 leaf_function_p a function call, as intended. Reindented.
16579
4dffef52
AO
16580 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
16581 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
16582
4f5bd6d7
AO
16583 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
16584 add register to non-constant into sp.
16585
c8d1b2b7
AO
16586 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
16587 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
16588 (mips16_gp_pseudo_rtx): Lose.
16589 (INIT_EXPANDERS): Deleted.
16590 * config/mips/mips.c (mips_init_machine_status): New.
16591 (mips_free_machine_status): New.
16592 (mips_mark_machine_status): New.
16593 (override_options): Set them.
16594 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
16595 (struct machine_function): ... new. Replaced all references.
16596 (mips_add_gc_roots): Don't mark them.
16597 (embedded_pic_fnaddr_reg): New, extracted from...
16598 (embedded_pic_offset): ... here.
16599 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
16600 (movsi): Likewise.
16601
b3124fac
NB
166022002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
16603
16604 * cppinit.c: Revert -MD removal.
16605
121449b6
SC
166062002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16607
16608 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
16609 soft registers by default for 68HC12.
16610 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
16611 when compiling with -fomit-frame-pointer.
16612 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
16613 (expand_epilogue): Likewise.
16614 (m68hc11_gen_rotate): Use exg when rotating by 8.
16615
840e2ff1
SC
166162002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16617
16618 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
16619 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
16620 (splits): Remove unused add splits.
16621 ("*addhi3_68hc12"): Tune constraints.
16622 ("addhi_sp"): Try to use X instead of Y in all cases and if the
16623 constant fits in 8-bits and D is dead use abx/aby instructions.
16624 ("*addhi3"): Remove extern declaration of ix_reg.
16625 ("*subsi3"): Optimize and provide new split.
16626 ("subhi3"): Cleanup.
16627 ("*subhi3_sp"): Avoid saving X if we know it is dead.
16628 (arith splits): For 68hc12 save the address register on the stack
16629 and do the arithmetic operation with a pop.
16630
3c9a5efe
SC
166312002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16632
16633 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
16634 allocating QImode in address registers.
16635 ("*movqi_m68hc11"): Likewise.
16636
e41f3392
JH
16637Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
16638
16639 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
16640
576786b0
NB
166412002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
16642
16643 * cppinit.c (print_help): Display -MD and -MMD.
16644 Don't display usage string. Update assertion syntax and
16645 typo.
16646 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
16647 (cpp_handle_option): Update.
16648
1ac458d4
CD
166492002-03-15 Chris Demetriou <cgd@broadcom.com>
16650
16651 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
16652 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
16653 and define it so that regardless of target CPU size,
16654 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
16655 of "int" rather than "long."
16656
1fcd592b
RH
166572002-03-15 Richard Henderson <rth@redhat.com>
16658
16659 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
16660 size as a tree.
16661
a0df6910
SC
166622002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16663
16664 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
16665 ("tstqi" split): Avoid using memory for tstqi on address register.
16666 (splits): Remove constraints.
16667 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
16668 ("cmpdf", "cmpsf"): Remove since not used.
16669 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
16670 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
16671
015a2e59
SC
166722002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16673
16674 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
16675 ("neghi2"): Tighten constraints.
16676 ("one_cmplsi2"): Optimize and simplify split.
16677 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
16678
cd28557c
SC
166792002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16680
16681 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
16682 and split of AND operation to clear the upper bits.
16683 ("*logicalsi3_zextqi"): Likewise.
16684 ("*logicallhi3_zexthi_ashift8"): Likewise.
16685 ("*logicalsi3_silshr16"): Likewise.
16686 ("logicalsi3_silshl16"): Likewise.
16687 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
16688
932657df
SC
166892002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16690
16691 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
16692 (m68hc11_indirect_p): New function.
16693 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
16694 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
16695 TARGET_M6812.
16696 (asm_print_register): Likewise.
16697 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
16698 (m68hc11_indirect_p): Declare.
16699 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
16700 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
16701 (TARGET_SWITCHES): New option -mrelax.
16702 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
16703 destination.
16704 ("iorsi3", "xorsi3"): Likewise.
16705 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
16706 ("*andhi3_mem"): New to handle destination in memory with bclr
16707 and a scratch register.
16708 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
16709 ("*andhi3_const"): New when operand2 is constant.
16710 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
16711 ("*andhi3_gen"): Cleanup of the old "andhi3".
16712 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
16713 ("xorqi3"): Update constraints.
16714
fdffea1a
SC
167152002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16716
16717 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
16718 for reg_equiv_memory_loc when the operand is a register that does
16719 not get a hard register (stack location).
16720 (tst_operand): After reload, accept all memory operand.
16721 (symbolic_memory_operand): Fix detection of symbolic references.
16722 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
16723 accept symbols and any constant.
16724
6272bc68
SC
167252002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16726
16727 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
16728 note on the insn that sets the soft frame register.
16729 (must_parenthesize): ix and iy are also reserved names.
16730 (print_operand_address): One more place where parenthesis are required
16731 to avoid confusion with register names.
16732 (m68hc11_gen_movhi): Allow push of stack pointer.
16733 (m68hc11_check_z_replacement): Fix handling of parallel with a
16734 clobber.
16735 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
16736 the replacement register is.
16737 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
16738 and D8_REGS classes.
16739 (MODES_TIEABLE_P): All modes are tieable except QImode.
16740
1d2d9def
SC
167412002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16742
16743 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
16744 (___subdi3): Likewise.
16745 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
16746 (__map_data_section): Optimize 68hc11 case.
16747
a0ccf503
SC
167482002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16749
16750 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
16751 than a shift to avoid adding a register with itself.
16752 (m68hc11_memory_move_cost): Take into account NO_REGS.
16753 (m68hc11_register_move_cost): Update and use memory move cost
16754 for soft registers.
16755 (m68hc11_address_cost): Make cost of valid offset not 0 so that
16756 it gives more opportunities to cse to optimize.
16757 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
16758 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
16759
6e4ae815
MM
167602002-03-15 Mark Mitchell <mark@codesourcery.com>
16761
16762 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
16763 * c-common.def (CLEANUP_STMT): New tree node.
16764 * c-common.h (CLEANUP_DECL): New macro.
16765 (CLEANUP_EXPR): Likewise.
16766 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
16767 * expr.c (expand_expr): Tidy.
16768 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
16769 * tree-inline.c (initialize_inlined_parameters): Clean up
16770 new local variables.
16771
a42519be
JJ
167722002-03-15 Jakub Jelinek <jakub@redhat.com>
16773
16774 PR bootstrap/4128
16775 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
16776 before movrXX only, use reg_overlap_mentioned_p.
16777 Only special case NE if just one insn can be generated.
16778
15409448
JM
167792002-03-15 Jason Merrill <jason@redhat.com>
16780
16781 * varasm.c (assemble_variable): Call resolve_unique_section before
16782 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
16783 of error_mark_node.
16784
3a4edb44
RE
167852002-03-15 Richard Earnshaw <rearnsha@arm.com>
16786
16787 PR target/5170
16788 * arm.md (split pattern for thumb shiftable immediates): Add comment
16789 explaining non-obvious test.
16790
32defa36
RE
167912002-03-15 Richard Earnshaw <rearnsha@arm.com>
16792
16793 PR target/5712
16794 * arm.md (movaddr, movaddr_insn): Delete.
16795
5cc90635
JM
167962002-03-15 Jason Merrill <jason@redhat.com>
16797
16798 * toplev.c (wrapup_global_declarations): Clarify variable handling.
16799 -fkeep-static-consts doesn't apply to comdats.
16800
ecb0eece
RH
168012002-03-14 Richard Henderson <rth@redhat.com>
16802
16803 * c-decl.c: Include c-pragma.h.
16804 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
16805 (finish_function): Tidy.
16806 * c-pragma.c: Include c-common.h.
16807 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
16808 (handle_pragma_weak): Use them.
16809 (init_pragma): Register pending_weaks.
16810 * c-pragma.h (maybe_apply_pragma_weak): Declare.
16811 * print-tree.c (print_node): Print DECL_WEAK.
16812 * varasm.c (mark_weak_decls): Remove.
16813 (remove_from_pending_weak_list): Remove.
16814 (add_weak): Remove.
16815 (asm_emit_uninitialised): Call globalize_decl for weak commons.
16816 (weak_decls): Make a tree_list.
16817 (declare_weak): Cons weak_decls directly.
16818 (globalize_decl): Remove weak_decls elements directly.
16819 (weak_finish): Simplify weak_decls walk. Don't weaken unused
16820 symbols. Don't pretend to handle aliases.
16821 (init_varasm_once): Update weak_decls registry.
16822 * Makefile.in: Update dependencies.
16823
98d2b17e
RH
168242002-03-14 Richard Henderson <rth@redhat.com>
16825
16826 PR target/5312
16827 * config/ia64/ia64.c: Include tm_p.h last.
16828 (gen_nop_type): Remove duplicate definition.
16829 (cycle_end_fill_slots): Set sched_data for second L slot.
16830 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
16831 (nop_cycles_until): Fix typos.
16832
f2f4927e
JJ
168332002-03-15 Jakub Jelinek <jakub@redhat.com>
16834
16835 PR optimization/5891
16836 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
16837
5025a549
DM
168382002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
16839
16840 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
16841 descriptors correctly.
16842
03e9dbc9
MM
168432002-03-14 Michael Meissner <meissner@redhat.com>
16844
16845 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
16846 100, allowing MAX_UNROLLED_INSNS to be overridden.
16847
16848 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
16849 --param.
16850
16851 * unroll.c (params.h): Include.
16852 (MAX_UNROLLED_INSNS): Delete, now in params.h.
16853
16854 * doc/invoke.texi (--param max-unroll-insns): Document.
16855
16856 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
16857
12249385
RE
168582002-03-14 Richard Earnshaw <rearnsha@arm.com>
16859
16860 * arm.md: Fix warnings about constraints in peepholes and splits.
16861
f0cce04a
ZW
168622002-03-14 Zack Weinberg <zack@codesourcery.com>
16863
16864 * cpphash.h (struct lexer_state): Remove line_extension member.
16865 * cpplib.c (dequote_string, do_linemarker): New functions.
16866 (linemarker_dir): New data object.
16867 (DIRECTIVE_TABLE): No longer need to interpret #line in
16868 preprocessed source. Delete obsolete comment about return
16869 values of handlers.
16870 (end_directive, directive_diagnostics, _cpp_handle_directive):
16871 Don't muck with line_extension.
16872 (directive_diagnostics): No need to issue warnings for
16873 linemarkers here.
16874 (_cpp_handle_directive): Issue warnings for linemarkers here,
16875 when appropriate. Dispatch linemarkers to do_linemarker, not
16876 do_line.
16877 (do_line): Code to handle linemarkers split out to do_linemarker.
16878 Convert escape sequences in filename argument, both places.
16879
16880 * cppmacro.c (quote_string): Rename cpp_quote_string and
16881 export. All callers changed.
16882 * cpplib.h (cpp_quote_string): Prototype.
16883 * cppmain.c (print_line): Call cpp_quote_string on to_file
16884 before printing it.
16885
16886 * doc/cpp.texi: Document that escapes are now interpreted in
16887 #line and in linemarkers, and that non-printing characters are
16888 converted to octal escapes when linemarkers are generated.
16889
16890Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
16891
16892 * emit-rtl.c (try_split): Use delete_insns.
16893 * recog.c (split_all_insns): Fix terminating condition.
16894
c882c7ac
RE
168952002-03-14 Richard Earnshaw <rearnsha@arm.com>
16896 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16897
16898 PR target/5828
16899 * arm.c (arm_output_epilogue): Fix floating-point register save
16900 adjustment when using a frame pointer.
16901
3f26edaa
RS
169022002-03-14 Richard Sandiford <rsandifo@redhat.com>
16903
16904 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
16905 * config/mips/mips.c (compute_frame_size): Retrofit them here.
16906 (save_restore_insns, mips_expand_epilogue): And here.
16907 (build_mips16_call_stub): And here.
16908 (mips_function_value): Use the new macros to decide whether a single
16909 or complex float can be returned in floating-point registers. Return
16910 a parallel rtx in the complex case.
16911
1e3881c2
JH
16912Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
16913
16914 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
16915 call after liveness analysis.
16916
16917 * recog.c (split_insn): Use delete_insn_and_edges.
16918
16919 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
16920 instructions to have branch prediction notes.
16921 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
16922
200ef634
GK
169232002-03-14 Geoffrey Keating <geoffk@redhat.com>
16924
16925 * configure.in: Don't pass -Wno-long-long to a ADA compiler
16926 that doesn't support it.
16927 * configure: Regenerate.
16928
0b82d204
JJ
169292002-03-13 Jakub Jelinek <jakub@redhat.com>
16930
16931 PR target/5626
16932 * config/sparc/sparc.md (normal_branch, inverted_branch,
16933 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
16934 inverted_fp_branch): Adjust calls to output_cbranch.
16935 Set length attribute.
16936 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
16937 output_v9branch. Set length attribute.
16938 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
16939 predicates.
16940 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
16941 (output_cbranch): Likewise. Handle far branches.
16942 (output_v9branch): Handle far branches.
16943 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
16944 Adjust prototypes.
16945 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
16946 noov_compare64_op predicates.
16947
7a8de19b
JM
169482002-03-13 Jason Merrill <jason@redhat.com>
16949
16950 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
16951 into the function and constify it.
16952 * gthr-dce.h, gthr-solaris.h: Likewise.
16953
2a55fd42
DE
169542002-03-13 David Edelsohn <edelsohn@gnu.org>
16955
16956 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
16957 * config/rs6000/rs6000.c (rs6000_va_arg): Use
16958 std_expand_builtin_va_arg if not ABI_V4.
16959
19c5b1cf
JM
169602002-03-13 Jason Merrill <jason@redhat.com>
16961
16962 * varasm.c (globalize_decl): New fn.
16963 (assemble_start_function): Use it.
16964 (asm_emit_uninitialized): Use it.
16965 (assemble_alias): Use it.
16966 (assemble_variable): Use it.
16967
2a15f5e1
HPN
169682002-03-13 Hans-Peter Nilsson <hp@axis.com>
16969
16970 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 16971 2002-03-12 internal visibility change.
2a15f5e1
HPN
16972 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
16973 visibility into SYMBOL_REF_FLAG.
16974
c0a3eeac
UW
169752002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
16976
16977 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
16978 VOIDmode operand. Add compile-time optimization for constant results.
16979
a1652cee
JM
169802002-03-12 Jason Merrill <jason@redhat.com>
16981
16982 * c-typeck.c (convert_for_assignment): Don't allow conversions
16983 between pointers and references. Only allow lvalues to convert to
16984 reference.
16985
c52a375d
HP
169862002-03-13 Hartmut Penner <hpenner@de.ibm.com>
16987
f0cce04a
ZW
16988 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
16989 before prologue, to avoid scheduling problems.
c52a375d 16990
e387e99b
JJ
169912002-03-13 Jakub Jelinek <jakub@redhat.com>
16992
16993 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
16994 (ELIMINABLE_REGS): Add sfp->sp.
16995 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
16996
169972002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
16998
16999 PR optimization/5892
17000 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
17001
4061c1a3
JJ
170022002-03-13 Jakub Jelinek <jakub@redhat.com>
17003
17004 * loop.c (basic_induction_var): Don't call convert_modes if mode
17005 classes are different.
17006
5b43fed1
RH
170072002-03-12 Richard Henderson <rth@redhat.com>
17008
9f53e965
RH
17009 PR optimization/5901
17010 * function.c (reposition_prologue_and_epilogue_notes): Position
17011 the markers after/before the last/first insn not deleted.
17012
170132002-03-12 Richard Henderson <rth@redhat.com>
17014
17015 PR optimization/5878
5b43fed1
RH
17016 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
17017 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
17018 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
17019
17020 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
17021 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
17022 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
17023
17024 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
17025 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
17026 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
17027 also. Don't set it if not flag_pic.
17028 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
17029 to be INVALID_REGNUM when not used.
17030
4e9bb42b
AH
170312002-03-13 Aldy Hernandez <aldyh@redhat.com>
17032
5b43fed1
RH
17033 * expmed.c (store_bit_field): Reset alias set for memory.
17034 (extract_bit_field): Same.
4e9bb42b 17035
2f9834e8
KG
170362002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17037
17038 * c-common.c (c_tree_code_type, c_tree_code_length,
17039 c_tree_code_name, add_c_tree_codes): Delete.
17040 * c-common.h (add_c_tree_codes): Delete.
17041 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
17042 Define.
17043 * c-objc-common.c (c_objc_common_init): Don't call
17044 add_c_tree_codes, instead set lang_unsafe_for_reeval.
17045 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
17046 objc_tree_code_name, add_objc_tree_codes): Delete.
17047 (objc_init): Don't call add_objc_tree_codes.
17048 * objc/objc-lang.c (tree_code_type, tree_code_length,
17049 tree_code_name): Define.
17050 * toplev.c (lang_independent_init): Don't set
17051 tree_code_length[IDENTIFIER_NODE].
17052 * tree.c (tree_code_type, tree_code_length, tree_code_name):
17053 Delete definitions, moved to language front-ends.
17054 * tree.def (IDENTIFIER_NODE): Hardwire the length.
17055 * tree.h (tree_code_type, tree_code_length, tree_code_name):
17056 Const-ify.
17057 (tree_code_length): Change type to unsigned char.
17058
36ad2436
RH
170592002-03-12 Richard Henderson <rth@redhat.com>
17060
17061 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
17062 internal visibility change.
17063
0ae02efa
BW
170642002-03-12 Bob Wilson <bob.wilson@acm.org>
17065
17066 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
17067 validize_mem() instead of change_address to avoid clobbering
17068 memory attributes.
17069
35bb2bee
NB
170702002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
17071
17072 * c-lex.h (position_after_whitespace): Remove.
17073
62ae2529
JJ
170742002-03-12 Jakub Jelinek <jakub@redhat.com>
17075
17076 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
17077 (lex_string): Use unsigned char pointers.
17078
6a45951f
UW
170792002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
17080
17081 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
17082 is not a valid memory_operand.
17083
e2fb85da
BW
170842002-03-12 Bob Wilson <bob.wilson@acm.org>
17085
17086 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
17087 * config/xtensa/lib1funcs.asm: Fix copyright to include
17088 special case for libgcc files.
17089 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
17090 (__divsi3): Likewise.
17091 (__umodsi3): Likewise.
17092 (__modsi3): Likewise.
17093 * config/xtensa/lib2funcs.S: Fix copyright to include
17094 special case for libgcc files.
17095
5b8619f8
TR
170962002-03-12 Tom Rix <trix@redhat.com>
17097
17098 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 17099 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
17100 (ignore_library): Same.
17101
089c8f97
BW
171022002-03-12 Bob Wilson <bob.wilson@acm.org>
17103
17104 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
17105
958c70ff
BW
171062002-03-12 Bob Wilson <bob.wilson@acm.org>
17107
17108 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
17109 to function_section before writing out the constant pool.
17110
a65c591c
DE
171112002-03-12 David Edelsohn <edelsohn@gnu.org>
17112
17113 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
17114 zero_constant.
17115 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
17116
171172002-03-12 Alan Modra <amodra@bigpond.net.au>
17118
17119 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
17120 (adddi3): Likewise.
17121 (movdf): Likewise.
17122 (movdi): Likewise.
17123 (cmpsi splitter): Likewise.
17124 (modsi3): Fail if <= 0.
17125 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
17126 redundant test when HOST_BITS_PER_WIDE_INT != 32.
17127 (reg_or_sub_cint64_operand): Likewise.
17128 (num_insns_constant_wide): Optimize sign extension.
17129 (rs6000_legitimize_address): Likewise.
17130
17720332
AM
171312002-03-12 Andrew MacLeod <amacleod@redhat.com>
17132
17133 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
17134 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
17135
cd49f073
AM
171362002-03-12 Andrew MacLeod <amacleod@redhat.com>
17137
17138 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
17139 address calculation.
17140
6a4e49c1
UW
171412002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
17142
17143 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
17144 scratch register to DImode / TImode.
17145 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
17146 register used does not overlap the target.
17147
54b6670a
KG
171482002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17149
17150 * Makefile.in (debug.o): Depend on debug.h.
17151 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
17152 * debug.c (do_nothing_debug_hooks): Likewise.
17153 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
17154 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
17155 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
17156 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
17157 * dwarfout.c (dwarf_debug_hooks): Likewise.
17158 * integrate.c (output_inline_function): Likewise.
17159 * objc/objc-act.c (synth_module_prologue): Likewise.
17160 * sdbout.c (sdb_debug_hooks): Likewise.
17161 * toplev.c (debug_hooks): Likewise.
17162 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
17163
2465bf76
KG
171642002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17165
17166 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
17167 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
17168 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
17169 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
17170 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
17171 * defaults.h (POINTER_SIZE): Define.
17172 * doc/tm.texi (POINTER_SIZE): Document default.
17173
53f3e9ca
KG
171742002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17175
17176 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
17177
44d3eb5b
RH
171782002-03-11 Richard Henderson <rth@redhat.com>
17179
17180 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
17181 if rebuild_label_notes_after_reload.
17182
4a085d2e
HPN
171832002-03-12 Hans-Peter Nilsson <hp@axis.com>
17184
17185 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
17186 emit pic register load if "internal" visibility.
17187 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
17188 (cris_expand_builtin_va_arg): Do all computations on trees.
17189
bc204393
RH
171902002-03-11 Richard Henderson <rth@redhat.com>
17191
17192 * rtlanal.c: Include recog.h.
17193 (keep_with_call_p): Fix thinko.
17194 * Makefile.in (rtlanal.o): Update dependencies.
17195
6b8b9d7b
CM
171962002-03-11 Chris Meyer <cmeyer@gatan.com>
17197
17198 * genflags.c (gen_insn): Use IS_VSPACE.
17199 * genoutput.c (output_insn_data): Likewise.
17200 (process_template): Likewise.
17201
6c40858f
RH
172022002-03-11 Richard Henderson <rth@redhat.com>
17203
17204 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
17205
40adaa27
NB
172062002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
17207
17208 * Makefile.in: Update.
6c40858f 17209 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 17210 Update documentation.
6c40858f
RH
17211 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
17212 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 17213
049b03f4
ZW
172142002-03-11 Zack Weinberg <zack@codesourcery.com>
17215
17216 * Makefile.in: Give texi2pod its input file as a command line
17217 argument, not on stdin.
17218
61eece67
DN
172192002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
17220 Daniel Berlin <dan@dberlin.org>
17221
17222 C++ alias analysis improvement.
f0cce04a 17223 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
17224 classes too.
17225
a65c591c
DE
172262002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
17227
ff080aba
UW
17228 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
17229
1682dbb1
DR
172302002-03-11 Douglas B Rupp <rupp@gnat.com>
17231
fa2d765a
DR
17232 * toplev.c (vms_fopen): Remove, not needed.
17233
6f1fd286
DR
17234 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
17235
b230e057
DR
17236 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
17237
cb9a8e97
DR
17238 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
17239 for FP, already done later.
17240
1682dbb1
DR
17241 * toplev.c (debug_args): Add entry for VMS_DEBUG.
17242 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
17243
3fcaac1d
RS
172442002-03-11 Richard Sandiford <rsandifo@redhat.com>
17245
17246 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
17247 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
17248 LARGEST_EXPONENT_IS_NORMAL for the given mode.
17249 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
17250 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
17251 (ediv, emul, eldexp, esqrt): Likewise.
17252 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
17253 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
17254 (saturate): New function.
17255 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
17256 (make_nan): Use a saturation value instead of a NaN if
17257 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
17258 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
17259 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
17260 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
17261 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
17262 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
17263 !ROUND_TOWARDS_ZERO.
17264 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
17265 (ROUND_TOWARDS_ZERO): Document.
17266
d25558be
AJ
172672002-03-11 Andreas Jaeger <aj@suse.de>
17268
17269 * cfg.c (dump_flow_info): Remove unused variable.
17270
c71f9ae7
HPN
172712002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
17272
17273 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
17274 computations on trees.
17275
561c9153
RH
172762002-03-10 Richard Henderson <rth@redhat.com>
17277
932b4e3e 17278 PR 5693:
561c9153
RH
17279 * reload.c (copy_replacements_1): New.
17280 (copy_replacements): Use it to recurse through the rtx.
17281
26b738be
RH
172822002-03-10 Richard Henderson <rth@redhat.com>
17283
17284 * loop.c (strength_reduce): Compute number of iterations as
17285 unsigned HOST_WIDE_INT.
17286
8d8a083e
RH
172872002-03-10 Richard Henderson <rth@redhat.com>
17288
17289 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
17290 to move away from the end of the block.
17291
32810ba3
NB
172922002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
17293
17294 PR preprocessor/5899
17295 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 17296
2b03d201
KG
172972002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17298
f90c544c
KG
17299 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
17300
2b03d201
KG
17301 * attribs.c (decl_attributes): Fix signed/unsigned warning.
17302
3ec1b4cb
HPN
173032002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
17304
17305 * config/mmix/mmix.c: Improve comments.
17306 (mmix_target_asm_function_prologue): Drop variable
17307 empty_stack_frame. Don't allocate unused slot above fp.
17308 (mmix_target_asm_function_epilogue): Mirror prologue changes.
17309 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
17310 brace in first column.
17311 (enum reg_class): Ditto.
17312 (FIRST_PARM_OFFSET): Now 0.
17313 (USER_LABEL_PREFIX): Remove #if 0:d definition.
17314
27e486c5
KG
173152002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17316
17317 * combine.c (make_extraction): Fix error in last change.
17318
0139adca
KG
173192002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17320
17321 * c4x.c (c4x_fp_reglist): Const-ify.
17322 * cris.c (cris_print_operand): Likewise.
17323 * i386.c (ix86_va_arg): Likewise.
17324 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
17325 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
17326 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
17327 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
17328 * mcore.h (regno_reg_class): Likewise.
17329 * mips.c (gen_int_relational): Likewise.
17330 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
17331 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 17332 * pdp11.c (move_costs): Likewise.
0139adca
KG
17333 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
17334 * s390.c (s390_branch_condition_mnemonic, regclass_map):
17335 Likewise.
17336 * s390.h (regclass_map): Likewise.
17337 * sh.c (shift_amounts): Likewise.
a4334c36 17338 * sh.md (rotlsi3): Likewise.
0139adca 17339
889b90a1
GK
173402002-03-09 Geoffrey Keating <geoffk@redhat.com>
17341
17342 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
17343 (ne0+5): Use new clobber to generate proper shift pattern.
17344 Patch by Michael Matz <matz@kde.org>.
17345
2877e0ae
AS
173462002-03-09 Andreas Schwab <schwab@suse.de>
17347
17348 * gcc.c (validate_all_switches): Also handle `%W{...}'.
17349
79b51cd7
GK
173502002-03-09 Geoffrey Keating <geoffk@redhat.com>
17351
17352 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
17353
e0f1be5c
JJ
173542002-03-09 Jakub Jelinek <jakub@redhat.com>
17355
17356 PR middle-end/5877
17357 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
17358 even for non-representable constants.
17359
0a7ec763
RK
17360Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17361
93fe8e92
RK
17362 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
17363 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
17364 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
17365 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
17366 (pop_function_context): Compute MAY_SHARE parameter for
17367 fixup_var_refs.
17368 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
17369 (gen_mem_addressof): Call fixup_var_refs with new parm.
17370
0a7ec763
RK
17371 * combine.c (make_extraction): Don't make extension of CONST_INT.
17372
a85cd407
AO
173732002-03-09 Alexandre Oliva <aoliva@redhat.com>
17374
9445b814
AO
17375 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
17376 in o32 and o64 ABIs.
17377 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
17378 but getting fixed-size structs passed in registers regardless of
17379 padding in o32 and o64 ABIs.
17380
a85cd407
AO
17381 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
17382 offset before loading address of argument passed by transparent
17383 reference.
17384
c51fbe40
JDA
173852002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
17386
17387 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
17388
918e70dd
AO
173892002-03-09 Alexandre Oliva <aoliva@redhat.com>
17390
17391 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
17392 marker such that registers after it are saved.
17393
3070dd00
KG
173942002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17395
17396 * sparc.c (arith_4096_operand): Fix error in last change.
17397
e25d11b0
AO
173982002-03-08 Alexandre Oliva <aoliva@redhat.com>
17399
17400 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
17401 defaults for MEABI.
17402
41daaf0e
AH
174032002-03-08 Aldy Hernandez <aldyh@redhat.com>
17404
5b43fed1
RH
17405 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
17406 vectors.
41daaf0e 17407
fa139b00
AH
174082002-03-08 Aldy Hernandez <aldyh@redhat.com>
17409
5b43fed1 17410 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 17411
c51d95ec
JH
17412Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
17413
17414 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
17415 removed; fix return value.
17416 * combine.c (combine_instructions): Dirtify blocks where we failed to
17417 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
17418 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
17419
3b25fbfe
KG
174202002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17421
17422 * gcse.c (insert_insn_end_bb): Fix typo in last change.
17423
189ae0f4
JH
17424Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
17425
17426 * recog.c (peephole2_optimize): Re-distribute EH edges.
17427
24965e7a
NB
174282002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
17429
17430 * expr.c (expand_expr): Use unsave lang hook.
17431 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
17432 (LANG_HOOKS_INITIALIZER): Update.
17433 * langhooks.h (struct lang_hooks): New hook unsave.
17434 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
17435 (unsave_expr_1): Remove unused lang_unsave_expr_now.
17436 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
17437 (unsave_expr_now): Remove.
17438 * tree.h (unsave_expr_now, lang_unsave,
17439 lang_unsave_expr_now): Remove.
17440 (lhd_unsave): New.
17441
1e4e95d6
AJ
174422002-03-08 Andreas Jaeger <aj@suse.de>
17443
17444 * flow.c (propagate_block_delete_insn): Remove unused variable.
17445
054ef905
KH
174462002-03-08 Kazu Hirata <kazu@hxi.com>
17447
17448 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
17449 insn length for memory load/store.
17450
5304400d 174512002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 17452
5304400d
CR
17453 * doc/install.texi (--with-libiconv-prefix): Document.
17454
81034129
MB
174552002-03-08 Michael Y. Brukman <myb2@cornell.edu>
17456
17457 * doc/sourcebuild.texi: Fix typo.
17458
71db7d03
JJ
174592002-03-08 Jakub Jelinek <jakub@redhat.com>
17460
17461 PR c/3711
17462 * builtins.c (std_expand_builtin_va_arg): Do all computations on
17463 trees.
17464
127c1ba5
RK
17465Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17466
17467 * rtl.c (copy_most_rtx): Move from here ...
17468 * emit-rtl.c (copy_most_rtx): ... to here.
17469
8a13c092
AO
174702002-03-08 Alexandre Oliva <aoliva@redhat.com>
17471
5faae4f7
AO
17472 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
17473 SUBTARGET_CPP_SIZE_SPEC.
17474 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
17475
8a13c092
AO
17476 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
17477
4ec59de2
MH
174782002-03-07 Matt Hiller <hiller@redhat.com>
17479
17480 * gensupport.c (first_dir_md_include): Renamed from include;
17481 change all references.
17482 (last_dir_md_include): Renamed from last_include; change all
17483 references.
17484 (init_md_reader): Unconditionally initialize base_dir whether or
17485 not filename is a relative path.
17486
12f61e77
AO
174872002-03-07 Alexandre Oliva <aoliva@redhat.com>
17488
95356058
AO
17489 * config/fp-bit.c (_unord_f2): Compile it in even if
17490 US_SOFTWARE_GOFAST is enabled.
17491
12f61e77
AO
17492 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
17493 NULL_RTX. Set all HFmode operations as NULL_RTX.
17494 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
17495 NULL_RTX, try reversing the comparison and the operands.
17496
6d7a1c4c
UW
174972002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
17498
17499 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
17500 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
17501 and MATCH_OP_DUP.
17502
66d54344
JH
17503Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
17504
17505 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
17506
068473ec
JH
17507Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
17508
17509 * basic-block.h (fixup_abnormal_edges): Declare.
17510 * reload1.c (fixup_abnormal_edges): New function.
17511 * reg-stack.c (convert_regs): Use it.
17512
17513 * gcse.c (insert_insn_end_bb): Handle trapping insns.
17514
17515 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
17516
71925bc0
RS
175172002-03-07 Richard Sandiford <rsandifo@redhat.com>
17518
17519 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
17520 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
17521 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
17522 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
17523 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
17524 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
17525 unless x and y could be infinite.
17526 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
17527 Check that the common type of both arguments is a real, even for
17528 targets without unordered comparisons. Allow an integer argument
17529 to be compared against a real.
17530 (expand_tree_builtin): Use expand_unordered_cmp.
17531 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
17532 * cse.c (fold_rtx): Likewise. Fix indentation.
17533 * fold-const.c (fold_real_zero_addition_p): New.
17534 (fold): Use it, and the new HONOR_... macros.
17535 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
17536 * jump.c (reversed_comparison_code_parts): After searching for
17537 the true comparison mode, use HONOR_NANS to decide whether it
17538 can be safely reversed.
17539 (reverse_condition_maybe_unordered): Remove IEEE check.
17540 * simplify-rtx.c (simplify_binary_operation): Use the new macros
17541 to decide which simplifications are valid. Allow the following
17542 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
17543 and (a - -b) to (a + b).
17544 (simplify_relational_operation): Use HONOR_NANS.
17545 * doc/tm.texi: Document the MODE_HAS_... macros.
17546
145d3bf2
RE
175472002-03-07 Richard Earnshaw <rearnsha@arm.com>
17548
17549 * combine.c (simplify_comparison): If simplifying a logical shift
17550 right and compare with constant, force the comparison to unsigned.
17551
76a773f3
AH
175522002-03-07 Aldy Hernandez <aldyh@redhat.com>
17553
5b43fed1 17554 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 17555
5b43fed1
RH
17556 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
17557 -mabi=no-altivec
17558 (alt_reg_names): Remove % for vrsave.
76a773f3 17559
ab55f58c
RH
175602002-03-06 Richard Henderson <rth@redhat.com>
17561
5ddec02e 17562 PR optimization/5844
ab55f58c
RH
17563 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
17564 if used indicates we've already emitted one copy of an operand.
17565 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
17566 (gen_split): Supply a non-null used.
17567
e16e3291
UW
175682002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
17569
5b43fed1 17570 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 17571
1e4e95d6 17572 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
17573 but simply fail if the expression is too complex to simplify.
17574 (simplify_gen_binary): Handle simplify_plus_minus failures.
17575
2ca6672b
JH
17576Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
17577
17578 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
17579 consistently call delete_trivially_dead_insns after CSE and GCSE;
17580 fix DFI_life dumping; do jump threading after liveness; do crossjumping
17581 after liveness2; update comment in last crossjumping.
17582 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
17583
31d0dd4f
JL
17584Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
17585
d094b0b3
JL
17586 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
17587 after completing fast dead code elimination.
17588
31d0dd4f
JL
17589 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
17590 COMPARE operator.
1e4e95d6 17591
f2b958b1
PE
175922002-03-06 Phil Edwards <pme@gcc.gnu.org>
17593
17594 * version.c: Fix misplaced leading blanks on first line.
17595
a2877a09
JH
17596Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
17597
17598 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
17599
fe477d8b
JH
17600Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
17601
17602 * cfgcleanup.c (mentions_nonequal_regs): New function.
17603 (thread_jump): Use it.
17604 * toplev.c (rest_of_compilation): Run jump threading after
17605 liveness.
17606
2041cde4
JJ
176072002-03-06 Jakub Jelinek <jakub@redhat.com>
17608
17609 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
17610 patch.
17611
82d68d46
JH
17612Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
17613
17614 * predict.c (estimate_bb_frequencies): Do not reload the
17615 frequencies from notes.
17616
3dec4024
JH
17617Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
17618
17619 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
17620 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
17621
17622 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
17623 delete_noop_moves): Return indeger.
17624 * flow.c (ndead): New variable.
17625 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
17626 BB argument; update callers.
17627 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
17628 (life_analysis): Do not call purge_all_dead_edges.
17629 (update_life_info): Return number of deleted insns; print statistics.
17630 (update_life_info_in_dirty_blocks): likewise.
17631 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
17632 return number of insns deleted.
17633
17634 * cse.c: Include timevar.h
17635 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
17636 iterate until stabilizes; print statistics; return number of killed
17637 insns.
17638 * Makefile.in: (cse.o): Add timevar.h dependency
17639 * rtl.h (delete_trivially_dead_insns): New.
17640 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
17641 * toplev.c (rest_of_compilation): Update callers.
17642
17643 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
17644 (try_optimize_cfg): Do not update liveness.
17645 (cleanup-cfg): Loop until try_optimize_cfg and dead code
17646 removal stabilizes; use delete_trivially_dead_insns.
17647
17648 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
17649
c7544dd8
ZW
176502002-03-05 Zack Weinberg <zack@codesourcery.com>
17651
17652 * cppmain.c (setup_callbacks): Disable #pragma and #ident
17653 callbacks when processing assembly language.
17654
50b424a9
JDA
176552002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
17656
17657 * pa.h (ASM_FILE_END): Define.
17658 * som.h (ASM_FILE_END): Delete.
17659
17660 * pa.c (function_arg): Don't pass floats in general registers in
17661 indirect calls if TARGET_ELF32.
17662
6185f217
RH
176632002-03-05 Richard Henderson <rth@redhat.com>
17664
17665 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
17666
3020a4b2
DS
176672002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
17668
17669 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
17670
65649daa
JJ
176712002-03-05 Jakub Jelinek <jakub@redhat.com>
17672
17673 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
17674 -r command line. Don't hide any symbols if not building
17675 shared libgcc.
17676
5a1a3e5e
JH
17677Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
17678
17679 * cfg.c (dump_flow_info): Warn about profile mismatches.
17680 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
17681 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
17682
170c56da
JJ
176832002-03-05 Jakub Jelinek <jakub@redhat.com>
17684
17685 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
17686 wide volatile memory by parts.
17687
6d051694
JJ
176882002-03-05 Jakub Jelinek <jakub@redhat.com>
17689
17690 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
17691 is NULL.
17692
28bcfd4d
RH
176932002-03-05 Richard Henderson <rth@redhat.com>
17694
5b43fed1 17695 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 17696
75227a33
GK
176972002-03-04 Geoffrey Keating <geoffk@redhat.com>
17698
17699 * toplev.c (documented_lang_options): Document more
17700 language-specific options.
17701 * doc/invoke.texi (Warning Options): Correct documentation for
17702 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
17703 * c-decl.c (c_decode_option): Use a table to handle warning options.
17704
4f1aac42
HPN
177052002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
17706
17707 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
17708 parameter to mmix_encode_section_info.
17709 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
17710 relocatably. Always produce ELF, not mmo if linking relocatably.
17711 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
17712 first is non-zero, don't add symbol prefix.
17713 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
17714 prototype accordingly.
17715
12345543
KW
177162002-03-04 Krister Walfridsson <cato@df.lth.se>
17717
17718 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
17719
8e97db8f
JM
177202002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
17721
17722 * configure.in: Increase required makeinfo version to 4.1.
17723 * configure: Regenerate.
17724
06487868
GK
177252002-03-04 Geoffrey Keating <geoffk@redhat.com>
17726
17727 * .cvsignore: Remove *.info* and genrtl*; these files are generated
17728 elsewhere now.
17729
cff42170
JM
177302002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
17731
17732 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
17733 * doc/invoke.texi: Fix @math uses.
17734
974a7f56
JH
17735Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
17736
17737 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
17738 removal
17739
3b7d0e98
AH
177402002-03-03 Aldy Hernandez <aldyh@redhat.com>
17741
5b43fed1
RH
17742 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
17743 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 17744
5b43fed1 17745 * config/rs6000/t-ppcendian: New.
3b7d0e98 17746
65f2f288
HB
177472002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
17748
17749 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
17750 nonimmediate_src_operand and nonimmediate_lsrc_operand to
17751 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
17752
8ce0a8a5
RH
177532002-03-03 Richard Henderson <rth@redhat.com>
17754
17755 * toplev.c (rest_of_decl_compilation): Revert last two changes.
17756
ba31d94e
ZW
177572002-03-03 Zack Weinberg <zack@codesourcery.com>
17758
17759 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
17760 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
17761 tree.c, config/m68k/m68k.c:
17762 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
17763 REAL_ARITHMETIC blocks unconditional. Delete some further
17764 #ifdef blocks predicated on REAL_ARITHMETIC.
17765 * flags.h, toplev.c: Delete remaining references to
17766 flag_pretend_float.
17767
17768 * doc/invoke.texi: Remove documentation of -fpretend-float.
17769 * doc/tm.texi: Describe the various REAL_* macros as provided by
17770 real.h, not by the target configuration files.
17771
17772 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
17773 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
17774 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
17775 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
17776 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
17777 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
17778 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
17779 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
17780 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
17781 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
17782 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
17783 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
17784 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
17785 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
17786 config/xtensa/xtensa.h:
17787 Do not define, undefine, or mention in comments any of
17788 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
17789 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
17790 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
17791 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
17792 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
17793 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
17794 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
17795 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
17796 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
17797
9a571cfd
KG
177982002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17799
e81dd381
KG
17800 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
17801 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
17802 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
17803 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
17804 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
17805 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
17806 Delete.
17807 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 17808 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 17809
9a571cfd
KG
17810 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
17811 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
17812 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
17813
ca7558fc
KG
178142002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17815
17816 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
17817 lieu of explicit sizeof/sizeof.
17818 * i386.c (override_options, ix86_init_mmx_sse_builtins,
17819 ix86_expand_builtin): Likewise.
17820 * mips.c (mips_add_gc_roots): Likewise.
17821 * mmix.c (mmix_output_condition): Likewise.
17822 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
17823 altivec_init_builtins): Likewise.
17824 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
17825 * cppexp.c (Nsuff, parse_number): Likewise.
17826 * cppinit.c (builtin_array_end): Likewise.
17827 * gcc.c (n_default_compilers, process_command): Likewise.
17828 * genpreds.c (output_predicate_decls): Likewise.
17829 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
17830 * lcm.c (N_ENTITIES): Likewise.
17831 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 17832
41c78c88
RH
178332002-03-03 Richard Henderson <rth@redhat.com>
17834
17835 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
17836 for types or labels.
17837
9e9b71e6
RH
178382002-03-03 Richard Henderson <rth@redhat.com>
17839
17840 * c-decl.c (start_decl): Initialized variables are not common.
17841
c26a6db8
PB
178422002-03-02 Per Bothner <per@bothner.com>
17843
17844 * gcc.c (option_map): Suport new --bootclasspath option.
17845 --CLASSPATH is now just an alias for --classpath.
17846
9e8aab55
RH
178472002-03-02 Richard Henderson <rth@redhat.com>
17848
17849 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
17850 load if "internal" visibility.
17851 * doc/extend.texi: Document visibility meanings.
17852
b3bbd220
RH
178532002-03-02 Richard Henderson <rth@redhat.com>
17854
17855 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
17856 to functions as well.
17857
b14707c3
RH
178582002-03-02 Richard Henderson <rth@redhat.com>
17859
17860 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
17861 (handle_visibility_attribute): Don't call assemble_visibility.
17862 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
17863 without asmspec. Invoke assemble_alias when needed.
17864 * varasm.c (maybe_assemble_visibility): New.
17865 (assemble_start_function, assemble_variable, assemble_alias): Use it.
17866
b2003250
RH
178672002-03-02 Richard Henderson <rth@redhat.com>
17868
17869 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
17870 invoke ENCODE_SECTION_INFO with first call flag.
17871
17872 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
17873 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 17874 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
17875 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
17876 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
17877 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
17878 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
17879 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
17880 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
17881 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
17882 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
17883 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
17884 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
17885 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
17886 config/mcore/mcore-protos.h, config/mcore/mcore.c,
17887 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
17888 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 17889 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
17890 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
17891 config/sh/sh.h, config/sparc/sparc.h,
17892 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
17893 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
17894 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
17895 FIRST argument. As needed, examine it and do nothing.
17896
ba31d94e 17897 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
17898 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
17899 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
17900
17901 * config/arm/t-pe (pe.o): Add dependencies.
17902
5c60f03d
KG
179032002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17904
17905 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
17906 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
17907 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
17908 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
17909 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
17910 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
17911 * defaults.h (BITS_PER_UNIT): Define.
17912 * doc/tm.texi (BITS_PER_UNIT): Document default value.
17913
86855e8c
KH
179142002-03-02 Kazu Hirata <kazu@hxi.com>
17915
17916 * config/h8300/h8300-protos.h: Add a prototype for
17917 compute_a_shift_length.
17918 * config/h8300/h8300.c (h8300_asm_insn_count): New.
17919 (compute_a_shift_length): Likewise.
17920 (h8300_adjust_insn_length): Do not adjust insn length of shift
17921 insns.
17922 * config/h8300/h8300.md (anonymous shift patterns): Use
17923 compute_a_shift_length.
17924
f6041ed8
RK
17925Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17926
35aa3c1c
RK
17927 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
17928 trunc_int_for_mode.
17929
f6041ed8
RK
17930 * emit-rtl.c (offset_address): Call update_temp_slot_address.
17931
27b41650
KG
179322002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17933
17934 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
17935 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
17936 * flags.h (flag_zero_initialized_in_bss): Declare.
17937 * toplev.c (flag_zero_initialized_in_bss): New flag.
17938 (lang_independent_options): Add flag_zero_initialized_in_bss.
17939 * tree.c (initializer_zerop): New function.
17940 * tree.h (initializer_zerop): Declare.
17941 * varasm.c (assemble_variable): If we can emit bss, put zero
17942 initializers in the bss section.
17943
ca734b39
AM
179442002-03-02 Alan Modra <amodra@bigpond.net.au>
17945
17946 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
17947 like more than one symbol per .weak directive.
17948
49b72306
RH
179492002-03-01 Richard Henderson <rth@redhat.com>
17950
17951 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
17952 adjust argument_pointer by pretend_args_size.
17953 (ia64_va_start): Adjust va_start address by -pretend_args_size.
17954
fbf0fe41
KH
179552002-03-01 Kazu Hirata <kazu@hxi.com>
17956
17957 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
17958
0010687d
JH
17959Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
17960
17961 * toplev.c (rest_of_compilation): Delete dead jumptables before
17962 loop.
17963 * flow.c (delete_dead_jumptables): Make global.
17964 * rtl.h (delete_dead_jumptables): Declare.
17965
9429c84c
DE
179662002-03-01 David Edelsohn <edelsohn@gnu.org>
17967
17968 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
17969 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 17970 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 17971
f0b6f9a6
KH
179722002-03-01 Kazu Hirata <kazu@hxi.com>
17973
17974 * config/h8300/h8300-protos.h: Fix formatting.
17975 * config/h8300/h8300.c: Likewise.
17976 * config/h8300/h8300.h: Likewise.
17977
bc8db8a1
KH
179782002-03-01 Kazu Hirata <kazu@hxi.com>
17979
17980 * config/h8300/h8300.c (print_operand): Support 16-bit
17981 constant addresses.
17982 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
17983
32b069d3
RH
179842002-02-28 Richard Henderson <rth@redhat.com>
17985
17986 * expmed.c (store_bit_field): Prevent generation of CONCATs;
17987 pun complex values as integers; use gen_lowpart instead of
17988 gen_rtx_SUBREG.
17989 (extract_bit_field): Likewise.
17990
79c4e63f
AM
179912002-03-01 Alan Modra <amodra@bigpond.net.au>
17992 David Edelsohn <edelsohn@gnu.org>
17993
17994 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
17995 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
17996 (SUPPORTS_WEAK): Likewise.
17997 * output.h (add_weak): Add tree param.
17998 * varasm.c (add_weak): Likewise. Save decl.
17999 (struct weak_syms): Add decl field.
18000 (mark_weak_decls): New function.
18001 (init_varasm_once): ggc_add_root mark_weak_decls.
18002 (assemble_start_function): Use ASM_WEAKEN_DECL.
18003 (assemble_variable): Likewise.
18004 (assemble_alias): Likewise.
18005 (declare_weak): Pass decl to add_weak.
18006 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
18007 (remove_from_pending_weak_list): Declare and define for
18008 ASM_WEAKEN_DECL.
18009 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
18010 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
18011 * defaults.h (SUPPORTS_WEAK): Likewise.
18012 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
18013 .weak for code sym. Do emit .size for descriptor sym.
18014 (ASM_DECLARE_FUNCTION_SIZE): Define.
18015 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
18016 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
18017 .lglobl unless TARGET_XCOFF. Formatting fixes.
18018 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
18019 .weak for code sym.
18020 (HANDLE_PRAGMA_WEAK): Remove.
18021 (ASM_WEAKEN_LABEL): Remove.
18022 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
18023
6f30f1f1
JM
180242002-03-01 Jason Merrill <jason@redhat.com>
18025
18026 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
18027 (TARGET_EXPR_CLEANUP): New macro.
18028
7879b81e
SE
180292002-02-28 Steve Ellcey <sje@cup.hp.com>
18030
18031 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
18032 to take ptr_extend into account as third type of extension.
18033 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
18034 fields used by SUBREG_PROMOTED_UNSIGNED_P.
18035 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
18036 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
18037 * calls.c (precompute_arguments): Use new macro.
18038 (expand_call): Ditto.
18039 * combine.c (nonzero_bits): Ditto.
18040 (record_promoted_value): Ditto.
18041 * expr.c (store_expr): Ditto.
18042 (expand_expr): Ditto.
18043 * function.c (assign_parms): Ditto.
18044
42d579d8
AO
180452002-02-28 Alexandre Oliva <aoliva@redhat.com>
18046
18047 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
18048 override -shared and -shared-libgcc.
18049
e0054185
DB
180502002-02-28 David O'Brien <obrien@FreeBSD.org>
18051
18052 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
18053 of "ultrasparc".
18054 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
18055 to be broken.
18056
abda4f1c
RH
180572002-02-28 Richard Henderson <rth@redhat.com>
18058
18059 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
18060 4 cycle latency from MM producers.
18061 (ia64_internal_sched_reorder): Likewise with pipeline flush.
18062
c0f08649
JJ
180632002-02-28 Jakub Jelinek <jakub@redhat.com>
18064
18065 * mklibgcc.in: Don't use GNU make extension.
18066
f79f2651
NB
180672002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
18068
18069 * c-parse.in (STATIC): New terminal.
18070 (scspec): New non-terminal. Update productions accordingly.
18071 (program): Remove bogus ifc / end ifc.
18072 (array_declarator): Simplify production using STATIC.
18073
001e3fee
JM
180742002-02-28 Jim Meyering <meyering@lucent.com>
18075
18076 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
18077 \a still means TARGET_BELL.
18078
89076bb3
RH
180792002-02-28 Richard Henderson <rth@redhat.com>
18080
18081 * haifa-sched.c (sched_emit_insn): New.
18082 (schedule_block): Use last_scheduled_insn to track last insn.
18083 * sched-int.h (sched_emit_insn): Prototype.
18084 * config/ia64/ia64.c (last_issued): Remove.
18085 (ia64_variable_issue): Don't set it.
18086 (nop_cycles_until): Use sched_emit_insn.
18087
e3aaacf4
AM
180882002-02-28 Andrew MacLeod <amacleod@redhat.com>
18089
18090 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
18091 extended constants.
18092
7f473594
KH
180932002-02-28 Kazu Hirata <kazu@hxi.com>
18094
18095 * config/h8300/h8300.c: Fix formatting.
18096 * config/h8300/h8300.h: Likewise.
18097
b96c434c
MM
180982002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
18099
18100 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
18101 which may overwrite the high byte of the frame pointer.
18102
9b420a6a
BT
181032002-02-28 Bo Thorsen <bo@suse.de>
18104
18105 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
18106 (STARTFILE_SPEC): Add 64 bit files.
18107 (ENDFILE_SPEC): Likewise.
18108
6f30f1f1 181092002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
18110
18111 * c-decl.c (finish_function): Only warn about missing return
18112 statement with -Wreturn-type.
18113
70da1d03
JH
18114Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
18115
18116 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
18117
18118 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
18119 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
18120
38c1593d
JH
18121Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
18122
18123 * basic-block.h (BB_REACHABLE): Renumber.
18124 (BB_DIRTY, BB_NEW): New flags.
18125 (clear_bb_flags): Declare.
18126 (update_life_info_in_dirty_blocks): Declare.
18127 * cfg.c (clear_bb_flags): New function.
18128 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
18129 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
18130 reorder_insns, emit_insn_after): Mark block as dirty.
18131 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
18132 (update_life_info_in_dirty_blocks): New function.
18133 * recog.c (apply_change_group): Dirtify block.
18134
18135 * cse.c (cse_insn): Reorder emitting of jump insn to keep
18136 cfg consistent.
18137 * gcse.c (delete_null_pointer_checks): Likewise.
18138
18139 * toplev.c (dump_file_index): Move cse2 after bp,
18140 add DFI_null
18141 (dump_file_info): Similary.
18142 (rest_of_compilation): Avoid most of CFG rebuilds;
18143 do first if converision after null pointer checks, do cse2
18144 after branch prediction; avoid full liveness rebuild after
18145 initializing subregs.
18146 * invoke.texi (-d options): Document -du, renumber.
18147
18148 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
18149 (notice_new_block): Do not set BB_UPDATE_LIFE.
18150 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
18151 merge_blocks_move_successor_nojumps, merge_blocks,
18152 try_crossjump_to_edge): Likewise.
18153 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
18154 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
18155 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
18156 (merge_of_block): Do not use life_data_ok.
18157 (find_if_case_1): Do not use SET_UPDATE_LIFE.
18158 (if_convert): Use BB_DIRTY mechanizm to update life.
18159 * lcm.c (optimize_mode_switching): Update
18160 update_life_info_in_dirty_blocks
18161
63e1b1c4
NB
181622002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
18163
18164 * Makefile.in (integrate.o): Update.
18165 * c-decl.c (copy_lang_decl): Rename.
18166 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
18167 * integrate.c: Include langhooks.h.
18168 (copy_decl_for_inlining): Update to use langhook.
18169 * langhooks-def.h (lhd_do_nothing_t,
18170 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
18171 (LANG_HOOKS_INITIALIZER): Update.
18172 * langhooks.c (lhd_do_nothing_t): New.
18173 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
18174 * tree.h (copy_lang_decl): Remove.
18175objc:
18176 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
18177
f472fa29
AM
181782002-02-27 Andrew MacLeod <amacleod@redhat.com>
18179
ba31d94e 18180 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
18181 POST_DEC, and POST_MODIFY.
18182
273cf2e4
ZW
181832002-02-27 Zack Weinberg <zack@codesourcery.com>
18184
18185 * c-typeck.c (digest_init): Remove unused parameter; all
18186 callers changed.
18187
4e07d762
GK
181882002-02-27 Geoffrey Keating <geoffk@redhat.com>
18189
18190 * expmed.c (expand_shift): Correctly test for low part of a
18191 subreg.
18192
6bc627b3
UW
181932002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
18194
18195 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
18196 insn UIDs with insn addresses.
18197
f458d1d5
ZW
181982002-02-27 Zack Weinberg <zack@codesourcery.com>
18199
18200 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
18201 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
18202 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
18203 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
18204 gcc.c, toplev.c: Delete code implementing -traditional mode.
18205
18206 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
18207 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
18208 Document removal of -traditional mode for compilation, and
18209 remove documentation only relevant to that mode.
18210
18211 * config/nextstep.h, config/ptx4.h, config/svr4.h,
18212 config/convex/convex.h, config/d30v/d30v.h,
18213 config/i386/dgux.h, config/i386/osf1elf.h,
18214 config/i386/osfelf.h, config/i386/osfrose.h,
18215 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
18216 config/m68k/hp310.h, config/m88k/dgux.h,
18217 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
18218 config/m88k/m88k.h, config/m88k/openbsd.h,
18219 config/mips/abi64.h, config/mips/osfrose.h,
18220 config/mips/svr4-5.h, config/mips/svr4-t.h,
18221 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
18222 config/stormy16/stormy16.h: Remove all references to
18223 -traditional from target specs. Delete all mention of the
18224 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
18225 delete a couple of commented-out definitions of
18226 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
18227 to -traditional.
18228
18229 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
18230 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
18231
e0b3a8ff
ZW
182322002-02-27 Zack Weinberg <zack@codesourcery.com>
18233
18234 * mklibgcc.in: Don't use \n in a line subject to
18235 interpretation by echo.
18236
5c6a85b7
GS
182372002-02-27 Graham Stott <grahams@redhat.com>
18238
72b05af1
GS
18239 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
18240 Constify NAME.
18241
7d104885
GS
18242 * loop.c (prescan_loop): Handle PARALLEL.
18243
8ed805d2
GS
18244 * unroll.c (loop_iterations): Return 0 if the add_val for
18245 a BIV is REG.
18246
fd478a0a
GS
18247 * final.c (output_operand_lossage): Constify PFX_STR.
18248
5c6a85b7
GS
18249 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
18250
cd98ad03
JH
18251Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
18252
18253 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
18254 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
18255
639ae55b
JH
18256Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
18257
18258 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
18259
e808ec9c
NB
182602002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
18261
18262 * cpplex.c (_cpp_lex_token): Handle directives in macro
18263 arguments.
18264 * cpplib.c (_cpp_handle_directive): Save and restore state
18265 if parsing macro args when entering a directive.
18266 * cppmacro.c (collect_args): No need to handle directives
18267 in macro arguments.
18268 (enter_macro_context, replace_args): Use the original macro
18269 definition in case it was redefined whilst collecting arguments.
18270doc:
18271 * cpp.texi: Update.
18272
f585a356
DE
182732002-02-26 David Edelsohn <edelsohn@gnu.org>
18274
18275 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
18276 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
18277 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
18278 method on AIX.
18279 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
18280 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
18281 (load_toc_v4_PIC_2): Same.
18282
182832002-02-26 Alan Modra <amodra@bigpond.net.au>
18284
18285 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
18286
d699058e
RH
182872002-02-26 Richard Henderson <rth@redhat.com>
18288
18289 * config/alpha/alpha.md (ashldi_se): Re-enable.
18290
eadccfbb
RH
182912002-02-26 Richard Henderson <rth@redhat.com>
18292
18293 * config/alpha/alpha.c (alpha_encode_section_info): Examine
18294 MODULE_LOCAL_P; improve commentary.
18295
7080ada1
ZW
182962002-02-26 Zack Weinberg <zack@codesourcery.com>
18297
18298 * doc/cpp.texi: Clarify documentation of relationship between
18299 #line and #include.
18300
b42cff6b
KH
183012002-02-26 Kazu Hirata <kazu@hxi.com>
18302
18303 * config/h8300/h8300-protos.h: Update the prototype for
18304 compute_logical_op_length. Add the prototype for
18305 compute_logical_op_cc.
18306 * config/h8300/h8300.c (compute_logical_op_length): Figure out
18307 code from operands.
18308 (compute_logical_op_cc): New.
18309 * config/h8300/h8300.md: Combine all the logical op patterns
18310 in HImode and SImode. Use compute_logical_op_cc.
18311
831c4e87
KC
183122002-02-26 Kelley Cook <kelleycook@comcast.net>
18313
18314 * config/i386/i386.c (print_operand): Don't append ATT-style
18315 length suffixs to x87 opcodes when in Intel mode.
18316
ff88fe10
RS
183172002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
18318
18319 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
18320 (init_emit_once): Update calls.
18321 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
18322 (init_syntax_once): Prototype.
18323
d4108589
JDA
183242002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
18325
18326 * pa-linux.h (LIB_SPEC): Update definition.
18327 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
18328
e013f3c7
RH
183292002-02-26 Richard Henderson <rth@redhat.com>
18330
18331 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
18332 if we emitted a stop bit.
18333
9e944a16
JJ
183342002-02-26 Jakub Jelinek <jakub@redhat.com>
18335
18336 * configure.in (libgcc_visibility): Substitute.
18337 * configure: Rebuilt.
18338 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
18339 defined symbols .hidden.
18340
47bd70b5
JJ
183412002-02-26 Jakub Jelinek <jakub@redhat.com>
18342
18343 * attribs.c (c_common_attribute_table): Add visibility.
18344 (handle_visibility_attribute): New function.
18345 * varasm.c (assemble_visibility): New function.
18346 * output.h (assemble_visibility): Add prototype.
18347 * tree.h (MODULE_LOCAL_P): Define.
18348 * crtstuff.c (__dso_handle): Use visibility attribute.
18349 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
18350 for MODULE_LOCAL_P symbols too.
18351 * config/ia64/ia64.c (ia64_encode_section_info): Handle
18352 MODULE_LOCAL_P symbols the same way as local symbols.
18353 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
18354 into .sdata/.sbss by the user.
18355 * doc/extend.texi (Function Attributes): Document visibility
18356 attribute.
18357
6d73371a
JJ
183582002-02-26 Jakub Jelinek <jakub@redhat.com>
18359
18360 PR debug/5770
18361 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
18362 STRING_CST initializer spanning the whole variable without
18363 embedded zeros.
18364 If expand_expr returned MEM, don't use it.
18365
06e224f7
AO
183662002-02-26 Alexandre Oliva <aoliva@redhat.com>
18367
18368 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
18369 generate a die for the lexical block.
18370
40367e2d
KH
183712002-02-26 Kazu Hirata <kazu@hxi.com>
18372
18373 * config/h8300/h8300-protos.h: Add a prototype for
18374 compute_logical_op_length.
18375 * config/h8300/h8300.c (compute_logical_op_length): New.
18376 * config/h8300/h8300.md (anonymous logical patterns): Use
18377 compute_logical_op_length for length.
18378
0e98f924
AH
183792002-02-26 Aldy Hernandez <aldyh@redhat.com>
18380
831c4e87
KC
18381 * dwarf2out.c (modified_type_die): Do not call type_main_variant
18382 for vectors.
18383 (gen_type_die): Same.
0e98f924 18384
831c4e87 18385 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 18386
a50cfd52
DE
183872002-02-26 Daniel Egger <degger@fhm.edu>
18388
831c4e87
KC
18389 * config/rs6000/rs6000.md: Swap define_insn attributes to
18390 fix incorrect generation of merge high instructions instead
18391 of merge low.
a50cfd52 18392
b7997284
AH
183932002-02-26 Aldy Hernandez <aldyh@redhat.com>
18394
831c4e87
KC
18395 * c-typeck.c (really_start_incremental_init): Use
18396 bitsize_zero_node for vectors.
b7997284 18397
376aec5d
AH
183982002-02-26 Aldy Hernandez <aldyh@redhat.com>
18399
831c4e87
KC
18400 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
18401 ("*set_vrsave_internal"): Same.
376aec5d 18402
3b40e71b
RH
184032002-02-25 Richard Henderson <rth@redhat.com>
18404
18405 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
18406 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
18407
232b8f52
JJ
184082002-02-25 Jakub Jelinek <jakub@redhat.com>
18409
18410 PR target/5755
18411 * config/i386/i386.c (ix86_return_pops_args): Only pop
18412 fake structure return argument if it was passed on the stack.
18413
67282790
JM
184142002-02-25 Jason Merrill <jason@redhat.com>
18415
18416 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
18417 RESULT_DECL.
18418
5c181756
AO
184192002-02-25 Alexandre Oliva <aoliva@redhat.com>
18420
18421 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
18422 link with shared_name only.
18423 * doc/invoke.texi (Link Options): Document new behavior.
18424
6786d201
AH
184252002-02-25 Aldy Hernandez <aldyh@redhat.com>
18426
831c4e87 18427 * c-typeck.c (push_init_level): Handle vectors.
6786d201 18428
7d6040e8
AO
184292002-02-25 Alexandre Oliva <aoliva@redhat.com>
18430
18431 * config/sparc/sparc.c (const64_high_operand): Zero-extend
18432 operands of SPARC_SETHI_P.
18433 (input_operand): Likewise.
18434 (sparc_emit_set_const32): Likewise.
18435 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
18436 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
18437 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
18438 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
18439 (movdi_insn_sp64_vis): Likewise.
18440 (movdi split, movdf split): Use SETHI32.
18441 * doc/md.texi: Document SPARC constraints L, M and N.
18442
b188f760
AH
184432002-02-25 Aldy Hernandez <aldyh@redhat.com>
18444
831c4e87
KC
18445 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
18446 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 18447
831c4e87
KC
18448 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
18449 gen_get_vrsave_internal.
b188f760 18450
8041889f
RK
18451Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18452
18453 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
18454
a47ed310
NB
184552002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
18456
18457 * cpplex.c (cpp_interpret_charconst): Get signedness or
18458 otherwise of wide character constants correct.
18459 * cppexp.c (lex): Get signedness of wide charconsts correct.
18460
cb8f73be
RK
18461Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18462
18463 * optabs.c (widen_operand): Only call convert_modes for
18464 promoted SUBREG if signedness matches.
18465 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
18466
2450e0b8
NB
184672002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
18468
18469 * cpplib.c (glue_header_name): Use local buffer to build up
18470 header name.
18471
70b6aaed
NB
184722002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
18473
18474 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
18475
6be580c7
KH
184762002-02-23 Kazu Hirata <kazu@hxi.com>
18477
18478 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
18479 H8/300[HS] separately.
18480 * config/h8300/h8300.md: Remove the early clobber constraint
18481 from bit field patterns.
18482
35dad9f1
KH
184832002-02-23 Kazu Hirata <kazu@hxi.com>
18484
18485 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
18486 register_operand.
18487 (mulhisi3): Likewise.
18488 (umulqisi3): Likewise.
18489 (umulhisi3): Likewise.
18490
ab8e2228
NB
184912002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
18492
18493 * cppinit.c (output_deps): Correct test for stdout output.
18494 (init_dependency_output): Cure warning.
18495
ac6f8a15
RK
18496Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18497
18498 * expr.c (store_expr): When converting expression to promoted
18499 equivalent type, allow using SUBREG_REG of TARGET as the target
18500 of the expansion of EXP.
18501 * loop.c (basic_induction_var, case SUBREG): Always look inside.
18502 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
18503 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
18504 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
18505 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
18506
f282ffb3
JM
185072002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
18508
18509 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
18510 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
18511 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
18512
44c5edc0
JJ
185132002-02-23 Jakub Jelinek <jakub@redhat.com>
18514
18515 PR optimization/5747
18516 * loop.c (scan_loop): Update reg info if move_movables created new
18517 pseudos.
18518
f98e43c0
DE
185192002-02-23 David Edelsohn <edelsohn@gnu.org>
18520
18521 * gcc.c (init_gcc_spec): Revert last change.
18522
e72247f4
DE
185232002-02-23 David Edelsohn <edelsohn@gnu.org>
18524
18525 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
18526 gpc_reg_operand constraint.
18527
185282002-02-23 Alan Modra <amodra@bigpond.net.au>
18529
18530 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
18531 Simplify comparison of `low'.
18532 (add_operand): Fix formatting.
18533 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 18534 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
18535 (rs6000_stack_info): Remove redundant test setting push_p.
18536 (output_toc): Fix formatting.
18537 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
18538 cc_reg_not_cr0_operand constraint.
18539 (booldi3, boolcdi3 splitters): Same.
18540
a5c30531
AH
185412002-02-23 Aldy Hernandez <aldyh@redhat.com>
18542
831c4e87 18543 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 18544
43710f9f
DE
185452002-02-22 David Edelsohn <edelsohn@gnu.org>
18546
18547 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
18548 gcc invoked with -shared-libgcc.
18549
3256b817
JJ
185502002-02-22 Jakub Jelinek <jakub@redhat.com>
18551
18552 PR c++/5748
18553 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
18554 decl if any of elements was TREE_USED.
18555
9e0625a3
AO
185562002-02-22 Alexandre Oliva <aoliva@redhat.com>
18557
18558 * config/sparc/sol2.h: Don't include sys/mman.h.
18559 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
18560 (arith_4096_operand): Don't throw high bits away.
18561 (const64_operand): Take sign extension of CONST_INTs into account.
18562 (const64_high_operand, sparc_emit_set_const32): Likewise.
18563 (GEN_HIGHINT64): Likewise.
18564 (sparc_emit_set_const64_quick1): Likewise.
18565 (const64_is_2insns): Likewise.
18566 (print_operand): Use trunc_int_for_mode for sign extension.
18567 * config/sparc/sparc.h (SMALL_INT32): Likewise.
18568 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
18569 chars. Assume CONST_INT is already properly sign-extended.
18570 (movdi split): Sign-extend each SImode part.
18571 (andsi3 split): Don't mask high bits off, so that result
18572 remains properly sign-extend.
18573 (iorsi3 split): Likewise.
18574 (xorsi3 split): Likewise.
18575
54fec3d5
RS
185762002-02-22 Richard Sandiford <rsandifo@redhat.com>
18577
18578 * fold-const.c (fold): Fix typo in comments.
18579
667ada9b
DN
185802002-02-21 Diego Novillo <dnovillo@redhat.com>
18581
18582 * Makefile.in (langhooks.o): Update dependencies.
18583
29ac78d5
DN
185842002-02-21 Diego Novillo <dnovillo@redhat.com>
18585
18586 * langhooks.c: Include flags.h.
18587
6aa77e6c
AH
185882002-02-21 Aldy Hernandez <aldyh@redhat.com>
18589
18590 * testsuite/gcc.dg/attr-alwaysinline.c: New.
18591
18592 * c-common.c (c_common_post_options): Set inline trees by
18593 default.
18594
18595 * doc/extend.texi (Function Attributes): Document always_inline
18596 attribute.
18597 Update documentation about inlining when not optimizing.
18598
18599 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
18600
18601 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
18602 unless DECL_ALWAYS_INLINE.
18603
18604 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
18605 unless DECL_ALWAYS_INLINE.
18606 (c_disregard_inline_limits): Disregard if always_inline set.
18607
18608 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
18609 Disregard if always_inline set.
18610 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
18611 unless DECL_ALWAYS_INLINE.
18612
18613 * attribs.c (handle_always_inline_attribute): New.
18614 (c_common_attribute_table): Add always_inline.
18615
18616 * config/rs6000/altivec.h: Add prototypes for builtins
18617 requiring the always_inline attribute.
18618
c410d49e
EC
186192002-02-21 Eric Christopher <echristo@redhat.com>
18620
18621 * expmed.c (store_bit_field): Try to simplify the subreg
18622 before generating a new one when when the mode size of
18623 value is less than maxmode.
18624
e3c8ea67
RH
186252002-02-21 Richard Henderson <rth@redhat.com>
18626
18627 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
18628 than gen_rtx_PLUS to form the sum.
18629 * explow.c (force_reg): Rearrange to not allocate new pseudo
18630 when force_operand returns a register.
18631 * expr.c (expand_assignment): Allow offset_rtx expansion to
18632 return a sum. Do not force addresses into registers.
18633 (expand_expr): Likewise.
18634 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
18635 to canonicalize arithmetic that didn't simpify.
18636 (simplify_plus_minus): New argument force; update
18637 all callers. Don't split CONST unless we can do something with it,
18638 and wouldn't lose the constness of the operands.
18639
18640 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
18641 that we generated earlier.
18642
c1a046e5
TT
186432002-02-21 Tom Tromey <tromey@redhat.com>
18644
18645 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18646 (output_line_info): Use constant `1', with a long explanatory
18647 comment.
18648 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
18649
31fbaad4
R
18650Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
18651
18652 * jump.c (redirect_jump): If old label has no UID, don't try to
18653 delete it.
18654
a7f52356
R
18655Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
18656
18657 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
18658 If input is constant, do shifts at compile time.
18659
924fcc4e
JM
186602002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
18661
18662 * doc/extend.texi: Fix some more overfull hboxes.
18663
e5a20888
JJ
186642002-02-21 Jakub Jelinek <jakub@redhat.com>
18665
18666 PR optimization/4994
18667 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
18668 register moves.
18669
186702002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
18671
18672 PR c++/4574
18673 * expr.h (expand_and): Add mode argument.
18674 * expmed.c (expand_and): Add mode argument.
18675 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
18676 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
18677 * except.c (expand_builtin_extract_return_addr): Likewise.
18678 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
18679 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
18680 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
18681 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
18682 * config/c4x/c4x.md: Use GEN_INT (x) instead of
18683 gen_rtx (CONST_INT, VOIDmode, x).
18684
7133e992
JJ
186852002-02-21 Jakub Jelinek <jakub@redhat.com>
18686
18687 PR c/4697:
18688 * stmt.c (warn_if_unused_value): Move side effects test once more.
18689
e2ec05a6
TG
186902002-02-20 Torbjorn Granlund <tege@swox.com>
18691
18692 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 18693 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 18694
9dd791c8
AO
18695Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
18696
18697 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
18698 SUBREG or ZERO_EXTEND.
18699
7ab56274
R
18700Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
18701
18702 * sh.h (current_function_anonymous_args): Remove.
18703 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
18704 of current_function_varargs and current_function_stdarg is set.
18705 * sh.c (sh_expand_prologue): Check current_function_varargs /
18706 current_function_stdarg / TARGET_SH5 instead of
18707 current_function_anonymous_args.
18708
18709 * sh64.h (TARGET_VERSION): Define.
18710
b1765bde
DE
187112002-02-20 David Edelsohn <edelsohn@gnu.org>
18712
18713 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
18714 VRSAVE_REGNO on TARGET_ALTIVEC.
18715
187162002-02-20 Alan Modra <amodra@bigpond.net.au>
18717
18718 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
18719 bits of SImode const_int.
18720 (includes_rshift_p): Likewise.
18721 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 18722 mode.
b1765bde
DE
18723 (rs6000_output_function_epilogue): Pad traceback table to word.
18724 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
18725 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
18726 mask64_operand with correct mode.
b1765bde
DE
18727 (FUNCTION_ARG_REGNO_P): Correct parentheses.
18728
149d6f9e
JJ
187292002-02-20 Jakub Jelinek <jakub@redhat.com>
18730
18731 PR debug/4461
18732 * varasm.c (get_pool_constant_mark): New.
18733 * rtl.h (get_pool_constant_mark): Add prototype.
18734 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
18735 be represented if it has not been output.
18736
4161da12
AO
187372002-02-20 Alexandre Oliva <aoliva@redhat.com>
18738
18739 * combine.c (do_SUBST): Sanity check substitutions of
18740 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
18741 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
18742 CONST_INT into its operand.
18743 (known_cond): Likewise, for ZERO_EXTEND.
18744 * simplify-rtx.c (simplify_unary_operation): Fix condition to
18745 allow for simplification of wide modes. Reject CONST_INTs in
18746 ZERO_EXTEND when their actual mode is not given.
18747
3704ef74
AO
187482002-02-20 Alexandre Oliva <aoliva@redhat.com>
18749
18750 * c-decl.c (pushdecl): If no global declaration is found for an
18751 extern declaration in block scope, try a limbo one.
18752
7552da58
JJ
187532002-02-20 Jakub Jelinek <jakub@redhat.com>
18754
18755 PR c++/4401
18756 * c-common.c (pointer_int_sum): Moved from...
18757 * c-typeck.c (pointer_int_sum): ...here.
18758 * c-common.h (pointer_int_sum): Add prototype.
18759
00fae85d
JJ
187602002-02-20 Jakub Jelinek <jakub@redhat.com>
18761
18762 PR c++/5713
18763 * c-decl.c (duplicate_decls): Return 0 if issued error about
18764 redeclaration.
18765
4636c87e
JJ
187662002-02-20 Roger Sayle <roger@eyesopen.com>
18767 Jakub Jelinek <jakub@redhat.com>
18768
18769 PR c/4389
18770 * tree.c (host_integerp): Ensure that the constant integer is
18771 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
18772 when pos is zero or non-zero respectively. Clarify comment.
18773 * c-format.c (check_format_info_recurse): Fix host_integerp
18774 usage; the pos argument should be zero when assigning to a
18775 signed HOST_WIDE_INT.
18776
59bef189
RH
187772002-02-20 Richard Henderson <rth@redhat.com>
18778
18779 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
18780 of the operand, rather than assuming TImode.
18781 (ix86_expand_binop_builtin): Cope with commutative patterns
18782 using nonimmediate_operand for both operands.
18783 (ix86_expand_timode_binop_builtin): Likewise.
18784 (ix86_expand_store_builtin): Validate operand 1.
18785 (ix86_expand_unop1_builtin): Likewise.
18786
9338ffe6 187872002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 18788
9338ffe6
PB
18789 PR 5705
18790 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
18791
f322b423
RH
187922002-02-20 Richard Henderson <rth@redhat.com>
18793
18794 PR c/5615
18795 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
18796
d94084f7
TT
187972002-02-20 Tom Tromey <tromey@redhat.com>
18798
18799 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18800 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18801 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18802 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
18803 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
18804 unconditionally.
18805
37fa124a
AM
18806Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
18807
18808 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
18809 for (const_int 0) in X not just INTVAL.
18810
6e5bb5ad
JM
188112002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
18812
18813 * doc/extend.texi: Avoid or reduce overfull hboxes.
18814
420e7dfa
DN
188152002-02-20 Diego Novillo <dnovillo@redhat.com>
18816
18817 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
18818 operations if the field does not start at a mode boundary.
18819
1b7a2af6
JS
188202001-02-20 Joel Sherrill <joel@OARcorp.com>
18821
18822 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
18823 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
18824 Also done for -Acpu and -Amachine.
18825
56cd5b95
NB
188262002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
18827
18828 * cppinit.c (init_dependency_output): Take deps output file
18829 from -o if none given with -MF. Suppress normal output.
c410d49e 18830 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
18831 * doc/cpp.texi, doc/invoke.texi: Update.
18832
042cdf71
ZW
188332002-02-19 Zack Weinberg <zack@codesourcery.com>
18834
18835 * toplev.c (output_quoted_string): Write unprintable
18836 characters with octal escapes.
18837
c1f11548
DE
188382002-02-19 David Edelsohn <edelsohn@gnu.org>
18839
18840 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
18841 really_call_used[VRSAVE_REGNO] if not Altivec.
18842
188432002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 18844
c1f11548
DE
18845 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
18846 MODE_MASK.
18847 (constant_pool_expr_1): Fix formatting.
18848 (rs6000_legitimize_reload_address): Likewise.
18849
c964d90e
RK
18850Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18851
18852 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
18853 now that we have one.
18854
ae34ac46
ZW
188552002-02-19 Zack Weinberg <zack@codesourcery.com>
18856
18857 * tree.h (struct tree_common): Remove aux. Add unused_0 at
18858 end of first block of bitfields (which was only seven bits);
18859 rename dummy to unused_1; remove comment which is no longer true.
18860
293c28ee
GS
188612002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
18862
18863 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
18864
7b8781c8
PB
188652002-02-19 Philip Blundell <pb@nexus.co.uk>
18866
0cb6c58d 18867 PR 5399
7b8781c8
PB
18868 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
18869 if generating PIC.
18870
18871 PR 5054
18872 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
18873 arm_is_longcall_p rather than inspecting call-type cookie
18874 directly.
18875 (call_value_insn) [TARGET_THUMB]: Likewise.
18876
5c464583
GS
188772002-02-19 Graham Stott <grahams@redhat.com>
18878
18879 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
18880
71c061e6
DE
188812002-02-19 David Edelsohn <edelsohn@gnu.org>
18882
18883 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
18884 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 18885 (FP_SAVE_INLINE): Delete.
71c061e6
DE
18886
18887 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
18888 * config/rs6000/eabi.asm: Remove ABI save restore routines.
18889 * config/rs6000/t-ppccomm: Build crtsavres.o.
18890 * config/rs6000/crtsavres.asm: New file.
18891
3a7731fd
PB
188922002-02-19 Philip Blundell <philb@gnu.org>
18893
18894 * config/arm/arm.c (use_return_insn): Don't reject interrupt
18895 functions.
18896 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
18897 (output_return_instruction): Allow interrupt functions to return with
18898 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
18899 (arm_expand_prologue): Subtract 4 before stacking LR in an
18900 interrupt function.
18901
14f583b8
PB
189022002-02-19 Philip Blundell <pb@nexus.co.uk>
18903
18904 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
18905 decl, not just FUNCTION_DECL.
18906 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
18907 (arm_assemble_integer): Likewise.
18908 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
18909 marked local.
c410d49e 18910
4cb7482c
MG
189112002-02-19 matthew green <mrg@eterna.com.au>
18912
18913 * config.gcc (sparc-*-netbsdelf*): Enable target.
18914 (sparc64-*-netbsd*): New target.
18915 * config/sparc/netbsd-elf.h: New file.
18916 * config/sparc/t-netbsd64: New file.
18917
2df3a718
GS
189182002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
18919
18920 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
18921
77f6c1eb
RS
189222002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
18923
18924 * doc/invoke.texi: explicitly list the style guidelines that
18925 -Weffc++ checks for.
18926
fd973d56
JH
18927Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
18928
18929 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
18930
30518e45
NB
189312002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
18932
18933 PR other/5718
18934 * gcc.c (cpp_unique_options): Treat -o as indicating object file
18935 only if not -E. If -E, pass -o through to the preprocessor.
18936
39ea5704
KH
189372002-02-19 Kazu Hirata <kazu@hxi.com>
18938
18939 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
18940 register number with an appropriate macro.
18941
7355dba7
BM
189422002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
18943
18944 * doc/rtl.texi (Constants): Close @code tag.
18945
91c8aa9e
AH
189462002-02-19 Aldy Hernandez <aldyh@redhat.com>
18947
18948 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
18949 ("mmx_uavgv4hi3"): Same.
18950 ("pmulhrwv4hi3"): Same.
18951
18952 * tree-inline.c (walk_tree): Handle vectors.
18953
18954 * c-common.c (constant_expression_warning): Handle vectors.
18955 (overflow_warning): Same.
18956
18957 * sched-deps.c (sched_analyze_2): Handle vectors.
18958
18959 * rtlanal.c (rtx_unstable_p): Handle vectors.
18960 (rtx_varies_p): Same.
18961 (count_occurrences): Same.
18962 (regs_set_between_p): Same.
18963 (modified_between_p): Same.
18964 (modified_in_p): Same.
18965 (volatile_insn_p): Same.
18966 (volatile_refs_p): Same.
18967 (side_effects_p): Same.
18968 (may_trap_p): Same.
18969 (inequality_comparisons_p): Same.
18970 (replace_regs): Same.
18971 (computed_jump_p_1): Same.
18972
18973 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
18974 argument.
18975 (inner_mode_array): New.
18976 (copy_rtx): Handle vectors.
18977 (copy_most_rtx): Same.
18978 (rtx_equal_p): Same.
18979 (get_mode_alignment): Adjust for vectors.
18980
18981 * resource.c (mark_referenced_resources): Handle vectors.
18982 (mark_set_resources): Same.
18983
18984 * reload1.c (eliminate_regs): Handle vectors.
18985 (elimination_effects): Same.
18986 (scan_paradoxical_subregs): Same.
18987
18988 * reload.c (subst_reg_equivs): Handle vectors.
18989
18990 * regrename.c (scan_rtx): Handle vectors.
18991
18992 * regclass.c (reg_scan_mark_refs): Handle vectors.
18993
18994 * recog.c (find_single_use_1): Handle vectors.
18995
18996 * local-alloc.c (equiv_init_varies_p): Handle vectors.
18997 (contains_replace_regs): Same.
18998 (memref_referenced_p): Same.
18999
19000 * integrate.c (copy_rtx_and_substitute): Handle vectors.
19001 (subst_constants): Same.
19002
19003 * genattrtab.c (attr_copy_rtx): Handle vectors.
19004 (encode_units_mask): Same.
19005 (clear_struct_flag): Same.
19006 (count_sub_rtxs): Same.
19007
19008 * gcse.c (want_to_gcse_p): Handle vectors.
19009 (oprs_unchanged_p): Same.
19010 (hash_expr_1): Same.
19011 (oprs_not_set_p): Same.
19012 (expr_killed_p): Same.
19013 (compute_transp): Same.
19014 (store_ops_ok): Same.
19015
19016 * function.c (purge_addressof_1): Do not allow paradoxical subregs
19017 of vectors.
19018 (fixup_var_refs_1): Same.
19019 (instantiate_virtual_regs_1): Same.
19020
19021 * fold-const.c (operand_equal_p): Handle vectors.
19022 (fold): Same.
19023 (rtl_expr_nonnegative_p): Same.
19024
19025 * flow.c (mark_used_regs): Handle vectors.
19026
19027 * df.c (df_uses_record): Handle vectors.
19028
19029 * cselib.c (cselib_subst_to_values): Handle vectors.
19030 (cselib_mem_conflict_p): Same.
19031 (hash_rtx): Same.
19032
19033 * cse.c (canon_reg): Handle vectors.
19034 (fold_rt): Same.
19035 (cse_process_notes): Same.
19036 (count_reg_usage): Same.
19037 (canon_hash): Same.
19038
19039 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
19040
19041 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
19042
19043 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
19044 (gen_rtx): Handle CONST_VECTOR.
19045 (gen_const_vector_0): New.
19046 (copy_rtx_if_shared): CONST_VECTORs can be shared.
19047 (reset_used_flags): Same.
19048 (copy_insn_1): Same.
19049 (initializer_constant_valid_p): Handle VECTOR_CST.
19050
19051 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
19052
19053 * doc/rtl.texi (Constants): Document const_vector.
19054 (CONST0_RTX): Update for vectors.
19055 (RTL sharing): Same.
19056
19057 * print-tree.c (print_node): Add case for VECTOR_CST.
19058
19059 * tree.h (TREE_VECTOR_CST_ELTS): New.
19060 (struct tree_vector): New.
19061 (union tree_node): Add vector node.
19062 (build_vector): Add prototype.
19063
19064 * tree.def (VECTOR_CST): New.
19065
19066 * tree.c (build_vector): New.
19067
19068 * expmed.c (make_tree): Handle CONST_VECTOR.
19069
19070 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
19071 (CONST_VECTOR_ELT): New.
19072 (CONST_VECTOR_NUNITS): New.
19073
19074 * machmode.h (GET_MODE_INNER): New.
19075 (DEF_MACHMODE): Accept 8th arg.
19076
19077 * machmode.def: Add 8th argument for vector inner mode.
19078 Add inner vector modes for vectors.
19079
19080 * rtl.def (VEC_CONST): Remove.
19081 (CONST_VECTOR): New.
19082
19083 * expr.c (clear_storage): Allow vectors.
19084 (is_zeros_p): Handle VECTOR_CST.
19085
19086 * varasm.c (output_constant_pool): Handle vectors.
19087 (rtx_const): Add veclo and vechi fields.
19088 (kind): Add RTX_VECTOR.
19089 (decode_rtx_const): Add case for vector.
19090
19091 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 19092
91c8aa9e
AH
19093 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
19094 constants. Force easy vector constants into memory.
19095 (easy_vector_constant): New.
19096 (emit_easy_vector_constant): New.
19097 (rs6000_legitimize_reload_address): Do not generate bad reloads on
19098 darwin.
19099
19100 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
19101 instruction does.
19102 ("altivec_lvxl"): Same.
19103 (altivec_lvebx): Same.
19104 (altivec_lvehx): Same.
19105 (altivec_lvewx): Same.
19106 ("*movv4si_const0"): New.
19107 ("*movv4sf_const0"): New.
19108 ("*movv8hi_const0"): New.
19109 ("*movv16qi_const0"): New.
19110
d4d6d0ce
KH
191112002-02-18 Kazu Hirata <kazu@hxi.com>
19112
19113 * config/h8300/h8300.c (notice_update_cc): Use
19114 cc_status.value2.
19115
4915d3aa
KH
191162002-02-18 Kazu Hirata <kazu@hxi.com>
19117
19118 * config/h8300/h8300.md (divmod patterns): Change the
19119 constraints for operands[1] to register_operand.
19120
82be00ee
KH
191212002-02-18 Kazu Hirata <kazu@hxi.com>
19122
19123 * config/h8300/h8300-protos.h: Remove the prototype for
19124 p_operand.
19125 * config/h8300/h8300.c (p_operand): Remove.
19126 * config/h8300/h8300.md: Replace p_operand with
19127 const_int_operand.
19128
1768c26f
PB
191292002-02-18 Philip Blundell <pb@nexus.co.uk>
19130
19131 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
19132 comment.
19133 (output_return_instruction): Allow use of LDR to unstack
19134 return addresss even for interrupt handlers or when
19135 interworking. If compiling for ARMv5, use interworking-safe
19136 return instructions by default. Remove duplicated code and
19137 lengthy "strcat" sequences.
19138
ccd84f51
FS
191392002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
19140
19141 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
19142 (LINK_EH_SPEC): Define.
19143 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
19144
2c153108
UW
191452002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
19146
19147 * config/s390/s390.c (s390_emit_prologue): Do not set the
19148 frame_related flag for call-clobbered registers.
19149
e95d6b23
JH
19150Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
19151
19152 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
19153 (construct_container): Fix handling of SSE operands.
19154 (ix86_expand_builtin): Fix handling of 64bit pointers.
19155 (mmx_maskmovq_rex): New pattern.
19156
c43a12b5
JH
19157Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
19158
19159 * regrename.c (kill_set_value): Handle subregs properly.
19160
aeb85a15
DB
191612002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
19162
19163 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 19164 from objc_class_name.
aeb85a15 19165
a615ca3e
RH
191662002-02-17 Richard Henderson <rth@redhat.com>
19167
19168 * config/alpha/alpha.c (some_small_symbolic_operand,
19169 some_small_symbolic_operand_1, split_small_symbolic_operand,
19170 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
19171 Handle small SYMBOL_REFs anywhere, not just inside memories.
19172 * config/alpha/alpha-protos.h: Update.
19173 * config/alpha/alpha.h (PREDICATE_CODES): Update.
19174 * config/alpha/alpha.md (small symbolic operand splitter): Update.
19175
ddb28441
RM
191762002-02-17 Roland McGrath <roland@frob.com>
19177
19178 * config.gcc (powerpc-*-gnu-gnualtivec*,
19179 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
19180 * config/rs6000/gnu.h: New file.
19181 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
19182 Grok "gnu" in rs6000_abi_name.
19183 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
19184 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
19185 Grok -mcall-gnu analogous to -mcall-linux et al.
19186 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
19187 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
19188 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
19189
f6f8ada3
JJ
191902002-02-17 Jakub Jelinek <jakub@redhat.com>
19191
19192 PR c/3444:
19193 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
19194 shortening.
19195
e16b32fc
PT
191962002-02-17 Philipp Thomas <pthomas@suse.de>
19197
19198 * config/cris/cris.h: Undefine STARTFILE_SPEC and
19199 ENDFILE_SPEC before (re)defining them.
19200
f9477efd
KH
192012002-02-17 Kazu Hirata <kazu@hxi.com>
19202
19203 * config/h8300/h8300.c: Fix formatting.
19204 * config/h8300/h8300.h: Likewise.
19205
404ae494
PT
192062002-02-17 Philipp Thomas <pthomas@suse.de>
19207
19208 * doc/tm.texi: Explain why empty strings should not be
19209 marked for translation.
19210
a52453cc
PT
192112002-02-17 Philipp Thomas <pthomas@suse.de>
19212
19213 * final.c (output_operand_lossage): Changed to accept
19214 printf style arguments. Change calls where necessary.
19215 * output.h (output_operand_lossage): Change declaration
19216 accordingly. Update copyright.
19217 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
19218 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
19219 Update copyright date where necessary.
c410d49e 19220
a52453cc
PT
19221 * config/i386/i386.c (print_operand): Likewise. Remove use of
19222 sprintf.
19223
19224 * config/cris/cris.c (cris_operand_lossage): Likewise.
19225 Rename parameter so that exgettext recognizes it as
19226 translatable message.
19227 (LOSE_AND_RETURN): Rename parameter to msgid.
19228
1c11abc4
KH
192292002-02-17 Kazu Hirata <kazu@hxi.com>
19230
19231 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
19232 hard coded register number with an appropriate macro.
19233 (HARD_REGNO_MODE_OK): Likewise.
19234 (ARG_POINTER_REGNUM): Likewise.
19235 (STATIC_CHAIN_REGNUM): Likewise.
19236 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
19237 * config/h8300/h8300.md (define_constants): Define more
19238 register numbers.
19239
a5d17ff3
PT
192402002-02-17 Philipp Thomas <pthomas@suse.de>
19241
19242 * config/i386/i386.h: Don't mark empty strings for translation.
19243
1a7289c4
L
192442002-02-16 H.J. Lu <hjl@gnu.org>
19245
19246 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
19247
afb58288
ZW
192482002-02-16 Zack Weinberg <zack@codesourcery.com>
19249
19250 * cppinit.c (merge_include_chains): Check for brack being
19251 NULL before attempting to merge it with qtail.
19252
d2af4dbd
AC
192532002-02-16 Andrew Cagney <ac131313@redhat.com>
19254
19255 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
19256 DBX_DEBUG.
19257
2e1ed1e3
JDA
192582002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
19259
19260 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
19261
604c75b2
JDA
192622002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
19263
19264 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
19265 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
19266 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
19267
1a42b072
RK
19268Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19269
7303604f 19270 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
19271 now only if !TARGET_FIX.
19272 (*movsi_nt_vms_fix): New pattern.
19273
c2ea1ac6
DR
192742002-02-16 Douglas B Rupp <rupp@gnat.com>
19275
19276 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
19277 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
19278 (alpha_sa_mask, alpha_sa_size): Reflect above change.
19279 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
19280 (alpha_start_function, alpha_expand_epilogue): Likewise.
19281 (unicosmk_gen_dsib): Likewise.
19282
725e58b1
RK
19283Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19284
19285 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
19286
13e58269
UW
192872002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
19288
c410d49e 19289 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
19290 check_and_change_labels, s390_final_chunkify): Delete.
19291 (s390_split_branches, s390_chunkify_pool): New functions.
19292 (s390_function_prologue): Call them.
c410d49e 19293
13e58269
UW
19294 * config/s390/s390.h (S390_REL_MAX): Delete.
19295 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
19296
c410d49e 19297 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
19298 attribute calculation.
19299
19300
34d1b01d
DE
193012002-02-15 David Edelsohn <edelsohn@gnu.org>
19302
19303 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
19304 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
19305
be5cc51a
JDA
193062002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
19307
19308 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
19309 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
19310 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
19311
ee96ce90
RS
193122002-02-15 Richard Sandiford <rsandifo@redhat.com>
19313
19314 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
19315
05fa709d
RS
193162002-02-15 Richard Sandiford <rsandifo@redhat.com>
19317
19318 * reload.c (find_dummy_reload): Check that an output register
19319 is valid for its mode.
19320
4606272b
AO
193212002-02-14 Alexandre Oliva <aoliva@redhat.com>
19322
9a360704
AO
19323 * combine.c (known_cond): After replacing the REG of a SUBREG, try
19324 to simplify it.
19325
4606272b
AO
19326 * function.c (assign_parms): Demote promoted argument passed by
19327 transparent reference.
19328
e62d89a1
JS
193292001-02-14 Joel Sherrill <joel@OARcorp.com>
19330
19331 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
19332 -Acpu() and -Amachine() to eliminate warnings.
19333
6c4cf695
UW
193342002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
19335
19336 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
19337
037f11ef
KH
193382002-02-14 Kazu Hirata <kazu@hxi.com>
19339
19340 * config/h8300/h8300-protos.h: Update the prototype for
19341 const_costs.
19342 * config/h8300/h8300.c (const_costs): Treat SET as a little
19343 more expensive operation.
19344 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
19345 reference to const_costs.
19346
fdc76b09
HPN
193472002-02-14 Hans-Peter Nilsson <hp@axis.com>
19348
19349 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
19350
d76e6800
JJ
193512002-02-14 Jakub Jelinek <jakub@redhat.com>
19352
19353 PR c/5503:
19354 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
19355 use arguments from newtype.
19356
5ae590d7
EC
193572002-02-13 Eric Christopher <echristo@redhat.com>
19358
19359 * config/mips/mips.c (override_options): Add check for march/mipsX
19360 on the same command line. Fix error message in cpu processing.
19361 Remove architecture and ISA checks.
19362
b8513691
AH
193632002-02-14 Aldy Hernandez <aldyh@redhat.com>
19364
831c4e87 19365 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 19366
831c4e87 19367 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 19368
78c875e8
AH
193692002-02-14 Aldy Hernandez <aldyh@redhat.com>
19370
831c4e87
KC
19371 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
19372 alternatives.
19373 ("*movv8hi_internal1"): Same.
19374 ("*movv16qi_internal1"): Same.
19375 ("*movv4sf_internal1"): Same.
78c875e8 19376
831c4e87
KC
19377 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
19378 not push_reload for altivec modes.
78c875e8 19379
d76e6800 193802002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
19381
19382 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
19383 all RTEMS targets including removal of #includes from config/*/rtems*.h
19384 file and adding them to tm_file setting. Added xm_defines=POSIX to
19385 many targets.
19386 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
19387 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
19388 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
19389 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
19390 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
19391 config/m68k/rtemself.h: Ditto.
19392 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
19393 config/mips/rtems64.h: Ditto.
19394 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
19395 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
19396 Ditto.
19397 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
19398 config/sparc/rtemself.h: Ditto.
19399 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
19400 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
19401 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
19402 more like arm-elf.
19403 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
19404 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
19405 target made more similar to i386-elf.
19406 * config/i386/t-rtems-i386: Added soft float support and multilibs.
19407 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
19408 be similar to config/m68k/t-m68kelf.
19409 * gthr-rtems.h: Encapsulate with extern "C" for C++.
19410
8686336f
JH
19411Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
19412
19413 * regmove.c (kill_value): Handle subregs.
19414
558740bf
JH
19415Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
19416
19417 * i386.md (mul patterns): Allow memory operand to be first;
19418 add expanders where needed; fix constraints.
19419 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
19420 Allow memory operand to be the first.
19421
19422 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
19423 operands.
19424
21117a17
JJ
194252002-02-13 Jakub Jelinek <jakub@redhat.com>
19426
19427 PR c/5681:
19428 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
19429 GET_MODE (x).
19430
ec65b2e3
JJ
194312002-02-13 Jakub Jelinek <jakub@redhat.com>
19432
19433 PR optimization/5547:
19434 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
19435 all valid IA-32 address modes involving non-scaled %ebx and
19436 GOT/GOTOFF as displacement.
19437
ce50cae8
UW
194382002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
19439
19440 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
19441 after emitting ltorg insns.
19442
19443 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
19444 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
19445 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
19446 *abssf2): Fix "op_type" attribute.
19447
09eb789b
DR
194482002-02-13 Douglas B Rupp <rupp@gnat.com>
19449
2dbe67bb
DR
19450 * mkconfig.sh: Avoid using a subshell redirect.
19451 ($output.T): Change to $(output)T.
19452 (ENABLE_NLS): Remove unneeded undef.
19453
ea5b9a1f
DR
19454 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
19455 * config/alpha/x-vms (libsubdir): Define.
19456
3deb00ce
DR
19457 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
19458 register frame procedures. Optimize retrieving context.
19459
09eb789b
DR
19460 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
19461 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
19462 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
19463
1abade85
RK
19464Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19465
19466 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
19467 Make same change as for find_base_value.
19468
c283e63f
KH
194692002-02-13 Kazu Hirata <kazu@hxi.com>
19470
19471 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
19472 of QImode and SImode.
19473
86039100
KH
194742002-02-13 Kazu Hirata <kazu@hxi.com>
19475
19476 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
19477 length computation of movsi.
19478 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
19479
e1429da0
KH
194802002-02-13 Kazu Hirata <kazu@hxi.com>
19481
19482 * config/h8300/h8300.md (subqi3): Tighten the predicate for
19483 operands[2] to register_operand.
19484
aebfea10
JH
19485Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
19486
19487 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
19488
0ec4e2a8
AH
194892002-02-12 Aldy Hernandez <aldyh@redhat.com>
19490
831c4e87
KC
19491 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
19492 for altivec_lvx* and altivec_stvx*.
19493 ("*movv4si_internal"): Add constraint for loading from GPRs.
19494 ("*movv8hi_internal1"): Same.
19495 ("*movv16qi_internal1"): Same.
19496 ("*movv4sf_internal1"): Same.
0ec4e2a8 19497
831c4e87 19498 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 19499
831c4e87
KC
19500 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
19501 altivec_register_operand.
0ec4e2a8 19502
b007569d
HPN
195032002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
19504
19505 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
19506 handle SYMBOL_REF.
19507
e6834654
SS
195082002-02-13 Stan Shebs <shebs@apple.com>
19509
831c4e87
KC
19510 * c-typeck.c (digest_init): Handle vectors.
19511 (really_start_incremental_init): Same.
19512 (pop_init_level): Same.
19513 (process_init_element): Same.
e6834654 19514
831c4e87 19515 * varasm.c (output_constant): Same.
e6834654 19516
831c4e87
KC
19517 * expr.c (clear_storage): Same.
19518 (store_constructor): Same.
e6834654 19519
d9b3eb63
EC
195202002-02-12 Eric Christopher <echristo@redhat.com>
19521
19522 * explow.c (hard_function_value): Add comment explaining
19523 signed/unsigned comparison.
19524
56d44285
JJ
195252002-02-12 Jakub Jelinek <jakub@redhat.com>
19526
19527 * jump.c (never_reached_warning): Add finish argument.
19528 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
19529 real insn after end.
19530 * rtl.h (never_reached_warning): Adjust prototype.
19531 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
19532 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
19533 never_reached_warning.
19534
fc209487
GS
195352002-02-12 Graham Stott <grahams@redhat.com>
19536
19537 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
19538
1e41e866
KH
195392002-02-12 Kazu Hirata <kazu@hxi.com>
19540
19541 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
19542 logical shifts on H8/300.
19543 (shift_alg_si): Improve several shifts on H8/300.
19544 (get_shift_alg): Likewise.
19545
a36a47ad
GS
195462002-02-12 Graham Stott <grahams@redhat.com>
19547
19548 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
19549
0aacc8ed
RK
19550Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19551
19552 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
19553 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
19554
a02ac966
HPN
195552002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
19556
19557 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
19558 non-CONST_INT through default_assemble_integer.
19559 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
19560 <case 8>: Abort for CONST_DOUBLE.
19561
d6e06ddc
JDA
195622002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
19563
19564 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
19565 is specified.
19566 * config/pa/pa-linux.h (LIB_SPEC): Delete.
19567 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
19568
515342a8
AH
195692002-02-11 Andrew Haley <aph@cambridge.redhat.com>
19570
19571 * config/stormy16/stormy16.md (zero_extendqihi2): New.
19572
cddd8b72
AO
195732002-02-11 Alexandre Oliva <aoliva@redhat.com>
19574
66df7a98
AO
19575 * regrename.c (regrename_optimize): Don't accept a
19576 part-clobbered register if the replaced register is not part
19577 clobbered.
19578
841404cd
AO
19579 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
19580 take padding into account when computing the argument value.
19581
1d1ade42
AO
19582 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
19583
cddd8b72
AO
19584 * combine.c (try_combine): Apply substitutions in
19585 CALL_INSN_FUNCTION_USAGE too.
19586
5c665b88
AH
195872002-02-11 Aldy Hernandez <aldyh@redhat.com>
19588
77f6c1eb
RS
19589 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
19590 __builtin_altivec_abs*.
19591 (bdesc_abs): New.
5c665b88 19592
77f6c1eb
RS
19593 * config/rs6000/rs6000.h (rs6000_builtins): Add
19594 ALTIVEC_BUILTIN_ABS*.
5c665b88 19595
77f6c1eb
RS
19596 * config/rs6000/altivec.h: Use const char for builtins expecting
19597 literals.
19598 (vec_abs): New versions for C and C++.
19599 (vec_abss): Same.
5c665b88 19600
3494f1b4
KH
196012002-02-10 Kazu Hirata <kazu@hxi.com>
19602
19603 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
19604 using Pmode.
19605
72431aef
KH
196062002-02-10 Kazu Hirata <kazu@hxi.com>
19607
19608 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
19609 constant definition from h8300.md.
19610 (FRAME_POINTER_REGNUM): Likewise.
19611 * config/h8300/h8300.md (define_constants): Add FP_REG.
19612
87e4ee91
KH
196132002-02-10 Kazu Hirata <kazu@hxi.com>
19614
19615 * config/h8300/h8300.c (print_operand): Remove redundant code.
19616
9c188705
KH
196172002-02-10 Kazu Hirata <kazu@hxi.com>
19618
19619 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
19620 * config/h8300/h8300.c (byte_reg): Make it static.
19621
fba78abb
RH
196222002-02-10 Richard Henderson <rth@redhat.com>
19623
19624 PR c/5623
19625 * c-typeck.c (incomplete_type_error): Handle flexible array members.
19626
65739e62
RH
196272002-02-10 Richard Henderson <rth@redhat.com>
19628
19629 PR c++/5624
19630 * tree.c (append_random_chars): Don't abort if main_input_filename
19631 does not exist.
19632
247cb9df
HPN
196332002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
19634
19635 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
19636
232bd029
KH
196372002-02-10 Kazu Hirata <kazu@hxi.com>
19638
65739e62 19639 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
19640 (pushhi1): Likewise.
19641
276ef573
JDA
196422002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
19643
19644 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
19645 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
19646
617e9ee5
DB
196472002-02-09 David O'Brien <obrien@FreeBSD.org>
19648
19649 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
19650 remove MASK_VIS.
19651 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
19652
6dfa4005
KH
196532002-02-09 Kazu Hirata <kazu@hxi.com>
19654
19655 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
19656 a half of an SImode register on H8/300.
19657
749e7b80
JH
19658Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
19659
19660 * i386.md (movdi_2): Add missing '!'.
19661
ca77d87c
KH
196622002-02-09 Kazu Hirata <kazu@hxi.com>
19663
19664 * config/h8300/h8300.h: Fix formatting. Remove commented-out
19665 definitions.
19666
16c96304
KH
196672002-02-09 Kazu Hirata <kazu@hxi.com>
19668
19669 * config/h8300/h8300.md (length): Correct the distance valid
19670 for the short branch.
19671
a364bc90
KH
196722002-02-09 Kazu Hirata <kazu@hxi.com>
19673
19674 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
19675
e4ec2cac
AO
196762002-02-09 Alexandre Oliva <aoliva@redhat.com>
19677
a138247b
AO
19678 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
19679 registers in SImode.
19680 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
19681 part-clobbered.
19682
2b1fd83f
AO
19683 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
19684 patch.
d9b3eb63 19685
fa5322fa
AO
19686 Contribute sh64-elf.
19687 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
19688 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
19689 (sh_cannot_modify_jumps_p): New function.
19690 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
19691 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
19692 (sh_ms_bitfield_layout_p): New function.
19693 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
19694 Zack Weinberg <zack@codesourcery.com>
19695 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
19696 expand_simple_binop instead of expand_binop.
19697 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
19698 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
19699 use of .quad and .uaquad.
19700 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
19701 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
19702 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
19703 * config/sh/sh.md (movdi_const, movdi_const_32bit,
19704 movdi_const_16bit): Make sure all CONSTs have modes.
19705 (sym2PIC): Ditto, but by adjusting all callers.
19706 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
19707 if the prologue calls the SHmedia argument decoder or register
19708 saver.
19709 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
19710 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
19711 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
19712 (sh_expand_epilogue): Don't emit USE of return target register.
19713 (prepare_move_operands): Legitimize DImode PIC addresses.
19714 (sh_media_register_for_return): Skip tr0, used to initialize the
19715 PIC register.
19716 (sh_expand_prologue): Remove explicit USE of return register.
19717 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
19718 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
19719 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
19720 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
19721 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
19722 EXTRA_CONSTRAINT_T.
19723 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
19724 (MOVI_SHORI_BASE_OPERAND_P): New.
19725 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
19726 (EXTRA_CONSTRAINT_T): Define in terms of them.
19727 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
19728 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
19729 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
19730 alternatives supporting TARGET_REGS.
19731 (UNSPEC_GOTPLT): New constant.
19732 (movdi split): Move incrementing of LABEL_NUSES...
19733 (movdi_const, movdi_const_32bit): Here. Use
19734 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
19735 (movdi_const_16bit): New.
19736 (call, call_value) [flag_pic]: Use GOTPLT.
19737 (call_pop, call_value_pop): New expands.
19738 (call_pop_compact, call_pop_rettramp): New insns.
19739 (call_value_pop_compact, call_value_pop_rettramp): New insns.
19740 (sibcall) [flag_pic]: Use GOT.
19741 (builtint_setjmp_receiver): Remove bogus, unused expand.
19742 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
19743 (*pt, *ptb, ptrel): New insns.
19744 (sym2GOT): Handle DImode GOT.
19745 (sym2GOTPLT, symGOTPLT2reg): New expands.
19746 (sym2PIC): New expand.
19747 (shcompact_return_tramp): Use GOTPLT to return trampoline.
19748 (shcompact_return_tramp_i): Use return register explicitly.
19749 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
19750 disable flag_reorder_blocks.
19751 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
19752 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
19753 clobbers, for clarity.
19754 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
19755 restoring of r0 in macl as MAYBE_DEAD.
19756 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
19757 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
19758 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
19759 alter_subreg all over.
19760 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
19761 reload, instead of emitting instructions that would require
19762 reloading.
19763 (casesi_load_media): Add missing modes.
19764 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
19765 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
19766 as used if the argument decoder is called.
19767 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
19768 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
19769 Pmode, then extend it to DImode if necessary.
19770 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
19771 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
19772 constants in FPU-enabled SHmedia, let them be loaded from memory.
19773 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
19774 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
19775 Adjust whitespace in assembly output templates.
19776 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
19777 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
19778 mode of if_then_else.
19779 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
19780 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
19781 sh.h.
19782 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
19783 Joern Rennecke <amylaar@redhat.com>
19784 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
19785 (SUBTARGET_CPP_PTR_SPEC): New.
19786 (SUBTARGET_CPP_SPEC): Remove.
19787 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
19788 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
19789 Fix typo in previous checkin.
19790 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
19791 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
19792 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
19793 Alexandre Oliva <aoliva@redhat.com>
19794 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
19795 what single FP register can hold for SHmedia target.
19796 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
19797 Alexandre Oliva <aoliva@redhat.com>
19798 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
19799 Do not split into SUBREG.
19800 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
19801 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
19802 and added new functions as specified in SH5 ABI r9.
19803 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
19804 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
19805 8-byte boundary.
19806 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
19807 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
19808 gen_consttable_4 and gen_consttable_8. Emit multiple labels
19809 and consttable_window_ends.
19810 2001-06-03 Graham Stott <grahams@redhat,com>
19811 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
19812 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
19813 * config/sh/sh.c (print_operand): Handle floating-point pair,
19814 vector and matrix registers.
19815 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
19816 vector modes into account.
19817 * config/sh/sh.md (movv2sf): Split move between registers into
19818 movdf.
19819 (movv4sf, movv16sf): Introduce insns that get split only after
19820 reload.
19821 * config/sh/shmedia.h: Fix Copyright dates.
19822 * config/sh/ushmedia.h: Likewise. Move loop counter
19823 declarations into conditionals that uses them.
19824 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
19825 loop boundary.
19826 * config/sh/sshmedia.h: Fix Copyright dates.
19827 (sh_media_PUTCFG): Fix constraints.
19828 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
19829 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
19830 ptrmemfunc_vbit_in_delta for SH5.
19831 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
19832 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
19833 * invoke.texi: Likewise.
19834 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
19835 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
19836 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
19837 GCC_pop_shmedia_regs_nofpu): New global symbols.
19838 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
19839 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
19840 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
19841 compact function with nonlocal labels.
19842 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
19843 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
19844 (initial_elimination_offset): Account for their stack space.
19845 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
19846 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
19847 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
19848 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
19849 least one of the operands to be a register.
19850 (movv2sf): Likewise. Renamed to movv2sf_i.
19851 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
19852 prepare_move_operands() before emitting SHmedia insns.
19853 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
19854 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
19855 Don't save nor initialize r12. Don't mis-align the stack.
19856 Pad the code with a nop.
19857 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
19858 stack.
19859 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
19860 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
19861 [__SHMEDIA__]: Implement.
19862 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
19863 * config/sh/sh.md: Set latency of `pt' closer to reality.
19864 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
19865 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
19866 Set move, load and store type attributes.
19867 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
19868 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
19869 profiling.
19870 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
19871 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
19872 * config/sh/sh.c (sh_media_register_for_return): New function.
19873 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
19874 branch-target register.
19875 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
19876 * config/sh/sh.md (return_media_i): Use any call-clobbered
19877 branch-target register.
19878 (return_media): If r18 wasn't copied in the prologue, copy it
19879 here.
19880 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
19881 Clear class FP0_REGS.
19882 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
19883 from elf.h.
19884 2001-03-08 DJ Delorie <dj@redhat.com>
19885 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
19886 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
19887 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
19888 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
19889 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
19890 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
19891 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
19892 return value correctly for call_cookie.
19893 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
19894 * config/sh/crt1.asm (start): Modified so as to call
19895 ___setup_argv_and_call_main.
19896 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
19897 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
19898 SHmedia mode.
19899 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
19900 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
19901 (STRIP_NAME_ENCODING): Use it.
19902 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
19903 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
19904 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
19905 prepare_scc_operands().
19906 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
19907 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
19908 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
19909 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
19910 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
19911 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
19912 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
19913 used in shcompact_incoming_args.
19914 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
19915 change.
19916 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
19917 mode.
19918 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
19919 Adjust accordingly.
19920 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
19921 Simplify. Adjust. Add sanity check.
19922 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
19923 FPU_SINGLE_BIT.
19924 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
19925 TARGET_SHCOMPACT.
19926 (udivsi3, divsi3): Use them.
19927 (force_mode_for_call): New insn.
19928 (call, call_value, sibcall_value): Emit it before SHcompact
19929 calls.
19930 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
19931 * config/sh/sh.md (call, call_value, sibcall): Make sure the
19932 call cookie is non-NULL before taking its value.
19933 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
19934 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
19935 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
19936 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
19937 block.
19938 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
19939 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
19940 temporary for stack adjusts. Use MACL and MACH to pass
19941 arguments to shcompact_incoming_args.
19942 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
19943 clobber r1.
19944 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
19945 (nested_trampoline): Load static chain address into r1.
19946 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
19947 2001-01-07 Alexandre Oliva <aoliva@redhat.com
19948 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
19949 fp_arith_reg_operand().
19950 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
19951 * config/sh/sh.md (casesi): Sign-extend the first two operands,
19952 and use signed compares for them.
19953 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
19954 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
19955 ones properly aligned.
19956 (find_barrier): Account for extra alignment needed for 8-byte wide
19957 constants.
19958 (machine_dependent_reorg): Require a label for the second 4-byte
19959 constant after an 8-byte one.
19960 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
19961 change.
19962 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
19963 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
19964 last_float when switching float modes.
19965 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
19966 auto-increment for general-purpose registers.
19967 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
19968 result.
19969 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
19970 for stack adjust.
19971 * config/sh/sh.c (sh_builtin_saveregs): Support using all
19972 registers for varargs.
19973 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
19974 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
19975 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
19976 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
19977 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
19978 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
19979 call_cookie accordingly.
19980 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
19981 (SHCOMPACT_BYREF): Likewise.
19982 (SHCOMPACT_FORCE_ON_STACK): New macro.
19983 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
19984 (sh_builtin_saveregs): Likewise.
19985 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
19986 shcompact_incoming_args): Use new shift values. Support
19987 sequences of consecutive and non-consecutive pushes/pops.
19988 * config/sh/sh.md (return): Don't explicitly use PR_REG.
19989 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
19990 * config/sh/sh.h (TEXT_SECTION): Define.
19991 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
19992 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
19993 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
19994 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
19995 return values on FPU-enabled SHmedia.
19996 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
19997 FPU-enabled SHmedia.
19998 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
19999 value is returned in a non-FP reg and is not returned by
20000 reference.
20001 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
20002 jump_ind.
20003 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
20004 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
20005 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
20006 quad-aligned to be passed by callee-copy reference.
20007 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
20008 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
20009 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
20010 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
20011 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
20012 copying low-numbered FP regs to r7 and r8.
20013 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
20014 FP regs to general-purpose regs only if the copy was passed on the
20015 stack.
20016 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
20017 copying FP reg to r9.
20018 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
20019 copy FP regs to general-purpose regs only in outgoing calls.
20020 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 20021 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
20022 HOST_WIDE_INT.
20023 * config/sh/sh.h (struct sh_args): Document all fields.
20024 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
20025 passed partially on the stack should not consider making
20026 sibcalls.
20027 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
20028 stack_regs only for incoming calls. When passing FP args,
20029 make sure there are FP regs available before modifying
20030 call_cookie.
20031 (SHCOMPACT_BYREF): Pass double args in general-purpose
20032 registers by reference.
20033 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
20034 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
20035 attempt to generate sibcalls if the caller got any arguments
20036 by reference.
20037 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
20038 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
20039 to 8-byte boundaries.
20040 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
20041 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
20042 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
20043 stored in the stack.
20044 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
20045 for the offsets to have the ISA bit set.
20046 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
20047 invocation. Use beq instead of bgt to mark end of sequence of
20048 loads.
20049 (shcompact_incoming_args): Fix store of r2. Use beq instead of
20050 bgt to mark end of sequence of stores.
20051 * config/sh/sh.c (arith_operand): Don't check whether
20052 CONST_OK_FOR_J for now.
20053 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
20054 instead of long for conversion.
20055 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
20056 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
20057 before passing it to fprintf.
20058 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
20059 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
20060 Call set_fpscr before reading/writing SR.
20061 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
20062 Call set_fpscr.
20063 * config/sh/lib1funcs.asm: Add `.align 2' directives before
20064 SHmedia code.
20065 (FMOVD_WORKS): Define on SH5 with FPU.
20066 (set_fpscr): Define on SH5. Remove separate _fpscr_values
20067 setting.
20068 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
20069 _fpscr_values.
20070 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
20071 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
20072 address.
20073 (ia_main_table): Ditto.
20074 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
20075 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
20076 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
20077 the definitions from sh.h.
20078 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
20079 TARGET_SH5.
20080 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
20081 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
20082 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
20083 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
20084 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
20085 Increment LABEL_NUSES.
d9b3eb63 20086
fa5322fa
AO
20087 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
20088 TARGET_SH5.
20089 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
20090 defined.
20091 * config/sh/elf.h (SIZE_TYPE): Likewise.
20092 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
20093 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
20094 shcompact_incoming_args): Load switch table addresses using
20095 datalabel.
20096 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
20097 (NO_BUILTIN_SIZE_TYPE): Define.
20098 (SIZE_TYPE): Don't define.
20099 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
20100 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
20101 definition of __SH5__=32 for -m5-compact-nofpu.
20102 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
20103 ADDR_DIFF_VEC.
20104 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
20105 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
20106 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
20107 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
20108 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
20109 (INSN_LENGTH_ALIGNMENT): Likewise.
20110 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
20111 * config/sh/sh.md (call, call_value, sibcall): Simplify
20112 copying of non-branch-target register.
20113 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 20114 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
20115 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
20116 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
20117 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
20118 floating-point values as structs.
20119 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
20120 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
20121 general-purpose register.
20122 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
20123 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
20124 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
20125 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
20126 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
20127 (ENCODE_SECTION_INFO): Enclose variables and constants in
20128 DATALABEL unspecs.
20129 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
20130 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
20131 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
20132 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
20133 only for LABEL_REFs. For SYMBOL_REFs, prepend
20134 SH_DATALABEL_ENCODING to the symbol name.
20135 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
20136 convert_mode().
20137 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
20138 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
20139 UNSPEC_DATALABEL.
20140 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
20141 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
20142 (DATALABEL_REF_P): Don't require CONST.
20143 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
20144 REL label.
20145 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
20146 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
20147 right.
20148 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
20149 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
20150 Use shallow_copy_rtx and PUT_MODE to change the mode of
20151 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
20152 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
20153 on SHmedia using GENERAL_REGs.
20154 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
20155 bltu_media_i): Fix reversion of conditions.
20156 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
20157 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
20158 * config/sh/sh.c (output_far_jump): Save r13 in macl.
20159 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
20160 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
20161 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
20162 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
20163 (GCC_nested_trampoline): Likewise.
20164 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
20165 * config/sh/sh.c (gen_datalabel_ref): Define.
20166 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
20167 (INITIALIZE_TRAMPOLINE): Likewise.
20168 (TRAMPOLINE_ADJUST_ADDRESS): Define.
20169 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
20170 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
20171 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
20172 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
20173 (ic_invalidate): Adjust for SH5.
20174 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
20175 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
20176 _nested_trampoline.
20177 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
20178 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
20179 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
20180 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
20181 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
20182 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
20183 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
20184 * config/sh/sh.c (target_reg_operand): Match only target-branch
20185 registers and pseudos that aren't virtual registers.
20186 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
20187 Copy operands that don't match target_reg_operand to pseudos.
20188 (call_media, call_value_media, sibcall_media): Use
20189 target_reg_operand instead of target_operand.
20190 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 20191 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
20192 * config/sh/sh.c (target_reg_operand): Match hardware registers
20193 other than branch-target registers.
20194 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
20195 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
20196 (fpscr_values) [SH5 == 32]: Define.
20197 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
20198 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
20199 Handle function addresses coming in SUBREGs.
20200 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
20201 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
20202 shcompact_return_trampoline): Use datalabel where appropriate.
20203 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
20204 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
20205 general-purpose register to copy one branch-target register to
20206 another.
20207 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
20208 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
20209 SYMBOL_REFs with VOIDmode.
20210 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
20211 bltu_media_i): New insns.
20212 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
20213 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
20214 (INIT_CUMULATIVE_ARGS): Likewise.
20215 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
20216 * machmode.def (V16SFmode): New mode.
20217 * c-common.c (type_for_mode): Support V2SF and V16SF.
20218 * tree.c (build_common_tree_nodes_2): Likewise.
20219 * tree.h (tree_index): Likewise.
20220 * calls.c (emit_call_1): Take args_so_far. Adjust all
20221 callers. Introduce CALL_POPS_ARGS.
20222 * tm.texi (CALL_POPS_ARGS): Document.
20223 * config/sh/crt1.asm: Implement in SHmedia mode.
20224 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
20225 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
20226 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
20227 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
20228 Implement divsi and udivsi in SHmedia mode. Introduce
20229 SHcompact trampolines.
20230 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
20231 only in SHmedia64.
20232 (regno_reg_class): Rewrite.
20233 (fp_reg_names): Remove.
20234 (sh_register_names, sh_additional_register_names): New.
20235 (print_operand): Added `u'. Support SUBREGs in addresses.
20236 Add parentheses around shifted CONSTs.
20237 (output_file_start): Output .mode and .abi directives.
20238 (shiftcosts, addsubcosts, multcosts): Adjust.
20239 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
20240 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
20241 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
20242 bytes, not registers. Take into account the need for the
20243 SHcompact incoming args trampoline. Adjust all callers.
20244 (sh_expand_prologue): Take stack_regs into account. Call
20245 incoming args trampoline. Keep stack aligned as per SH5 ABI.
20246 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
20247 stack aligned as per SH5 ABI.
20248 (sh_builtin_saveregs): Support SH5 ABI.
20249 (sh_build_va_list, sh_va_start): Likewise.
20250 (initial_elimination_offset): Take alignment into account.
20251 Compute location of PR according to the SH5 stack frame.
20252 (arith_reg_operand): Reject branch-target registers.
20253 (shmedia_6bit_operand): New.
20254 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
20255 (target_reg_operand): Match DImode only. Accept SUBREGs.
20256 (target_operand): New.
20257 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
20258 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
20259 SIBCALL_REGS for SHmedia.
20260 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
20261 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
20262 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
20263 (TARGET_SWITCHES): New SH5 flags.
20264 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
20265 VALID_REGISTER_P to disable unsupported registers.
20266 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
20267 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
20268 (FUNCTION_ARG_PADDING): Define.
20269 (FASTEST_ALIGNMENT): Adjust.
20270 (SH_REGISTER_NAMES_INITIALIZER): New.
20271 (sh_register_names): Declare.
20272 (DEBUG_REGISTER_NAMES): Define.
20273 (REGISTER_NAMES): Define based on sh_register_names.
20274 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
20275 (sh_additional_register_names): Declare.
20276 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
20277 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
20278 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
20279 (REGISTER_NATURAL_MODE): Define.
20280 (FIRST_PSEUDO_REGISTER): Adjust.
20281 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
20282 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
20283 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
20284 (VECTOR_MODE_SUPPORTED_P): Define.
20285 (REG_CLASS_CONTENTS): Adjust.
20286 (SMALL_REGISTER_CLASSES): Adjust.
20287 (REG_ALLOC_ORDER): Adjust.
20288 (INDEX_REG_CLASS): Adjust.
20289 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
20290 (CONST_OK_FOR_LETTER_P): Adjust.
20291 (PREFERRED_RELOAD_CLASS): Adjust.
20292 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
20293 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
20294 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
20295 (FIRST_FP_PARM_REG): Adjust.
20296 (CALL_POPS_ARGS): Define.
20297 (FUNCTION_ARG_REGNO_P): Adjust.
20298 (struct sh_args): New fields.
20299 (GET_SH_ARG_CLASS): Adjust.
20300 (INIT_CUMULATIVE_ARGS): Adjust.
20301 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
20302 (FUNCTION_ARG_ADVANCE): Adjust.
20303 (FUNCTION_ARG): Adjust.
20304 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
20305 (FUNCTION_ARG_CALLEE_COPIES): Define.
20306 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
20307 (STRICT_ARGUMENT_NAMING): Define.
20308 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
20309 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
20310 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
20311 (SETUP_INCOMING_VARARGS): Adjust.
20312 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
20313 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
20314 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
20315 (SUBREG_OK_FOR_INDEX_P): Adjust.
20316 (EXTRA_CONSTRAINT_S): Update.
20317 (EXTRA_CONSTRAINT_T): New.
20318 (EXTRA_CONSTRAINT): Adjust.
20319 (GO_IF_LEGITIMATE_INDEX): Adjust.
20320 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
20321 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
20322 (MOVE_MAX): Adjust.
20323 (MAX_MOVE_MAX): Define.
20324 (Pmode): Adjust.
20325 (CONST_COSTS): Adjust.
20326 (REGISTER_MOVE_COST): Adjust.
20327 (BRANCH_COST): Adjust.
20328 (TEXT_SECTION_ASM_OP): Adjust.
20329 (DBX_REGISTER_NUMBER): Adjust.
20330 (ASM_OUTPUT_DOUBLE_INT): New.
20331 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
20332 (PREDICATE_CODES): Adjust.
20333 (PROMOTE_MODE): Adjust.
20334 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
20335 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
20336 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
20337 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
20338 (DR0_REG, DR2_REG, DR4_REG): Renumber.
20339 (TR0_REG, TR1_REG, TR2_REG): New.
20340 (XD0_REG): Renumber.
20341 (UNSPEC_COMPACT_ARGS): New.
20342 (type): Added pt and ptabs.
20343 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 20344 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
20345 (pt): New function unit.
20346 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
20347 Add whitespace between operands of SHmedia instructions.
20348 (movdicc): Fix.
20349 (adddi3_media, addsi3_media): Adjust constraints.
20350 (subsi3) [SHmedia]: Force operand 1 into a register.
20351 (udivsi3_i1_media, udivsi3_i4_media): New.
20352 (udivsi3): Support SHmedia.
20353 (divsi3_i1_media, divsi3_i4_media): New.
20354 (divsi3): Support SHmedia.
20355 (anddi3, iordi3, xordi3): Adjust constraints.
20356 (zero_extendhidi2, zero_extendqidi2): New.
20357 (extendsidi2, extendhidi2, extendqidi2): New.
20358 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
20359 (pop_e, pop_fpul, pop_4): Likewise.
20360 (movsi_media): Support FP and BT registers.
20361 (movsi_media_nofpu): New. Adjust splits to DImode.
20362 (lduw, ldub): Renamed to zero_extend* above.
20363 (movqi_media): Fix typo.
20364 (movdi_media): Support FP and BT registers.
20365 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
20366 (movdi_const_32bit): New.
20367 (shori_media): Require immediate operand. Use `u' for output.
20368 (movdf_media, movsf_media): Simplified.
20369 (movdf_media_nofpu, movsf_media_nofpu): New.
20370 (movdf, movsf): Adjust
20371 (movv2sf, movv2sf, movv16sf): New.
20372 (beq_media, beq_media_i): Adjust constraints. Don't use
20373 scratch BT register.
20374 (bne_media, bne_media_i): Likewise.
20375 (bgt_media, bgt_media_i): Likewise.
20376 (bge_media, bge_media_i): Likewise.
20377 (bgtu_media, bgtu_media_i): Likewise.
20378 (bgeu_media, bgeu_media_i): Likewise.
20379 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
20380 bunordered): Emit jump insn. Force operands to registers when
20381 needed.
20382 (jump_media, jump): Simplify.
20383 (call_compact, call_compact_rettramp): New.
20384 (call_value_compact, call_value_compact_rettramp): New.
20385 (call_media, call_value_media): Simplify.
20386 (sibcall_compact, sibcall_media): New.
20387 (call, call_value): Adjust for SHmedia and SHcompact.
20388 (sibcall, sibcall_value, untyped_call): Likewise.
20389 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
20390 (indirect_jump): Adjust for SHmedia.
20391 (casesi_jump_media): New.
20392 (nop): Re-enable for SHmedia.
20393 (call_site): Restrict to SH1.
20394 (casesi): Adjust for SHmedia.
20395 (casesi_shift_media, casesi_load_media): New.
20396 (return): Explicitly use PR register. Call return trampoline
20397 on SHcompact.
20398 (return_i): Explicitly use PR register.
20399 (shcompact_return_tramp, shcompact_return_tramp_i): New.
20400 (return_media): Adjust.
20401 (shcompact_incoming_args): New.
20402 (epilogue): Adjust.
20403 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
20404 (movstrsi): Disable on SH5.
20405 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
20406 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
20407 (subsf3, subsf3_media): Likewise.
20408 (mulsf3, mulsf3_media, mac_media): Likewise.
20409 (divsf3, divsf3_media): Likewise.
20410 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
20411 (floatsisf2, fux_truncsfsi2): Likewise.
20412 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
20413 constraints.
20414 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
20415 (cmpunsf_media, cmpsf): Likewise.
20416 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
20417 (abssf2, abssf2_media): Likewise.
20418 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
20419 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
20420 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
20421 (floatsidf2, fix_truncdfsi2): Likewise.
20422 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
20423 constraints.
20424 (cmpeqdf_media, cmpgtdf_media): Likewise.
20425 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
20426 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
20427 (absdf2, absdf2_media): Likewise.
20428 (extendsfdf2, extendsfdf2_media): Likewise.
20429 (truncsfdf2, truncsfdf2_media): Likewise.
20430 * config/sh/sh64.h: New file.
20431 * config/sh/t-sh64: New file.
20432 * config/sh/shmedia.h: New file.
20433 * config/sh/ushmedia.h: New file.
20434 * config/sh/sshmedia.h: New file.
20435 * configure.in: Added sh64-*-elf.
20436 * configure: Rebuilt.
20437 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
20438 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
20439 (reg_class_from_letter): Use `b' for TARGET_REGS.
20440 (print_operand): Support `%M', `%m', `AND' and
20441 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
20442 (andcosts): Adjust for SHmedia.
20443 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
20444 Likewise.
20445 (target_reg_operand): New function.
20446 * config/sh/sh-protos.h (target_reg_operand): Declare.
20447 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
20448 FP registers on SH5.
20449 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
20450 on SH4.
20451 (TARGET_REGISTER_P): New macro.
20452 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
20453 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
20454 (EXTRA_CONSTRAINT_S): New macro.
20455 (EXTRA_CONSTRAINT): Adjust.
20456 (FLOAT_TYPE_SIZE): Define to 32.
20457 (Pmode): DImode on SHmedia.
20458 (CONST_COSTS): Adjust for SHmedia literals.
20459 (PREDICATE_CODES): Added target_reg_operand.
20460 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
20461 * config/sh/sh.md: Remove all attrs from SHmedia insns.
20462 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
20463 (cmpdi): Accept SHmedia.
20464 (movdicc_false, movdicc_true): New insns.
20465 (movdicc): New expand.
20466 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
20467 no_new_pseudos.
20468 (addsi3_media): Match `S' constraint.
20469 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
20470 (negdi2): Expand for SHmedia.
20471 (one_cmpldi2): New expand.
20472 (zero_extendsidi2): Change from expand to insn.
20473 (extendsidi2): Add constraints.
20474 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
20475 LD/ST address. Fix SI immediate loading split.
20476 (movhi_media, movqi_media, lduw, ldub): New insns.
20477 (movhi, movqi): Accept SHmedia.
20478 (shori_media, movdi_media): Relax input constraints. Split
20479 symbolic constants.
20480 (movdf_media, movsf_media): New insn. New split to movdi.
20481 (movdf, movsf): Match on SHmedia.
20482 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
20483 bgeu_media): New insns and splits. New insns with `_i' suffix.
20484 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
20485 (bunordered): New expand.
20486 (jump_compact): Renamed from `jump'.
20487 (jump_media): New insn.
20488 (jump): New expand.
20489 (call_media, call_value_media): New insns.
20490 (call, call_value): Adjust.
20491 (indirect_jump_compact): Renamed from `indirect_jump'.
20492 (indirect_jump_media): New insn.
20493 (indirect_jump): New expand.
20494 (untyped_call, return): Accept SHmedia.
20495 (return_media): New insn.
20496 (prologue, epilogue, blockage): Accept SHmedia.
20497 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
20498 (sunordered): New expand.
20499 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
20500 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
20501 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
20502 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
20503 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
20504 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
20505 abssf2_media): New insns.
20506 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
20507 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
20508 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
20509 floatdidf2, floatsidf2_media, fix_truncdfdi2,
20510 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
20511 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
20512 absdf2_media): New insns.
20513 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
20514 (extendsfdf2_media, truncdfsf2_media): New insns.
20515 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
20516 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
20517 * config/sh/sh.h (CONST_OK_FOR_J): Document.
20518 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
20519 * config/sh/sh.md (adddi3): New expand.
20520 (adddi3_media, adddi3z_media): New insns.
20521 (adddi3_compact): Renamed from adddi3.
20522 (addsi3_media): Use add.l r63 to add constant zero.
20523 (subdi3): New expand.
20524 (subdi3_media): New insn.
20525 (subdi3_compact): Renamed from subdi3.
20526 (mulsidi3): New expand.
20527 (mulsidi3_media): New insn.
20528 (mulsidi3_compact): Renamed from mulsidi3.
20529 (umulsidi3): New expand.
20530 (umulsidi3_media): New insn.
20531 (umulsidi3_compact): Renamed from umulsidi3.
20532 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
20533 (ashlsi3, ashrsi3, lshrsi3): Use them.
20534 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
20535 (ashldi3, ashrdi3, lshrdi3): Use them.
20536 (zero_extendsidi2): New expand.
20537 (extendsidi2): New insn.
20538 (movsi_media): New insn. Split to movdi to load constants.
20539 (movsi): Enable for shmedia.
20540 (movdi_media): New insn. Use shori_media to load wide constants.
20541 (short_media): New insn.
20542 (movdi): Enable for shmedia.
20543 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
20544 * config/sh/sh.h (CPP_SPEC): Added `m5'.
20545 (SUBTARGET_CPP_SPEC): Added `!m5'.
20546 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
20547 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
20548 to all other SH variants.
20549 (TARGET_DEFAULT): Set to SH1_BIT.
20550 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
20551 (BITS_PER_WORD): Raise to 64 on shmedia.
20552 (MAX_BITS_PER_WORD): Change to 64.
20553 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
20554 (INT_TYPE_SIZE): Keep as 32.
20555 (UNITS_PER_WORD): Raise to 8 on shmedia.
20556 (MIN_UNITS_PER_WORD): Keep as 4.
20557 (POINTER_SIZE): Raise to 64 on shmedia.
20558 (CONST_OK_FOR_J): New macro.
20559 (CONST_OK_FOR_LETTER_P): Use it.
20560 (processor_type): Add PROCESSOR_SH5.
20561 * config/sh/sh.md: Conditionalize all expands, insns and
20562 splits to TARGET_SH1.
20563 (cpu): Added sh5.
20564 (addsi3_compact): Renamed from...
20565 (addsi3): Now an expand.
20566 (addsi3_media, subsi3_media): New insns.
20567 (subsi3): Don't negate constants with SHmedia.
20568
e4ec2cac
AO
20569 * hooks.c: New file.
20570 * hooks.h: New file.
20571 * Makefile.in (HOOKS_H): New.
20572 (TARGET_DEF_H): Added $(HOOKS_H).
20573 (OBJS): Added hooks.o.
20574 (cfgcleanup.o, bb-reorder.o): Added target.h.
20575 (hooks.o): Added dependencies.
20576 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
20577 (TARGET_INITIALIZER): this.
20578 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
20579 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
20580 * bb-reorder.c: Include target.h.
20581 (reorder_basic_blocks): Skip if cannot modify jumps.
20582 * cfgcleanup.c: Include target.h.
20583 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
20584
246a46e0
CD
205852002-02-08 Chris Demetriou <cgd@broadcom.com>
20586
831c4e87
KC
20587 * config/mips/mips.md (casesi_internal, casesi_internal_di):
20588 Protect jump delay slot instructions with .set noreorder and
20589 .set nomacro.
246a46e0
CD
20590
205912002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
20592
20593 * config/mips/mips.md (casesi_internal_di): Calculate
20594 the index into the target offset table correctly.
20595
fdf473ae
RH
205962002-02-08 Richard Henderson <rth@redhat.com>
20597
20598 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
20599 * final.c (output_addr_const): Accept and discard SUBREG.
20600 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
20601 mark them unknown instead.
20602 (simplify_subtraction): Handle RTX_UNKNOWN.
20603 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
20604
c50503ac
DE
206052002-02-08 David Edelsohn <edelsohn@gnu.org>
20606
20607 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
20608
3660d217
RH
206092002-02-08 Richard Henderson <rth@redhat.com>
20610
20611 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
20612
56547299
AJ
206132002-02-08 Andreas Jaeger <aj@suse.de>
20614
20615 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
20616 * config/i386/t-linux64: New file.
20617
1cf537c5
JJ
206182002-02-08 Jakub Jelinek <jakub@redhat.com>
20619
20620 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
20621 * c-parse.in (compstmt): Clear last_expr_type.
20622
5c7f5a5f
RH
206232002-02-07 Richard Henderson <rth@redhat.com>
20624
20625 * loop.c (strength_reduce): Sink final_value when not
20626 eliminating a biv.
20627
b1138bf3
DB
206282002-02-07 David O'Brien <obrien@FreeBSD.org>
20629
20630 * config/sparc/freebsd.h: Fix mismatched spec {.
20631
b6878a45
RH
206322002-02-07 Richard Henderson <rth@redhat.com>
20633
20634 * cfgrtl.c: Include recog.h and insn-config.h.
20635 (keep_with_call_p): Fix general_operand invocation.
20636 * Makefile.in (cfgrtl.o): Update dependencies.
20637
ae19f5ef
KH
206382002-02-07 Kazu Hirata <kazu@hxi.com>
20639
20640 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
20641 comment. Accept HImode only if TARGET_H8300.
20642
b137f9fc
EC
206432002-02-07 Eric Christopher <echristo@redhat.com>
20644
20645 * config/mips/crtn.asm: Cleanup #ifdefs.
20646
206472002-02-07 Eric Christopher <echristo@redhat.com>
20648
20649 * config/mips/crti.asm: Add changes for mips16. mips16 uses
20650 register 7 as RA instead of $31.
20651 * config/mips/crtn.asm: Ditto.
20652 * config/mips/mips.c (mips_move_2words): Add case for
20653 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
20654 (compute_frame_size): Fix typo.
20655 (save_restore_insns): Ditto. Make documentation about using
20656 register $7 as return register more precise.
20657 (mips_expand_epilogue): Fix comment. Add code to work around not
20658 being able to add to the stack pointer directly.
20659 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
20660 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
20661 epilogue.
20662
768070a0
TR
206632002-02-07 Tom Rix <trix@redhat.com>
20664
b137f9fc 20665 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
20666 immediates in ldu and stdu DS opcode field.
20667 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
20668 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
20669 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
20670
225909c3
JS
206712002-02-07 Jeff Sturm <jsturm@one-point.com>
20672
20673 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
20674 offset for stack bias.
20675
15fae023
L
206762002-02-07 H.J. Lu <hjl@gnu.org>
20677
20678 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
20679
fde5badd
UW
206802002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
20681
20682 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
20683
162f023b
JH
20684Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
20685
20686 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
20687 * i386.c (x86_order_regs_for_local_alloc): New global function.
20688 * i386.h (REG_ALLOC_ORDER): CLeanup.
20689 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
20690
9b462c42
RH
206912002-02-07 Richard Henderson <rth@redhat.com>
20692
85aa876c 20693 PR optimization/2463
9b462c42
RH
20694 * alias.c (find_base_value): Recall base values for fixed hard regs.
20695 * loop.c (loop_regs_update): Don't use single_set on non-insns.
20696
06e455a9
AO
206972002-02-07 Alexandre Oliva <aoliva@redhat.com>
20698
20699 * config/mips/mips.md (define_delay) [mips16]: Adjust required
20700 length.
20701
edd1967d
RH
207022002-02-06 Richard Henderson <rth@redhat.com>
20703
20704 PR c/5609
20705 * stmt.c (resolve_operand_name_1): Take more care with mixed
20706 named and unnamed operands.
20707
a2cd028f
JJ
207082002-02-06 Janis Johnson <janis187@us.ibm.com>
20709 Jan Hubicka <jh@suse.cz>
20710
20711 * loop.c (remove_constant_addition): Avoid clobbering a shared
20712 CONST expression.
20713
e8487c04
UW
207142002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
20715
20716 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
20717 * config/s390/t-linux64: New file.
20718 * config/s390/libgcc-glibc.ver: New file.
20719
58d10f89
UW
207202002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
20721
20722 * config/s390/linux64.h: Delete file.
20723 * config/s390/s390x.h: New file.
20724 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
20725 as target header file.
20726 * config/s390/linux.h (TARGET_VERSION): Define depending on
20727 DEFAULT_TARGET_64BIT.
20728 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
20729 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
20730 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
20731 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
20732 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
20733 (EXTRA_SPEC): New define.
20734 * config/s390/s390.h (TARGET_VERSION): Define depending on
20735 DEFAULT_TARGET_64BIT.
20736 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
20737
5ce89b2e
JM
207382002-02-06 Jason Merrill <jason@redhat.com>
20739
20740 * c-decl.c (finish_function): Warn about a non-void function with
20741 no return statement and no abnormal exit.
20742 (current_function_returns_abnormally): New variable.
20743 (start_function): Clear it.
20744 (struct c_language_function): Add returns_abnormally.
20745 (push_c_function_context): Save it.
20746 (pop_c_function_context): Restore it.
20747 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
20748 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
20749 an explicit return type.
20750 * c-tree.h: Declare current_function_returns_abnormally.
20751 (C_FUNCTION_IMPLICIT_INT): New macro.
20752 * c-typeck.c (build_function_call): Set it.
20753 (c_expand_return): Set current_function_returns_value even if the
20754 value is erroneous.
20755
caaf2272
JJ
207562002-02-06 Jakub Jelinek <jakub@redhat.com>
20757
20758 PR c/5420:
20759 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
20760 unsafe for reevaluation.
20761
d5129288
JJ
207622002-02-06 Jakub Jelinek <jakub@redhat.com>
20763
20764 PR c/5482:
20765 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
20766 EXPR_STMT, but COMPOUND_STMT, recurse into it.
20767
7fb75099
RH
207682002-02-06 Richard Henderson <rth@redhat.com>
20769
20770 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
20771 be a general_operand. Dest for function value must be a pseudo.
20772
d3a8b6a6
NC
207732002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
20774
20775 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
20776 as SYMBOL_REFs from the constant pool.
20777
3c1299c5
AO
207782002-02-06 Alexandre Oliva <aoliva@redhat.com>
20779
20780 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
20781 passed by invisible reference.
20782
c2c9f6c9
RH
207832002-02-05 Richard Henderson <rth@redhat.com>
20784
20785 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
20786
a824924d
HPN
207872002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
20788
20789 Implement using "base addresses" in insn operands as default.
20790 * config/mmix/mmix.c (mmix_conditional_register_usage): if
20791 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
20792 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
20793 used to read the rtx value.
20794 (mmix_target_asm_function_epilogue): Fix spacing.
20795 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
20796 (mmix_legitimate_address): Ditto.
20797 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
20798 should be loaded with a GETA insn. Don't allocate needless extra
20799 char for nul termination and fix misleading comment.
20800 (mmix_print_operand_address): Handle constants if
20801 TARGET_BASE_ADDRESSES.
20802 (mmix_output_register_setting): Use base addressing if
20803 TARGET_BASE_ADDRESSES and the number of insns is 3.
20804 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
20805 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
20806 to use R as constraint, add LDA to match s.
20807 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
20808 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
20809 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
20810 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
20811 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
20812 order with other fixed registers.
20813 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
20814 other parameter/call-clobbered registers.
20815 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
20816 -mbase-addresses, -mno-base-addresses.
20817 (MMIX Options): Ditto.
20818
73c342b9
JDA
208192002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
20820
20821 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
20822
ef238c58
AH
208232002-02-06 Aldy Hernandez <aldyh@redhat.com>
20824
831c4e87 20825 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 20826
ad08e60e
JT
208272002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
20828
20829 * config/netbsd.h (WCHAR_TYPE): Define.
20830 (WCHAR_TYPE_SIZE): Ditto.
20831 (WINT_TYPE): Ditto.
20832 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
20833 (WCHAR_UNSIGNED): Ditto.
20834 (WCHAR_TYPE_SIZE): Ditto.
20835 (WINT_TYPE): Ditto.
20836 * config/arm/netbsd.h: Likewise.
20837 * config/i386/netbsd-elf.h: Likewise.
20838 * config/i386/netbsd.h: Likewise.
20839 * config/m68k/netbsd-elf.h: Likewise.
20840 * config/m68k/netbsd.h: Likewise.
20841 * config/ns32k/netbsd.h: Likewise.
20842 * config/sparc/netbsd.h: Likewise.
20843 * config/vax/netbsd.: Likewise.
20844
f913c102
AO
208452002-02-05 Alexandre Oliva <aoliva@redhat.com>
20846
20847 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
20848 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
20849 (TARGET_INITIALIZER): this.
20850 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
20851 (BITFIELD_NBYTES_LIMITED): Markup fix.
20852 * tree.h (default_ms_bitfield_layout_p): Declare.
20853 (record_layout_info): Added prev_field.
20854 * tree.c (default_ms_bitfield_layout_p): New fn.
20855 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
20856 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
20857 * stor-layout.c: Include target.h.
20858 (start_record_layout): Initialize prev_field.
20859 (place_field): Handle MS bit-field layout, and disregard
20860 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
20861 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
20862 * Makefile.in (stor-layout.o): Adjust dependencies.
20863
c13db5d1
JM
208642002-02-05 Jason Merrill <jason@redhat.com>
20865
c13db5d1
JM
20866 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
20867
4505024e
AJ
208682002-02-05 Andreas Jaeger <aj@suse.de>
20869
20870 * crtstuff.c: Fix comments.
20871
794ad79d
RH
208722002-02-05 Richard Henderson <rth@redhat.com>
20873
2e279a9b
RH
20874 PR fortran/3393
20875 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
20876 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
20877
794ad79d
RH
20878 PR fortran/3392
20879 * config/mips/mips.c (function_arg): Handle TImode.
20880 (function_arg_advance): Likewise.
20881
8f909017
AH
208822002-02-05 Aldy Hernandez <aldyh@redhat.com>
20883
c13db5d1
JM
20884 * config/rs6000/altivec.h (vec_step_help): Rename to
20885 __vec_step_help.
8f909017 20886
66daa9e3
AH
208872002-02-05 Aldy Hernandez <aldyh@redhat.com>
20888
c13db5d1 20889 * config/rs6000/altivec.h: Fix typos.
66daa9e3 20890
2696e97b
JT
208912002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
20892
20893 * config/arm/netbsd.h: Correct a comment.
20894
3deb2758
AH
208952002-02-05 Aldy Hernandez <aldyh@redhat.com>
20896
c13db5d1
JM
20897 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
20898 building void typed builtins.
3deb2758 20899
c13db5d1
JM
20900 * config/rs6000/altivec.h (vec_ld*): Fix typos.
20901 (vec_step): Implement for C++.
3deb2758 20902
c13db5d1 20903Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
20904
20905 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
20906
ebbb0a63
RH
209072002-02-04 Richard Henderson <rth@redhat.com>
20908
20909 * combine.c (nonzero_bits): Re-introduce special case for
20910 sp/fp/ap wrt REGNO_POINTER_ALIGN.
20911
ae4b4a02
AH
209122002-02-05 Aldy Hernandez <aldyh@redhat.com>
20913
c13db5d1
JM
20914 * doc/extend.texi: Warn about unsupported usage of altivec
20915 builtins.
ae4b4a02 20916
c13db5d1
JM
20917 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
20918 (altivec_predicate_*): New.
ae4b4a02 20919
c13db5d1
JM
20920 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
20921 Add C++ version of vec_*() functions.
ae4b4a02 20922
c13db5d1
JM
20923 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
20924 (bdesc_2arg): Remove altivec predicates.
20925 (altivec_expand_builtin): Handle predicates.
20926 (altivec_init_builtins): Handle predicates.
20927 (altivec_expand_predicate_builtin): New.
ae4b4a02 20928
f6bcf44c
JDA
209292002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20930
20931 * pa.c (DO_FRAME_NOTES): Move forward.
20932 (store_reg): Revise handling of frame notes.
20933 (load_reg): Likewise.
20934 (set_reg_plus_d): Likewise.
20935 (hppa_expand_prologue): Likewise.
20936 (hppa_expand_epilogue): Likewise.
b137f9fc 20937
703b0080
JDA
209382002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20939
20940 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
20941
6f9fdf4d
JJ
209422002-02-04 Jakub Jelinek <jakub@redhat.com>
20943
20944 PR c/4475, c++/3780:
20945 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
20946 * c-common.h (SWITCH_TYPE): Define.
20947 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
20948 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
20949 Rename spareness variable to sparseness.
20950 (expand_end_case_type): Renamed from expand_end_case, use orig_type
20951 if non-NULL instead of TREE_TYPE (orig_index).
20952 * tree.h (expand_end_case_type): Renamed from expand_end_case.
20953 (expand_end_case): Define using expand_end_case_type.
20954 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
20955 to expand_end_case_type.
20956 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
20957
79109502
JDA
209582002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20959
20960 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
20961 (BIGGEST_ALIGNMENT): Change to 128.
20962
e62a5987
JDA
209632002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20964
20965 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
20966
219f24a4
JDA
209672002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
20968
20969 * pa.md (call_internal_reg_64bit): Remove unused variable.
20970
3cb66fd7
NC
209712002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
20972
20973 * config/arm/arm.h (machine_function): Add uses_anonymous_args
20974 field.
831c4e87 20975 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 20976 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
20977 replace uses with cfun->machine->uses_anonymous_args.
20978 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
20979
20980 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
20981 any geenral register.
b137f9fc 20982
5d5603e2 209832001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
20984
20985 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
20986 the entry block.
20987
563c12b0
RH
209882002-02-04 Richard Henderson <rth@redhat.com>
20989
20990 * combine.c (force_to_mode): Remove STACK_BIAS code.
20991 (nonzero_bits): Likewise. Replace sp/fp special case with
20992 REGNO_POINTER_ALIGN.
20993
20994 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
20995 (HARD_FRAME_POINTER_REGNUM): New.
20996 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
20997 (FIXED_REGS, CALL_USED_REGS): Update.
20998 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
20999 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
21000 (HARD_REGNO_NREGS): Update for SFP.
21001 (STACK_POINTER_OFFSET): Include bias here ...
21002 (FIRST_PARM_OFFSET): ... not here.
21003 (STACK_BIAS): Remove.
21004 (INIT_EXPANDERS): New.
21005 (STARTING_FRAME_OFFSET): Do not include bias.
21006 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
21007 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
21008 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
21009 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
21010 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
21011 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
21012 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
21013 (MUST_SAVE_REGISTER): Likewise.
21014 (sparc_flat_function_prologue): Likewise.
21015 (sparc_flat_function_epilogue): Likewise.
21016 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
21017 (sparc_init_modes): SFP is GENERAL_REGS.
21018 (sparc_builtin_saveregs): SFP does not have bias applied.
21019
14691f8d
RH
210202002-02-04 Richard Henderson <rth@redhat.com>
21021
21022 * config/alpha/alpha.c (current_function_is_thunk): Don't check
21023 current_function_is_thunk.
21024 (alpha_sa_mask): Distinguish between current_function_is_thunk
21025 called from ASM_OUTPUT_MI_THUNK and not.
21026 (alpha_does_function_need_gp): Thunks always need gp.
21027 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
21028 (alpha_output_mi_thunk_osf): New.
21029 * config/alpha/alpha-protos.h: Update.
21030 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
21031
af702de8
RS
210322002-02-04 Richard Sandiford <rsandifo@redhat.com>
21033
21034 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
21035 function types, not when they're taken away.
21036
5b1cacd8
JL
21037Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
21038
21039 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
21040 CODE_LABEL and jump table when replacing a table jump with a
21041 simple jump.
21042
f3e9edff
UW
210432002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
21044
21045 * config/s390/s390-protos.h (legitimize_la_operand,
21046 s390_secondary_input_reload_class, s390_plus_operand,
21047 s390_expand_plus_operand): Add prototypes.
21048
21049 config/s390/s390.c (s390_secondary_input_reload_class,
21050 s390_plus_operand, s390_expand_plus_operand): New functions.
21051
21052 (struct s390_address): New member 'pointer'.
21053 (s390_decompose_address): Compute it.
21054 (legitimate_la_operand_p): Use it.
21055 (legitimize_la_operand): New function.
21056 (movti, movdi, movdf splitters): Call it.
21057
21058 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
21059 (PREDICATE_CODES): Add s390_plus_operand.
21060
21061 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
21062 (la_ccclobber): Allow GENERAL_REGS as output operand.
21063
21064 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
21065 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
21066 (*la_64, *la_31, reload_indi, reload_insi): ... these.
21067
3c9a08ec
UW
210682002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
21069
21070 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
21071 register names for regular asm () construct.
21072
ac300a45
JJ
210732002-02-04 Jakub Jelinek <jakub@redhat.com>
21074
21075 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
21076 registers.
21077
fa852403
JJ
210782002-02-04 Jakub Jelinek <jakub@redhat.com>
21079
21080 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
21081 pat for recog.
21082
fecaac37
HP
210832002-02-04 Hartmut Penner <hpenner@de.ibm.com>
21084
831c4e87
KC
21085 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
21086 constant pool to be identical by string address and index.
fecaac37 21087
10c45943
AG
210882002-02-04 Anthony Green <green@redhat.com>
21089
21090 * output.h (SECTION_OVERRIDE): Define.
21091 * varasm.c (named_section): Obey SECTION_OVERRIDE.
21092
69474c3c
JT
210932002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
21094
21095 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
21096 by existing arm*-*-netbsd* (a.out) target.
21097 (ns32k-*-netbsdelf*): Likewise.
21098 (sparc-*-netbsdelf*): Likewise.
21099 (vax-*-netbsdelf*): Likewise.
21100
939a46f6 211012002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
21102
21103 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
21104 headers and libobjc headers.
21105
211062002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
21107
21108 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
21109 (_mingw.h): Remove duplicate include.
21110
2fd95d71
JT
211112002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
21112
21113 * config.gcc: Set cpu_type to m68k for 68010, as well.
21114 (m68010-*-netbsdelf*): New...
21115 (m68k*-*-netbsdelf*): ...targets.
21116 * config/m68k/netbsd-elf.h: New file.
21117
0ea6f6a0
KH
211182002-02-02 Kazu Hirata <kazu@hxi.com>
21119
21120 * config/h8300/h8300.c (hand_list): Move inside function_arg.
21121
cbf1b2da
KH
211222002-02-02 Kazu Hirata <kazu@hxi.com>
21123
21124 * config/h8300/h8300.c (h8_push_ops): Move inside
21125 h8300_init_once.
21126 (h8_pop_ops): Likewise.
21127 (h8_move_ops): Likewise.
21128
0869f126
KH
211292002-02-02 Kazu Hirata <kazu@hxi.com>
21130
21131 * config/h8300/h8300.c (os_task): Make it static.
21132 (monitor): Likewise.
21133 (pragma_saveall): Likewise.
21134
90e65b70
AO
211352002-02-02 Alexandre Oliva <aoliva@redhat.com>
21136
21137 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
21138 constant is a valid sign-extension for Pmode.
21139
9cbcd983
KH
211402002-02-02 Kazu Hirata <kazu@hxi.com>
21141
21142 * config/h8300/h8300.c: Fix formatting.
21143
7a27efc4
KH
211442002-02-02 Kazu Hirata <kazu@hxi.com>
21145
21146 * config/h8300/h8300.md: Fix formatting.
21147
54175a44
KH
211482002-02-02 Kazu Hirata <kazu@hxi.com>
21149
21150 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
21151 predicates of operands[1]. Split the patterns for each
21152 processor variant.
21153
eceb1755
KH
211542002-02-02 Kazu Hirata <kazu@hxi.com>
21155
21156 * config/h8300/h8300.md (xor patterns): Tighten the predicates
21157 of operands[1] to register_operand.
21158
0fef3fd0
NB
211592002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
21160
21161 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
21162 * cpphash.c (_cpp_init_hashtable): Similarly.
21163 * cppinit.c (cpp_create_reader): Default the signed_char flag.
21164 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
21165 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
21166 (cpp_handle_option): Handle the new options.
21167 * cpplex.c (cpp_interpret_charconst): Use new flag.
21168 * cpplib.h (struct cpp_options): New member signed_char.
21169 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
21170 (cpp_options): Handle -fsigned-char and -funsigned-char.
21171 (static_specs): Remove signed_char_spec.
21172 (do_spec1): Don't handle %c.
21173 * system.h: Poison SIGNED_CHAR_SPEC.
21174 * tradcif.y (yylex): Use flag_signed_char.
21175 * tradcpp.h (flag_signed_char): New.
21176 * tradcpp.c (flag_signed_char): New.
21177 (main): Handle new command-line options.
21178 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
21179config:
21180 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
21181 * avr/avr.h: Remove old comments.
21182 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
21183 (CC1_SPEC): Pass -fsigned-char if -mic*.
21184 (SIGNED_CHAR_SPEC): Remove.
21185doc:
21186 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
21187
0617ed52
EC
211882002-02-01 Eric Christopher <echristo@redhat.com>
21189
21190 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
21191 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
21192 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
21193 (ASM_OUTPUT_REG_POP): Ditto.
21194
dfd48d76
NB
211952002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
21196
21197 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
21198 patch.
21199
4a23409e
JJ
212002002-02-02 Jakub Jelinek <jakub@redhat.com>
21201
21202 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
21203
d3c52658
JJ
212042002-02-02 Jakub Jelinek <jakub@redhat.com>
21205
21206 PR c/5304:
21207 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
21208 unconditionally.
21209
02c5a3bd
JJ
212102002-02-01 Janis Johnson <janis187@us.ibm.com>
21211
21212 * cfganal.c: Include tm_p.h.
21213 (keep_with_call_p): Fix the test that determines if a register holds
21214 the return value of a call.
21215
3968de80
DD
212162002-02-01 DJ Delorie <dj@redhat.com>
21217
21218 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
21219 we are given conflicting registers, switch to the other one we
21220 had allocated for us.
21221 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
21222 as TImode so we know when the "other" register is available.
21223
1338ea6c
DB
212242002-02-01 David O'Brien <obrien@FreeBSD.org>
21225
21226 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
21227 sparc/sparc_bi.h.
21228
f015be23
JJ
212292002-02-01 Janis Johnson <janis187@us.ibm.com>
21230
21231 * cfganal.c (keep_with_call_p): New function.
21232 (flow_call_edges_add): Prevent splitting a block between a call and
21233 a single-set instruction that should be kept in the same block.
21234
63708ffc
CR
212352002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
21236
21237 * doc/install.texi (avr): Update outdated URL.
21238
5ee4950e
AH
212392002-01-30 Andrew Haley <aph@cambridge.redhat.com>
21240
831c4e87
KC
21241 * config/stormy16/stormy16.md (pushqi): New.
21242 (popqi): New.
21243 (pushhi): New.
21244 (pophi): New.
21245 (movhi): Remove stack operands.
21246 (movqi): Likewise.
21247 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
21248 nonimmediate_nonstack_operand.
21249 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
21250 New.
21251 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
21252 New.
5ee4950e 21253
b88c0704
JM
212542002-01-31 Jason Merrill <jason@redhat.com>
21255
21256 * Makefile.in (c-parse.c): Handle .output file.
21257 * objc/Make-lang.in (objc-parse.c): Likewise.
21258
ac282977
AO
212592002-02-01 Alexandre Oliva <aoliva@redhat.com>
21260
21261 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
21262 the -me[lb] option is given. Don't output the default flag
21263 twice.
21264
bebc7e8b
ZW
212652002-01-31 Zack Weinberg <zack@codesourcery.com>
21266
21267 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
21268 the primary source file; this has not been done yet.
21269 * c-decl.c (c_expand_body): Reset input_filename from
21270 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
21271
5809eb5f
KH
212722002-01-31 Kazu Hirata <kazu@hxi.com>
21273
21274 * rtlanal.c (subreg_regno_offset): Do not use
21275 SUBREG_REGNO_OFFSET.
21276 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
21277 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
21278
8512bbd7
JM
212792002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
21280
21281 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
21282 version rather than GNATS version in --version output.
21283
74cb3cc8
RS
212842002-01-31 Richard Sandiford <rsandifo@redhat.com>
21285
21286 * ifcvt.c (noce_process_if_block): Make a copy of the destination
21287 when copying back from a temporary.
21288
874b5b14
RH
212892002-01-30 Richard Henderson <rth@redhat.com>
21290
21291 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
21292 and new_dest are the same.
21293
e803a64b
RH
212942002-01-30 Richard Henderson <rth@redhat.com>
21295
89cf7be5 21296 PR opt/5076
e803a64b
RH
21297 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
21298 * rtl.c (note_insn_name): Update.
21299 * emit-rtl.c (remove_unnecessary_notes): Kill it.
21300 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
21301 to perform loop rotation.
21302 (expand_exit_loop_top_cond): New.
21303 * tree.h (expand_exit_loop_top_cond): Declare it.
21304 * c-semantics.c (genrtl_while_stmt): Use it.
21305 (genrtl_for_stmt): Likewise.
21306
0b51254d
AO
213072002-01-30 Alexandre Oliva <aoliva@redhat.com>
21308
21309 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
21310 arguments to 64-bit boundaries on 64-bit ABIs.
21311
71cef493
SE
213122002-01-30 Steve Ellcey <sje@cup.hp.com>
21313
21314 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
21315
6169e5fd
JM
213162002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
21317
21318 * c-decl.c (grokdeclarator): Handle type being a typedef for an
21319 invalid type.
21320
86f808dc
DB
213212002-01-30 David O'Brien <obrien@FreeBSD.org>
21322
21323 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
21324 * config/sparc/sparc_bi.h: Remove file.
21325 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
21326
5748ebeb
RH
213272002-01-30 Richard Henderson <rth@redhat.com>
21328
21329 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
21330
20d32cc2
ZW
213312002-01-30 Zack Weinberg <zack@codesourcery.com>
21332
21333 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
21334
b88c0704 213352002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
21336
21337 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
21338 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
21339 (reg_save): Use DW_CFA_offset_extended_sf instead.
21340
21341 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
21342
37060e78
JJ
213432002-01-29 Jakub Jelinek <jakub@redhat.com>
21344
21345 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
21346 in cselib_lookup.
21347
d18dba68
AH
213482002-01-29 Aldy Hernandez <aldyh@redhat.com>
21349
bebc7e8b
ZW
21350 * rs6000.md ("*call_value_local32"): Remove constraints.
21351 ("*call_value_local64"): Same.
21352 ("*call_value_indirect_nonlocal_aix32"): Same.
21353 ("*call_value_nonlocal_aix32"): Same.
21354 ("*call_value_indirect_nonlocal_aix64"): Same.
21355 ("*call_value_nonlocal_aix64"): Same.
21356 ("*call_value_nonlocal_sysv"): Same.
d18dba68 21357
80a8aac6
RH
213582002-01-29 Richard Henderson <rth@redhat.com>
21359
21360 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
21361
12beba6f
RH
213622002-01-29 Richard Henderson <rth@redhat.com>
21363
21364 * expr.c (force_operand): Ignore flag_pic for detecting pic
21365 address loads.
21366 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
21367 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
21368 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
21369 instead of open-coded loop.
21370 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
21371 be fixed when in use.
21372
2583081e
RH
213732002-01-29 Richard Henderson <rth@redhat.com>
21374
21375 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
21376 * sched-rgn.c (propagate_deps): Update them.
21377 * sched-deps.c (sched_analyze_insn): Update them. Flush the
21378 clobbers list when either gets too long.
21379
3b8d200e
JJ
213802002-01-29 Jakub Jelinek <jakub@redhat.com>
21381
21382 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
21383 and INDEX_REGS the same as GENERAL_REGS.
21384 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
21385
2d3115eb
NB
213862002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
21387
bebc7e8b 21388 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 21389
ecbe845e
UW
213902002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
21391
bebc7e8b 21392 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 21393 movstrsix_31): Remove, replace by ...
bebc7e8b 21394 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
21395 movstrsi_long): ... these. New.
21396 (movstrdi, movstrsi): Adapt.
21397
21398 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 21399 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
21400 Remove unnecessary CC clobber.
21401 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
21402 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
21403
21404 (divmoddi4): Don't partially initialize TImode register.
21405
0b32fca5
GK
214062002-01-29 Geoffrey Keating <geoffk@redhat.com>
21407
21408 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
21409
08ef5437
RH
214102002-01-29 Richard Henderson <rth@redhat.com>
21411
21412 * flow.c (print_rtl_and_abort): Remove.
21413 (print_rtl_and_abort_fcn): Remove.
21414 (verify_local_live_at_start): Use dump_bb instead.
21415 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
21416 (verify_wide_reg_1): Return 2 on mode test failure.
21417
8469e54e
NB
214182002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
21419
21420 PR c/3325, c/3326, c/2511, c/3347
21421 * c-decl.c (enum_decl_context): Remove BITFIELD.
21422 (grokdeclarator): Take bitfield width as an input.
21423 Ensure bitfields are given the correct type. Perform
21424 bitfield width validation with build_bitfield_integer_type
21425 rather than waiting for finish_struct.
21426 (grok_typename, grok_typename_in_parm_context, start_decl,
21427 push_parmdecl, grokfield, start_function): Update calls to
21428 grokdeclarator.
21429 (build_bitfield_integer_type): New function.
21430 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 21431 and build_bitfield_integer_type.
8469e54e
NB
21432 * tree.c (build_nonstandard_integer_type): New function.
21433 * tree.h (build_nonstandard_integer_type): New prototype.
21434objc:
21435 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
21436
ffdeea47
JJ
214372002-01-29 Jakub Jelinek <jakub@redhat.com>
21438
21439 PR other/1502:
21440 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
21441 don't ignore unrecognized -W* options.
21442 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
21443 * cpplib.h (cpp_handle_option): Adjust prototype.
21444 * c-decl.c (c_decode_options): Pass 0 as last argument to
21445 cpp_handle_option.
21446
21447 PR c/2896:
21448 * gcc.c (cpp_unique_options): Split from cpp_options.
21449 (cpp_options): Source cpp_unique_options.
21450 (default_compilers): Use cpp_unique_options instead of cpp_options
21451 when used together with cc1_options.
21452 (static_specs): Add cpp_unique_options.
21453 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
21454 when used together with cc1_options.
21455
1a275226
KH
214562002-01-29 Kazu Hirata <kazu@hxi.com>
21457
21458 * config/h8300/h8300-protos.h: Update the prototype of
21459 output_a_shift.
21460 * config/h8300/h8300.c (output_a_shift): Remove an unused
21461 argument 'insn'. Remove redundant code.
21462 * config/h8300/h8300.md: Adust to the new prototype of
21463 output_a_shift.
21464
a11d9dfc
KH
214652002-01-29 Kazu Hirata <kazu@hxi.com>
21466
21467 * config/h8300/h8300-protos.h: Update the prototypes of
21468 emit_a_rotate and expand_a_rotate.
21469 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
21470 first argument to 'enum rtx_code'.
21471 (expand_a_rotate): Likewise.
21472
871f73e3
KH
214732002-01-28 Kazu Hirata <kazu@hxi.com>
21474
21475 * config/h8300/h8300-protos.h: Update the prototype of
21476 output_simode_bld.
21477 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
21478 'log2'.
21479 * config/h8300/h8300.md: Adjust to the new prototype.
21480
5fc4b751
KH
214812002-01-28 Kazu Hirata <kazu@hxi.com>
21482
21483 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
21484 redundant code.
21485
2d67bd7b
JDA
214862002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
21487
21488 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
21489 is a fixed register before returning pic_offset_table_rtx.
21490 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
21491 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
21492
5a852b3e
JM
214932002-01-28 Jason Merrill <jason@redhat.com>
21494
6bb28965 21495 * dwarf2.h: Sync with src version.
5a852b3e 21496
3bca17dd
PK
214972002-01-28 Paul Koning <pkoning@equallogic.com>
21498
21499 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
21500 BT_FN_VOID_PTR_VAR.
21501 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
21502 * doc/extend.texi (__builtin_prefetch): Update documentation:
21503 first argument is now const void ptr.
21504
7dc3f8c0
KH
215052002-01-28 Kazu Hirata <kazu@hxi.com>
21506
21507 * config/h8300/h8300-protos.h: Remove an unused prototype.
21508
e83cb5f0
RZ
215092002-01-28 Roman Zippel <zippel@linux-m68k.org>
21510
21511 * toplev.c (lang_independent_init): Round up identifier size.
21512
5721cd84
RE
215132002-01-28 Richard Earnshaw <rearnsha@arm.com>
21514
21515 * config.gcc: Revert previous change.
21516
d534119e
AP
215172002-01-28 Andris Pavenis <pavenis@latnet.lv>
21518
21519 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
21520
5a721dab
RE
215212002-01-28 Richard Earnshaw <rearnsha@arm.com>
21522
21523 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
21524 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
21525 other non-elf netbsd config frags.
21526 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
21527 collect2 will does that.
21528 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
21529 shared-lib frobbing will work.
21530
da1775d6
KH
215312002-01-28 Kazu Hirata <kazu@hxi.com>
21532
21533 * config/h8300/h8300.h: Fix formatting.
21534 * config/h8300/h8300.md: Likewise.
21535
8f2e963b
LR
215362002-01-28 Loren J. Rittle <ljrittle@acm.org>
21537
21538 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
21539 the old, removed AAA_standards fix.
21540 * fixinc/fixincl.x: Rebuilt.
21541
fdae5767
HPN
215422002-01-28 Hans-Peter Nilsson <hp@axis.com>
21543
21544 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
21545 atexit call in crtbegin, hooked in after call to frame_dummy;
21546 register EH before registering __fini__start.
21547
2a2ecb63
AH
215482002-01-28 Aldy Hernandez <aldyh@redhat.com>
21549
21550 * config/rs6000/altivec.h: Remove spurious semicolons.
21551
8ed43adf
KH
215522002-01-27 Kazu Hirata <kazu@hxi.com>
21553
21554 * config/h8300/h8300.md: Replace dead bit extraction patterns
21555 with ones that work.
21556
917afb0c
RK
21557Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21558
21559 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
21560 if not STRICT_ALIGNMENT.
21561 * rtl.h (MEM_ALIGN): Likewise.
21562
f70a54cb
CR
215632002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
21564
21565 * doc/invoke.texi (-fdump-translation-unit): Revert this
21566 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
21567
d8fd4914
KH
215682002-01-27 Kazu Hirata <kazu@hxi.com>
21569
21570 * config/h8300/h8300.md (define_constants): New.
21571 (anonymous patterns) Use defined constants appropriately.
21572
15e0e275
KH
215732002-01-27 Kazu Hirata <kazu@hxi.com>
21574
21575 * config/h8300/h8300.c (function_arg): Remove redundant code.
21576
37a0f8a5
RH
215772002-01-26 Richard Henderson <rth@redhat.com>
21578
21579 * sched-deps.c (reg_pending_uses_head): New.
21580 (reg_pending_barrier): Rename from reg_pending_sets_all.
21581 (find_insn_list): Don't mark inline.
21582 (find_insn_mem_list): Remove.
21583 (add_dependence_list, add_dependence_list_and_free): New.
21584 (flush_pending_lists): Replace only_write param with separate
21585 for_read and for_write parameters. Update all callers. Use
21586 add_dependence_list_and_free.
21587 (sched_analyze_1): Do not add reg dependencies here; just set
21588 the pending bits. Use add_dependence_list.
21589 (sched_analyze_2): Likewise.
21590 (sched_analyze_insn): Replace schedule_barrier_found with
21591 reg_pending_barrier. Add all dependencies for pending reg
21592 uses, sets, and clobbers.
21593 (sched_analyze): Don't add reg dependencies for calls, just
21594 set pending bits. Use regs_invalidated_by_call. Treat
21595 sched_before_next_call as a normal list, not a fake insn.
21596 (init_deps): No funny init for sched_before_next_call.
21597 (free_deps): Free pending mems lists. Don't zero reg_last.
21598 (init_deps_global): Init reg_pending_uses.
21599 (finish_deps_global): Free it.
21600 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
21601 (find_insn_mem_list): Remove.
21602 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
21603 (propagate_deps): Use them. Zero temp mem lists.
21604
cea3bd3e
RH
216052002-01-26 Richard Henderson <rth@redhat.com>
21606
21607 * Makefile.in (CRTSTUFF_CFLAGS): New.
21608 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
21609 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
21610 crtstuff.c instead of alpha assembly version.
21611 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
21612 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
21613 not FORCE_{INIT,FINI}_SECTION_ALIGN.
21614 (__do_global_dtors_aux): Mark used.
21615 (frame_dummy, __do_global_ctors_aux): Mark used.
21616 (fini_dummy, init_dummy): Remove.
21617
21618 * config/alpha/crtbegin.asm: Remove file.
21619 * config/alpha/crtend.asm: Remove file.
21620 * config/alpha/t-crtbe: Remove file.
21621 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
21622 (LINK_EH_SPEC): New.
21623
21624 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
21625 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
21626 calling constructors.
21627 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
21628
21629 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
21630 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
21631 CRT_END_INIT_DUMMY hack.
21632 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
21633 FORCE_{INIT,FINI}_SECTION_ALIGN.
21634
21635 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
21636 FORCE_{INIT,FINI}_SECTION_ALIGN.
21637
21638 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
21639 invocation sequence.
21640 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
21641
21642 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
21643 (FORCE_CODE_SECTION_ALIGN): New.
21644
60ffa0e5
RH
216452002-01-26 Richard Henderson <rth@redhat.com>
21646
21647 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
21648
61334ebe
RH
216492002-01-26 Richard Henderson <rth@redhat.com>
21650
21651 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
21652 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
21653
1d788fb6
KH
216542002-01-26 Kazu Hirata <kazu@hxi.com>
21655
21656 * config/h8300/h8300.md: Remove bit extraction patterns that
21657 cannot be triggered.
21658 Restrict each bit extraction pattern to a variant on which the
21659 pattern is tested.
21660
87611f88
JM
216612002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
21662
21663 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
21664
cd74ec59
KH
216652002-01-26 Kazu Hirata <kazu@hxi.com>
21666
21667 * config/h8300/h8300.md: Remove bit test patterns that cannot
21668 be triggered.
21669 Restrict each bit test pattern to a variant on which the
21670 pattern is tested.
21671
93051e0f
KG
216722002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21673
21674 * builtins.c (expand_builtin_strncat): Remove redundant check for
21675 INTEGER_CST.
21676
216c995f
DB
216772002-01-25 David O'Brien <obrien@FreeBSD.org>
21678
21679 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
21680 default setting.
21681 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
21682 existing setting.
21683
33c7f925
GK
216842002-01-25 Geoffrey Keating <geoffk@redhat.com>
21685
21686 * dbxout.c (dbxout_init): Use assemble_name rather than just
21687 stripping off the first character.
21688 (dbxout_source_file): Likewise.
21689
6cd444b4
DD
216902002-01-25 DJ Delorie <dj@redhat.com>
21691
21692 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
21693 using rtx_equal_p, not by comparing pointers.
21694
751551d5
SE
216952002-01-25 Steve Ellcey <sje@cup.hp.com>
21696
21697 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
21698 for PIC_OFFSET_TABLE_REGNUM.
21699 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
21700
e564e618
DB
217012002-01-25 David O'Brien <obrien@FreeBSD.org>
21702
21703 * config.gcc (x86_64-*-freebsd*): New target.
21704 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
21705 value.
21706 (i[34567]86-*-freebsd*): Don't include svr4.h.
21707 * config/i386/freebsd64.h: New file.
21708
ff3aaf17
DR
217092002-01-25 Douglas B Rupp <rupp@gnat.com>
21710
4857d29d
DR
21711 * config/alpha/x-vms (version): Make static.
21712
21713 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
21714 in previous checkin.
21715
ff3aaf17
DR
21716 * Makefile.in (install-headers-cp): New target.
21717 * config.gcc (alpha-dec-*vms*): Install headers with
21718 install-headers-cp
21719
48d79c43
JH
21720Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
21721
21722 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
21723 avoid it's copies.
21724
995b5904
RK
21725Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21726
21727 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
21728 of compare_tree_int.
21729 (expand_builtin_strncat): Likewise.
21730 * c-decl.c (finish_struct): Use tree_low_cst.
21731 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
21732 * tree.c (compare_tree_int): Likewise.
21733
75eefe3f
UW
217342002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
21735
21736 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
21737 adjustments even if they are implemented by more than two insns.
21738
5a133afd
JH
21739Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
21740
995b5904 21741 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
21742 * df.h (struct ref): Kill B.
21743 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
21744
21745 * basic-block.h (PROP_EQUAL_NOTES): New flag.
21746 * flow.c (propagate_one_insn): Use it.
21747 (mark_used_regs): Handle NIL.
21748
ead39bdf 217492002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
21750
21751 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
21752 to help folding.
21753
01a2ccd0
DE
217542002-01-25 David Edelsohn <edelsohn@gnu.org>
21755
21756 * rs6000.md (prefetch): Make address V4SI mode so that the address
21757 is restricted to legitimate form for instruction.
21758
fd29f6ea
BW
217592002-01-25 Bob Wilson <bob.wilson@acm.org>
21760
21761 * doc/install.texi (xtensa-*-elf): New target.
21762 (xtensa-*-linux*): New target.
21763 * doc/contrib.texi: Add myself.
21764
55492b32
NC
217652002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
21766
21767 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
21768 purpose register to hold an SImode (or smaller) value.
21769
72c7c913
JJ
217702002-01-25 Jakub Jelinek <jakub@redhat.com>
21771
21772 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
21773 registry only.
21774 * crtstuff.c: Likewise.
21775
c4df4ceb
KH
217762002-01-25 Kazu Hirata <kazu@hxi.com>
21777
21778 * config/h8300/h8300.md (negation patterns): Tighten
21779 predicates to register_operand.
21780
70e531f5
AH
217812002-01-24 Aldy Hernandez <aldyh@redhat.com>
21782
3bca17dd
PK
21783 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
21784 mode, not Pmode.
70e531f5 21785
3bca17dd 21786 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 21787
a4f76ef9
AO
217882002-01-24 Alexandre Oliva <aoliva@redhat.com>
21789
21790 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
21791 modes.
21792
9bf25b09
KH
217932002-01-24 Kazu Hirata <kazu@hxi.com>
21794
21795 * config/h8300/h8300.c (print_operand): Remove support for
21796 operand character 'A'.
21797 * config/h8300/h8300.md (three anonymous patterns): Replace
21798 operand character 'A' with either 'T' or 'S'.
21799
974af6a5
KH
218002002-01-24 Kazu Hirata <kazu@hxi.com>
21801
21802 * config/h8300/h8300.c (print_operand): Remove support for
21803 operand character 'U'.
21804
7a5bb7b8
AP
218052002-01-24 Andris Pavenis <pavenis@latnet.lv>
21806
3bca17dd 21807 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 21808
92a4639e
NC
218092002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
21810
21811 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
21812 values to be assigned to the stack pointer.
21813
467cb2da
HP
218142002-01-14 Hartmut Penner <hpenner@de.ibm.com>
21815
bebc7e8b 21816 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
21817 to const_double needs to be done right for big-endian systems.
21818
3b6cb920
JM
218192002-01-24 Jason Merrill <jason@redhat.com>
21820
b08dd119 21821 PR c++/2432
3b6cb920
JM
21822 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
21823 to can_throw_internal.
21824
f3077311
RH
218252002-01-23 Richard Henderson <rth@redhat.com>
21826
21827 * fold-const.c (fold): Change UINT_MAX test to check vs precision
21828 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
21829
e1d71275
AO
218302002-01-24 Alexandre Oliva <aoliva@redhat.com>
21831
21832 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
21833 (symGOT2reg): Use them, then set as GOT value as unchanging.
21834 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
21835 as a temporary, if possible.
21836 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
21837 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
21838
dc271dbe
KH
218392002-01-23 Kazu Hirata <kazu@hxi.com>
21840
21841 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
21842 accept to accept 0x80 as operands[2].
21843
1a9017f9
AO
218442002-01-24 Alexandre Oliva <aoliva@redhat.com>
21845
21846 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
21847
6932f033
RH
218482002-01-23 Richard Henderson <rth@redhat.com>
21849
21850 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
21851
709619d9
AH
218522002-01-23 Aldy Hernandez <aldyh@redhat.com>
21853
3bca17dd
PK
21854 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
21855 (parmlist_or_identifiers_1): Verify that only a parmlist follows
21856 an attribute.
709619d9 21857
3d709fd3
RH
218582002-01-23 Richard Henderson <rth@redhat.com>
21859
21860 * expr.c (move_by_pieces_1): Extend size before negation.
21861
88a446c0
RH
21862 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
21863 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
21864 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
21865 * config/m68k/t-m68kelf: Likewise.
21866
03984308
BW
218672002-01-23 Bob Wilson <bob.wilson@acm.org>
21868
21869 * config/xtensa/elf.h: New file.
21870 * config/xtensa/lib1funcs.asm: New file.
21871 * config/xtensa/lib2funcs.S: New file.
21872 * config/xtensa/linux.h: New file.
21873 * config/xtensa/t-xtensa: New file.
21874 * config/xtensa/xtensa-config.h: New file.
21875 * config/xtensa/xtensa-protos.h: New file.
21876 * config/xtensa/xtensa.c: New file.
21877 * config/xtensa/xtensa.h: New file.
21878 * config/xtensa/xtensa.md: New file.
21879 * config.gcc (xtensa-*-elf*): New target.
21880 (xtensa-*-linux*): New target.
21881 * cse.c (canon_hash): Compare rtx pointers instead of register
21882 numbers. This is required for the Xtensa port.
21883 * integrate.c (copy_insn_list): Handle case where the static
21884 chain is in memory and the memory address has to be copied to
21885 a register.
21886 * doc/invoke.texi (Option Summary): Add Xtensa options.
21887 (Xtensa Options): New node.
21888 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
21889
c3d5c3fa
ZW
218902002-01-23 Zack Weinberg <zack@codesourcery.com>
21891
a63bea75
ZW
21892 * diagnostic.c (internal_error): Do ICE suppression only
21893 when ENABLE_CHECKING is not defined.
21894
c3d5c3fa
ZW
21895 * c-typeck.c (require_complete_type): Return error_mark_node
21896 if type is error_mark_node.
21897
1398974c
JJ
218982002-01-23 Janis Johnson <janis187@us.ibm.com>
21899
21900 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
21901 -Os and issue a warning.
21902
807633e5
ZW
219032002-01-23 Zack Weinberg <zack@codesourcery.com>
21904
21905 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
21906 current (lack of) need for host configuration by hand.
21907
21908 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
21909 references. Documentation of some target macros moved from
21910 hostconfig.texi to tm.texi.
21911
cf8002d0
WC
219122002-01-23 Will Cohen <wcohen@redhat.com>
21913
21914 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
21915 defined.
21916
d1e76310
KH
219172002-01-23 Kazu Hirata <kazu@hxi.com>
21918
21919 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
21920 operand[3].
21921
b2115575
JM
219222002-01-23 Jason Merrill <jason@redhat.com>
21923
f893c16e
JM
21924 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
21925
b2115575
JM
21926 * function.c (assign_parms): Don't put args of inline functions
21927 into registers when not optimizing.
21928
6bacc7b0
NC
219292002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
21930
21931 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
21932 (prologue_use): New pattern.
21933 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
21934 preference to gen_rtx_USE.
21935 (thumb_expand_prologue): Use gen_prologue_use in preference to
21936 gen_rtx_USE.
21937 (thumb_expand_epilogue): Use gen_prologue_use in preference to
21938 gen_rtx_USE.
21939
a415f7bc
HPN
219402002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
21941
21942 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
21943
5372b3fb
NB
219442002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
21945
21946 PR c/3504
21947 * doc/extend.texi: Correct documentation of __alignof__.
21948
bd571ffc
ZW
219492002-01-22 Zack Weinberg <zack@codesourcery.com>
21950
21951 * params.h: Rename arguments of DEFPARAM so that it will be
21952 recognized as a translation keyword.
21953
333c8841
AH
219542002-01-22 Aldy Hernandez <aldyh@redhat.com>
21955
bd571ffc
ZW
21956 * extend.texi: Document altivec functions.
21957 Fix N-bit adjectives in X86 builtin documentation.
333c8841 21958
38979c65
AO
219592002-01-22 Alexandre Oliva <aoliva@redhat.com>
21960
21961 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
21962 auto_inc_dec values.
21963
7458a9f0
RE
219642002-01-22 Richard Earnshaw <rearnsha@arm.com>
21965
21966 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
21967 after backslash.
21968 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
21969
129bd0c4
AO
219702002-01-22 Alexandre Oliva <aoliva@redhat.com>
21971
21972 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
21973
8b9b74a9
RH
219742002-01-22 Richard Henderson <rth@redhat.com>
21975
21976 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
21977 copy_insn not copy_rtx.
21978
d0c9db30
AM
219792002-01-23 Alan Modra <amodra@bigpond.net.au>
21980
21981 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
21982 "nonzero" as that might add "1" bits. Ensure "constop" is
21983 properly sign extened.
21984 (force_to_mode): Tweak for sign extended constop.
21985
1e7e480e
RH
219862002-01-22 Richard Henderson <rth@redhat.com>
21987
21988 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
21989 for_each_rtx instead of assuming we're already looking at the MEM.
21990 (split_small_symbolic_mem_operand): Likewise.
21991 * config/alpha/alpha.h (PREDICATE_CODES): Update.
21992 * config/alpha/alpha.md (small symbolic memory splitters): Update.
21993
219942002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
21995
21996 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
21997 sequence number for the literal.
21998 (divmoddi_internal_er): Likewise.
21999
b7f2fb96
CR
220002002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
22001
22002 PR java/4972
22003 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
22004 in LIBICONV variable.
22005 * configure: Regenerated.
22006
f66a0046
KW
220072002-01-22 Krister Walfridsson <cato@df.lth.se>
22008
22009 * dependence.c (build_def_use): Remove array_idx.
22010
e3b0efd1
KW
22011 * dwarfout.c (last_filename): Remove.
22012 (output_compile_unit_die): Remove last_filename.
22013
d8086cbb
RS
220142002-01-22 Roger Sayle <roger@eyesopen.com>
22015 Richard Henderson <rth@redhat.com>
22016
22017 PR opt/3640
22018 * fold-const.c (fold): Optimize unsigned comparisons against
22019 UINT_MAX (and similar unsigned constants).
22020
e8d52ba0
JJ
220212002-01-22 Janis Johnson <janis187@us.ibm.com>
22022
d8086cbb 22023 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 22024 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 22025 against the predicate.
11303d15 22026
e8d52ba0
JJ
22027 PR target/5379
22028 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
22029 for the address operand.
22030
cc7b420e
RH
220312002-01-22 Richard Henderson <rth@redhat.com>
22032
22033 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
22034
816e265a
CR
220352002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
22036
22037 PR other/5450
cc7b420e
RH
22038 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
22039 preprocessor flags.
816e265a 22040
7c884404
JT
220412002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
22042
22043 * config.gcc (x86_64-*-netbsd*): New target.
22044 * config/i386/netbsd64.h: New file.
22045
2b672c08
AH
220462002-01-22 Aldy Hernandez <aldyh@redhat.com>
22047
d8086cbb 22048 * regrename.c (kill_value): Fix typo.
2b672c08
AH
22049
220502002-01-22 Aldy Hernandez <aldyh@redhat.com>
22051
d8086cbb 22052 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 22053
d8086cbb 22054 * config/rs6000/rs6000.h: Same.
2b672c08 22055
d8086cbb
RS
22056 * function.c (instantiate_virtual_regs): Remove
22057 STARTING_FRAME_PHASE.
22058 (assign_stack_local_1): Same.
22059 Calculate frame phase.
2b672c08 22060
4b02997f
NC
220612002-01-22 Nick Clifton <nickc@redhat.com>
22062
22063 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
22064 variable declaration to outer scope in order to simplify
22065 future extensions.
22066 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
22067 arm_hard_regno_mode_ok.
22068 * config/arm/arm-protos.h: Add a prototype for
22069 arm_hard_regno_mode_ok.
22070 * config/arm/arm.c (soft_df_operand): Remove now redundant
22071 check for DImode values using IP_REGNUM.
22072 (nonimmediate_soft_df_operand): Remove now redundant check for
22073 DImode values using IP_REGNUM.
22074 (arm_hard_regno_mode_ok): New function. New check: make sure
22075 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
22076
22077 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
22078 note with a USE.
22079 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
22080
8a827ab2
JM
220812002-01-22 Jason Merrill <jason@redhat.com>
22082
22083 * c-semantics.c (genrtl_compound_stmt): Only check nesting
22084 consistency if this COMPOUND_STMT is scoped.
22085
cf403648
KH
220862002-01-22 Kazu Hirata <kazu@hxi.com>
22087
22088 * predict.c: Fix formatting.
22089 * print-tree.c: Likewise.
22090 * protoize.c: Likewise.
22091 * real.h: Likewise.
22092 * rtl.h: Likewise.
22093 * sbitmap.h: Likewise.
22094 * scan.c: Likewise.
22095 * sched-deps.c: Likewise.
22096 * sched-vis.c: Likewise.
22097 * sdbout.c: Likewise.
22098 * sibcall.c: Likewise.
22099 * ssa.c: Likewise.
22100 * ssa-ccp.c: Likewise.
22101 * ssa-dce.c: Likewise.
22102 * stmt.c: Likewise.
22103 * stor-layout.c: Likewise.
22104 * system.h: Likewise.
22105
aea9695c
RK
22106Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22107
a8765ae7
RK
22108 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
22109 if fits in bounds of base type.
22110
aea9695c
RK
22111 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
22112 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
22113 (add_bound_info, default): If can't find a context, make a
22114 SAVE_EXPR.
22115 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
22116
58bf601b
HPN
221172002-01-22 Hans-Peter Nilsson <hp@axis.com>
22118
22119 * c-typeck.c (parser_build_binary_op): If result from
22120 build_binary_op is ERROR_MARK just return error_mark_node without
22121 further processing.
22122
f982f805
JT
221232002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
22124
22125 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
22126 Split a.out-specific bits into...
22127 * config/netbsd-aout.h: ...this.
22128 * config/netbsd-elf.h: New file.
22129 * config/alpha/netbsd-elf.h: Remove.
22130 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
22131 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 22132 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
22133 (ENDFILE_SPEC): Likewise.
22134 (LINK_SPEC): Likewise.
22135 (CPP_SPEC): Likewise.
22136 (ASM_SPEC): Likewise.
22137 (LIB_SPEC): Likewise.
22138 (SWITCH_TAKES_ARG): Likewise.
22139 (TARGET_MEM_FUNCTIONS): Likewise.
22140 (CPP_PREDEFINES): Redefine.
22141 (ASM_FINAL_SPEC): Remove redefinition.
22142 (ASM_COMMENT_START): Redefine.
22143 (FUNCTION_PROFILER): Define.
22144 (TARGET_VERSION): Redefine.
22145 Comment and formatting cleanup.
22146 * config/i386/netbsd.h: Include <netbsd-aout.h>.
22147 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
22148 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
22149 big- or little-endian.
22150 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
22151 * config.gcc (*-*-netbsd*): Add definitions common to all
22152 NetBSD configs.
22153 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
22154 gnu_ld definitions. Add netbsd-elf.h to and remove
22155 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
22156 tmake_file, and don't lose previous tmake_file contents.
22157 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
22158 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
22159 gnu_ld definitions. Add netbsd-elf.h to tm_file.
22160 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
22161 (mipsel-*-netbsd*): Rename this to...
22162 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
22163 mips/little.h to tm_file for mips*el-*.
22164 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
22165 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
22166 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
22167
2e396476
JDA
221682002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
22169
22170 * pa-protos.h (reg_before_reload_operand): New function prototype.
22171 * pa.c (reg_before_reload_operand): New function implementation.
22172 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
22173 contraints to "*m".
22174
3b5708e7
FS
221752002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
22176
22177 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
22178
85e79f96
JDA
221792002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
22180
22181 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
22182 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
22183 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
22184 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
22185 (ENDFILE_SPEC): Undefine.
22186 (STARTFILE_SPEC): Redefine for PA.
22187
38abadee
FS
221882002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
22189
22190 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
22191
94f1d97c
DJ
221922002-01-21 Daniel Jacobowitz <drow@mvista.com>
22193
22194 * config.gcc: Add entries to supported PowerPC --with-cpu
22195 types.
22196
0333394e
JJ
221972002-01-21 Jakub Jelinek <jakub@redhat.com>
22198
22199 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
22200 true for 64-bit mode only SSE registers in 32-bit mode.
22201
e9d1b155
KH
222022002-01-21 Kazu Hirata <kazu@hxi.com>
22203
22204 * unwind-dw2.c: Fix formatting.
22205 * unwind-dw2-fde.c: Likewise.
22206 * unwind-dw2-fde.h: Likewise.
22207 * unwind-pe.h: Likewise.
22208 * varasm.c: Likewise.
22209 * varray.h: Likewise.
22210
07338cf8
HPN
222112002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
22212
22213 Remove workaround for register stack overwrite bug in mmix.
22214 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
22215 support for TARGET_REG_STACK_FILL_BUG.
22216 * config/mmix/mmix.h: Remove member has_call_without_parameters.
22217 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
22218 Delete.
22219 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
22220 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
22221 -mno-reg-stack-fill-bug-workaround.
22222 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
22223 machine member has_call_without_parameters.
22224 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
22225 -mreg-stack-fill-bug-workaround and
22226 -mno-reg-stack-fill-bug-workaround.
22227 (MMIX Options): Ditto.
22228
7192cbf1
KH
222292002-01-21 Kazu Hirata <kazu@hxi.com>
22230
22231 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
22232 as appropriate.
22233 Remove redundant code.
22234
d1552d7b
JM
222352002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
22236
22237 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
22238 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
22239 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
22240 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
22241 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
22242 out target macro definitions and non-target-specific comments
22243 mostly taken from old versions of the manual.
22244
ed168e45
KH
222452002-01-20 Kazu Hirata <kazu@hxi.com>
22246
22247 * config/h8300/h8300.h: Fix comment formatting.
22248 * config/ia64/aix.h: Likewise.
22249 * config/ia64/ia64-protos.h: Likewise.
22250 * config/ia64/ia64.c: Likewise.
22251 * config/ia64/ia64.h: Likewise.
22252 * config/ia64/ia64intrin.h: Likewise.
22253 * config/ia64/linux.h: Likewise.
22254 * config/ia64/unwind-aix.c: Likewise.
22255 * config/ia64/unwind-ia64.c: Likewise.
22256
005e3e05
KH
222572002-01-20 Kazu Hirata <kazu@hxi.com>
22258
22259 * config/h8300/h8300.c: Revise comments about shift code.
22260
64bead4c
KH
222612002-01-20 Kazu Hirata <kazu@hxi.com>
22262
22263 * config/h8300/h8300.c (function_arg): Update a comment.
22264
ed863595
KH
222652002-01-20 Kazu Hirata <kazu@hxi.com>
22266
22267 * config/h8300/h8300.md: Update the comments at the beginning
22268 of the file.
22269
5904dc87
KH
222702002-01-20 Kazu Hirata <kazu@hxi.com>
22271
22272 * config/i370/i370.c: Fix comment formatting.
22273 * config/i370/i370.h: Likewise.
22274 * config/i370/i370.md: Likewise.
22275 * config/i370/linux.h: Likewise.
22276
9702143f
RK
22277Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22278
cbafacd1
RK
22279 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
22280
9702143f
RK
22281 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
22282 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
22283 in incomplete case.
22284
6b6996b8
GS
222852002-01-20 Graham Stott <grahams@redhat.com>
22286
22287 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
22288
eab854f6
JDA
222892002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
22290
22291 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
22292
5b029315
TR
222932002-01-19 Tom Rix <trix@redhat.com>
22294
22295 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
22296
1d690052
AH
222972002-01-18 Aldy Hernandez <aldyh@redhat.com>
22298
d8086cbb 22299 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 22300
d8086cbb
RS
22301 * function.c (assign_stack_local_1): Adjust x_frame_offset with
22302 STARTING_FRAME_PHASE.
22303 (STARTING_FRAME_PHASE): New.
22304 (instantiate_virtual_regs): Check saneness of
22305 STARTING_FRAME_PHASE.
1d690052 22306
d8086cbb 22307 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 22308
4dd8c093
AO
223092002-01-19 Alexandre Oliva <aoliva@redhat.com>
22310
22311 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
22312
6f2a28d7
CR
223132002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
22314
22315 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
22316 be used for bootstrapping GCC 3.0.
22317
8763a465
KH
223182002-01-18 Kazu Hirata <kazu@hxi.com>
22319
22320 * config/h8300/h8300.md: Fix an insn length.
22321
3ef42a0c
KH
223222002-01-18 Kazu Hirata <kazu@hxi.com>
22323
22324 * bitmap.h: Fix comment formatting.
22325 * combine.c: Likewise.
22326 * cppfiles.c: Likewise.
22327 * c-pragma.h: Likewise.
22328 * c-typeck.c: Likewise.
22329 * df.c: Likewise.
22330 * dwarf2out.c: Likewise.
22331 * function.c: Likewise.
22332 * gcc.c: Likewise.
22333 * genattrtab.c: Likewise.
22334 * gthr-win32.h: Likewise.
22335 * haifa-sched.c: Likewise.
22336 * predict.c: Likewise.
22337 * rtlanal.c: Likewise.
22338 * rtl.h: Likewise.
22339 * unwind-dw2-fde.h: Likewise.
22340 * unwind-pe.h: Likewise.
22341 * vmsdbgout.c: Likewise.
22342
dd4dc3cd
RK
22343Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22344
22345 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
22346 if type_required and passed decl.
22347
5fb4cf24
AH
223482002-01-17 Aldy Hernandez <aldyh@redhat.com>
22349
d8086cbb
RS
22350 * config.gcc (cpu_type): Include altivec.h in powerpc
22351 extra_headers.
22352 Same for darwin.
5fb4cf24 22353
d8086cbb 22354 * config/rs6000/altivec.h: New.
5fb4cf24 22355
2705baf5
DE
223562002-01-17 David Edelsohn <edelsohn@gnu.org>
22357
22358 * doc/install.texi (*-ibm-aix*): Update assembler and exception
22359 handling information.
22360 * doc/trouble.texi (Interoperation): Add libstdc++ information
22361 for AIX.
22362 (Misunderstandings): Add template instantiation and static template
22363 member information for AIX.
22364
dbd680e1
JM
223652002-01-17 Jason Merrill <jason@redhat.com>
22366
821adc5e
JM
22367 * dbxout.c (dbxout_type): Support const and volatile.
22368
dbd680e1
JM
22369 * except.c (add_partial_entry): Remove backwards compatibility code.
22370 (end_protect_partials): Likewise.
22371
d0e82870
JJ
223722002-01-17 Jakub Jelinek <jakub@redhat.com>
22373
22374 * config/ia64/ia64.md (prologue_use): New.
22375 * config/ia64/ia64.c (ia64_expand_prologue): Use
22376 gen_prologue_use instead of gen_rtx_USE.
22377 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
22378 as CODE_FOR_pred_rel_mutex.
22379 (ia64_sched_reorder2): Likewise.
22380
f9f45c65
EC
223812002-01-16 Eric Christopher <echristo@redhat.com>
22382
22383 * config/mips/r3900.h: Reformat.
22384 (SUBTARGET_CPP_SIZE_SPEC): Remove.
22385 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
22386 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
22387 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
22388 * config/mips/t-elf: Remove mips3 multilib.
22389
c66c8b0e
L
223902002-01-16 H.J. Lu <hjl@gnu.org>
22391
22392 * config/mips/linux.h: Include "mips/abi64.h".
22393
5f083b72
L
223942002-01-16 H.J. Lu <hjl@gnu.org>
22395
22396 * config/mips/t-linux: New.
22397
22398 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
22399
22400 * config/mips/linux.h: Don't include "gofast.h".
22401 (INIT_SUBTARGET_OPTABS): Removed.
22402
af3c90a6
KH
224032002-01-16 Kazu Hirata <kazu@hxi.com>
22404
22405 * config/h8300/h8300-protos.h: Replace emit_a_shift with
22406 output_a_shift.
22407 * config/h8300/h8300.c: Likewise.
22408 * config/h8300/h8300.md: Likewise.
22409
a1bf0a16
KH
224102002-01-16 Kazu Hirata <kazu@hxi.com>
22411
22412 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
22413 spaces after an opcode name.
22414 (pushqi1_h8300hs): Likewise.
22415 (pushhi1_h8300hs): Likewise.
22416
88ab0d1c
KH
224172002-01-16 Kazu Hirata <kazu@hxi.com>
22418
22419 * doc/extend.texi: Replace "option" with "attribute"
22420 appropriately.
22421
51c561e3
JJ
224222002-01-16 Jakub Jelinek <jakub@redhat.com>
22423
22424 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
22425 (and:DI () (const_int -8)).
22426 (split_small_symbolic_mem_operand): Split
22427 (mem (and:DI () (const_int -8)).
22428
b8c1a6b8
JJ
224292002-01-16 Jakub Jelinek <jakub@redhat.com>
22430
22431 PR target/5309:
d8086cbb 22432 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
22433 same way as TYPE_IMUL.
22434 (ultrasparc_sched_reorder): Likewise.
22435 * config/sparc/sparc.md (type): Add comment to update
22436 ultrasparc_sched_reorder when making changes.
22437
1e4e4df2
KH
224382002-01-16 Kazu Hirata <kazu@hxi.com>
22439
22440 * doc/invoke.texi: Change the dump file name of block
22441 reordering pass from 28.bbro to 29.bbro.
22442 Mention -dk option.
22443
14d920c0
JH
22444Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
22445
22446 * i386.md (minsf splitter): Fix pasto.
22447
2e99323f
NC
224482002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
22449
22450 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
22451 to frame pointer initialisation instruction.
22452 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
22453 initialisation instruction.
ab8081c1
NC
22454 (soft_df_operand): Do not accept the IP register.
22455 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 22456
c4031a04
JJ
224572002-01-16 Jakub Jelinek <jakub@redhat.com>
22458
22459 PR target/5357:
22460 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
22461 MASK_V8 being both set.
22462
44b8152b
UW
224632002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
22464
22465 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
22466 insn for GOT register; add REG_MAYBE_DEAD notes instead.
22467 config/s390/s390.md (call, call_value): Add GOT register to
22468 CALL_INSN_FUNCTION_USAGE where needed.
22469 (call_exp, call_value_exp): New.
22470
1d6e90ac
NC
224712002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
22472
22473 * config/arm/arm.c: General formatting tidy up.
22474
224752002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
22476
22477 * calls.c (try_to_integrate): Use "(size_t)" intermediate
22478 cast and when casting an integer literal to "rtx" pointer.
22479 (expand_call): Likewise.
22480 * flow.c (try_pre_increment): Likewise.
22481 (find_use_as_address): Likewise.
22482 * integrate.c (expand_iline_function): Likewise.
22483 * regmove.c (try_auto_increment): Likewise.
22484
1d6e90ac 224852002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
22486
22487 * sched-rgn.c (passed): Use sbitmap_free.
22488 (header): Likewise.
22489 (inner): Likewise.
22490 (in_queue): Likewise.
22491 (in_stack): Likewise.
22492
31fce3c4
EC
224932002-01-15 Eric Christopher <echristo@redhat.com>
22494
22495 * flow.c (propagate_one_insn): Change to use fatal_insn.
22496
c99d986a
KH
224972002-01-15 Kazu Hirata <kazu@hxi.com>
22498
22499 * expmed.c (extract_fixed_bit_field): Remove unused code.
22500 * system.h: Poison SLOW_ZERO_EXTEND.
22501 * doc/tm.texi: Remove.
22502 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
22503 * config/arm/arm.h: Likewise.
22504 * config/avr/avr.h: Likewise.
22505 * config/clipper/clipper.h: Likewise.
22506 * config/convex/convex.h: Likewise.
22507 * config/d30v/d30v.h: Likewise.
22508 * config/dsp16xx/dsp16xx.h: Likewise.
22509 * config/elxsi/elxsi.h: Likewise.
22510 * config/fr30/fr30.h: Likewise.
22511 * config/h8300/h8300.h: Likewise.
22512 * config/i370/i370.h: Likewise.
22513 * config/i386/i386.h: Likewise.
22514 * config/m68k/m68k.h: Likewise.
22515 * config/mips/mips.h: Likewise.
22516 * config/ns32k/ns32k.h: Likewise.
22517 * config/pdp11/pdp11.h: Likewise.
22518 * config/pj/pj.h: Likewise.
22519 * config/s390/s390.h: Likewise.
22520 * config/sh/sh.h: Likewise.
22521 * config/stormy16/stormy16.h: Likewise.
22522 * config/v850/v850.h: Likewise.
22523 * config/vax/vax.h: Likewise.
22524 * config/we32k/we32k.h: Likewise.
22525
acfab996
AH
225262002-01-15 Aldy Hernandez <aldyh@redhat.com>
22527
d8086cbb
RS
22528 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
22529 (altivec_lvsl): Change constraint to b.
22530 (altivec_lvsr): Same.
22531 (altivec_lvebx): Same.
22532 (altivec_lvehx): Same.
22533 (altivec_lvewx): Same.
22534 (altivec_lvxl): Same.
22535 (altivec_lvx): Same.
22536 (altivec_stvx): Add parallel.
22537 (altivec_stvxl): Same.
22538 (altivec_stvehx): Same.
22539 (altivec_stvebx): Same.
22540 (altivec_stvebx): Same.
acfab996 22541
5e505bc9
AH
225422002-01-15 Aldy Hernandez <aldyh@redhat.com>
22543
d8086cbb 22544 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 22545
d8086cbb 22546 * config/rs6000/altivec.h: Delete.
5e505bc9 22547
d8086cbb 22548 * config/rs6000/altivec-defs.h: Add.
5e505bc9 22549
5c41fdfb
JDA
225502002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
22551
22552 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
22553 and UMOD modes.
22554
22555 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
22556 less than or equal to eight bytes.
22557
22558 * vax.md (andsi3): Remove constraints and change SET destination
22559 operand type to nonimmediate_operand.
22560 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
22561 when it is a CONST_INT.
22562
de097a2d
JM
225632002-01-15 Jason Merrill <jason@redhat.com>
22564
22565 * c-common.def (FILE_STMT): New code.
22566 * c-common.c (statement_code_p): It's a statement.
22567 * c-common.h (stmt_tree_s): Add x_last_filename.
22568 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
22569 (last_expr_filename): New macro.
22570 * c-semantics.c (begin_stmt_tree): Initialize it.
22571 (add_stmt): If the filename changed, also insert a
22572 FILE_STMT.
22573 (expand_stmt): Handle seeing one.
22574
4a913dd6
EC
225752002-01-15 Eric Christopher <echristo@redhat.com>
22576
22577 * flow.c (propagate_one_insn): Add error message and print out
22578 insn for debugging.
22579
006946e4
JM
225802002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
22581
22582 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
22583 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
22584 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
22585 TRAMPOLINE_ALIGNMENT.
22586 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
22587 to be in bits.
22588 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
22589 PCC_BITFIELD_TYPE_MATTERS.
22590 * config/interix.h (STDC_VALUE): Remove. Use
22591 STDC_0_IN_SYSTEM_HEADERS.
22592 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
22593 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
22594 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
22595
751a1458
CR
225962002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
22597
22598 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
22599 not work on this platform currently.
22600
57771fe8
JM
226012002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
22602
22603 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
22604 readonly_warning in _().
22605
0e83ceb1 226062002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 22607
0e83ceb1 22608 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 22609
8e2e89f7
KH
226102002-01-15 Kazu Hirata <kazu@hxi.com>
22611
0e83ceb1
DR
22612 * config/h8300/h8300.c (print_operand): Remove support for
22613 unused operand characters.
22614
8e2e89f7
KH
22615 * read-rtl.c: Fix formatting.
22616 * real.c: Likewise.
22617 * recog.c: Likewise.
22618 * regclass.c: Likewise.
22619 * regmove.c: Likewise.
22620 * reg-stack.c: Likewise.
22621 * reload1.c: Likewise.
22622 * rtlanal.c: Likewise.
22623
b531087a
KH
226242002-01-15 Kazu Hirata <kazu@hxi.com>
22625
22626 * config/i386/i386.c: Fix formatting.
22627
7c94ce7f
JJ
226282002-01-15 Jakub Jelinek <jakub@redhat.com>
22629
22630 * c-typeck.c (process_init_element): Don't save_expr
22631 COMPOUND_LITERAL_EXPR if just its initializer will be used.
22632
6041bf2f
DE
226332002-01-15 David Edelsohn <edelsohn@gnu.org>
22634
22635 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
22636 emit optional traceback table if optimize_size or TARGET_ELF.
22637 * config/rs6000/rs6000.md (prefetch): New.
22638
8559c8c0
AJ
226392002-01-15 Andreas Jaeger <aj@suse.de>
22640
22641 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
22642
70f122f2
KH
226432002-01-15 Kazu Hirata <kazu@hxi.com>
22644
22645 * mips-tfile.c: Fix formatting.
22646
6a7b4ca6
JH
22647Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
22648
22649 * unroll.c (final_reg_note_copy): Fix previous commit.
22650
e7afe229
KH
226512002-01-14 Kazu Hirata <kazu@hxi.com>
22652
22653 * config/h8300/h8300-protos.h: Remove the prototype for
22654 eq_operator.
22655 * config/h8300/h8300.c (eq_operator): Remove.
22656
7d378549
RH
226572002-01-14 Richard Henderson <rth@redhat.com>
22658
22659 * config/i386/i386.md (prefetch): Tidy.
22660 (prefetch_3dnow): Fix locality operand.
22661
ab093b81
RH
226622002-01-14 Richard Henderson <rth@redhat.com>
22663
22664 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
22665 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
22666
d300f51f
HPN
226672002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
22668
22669 * reload1.c (reload_combine): Pass reg_sum replacement through
22670 copy_rtx in loop performing multiple changes.
22671
655dd289
JJ
226722002-01-14 Jakub Jelinek <jakub@redhat.com>
22673
22674 * except.c (remove_unreachable_regions): New.
22675 (free_eh_status): Clear exception_handler_labels.
22676 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
22677 (find_exception_handler_labels): Don't add the same label more than
22678 once.
22679 (remove_exception_handler_label): Don't die if
22680 find_exception_handler_labels hasn't been called for the current
22681 function yet.
22682
1fba46a7
JH
22683Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
22684
22685 * toplev.c (rest_of_compilation): Rebuild jump labels after
22686 gcse.
22687
0975678f
JM
226882002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
22689
22690 * doc/extend.texi: Move documentation of X86 built-in functions
22691 here.
22692 * doc/invoke.texi: From here.
22693 * doc/sourcebuild.texi: Document location of documentation for
22694 machine built-in functions.
22695
969815c7
CF
226962002-01-13 Christopher Faylor <cgf@redhat.com>
22697
22698 * cppfiles.c (TEST_THRESHOLD): New macro.
22699 (SHOULD_MMAP): Ditto.
22700 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
22701 be used.
22702
494c950b
JH
22703Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
22704
22705 * unroll.c (final_reg_note_copy): Properly handle
22706 REG_LABEL
22707 (unroll_loops): Fix LOOP_CONDITION heuristics.
22708
69a0611f
GK
227092002-01-14 Geoffrey Keating <geoffk@redhat.com>
22710
22711 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
22712 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
22713
b90e45ae
JH
22714Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
22715
22716 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
22717 threaded loop.
22718
8377288b
TR
227192002-01-14 Tom Rix <trix@redhat.com>
22720
22721 * config/rs6000/rs6000.md: Fix typo with sradi.
22722
9f37ccb1
UW
227232002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
22724
22725 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
22726 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
22727 (clrstrdi, clrstrsi): Adapt callers.
22728
22729 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
22730
8559c8c0 22731 (movti splitter): Never use register 0 as base register.
9f37ccb1 22732
6c2d03d0
HP
227332002-01-14 Hartmut Penner <hpenner@de.ibm.com>
22734
8559c8c0
AJ
22735 * combine.c (simplify_shift_const): Always generate new rtx
22736 for shift expression instead of reusing given expression.
6c2d03d0 22737
d3e98208
RK
22738Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22739
22740 * config/alpha/alpha.c (alpha_expand_mov): Don't call
22741 alpha_legitimize_address unless mode is Pmode.
22742
9f339dde
GK
227432002-01-13 Geoffrey Keating <geoffk@redhat.com>
22744
22745 * doc/md.texi (Modifiers): Document the '*' constraint for the
22746 user.
22747
22748 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
22749 * doc/extend.texi (Function Attributes): 'interrupt' is valid
22750 for xstormy16 too.
22751
02a10130
RH
227522002-01-13 Richard Henderson <rth@redhat.com>
22753
22754 * reload.c (find_reloads): Use a hard reg destination as reload reg
22755 for an input reload of the source.
22756
61d47787
GP
227572002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
22758
22759 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
22760 more generic.
22761
f0df8029
DR
22762Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
22763
22764 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
22765 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
22766
d2a37256
DR
22767 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
22768
a9e8a5ee
RK
22769Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22770
22771 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
22772
bc06712d
TR
227732002-01-12 Tom Rix <trix@redhat.com>
22774
8559c8c0 22775 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
22776 TARGET_POWERPC64.
22777
7cbe9bb7
RH
227782002-01-12 Richard Henderson <rth@redhat.com>
22779
38b29e64
RH
22780 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
22781
58605ba0
RH
22782 * doc/invoke.texi: Update Alpha options.
22783
7cbe9bb7
RH
22784 * doc/invoke.texi: Update i386 built-in function lists.
22785
9d560860
JH
22786Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
22787
22788 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
22789 referencing outside.
22790
bb93b973
RK
22791Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22792
22793 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
22794 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
22795 offsets, and change line folding.
22796 * optabs.c (expand_binop): Remove warnings.
22797 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 22798
f9f6b7df
GS
227992002-01-12 Graham Stott <grahams@redhat.com>
22800
22801 * attribs.c (handle_deprecated_attribute): constify WHAT.
22802 * diagnostic.c (warn_deprecated_use): Add braces, fixes
22803 dangling else warning and constify WHAT.
22804 * except.h (struct function, struct inline_remap): Move
22805 struct tag forward defs before all prototypes.
22806 (duplicate_eh_regions): Whitespace.
22807
4a692617
NC
228082002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
22809
22810 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
22811 MODE_BASE_REG_CLASS.
22812 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
22813
e37af218
RH
228142002-01-12 Richard Henderson <rth@redhat.com>
22815
22816 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
22817 (ix86_expand_vector_move): New.
22818 (bdesc_2arg): Remove andps, andnps, orps, xorps.
22819 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
22820 Remove old prefetch builtins. Special case the logicals removed above.
22821 (ix86_expand_builtin): Likewise.
22822 (safe_vector_operand): Use V4SFmode, not TImode.
22823 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
22824 (ix86_expand_timode_binop_builtin): New.
22825 * config/i386/i386-protos.h: Update.
22826 * config/i386/i386.h (enum ix86_builtins): Update.
22827 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
22828 Use ix86_expand_vector_move in vector move expanders.
22829 (movti_internal, movti_rex64): Add xorps alternative.
22830 (sse_clrv4sf): Rename and adjust from sse_clrti.
22831 (prefetch): Don't work so hard.
22832 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
22833 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
22834 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
22835
6f1a6c5b
RH
228362002-01-11 Richard Henderson <rth@redhat.com>
22837
22838 * config/i386/mmintrin.h: New file.
22839 * config/i386/xmmintrin.h: New file.
22840 * config.gcc (i?86-*-*): Add extra_headers.
22841 * simplify-rtx.c (simplify_unary_operation): Handle saturating
22842 truncation codes.
22843 (simplify_binary_operation): Handle saturating arithmetic codes.
22844 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
22845 not the lowpart subreg.
22846 (ix86_expand_builtin): Return a TImode dummy register instead of 0
22847 on error.
22848 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
22849
cdb574d3
MH
228502002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
22851
22852 * conflict.c (conflict_graph_compute): Free regsets when finished.
22853 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 22854
cf11ac55
HB
228552002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
22856
22857 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
22858 every where we allocate a register.
22859
76ac938b
MH
228602002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
22861
22862 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
22863 * lcm.c (compute_earliest, compute_farthest): Likewise.
22864
a84b4898
JJ
228652002-01-11 Janis Johnson <janis187@us.ibm.com>
22866
22867 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
22868
aaef1c12
JJ
228692002-01-11 Janis Johnson <janis187@us.ibm.com>
22870
22871 * doc/rtl.texi (Insns): Fix 2 typos.
22872
5d22c1a5
JM
228732002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
22874
22875 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
22876 options. Use @table @gcctabopt for MMIX options. Add index
22877 entries for MMIX options. Start new paragraph with first
22878 heading of the machine-dependent options.
22879
3e92902c
CR
228802002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
22881
22882 PR other/5299
22883 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
22884 * combine.c (force_to_mode): Same.
22885 * reload1.c (clear_reload_reg_in_use): Same.
22886
96ae8197
NC
228872002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
22888
22889 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
22890 and 'subtargets'.
22891
9b780582
AJ
228922002-01-11 Andreas Jaeger <aj@suse.de>,
22893 Brad Lucier <lucier@math.purdue.edu>
22894
22895 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
22896 mcpu.
22897
12300dad
DR
22898Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
22899
22900 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
22901 Protect with IN_LIBGCC.
22902 (LINK_EH_SPEC): Add required trailing space.
22903
27511a9a
NP
22904Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
22905
9b780582 22906 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
22907 under the filename which contains them.
22908 (check_identifier, finish_decl_top_level,
22909 lookup_name_current_level_global, shadow_record_fields): Remove.
22910
4daeab16
AJ
229112002-01-11 Andreas Jaeger <aj@suse.de>
22912
22913 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
22914 march.
22915
40571d67
RH
229162002-01-10 Richard Henderson <rth@redhat.com>
22917
22918 * config/alpha/alpha.c (print_operand): Add 'J'.
22919 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
22920 new operand with the sequence number for the lituse. When splitting
22921 the insns, use gen_movdi_er_high_g and generate a sequence number.
22922 (gen_movdi_er_high_g): Print the sequence number if non-zero.
22923
6525c0e7
AH
229242002-01-10 Aldy Hernandez <aldyh@redhat.com>
22925
d8086cbb
RS
22926 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
22927 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
22928 stvxl.
22929 (altivec_expand_builtin): Same.
22930 (altivec_expand_stv_builtin): New.
22931
22932 * config/rs6000/rs6000.h (rs6000_builtins): Same.
22933
22934 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
22935 ("altivec_lvehx"): New.
22936 ("altivec_lvewx"): New.
22937 ("altivec_lvxl"): New.
22938 ("altivec_lvx"): New.
22939 ("altivec_stvx"): New.
22940 ("altivec_stvebx"): New.
22941 ("altivec_stvehx"): New.
22942 ("altivec_stvewx"): New.
22943 ("altivec_stvxl"): New.
6525c0e7 22944
cda94cbb
RH
229452002-01-10 Richard Henderson <rth@redhat.com>
22946
22947 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
22948 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
22949 care not to delete instructions twice.
22950
df2c9a44
ZW
229512002-01-10 Zack Weinberg <zack@codesourcery.com>
22952
22953 * toplev.c: Don't declare environ (it's not used anywhere).
22954 * configure.in: Don't check for declaration of environ.
22955 * config/i386/xm-mingw32.h: Don't #define environ.
22956 * config.in, configure: Regenerate.
22957
5dd8a9b1
ZW
229582002-01-10 Zack Weinberg <zack@codesourcery.com>
22959
22960 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
22961 * configure: Regenerate.
22962
22963 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
22964 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
22965 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
22966 alpha/xm-vms.h.
22967 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
22968 LIMITS_H_TEST here, not in m68k/x-next.
22969 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
22970 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
22971
22972 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
22973 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
22974 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
22975
22976 * config/i386/x-djgpp: Renamed i386/t-djgpp.
22977 * config/m88k/x-dolph: Renamed m88k/t-dolph.
22978 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
22979 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
22980 replacement of quadlib.asm with quadlib.c.
22981
22982 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
22983 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
22984 config/rs6000/xm-beos.h: Delete file.
22985
22986 * config.gcc: Update to match above changes.
22987
d10dd44c
KH
229882002-01-10 Kazu Hirata <kazu@hxi.com>
22989
22990 * config/h8300/h8300.h: Fix comment typos.
22991 * config/h8300/h8300.md: Likewise.
22992 * config/h8300/lib1funcs.asm: Likewise.
22993
04894c5a
DJ
229942002-01-10 Dale Johannesen <dalej@apple.com>
22995
22996 PR optimization/5269
22997 * unroll.c (precondition_loop_p): Make *increment be the correct
22998 sign when n_iterations known, to avoid confusing caller.
22999
adc9fe67
KH
230002002-01-10 Kazu Hirata <kazu@hxi.com>
23001
23002 * doc/extend.texi (deprecated): Fix a typo.
23003
b446e5a2
JH
23004Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
23005
23006 * basic-block.h (update_br_prob_note): Declare.
23007 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
23008 (try_forward_edges): Care negative frequencies and update note.
23009 (outgoing_edges_match): Tweek conditional merging heuristics.
23010 (try_crossjump_to_edge): use update_br_prob_note.
23011 * cfglayout.c (fixup_reorder_chain): Likewise.
23012 * cfrtl.c (update_br_prob_note): New.
23013 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
23014
23015 * i386.c (ix86_decompose_address): Return -1 if address contains
23016 shift.
23017 (legitimate_address_p): Require ix86_decompose_address to return 1.
23018
23019 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
23020 (cprop_insn): Likewise.
23021
a01da83b
KH
230222002-01-10 Kazu Hirata <kazu@hxi.com>
23023
23024 * toplev.c: Fix formatting.
23025 * tree.c: Likewise.
23026 * tree-dump.c: Likewise.
23027 * unroll.c: Likewise.
23028 * unwind-dw2.c: Likewise.
23029 * unwind-dw2-fde.c: Likewise.
23030 * unwind-dw2-fde-glibc.c: Likewise.
23031 * unwind-sjlj.c: Likewise.
23032
9f85bca7
JM
230332002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
23034
23035 * doc/invoke.texi: Document PDP-11 options.
23036
f48f56b1
KH
230372002-01-10 Kazu Hirata <kazu@hxi.com>
23038
23039 * config/h8300/h8300.h: Fix formatting.
23040
ead39bdf 230412002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
23042
23043 Add __attribute__ ((deprecated)).
23044 * extend.texi: Document __attribute__ ((deprecated)).
23045 * invoke.texi: Document -Wno-deprecated-declarations.
23046 * testsuite/g++.dg/other/deprecated.C: New C++ test.
23047 * testsuite/gcc.dg/deprecated.c: New C test.
23048 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
23049 (c_common_attribute_table): Add "deprecated" entry.
23050 (handle_deprecated_attribute): New function.
23051 * c-decl.c (deprecated_states): New enum.
23052 deprecated_state: State of "deprecated" handling.
23053 (start_decl): Set deprecated_state based on attributes.
23054 (grokdeclarator): Test for deprecated uses, propagate attribute.
23055 * c-typeck.c (build_component_ref): Test for deprecated fields.
23056 (build_external_ref): Test for deprecated primaries.
23057 * diagnostic.c (warn_deprecated_use) New function to issue
23058 warnings about __attribute__ ((depricated)) references.
23059 * flags.h (warn_deprecated_decl): Extern declared for
23060 -W[no-]deprecated-declarations option.
23061 * print-tree.c (print_node): Show deprecated flag status.
23062 * toplev.c (warn_deprecated_decl): Defined.
23063 (W_options): Added "deprecated-declaration".
23064 * toplev.h (warn_deprecated_use): Extern declared.
23065 * tree.h (struct tree_common): Define deprecated_flag.
23066 (TREE_DEPRECATED): New macro to access flag.
23067 * cp/call.c (build_call): Test for deprecated calls.
23068 * cp/class.c (add_implicitly_declared_members): Set global
23069 flag to tell grokdeclarator to not issue deprecated warnings.
23070 * cp/cp-tree.h: Add extern for adding_implicit_members.
23071 * cp/decl.c (deprecated_states): New enum.
23072 (start_decl): Set deprecated_state based on attributes.
23073 (grokdeclarator): Test for deprecated uses, propagate attribute.
23074 * cp/lex.c (do_identifier): Test for deprecated primaries.
23075 * cp/typeck.c (build_component_ref): Test for deprecated fields.
23076
ead39bdf 230772002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
23078
23079 Fix to assign attributes to inline member functions.
23080 * cp/decl.c (start_method): Handle attrlist.
23081
47073a38
KH
230822002-01-10 Kazu Hirata <kazu@hxi.com>
23083
23084 * combine.c (expand_field_assignment): Use subreg_lsb().
23085
d288e53d
DE
230862002-01-10 David Edelsohn <edelsohn@gnu.org>
23087
23088 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
23089 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
23090 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
23091 Recurse for any operand of AND as long as constant is non-zero.
23092
08a02ffa
KH
230932002-01-10 Kazu Hirata <kazu@hxi.com>
23094
23095 * config/h8300/h8300.md: Remove constraints from expanders.
23096
c203e7fe
KH
230972002-01-10 Kazu Hirata <kazu@hxi.com>
23098
23099 * varasm.c: Fix formatting.
23100 * varray.c: Likewise.
23101 * vmsdbgout.c: Likewise.
23102 * xcoffout.c: Likewise.
23103
bcb3bc6d
JH
23104Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
23105
23106 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 23107 update edge probabilities to match.
bcb3bc6d 23108
0a553c7e
JM
231092002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
23110
23111 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
23112 dependencies.
23113 * doc/languages.texi, doc/sourcebuild.texi: New files.
23114 * doc/configfiles.texi: Make a subsubsection. Update.
23115 * doc/configterms.texi: Add @node. Remove warning that this isn't
23116 instructions for building GCC.
23117 * doc/makefile.texi: Make a subsection.
23118 * doc/gccint.texi: Update.
23119
adc7fcb8
JH
23120Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
23121
23122 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
23123
5a4dd0b3
NP
23124Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
23125
23126 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
23127
3987b9db
JH
23128Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
23129
23130 * optabs.c (expand_fix): Look for wider integer modes first.
23131
23132 * i386.md (mov?f): Avoid the fake const double trick for medium
23133 memory model.
23134 (min?f*/max?f*): Prohibit memory operands for i387 variant.
23135 (fop_df_4): Disable for SSE compilation.
23136
ceb15948 231372002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
23138
23139 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 23140 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 23141
e1623399
RH
231422002-01-10 Richard Henderson <rth@redhat.com>
23143
23144 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
23145
c4abb293
RH
231462002-01-10 Richard Henderson <rth@redhat.com>
23147
23148 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
23149 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
23150
d2604ae9
KH
231512002-01-10 Kazu Hirata <kazu@hxi.com>
23152
23153 * combine.c (can_combine_p): Fix a comment typo.
23154
766c7ad1
ZW
231552002-01-09 Zack Weinberg <zack@codesourcery.com>
23156
23157 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
23158 empty list correctly. Change loop index $t to $f for
23159 consistency with rest of Makefile.
23160
95385cbb
AH
231612002-01-08 Aldy Hernandez <aldyh@redhat.com>
23162
23163 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
23164 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
23165
23166 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
23167 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
23168 (altivec_init_builtins): Same.
23169 (altivec_expand_unop_builtin): Return NULL_RTX on error.
23170 (altivec_expand_binop_builtin): Same.
23171 (altivec_expand_ternop_builtin): Same.
23172 (bdesc_dst): New.
23173
23174 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
23175 ("altivec_vctuxs"): Fix typo.
23176 ("altivec_vnmsubfp"): Same.
23177 ("altivec_dssall"): New.
23178 ("altivec_mfvscr"): New.
23179 ("altivec_dss"): New.
23180 ("altivec_lvsl"): New.
23181 ("altivec_lvsr"): New.
23182 ("altivec_dstt"): New.
23183 ("altivec_dstst"): New.
23184 ("altivec_dststt"): New.
23185 ("altivec_dst"): New.
23186
23187 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
23188 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
23189
e4ac76b4
RH
231902002-01-09 Richard Henderson <rth@redhat.com>
23191
23192 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
23193
c893e4a4
HPN
231942002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
23195
23196 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
23197 function.
23198 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
23199 prototype.
7387c700 23200 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 23201
f4f4d0f8
KH
232022002-01-09 Kazu Hirata <kazu@hxi.com>
23203
23204 * read-rtl.c: Fix formatting.
23205 * real.c: Likewise.
23206 * regclass.c: Likewise.
23207 * regrename.c: Likewise.
23208 * reg-stack.c: Likewise.
23209 * reload1.c: Likewise.
23210 * reload.c: Likewise.
23211 * rtl.c: Likewise.
23212
cc863bea
KH
232132002-01-09 Kazu Hirata <kazu@hxi.com>
23214
23215 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
23216 to extract items in the expr_list chain.
23217
7b4dfe3d
RH
232182002-01-09 Richard Henderson <rth@redhat.com>
23219
23220 * config/vax/vax.c (vax_rtx_cost): Never abort.
23221
1d969638
RH
23222 * config/vax/vax.h (REAL_ARITHMETIC): Define.
23223
7d5ab30e
JH
232242002-01-09 Jan Hubicka <jh@suse.cz>
23225
23226 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
23227
9503f3d1
RH
232282002-01-09 Richard Henderson <rth@redhat.com>
23229
23230 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
23231 Unify code from various alternatives.
23232
42bd17b7
RH
232332002-01-09 Richard Henderson <rth@redhat.com>
23234
23235 * regrename.c (copy_value): Ignore the copy if the source register
23236 is present in the value chain with a narrower mode.
23237
bdca3c33
HB
232382002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
23239
cda94cbb
RH
23240 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
23241 for the c4x target. Also improve layout.
bdca3c33 23242
c73a5e94
RH
232432002-01-09 Richard Henderson <rth@redhat.com>
23244
23245 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
23246 * config/m32r/m32r.md (and ior xor splitters): Swap operands
23247 to match insn patterns.
23248
dd0a18c0
RH
232492002-01-09 Richard Henderson <rth@redhat.com>
23250
23251 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
23252 (copyprop_hardreg_forward_1): Likewise.
23253
1fd9ac1e
JDA
232542002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
23255
23256 * pa.md (decrement_and_branch_until_zero): Change predicate for
23257 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
23258
5cb265ec
BM
232592002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
23260
23261 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
23262 gets undefined. For Darwin.
23263
fcd8fa8b
HB
232642002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
23265
23266 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
23267
bd3ab23a
MH
232682002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
23269
23270 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
23271
21e16bd6
RH
232722002-01-08 Richard Henderson <rth@redhat.com>
23273
23274 * regrename.c (copy_value): Ignore overlapping copies.
23275
a5376276
RH
232762002-01-08 Richard Henderson <rth@redhat.com>
23277
23278 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
23279 as needed to avoid shared structure.
23280
18cf8dda
KH
232812002-01-08 Kazu Hirata <kazu@hxi.com>
23282
23283 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
23284 H8/300H and H8/S.
23285
16c484c7
JM
232862002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
23287
23288 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
23289 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
23290 documentation of obsolete macros.
23291 * system.h: Poison these macros.
23292 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
23293 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
23294 config/c4x/c4x.h, config/clipper/clipper.h,
23295 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
23296 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
23297 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
23298 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
23299 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
23300 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
23301 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
23302 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
23303 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
23304 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
23305 config/sparc/sparc.h, config/stormy16/stormy16.h,
23306 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
23307 definitions and commented out definitions of obsolete macros.
23308 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
23309 of MAX_INT_TYPE_SIZE.
23310
14b3e8ef
UW
233112002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
23312
23313 * config/s390/s390.c (s390_preferred_reload_class): Never
23314 return ADDR_REGS if it isn't a subset of the given class.
23315 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
23316 FP_REGS, but all superclasses as well.
23317
23318 * config/s390/s390.c (s390_function_profiler): Fix thinko.
23319
23320 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
23321 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
23322 must not be a const_int.
23323
a693284d
RH
233242002-01-08 Richard Henderson <rth@redhat.com>
23325
23326 * Makefile.in (toplev.o): Depend on options.h.
23327 (gcc.o): Depend on specs.h.
23328
b3ca30df
JJ
233292002-01-08 Jakub Jelinek <jakub@redhat.com>
23330
23331 * expr.c (store_expr): Convert VOIDmode constants back to target's
23332 mode.
23333
24dbb440
GP
233342002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
23335
23336 * doc/invoke.texi: Markup gcc as @command. Refer to
23337 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
23338 of http://gcc.gnu.org/thanks.html.
23339
234e114c
DJ
233402002-01-08 Dale Johannesen <dalej@apple.com>
23341
23342 * config/rs6000/rs6000.md: Add missing int register
23343 target case to movdf_low.
23344
0d24f4d1
ZW
233452002-01-08 Zack Weinberg <zack@codesourcery.com>
23346
23347 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
23348 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
23349 (cppinit.o): Depend on except.h.
23350 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
23351 s-specs): New rules.
23352
23353 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
23354 Don't create specs.h/options.h/gencheck.h here. Remove
23355 unnecessary variable settings from last argument of AC_OUTPUT.
23356 * config.in, configure: Regenerate.
23357 * intl.c: Hardcode package name as "gcc".
23358
23359 * cppinit.c: Include except.h.
23360 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
23361 appropriate.
23362 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
23363 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
23364 (!)USING_SJLJ_EXCEPTIONS.
23365 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
23366
ed722f66
JM
233672002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
23368
23369 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
23370 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
23371 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
23372 documentation of obsolete macros.
23373 * system.h: Poison these macros.
23374 * config/d30v/d30v.h, config/ns32k/encore.h,
23375 config/stormy16/stormy16.h: Remove definitions and commented out
23376 definitions of obsolete macros.
23377
31e5e29a
NP
23378Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
23379
23380 * objc/objc-act.c (handle_class_ref): Mark the declaration of
23381 %sobjc_class_ref_%s as used - to prevent unwanted compiler
23382 warnings.
23383
bc1fa59c
UW
233842002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
23385
23386 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
23387 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
23388 to insn adjusting stack/frame pointer.
0d24f4d1 23389 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
23390 accept operands that cause the insn to be non-splittable.
23391
a8086abf
GS
233922002-01-08 Graham Stott <grahams@redhat.com>
23393
23394 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
23395 (C_TYPE_FIELDS_VOLATILE): Likewise.
23396 (C_TYPE_BEING_DEFINED): Likewise.
23397 (C_IS_RESERVED_WORD): Likewise.
23398 (C_TYPE_VARIABLE_SIZE): Likewise.
23399 (C_DECL_VARIABLE_SIZE): Likewise.
23400 (C_MISSING_PROTOTYPE_WARNED): Likewise.
23401 (C_SET_EXP_ORIGINAL_CODE): Likewise.
23402 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
23403 parenthesis.
23404 (C_DECL_ANTICIPATED): Likewise.
23405 (c_build_type_variant): Add parenthesis.
23406
3f595aa1
JM
234072002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
23408
23409 * gcc.c (option_map): Remove --version.
23410 (process_command): Handle -fversion following the GNU Coding
23411 Standards. Partially addresses PR other/704.
23412
5bc5a8f9
GS
234132002-01-08 Graham Stott <grahams@redhat.com>
23414
23415 * combine.c (combine_instructions): Fix typo.
23416
16ec4ebf
GS
234172002-01-08 Graham Stott <grahams@redhat.com>
23418
23419 * debug.h: Use "tree" and "rtx" throughout.
23420
23421 * debug.c: Likewise.
23422
4b69f385
NC
234232002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
23424
23425 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
23426 constant pool, use the pool's version of the symbol instead.
23427
57d1019b
RH
234282002-01-07 Richard Henderson <rth@redhat.com>
23429
23430 * regrename.c (find_oldest_value_reg): Ignore the value chain if
23431 the original register was copied in a mode with a fewer number of
23432 hard registers than the desired mode.
23433 (copyprop_hardreg_forward_1): Likewise.
23434 (debug_value_data): Fix loop test.
23435 * toplev.c (parse_options_and_default_flags): Reenable
23436 -fcprop-registers at -O1.
23437
234382002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 23439
0d24f4d1
ZW
23440 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
23441 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 23442
0d24f4d1
ZW
23443 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
23444 predicates.
fa066a23 23445
0d24f4d1 23446 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 23447
8f949e7e
JDA
234482002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
23449
23450 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
23451 (pa_output_function_prologue): Output local label at the beginning of
23452 the prologue when profiling.
23453 (hppa_profile_hook): Use the local label rather than the function label.
23454 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
23455
c62f2db5
AH
234562002-01-07 Aldy Hernandez <aldyh@redhat.com>
23457
0d24f4d1
ZW
23458 * config/rs6000/rs6000.c (print_operand): Remove extra space.
23459 (altivec_expand_unop_builtin): Fix thinko.
23460 (altivec_expand_binop_builtin): Same.
23461 (altivec_expand_ternop_builtin): Same.
23462 (altivec_expand_builtin): Same.
c62f2db5 23463
b5235ba7
RH
234642002-01-07 Richard Henderson <rth@redhat.com>
23465
23466 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
23467
7d8ac293
JM
234682002-01-07 Jason Merrill <jason@redhat.com>
23469
23470 * unwind-dw2.c (execute_cfa_program): Use < again.
23471
571a03b8
JJ
234722002-01-07 Jakub Jelinek <jakub@redhat.com>
23473
23474 * predict.c (combine_predictions_for_insn): Avoid division by zero.
23475
2e951384
JJ
234762002-01-07 Jakub Jelinek <jakub@redhat.com>
23477
23478 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
23479 Don't allow -1 - x -> ~x simplifications in the first pass.
23480
20e26713
AH
234812002-01-07 Aldy Hernandez <aldyh@redhat.com>
23482
0d24f4d1
ZW
23483 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
23484 arguments.
23485 (altivec_expand_binop_builtin): Same.
23486 (altivec_expand_unop_builtin): Same.
23487 (print_operand): Fix typo.
23488 (bdesc_1arg): Add vupk* variants.
20e26713 23489
0d24f4d1 23490 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 23491
0d24f4d1 23492 * rs6000.md: Add altivec_vupk* variants.
20e26713 23493
4dd57c18
JM
234942002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
23495
23496 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
23497 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
23498 and last update dates.
23499
0341c5d2
JJ
235002002-01-07 Janis Johnson <janis187@us.ibm.com>
23501
23502 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
23503
c7f3e0b0
MM
235042002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
23505
23506 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
23507 * config/avr/avr.h (CPP_SPEC): Likewise.
23508 (LINK_SPEC): Likewise.
23509 (CRT_BINUTILS_SPECS): Likewise.
23510 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
23511 * doc/invoke.texi (AVR Options): Document them.
23512
6ba4d630
JH
23513Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
23514
23515 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
23516 LABEL_NUSES.
23517
6253d571
GS
235182002-01-07 Graham Stott <grahams@redhat.com>
23519
0d24f4d1
ZW
23520 * config/i386/i386.h: Update copyright date.
23521 (HALF_PIC_PTR): Add parenthesis.
23522 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
23523 (CONSTANT_ALIGNMENT): Add parenthesis.
23524 (DATA_ALIGNMENT): Likewise.
23525 (LOCAL_ALIGNMENT): Likewise.
23526 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
23527 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
23528 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
23529 (HARD_REGNO_NREGS): Add paranethesis.
23530 (VALID_SSE_REG_MODE): Whitespace.
23531 (VALID_MMX_REG_MODE): Whitespace.
23532 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
23533 (ix86_hard_regno_mode_ok): Add parenthesis.
23534 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
23535 (RETURN_IN_MEMORY): Whitespace.
23536 (N_REG_CLASSES): Add parenthesis.
23537 (INTEGER_CLASS_P): Add parenthesis and wrap.
23538 (FLOAT_CLASS_P): Likewise.
23539 (SSE_CLASS_P): Likewise.
23540 (MMX_CLASS_P): Likewise.
23541 (MAYBE_INTEGER_CLASS_P): Likewise.
23542 (MAYBE_FLOAT_CLASS_P): Likewise.
23543 (MAYBE_SSE_CLASS_P): Likewise.
23544 (MAYBE_MMX_CLASS_P): Likewise.
23545 (Q_CLASS_P): Likewise.
23546 (GENERAL_REGNO_P): Uppercase macro parameter.
23547 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
23548 (FP_REGNO_P): Likewise.
23549 (ANY_FP_REGNO_P): Uppercase macro parameter.
23550 (SSE_REGNO_P): Likewise.
23551 (SSE_REGNO): Likewise.
23552 (SSE_REG_P): Likewise.
23553 (SSE_FLOAT_MODE_P): Likewise.
23554 (MMX_REGNO_P): Likewise.
23555 (MMX_REG_P):Likewise.
23556 (STACK_REG_P): Likewise.
23557 (NON_STACK_REG_P): Likewise.
23558 (STACK_TOP_P): Likewise.
23559 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
23560 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
23561 (SECONDARY_MEMORY_NEEDED): Likewise.
23562 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
23563 (MD_ASM_CLOBBERS): Whitespace and wrap.
23564 (MUST_PASS_IN_STACK): Whitespace and wrap.
23565 (RETURN_POPS_ARGS): Add parenthesis.
23566 (INIT_CUMULATIVE_ARGS): Likewise.
23567 (FUNCTION_ARG): Likewise.
23568 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
23569 (SETUP_INCOMING_VARARGS): Likewise.
23570 (BUILD_VA_LIST_TYPE): Add parenthesis.
23571 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
23572 parenthsis.
23573 (EXPAND_BUILTIN_VA_ARG): Likewise.
23574 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
23575 (INITIALIZE_TRAMPOLINE): Add parenthesis.
23576 (INITIAL_ELIMINATION_OFFSET): Likewise.
23577 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
23578 (REGNO_OK_FOR_BASE_P): Likewise.
23579 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
23580 (REGNO_OK_FOR_DIREG_P): Likewise.
23581 (REG_OK_FOR_INDEX_P): Whitespace.
23582 (REG_OK_FOR_BASE_P): Whitespace.
23583 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
23584 parenthesis.
23585 (FIND_BASE_TERM): Fix typo.
23586 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
23587 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
23588 (SYMBOLIC_CONST; Whitespace.
23589 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
23590 (ENCODE_SECTION_INFO): Whitespace.
23591 (FINALIZE_PIC): Remove do { ... } while (0).
23592 (PROMOTE_MODE): Wrap in do { ... } while (0).
23593 (CONST_COSTS): Whitespace.
23594 (RTX_COSTS): Add paramethesis, whitespace and wrap.
23595 (REGISTER_MOVE_COST): Add parenthesis.
23596 (MEMORY_MOVE_COST): Likewise.
23597 (EXTRA_CC_MODES): Whitespace.
23598 (SELECT_CC_MODE): Add parenthesis and whitespace.
23599 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
23600 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
23601 (ASM_OUTPUT_LABEL): Add paramethesis.
23602 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
23603 (ASM_OUTPUT_REG_POP): Likewise.
23604 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
23605 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 23606
07933f72
GS
23607 * config/i386/i386.c: Update copyright.
23608 (CHECK_STACK_LIMIT): Add parenthesis.
23609 (AT_BP): Uppercase macro parameter.
23610 (x86_64_int_parameter_registers): Constify.
23611 (x86_64_int_return_registers): Likewise.
23612 (ix86_compare_op0): Use rtx.
23613 (construct_container): Constify INTREG parameter.
23614 (function_arg): Use rtx.
23615
0b4d32c9
GS
23616 * diagnostic.h: Update copyright date.
23617 (output_buffer_state): Add parenthesis.
23618 (output_buffer_format_args): Likewise.
23619
6253d571
GS
23620 * combine.c (combine_instructions): Replace XEXP (links, 0)
23621 with link.
23622
68f3f6f1
L
236232002-01-06 H.J. Lu <hjl@gnu.org>
23624
23625 * cfgcleanup.c (thread_jump): Fix 2 typos.
23626
236272002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 23628
0d24f4d1 23629 * config.gcc: Add support for --enable-altivec.
480f7f3a 23630
13b8c631
CR
236312002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
23632
23633 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
23634
58ad89b1
JJ
236352002-01-06 Jakub Jelinek <jakub@redhat.com>
23636
23637 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
23638 __objc_class_name_*.
23639
e403b4bc
CR
236402002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
23641
23642 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
23643
e41c7831
RH
236442002-01-06 Richard Henderson <rth@redhat.com>
23645
23646 * reorg.c (emit_delay_sequence): Remove death notes, not merely
23647 nop them out. Increment label reference count for REG_LABEL.
23648 (fill_slots_from_thread): Frob label reference count around
23649 delete_related_insns.
23650
3b3b1e32
RH
236512002-01-05 Richard Henderson <rth@redhat.com>
23652
23653 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
23654 jump threading.
23655
c28abdf0
RH
236562002-01-05 Richard Henderson <rth@redhat.com>
23657
23658 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
23659 * integrate.c (output_inline_function): Likewise.
23660 * toplev.c (rest_of_compilation): Do it here instead. Move call
23661 to remove_unnecessary_notes after emitting abstract instance.
23662 Force an emitted nested function to have its parent emited as well.
23663 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
23664 for null.
23665 (rtl_for_decl_location): Do not look at reload data structures
23666 before reload has run.
23667
c4f2c499
KH
236682002-01-05 Kazu Hirata <kazu@hxi.com>
23669
23670 * cse.c: Fix formatting.
23671 * dwarf2asm.c: Likewise.
23672 * dwarf2out.c: Likewise.
23673 * explow.c: Likewise.
23674 * expmed.c: Likewise.
23675 * function.c: Likewise.
23676 * gcov.c: Likewise.
23677 * gencheck.c: Likewise.
23678 * genrecog.c: Likewise.
23679 * ggc-common.c: Likewise.
23680 * ggc-page.c: Likewise.
23681 * global.c: Likewise.
23682
cf0d9408
KH
236832002-01-05 Kazu Hirata <kazu@hxi.com>
23684
23685 * combine.c: Fix formatting.
23686
bedca03a
CR
236872002-01-05 Craig Rodrigues <crodrigu@bbn.com>
23688
23689 PR middle-end/1557
23690 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
23691
0134bf2d
DE
236922002-01-05 David Edelsohn <edelsohn@gnu.org>
23693
23694 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
23695 as 1 for __powerpc64__ as well.
23696
23697 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
23698
23699 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
23700 return it.
23701
9ca88d5a
DB
237022002-01-05 Daniel Berlin <dan@dberlin.org>
23703
23704 * lcm.c: Revert change, due to performance regression it causes on
23705 SPEC because it's slightly more conservative (sigh, I hate
23706 edge-based LCM).
0d24f4d1 23707
1c570418
JH
23708Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
23709
23710 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
23711
d83bb9f7
NB
237122002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
23713
23714 * doc/cppinternals.texi: Update.
23715
3e0f61ac
HPN
237162002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
23717
23718 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
23719 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
23720 negatives.
23721 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
23722 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
23723 kludge for pre-october-14th mmix versions to handle new-found bug
23724 with PUSHJ/PUSHGO and the register stack.
23725 * config/mmix/mmix.h (struct machine_function): Rename member
23726 has_call_value_without_parameters to has_call_without_parameters.
23727 All referers changed.
23728 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
23729 TARGET_MASK_BRANCH_PREDICT): New macros.
23730 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
23731 -mno-reg-stack-fill-bug-workaround.
23732 * config/mmix/mmix.md ("call"): Set struct machine member
23733 has_call_without_parameters.
23734
4deaa2f8
JH
23735Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
23736
23737 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
23738
9f16e871
JH
23739Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
23740
23741 * cfgcleanup.c: Include tm_p.h
23742 (mark_effect): Fix handling of hard register; fix handling of SET
23743
96eb1157
KH
237442002-01-04 Kazu Hirata <kazu@hxi.com>
23745
23746 * config/h8300/h8300.md (anonymous patterns): Check that
23747 operands are registers before using REGNO on them.
23748
48180d68
RM
237492002-01-03 Roland McGrath <roland@frob.com>
23750
23751 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
23752
b0832fe1
JJ
237532002-01-04 Jakub Jelinek <jakub@redhat.com>
23754
23755 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
23756 * c-common.h (genrtl_expr_stmt_value): Likewise.
23757 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
23758 (expand_expr_stmt_value): Add maybe_last argument.
23759 Don't warn about statement with no effect if it is the last statement
23760 in expression statement.
23761 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
23762 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
23763 expand_expr_stmt_value.
23764 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
23765 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
23766 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
23767 as maybe_last to expand_expr_stmt_value.
23768
c1e14513
JL
23769Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
23770
0d24f4d1
ZW
23771 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
23772 be passed in, do not build it.
23773 (c_begin_if_stmt): New function.
23774 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
23775 * c-common.h (c_expand_start_cond): Update prototype.
23776 (c_begin_if_stmt): Prototype new function.
23777 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
23778 * c-parse.in (if_prefix): Use c_begin_if_stmt,
23779 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 23780
b6ec437a
WC
237812002-01-04 William Cohen <wcohen@redhat.com>
23782
23783 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
23784 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
23785 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
23786 * config/pa/som.h (ASM_FILE_START): Likewise.
23787
ead39bdf 237882002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
23789
23790 * lcm.c: Include df.h.
23791 Add available_transfer_function prototype.
23792 (compute_available): Rework to use iterative dataflow framework.
23793 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
23794 with bb_info in df.h
23795 (available_transfer_function): New function.
23796
23797 * Makefile.in (lcm.o): add df.h to dependencies.
23798
551cc6fd
RH
237992002-01-04 Richard Henderson <rth@redhat.com>
23800
23801 * config/alpha/alpha.c (some_operand): Accept HIGH.
23802 (input_operand): Likewise; accept simple references to globals.
23803 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
23804 (alpha_const_double_ok_for_letter_p): Likewise.
23805 (alpha_extra_constraint): Likewise.
23806 (alpha_preferred_reload_class): Likewise. Do not force
23807 symbolic constants to memory.
23808 (alpha_legitimate_address_p): Accept simple references
23809 to small_symbolic_operand.
23810 (alpha_legitimize_address): New arg scratch. Be prepared to be
23811 called when no_new_pseudos. Emit simple symbolic references.
23812 Split integers into low, high, and rest.
23813 (alpha_expand_mov): Use alpha_legitimize_address.
23814 (some_small_symbolic_mem_operand): New.
23815 (split_small_symbolic_mem_operand): New.
23816 * config/alpha/alpha-protos.h: Update.
23817 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
23818 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
23819 (EXTRA_CONSTRAINT): Likewise.
23820 (PREFERRED_RELOAD_CLASS): Likewise.
23821 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
23822 (PREDICATE_CODES): Update.
23823 * config/alpha/alpha.md: New post-reload splitters to convert
23824 simplfied symbolic operands to the form that references $29.
23825 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
23826 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
23827
1eaea054
RH
238282002-01-03 Richard Henderson <rth@redhat.com>
23829
23830 * local-alloc.c (function_invariant_p): Update commentary.
23831
c4cc12b7
L
238322002-01-04 H.J. Lu <hjl@gnu.org>
23833
23834 * toplev.c (rest_of_compilation): Fix a typo when calling
23835 cleanup_cfg.
23836
173bf5be
KH
238372002-01-03 Kazu Hirata <kazu@hxi.com>
23838
23839 * c-common.c: Fix formatting.
23840 * diagnostic.c: Likewise.
23841 * doloop.c: Likewise.
23842 * dwarf2out.c: Likewise.
23843
187462ac
KH
238442002-01-03 Kazu Hirata <kazu@hxi.com>
23845
23846 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
23847 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
23848
5d8ebbd8
NB
238492002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
23850
23851 * cpperror.c: Update comments and copyright.
23852 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
23853 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
23854
518c1311
JDA
238552002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
23856
23857 * collect2.c (main): Use strcmp when testing for "-shared".
23858
d15a58c0
NB
238592002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
23860
23861 * cppmacro.c: Don't include intl.h. Update comments.
23862 (new_number_token): Allocate enough buffer for 64-bit unsigned
23863 integers; update prototype.
23864 * cppmain.c: Update comments.
23865
70f4f91c
WC
238662002-01-03 William Cohen <wcohen@redhat.com>
23867
23868 * function.h (struct function): Add profile.
23869 (current_function_profile): New.
23870 doc/extend.texi: Update documentation.
23871 * final.c (final_start_function): Use current_function_profile
23872 instead of profile_flag.
23873 (profile_after_prologue): Likewise.
23874 * function.c (expand_function_start): Likewise.
23875 (expand_function_start): Likewise.
c4cc12b7 23876 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
23877 (alpha_does_function_need_gp): Likewise.
23878 (alpha_expand_prologue): Likewise.
23879 * config/arm/arm.c (arm_expand_prologue): Likewise.
23880 thumb_expand_prologue: Likewise.
23881 * config/d30v/d30v.c (d30v_stack_info): Likewise.
23882 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
23883 (fr30_expand_prologue): Likewise.
23884 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
23885 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
23886 * config/i386/i386.h (FINALIZE_PIC): Likewise.
23887 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
23888 * config/i960/i960.c (i960_output_function_prologue): Likewise.
23889 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
23890 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
23891 (m32r_expand_prologue): Likewise.
23892 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
23893 (m88k_expand_prologue): Likewise.
23894 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
23895 * config/mips/mips.c (compute_frame_size): Likewise.
23896 (mips_expand_prologue): Likewise.
23897 (mips_can_use_return_insn): Likewise.
23898 * config/pa/elf.h (ASM_FILE_START): Likewise.
23899 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
23900 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
23901 * config/pa/som.h (ASM_FILE_START): Likewise.
23902 * config/romp/romp.c (romp_using_r14): Likewise.
23903 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
23904 (rs6000_stack_info): Likewise.
23905 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 23906 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
23907 * config/v850/v850.c (compute_register_save_size): Likewise.
23908
cb1ac742
JJ
239092002-01-03 Jakub Jelinek <jakub@redhat.com>
23910
23911 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
23912 gen_lowpart_common fails, use gen_lowpart_SUBREG.
23913
61d951df 239142002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 23915
61d951df
TC
23916 * darwin.c (machopic_output_possible_stub_label): Don't generate
23917 stub routines for pseudo-stubs which we've just defined.
23918
505ddab6
KH
239192002-01-03 Kazu Hirata <kazu@hxi.com>
23920
23921 * builtins.c: Fix formatting.
23922 * c-typeck.c: Likewise.
23923 * combine.c: Likewise.
23924 * expr.c: Likewise.
23925 * loop.c: Likewise.
23926
b7e30d8a
AS
239272002-01-03 Andreas Schwab <schwab@suse.de>
23928
23929 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
23930 and return true if _cpp_push_next_buffer pushed a new include
23931 file.
23932 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
23933 _cpp_pop_file_buffer did not push a new file.
23934 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
23935
ff81832f
EC
239362002-01-02 Eric Christopher <echristo@redhat.com>
23937
23938 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
23939 FIND_REG_INC_NOTE call. Update copyright.
23940 * loop.c (canonicalize_condition): Ditto.
23941 * reorg.c (delete_scheduled_jump): Ditto.
23942
8e42ace1
KH
239432002-01-03 Kazu Hirata <kazu@hxi.com>
23944
23945 * gcse.c: Fix formatting.
23946
fb2bf631
GS
239472002-01-03 Graham Stott <grahams@redhat.com>
23948
23949 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
23950 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 23951 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
23952
23953 * system.h: Move forward defs for struct tags rtx_def, union_tree,
23954 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 23955 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
23956
239572002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
23958
23959 * tree.h: Update copyright date.
23960 (IS_EXPR_CODE_CLASS): Add parenthesis.
23961 (TREE_SET_CODE): Add whitespace.
23962 (TREE_CHECK): Add parenthesis.
23963 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
23964 (CST_OR_CONSTRUCTOR_CHECK):
23965 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
23966 (TREE_SYMBOL_REFERENCED): Whitespace.
23967 (INT_CST_LT): Likewise.
23968 (INT_CST_LT_UNSIGNED): Likewise.
23969 (tree_real_cst): Unwrap comment.
23970 (tree_string): Likewise.
23971 (tree_complex): Likewise.
23972 (IDENTIFIER_POINTER): correct cast.
23973 (SAVE_EXPR_CONTEXT): Whitespace.
23974 (EXPR_WFL_FILENAME_NODE): Likewise.
23975 (EXPR_WFL_FILENAME): Remove parenthesis.
23976 (DECL_ORIGIN): Add parenthesis.
23977 (DECL_FROM_INLINE): Use NULL_TREE.
23978 (build_int_2): Whitespace.
23979 (build_type_variant): Add parenthesis.
23980
23981 * gcc/jcf-parse.c: Update copyright date.
23982 (yyparse): Constify resource_filename.
23983
f52eda29
GS
239842002-01-03 Graham Stott <grahams@redhat.com>
23985
23986 * rtl.h: Update copyright date.
23987 (RTL_CHECK1): Wrap long line.
23988 (RTL_CHECK2): Likewise.
23989 (RTL_CHECKC1): Wrap long line and whitespace.
23990 (RTL_CHECKC2): Likewise.
23991 (XWINT): Whitespace.
23992 (XINT): Likewise.
23993 (XSTR): Likewise.
23994 (XEXP): Likewise.
23995 (XVEC): Likewise.
23996 (XMODE): Likewise.
23997 (XBITMAP): Likewise.
23998 (XTREE): Likewise.
23999 (XBBDEF): Likewise.
24000 (XTMPL): Likewise.
24001 (X0WINT): Likewise.
24002 (X0INT):Likewise.
24003 (X0UINT): Likewise.
24004 (X0STR): Likewise.
24005 (X0EXP): Likewise.
24006 (X0VEC): Likewise.
24007 (X0MODE): Likewise.
24008 (X0BITMAP): Likewise.
24009 (X0TREE): Likewise.
24010 (X0BBDEF): Likewise.
24011 (X0ADVFLAGS): Likewise.
24012 (X0CSELIB): Likewise.
24013 (X0MEMATTR): Likewise.
24014 (XCWINT): Likewise.
24015 (XCINT): Likewise.
24016 (XCUINT): Likewise.
24017 (XCSTR): Likewise.
24018 (XCEXP): Likewise.
24019 (XCVEC): Likewise.
24020 (XCMODE): Likewise.
24021 (XCBITMAP): Likewise.
24022 (XCTREE): Likewise.
24023 (XCBBDEF): Likewise.
24024 (XCADVFLAGS): Likewise.
24025 (XCCSELIB): Likewise.
24026 (XC2EXP): Likewise.
24027 (INSN_UID): Likewise.
24028 (PREV_INSN): Likewise.
24029 (PATTERN): Likewise.
24030 (INSN_CODE): Likewise.
24031 (PUT_REG_NOTE_KIND): Likewise.
24032 (CODE_LABEL_NUMBER): Likewise.
24033 (NOTE_SOURCE_FILE): Likewise.
24034 (NOTE_BLOCK): Likewise.
24035 (NOTE_EH_HANDLER): Likewise.
24036 (NOTE_RANGE_INFO): Likewise.
24037 (NOTE_LIVE_INFO): Likewise.
24038 (NOTE_BASIC_BLOCK): Likewise.
24039 (NOTE_EXPECTED_VALUE): Likewise.
24040 (NOTE_LINE_NUMBER): Likewise.
24041 (LABEL_NAME): Likewise.
24042 (LABEL_NUSES): Likewise.
24043 (LABEL_ALTERNATE_NAME): Likewise.
24044 (ADDRESSOF_DECL): Likewise.
24045 (JUMP_LABEL): Likewise.
24046 (LABEL_NEXTREF): Likewise.
24047 (REGNO): Likewise.
24048 (ORIGINAL_REGNO: Likewise.
24049 (HARD_REGISTER_NUM_P): Add parenthesis.
24050 (SUBREG_REG): Whitespace.
24051 (SUBREG_BYTE): Likewise.
24052 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
24053 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
24054 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
24055 (ASM_OPERANDS_INPUT_VEC): Likewise.
24056 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
24057 (ASM_OPERANDS_INPUT): Likewise.
24058 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
24059 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
24060 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
24061 (ASM_OPERANDS_INPUT_MODE): Likewise.
24062 (ASM_OPERANDS_SOURCE_FILE): Likewise.
24063 (ASM_OPERANDS_SOURCE_LINE): Likewise.
24064 (MEM_SET_IN_STRUCT_P): Minor reformat.
24065 (TRAP_CONDITION): Whitespace.
24066 (TRAP_CODE): Likewise.
24067 (COND_EXEC_TEST): Likewise.
24068 (COND_EXEC_CODE): Likewise.
24069 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
24070 (PHI_NODE_P): Add parenthesis.
24071 (plus_constant): Whitespace and add parenthesis.
24072
e03f5d43
KH
240732002-01-03 Kazu Hirata <kazu@hxi.com>
24074
24075 * config/avr/avr.c: Fix comment typos.
24076 * config/c4x/c4x.md: Likewise.
24077 * config/dsp16xx/dsp16xx.h: Likewise.
24078 * config/dsp16xx/dsp16xx.md: Likewise.
24079 * config/i386/i386.md: Likewise.
24080 * config/ia64/ia64.c: Likewise.
24081 * config/m32r/m32r.h: Likewise.
24082 * config/m68hc11/m68hc11.md: Likewise.
24083 * config/mmix/mmix.c: Likewise.
24084 * config/mn10200/mn10200.c: Likewise.
24085 * config/romp/romp.c: Likewise.
24086 * config/sh/sh.c: Likewise.
24087 * config/stormy16/stormy16.c: Likewise.
24088 * config/stormy16/stormy16.h: Likewise.
24089 * config/stormy16/stormy16.md: Likewise.
24090
97e300e9
GS
240912002-01-03 Graham Stott <grahams@redhat.com>
24092
24093 * loop.h: Update copyright date.
0d24f4d1
ZW
24094 (LOOP_MOVABLES): Fix typo.
24095 (LOOP_REGS): Likewise.
24096 (LOOP_IVS): Likewise.
ff81832f 24097
745b26b3
GS
240982002-01-03 Graham Stott <grahams@redhat.com>
24099
24100 * cppinit.c: Update copyright date.
24101 Don't include output.h
24102 * Makefile.in: Update copyright date.
24103 Update dependency.
24104
0a379b7a
CR
241052002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
24106
24107 PR c/5226
24108 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
24109 (-pthread) Add to RS/6000 options.
24110
a8154559
KH
241112002-01-02 Kazu Hirata <kazu@hxi.com>
24112
24113 * except.c: Fix comment typos.
24114 * loop.c: Likewise.
24115 * varasm.c: Likewise.
24116 * doc/tm.texi: Fix a typo.
24117
e6ecc89b
JJ
241182002-01-02 Jakub Jelinek <jakub@redhat.com>
24119
24120 * c-typeck.c (output_init_element): Allow initializing static storage
24121 duration objects with compound literals.
24122
d1094b40
RH
241232002-01-02 Richard Henderson <rth@redhat.com>
24124
24125 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
24126 after abusing it.
24127
0c5d8c82
KG
241282002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
24129
5e65297b
KG
24130 * gcc.c (default_compilers): Const-ify.
24131 * mips-tdump.c (stab_names): Likewise.
24132 * mips-tfile.c (map_coff_types, map_coff_storage,
24133 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
24134 pseudo_ops_t, pseudo_ops): Likewise.
24135 * protoize.c (default_include): Likewise
24136
0c5d8c82
KG
24137 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
24138 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
24139 Add array size in declaration.
24140 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
24141 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
24142 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
24143 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
24144 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
24145 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
24146 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
24147 emtens, make_nan): Const-ify.
24148 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
24149 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
24150
817e13c4
JM
241512002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
24152
24153 * config.gcc (ia64-*-*): Set extra_headers.
24154 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
24155 * config/alpha/t-osf: Remove.
24156 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
24157
98095e2b
DE
241582002-01-02 David Edelsohn <edelsohn@gnu.org>
24159
24160 * config/rs6000/t-aix43: Revert previous change.
24161
a4200657
JM
241622002-01-02 Jason Merrill <jason@redhat.com>
24163
24164 * c-decl.c (c_expand_body): Call outlining_inline_function when
24165 emitting an inline function out of line.
24166
54ba1f0d
RH
241672002-01-02 Richard Henderson <rth@redhat.com>
24168
24169 * dwarf2out.c (limbo_die_node): Add created_for member.
24170 (new_die): New argument created_for. Update all callers.
24171 (mark_limbo_die_list): New.
24172 (dwarf2out_init): Register limbo_die_list as a root.
24173 (dwarf2out_finish): Force insert limbo dies into their function
24174 context.
24175
323728aa
NS
241762002-01-02 Nathan Sidwell <nathan@codesourcery.com>
24177
24178 PR c++/5089
24179 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
24180
aefc5826
KH
241812002-01-02 Kazu Hirata <kazu@hxi.com>
24182
24183 * config/h8300/fixunssfsi.c: Update copyright.
24184 Fix comment typos.
24185 Fix formatting.
24186 * config/h8300/h8300.c: Update copyright.
24187 Eliminate warnings.
24188
b1c9bc51
KH
241892002-01-02 Kazu Hirata <kazu@hxi.com>
24190
24191 * config/romp/romp.c: Fix comment formatting.
24192 * config/romp/romp.h: Likewise.
24193 * config/romp/romp.md: Likewise.
24194 * config/s390/s390.c: Likewise.
24195 * config/stormy16/stormy16.c: Likewise.
24196 * config/stormy16/stormy16.h: Likewise.
24197
1574ef13
AO
241982002-01-02 Alexandre Oliva <aoliva@redhat.com>
24199
24200 * c-common.h (genrtl_expr_stmt_value): Declare.
24201 * c-semantics.c (genrtl_goto_stmt): Redirect to...
24202 (genrtl_goto_stmt_value): ... this new function. Pass new
24203 argument down to expand_expr_stmt_value, taking
24204 TREE_ADDRESSABLE into account.
24205 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
24206 STMT_EXPR as addressable, i.e., one whose result we want.
24207 * expr.c (expand_expr): Don't save expression statement value
24208 of labeled_blocks or loop_exprs.
24209 * stmt.c (expand_expr_stmt): Redirect to...
24210 (expand_expr_stmt_value): ... this new function. Use new
24211 argument to tell whether to save expression value.
24212 (expand_end_stmt_expr): Reset last_expr_type and
24213 last_expr_value if we don't have either.
24214 * tree-inline.c (declare_return_variable): Mark its use
24215 statement as addressable.
24216 * tree.h: Document new use of TREE_ADDRESSABLE.
24217 (expand_expr_stmt_value): Declare.
24218
252b88f7
TR
242192002-01-01 Tom Rix <trix@redhat.com>
24220
24221 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
24222 rs6000_emit_allocate_stack.
24223
29f7a208
JM
242242002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
24225
24226 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
24227 ${srcdir}/ginclude/ to every entry in extra_headers.
24228 * configure: Regenerate.
24229 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
24230 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
24231 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
24232 * ginclude/proto.h: Rename to config/convex/proto.h.
24233
2cc2d4bb
RK
24234Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24235
24236 * attribs.c (handle_vector_size_attribute): Use host_integerp
24237 and tree_int_cst; remove warnings.
24238 * caller-save.c (insert_restore): Add cast to get rid of warning.
24239 (insert_save): Likewise.
24240 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
24241 * regmove.c (find_matches): Add temporary var to kill a warning.
24242
f01c9bcd
DR
242432002-01-01 Douglas B Rupp <rupp@gnat.com>
24244
16b61764
DR
24245 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
24246 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
24247 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
24248 (vms-dwarf2eh.o): Add Makefile rule.
24249 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
24250 * config/alpha/vms-dwarf2eh.asm: New file.
24251
f01c9bcd
DR
24252 * gcc.c (delete_if_ordinary): Delete all versions.
24253
91312b81
HPN
242542002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
24255
24256 * config/mmix/mmix.md: Update FIXME to not mention
24257 define_constants.
24258 (MMIX_rJ_REGNUM): New define_constants constant.
24259 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
24260 "*movdicc_real"): Adjust contraints formatting.
24261 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
24262 for branch prediction.
24263 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
24264 output template.
24265 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
24266 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
24267 number. Delete related FIXMEs.
24268 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
24269 from number to MMIX_rJ_REGNUM.
24270 (TARGET_MASK_BRANCH_PREDICT): New.
24271 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
24272 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
24273 value. Add -mbranch-predict and -mno-branch-predict.
24274 (TARGET_VERSION): Drop date.
24275 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
24276 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
24277 for finding out global symbols.
24278 (mmix_asm_output_labelref): Revert condition for global symbol.
24279 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
24280 (mmix_print_operand_punct_valid_p): A '+' is valid.
24281
619acae7 24282See ChangeLog.6 for earlier changes.
This page took 3.031557 seconds and 5 git commands to generate.