]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
Makefile.in (TEXI_GCC_FILES): Add compat.texi.
[gcc.git] / gcc / ChangeLog
CommitLineData
7c19f816
JJ
12002-09-03 Janis Johnson <janis187@us.ibm.com>
2
3 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
4 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
5 include its file, compat.texi.
6 * doc/compat.texi: New file with new chapter, Binary Compatibility.
7
79ba5e3b
NB
82002-09-03 Neil Booth <neil@daikokuya.co.uk>
9
10 Debian BTS Bug #157416
11 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
12 * cpplib.c (destringize_and_run): Kludge around getting
13 tokens from in-progress macros.
14 (_cpp_do__Pragma): Simplify.
15
57016b47
SE
162002-09-03 Steve Ellcey <sje@cup.hp.com>
17
18 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
19 (CPP_CPU_SPEC): Remove.
20 (TARGET_CPU_CPP_BUILTINS): New.
21 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
22 (CPP_SPEC): Remove.
23 (TARGET_OS_CPP_BUILTINS): New.
24 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
25 (TARGET_OS_CPP_BUILTINS): New.
26 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
27 TARGET_OS_CPP_BUILTINS.
28 (CPP_PREDEFINES): Remove.
29 (CPLUSPLUS_CPP_SPEC): Remove.
30 (TARGET_OS_CPP_BUILTINS): New.
31
d57a4b98
RH
322002-09-03 Richard Henderson <rth@redhat.com>
33
34 * Makefile.in (USER_H): Add ginclude/float.h.
35 (FLOAT_H): Remove.
36 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
37 (mostlyclean): Don't remove float.h intermediate files.
38 (distclean): Don't remove float.h.
39 * config.gcc: Remove all float_format references.
40 * configure.in (float_format, float_h_file): Remove.
41
42 * c-common.c: Include tree-inline.h.
43 (builtin_define_with_int_value): New.
44 (builtin_define_type_precision): Use it.
45 (builtin_define_float_constants): New.
46 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
47 __FLT_EVAL_METHOD__.
48 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
49 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
50 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
51 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
52 (TARGET_FLT_EVAL_METHOD): New.
53
54 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
55 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
56 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
57 * ginclude/float.h: New.
58
527347f0
SS
592002-09-03 Stan Shebs <shebs@apple.com>
60
61 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
62 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
63 (PREFERRED_DEBUGGING_TYPE): Ditto.
64 (ASM_OUTPUT_IDENT): Remove empty definition.
65
34c1864f
SE
662002-09-03 Steve Ellcey <sje@cup.hp.com>
67
68 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
69 cxx_target.
70 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
71 handling routine for builtin pragma.
72 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
73 Registered pragma handling routine.
74 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
75 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
76 If builtin pragma seen for math routine and C89 conformance is
77 requested use different math function in order to set errno.
78 * t-ia64 (ia64-c.o): Add new rule for new file.
79
9b7c75b9
UW
802002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
81
82 * config/s390/s390.md ("movti"): Add Q->Q alternative.
83 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
84 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
85
86 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
87 "*movsf_ss"): Remove.
88
710ba35f
JDA
892002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
90
91 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
92 Delete macros.
93
ff970081
AD
942002-09-03 Arati Dikey <aratid@kpit.com>
95
96 * h8300.c (asm_file_start): Corrected optimization comment.
97
b50d021d
SS
982002-09-03 Stan Shebs <shebs@apple.com>
99
100 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
101 * c-tree.h (recognize_objc_keyword): Remove decl.
102 * c-typeck.c (comp_target_types): Update a comment.
103
b808c04c
UW
1042002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
105
106 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
107 and register validity checks.
108 (general_s_operand): Adapt to s390_decompose_address interface change.
109 (q_constraint): Likewise.
110 (s390_expand_plus_operand): Likewise.
111 (legitimiate_address_p): Likewise.
112 (legitimate_la_operand_p): Likewise.
113 (legitimize_la_operand): Likewise.
114 (print_operand_address): Likewise.
115 (print_operand): Likewise.
116
ee453219
NP
117Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
118
119 PR objc/5956:
120 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
121 was causing the new selector never to match the existing ones
122 (Patch by Alexander Malmberg <alexander@malmberg.org>).
123
d82283d5
GS
1242002-09-03 Graham Stott <graham.stott@btinternet.com>
125
126 * config/i386/i386.md ("femms"): Add "memory" attr "none".
127
1282002-09-03 Graham Stott <graham.stott@btinternet.com>
c7a009a2
GS
129
130 * expr.c (expand_expr): Remove extraneous comment and code.
131
98c0d8d1
RH
1322002-08-31 Richard Henderson <rth@redhat.com>
133
134 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
135
a5f3f0ab
JDA
1362002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
137
138 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
139
38ec83b1
RH
1402002-08-30 Richard Henderson <rth@redhat.com>
141
c9989d09 142 PR opt/7515
38ec83b1
RH
143 * c-objc-common.c: Include target.h.
144 (c_cannot_inline_tree_fn): Don't auto-inline functions that
145 don't bind locally. Factor setting DECL_UNINLINABLE.
146 * Makefile.in (c-objc-common.o): Update.
147
4c64396e
JJ
1482002-08-30 Janis Johnson <janis187@us.ibm.com>
149
150 * doc/install.texi (Configuration, Building): Fix a typo and
151 some formatting directives.
152
4226378a
PK
1532002-08-30 Paul Koning <pkoning@equallogic.com>
154
155 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
156 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
157 implemented" note.
158 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
159 for alphabetic order.
160 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
161 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
162 (VAX_HALFWORD_ORDER): Document.
163 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
164 IEEE float format.
165 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
166 (ASM_OUTPUT_LABEL_REF): Fix font.
167 (CASE_VECTOR_SHORTEN_MODE): Ditto.
168
b8074dbe
DC
1692002-08-30 Denis Chertykov <denisc@overta.ru>
170
171 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
172 stuff.
173 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
174 CONST_DOUBLE constants.
175
55f49e3d
JT
1762002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
177
178 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
179 related defines to...
180 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
181 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
182 as a no-op.
183
e1944073
KW
1842002-08-30 Krister Walfridsson <cato@df.lth.se>
185
186 * config/arm/arm.c (arm_asm_output_labelref): New function.
187 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
188 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
189
6e92b3a1
RB
1902002-08-29 Rodney Brown <rbrown64@csc.com.au>
191
192 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
193 memory exhausted" workarounds.
194
9d533cb5
GDR
1952002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
196
197 * diagnostic.c (fancy_abort): Don't repeat "internal error".
198 * toplev.c (crash_signal): Likewise.
199
1f676100
NP
200Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
201
202 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
203 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
204 Extended, updated documentation.
205 (-Wundeclared-selector): Documented.
206
23532de9
JT
2072002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
208
209 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
210 the value 1. Do not undef before defining.
211 * config/darwin.h: Likewise.
212 * config/dbx.h: Likewise.
213 * config/dbxcoff.h: Likewise.
214 * config/dbxelf.h: Likewise.
215 * config/elfos.h: Likewise.
216 * config/interix.h: Likewise.
217 * config/lynx-ng.h: Likewise.
218 * config/lynx.h: Likewise.
219 * config/netware.h: Likewise.
220 * config/psos.h: Likewise.
221 * config/svr3.h: Likewise.
222 * config/alpha/alpha.h: Likewise.
223 * config/alpha/elf.h: Likewise.
224 * config/alpha/vms.h: Likewise.
225 * config/arc/arc.h: Likewise.
226 * config/arm/aout.h: Likewise.
227 * config/arm/coff.h: Likewise.
228 * config/c4x/c4x.h: Likewise.
229 * config/h8300/h8300.h: Likewise.
230 * config/i386/cygwin.h: Likewise.
231 * config/i386/djgpp.h: Likewise.
232 * config/i386/gas.h: Likewise.
233 * config/i386/gstabs.h: Likewise.
234 * config/i386/i386-coff.h: Likewise.
235 * config/i386/i386-interix.h: Likewise.
236 * config/i386/sco5.h: Likewise.
237 * config/i386/svr3dbx.h: Likewise.
238 * config/i386/sysv3.h: Likewise.
239 * config/i386/win32.h: Likewise.
240 * config/i386/x86-64.h: Likewise.
241 * config/i960/i960.h: Likewise.
242 * config/ia64/ia64.h: Likewise.
243 * config/ip2k/ip2k.h: Likewise.
244 * config/m32r/m32r.h: Likewise.
245 * config/m68k/3b1.h: Likewise.
246 * config/m68k/3b1g.h: Likewise.
247 * config/m68k/ccur-GAS.h: Likewise.
248 * config/m68k/coff.h: Likewise.
249 * config/m68k/hp2bsd.h: Likewise.
250 * config/m68k/hp310g.h: Likewise.
251 * config/m68k/hp320g.h: Likewise.
252 * config/m68k/hp3bsd.h: Likewise.
253 * config/m68k/hp3bsd44.h: Likewise.
254 * config/m68k/linux-aout.h: Likewise.
255 * config/m68k/m68k-aout.h: Likewise.
256 * config/m68k/mot3300.h: Likewise.
257 * config/m68k/netbsd.h: Likewise.
258 * config/m68k/openbsd.h: Likewise.
259 * config/m68k/pbb.h: Likewise.
260 * config/m68k/plexus.h: Likewise.
261 * config/m68k/sun2.h: Likewise.
262 * config/m68k/sun3.h: Likewise.
263 * config/m68k/tower-as.h: Likewise.
264 * config/m68k/vxm68k.h: Likewise.
265 * config/m88k/aout-dbx.h: Likewise.
266 * config/m88k/m88k-aout.h: Likewise.
267 * config/mcore/mcore-elf.h: Likewise.
268 * config/mcore/mcore-pe.h: Likewise.
269 * config/mips/elf.h: Likewise.
270 * config/mips/elf64.h: Likewise.
271 * config/mips/iris5gas.h: Likewise.
272 * config/mips/iris6.h: Likewise.
273 * config/mips/mips.h: Likewise.
274 * config/mips/sni-gas.h: Likewise.
275 * config/mmix/mmix.h: Likewise.
276 * config/ns32k/netbsd.h: Likewise.
277 * config/pa/pa64-hpux.h: Likewise.
278 * config/romp/romp.h: Likewise.
279 * config/rs6000/sysv4.h: Likewise.
280 * config/rs6000/xcoff.h: Likewise.
281 * config/sh/coff.h: Likewise.
282 * config/sh/elf.h: Likewise.
283 * config/sparc/linux64.h: Likewise.
284 * config/sparc/liteelf.h: Likewise.
285 * config/sparc/netbsd.h: Likewise.
286 * config/sparc/openbsd.h: Likewise.
287 * config/sparc/pbd.h: Likewise.
288 * config/sparc/sp64-elf.h: Likewise.
289 * config/sparc/sp86x-elf.h: Likewise.
290 * config/sparc/sparc.h: Likewise.
291 * config/vax/vax.h: Likewise.
292 * config/vax/vaxv.h: Likewise.
293
5e98fba2
DD
2942002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
295
296 * h8300.c (shift_alg_hi): Various tweaks to improve performance
297 of HImode shifts.
298 (get_shift_alg): Corresponding changes.
299
43852342
JDA
3002002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
301
302 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
303
44bb111a
RH
3042002-08-29 Richard Henderson <rth@redhat.com>
305
306 * expr.h (enum block_op_methods): New.
307 (emit_block_move): Update prototype.
308 * expr.c (block_move_libcall_safe_for_call_parm): New.
309 (emit_block_move_via_loop): New.
310 (emit_block_move): Use them. New argument METHOD.
311 (emit_push_insn): Always respect the given alignment.
312 (expand_assignment): Update call to emit_block_move.
313 (store_expr, store_field, expand_expr): Likewise.
314 * builtins.c (expand_builtin_apply): Likewise.
315 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
316 * function.c (expand_function_end): Likewise.
317 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
318 * config/sparc/sparc.c (sparc_va_arg): Likewise.
319 * calls.c (expand_call, emit_library_call_value_1): Likewise.
320 (save_fixed_argument_area): Use emit_block_move with
321 BLOCK_OP_CALL_PARM instead of move_by_pieces.
322 (restore_fixed_argument_area): Likewise.
323 (store_one_arg): Fix alignment parameter to emit_push_insn.
324
08b3d104
JDA
3252002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
326
327 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
328
ce4e9970 3292002-08-29 Catherine Moore <clm@redhat.com>
8376061d
CM
330
331 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
332 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
333 (PREDICATE_CODES): Include new predicates.
334 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
335 (TARGET_SWITCHES): Add strict-align.
336 (TARGET_STRICT_ALIGN): New.
337 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
338 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
339 Define.
340 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
341 v850_muldi3.
342 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
343 L_callt_save_r2_r31, L_return_r2_r31,
344 L_save_all_interrupt): Change addi to add.
345 (L_save_interrupt, L_return_interrupt): Rework.
346 (__return_r31): Correct .size directive.
347 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
348 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
349 New routines.
350 * config/v850/v850.c (expand_prologue): Call
351 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
352 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
353 (reg_or_int9_operand): New predicate.
354 (reg_or_const_operand): New routine.
355 * config/v850/v850.md (return_interrupt): Changed from
356 restore_interrupt.
357 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
358 (callt_save_interrupt): Change save sequence.
359 (callt_return_interrupt): New.
360 (save_interrupt): Don't use runtime function for LONG_CALLS
361 and TARGET_PROLOG_FUNCTION.
362 (save_all_interrupt): Likewise.
363 (mulsi3): Use new predicate.
364 (moviscc): Disallow some combination of constants.
365 Fix define_split for sasf insns, so that it will not generate bad
366 code if operand0 and operand5 are the same.
367 * config/v850/v850-protos.h: Prototype new predicates.
368
585e661a
GDR
3692002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
370
371 * c-common.c (builtin_define_type_precision): New function.
372 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
373 wchar_t is unsigned in C++.
374 * doc/cpp.texi (Common Predefined Macros): Document
375 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
376 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
377 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
378
bd8f9aec
SP
3792002-08-28 Sylvain Pion <pion@cs.nyu.edu>
380
381 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
382 section. Mention that it is enabled by -Wall.
383 (-Wall): Mention that there can be language-specific warnings as well.
384 (-Wctor-dtor-privacy): Mention that it is enabled by default.
385 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
386
58ab7171
R
387Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
388
389 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
390 if it is ever live.
391
392 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
393 attribute for SHCOMPACT.
394
395 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
396 appropriately.
397 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
398 by the ABI.
399
400 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
401
27f4b67e
JT
4022002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
403
404 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
405 "MASK_GAS|MASK_ABICALLS".
406 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
407 (TARGET_DEFAULT): Remove.
408 (MACHINE_TYPE): Undefine before defining.
409 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
410
eca7f13c
MM
4112002-08-27 Mark Mitchell <mark@codesourcery.com>
412
413 * c-common.c (warn_abi): New variable.
414 * c-common.h (warn_abi): Likewise.
415 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
416 (c_common_decode_option): Handle it.
7ee425e4 417 * doc/invoke.texi: Document -Wabi.
eca7f13c 418
ece4ce85
NP
419Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
420
421 * c-common.c (warn_undeclared_selector): New variable.
422 * c-common.h (warn_undeclared_selector): Idem.
423 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
424 to on when -Wundeclared-selector is found.
425 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
426 * objc/objc-act.c (build_selector_expr): If
427 warn_undeclared_selector is set, check that the selector has
428 already been defined, and emit a warning if not.
429
b4378319
NC
4302002-08-27 Nick Clifton <nickc@redhat.com>
431 Catherine Moore <clm@redhat.com>
432 Jim Wilson <wilson@cygnus.com>
433
434 * config.gcc: Add v850e-*-* target.
435 Add --with-cpu= support for v850.
436 * config/v850/lib1funcs.asm: Add v850e callt functions.
437 * config/v850/v850.h: Add support for v850e target.
438 * config/v850/v850.c: Add functions to support v850e target.
439 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
440 * config/v850/v850.md: Add patterns for v850e instructions.
441 * doc/invoke.texi: Document new v850e command line switches.
442
ef261fee
R
443Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
444 Aldy Hernandez <aldyh at redhat dot com>
445
446 * doc/tm.texi: Applied numerous fixes to the automaton based
447 scheduler descrition.
448
c60ee6f5
JH
449Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
450
451 * i386.c (classify_argument): Handle variable sized objects.
452
1985ef90
JH
453Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
454
455 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
456
7acc97e0
JH
457Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
458
459 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
460
23327dae
JH
461Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
462
463 * i386.c (classify_argument): Properly compute word size of the analyzed object.
464
c49439f1
R
465Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
466
467 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
468 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
469 accordingly.
470 (attribute insn_class): Provide default definitions based on type.
471 Remove all insn-specific settings.
472 (various function units): Remove old SH4 scheduling.
473 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
474 New attributes. Set them where appropriate.
475 (cpu unit FS): Don't define / use.
476 (F3, load_store): New cpu units.
477 (F01): New reservation.
478 (all insn_reservations): Make dependent on sh4 pipeline model.
479 Fix latencies.
480 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
481 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
482 (mt insn_reservation): Use type mt_group.
483 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
484 sh4_fload and sh4_store.
485 (insn_reservation branch_zero and branch): Replace with sh4_branch.
486 (insn_reservation branch_far): Replace with sh4_return.
487 (insn_reservation return_from_exp): Rename to:
488 (sh4_return_from_exp). Change to be just d_lock*5.
489 (insn_reservation lds_to_pr): Rename to:
490 (sh4_lds_to_pr). Change to be just d_lock*2.
491 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
492 d_lock*2.
493 (insn_reservation prload_mem): Rename to:
494 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
495 (insn_reservation fpscr_store): Rename to:
496 (fpscr_load). Change to d_lock,nothing,F1*3.
497 (insn_reservation fpscr_store_mem): Rename to:
498 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
499 (insn_reservation multi): Change to
500 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
501 (insn_reservation fp_arith): Change to issue,F01,F2.
502 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
503 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
504 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
505 (insn_reservation fp_double_cmp): Change to
506 d_lock,(d_lock+F01),F1+F2,F2.
507 (insn_reservation dp_div): Change to
508 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
509 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
510 (sh_adjust_cost, SHcompact): Differentiate between different
511 kinds of dependencies. Drop factor of ten for superscalar.
512 Use new instruction types. Add new exception rules.
513
514 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
515
516 * sh.md (mperm_w): Add DONE.
517
f34fc46e
DE
5182002-08-27 David Edelsohn <edelsohn@gnu.org>
519
520 * longlong.h: Import current PowerPC defintion from GMP-4.1.
521
522 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
523
524 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
525
dcb44500
R
526Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
527
528 * sh.h (MAX_FIXED_MODE_SIZE): Define.
529
3ec07554
GDR
5302002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
531
532 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
533 delimiter.
534
35885eab
GDR
5352002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
536
537 * c-common.c (cpp_define_data_format): New function.
538 (cb_register_builtins): Call it.
539
540 * doc/cpp.texi (Common Predefined Macros): Document
541 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
542 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
543 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
544 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
545 __TARGET_USES_VAX_H_FLOAT__.
546
d632dee9
ZL
5472002-08-26 Ziemowit Laski <zlaski@apple.com>
548
549 * objc/objc-act.c (get_super_receiver): If inside a class method
550 of a category, cast the receiver to 'id' before accessing the 'isa'
551 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
552
c3cc6b78
UW
5532002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
554
555 * config/s390/s390-protos.h (s390_function_prologue,
556 s390_function_epilogue): Remove.
557 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
558 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
559
560 config/s390/s390.c (s390_machine_dependent_recorg): New function.
561 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
562 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
563 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
564 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
565
566 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
567 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
568 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
569 function is not a leaf function. Use save_gprs and restore_gprs.
570 (s390_emit_epilogue): Likewise.
571 (save_gprs, restore_gprs): New functions.
572 (struct s390_frame): Remove return_reg_saved_p member.
573 (save_fprs_p): Remove.
574 (s390_optimize_prolog): New function.
575 (s390_legitimate_reload_constant): Remove now unnecessary check.
576
577 (s390_function_count): Remove.
578 (s390_output_symbolic_const): Replace s390_function_count by
579 current_function_funcdef_no.
580 (s390_output_constant_pool): Likewise.
581
582 (legitimize_pic_address): Use regs_ever_live to track PIC register
583 instead of current_function_uses_pic_offset_table.
584 (s390_emit_prologue): Likewise.
585 config/s390/s390.md ("call", "call_value"): Likewise.
586
3f662186
NB
5872002-08-26 Neil Booth <neil@daikokuya.co.uk>
588
589 * c-opts.c (find_opt): Don't complain about wrong languages
590 here. Return exact matches even for wrong language.
591 (c_common_decode_option): Complain about wrong languages
592 here.
593
b6128b8c
SH
5942002-08-24 Stuart Hastings <stuart@apple.com>
595
596 * function.h (struct function): Add flag
597 all_throwers_are_sibcalls.
598 * except.c (set_nothrow_function_flags): Replaces
599 nothrow_function_p. Set new flag.
600 * except.h (set_nothrow_function_flags): Replaces
601 nothrow_function_p.
602 * dwarf2out.c (struct dw_fde_struct): Add flag
603 all_throwers_are_sibcalls.
604 (output_call_frame_info): Test it.
605 (dwarf2out_begin_prologue) Propagate it from cfun to
606 dw_fde_struct.
607 * toplev.c (rest_of_compilation): Update calls to
608 nothrow_function_p.
609
280cf02a
ZW
6102002-08-23 Zack Weinberg <zack@codesourcery.com>
611
612 * ggc-page.c (compute_inverse): Short circuit calculation for
613 object sizes larger than half a page.
614
c6664446
DE
6152002-08-23 David Edelsohn <edelsohn@gnu.org>
616
617 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
618 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
619 default.
620 (rs6000_elf_unique_section): Likewise.
621
da57d233
KG
6222002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
623
624 * ns32k.c (ns32k_globalize_label): Delete.
625 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
626
56a7189a
AM
6272002-08-23 Alan Modra <amodra@bigpond.net.au>
628
629 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
630 for loading delta with num_insns_constant_wide. Calculate
631 delta_low, delta_high without using a conditional.
632
d65b1d77
JM
6332002-08-22 Jason Merrill <jason@redhat.com>
634
635 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
636 * c-common.def: Adjust.
637 * c-dump.c (c_dump_tree): Adjust.
638 * c-semantics.c (genrtl_return_stmt): Adjust.
639 * c-pretty-print.c (pp_c_statement): Adjust.
640 * tree-inline.c (copy_body_r): Adjust.
641
8537ed68
ZW
6422002-08-22 Zack Weinberg <zack@codesourcery.com>
643
644 * ggc-page.c: Avoid division in ggc_set_mark.
645 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
646 compute_inverse): New.
647 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
648 (init_ggc): Initialize inverse_table.
649
8567c70f
TT
6502002-08-22 Tom Tromey <tromey@redhat.com>
651
652 * doc/install.texi (Configuration): Document --datadir.
653
fde59d4b
AO
6542002-08-22 Alexandre Oliva <aoliva@redhat.com>
655
656 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
657
44ddc79a
HPN
6582002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
659
660 * gengtype-lex.l (ID): Allow underscore as first character.
661
b275d088
DE
6622002-08-21 David Edelsohn <edelsohn@gnu.org>
663
664 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
665 function.
666 (rs6000_xcoff_asm_named_section): Rename.
667 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
668
57ce46bb
TT
6692002-08-21 Tom Tromey <tromey@redhat.com>
670
671 For PR java/6005 and PR java/7611:
672 * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
673 (fold): Likewise.
674 * langhooks.c (lhd_can_use_bit_fields_p): New function.
675 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
676 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
677 (LANG_HOOKS_INITIALIZER): Use it.
678 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
679 field.
680
27d30956
SS
6812002-08-21 Stan Shebs <shebs@apple.com>
682
683 * tree.c (finish_vector_type): Fix a typo in a comment.
684 * Makefile.in: Fix "the the" stutters in comments.
685 * genautomata.c: Ditto.
686 * ifcvt.c: Ditto.
687 * regrename.c: Ditto.
688 * config/alpha/alpha.c: Ditto.
689 * config/alpha/vms-crt0-64.c: Ditto.
690 * config/alpha/vms-crt0.c: Ditto.
691 * config/alpha/vms-psxcrt0-64.c: Ditto.
692 * config/alpha/vms-psxcrt0.c: Ditto.
693 * config/d30v/d30v.h: Ditto.
694 * config/fr30/fr30.h: Ditto.
695 * config/rs6000/rs6000.c: Ditto.
696 * config/stormy16/stormy16.h: Ditto.
697 * doc/md.texi: Ditto.
8537ed68 698
d873d827
JDA
6992002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
700
701 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
702
b462d4ab
JM
7032002-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
704
705 * c-decl.c (grokdeclarator): Make invalid combinations with long,
706 short, signed or unsigned into hard errors. Fixes PR c/4319.
707 Also make duplicate modifiers such as "short short" into hard
708 errors.
709
b65d23aa 7102002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
8537ed68 711 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b65d23aa
AP
712
713 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
714 to the actual end. Add '@end table' and '@table @code'.
8537ed68 715
3823f0b2
GK
7162002-08-20 Geoffrey Keating <geoffk@redhat.com>
717
8d25d915
GK
718 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
719
3823f0b2
GK
720 * unroll.c (biv_total_increment): Don't try to compute the total
721 increment for FP BIVs.
722
5eb99654
KG
7232002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
724
725 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
726 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
727 ASM_OUTPUT_ALIGNED_BSS): Use target hook.
728 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
729 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
730 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
731 (GLOBAL_ASM_OP): Define.
732 * arm.c (aof_globalize_label): New function.
733 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
734 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
735 * c4x.c (c4x_globalize_label): New function.
736 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
737 * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
738 (GLOBAL_ASM_OP): Define.
739 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
740 * darwin-protos.h (darwin_globalize_label): Declare.
741 * darwin.c (darwin_globalize_label): New function.
742 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
743 (ASM_GLOBALIZE_LABEL): Delete.
744 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
745 * dsp16xx.c (asm_output_common): Use target hook.
746 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
747 * frv.h (ASM_GLOBALIZE_LABEL): Delete.
748 (GLOBAL_ASM_OP): Define.
749 * i370.c (i370_globalize_label): New function.
750 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
751 * i370.h (ASM_GLOBALIZE_LABEL): Delete.
752 * i386.c (ix86_asm_file_end): Use target hook.
753 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
754 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
755 * ia64.c (ia64_asm_output_external): Likewise.
756 * ia64/sysv4.h: Update comment.
757 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
758 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
759 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
760 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
761 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
762 * mmix-protos.h (mmix_asm_globalize_label): Delete.
763 * mmix.c (mmix_asm_globalize_label): Likewise.
764 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
765 (GLOBAL_ASM_OP): Define.
766 * ns32k.c (ns32k_globalize_label): New function.
767 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
768 (ASM_GLOBALIZE_LABEL): Delete.
769 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
770 (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
771 * pa.c (pa_globalize_label): New function.
772 * pa.h (ASM_GLOBALIZE_LABEL): Delete.
773 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
774 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
775 (GLOBAL_ASM_OP): Define.
776 (TARGET_ASM_GLOBALIZE_LABEL): Undef.
777 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
778 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
779 (GLOBAL_ASM_OP): Define.
780 * v850.c (v850_output_aligned_bss): Use target hook.
781 * vax.c (vms_globalize_label): New function.
782 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
783 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
784 (GLOBAL_ASM_OP): Define.
785 * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
786 * doc/tm.texi: Update docs.
787 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
788 target hook.
789 * final.c (output_alternate_entry_point): Likewise.
790 * hooks.c (hook_FILEptr_constcharptr_void): New function.
791 * hooks.h (hook_FILEptr_constcharptr_void): Declare.
792 * output.h (assemble_global): Delete.
793 (default_globalize_label): Declare.
794 * system.h (ASM_GLOBALIZE_LABEL): Poison.
795 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
796 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
797 * target.h (gcc_target): Add globalize_label member.
798 * varasm.c (asm_output_bss, asm_output_aligned_bss,
799 globalize_decl): Use target hook.
800 (assemble_global): Delete.
801 (default_globalize_label): New function.
802
f8f28a75
KG
8032002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
804
805 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
806
92b5aacd
DP
8072002-08-20 Devang Patel <dpatel@apple.com>
808 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
8537ed68 809
761c70aa
KG
8102002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
811
812 * arc.c (output_shift): Use stdio instead of asm_fprintf.
813 * arm.c (thumb_output_function_prologue): Likewise.
814 * avr.c (print_operand): Likewise.
815 * c4x.c (c4x_print_operand): Likewise.
816 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
817 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
818 * cris.c (cris_target_asm_function_prologue,
819 cris_asm_output_mi_thunk): Likewise.
820 * h8300.c (print_operand): Likewise.
821 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
822 * ip2k.c (print_operand): Likewise. Fix format specifier.
823 * m68hc11.c (asm_print_register, print_operand,
824 print_operand_address): Use stdio instead of asm_fprintf.
825 (print_operand_address): Fix format specifier.
826 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
827 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
828 asm_fprintf.
829 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
830 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
831 * m68k.c (m68k_output_function_prologue,
832 m68k_output_function_epilogue, print_operand): Likewise.
833 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
834 Likewise. Fix format specifier.
835 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
836 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
837 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
838
5ce6f47b
EC
8392002-08-15 Eric Christopher <echristo@redhat.com>
840 Jeff Knaggs <jknaggs@redhat.com>
841
842 * config.gcc (mipsisa64sr71k-elf): New target.
843 * config/mips/sr71k.md: New file.
844 * config/mips/mips.md: Use it.
845 (rot*): Add sr71k specifics.
846 * config/mips/t-sr71k: New file.
847 * config/mips/mips.h (sr71k): New cpu.
848 (TARGET_SR71K): Use it.
849 (TUNE_SR71K): Ditto.
850 (GENERATE_BRANCHLIKELY): Ditto.
851 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
852 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
853 * config/mips/mips.c (sr71k): New cpu.
854 (mips_use_dfa_pipeline_interface): Use.
855
8562002-08-15 Eric Christopher <echristo@redhat.com>
8537ed68 857 Richard Sandiford <rsandifo@redhat.com>
5ce6f47b
EC
858 Aldy Hernandez <aldyh@redhat.com>
859 Graham Stott <grahams@redhat.com>
860 Michael Meissner <meissner@redhat.com>
861 Gavin Romig-Koch <gavin@redhat.com>
862 Ken Raeburn <raeburn@cygnus.com>
863 Alexandre Oliva <aoliva@redhat.com>
864
865 * config.gcc (mips64vr-elf): New target.
866 * config/mips/5400.md: New file.
867 * config/mips/5500.md: Ditto.
868 * config/mips/mips.md: Use them.
869 (frsqrt): New.
870 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
871 cpus.
872 (mips_issue_rate): Use them.
873 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
874 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
875 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
876 cpus.
877 (TARGET_MIPSx): Use them.
878 (TUNE_MIPSx): Ditto.
879 (GETNATE_MULT3_SI): Ditto.
880 (ISA_HAS_BRANCHLIKELY): Ditto.
881 (ISA_HAS_CONDMOVE): Ditto.
882 (ISA_HAS_NMADD_NMSUB): Ditto.
883 (ISA_HAS_MULHI): New. Ditto.
884 (ISA_HAS_MULS): Ditto.
885 (ISA_HAS_MSAC): Ditto.
886 (ISA_HAS_MACC): Ditto.
887 (ISA_HAS_ROTR_SI): Ditto.
888 (ISA_HAS_ROTR_DI): Ditto.
889 (RTX_COSTS): Use.
890
48209ce5
JDA
8912002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
892
893 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
894 at head.
895 (remove_dup_nonsys_dirs): New function.
896 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
897 (merge_include_chains): Remove non-system include directories from
898 quote and bracket include chains when they duplicate equivalent system
899 directories.
900 * doc/cpp.texi (-I): Update.
8537ed68
ZW
901 * doc/cppopts.texi (-I): Update.
902 * doc/install.texi (--with-local-prefix): Further document usage of
48209ce5
JDA
903 this option.
904 * doc/invoke.texi (-I): Update.
905
4ca79136
RH
9062002-08-20 Richard Henderson <rth@redhat.com>
907
908 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
909 (emit_block_move): Split out subroutines.
910 (emit_block_move_via_movstr): New.
911 (emit_block_move_via_libcall): New. Emit bcopy via normal call also.
912 (emit_block_move_libcall_fn): New. Construct function prototype for
913 bcopy as well.
914 (clear_storage): Split out subroutines.
915 (clear_storage_via_clrstr): New.
916 (clear_storage_via_libcall): New. Emit bzero as a normal call also.
917 (clear_storage_libcall_fn): New. Construct function prototype for
918 bzero as well.
919 (emit_push_insn): Use emit_block_move.
920 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
921 (store_constructor): Likewise.
922
9f05cef3
ZL
9232002-08-19 Ziemowit Laski <zlaski@apple.com>
924
925 * objc/objc-act.c (building_objc_message_expr): Rename to
926 current_objc_message_selector.
927
1bd5981b
ZL
9282002-08-19 Ziemowit Laski <zlaski@apple.com>
929
930 * objc/objc-act.c (build_ivar_chain): Remove.
931 (objc_copy_list): Likewise.
932 (get_class_ivars): Inline call to removed build_ivar_chain
933 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
934 slot; use that slot (rather than CLASS_IVARS) when accessing
935 ivars for base classes. Call copy_list and chainon instead of
936 objc_copy_list.
937 (build_private_template): Call get_class_ivars instead of
938 build_ivar_chain.
939 (start_class): Allocate room for the CLASS_OWN_IVARS slot.
5ce6f47b 940 (continue_class): Call get_class_ivars instead of
1bd5981b
ZL
941 build_ivar_chain.
942 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
943 of DECL_BIT_FIELD (which may have been cleared).
944 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
945
2bf087c0
KG
9462002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
947
948 * genautomata.c (output_translate_vect, output_state_ainsn_table,
949 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
950 in output file.
951 (output_internal_min_issue_delay_func): Initialize variable in
952 output file.
953
3fcd079e
AO
9542002-08-19 Alexandre Oliva <aoliva@redhat.com>
955
956 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
957 (stage2_build, stage3_build, stage4_build): Likewise, to CC.
958
71012d97
GK
9592002-08-19 Geoffrey Keating <geoffk@redhat.com>
960 Steve Ellcey <sje@cup.hp.com>
961
962 * machmode.h (SCALAR_INT_MODE_P): New macro to test for
963 scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
964 * explow.c (trunc_int_for_mode): Abort when the mode is not
965 a scaler integer mode.
966 * combine.c (expand_compound_operation): Don't expand Vector
967 or Complex modes into shifts.
968 (expand_field_assignment): Don't do bitwise arithmatic and
969 shifts on Vector or Complex modes.
970 (simplify_comparison): Don't call trunc_int_for_mode
971 for VOIDmode.
972 * recog.c (general_operand): Likewise.
973 (immediate_operand): Likewise.
974 (nonmemory_operand): Likewise.
975
af8cb5c5
DE
9762002-08-19 David Edelsohn <edelsohn@gnu.org>
977
978 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
979 multi-instruction SImode constant. Add REG_EQUAL note.
980 * config/rs6000/rs6000.md (movsi splitter): Use
5ce6f47b 981 rs6000_emit_set_const.
af8cb5c5 982
9bc146b3
KG
9832002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
984
985 * tree-inline.c (initialize_inlined_parameters): Wrap variable in
986 the macro test controlling its use.
987
66df2ac2
L
9882002-08-18 H.J. Lu (hjl@gnu.org)
989
990 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
991 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
992 gnu_ld=yes.
993 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
994 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
995 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
996 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
997 here.
998 (cris-*-linux*): Remove setting thread_file here.
999
463f1b2b
NB
10002002-08-18 Neil Booth <neil@daikokuya.co.uk>
1001
1002 PR preprocessor/7602
1003 * cppinit.c (path_include): Treat the system environment
1004 variables as being cxx_aware.
1005
2984fe64
JM
10062002-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
1007
1008 * c-decl.c (flexible_array_type_p): New function.
1009 (grokdeclarator, finish_struct): Use it.
1010 * doc/extend.texi: Document constraints on use of structures with
1011 flexible array members.
1012
fded6d78
RS
10132002-08-17 Richard Sandiford <rsandifo@redhat.com>
1014
1015 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
1016 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
1017 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
1018
8aa5074e
SS
10192002-08-16 Stan Shebs <shebs@apple.com>
1020
1021 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
1022 for ObjC with -fnext-runtime.
1023 * doc/cpp.texi: Document it.
1024
f97a5bda
JJ
10252002-08-16 Janis Johnson <janis187@us.ibm.com>
1026
1027 * doc/install.texi (Final installation): Replace links to individual
1028 build status pages with a link to a common page that lists them all.
1029
d3075b6c
SP
10302002-08-16 Sylvain Pion <pion@cs.nyu.edu>
1031
1032 * doc/invoke.texi: Fix typo.
1033
fdf68669
DE
10342002-08-16 David Edelsohn <edelsohn@gnu.org>
1035
1036 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
1037
10382002-08-16 Andrew Haley <aph@redhat.com>
d436bff8
AH
1039
1040 * tree-inline.c: Add includes for Java inliner.
1041 (remap_decl): Don't handle anonymous types for Java.
1042 (remap_block): Add handling for Java trees.
1043 (copy_scope_stmt): Conditionalize for non-Java use only.
1044 (copy_body_r): Handle Java trees. Add handling for
1045 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
1046 (initialize_inlined_parameters): Handle Java trees.
1047 (declare_return_variable): Likewise.
1048 (expand_call_inline): Handle Java trees.
1049 (walk_tree): Likewise.
1050 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
1051 (add_stmt_to_compound): New function.
1052
204250d2
RH
10532002-08-15 Richard Henderson <rth@redhat.com>
1054
1055 * Makefile.in (LOOSE_WARN): Remove -fno-common.
1056 (NOCOMMON_FLAG): New substitution point.
1057 (GCC_WARN_CFLAGS): Include it.
1058 * configure.in (ac_checking): Set nocommon_flag.
1059 (nocommon_flag): New substitution point.
1060
25587e40
AO
10612002-08-15 Alexandre Oliva <aoliva@redhat.com>
1062
1063 * c-tree.h (skip_evaluation): Move declaration...
1064 * c-common.h: ... here.
1065 * c-typeck.c (build_external_ref): Don't assemble_external nor
1066 mark a tree as used if skip_evaluation is set.
1067 * c-parse.in (typeof): New non-terminal to set skip_evaluation
1068 around TYPEOF.
1069 (typespec_nonreserved_nonattr): Use it.
1070
702ada3d
DR
10712002-08-15 Douglas B Rupp <rupp@gnat.com>
1072
1073 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
1074 (xcoff_debug_hooks): Update end_prologue.
1075 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
1076 * debug.h (end_prologue): Add file arg.
1077 (end_epilogue): Add line and file args.
1078 (dwarf2out_end_epilogue): Add line and file args.
1079 (vmsdbgout_after_prologue): Remove.
1080 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
1081 (dwarf2_debug_hooks): Update end_prologue.
1082 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
1083 (dwarfout_end_prologue): Add file arg.
1084 * final.c (vmsdbgout_after_prologue): Remove
1085 (final_end_function): Update end_epilogue call.
1086 (final_scan_insn): Update end_prologue call.
1087 * sdbout.c (sdbout_end_epilogue): Add line and file args.
1088 (sdbout_end_prologue): Add file arg.
1089 (sdb_debug_hooks): Update end_prologue.
1090 (sdb_begin_prologue): Update sdbout_end_prologue call.
1091 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
1092 vmsdbgout_end_function.
1093 (vmsdbgout_end_prologue): New function renamed from
1094 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
1095 (vmsdbgout_end_function): New function.
1096 (vmsdbgout_end_epilogue): Add line and file args. Call
1097 vmsdbgout_source_line.
1098 (write_pclines): Write only valid line numbers.
1099 (write_srccorr): Don't write source correlation records if 0 lines.
1100 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
1101
9ef30f83
SE
11022002-08-15 Steve Ellcey <sje@cup.hp.com>
1103
1104 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
1105 (_Unwind_Internal_Ptr): 32 bit version for use in
1106 read_encoded_value_with_base.
1107 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
1108 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
1109 right size.
1110
f7043461
KG
11112002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1112
1113 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
1114 signed/unsigned warnings.
1115
1116 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
1117 record_reg_classes): Likewise.
1118
1119 * reload.c (reload_inner_reg_of_subreg, push_reload,
1120 find_reloads_address_1): Likewise.
1121
b4d330e1
DE
11222002-08-15 David Edelsohn <edelsohn@gnu.org>
1123
1124 * rs6000.c (output_mi_thunk): Return to function section on
1125 TARGET_ELF.
1126
1127 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
1128
61f02ff5
UW
11292002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
1130
1131 * config/s390/s390.c (legitimize_address): Optimize loading
1132 of large displacements.
1133
1330f7d5
DR
11342002-08-14 Douglas B Rupp <rupp@gnat.com>
1135
1136 * config/alpha/alpha-protos.h: Update.
1137
1138 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
1139 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
1140 (alpha_linkage_symbol_p): New static function.
1141 (print_operand_address): Print linkage operand.
1142
1143 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
1144 variables.
1145 (reloc_kind): New enum.
1146 (struct alpha_funcs): New struct.
1147 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
1148
1149 (alpha_need_linkage): Rewrite.
1150 (alpha_use_linkage): New global function.
1151 (alpha_write_linkage): Rewrite and make static.
1152 (alpha_write_one_linkage): Rewrite
1153
1154 (alpha_start_function): Remove procedure descriptor output.
1155 (alpha_end_function): Write linkages at end of each function.
1156
1157 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
1158 (call_vms_1, call_value_vms_1): Rewrite.
1159
1160 * config/alpha/vms.h (ASM_FILE_END): Remove.
1161
d1f1cc6a
RH
11622002-08-14 Richard Henderson <rth@redhat.com>
1163
1164 * ggc-page.c (RTL_SIZE): New.
1165 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
1166 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
1167
23626154
RH
11682002-08-14 Richard Henderson <rth@redhat.com>
1169
1170 * calls.c: Include target.h.
1171 * Makefile.in (calls.o): Update.
1172
1173 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
1174 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
1175
fd350d24
RH
11762002-08-14 Richard Henderson <rth@redhat.com>
1177
1178 * Makefile.in (LOOSE_WARN): Add -fno-common.
1179 * c-common.h (constant_string_class_name): Add missing extern.
1180
182d89a3
NB
11812002-08-15 Neil Booth <neil@daikokuya.co.uk>
1182
1183 PR preprocessor/7358
1184 * c-opts.c (check_deps_environment_vars): Ignore main file
1185 for SUNPRO_DEPENDENCIES.
1186 * cppfiles.c (stack_include_file): Ignore main file if
1187 appropriate.
1188 * cpplib.h (struct cpp_options): New member in deps.
1189 * doc/cppenv.texi: Update.
1190
8bfb1467
NB
11912002-08-14 Neil Booth <neil@daikokuya.co.uk>
1192
1193 PR preprocessor/7526
1194 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
1195
41685063
NS
11962002-08-14 Nathan Sidwell <nathan@codesourcery.com>
1197
1198 * doc/invoke.texi (-a): Remove documentation.
1199 (-fprofile-arcs): Remove reference to -a, -ax options.
1200 * doc/gcov.texi (Gcov Data Files): Data might be merged.
1201
77893a23
GDR
12022002-08-14 Gabriel Dos Reis <gdr@nerim.net>
1203
1204 Fix PR/7566
1205 * c-semantics.c (genrtl_case_label): Don't (mis)use
5ce6f47b 1206 warning_with_decl.
77893a23 1207
260f91c2
DJ
12082002-08-14 Dale Johannesen <dalej@apple.com>
1209
8537ed68 1210 * explow.c (emit_stack_restore): Emit memory clobbers
260f91c2
DJ
1211 preceding the stack pop, to prevent the scheduler from
1212 moving refs to variable arrays below this pop.
1213 * reload1.c (reload): Preserve these clobbers for sched2.
1214 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
1215
cd79e210
NB
12162002-08-14 Neil Booth <neil@daikokuya.co.uk>
1217
1218 * c-opts.c (c_common_post_options): Correct test.
1219
3eb75a73
KG
12202002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1221
1222 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
1223 order in call to fprintf.
1224
be3a0ce2
RO
12252002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1226
1227 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
1228
ccfc6cc8
UW
12292002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
1230
5ce6f47b 1231 * reload.c (find_reloads): Handle constraint letters marked by
ccfc6cc8
UW
1232 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
1233 (alternative_allows_memconst): Likewise.
1234 * reload1.c (maybe_fix_stack_asms): Likewise.
5ce6f47b 1235 * recog.c (asm_operand_ok, preprocess_constraints,
ccfc6cc8
UW
1236 constrain_operands): Likewise.
1237 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1238 * local-alloc.c (block_alloc, requires_inout): Likewise.
1239 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1240
1241 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
1242 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1243 * doc/tm.texi: Document these two new target macros.
1244
1245 * config/s390/s390.c (s390_expand_plus_operand): Accept already
1246 valid operands.
1247 (q_constraint): New function.
1248 config/s390/s390-protos.h (q_constraint): Declare it.
1249 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
1250 (EXTRA_MEMORY_CONSTRAINT): New macro.
1251
1252 * config/s390/s390.md: Throughout the machine description,
1253 replace all instances of the constraint combinations 'Qo'
1254 or 'oQ' with simply 'Q'.
1255
d6ee9f6f
SC
12562002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1257
1258 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
1259 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
1260 (LIBGCC2_CFLAGS): Compile with -mrelax.
1261
8a0b86f5
SC
12622002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1263
1264 * doc/invoke.texi: Document -minmax for 68HC12.
1265
1266 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
1267 ("uminqi3"): Likewise.
1268 ("uminhi3", "umaxhi3"): Likewise.
1269
1270 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
1271 (TARGET_MIN_MAX): Define.
1272 (TARGET_SWITCHES): New option -minmax/-mnominmax.
1273
d6381f4e
SC
12742002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1275
1276 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
1277 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
1278
1279 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
1280 (ret, declare, farsym): New gas macros.
1281 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
1282 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
1283 and declare the symbol far when compiled with -mlong-calls.
5ce6f47b 1284 (__far_trampoline): New for 68HC12 trampoline code to invoke a
d6381f4e
SC
1285 far handler using jsr/bsr.
1286
1287 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
1288 (jsr): New macro to transform a 'jsr' into a 'call'.
1289
058edcdb
SC
12902002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1291
1292 * doc/invoke.texi: Document -mlong-calls for 68HC12.
1293
1294 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
1295 -mlong-calls is specified.
5ce6f47b 1296 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
058edcdb
SC
1297 assembler directives.
1298 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
1299 (TARGET_SWITCHES): Add -mlong-calls options.
1300 (current_function_far): Declare.
1301
1302 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
1303 into account the page register saved on the stack.
1304 (m68hc11_override_options): Take into account -mlong-calls option.
1305 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
1306
1307 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
1308 if the function is going to be in 68HC12 banked memory (-mlong-calls).
1309 ("*return_16bit"): Likewise.
1310 ("*return_void"): Likewise.
1311 ("call", "call_value"): Use call for a far function call.
1312
c79043f3
NB
13132002-08-14 Neil Booth <neil@daikokuya.co.uk>
1314
1315 * toplev.c (parse_options_and_default_flags): Don't call
1316 post_options here.
1317 (general_init): Initialize GC, pools and tree hash here,
1318 instead of lang_independent_init.
1319 (lang_independent_init): Rename backend_init.
1320 (do_compile): Call post_options hook; exit early if there
1321 have been errors after switch processing.
1322 (toplev_main): Update.
1323
6bf346d4
GDR
13242002-08-14 Gabriel Dos Reis <gdr@nerim.net>
1325
1326 * c-pretty-print.h: Guard against multiple inclusion.
1327 Robustify macros.
1328 (pp_c_attributes): Declare.
1329 * c-pretty-print.c (pp_c_attributes): New function.
1330
cbf2f479
KG
13312002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1332
1333 * m68k.c (m68k_output_function_prologue,
1334 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
1335 and NEWS/MOTOROLA.
1336 * genattrtab.c: Remove dpx2 comment.
1337 * libgcc2.c (__enable_execute_stack): Delete versions for
1338 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
1339 sony_news/SYSTYPE_BSD.
1340 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
1341 __gmicro__, __i860__, __NeXT__ and __pyr__.
1342 * rtl.h: Remove convex comment.
1343 * varasm.c: Likewise.
1344
d3969c34
KG
13452002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1346
1347 * c-opts.c (lang_flags): Const-ify.
1348 * ra-build.c (undef_table): Likewise.
1349 * ra.c (eliminables): Likewise.
1350
df89f8e7
GDR
13512002-08-14 Gabriel Dos Reis <gdr@nerim.net>
1352
1353 * tree.h: Guard against multiple inclusion.
1354
cf87d551
HPN
13552002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
1356
1357 * reload1.c (reload_cse_simplify): Before checking
1358 REG_FUNCTION_VALUE_P, check REG_P.
1359
a43c8986
GK
13602002-08-13 Geoffrey Keating <geoffk@redhat.com>
1361
1362 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
1363
29337351
NB
13642002-08-13 Neil Booth <neil@daikokuya.co.uk>
1365
1366 * c-opts.c (c_common_init_options): Extra braces needed.
1367
8202c8c4
R
1368Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
1369
1370 * sh.c (sh_init_builtins): Add PARAMS to declaration.
1371 (sh_media_init_builtins, sh_expand_builtin): Likewise.
1372 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
1373 (sh_expand_binop_v2sf): Likewise.
1374 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
1375 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
1376 (sh_initialize_trampoline): Likewise.
1377
07893d4f
UW
13782002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
1379
1380 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
1381 new condition code modes.
1382 s390.c (s390_match_ccmode_set): Handle those new CC modes.
1383 (s390_select_ccmode): Likewise.
1384 (s390_branch_condition_mask): Likewise.
1385
1386 * s390-protos.h (s390_tm_ccmode): Declare.
1387 s390.c (s390_tm_ccmode): New function.
1388 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
1389
1390 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
1391 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
1392 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
1393
1394 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
1395 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
1396 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
1397 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
1398 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
1399
1400 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
5ce6f47b 1401 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
07893d4f
UW
1402 "*cmpqi_ccs_0"): Remove, replace by ...
1403 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
5ce6f47b 1404 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
07893d4f
UW
1405 "*tstqi", "*tstqi_cconly"): ... these new patterns.
1406
1407 ("*cmpsidi_ccs"): Remove, replace by ...
1408 ("*cmpsi_ccs_sign"): ... this new pattern.
1409 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
1410
1411 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
1412 ("*cli"): ... this new pattern.
1413
1414 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
1415 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
1416 New patterns.
1417 ("adddi3_64"): Rename to "*adddi3_64".
1418 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
1419 ("adddi3"): Adapt expander.
1420
1421 ("*addsi3_cc"): Allow "general_operand" for operand 2.
5ce6f47b 1422 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
07893d4f
UW
1423 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
1424
1425 ("addhi3", "addqi3"): Remove, replace by ...
1426 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
1427
1428 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
1429 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
1430 ("subdi3"): Replace by insn and splitter "*subdi3_31".
1431 ("subdi3"): New expander.
1432
1433 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
1434
1435 ("subhi3", "subqi3"): Remove, replace by ...
1436 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
1437
1438 ("*muldi3_sign"): New pattern.
1439 ("muldi3"): Do not clobber CC.
1440 ("mulsi3"): Likewise.
1441 ("mulsi_6432"): Likewise.
1442
db62867b
DC
14432002-08-13 Denis Chertykov <denisc@overta.ru>
1444
1445 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
8537ed68 1446 which can change CC0.
db62867b 1447
8ba46434
R
1448Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
1449
1450 * gcse.c (adjust_libcall_notes): New function.
1451 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
1452
8733892f
NS
14532002-08-13 Nathan Sidwell <nathan@codesourcery.com>
1454
1455 * libgcc2.c (L_bb): Remove unneeded #includes.
1456 (__global_counters, __gthreads_active): Remove unused globals.
1457 (__bb_exit_func): Merge counts into files rather than appending.
1458 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
1459 (ALL_CFLAGS): ... to here.
1460
f4769721
DC
14612002-08-13 Denis Chertykov <denisc@overta.ru>
1462
1463 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
1464 (function_epilogue): Don't calculate function size.
1465 (ip2k_set_compare): Don't use lookup_const_double.
1466 (asm_file_start): Initialization of commands_in_file removed.
1467 (asm_file_end): Output of commands_in_file removed.
5ce6f47b 1468
f4769721
DC
1469 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
1470 __INT_MAX__.
1471
c31cddfd
NB
14722002-08-13 Neil Booth <neil@daikokuya.co.uk>
1473
1474 * c-opts.c (c_common_init_options): Check option array is
1475 sorted if checking enabled.
1476
f076f0ce
GDR
14772002-08-13 Gabriel Dos Reis <gdr@nerim.net>
1478
1479 * c-pretty-print.c: #include "c-tree.h".
1480 (pp_c_simple_type_specifier): Tweak.
1481 (pp_c_storage_class_specifier): New.
1482 (pp_c_function_specifier): Likewise.
1483 (pp_c_declaration_specifiers): Likewise.
1484 (pp_c_init_declarator): Likewise.
1485 (pp_c_declaration): Likewise.
1486 (pp_c_direct_declarator): Stub.
1487 (pp_c_declarator): Likewise.
1488 (pp_c_parameter_declaration): Likewise.
1489
f4ff5a69
NB
14902002-08-13 Neil Booth <neil@daikokuya.co.uk>
1491
1492 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
1493 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
1494 struct deferred_opt): New.
1495 (COMMAND_LINE_OPTIONS): Add -M*.
1496 (missing_arg): Update.
1497 (c_common_decode_option): Handle -M*.
1498 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
1499 don't call cpp_post_options.
1500 (c_common_finish, check_deps_environment_vars): Update.
1501 * cppfiles.c (stack_include_file, handle_missing_header): Update.
1502 * cpphash.h (CPP_PRINT_DEPS): Remove.
1503 * cppinit.c: Don't include version.h.
1504 (cpp_create_reader): Don't call deps_init. Initialize
1505 warn_long_long.
1506 (cpp_read_main_file): Init deps if necessary.
1507 (cpp_destroy): Conditionally free deps.
1508 (cpp_finish): Update.
1509 (no_tgt): Remove.
1510 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
1511 (cpp_post_options): Rename post_options.
1512 * cpplib.h (struct cpp_options): Remove some dependency options;
1513 move others to a new structure.
1514 (cpp_post_options): Remove.
1515 (cpp_finish): Comment.
1516 * fix-header.c (read_scan_file): Don't call cpp_post_options.
1517
34116c2a
HPN
15182002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
1519
1520 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
1521 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
1522 MMIX_rR_REGNUM as clobbered.
1523 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
1524
9b32718c
GDR
15252002-08-12 Gabriel Dos Reis <gdr@nerim.net>
1526
1527 * diagnostic.h (output_formatted_scalar): Rename from
5ce6f47b 1528 output_formatted_integer.
9b32718c
GDR
1529 * diagnostic.def: Add DK_DEBUG.
1530 * diagnostic.c (output_decimal): Adjust.
1531 (output_long_decimal): Likewise.
1532 (output_unsigned_decimal): Likewise.
1533 (output_octal): Likewise.
1534 (output_long_octal): Likewise.
1535 (output_hexadecimal): Likewise.
1536 (output_long_hexadecimal): Likewise.
1537 * c-pretty-print.c (pp_c_type_specifier): New function.
1538 (pp_c_specifier_qualifier_list): Likewise.
1539 (pp_c_abstract_declarator): Likewise.
1540 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
1541
032613df
DE
15422002-08-12 David Edelsohn <edelsohn@gnu.org>
1543
1544 * doc/trouble.texi (Disappointments): Add static constructor and
1545 destructor dependency information for AIX.
1546
a3737481
NB
15472002-08-12 Neil Booth <neil@daikokuya.co.uk>
1548
1549 * cpphash.h (struct printer): New from cppmain.c.
1550 (cpp_reader): New member.
1551 * cppmain.c (struct printer): Move to cpphash.h.
1552 (options, print): Remove.
1553 (account_for_newlines, print_line, maybe_print_line,
1554 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
1555 scan_translation_unit_trad, cb_line_change, cb_ident,
1556 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
1557 cb_def_pragma): Make reentrant.
1558
d71f7700
KG
15592002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1560
1561 * real.c (ieee_64): Always define.
1562 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
1563 (dec_h): Not used yet, hide it.
1564 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
1565 macro controlling use.
1566 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
1567
c16576e6
JH
1568Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
1569
1570 * i386.md (tablejump): Sign extend the operand.
1571 * i386.c (classify_argument): Fix missed case from previous patch.
1572
460bd0e3
NB
15732002-08-12 Neil Booth <neil@daikokuya.co.uk>
1574
1575 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
1576 to c-copts.c.
1577 (warn_multichar): Die.
1578 (cb_register_builtins): Export.
1579 * c-common.h (warn_multichar, preprocess_file): Remove.
1580 (cb_register_builtins): New.
1581 * c-lang.c (c_init): Remove.
1582 (LANG_HOOKS_INIT): Use c_objc_common_init.
1583 * c-lex.c (init_c_lex): Don't canonicalize filename.
1584 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
1585 (preprocess_file): Make static. Update for cpplib.
1586 (c_common_decode_option): Remove warn_multichar. Use in_fname.
1587 (c_common_post_options): Set some cpp options here.
1588 (c_common_init): Move from c-common.c.
1589 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
1590 * cpplib.h (struct cpp_options): Remove in_fname.
1591 (cpp_preprocess_file): Update.
1592 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
1593
f3f268dd
KG
15942002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1595
1596 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
1597
f0201fba
KG
15982002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1599
1600 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
1601 backslash in comment preceeding macro definition.
1602 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
1603 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
1604 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
1605
e56fc090
HPN
16062002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
1607
1608 * expr.c (store_expr): In condition for checking if value is
1609 generated in TARGET, move call to expr_size last.
1610
76c3e73e
NB
16112002-08-11 Neil Booth <neil@daikokuya.co.uk>
1612
1613 * c-common.c (c_common_init): Call preprocess_file instead.
1614 (c_common_finish): Move to c-opts.c.
1615 * c-common.h (preprocess_file): new.
1616 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
1617 check_deps_environment_vars, c_common_finish): New.
1618 (c_common_decode_option): Update for out_fname and dependencies.
1619 * cppinit.c (init_dependency_output, output_deps): Remove.
1620 (cpp_destroy): Update prototype.
1621 (cpp_add_dependency_target): New.
1622 (cpp_read_main_file): Don't overlay a buffer.
1623 (cpp_finish): Take a deps output stream and write deps to it.
1624 Return the error count.
1625 (cpp_post_options): Don't canonicalize out_fname, or do anything
1626 with dependencies.
1627 * cpplib.h (struct cpp_options): Remove out_fname and
1628 preprocess_only.
1629 (cpp_add_dependency_target): New.
1630 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
1631 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
1632 set preprocess_only. Don't handle the output stream directly.
1633
e0c32c62
KG
16342002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1635
1636 * dsp16xx.c (print_operand): Fix format specifier.
1637 * dsp16xx.md: Avoid automatic aggregate initialization.
1638 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
1639 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
1640 integer constant modifier.
1641 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
1642 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
1643 guards.
1644 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
1645 * v850.c (v850_select_section): Mark parameter with
1646 ATTRIBUTE_UNUSED.
1647 * global.c (global_alloc): Const-ify.
1648 * ra-colorize.c (hardregset_to_string): Fix format specifier.
1649
7ae8cf75
KG
16502002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1651
1652 * darwin-c.c (darwin_pragma_options): Const-ify.
1653 * darwin.c (machopic_non_lazy_ptr_name,
1654 machopic_validate_stub_or_non_lazy_ptr): Likewise.
1655 (machopic_indirect_data_reference): Wrap variables in macros
1656 controlling their use.
1657 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
1658 (machopic_select_section): Use parentheses around && within ||.
1659 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
1660
8819cab5
KG
16612002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1662
1663 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
1664 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
1665 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
1666 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
1667 mdr_try_remove_redundant_insns, track_w_reload,
1668 mdr_try_wreg_elim): Make function static to match prototype.
1669 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
1670 parameter with ATTRIBUTE_UNUSED.
1671
ab2877a3
KG
16722002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1673
1674 * arc.c (arc_init): Don't use ISO C style function definitions.
1675 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
1676 arm_get_strip_length, arm_strip_name_encoding): Likewise.
1677 * avr.h (progmem_section): Likewise.
1678 * h8300.c h8300_asm_insn_count): Likewise.
1679 * m32r.c (init_idents): Likewise.
1680 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
1681 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
1682 * xtensa.c (xtensa_build_va_list): Likewise.
1683
08767a6f
NB
16842002-08-11 Neil Booth <neil@daikokuya.co.uk>
1685
1686 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
1687 * c-opts.c (parse_option): Rename find_opt.
1688 (set_std_c99): New function.
1689 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
1690 (missing_arg): Remove OPT_std_bad. Handle -o.
1691 (c_common_decode_option): Handle input and output file names,
1692 -o and -remap. Clean up -std= handling.
1693 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
1694 (cpp_handle_option): Similarly. Don't handle filenames.
1695
db01f480
JH
1696Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
1697
1698 * i386.c (classify_argument): Fix computing of field's offsets.
1699
a7701995
AJ
17002002-08-11 Andreas Jaeger <aj@suse.de>
1701
1702 PR target/7531:
1703 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
1704
2516f236
ZL
17052002-08-10 Ziemowit Laski <zlaski@apple.com>
1706
1707 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
1708 reference to clk_objective_c with flag_objc.
1709 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
1710 Likewise.
1711 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
1712
f749a36b
NB
17132002-08-10 Neil Booth <neil@daikokuya.co.uk>
1714
1715 * c-opts.c (set_std_cxx98, set_std_c89): New.
1716 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
1717 (c_common_decode_option): Handle new switches from cppinit.c.
1718 Add -std=gnu++98.
1719 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
1720 (no_arg, no_num): Remove.
1721 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
1722 switches apart from -lang-objc and lang-asm.
1723 (cpp_handle_option): Similarly.
1724 * cpplib.h (cpp_set_lang): New.
1725 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
1726 -std=gnu++98.
1727 * objc/lang-specs.h: Remove -ansi.
1728
77abb5d8
JH
1729Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
1730 Graham Stott
1731
1732 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
1733 errors.
1734
fac37dc4
KG
17352002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1736
d950dee3
KG
1737 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
1738 emit_jump_insn): Fix uninitialized variable.
1739 * gcov.c (init_line_info): Likewise.
1740 * genautomata.c (transform_3): Add braces around ambiguous
1741 else.
1742 * ifcvt.c (cond_exec_process_insns): Mark parameter with
1743 ATTRIBUTE_UNUSED.
1744 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
1745 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
1746 variable.
1747
fac37dc4
KG
1748 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
1749 warnings in output files.
1750
0f7866e7
ZL
17512002-08-09 Ziemowit Laski <zlaski@apple.com>
1752
1753 * c-common.c (flag_objc): New.
1754 * c-common.h (c_language_kind): Get rid of clk_objective_c
1755 enum value.
1756 (flag_objc): New extern declaration.
1757 * c-decl.c (implicitly_declare): Call objc_check_decl
1758 instead of maybe_objc_check_decl.
1759 (finish_decl): Likewise.
1760 (grokfield): Likewise.
1761 (finish_struct): Likewise.
1762 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
1763 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 1764 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
1765 objc_message_selector.
1766 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
1767 replace with flag_objc as needed.
1768 * c-opts.c (c_common_init_options): Likewise.
1769 (c_common_decode_option): Likewise.
1770 * c-parse.in (init_reswords): Likewise.
1771 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
1772 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 1773 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
1774 objc_message_selector.
1775 * c-typeck.c (comptypes): Call objc_comptypes instead of
1776 maybe_objc_comptypes, and/or objc_message_selector instead of
1777 maybe_building_objc_message_expr.
1778 (comp_target_types): Likewise.
1779 (convert_for_assignment): Likewise.
1780 (warn_for_assignment): Likewise.
1781 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
1782 independently of those for other languages.
1783 * objc/objc-act.c (maybe_objc_comptypes): Delete.
1784 (maybe_objc_check_decl): Delete.
a7701995 1785 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
1786 objc_message_selector.
1787 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
1788 clk_objective_c; set flag_objc flag.
1789
c512fd7b
TM
17902002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
1791
1792 * ifcvt.c (find_if_case_2): Test correct basic block for size.
1793
5e1bf043 17942002-08-09 Dale Johannesen <dalej@apple.com>
c512fd7b 1795
5e1bf043
DJ
1796 * config/rs6000/rs6000.md: Add sibcall patterns.
1797 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
1798 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
1799 Rewritten to handle sibcalls.
1800 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
1801 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
1802
2043c38e
NS
18032002-08-08 Nathan Sidwell <nathan@codesourcery.com>
1804
1805 * profile.c (da_file_name): New static var.
1806 (init_branch_prob): Initialize it.
1807 (end_branch_prob): Remove da file.
1808
1809 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
41685063 1810 * configure.in (coverage_flags): Default to nothing.
2043c38e
NS
1811 * configure: Rebuilt.
1812
4b7091eb
NB
18132002-08-09 Neil Booth <neil@daikokuya.co.uk>
1814
1815 * Makefile.in (c-opts.o): Update
1816 * c-opts.c: Include intl.h.
1817 (print_help): Move from cppinit.c. Remove unused options.
1818 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
1819 (missing_arg): Complain for switches without an argument.
1820 (c_common_decode_option): Reject missing joined arguments.
1821 Handle new switches from cppinit.c.
1822 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
1823 (cpp_handle_option): Similarly.
1824 (print_help): Moved to c-opts.c.
1825 * cpplib.h (struct cpp_options): Remove help_only.
1826 * gcc.c (cpp_unique_options): Remove -$.
1827 * doc/cppopts.texi: Undocument -h.
1828
9e20be0c
JJ
18292002-08-08 Jakub Jelinek <jakub@redhat.com>
1830
1831 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
1832 legitimate constant.
1833 (legitimate_pic_operand_p): Neither pic operand.
1834 (legitimate_address_p): But legitimate address.
1835 (get_thread_pointer): Generate MEM/u instead of CONST around
1836 UNSPEC_TP.
1837 (print_operand): Remove printing of UNSPEC_TP.
1838 (print_operand_address): And print it here.
1839
7b9be5c7 18402002-08-08 Devang Patel <dpatel@apple.com>
9e20be0c 1841
a7701995
AJ
1842 * objc/objc-act.c (build_selector_translation_table): Issue warning,
1843 when -Wselector is used,if method for which selector is being
7b9be5c7 1844 created does not exist.
a7701995 1845
5615d8fd
SC
18462002-08-08 Stephen Clarke <stephen.clarke@superh.com>
1847
1848 * config/sh/sh.c (prepare_move_operands): Only call
1849 target_reg_operand if TARGET_SHMEDIA.
a7701995 1850
3b85fe5f
JJ
18512002-08-08 Jakub Jelinek <jakub@redhat.com>
1852
1853 * config/rs6000/rs6000.h, config/rs6000/aix.h,
1854 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
1855 two patches.
1856 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
1857
e10c79fe
LB
18582002-08-08 Lars Brinkhoff <lars@nocrew.org>
1859 Richard Henderson <rth@redhat.com>
1860
1861 * emit-rtl.c (gen_rtx_REG): After reload, only return
1862 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
1863
aa2a83dc
JJ
18642002-08-08 Jakub Jelinek <jakub@redhat.com>
1865
1866 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
1867 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
1868 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
1869 macro.
1870
aeaf4d25
AN
18712002-08-08 Adam Nemet <anemet@lnxw.com>
1872
1873 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
1874 register.
1875 (thumb_expand_prologue): Likewise.
1876 (thumb_output_function_prologue): Likewise.
1877 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
1878 the additional push of the PIC register.
1879
22aa533e
NS
18802002-08-08 Nathan Sidwell <nathan@codesourcery.com>
1881
1882 * configure.in (enable_coverage): New enable switch.
1883 * configure: Rebuilt.
1884 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
1885 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
1886 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
1887 (mostlyclean): Remove coverage files.
1888 * doc/install.texi: Document enable_coverage.
1889
1890 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
1891 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
1892 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
1893 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
1894 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
1895 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
1896 files.
a7701995 1897
18bdccaa
NB
18982002-08-08 Neil Booth <neil@daikokuya.co.uk>
1899
1900 * c-opts.c (cpp_opts): New.
1901 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
1902 (c_common_decode_options): Handle cpplib switches.
1903 (c_common_init_options): Set cpp_opts.
1904 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
1905 (cpp_handle_option): Similarly.
1906
774b5662
DE
19072002-08-08 David Edelsohn <edelsohn@gnu.org>
1908
1909 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
1910 (TARGET_ALTIVEC_ABI): Same.
1911 (TARGET_ALTIVEC_VRSAVE): Same.
1912
1913 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
1914 icode not CODE_FOR_nothing. Change switch to if.
1915
957e9e48
AM
19162002-08-08 Alan Modra <amodra@bigpond.net.au>
1917
1918 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
1919
daf06049
JJ
19202002-08-08 Jakub Jelinek <jakub@redhat.com>
1921
1922 * stor-layout.c (place_union_field): For bitfields if
1923 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
1924 TYPE_USER_ALIGN.
1925
043d39a6
JDA
19262002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
1927
1928 * pa.c (struct deferred_plabel): Constify name field.
1929
34bb92e3
NB
19302002-08-07 Neil Booth <neil@daikokuya.co.uk>
1931
1932 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
1933
3ec5d64d
JDA
19342002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
1935
1936 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
1937 local_prefix are the same.
1938 * configure: Rebuilt.
1939
ad9335eb
JJ
19402002-08-07 Jakub Jelinek <jakub@redhat.com>
1941 Richard Henderson <rth@redhat.com>
1942
1943 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
1944 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
1945 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
1946 (place_field): Likewise.
1947 * config/i386/i386.c (x86_field_alignment): Don't check
1948 DECL_USER_ALIGN here.
1949 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
1950 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
1951 prototype.
1952 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
1953 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
1954 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
1955 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
1956 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
1957 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
1958
0b6f2917
NB
19592002-08-07 Neil Booth <neil@daikokuya.co.uk>
1960
1961 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
1962 * c-common.c: Don't include tree-inline.h.
1963 (c_common_init_options, c_common_post_options): Move to c-opts.c.
1964 * c-common.h (c_common_decode_option): New.
1965 * c-decl.c (c_decode_option): Remove.
1966 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
1967 * c-opts.c: New file.
1968 * c-tree.h (c_decode_option): Remove.
1969 * doc/passes.texi: Update.
1970 * objc/objc-act.c (objc_decode_option): Remove.
1971 * objc/objc-act.h (objc_decode_option): Remove.
1972 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
1973 c_common_decode_option.
1974
e49ec17d
CD
19752002-08-07 Chris Demetriou <cgd@broadcom.com>
1976
1977 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
1978 dependency on TARGET_DOUBLE_FLOAT.
1979
ac1ca451
SC
19802002-08-07 Stephen Clarke <stephen.clarke@superh.com>
1981
1982 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
1983 overwrite callee-save registers. Fix comment.
1984
af34e51e
CD
19852002-08-06 Chris Demetriou <cgd@broadcom.com>
1986
1987 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
1988 in target_flags based on ISA, if it was not set on the command
1989 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
1990 support Branch Likely instructions.
1991 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
1992 (TARGET_BRANCHLIKELY): Likewise.
1993 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
1994 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
1995 ISA_HAS_BRANCHLIKELY.
1996 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
1997 * doc/invoke.texi: Document new MIPS -mbranch-likely and
1998 -mno-branch-likely options.
1999
2631af95
KG
20002002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2001
f538618e
KG
2002 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
2003
2631af95
KG
2004 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
2005 $(GCONFIG_H).
2006
1ae0ccb6
AH
20072002-08-06 Aldy Hernandez <aldyh@redhat.com>
2008
8537ed68
ZW
2009 * c-decl.c (duplicate_decls): Error out for incompatible TLS
2010 declarations.
1ae0ccb6 2011
8537ed68 2012 * testsuite/gcc.dg/tls/diag-3.c: New.
1ae0ccb6 2013
f1a044c7
JM
20142002-08-06 Jason Merrill <jason@redhat.com>
2015
2016 * c-common.c (c_expand_expr) [STMT_EXPR]: If the last expression is
2017 a VAR_DECL with RTL that matches the target, just return that RTL.
2018
8d3e27d1
DJ
20192002-08-06 Dale Johannesen <dalej@apple.com>
2020 * c-common.c (fname_decl): Use line number 0 for
8537ed68 2021 __func__, to avoid confusing debuggers.
8d3e27d1 2022
8b219a76
NS
20232002-08-06 Nathan Sidwell <nathan@codesourcery.com>
2024
2025 * gcov.c: Tidy.
2026 (struct line_info, struct coverage): New structures.
2027 (gcov_file_name, gcov_file): Remove globals.
2028 (output_data): Take source file parameter. Fix memory leak. Break
2029 up into ...
2030 (init_line_info, output_line_info, make_gcov_file_name,
2031 accumulate_branch_counts): ... here.
2032 (calculate_branch_probs, function_summary): Adjust.
2033 (main): Adjust.
2034 (function_*): Remove global variables.
2035
317e98c0
NB
20362002-08-06 Neil Booth <neil@daikokuya.co.uk>
2037
2038 * dwarf2out.c: Remove unused macros.
2039
81d41e74
NB
20402002-08-06 Neil Booth <neil@daikokuya.co.uk>
2041
2042 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
2043
58551c23
NB
20442002-08-06 Neil Booth <neil@daikokuya.co.uk>
2045
2046 * cppinit.c (struct lang_flags): Rename trigraphs std.
2047 (set_lang): Update.
2048 * cpplib.h (struct cpp_options): New member std.
2049 * cppmacro.c (_cpp_builtin_macro_text): Use std.
2050 (collect_args): Flag whether to swallow a possible future
2051 comma pasted with varargs.
2052 (replace_args): Use this flag.
2053 * doc/cpp.texi: Update varargs extension documentation.
2054
daeabcd0
JJ
20552002-08-06 Jakub Jelinek <jakub@redhat.com>
2056
2057 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
2058
39e3a681
JJ
20592002-08-06 Jakub Jelinek <jakub@redhat.com>
2060
9812691e
JJ
2061 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
2062 and MODE_CLASS_INT modes.
39e3a681 2063
609a87f3
JJ
20642002-08-06 Jakub Jelinek <jakub@redhat.com>
2065
2066 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
2067 --{enable,disable}-threads is given to configure.
2068 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
2069 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
2070 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
2071 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
2072 Remove thread_file setting here.
2073
ff4c5e7b
DE
20742002-08-06 David Edelsohn <edelsohn@gnu.org>
2075
2076 * doc/install.texi (Binaries): Update Bull Freeware URL.
2077
54f3aa9e
GP
20782002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2079
2080 * doc/gcc.texi (Top): Rename Index to Keyword Index.
2081
d19202ba
NS
20822002-08-05 Nathan Sidwell <nathan@codesourcery.com>
2083
2084 * gcov.c (output_data): Round to % to nearest, tweak formatting.
2085
1bed5ee3
JJ
20862002-08-05 Jakub Jelinek <jakub@redhat.com>
2087
2088 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
2089 of the operands into MINUS_EXPR if code is PLUS_EXPR.
2090
84512347
DR
20912002-08-05 Douglas B Rupp <rupp@gnat.com>
2092
2093 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
2094 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
2095 drectve_section): Define.
2096 * config/i386/t-interix: Replace interix.o rule with winnt.o.
2097 * config/i386/interix.c: Remove.
2098
b835f6f1
GK
20992002-08-05 Geoffrey Keating <geoffk@redhat.com>
2100
2101 * attribs.c: Don't include obstack.h.
2102 * builtins.c: Likewise.
2103 * cfganal.c: Likewise.
2104 * cfgbuild.c: Likewise.
2105 * cfgcleanup.c: Likewise.
2106 * emit-rtl.c: Likewise.
2107 * loop.c: Likewise.
2108 * stmt.c: Likewise.
2109
2110 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
2111
fd291392
GDR
21122002-08-05 Gabriel Dos Reis <gdr@nerim.net>
2113
2114 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
2115
054b7507
CD
21162002-08-04 Chris Demetriou <cgd@broadcom.com>
2117
2118 * doc/invoke.texi: Remove duplicated paragraph describing
2119 TARGET_SWITCHES.
2120
6d9f628e
GK
21212002-08-04 Geoffrey Keating <geoffk@redhat.com>
2122
2123 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
2124 * collect2.h (permanent_obstack): Delete declaration.
2125 * collect2.c (permanent_obstack): Delete definition.
2126 (main): Don't initialise permanent_obstack. Use xstrdup instead.
2127 * expr.c: Don't include obstack.h.
2128 (permanent_obstack): Delete declaration.
2129 * function.c: Don't include obstack.h.
2130 (permanent_obstack): Delete declaration.
2131 * integrate.c: Don't include obstack.h.
2132 (function_maybepermanent_obstack): Delete declaration.
2133 * print-tree.c (debug_tree): Use x*alloc not permalloc.
2134 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
2135 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
2136 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
2137 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
2138 of permalloc, expralloc, perm_calloc.
2139 * tree.c (permanent_obstack): Delete definition.
2140 (init_ttree): Rename from init_obstacks.
2141 (permalloc): Delete.
2142 (perm_calloc): Delete.
2143 (dump_tree_statistics): Don't print information about
2144 permanent_obstack.
2145 * varasm.c (assemble_start_function): Use xstrdup instead of
2146 permalloc/strcpy.
2147 (assemble_variable): Likewise.
2148 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
2149 permalloc.
2150 (unicosmk_add_extern): Likewise.
2151 * config/c4x/c4x.c (c4x_external_ref): Likewise.
2152 (c4x_global_label): Likewise.
2153 * config/frv/frv.c (frv_encode_section_info): Likewise.
2154 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
2155 (i386_pe_record_exported_symbol): Likewise.
2156 * config/mips/mips.c (mips_output_external): Likewise.
2157 (mips_output_external_libcall): Likewise.
2158 * config/pa/pa.c: (permanent_obstack): Delete declaration.
2159 (output_call): Use ggc_strdup instead of allocating on
2160 permanent_obstack.
2161 * config/romp/romp.c: Include ggc.h.
2162 (get_symref): Don't declare permanent_obstack, use ggc_strdup
2163 intead of permanent_obstack.
2164 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
2165 instead of permalloc.
2166 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
2167 instead of permalloc
2168 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
2169 instead of permalloc.
2170 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
2171 permalloc.
2172
36a05131
BS
21732002-08-04 Bernd Schmidt <bernds@redhat.com>
2174
2175 Contribute a port developed primarily by Michael Meissner,
2176 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
2177 * config.gcc: Add frv-elf target.
2178 * config/frv/cmovd.c: New file.
2179 * config/frv/cmovh.c: New file.
2180 * config/frv/cmovw.c: New file.
2181 * config/frv/frv-abi.h: New file.
2182 * config/frv/frv-asm.h: New file.
2183 * config/frv/frv-modes.def: New file.
2184 * config/frv/frv-protos.h: New file.
2185 * config/frv/frv.c: New file.
2186 * config/frv/frv.h: New file.
2187 * config/frv/frv.md: New file.
2188 * config/frv/frvbegin.c: New file.
2189 * config/frv/frvend.c: New file.
2190 * config/frv/lib1funcs.asm: New file.
2191 * config/frv/media.h: New file.
2192 * config/frv/modi.c: New file.
2193 * config/frv/t-frv: New file.
2194 * config/frv/uitod.c: New file.
2195 * config/frv/uitof.c: New file.
2196 * config/frv/ulltod.c: New file.
2197 * config/frv/ulltof.c: New file.
2198 * config/frv/umodi.c: New file.
2199 * config/frv/xm-frv.h: New file.
86a0cbcb
BS
2200
2201 * config/frv/media.h: Removed again.
2202
37b8715b
NS
22032002-08-04 Nathan Sidwell <nathan@codesourcery.com>
2204
2205 * gcov.c (bb_file_time): New static variable.
2206 (object_directory): May also be object file.
2207 (preserve_paths): New static variable.
2208 (print_usage): Adjust.
2209 (options): Adjust.
2210 (process_args): Adjust.
2211 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
2212 file. Find modification date on bb file.
2213 (read_profile): Don't rewind a NULL file.
2214 (format_hwint): New static function.
2215 (function_summary): Use format_hwint.
2216 (output_data): SOURCE_FILE_NAME is never relative to
2217 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
2218 mangling. Adjust output format to make it more machine readable.
2219 * doc/gcov.texi: Document & clarify semantics.
a7701995 2220
d500c5d7
JM
22212002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
2222
2223 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
2224
ea67fe71
NS
22252002-08-04 Nathan Sidwell <nathan@codesourcery.com>
2226
2227 * gcc.c (cc1_options): Pass output file as auxbase when
2228 appropriate.
2229 * profile.c (init_branch_prob): FILENAME has already had ending
2230 stripped.
2231 * final.c (end_final): Likewise.
2232 * toplev.c (aux_base_name): New global.
2233 (compile_file): Pass aux_base_name to init init_branch_prob and
2234 end_final.
2235 (independent_decode_option, case 'a'): New auxinfo options.
2236 (case 'd'): Protect against mising basename.
2237 (do_compile): Initialize aux_base_name.
2238 * toplev.h (aux_base_name): New global.
2239 * doc/invoke.texi: Adjust documentation.
2240
b23c054d
NS
22412002-08-04 Nathan Sidwell <nathan@codesourcery.com>
2242
2243 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
2244 of TARGET_ALIGN_DOUBLE.
2245
04c1334c 22462002-08-04 Gabriel Dos Reis <gdr@nerim.net>
a7701995 2247
04c1334c
GDR
2248 * diagnostic.c (inform): New function.
2249 * diagnostic.h (inform): Declare.
a7701995 2250
e34eaae5
DE
22512002-08-03 David Edelsohn <edelsohn@gnu.org>
2252
2253 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
2254 (movhi_internal): Same.
2255 (movqi_internal): Same.
2256 (movdi_internal64): Same.
2257
2258 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
2259
2260 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
2261 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
2262 (COMMON_ASM_OP): Define.
2263 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
2264 Use ALIGN parameter.
2265 (LOCAL_COMMON_ASM_OP): Define.
2266 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
2267
e7b489c8
RS
22682002-08-03 Roger Sayle <roger@eyesopen.com>
2269
2270 * builtins.def: Define new builtin functions exp, expf, expl,
2271 log, logf and logl (and their __builtin_* variants).
2272 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
2273 Define exp_optab and log_optab.
2274 * optabs.c (init_optans): Initialize exp_optab and log_optab.
2275 * genopinit.c (optabs): Implement exp_optab and log_optab
2276 using exp?f2 and log?f2 patterns.
2277 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
2278 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
2279 (expand_builtin): Ignore the new builtins (and all cos and
2280 sin variants) when not optimizing. Expand new builtins via
2281 expand_builtin_mathfn when flag_unsafe_math_optimizations.
2282
2283 * doc/extend.texi: Document new exp and log builtins.
2284 * doc/md.texi: Document new exp?f2 and log?f2 patterns
2285 (and previously undocumented cos?f2 and sin?f2 patterns).
2286
de8920be
JM
22872002-08-03 Jason Merrill <jason@redhat.com>
2288
2289 * explow.c (int_expr_size): New fn.
2290 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
2291 * expr.h: Declare it.
2292
ba462c8e
KW
22932002-08-02 Krister Walfridsson <cato@df.lth.se>
2294
2295 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
2296 gengtype-* dependencies.
2297
2017ed61
EC
22982002-08-02 Eric Christopher <echristo@redhat.com>
2299
2300 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
2301 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
2302 #ifndef to #undef.
2303 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
2304
055dd007
DE
23052002-08-02 David Edelsohn <edelsohn@gnu.org>
2306
2307 PR optimize/7067
2308 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
2309 small if optimizing for size.
2310
771a2a66
DJ
23112002-08-02 Daniel Jacobowitz <drow@mvista.com>
2312
2313 * configure.in (FORBUILD): Use $build_alias.
2314 * configure: Regenerated.
2315
ac8ab9fe
RS
23162002-08-02 Richard Sandiford <rsandifo@redhat.com>
2317
2318 * config.gcc: Don't include mips/abi64.h in $tm_file.
2319 * hard-reg-set.h (call_really_used_regs): Declare.
2320 * config/mips/abi64.h: Remove file.
2321 * config/mips/linux.h,
2322 * config/mips/iris6.h: Don't include it.
2323 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
2324 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
2325 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
2326 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
2327 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
2328 Bring across definitions from abi64.h.
2329 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
2330 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
2331 (struct mips_args): Use it.
2332 * config/mips/mips.c (mips_conditional_register_usage): Define.
2333
a77a9a18
JM
23342002-08-02 Jason Merrill <jason@redhat.com>
2335
2336 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
2337 * langhooks.c (lhd_expr_size): Define default.
2338 * langhooks.h (struct lang_hooks): Add expr_size.
2339 * explow.c (expr_size): Call it.
2340 * expr.c (store_expr): Don't copy an expression of size zero.
2341 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
2342 to store.
2343 * Makefile.in (builtins.o): Depend on langhooks.h.
2344
a6be5aee
KG
23452002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2346
2347 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
2348 * ra-debug.c: Include "tm_p.h".
2349 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
2350
e3e16ee3
TM
23512002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
2352
2353 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
2354 when not honoring signalling NaNs.
2355 (simplify_ternary_operation): a == b has a definite value
2356 when not honoring NaNs.
2357
b9d8832d
JM
23582002-08-02 Jason Merrill <jason@redhat.com>
2359
2360 * gdbinit.in (pct): New macro.
2361
825abef4
SS
23622002-08-01 Stan Shebs <shebs@apple.com>
2363 Andreas Tobler <toa@pop.agri.ch>
2364
2365 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
2366 plays nice with Darwin headers.
bf2e488f 2367 (_BSD_RUNE_T_DEFINED_): Likewise.
825abef4 2368
56da7207
ZW
23692002-08-01 Zack Weinberg <zack@codesourcery.com>
2370
2371 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
2372 * cppinit.c (cpp_post_options): Likewise.
2373
2374 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
2375 warning about 'LL' suffix (but not 'ULL' etc) when
2376 -Wno-long-long is in effect.
2377
2378 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
2379 Check for failing time()/localtime(), issue a warning, and
2380 make __TIME__ and __DATE__ expand to fallback strings.
2381
2382 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
2383 and __TIME__ when the date and time cannot be determined.
2384
f4857b9b
AM
23852002-08-02 Alan Modra <amodra@bigpond.net.au>
2386
2387 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
2388
77ca7b2e
DJ
23892002-08-01 Daniel Jacobowitz <drow@mvista.com>
2390
2391 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
2392
5b552f76
CD
23932002-08-01 Chris Demetriou <cgd@broadcom.com>
2394
2395 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
2396 (mipsisa64sb1el-*-elf*): Likewise.
2397 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
2398 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
2399 (TARGET_SB1, TUNE_SB1): New macros.
2400 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
2401 -mtune flags.
2402
54fbf6a1
DE
24032002-08-01 David Edelsohn <edelsohn@gnu.org>
2404
2405 * varasm.c (asm_emit_uninitialized): Return false if global BSS
2406 and ASM_EMIT_BSS not supported by target.
2407 (assemble_variable): Do not duplicate uninitialized logic.
2408 Fall through if asm_emit_uninitialized failed.
2409
3d16b407
CD
24102002-08-01 Chris Demetriou <cgd@broadcom.com>
2411
2412 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
2413
fb52d8de
AM
24142002-08-02 Alan Modra <amodra@bigpond.net.au>
2415
80926cc1
AM
2416 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
2417 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
2418
fb52d8de
AM
2419 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
2420 HOST_BITS_PER_WIDE_INT == 64.
2421
a4b5414c
KG
24222002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2423
2424 * df.c (df_insn_table_realloc): Change parameter to unsigned.
2425 * optabs.c (expand_binop): Make variable unsigned.
2426 * simplify-rtx.c (simplify_subreg): Likewise.
2427 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
2428
a03e67c3
FS
24292002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2430
2431 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
2432
de273d3f
RH
24332002-08-01 Richard Henderson <rth@redhat.com>
2434
56da7207 2435 * toplev.c (parse_options_and_default_flags): Don't set
de273d3f
RH
2436 flag_reorder_blocks for -Os.
2437
2438 * config/avr/avr.c (avr_optimization_options): Remove.
2439 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
2440 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
2441 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
2442
4e4d733e
L
24432002-08-01 H.J. Lu <hjl@gnu.org>
2444 Richard Henderson <rth@redhat.com>
2445
2446 * output.h (DECL_READONLY_SECTION): Remove.
2447 (decl_readonly_section): Declare.
2448 * varasm.c (decl_readonly_section): New.
2449 (default_section_type_flags, default_select_section): Use it.
2450 * config/arm/pe.c (arm_pe_unique_section): Likewise.
2451 * config/i386/interix.c (i386_pe_unique_section): Likewise.
2452 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
2453 * config/mcore/mcore.c (mcore_unique_section): Likewise.
2454 * config/mips/mips.c (mips_unique_section): Likewise.
2455
32e9b960
RH
24562002-08-01 Richard Henderson <rth@redhat.com>
2457
2458 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
2459 refers to a subroutine parameter.
2460
81e602b5
JJ
24612002-08-01 Jakub Jelinek <jakub@redhat.com>
2462
2463 * varasm.c (assemble_visibility): Strip name encoding.
2464
ac14c725
ID
24652002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
2466
2467 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
2468 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
2469 when there is no frame pointer.
2470 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
2471 registers properly.
2472 * config/ns32k/__unorddf2.c: New file.
2473 * config/ns32k/__unordsf2.c: New file.
2474 * config/ns32k/t-ns32k: New file.
2475 * config.gcc (ns32k-*-netbsd*): Use it.
2476
17072732
AH
24772002-08-01 Aldy Hernandez <aldyh@redhat.com>
2478
2479 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
2480
c288218a
NB
24812002-08-01 Neil Booth <neil@daikokuya.co.uk>
2482
2483 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
2484
43bfc248
BK
24852002-08-01 Benjamin Kosnik <bkoz@redhat.com>
2486
2487 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
2488
479f2cea
RS
24892002-08-01 Richard Sandiford <rsandifo@redhat.com>
2490
2491 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
2492
02280659
ZD
24932002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2494
2495 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
2496 n_sets): Removed.
2497 (expr_hash_table, set_hash_table): Type changed to ...
2498 (struct hash_table): New type.
2499 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
2500 insert_expr_in_table, insert_set_in_table, compute_hash_table,
2501 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
2502 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
2503 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
2504 (alloc_hash_table): New.
2505 (free_set_hash_table, free_expr_hash_table): Merged to ...
2506 (free_hash_table): New.
2507 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
2508 (compute_hash_table_work): New.
2509 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
2510 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
2511 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
2512 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
2513 hoist_code, one_code_hoisting_pass,
2514 trim_ld_motion_mems): Altered due to changed type of hash tables.
2515
905173eb
ZW
25162002-08-01 Zack Weinberg <zack@codesourcery.com>
2517
2518 * final.c (output_alternate_entry_point):
2519 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
2520
83321d36
KG
25212002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2522
ad0f1765
KG
2523 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
2524 avoid ISO C style function definition.
2525
83321d36
KG
2526 * expr.c (expand_assignment): Delete unused variable.
2527
73e42cf3
TM
25282002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
2529
2530 * c-common.c (cb_register_builtins): Set
2531 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
2532 is given, and to 0 otherwise.
2533 * combine.c (simplify_if_then_else): HONOR_NANS
2534 implies FLOAT_MODE_P.
2535
78df51fe
NB
25362002-08-01 Neil Booth <neil@daikokuya.co.uk>
2537
2538 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
2539 (cpp_handle_option): Don't handle it.
2540 (print_help): Update.
2541 * doc/cppopts.texi: Update.
2542
abecfc8f
NB
25432002-08-01 Neil Booth <neil@daikokuya.co.uk>
2544
2545 * c-common.c (cb_register_builtins): If C++, define
2546 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
2547 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
2548cp:
2549 * lang-specs.h: Simplify in accordance with new code in
2550 c-common.c.
2551
4078b403
NB
25522002-08-01 Neil Booth <neil@daikokuya.co.uk>
2553
2554 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
2555 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
2556 * c-decl.c: Move all warning and flag variables to c-common.c.
2557 * c-format.c: Move all warning variables to c-common.c.
2558 * c-tree.h: Move all warning and flag declarations to c-common.h.
2559 * objc/objc-act.c: Move all warning variables to c-common.c.
2560 (flag_warn_protocol): Rename warn_protocol.
2561
692f5611
JDA
25622002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
2563
2564 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
2565
c7a009a2 25662002-07-31 Graham Stott <graham.stott@btinternet.com>
480e7ded 2567
905173eb 2568 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
480e7ded
GS
2569 .section prefix.
2570
b069de3b
SS
25712002-07-31 Stan Shebs <shebs@apple.com>
2572
2573 * config.gcc (i[34567]86-*-darwin*): New configuration.
2574 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
2575 defining.
2576 (TARGET_ENCODE_SECTION_INFO): Ditto.
2577 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
2578 * config/darwin.c (machopic_indirect_data_reference): Remove
2579 setting of RTX_UNCHANGING_P.
2580 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
2581 not to be applied to sums.
2582 * config/i386/t-darwin: New file.
2583 * config/i386/darwin.h: New file.
2584 * config/i386/i386.h (TARGET_MACHO): Add default definition.
2585 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
2586 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
2587 label and not the GOT add.
2588 (constant_address_p): For Mach-O, seeing a CONST is enough.
2589 (legitimate_pic_address_disp_p): Add a Mach-O case.
2590 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
2591 (legitimize_pic_address): Use generic Mach-O code to legitimize.
2592 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
2593 if outputting a difference.
2594 (ix86_output_addr_diff_elt): Add Mach-O case.
2595 (ix86_expand_move): Similarly.
2596 (ix86_expand_call): Similarly.
2597 (current_machopic_label_num): New global.
2598 (machopic_output_stub): New function.
2599 (ix86_value_regno): New function.
2600 (ix86_function_value): Use it instead of VALUE_REGNO.
2601 (ix86_libcall_value): Ditto.
2602 * config/i386/unix.h (VALUE_REGNO): Remove.
2603
1de4ecb6
GS
26042002-07-31 Graham Stott <grahas@btinternet.com>
2605
2606 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
905173eb 2607 hash for LABEL_REF's.
1de4ecb6 2608
23368455
GS
26092002-07-31 Graham Stott <grahams@btinternet.com>
2610
2611 * config/rs6000/rs6000.c (spe_init_builtins,
2612 altivec_init_builtins, rs6000_common_init_builtins):
905173eb 2613 Replace ANSI with K&R function def.
23368455 2614
ad72b533
DE
26152002-07-31 David Edelsohn <edelsohn@gnu.org>
2616
2617 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
2618 for CCFPmode.
2619
302359da
RS
26202002-07-31 Richard Sandiford <rsandifo@redhat.com>
2621
2622 * config/mips/crtn.asm: Don't use __mips16 to determine the
2623 return-address offset. Define RA to a suitable temporary
2624 register for the return address.
2625
ead0c1d5
RS
26262002-07-31 Richard Sandiford <rsandifo@redhat.com>
2627
2628 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
2629 constraints to 'd'.
2630
3fb9d48a
CD
26312002-07-30 Chris Demetriou <cgd@broadcom.com>
2632
2633 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
2634 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
2635 patch on 2002-07-29.)
2636 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
2637
072cdaed
KG
26382002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2639
506a61b1
KG
2640 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
2641 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
2642 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
2643 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
2644 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
2645 (ASM_GLOBALIZE_LABEL): Delete.
2646 (GLOBAL_ASM_OP): Define.
2647
072cdaed 2648 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
905173eb 2649
072cdaed
KG
2650 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
2651 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
2652
6fd14075
GK
26532002-07-30 Geoffrey Keating <geoffk@redhat.com>
2654
2655 * doc/extend.texi (Hints implementation): Document that GCC
2656 mostly ignores `register'.
2657
2e8f2e8f
TM
26582002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
2659
2660 * flags.h: Declare flag_finite_math_only.
2661 Use it in definition of HONOR_NANS and
2662 HONOR_INFINITIES.
2663 * c-common.c (cb_register_builtins): Emit
2664 __FINITE_MATH_ONLY__ when flag_finite_math_only
2665 is set.
2666 * combine.c (simplify_if_then_else): If
2667 flag_finite_math_only is set, a == b has a
2668 definite value.
2669 * toplev.c: Initialize flag_finite_math_only.
2670 (set_flags_fast_math): Set it on -ffast-math.
2671 (flag_fast_math_set_p): Test it.
2672 * doc/invoke.texi: Document -ffinite-math-only.
2673
a538e580
RH
26742002-07-30 Richard Henderson <rth@redhat.com>
2675
2676 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
2677 (noce_process_if_block): Likewise.
2678
26e20555
BS
26792002-07-30 Bernd Schmidt <bernds@redhat.com>
2680
2681 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
2682 Bail out early if false_expr is NULL and we'd crash due to this.
79cbc1f7
BS
2683 * genemit.c (gen_expand): Recognize return insns even if the return
2684 appears in a parallel.
d8088c6f
BS
2685 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
2686 * config/fp-bit.c: Likewise.
2687 * doc/tm.texi: Document it.
905173eb 2688
0559cc77
DE
26892002-07-30 David Edelsohn <edelsohn@gnu.org>
2690 Zack Weinberg <zack@codesourcery.com>
2691
2692 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
2693 CODE_FOR_nothing. Change switch to if.
2694 (rs6000_expand_binop_builtin): Same.
2695 (rs6000_expand_builtin): Expand builtin if target support enabled.
2696 (rs6000_init_builtins): Init builtin if target support enabled.
2697 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
2698
60b8aa94
FS
26992002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2700
2701 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
2702
714fb710
RS
27032002-07-30 Richard Sandiford <rsandifo@redhat.com>
2704
2705 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
2706
c608a684
R
2707Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
2708
2709 * sh.md (cond_delay_slot): New attribute.
2710 (cbranch delay): Use it for anulled-true case.
2711 (stuff_delay_slot): New pattern.
2712 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
2713 delay slot insn.
2714 (gen_far_branch): Emit stuff_delay_slot pattern.
2715
0a756401
R
2716Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
2717
2718 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
2719
68e82b83
KH
27202002-07-30 Kazu Hirata <kazu@cs.umass.edu>
2721
2722 * fold-const.c: Fix comment typos.
2723 * gcse.c: Likewise.
2724 * reload1.c: Likewise.
2725
fe6b547a
AH
27262002-07-29 Aldy Hernandez <aldyh@redhat.com>
2727
2728 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
2729 for TARGET_SPE.
2730
7ff4a7ef
GDR
27312002-07-30 Gabriel Dos Reis <gdr@nerim.net>
2732
2733 * c-pretty-print.h (pp_c_statement): Declare.
2734 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
2735 (pp_c_statement): Define.
2736
4ad5e05d
KG
27372002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2738
2739 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
2740 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
2741 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
2742 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
2743 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
2744 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
2745
2746 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
2747 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
2748
1e6a3e1e
GDR
27492002-07-30 Gabriel Dos Reis <gdr@nerim.net>
2750
2751 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
2752 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
2753 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
2754 (pp_c_expression): Update.
2755
1dcd444b
KG
27562002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2757
2758 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
2759 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
2760 * alpha/vms-ld.c (main): Likewise.
2761 * dsp16xx.c (double_reg_to_memory): Likewise.
2762 * mcore.c (mcore_expand_prolog): Likewise.
2763 * cppfiles.c (read_name_map): Likewise.
2764 * gensupport.c (process_rtx, identify_predicable_attribute,
2765 alter_test_for_insn): Likewise.
2766 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
2767
e62f4abc
RS
27682002-07-29 Roger Sayle <roger@eyesopen.com>
2769
2770 * builtins.c (expand_builtin): Change the default behavior to
905173eb 2771 only issue an error if the builtin function doesn't have a
e62f4abc
RS
2772 fallback library call. Remove several cases handled by the
2773 new default.
2774
0cd2fb44
JDA
27752002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
2776
2777 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
2778 floating point format of the target is IEEE.
2779 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
2780 format of the target is DEC.
2781
b642261e
RH
27822002-07-29 Richard Henderson <rth@redhat.com>
2783
2784 * unroll.c (verify_addresses): Remove.
2785 (find_splittable_givs): Never split DEST_ADDR givs.
2786
cba57c9d
GK
27872002-07-29 Geoffrey Keating <geoffk@redhat.com>
2788
2789 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
2790 is exhaustive.
2791 (Files): Improve documentation on generated source files.
2792
2793 * doc/extend.texi (Translation implementation): Document what
2794 diagnostics look like.
2795 (Identifiers implementation): Document that there's normally no
2796 limit on identifier names.
2797 (Integers implementation): Document two's complement.
2798 (Hints implementation): Document that GCC honours 'inline', mostly.
2799 (Preprocessing directives implementation): Document that GCC
2800 requires the current time.
2801
76a8ecba
GDR
28022002-07-30 Gabriel Dos Reis <gdr@nerim.net>
2803
2804 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
2805 (pp_initializer): New macro.
2806 (pp_c_initializer): Declare.
2807 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
2808 (pp_c_initializer): Define.
2809 (pp_c_initializer_list): New function.
2810 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
2811 VECTOR_CST, CONSTRUCTOR.
2812 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
905173eb 2813 IMAGPART_EXPR.
76a8ecba
GDR
2814 (pp_c_cast_expression): Handle FLOAT_EXPR.
2815 (pp_c_assignment_expression): Handle INIT_EXPR.
2816 (pp_c_expression): Update.
2817
4307be72
NB
28182002-07-30 Neil Booth <neil@daikokuya.co.uk>
2819
2820 * objc/objc-act.c (objc_init): Return immediately if filename
2821 is NULL.
2822
6d439235
EC
28232002-07-29 Eric Christopher <echristo@redhat.com>
2824
905173eb
ZW
2825 * config/mips/elf.h: Remove ecoff.h and gofast includes.
2826 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
2827 (SDB_DEBUGGING_INFO): Undefine.
2828 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
6d439235
EC
2829 (PUT_SDB_SIZE): Remove.
2830 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
905173eb
ZW
2831 (STARTFILE_SPEC): Add isa3264 define.
2832 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
2833 * config/mips/ecoff.h: Remove. and here...
2834 * config/mips/iris3.h: and here...
2835 * config/mips/sni-svr4.h: and here...
2836 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
6d439235
EC
2837 Add assembler -mmdebug options for non-dwarf debugging.
2838 * config/mips/r3900.h: Remove debug info defines.
905173eb
ZW
2839 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
2840 * config/mips/isa3264.h: Ditto.
2841 * config/mips/t-isa3264: Fix up for file removal and gofast configure
2842 change.
2843 * config/mips/t-elf: Ditto.
2844 * config/mips/t-ecoff: Ditto.
2845 * config/mips/t-r3900: Ditto.
2846 * config/mips/t-iris5-6: Ditto.
2847 * config/mips/t-isa3264: Ditto.
2848 * config/mips/t-linux: Remove.
2849 * config/mips/t-netbsd: Remove.
2850 * config/mips/t-mips: New file.
2851 * config/mips/t-gofast: Ditto.
2852 * config/mips/netbsd.h: Remove unnecessary undefines.
2853 * config/mips/linux.h: Remove #include of mips.h.
2854 * config.gcc: Add mips.h include for elf targets. Remove tm_file
2855 for ecoff. Add gofast configure option for mips.
6d439235 2856
4357a6c3
CD
28572002-07-29 Chris Demetriou <cgd@broadcom.com>
2858
2859 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
2860 linker scripts use STARTUP directives consistently.
2861 * configure: Regenerate.
2862 * config.in: Regenerate.
2863 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
2864 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
2865 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
2866 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
2867 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
2868 will be the same.
2869
9a5cd606
AH
28702002-07-29 Aldy Hernandez <aldyh@redhat.com>
2871
2872 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
2873
a23acaa6
AH
28742002-07-29 Aldy Hernandez <aldyh@redhat.com>
2875
2876 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
2877
10ed84db
AH
28782002-07-29 Aldy Hernandez <aldy@quesejoda.com>
2879
2880 * config/rs6000/rs6000.md: Move altivec patterns from here...
2881
2882 * config/rs6000/altivec.md: ...to here.
2883
c3021e5d
AH
28842002-07-29 Aldy Hernandez <aldyh@redhat.com>
2885
2886 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
2887
6f1087be
RH
28882002-07-29 Richard Henderson <rth@redhat.com>
2889
2890 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
2891 set_mem_attributes and add BITPOS argument. Subtract it from
2892 OFFSET when same is adjusted.
2893 (set_mem_attributes): New wrapper function.
2894 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
2895 remove offset adjustment hack.
2896 * expr.h (set_mem_attributes_minus_bitpos): Declare.
2897
61ccbcfd
GDR
28982002-07-29 Gabriel Dos Reis <gdr@nerim.net>
2899
2900 * Makefile.in (C_OBJS): Include c-pretty-print.o
2901 (c-pretty-print.o): Add depency rule.
2902 * pretty-print.h: Add more macros.
2903 * c-pretty-print.c: New file.
2904 * c-pretty-print.h: Likewise.
2905
09101f56
AH
29062002-07-29 Aldy Hernandez <aldyh@redhat.com>
2907
2908 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
2909 constants to __ev64_s32__.
2910 (__internal_ev_mwhgsmian): Same.
2911 (__internal_ev_mwhgsmfan): Same.
2912 (__internal_ev_mwhgssfan): Same.
2913 (__internal_ev_mwhgumiaa): Same.
2914 (__internal_ev_mwhgsmiaa): Same.
2915 (__internal_ev_mwhgsmfaa): Same.
2916 (__internal_ev_mwhgssfaa): Same.
2917
af673a52
DE
29182002-07-29 David Edelsohn <edelsohn@gnu.org>
2919
2920 * varasm.c (assemble_variable): Narrow test for uninitialized
2921 without BSS target support.
2922
6c208acd
NS
29232002-07-29 Nathan Sidwell <nathan@codesourcery.com>
2924
2925 * profile.c: Add file comment describing the overall algorithm and
2926 structures.
2927 (struct edge_info): Add comments.
2928 (struct bb_info): Add comments.
2929 * basic-block.h (EDGE_*): Add comments.
2930 * doc/gcov.texi (Gcov Data Files): Document bit flags.
2931
624f0d60
BW
29322002-07-29 Bob Wilson <bob.wilson@acm.org>
2933
2934 * config/xtensa/elf.h, config/xtensa/linux.h
2935 (TARGET_OS_CPP_BUILTINS): Define.
2936 (CPP_PREDEFINES): Remove.
2937 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
2938 (CPP_SPEC): Remove.
2939
2199e5fa
ZW
29402002-07-29 Zack Weinberg <zack@codesourcery.com>
2941
2942 * gensupport.c: Include hashtab.h.
2943 (insn_elision, condition_table, hash_c_test, cmp_c_test,
2944 maybe_eval_c_test): New routines and data structures to
2945 support insn elision.
2946 (init_md_reader): Read and initialize the condition_table.
2947 (read_md_rtx): Discard insn patterns whose C test is provably
2948 always false.
2949 * gensupport.h: Declare new functions and data structures.
2950
2951 * genconditions.c, dummy-conditions.c: New files.
2952 * Makefile.in: Build genconditions; run it to construct
2953 insn-conditions.c; build that and link it into most gen*
2954 programs.
2955 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
2956 (GEN): Delete, unused.
2957 (STAGESTUFF): Update.
2958
2959 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
2960 CODE_FOR_nothing for all elided patterns.
2961 (main): Tweaked to support this.
2962 * genflags.c (gen_proto): Emit a static inline generator
2963 function here for all elided patterns, which simply returns
2964 NULL_RTX.
2965 (gen_insn): Do not define HAVE_xxx for elided patterns.
2966 (main): Tweaked to support this. No need to forward-declare
2967 struct rtx_def.
2968 * genrecog.c: Do not bother emitting the C test if it's known
2969 to be true at compile time.
2970
6ab185d6
MS
29712002-07-29 Mike Stump <mrs@apple.com>
2972
6d439235 2973 * config.gcc (target_gtfiles): Initialize, as otherwise cross
2199e5fa 2974 compilers hosted on powerpc-apple-darwin6.0 won't even build.
6ab185d6 2975
72b075d1
RE
29762002-07-29 Richard Earnshaw <rearnsha@arm.com>
2977
2978 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
2979 remove clobber of LR.
2980 (sibcall_insn, sibcall_value_insn): Update accordingly.
2981 (sibcall_epilogue): Remove debugging comment from assembler stream.
2982
f63c45ec
GDR
29832002-07-29 Gabriel Dos Reis <gdr@nerim.net>
2984
2985 * pretty-print.h: Define more macros.
2986 * diagnostic.h (output_formatted_integer): Moved from...
2987 * diagnostic.c: ... here.
2988
c27c15db
KG
29892002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2990
2991 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
2992
99086d59
ZW
29932002-07-28 Zack Weinberg <zack@codesourcery.com>
2994
2995 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
2996 arguments. Always use ".-symbol" as expression argument.
2997 * doc/tm.texi: Update to match. Document requirement for
2998 ".size symbol, .-symbol" to be acceptable to assembler.
2999
3000 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
3001 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
3002 config/i386/freebsd-aout.h, config/i386/sco5.h,
3003 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
3004 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
3005
dd86aabf
KG
30062002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3007
6fd327e9
KG
3008 * Makefile.in (gengtype-lex.c): Fix error in last change.
3009
8155cedd
KG
3010 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
3011 backslash.
3012
dd86aabf
KG
3013 * Makefile.in (vmsdbgout.o): Depend on function.h.
3014
3015 * vmsdbgout.c: Include function.h.
3016
d4348177
AM
30172002-07-28 Alan Modra <amodra@bigpond.net.au>
3018
3019 * prefix.c (update_path): Don't strip single `.' path components
3020 unless stripping a later `..' component. Exit loop as soon as
3021 a valid path is found.
3022
c2ef6d34
RS
30232002-07-27 Roger Sayle <roger@eyesopen.com>
3024
3025 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
3026 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
3027 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
3028 floating point unordered comparisons (e.g. __builtin_isgreater)
3029 as const, and leave the remaining GCC_BUILTINs unchanged.
3030
3031 * c-decl.c (builtin_function): No need to explicitly mark
3032 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
3033
52bfebf0
RS
30342002-07-27 Roger Sayle <roger@eyesopen.com>
3035
3036 * Makefile.in: rtlanal.o now depends upon real.h.
3037
3038 * flags.h [flag_signaling_nans]: New flag.
3039 [HONOR_SNANS]: New macro.
3040
3041 * toplev.c [flag_signaling_nans]: Initialize to false.
99086d59 3042 (f_options): Add processing for "-fsignaling-nans".
52bfebf0
RS
3043 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
3044 (process_options): flag_signaling_nans implies flag_trapping_math.
3045
3046 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
3047 when -fsignaling-nans. First step to implementing WG14's N965.
3048
3049 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
3050 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
3051 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
3052
3053 * simplify-rtx.c (simplify_relational_operation): Conditionalize
3054 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
3055
3056 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
3057 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
99086d59
ZW
3058 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
3059 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
52bfebf0
RS
3060 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
3061
3062 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
3063
e66f55b8
KG
30642002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3065
3066 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
3067 * gengtype-lex.l (YY_USE_PROTOS): Undef.
3068 (YY_DECL): Define.
3069
a3926fe1
RS
30702002-07-27 Roger Sayle <roger@eyesopen.com>
3071
3072 * doc/invoke.texi: Document that both -fno-builtin-foo and
3073 -fno-builtin are supported by the g++ front-end.
3074
ef69da62
SS
30752002-07-27 Stan Shebs <shebs@apple.com>
3076
3077 * configure.in: Rename config_gtfiles to target_gtfiles.
3078 * configure: Regenerate.
3079 * doc/gty.texi: Update reference.
3080 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
3081 instead of appending to it.
3082
a4b0320c
AH
30832002-07-25 Aldy Hernandez <aldyh@redhat.com>
3084
3085 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
3086 vectors are split into two registers.
3087 (function_arg): Same.
3088
c427db5d
R
3089Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
3090
3091 * pa.md (extv): Check predicates before emitting extv_32.
3092
57ac7be9
AM
30932002-07-27 Alan Modra <amodra@bigpond.net.au>
3094
3095 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
3096 (rs6000_traceback): New var.
3097 (rs6000_override_options): Set rs6000_traceback.
3098 (rs6000_output_function_epilogue): Implement traceback options.
3099 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
3100 (rs6000_traceback_name): Declare.
3101
3102 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
3103 label reference when NO_PROFILE_COUNTERS.
3104
8e51619a
JM
31052002-07-26 Jason Merrill <jason@redhat.com>
3106
3107 * function.c (assign_parms): Handle frontend-directed pass by
3108 invisible reference.
3109
b41f25cf
NB
31102002-07-26 Neil Booth <neil@daikokuya.co.uk>
3111
3112 * doc/cppopts.texi: Update.
3113
c2734e05
NB
31142002-07-26 Neil Booth <neil@daikokuya.co.uk>
3115
3116 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
3117 warnings on assertions.
3118
c372b0fa
NB
31192002-07-26 Neil Booth <neil@daikokuya.co.uk>
3120
3121 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
3122 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
3123 RID_COMPL): Remove.
3124 * c-parse.in (rid_to_yy): Similarly.
3125
558ee214
JM
31262002-07-26 Jason Merrill <jason@redhat.com>
3127
3128 * c-dump.c: Resurrect.
3129 * tree-dump.c: Move C-specific stuff to c-dump.c.
3130 * c-common.h: Declare c_dump_tree.
3131 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
3132 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
3133 (c-dump.o): New rule.
3134
ce71f754
AM
31352002-07-26 Alan Modra <amodra@bigpond.net.au>
3136
3137 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
3138 PowerPC64. Replace "T" and "S" constraints with "n" when the
3139 predicate will do. Formatting fixes.
3140 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
3141 as for extzvsi_internal1.
3142
e179e7d7
NB
31432002-07-25 Neil Booth <neil@daikokuya.co.uk>
3144
3145 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
3146 DERIV_END_LABEL_FMT): Remove.
3147 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
3148
a2056183
NB
31492002-07-25 Neil Booth <neil@daikokuya.co.uk>
3150
3151 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
3152 Remove.
3153
308c142a
SS
31542002-07-25 Stan Shebs <shebs@apple.com>
3155
3156 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
3157 local var dwarfp.
3158 (output_compiler_stub): Remove unused locals.
3159 (output_call): Always initialize line number.
3160
59324685
R
3161Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
3162
3163 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
3164 * sh.md (truncdiqi2, movqi_media): Likewise.
3165
77bbd421
NB
31662002-07-25 Neil Booth <neil@daikokuya.co.uk>
3167
3168 * gcse.c (obstack_chunk_alloc): Remove.
3169 (gcse_alloc): Fix to count allocated bytes.
3170 * collect2.c (SYMBOL__MAIN): Remove.
3171
7bad45b0
NB
31722002-07-25 Neil Booth <neil@daikokuya.co.uk>
3173
3174 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
3175 HAVE_TARGET_EXECUTABLE_SUFFIX.
3176
184166b5
R
3177Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
3178
3179 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
3180 SIZE, EXPR and OFFSET.
3181
40cb04f1
RH
31822002-07-25 Richard Henderson <rth@redhat.com>
3183
3184 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
3185 in ARRAY_REF of DECL_P case.
3186
a27fb29b
RS
31872002-07-25 Richard Sandiford <rsandifo@redhat.com>
3188
3189 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
3190 description. Document -mips32, -mips64, and the associated -march
3191 values. Describe the "mipsN" arguments to -march. Say that the
3192 -mipsN options are equivalent to -march. Reword the description
3193 of default type sizes.
3194 * toplev.h (target_flags_explicit): Declare.
3195 * toplev.c (target_flags_explicit): New var.
3196 (set_target_switch): Update target_flags_explicit.
3197 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
3198 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
3199 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
3200 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
3201 * config/mips/mips.h (mips_cpu_info): New struct.
3202 (mips_cpu_string, mips_explicit_type_size_string): Remove.
3203 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
3204 (MIPS_CPP_SET_PROCESSOR): New macro.
3205 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
3206 Define _MIPS_ARCH and _MIPS_TUNE.
3207 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
3208 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
3209 MIPS_ISA_DEFAULT were already defined.
3210 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
3211 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
3212 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
3213 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
3214 (ABI_GAS_ASM_SPEC): Remove.
3215 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
3216 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
3217 Invoke %(asm_abi_default_spec) if no ABI was specified.
3218 (CC1_SPEC): Remove ISA -> register-size rules.
3219 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
3220 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
3221 (mips_cpu_string, mips_explicit_type_size_string): Remove.
3222 (mips_cpu_info_table): New array.
3223 (mips_set_architecture, mips_set_tune): New fns.
3224 (override_options): Rework to make -mipsN equivalent to -march.
3225 Detect more erroneous cases, including those removed from CC1_SPEC.
3226 Don't change the ABI based on architecture, or vice versa.
3227 Unify logic with GAS.
3228 (mips_asm_file_start): Get architecture name from mips_arch_info.
3229 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
3230 (mips_parse_cpu): Take the name of the option as argument. Handle
3231 'from-abi'. Raise an error if the option is wrong.
3232 (mips_cpu_info_from_isa): New fn.
3233
6bbdc759
RS
32342002-07-25 Richard Sandiford <rsandifo@redhat.com>
3235
3236 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
3237 (tablejump_mips162): Likewise.
3238
80a62484
R
3239Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
3240
3241 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
3242 int_mode_for_mode.
3243
ea793912
GDR
32442002-07-25 Gabriel Dos Reis <gdr@nerim.net>
3245
3246 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
99086d59 3247 complaining.
ea793912
GDR
3248 * c-common.h (c_sizeof): Adjust definition.
3249 (c_alignof): Likewise.
3250 * c-tree.h (c_sizeof_nowarn): Now macro.
3251 * c-typeck.c (c_sizeof_nowarn): Remove definition.
3252
2d615444
NB
32532002-07-25 Neil Booth <neil@daikokuya.co.uk>
3254
3255 * c-decl.c (c_decode_option): No need to handle switches
3256 cpplib handles.
3257
2be2ac70
ZW
32582002-07-24 Zack Weinberg <zack@codesourcery.com>
3259
3260 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
3261 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
3262 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
3263 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
3264
3265 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
3266 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
3267 config/cris/aout.h, config/i386/freebsd-aout.h,
3268 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
3269 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
3270 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
3271 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
3272 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
3273 config/xtensa/elf.h, config/xtensa/linux.h:
3274 Use the new macros.
3275 Where possible, remove redundant definitions of SIZE_ASM_OP,
3276 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
3277
518878e1
AH
32782002-07-24 Aldy Hernandez <aldyh@redhat.com>
3279
3280 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
3281 TARGET_ISEL, and TARGET_FPRS.
99086d59 3282
518878e1
AH
3283 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3284 -mabi=spe, -mabi=no-spe, and -misel=.
3285
3286 * config/rs6000/rs6000-protos.h: Add output_isel.
3287 Move vrsave_operation prototype here.
3288
3289 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
3290 (smaxsi3): Same.
3291 (uminsi3): Same.
3292 (umaxsi3): Same.
3293 (abssi2_nopower): Disallow when TARGET_ISEL.
3294 (*ne0): Same.
3295 (negsf2): Change to expand and rename old pattern to *negsf2.
3296 (abssf2): Change to expand and rename old pattern to *abssf2.
99086d59 3297
518878e1
AH
3298 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
3299 fixunssfsi2.
3300
3301 Change patterns that check for TARGET_HARD_FLOAT or
3302 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
3303
3304 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
3305 rs6000_isel, rs6000_fprs, rs6000_isel_string.
3306 (rs6000_override_options): Add 8540 case to
3307 processor_target_table.
3308 Set rs6000_isel for the 8540.
3309 Call rs6000_parse_isel_option.
3310 (enable_mask_for_builtins): New.
3311 (rs6000_parse_isel_option): New.
3312 (rs6000_parse_abi_options): Add spe and no-spe.
3313 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
3314 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
3315 for TARGET_HARD_FLOAT.
3316 Add case for SPE_VECTOR_MODE.
3317 (rs6000_legitimize_reload_address): Handle SPE vector modes.
3318 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
3319 vector modes.
3320 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
3321 (rs6000_emit_move): Check for TARGET_FPRS.
3322 Add cases for SPE vector modes.
3323 (function_arg_boundary): Return 64 for SPE vector modes.
3324 (function_arg_advance): Check for TARGET_FPRS and
3325 Handle SPE vectors.
3326 (function_arg): Same.
3327 (setup_incoming_varargs): Check for TARGET_FPRS.
3328 (rs6000_va_arg): Same.
3329 (struct builtin_description): Un-constify mask field. Move up in
3330 file.
3331 (bdesc_2arg): Un-constify and add SPE builtins.
3332 (bdesc_1arg): Same.
3333 (bdesc_spe_predicates): New.
3334 (bdesc_spe_evsel): New.
3335 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
3336 (rs6000_expand_binop_builtin): Same.
3337 (bdesc_2arg_spe): New.
3338 (spe_expand_builtin): New.
3339 (spe_expand_predicate_builtin): New.
3340 (spe_expand_evsel_builtin): New.
3341 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
3342 (rs6000_init_builtins): Initialize SPE builtins. Call
3343 rs6000_common_init_builtins.
3344 (altivec_init_builtins): Move all non-altivec builtin code to...
3345 (rs6000_common_init_builtins): ...here. New function.
3346 (branch_positive_comparison_operator): Allow NE code for SPE.
3347 (ccr_bit): Return correct ccr bit for SPE fp.
3348 (print_operand): Emit crnor in 'D' case for SPE.
3349 New case 't'.
3350 Add SPE code for 'y' case.
3351 (rs6000_generate_compare): Generate rtl for SPE fp.
3352 (output_cbranch): Handle SPE hard floats.
3353 (rs6000_emit_cmove): Handle isel.
3354 (rs6000_emit_int_cmove): New.
3355 (output_isel): New.
3356 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
3357 64-bits for SPE.
3358 (debug_stack_info): Add SPE info.
3359 (gen_frame_mem_offset): New.
3360 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
3361 Change mode of frame pointer, when saving it, to Pmode.
3362 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
3363 Misc cleanups and use gen_frame_mem_offset when appropriate.
3364
3365 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
3366 (TARGET_SPE_ABI): New.
3367 (TARGET_SPE): New.
3368 (TARGET_ISEL): New.
3369 (TARGET_FPRS): New.
3370 (FIXED_SCRATCH): New.
3371 (RTX_COSTS): Add PROCESSOR_PPC8540.
3372 (ASM_CPU_SPEC): Add case for 8540.
3373 (TARGET_OPTIONS): Add isel= case.
3374 (rs6000_spe_abi): New.
3375 (rs6000_isel): New.
3376 (rs6000_fprs): New.
3377 (rs6000_isel_string): New.
3378 (UNITS_PER_SPE_WORD): New.
3379 (LOCAL_ALIGNMENT): Adjust for SPE.
3380 (HARD_REGNO_MODE_OK): Same.
3381 (DATA_ALIGNMENT): Same.
3382 (MEMBER_TYPE_FORCES_BLK): New.
3383 (FIRST_PSEUDO_REGISTER): Set to 113.
3384 (FIXED_REGISTERS): Add SPE registers.
3385 (reg_class): Same.
3386 (REG_CLASS_NAMES): Same.
3387 (REG_CLASS_CONTENTS): Same.
3388 (REGNO_REG_CLASS): Same.
3389 (REGISTER_NAMES): Same.
3390 (DEBUG_REGISTER_NAMES): Same.
3391 (ADDITIONAL_REGISTER_NAMES): Same.
3392 (CALL_USED_REGISTERS): Same.
3393 (CALL_REALLY_USED_REGISTERS): Same.
3394 (SPE_ACC_REGNO): New.
3395 (SPEFSCR_REGNO): New.
3396 (SPE_SIMD_REGNO_P): New.
3397 (HARD_REGNO_NREGS): Adjust for SPE.
3398 (VECTOR_MODE_SUPPORTED_P): Same.
3399 (REGNO_REG_CLASS): Same.
3400 (FUNCTION_VALUE): Same.
3401 (LIBCALL_VALUE): Same.
3402 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
3403 (SPE_VECTOR_MODE): New.
3404 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
3405 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
3406 (rs6000_stack): Add spe_gp_size, spe_padding_size,
3407 spe_gp_save_offset.
3408 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
3409 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
3410 (SPE_CONST_OFFSET_OK): New.
3411 (rs6000_builtins): Add SPE builtins.
3412
3413 * testsuite/gcc.dg/ppc-spe.c: New.
99086d59 3414
518878e1
AH
3415 * config/rs6000/eabispe.h: New.
3416
3417 * config/rs6000/spe.h: New.
3418
3419 * config/rs600/spe.md: New.
3420
3421 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
3422 __SIMD__ for TARGET_SPE.
3423
3424 * config.gcc: Add powerpc-*-eabispe* case.
3425 Add spe.h to user headers for powerpc.
3426
8d1b7ba1
CD
34272002-07-24 Chris Demetriou <cgd@broadcom.com>
3428
3429 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
3430 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3431 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
3432
8ad8135a
RH
34332002-07-24 Richard Henderson <rth@redhat.com>
3434
3435 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
3436 form when not optimizing.
3437
dc44a4d8
DM
34382002-07-24 David Mosberger <davidm@hpl.hp.com>
3439
3440 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
3441 thread_pointer_rtx as unchanging.
3442
c5605318
MM
34432002-07-24 Michael Matz <matz@suse.de>
3444
3445 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
3446 (free_reg): Use it.
3447
3ade30ea
RE
34482002-07-24 Richard Earnshaw <rearnsha@arm.com>
3449
3450 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
3451 pattern.
3452 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
3453 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
3454
8a3ad737
CD
34552002-07-24 Chris Demetriou <cgd@broadcom.com>
3456
3457 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
3458 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3459 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
3460
7e51e626
JH
3461Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
3462
3463 * toplev.c (rest_of_compilation): Dump loops before clobbering
3464 the structure.
3465
5df533b3
JH
3466Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
3467
3468 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
3469
79258dce
RS
34702002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
3471
3472 PR optimization/7291
3473 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
3474 problem on x86_64.
3475
26ff2117
GDR
34762002-07-24 Gabriel Dos Reis <gdr@nerim.net>
3477
3478 * pretty-print.h: Add macros from cp/error.c
3479
0ba1b2ff
AM
34802002-07-24 Alan Modra <amodra@bigpond.net.au>
3481
3482 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
3483 (mask64_2_operand): Declare.
3484 (build_mask64_2_operands): Declare.
3485 (and64_2_operand): Declare.
3486 (extract_MB): Declare.
3487 (extract_ME): Declare.
3488 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
3489 CONST_DOUBLE code.
3490 (mask_operand_wrap): New insn predicate.
3491 (mask64_2_operand): Likewise.
3492 (and64_2_operand): Likewise.
3493 (build_mask64_2_operands): New function.
3494 (extract_MB): New function.
3495 (extract_ME): New function.
3496 (print_operand <case m,M>): Use extract_MB and extract_ME.
3497 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
3498 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
3499 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
3500 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
3501 * config/rs6000/rs6000.md (andsi3_internal3): New
3502 (andsi3_internal3+1): Enable split for powerpc64.
3503 (andsi3_internal3+2): New split.
3504 (andsi3_internal4): Renamed old andsi3_internal3.
3505 (andsi3_internal5): New.
3506 (andsi3_internal5+1): Enable split for powerpc64.
3507 (andsi3_internal5+2): New split.
3508 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
3509 (anddi3): Handle 't' constraint.
3510 (anddi3+1): New split.
3511 (anddi3_internal2): Handle 't' constraint.
3512 (anddi3_internal2+1): New split.
3513 (anddi3_internal3): Handle 't' constraint.
3514 (anddi3_internal3+1): New split.
3515
097657c3
AM
35162002-07-24 Alan Modra <amodra@bigpond.net.au>
3517
3518 * config/rs6000/rs6000.md: Remove scratch reg on insns using
3519 addze and similar (plus (comparison r1 r2) r3) insns. Add
3520 missing scratch reg in one case. Formatting fixes.
3521
a69cbaac
NB
35222002-07-24 Neil Booth <neil@daikokuya.co.uk>
3523
3524 * cppexp.c (parse_defined): Mark macro used.
3525 * cpphash.h (struct cpp_macro): New member "used".
3526 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
3527 (struct cpp_reader): New member.
3528 * cppinit.c (cpp_finish_options): Set first_unused_line.
3529 (cpp_finish): Warn of unused macros if requested.
3530 (OPT_TABLE): New switches.
3531 (cpp_handle_option): Handle them.
3532 * cpplib.c (do_undef): Warn if macro unused.
3533 (do_ifdef, do_ifndef): Mark macro used.
3534 * cpplib.h (struct cpp_options): New member.
3535 * cppmacro.c (_cpp_warn_if_unused_macro): New.
3536 (enter_macro_context): Mark macro used.
3537 (_cpp_create_definition): Mark macro unused; warn if unused
3538 when redefined.
3539 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
3540 Mark macros used.
3541 * doc/cppopts.texi: Update.
3542
c0667597
NB
35432002-07-23 Neil Booth <neil@daikokuya.co.uk>
3544
3545 * dwarf2out.c (SECTION_ASM_OP,
3546 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
3547 * system.h (SECTION_ASM_OP): Poison.
3548 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
3549 * config/alpha/alpha-interix.h, config/mips/linux.h
3550 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
3551 * config/mmix/mmix-protos.h, config/mmix/mmix.c
3552 (mmix_asm_output_define_label_difference_symbol): Remove.
3553 * config/mmix/mmix.h
3554 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
b841421a 3555 * doc/tm.texi: Remove documentation.
c0667597 3556
bf7cd754
R
3557Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
3558
3559 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
3560 (constrain_operands): Likewise.
3561 * regclass.c (record_reg_classes): Likewise.
3562 * reload.c (find_reloads): Likewise.
3563 * doc/md.texi: Likewise.
451f86fd
R
3564
3565 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
3566 * simplify-rtx.c (simplify_subreg): When converting to a non-int
3567 mode, try to convert to an integer mode of matching size first.
1d5fa6b4
R
3568
3569 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
3570 from individual subregs, check that each subreg has been generated
3571 sucessfully.
3572
10d6af32
NB
35732002-07-23 Neil Booth <neil@daikokuya.co.uk>
3574
3575 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
3576 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
3577 FOR_EACH_BB_IN_SBITMAP): Remove.
3578 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
3579 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
3580 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
3581 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
3582 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
3583 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
3584
6aaae39a
GDR
35852002-07-23 Gabriel Dos Reis <gdr@nerim.net>
3586
3587 * pretty-print.h: New file.
3588
45e574d0
JDA
35892002-07-23 Paul Koning <pkoning@equallogic.com>
3590
3591 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
3592 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
3593 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
3594 (TARGET_G_FLOAT): Default to 0 if not defined.
99086d59 3595 (ieeetoe): New, common routine to convert target format floats
45e574d0
JDA
3596 to internal form.
3597 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
3598 vs. others.
3599 (e113toe): Change to use ieeetoe.
3600
36012002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
3602
3603 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
3604 IBM.
3605 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
3606 (e64toe): Remove special cases for DEC and IBM. Remove support for
3607 ARM_EXTENDED_IEEE_FORMAT.
3608 (e24toe): Remove special cases for DEC.
3609 (significand_size): Simplify. Indent.
3610 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
3611 (etoieee, toieee): New.
3612 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
3613 etoieee and toieee for IEEE arithmetic.
3614
3764f879
GDR
36152002-07-23 Gabriel Dos Reis <gdr@nerim.net>
3616
3617 * doc/extend.texi: Say ISO C90, not ISO C89.
3618 * doc/invoke.texi: Likewise.
3619 * doc/standards.texi: Likewise.
3620
aa0f70e6
SE
36212002-07-23 Steve Ellcey <sje@cup.hp.com>
3622
3623 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
3624 Fix permutation of conversion and plus/mult.
3625 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
3626 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
3627 (expand_builtin_strncpy) Ditto.
3628 (expand_builtin_memset) Ditto.
3629
fa72b064
GDR
36302002-07-23 Gabriel Dos Reis <gdr@nerim.net>
3631
3632 Fix PR/7363:
3633 * c-common.c (c_sizeof_or_alignof_type): New function.
3634 (c_alignof): Remove definition.
3635 * c-common.h (c_sizeof, c_alignof): Define as macros.
3636 (c_sizeof_or_alignof_type): Declare.
3637 (my_friendly_assert): Moved from cp/cp-tree.h
3638 * c-typeck.c (c_sizeof): Remove definition.
3639
2b773ee2
JH
36402002-07-23 Jan Hubicka <jh@suse.cz>
3641
3642 * gcse.c (try_replace_reg): Use num_changes_pending.
3643 * recog.c (num_changes_pending): New function.
3644 (validate_replace_src): Use validate_repalce_src_group.
3645 (validate_replace_src_group): New.
3646 * recog.h (validate_repalce_src_group): New.
3647 (num_changes_pending): Likewise.
3648
a0dc500c
R
3649Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
3650
3651 * calls.c (emit_library_call_value_1): If
3652 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
3653 libcall, const call nor pure call.
3654
d22eda7b
NB
36552002-07-23 Neil Booth <neil@daikokuya.co.uk>
3656
3657 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
3658
b5e66e65
NB
36592002-07-23 Neil Booth <neil@daikokuya.co.uk>
3660
3661 * vmsdbgout.c (SECTION_ASM_OP): Remove.
3662
c3a600c0
NB
36632002-07-23 Neil Booth <neil@daikokuya.co.uk>
3664
3665 * config/i386/i386.c (AT_BP): Remove.
3666
4fa31c2a
NB
36672002-07-23 Neil Booth <neil@daikokuya.co.uk>
3668
3669 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
3670 Default definition.
3671 * gcse.c: Don't define obstack_chunk_free.
3672 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
3673 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
3674 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
3675 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
3676 Don't define obstack macros.
3677
fd576c86
SC
36782002-07-22 Stephane Carrez <stcarrez@nerim.fr>
3679
3680 PR target/6744
3681 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
3682 ASM_OPERANDS instructions.
3683
b791ff31
SC
36842002-07-22 Stephane Carrez <stcarrez@nerim.fr>
3685
3686 PR target/7361
3687 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
3688 constant addresses only on 68HC12.
3689
4a941115
NB
36902002-07-22 Neil Booth <neil@daikokuya.co.uk>
3691
3692 * cppfiles.c (stack_include_file): Correct test of whether
3693 a dependency should be output.
3694
7488cc6d
DE
36952002-07-22 David Edelsohn <edelsohn@gnu.org>
3696
3697 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
3698
b41caf7c
RE
36992002-07-22 Richard Earnshaw <rearnsha@arm.com>
3700
3701 * arm.md (movqi): If optimizing and we can create pseudos, use
3702 a ZERO_EXTEND to load from memory, then copy the result into the
3703 target.
3704 (movhi): Likewise, but only for ARMv4.
3705
492e9934
NB
37062002-07-22 Neil Booth <neil@daikokuya.co.uk>
3707
3708 * ssa-ccp.c (PHI_PARMS): Remove.
3709
f01f01a6
RS
37102002-07-22 Richard Sandiford <rsandifo@redhat.com>
3711
3712 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
3713 on big-endian targets.
3714
c2ae8aef
KG
37152002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3716
3717 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
3718 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
3719 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
3720 New formatting macros.
3721
3722 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
3723
eab2120d
R
3724Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
3725
3726 * rtlanal.c (subreg_regno_offset): Return correct offset for
3727 big endian paradoxical subregs.
0d541696
R
3728
3729 * optabs.c (expand_vector_unop): Don't expand using sub_optab
3730 if we got the wrong mode.
bb9b3805
R
3731
3732 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
3733 * genrecog.c (write_switch, write_cond): Use it.
3734 * genemit.c (gen_exp): Likewise.
3735
e96eb215
JJ
37362002-07-22 Jakub Jelinek <jakub@redhat.com>
3737
3738 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
3739
cf3c4f56
JJ
37402002-07-22 Jakub Jelinek <jakub@redhat.com>
3741
3742 * c-decl.c (build_compound_literal): Defer compound literal decls
3743 until until file end to emit them only if they are actually used.
3744
533c4863
KG
37452002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3746
3747 * ra-build.c (check_conflict_numbers): Hide unused function.
3748 (livethrough_conflicts_bb): Avoid automatic aggregate
3749 initialization.
3750 (parts_to_webs_1): Avoid `U' integer constant modifier.
3751 (conflicts_between_webs): Wrap a variable in the macro controlling
3752 its usage.
3753 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
3754 (dump_igraph, dump_graph_cost): Avoid string concatenation
3755 (dump_static_insn_cost): Avoid automatic aggregate
3756 initialization.
3757 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
3758 initialization.
3759 (dump_cost): Avoid string concatenation
3760
8943a0b4
RH
37612002-07-21 Richard Henderson <rth@redhat.com>
3762
3763 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
3764 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
3765
b1aef35b
RH
37662002-07-21 Richard Henderson <rth@redhat.com>
3767
3768 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
3769 that are not unrolled completely.
3770
5e1afb11
RH
37712002-07-21 Richard Henderson <rth@redhat.com>
3772
3773 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
3774 * loop.c (strength_reduce): Update.
3775 * toplev.c (rest_of_compilation): Do unrolling in the first
3776 loop pass, not the second.
3777
c67a1cf6
RH
37782002-07-21 Richard Henderson <rth@redhat.com>
3779
3780 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
3781 when flag_argument_noalias == 2.
3782 * alias.c (nonoverlapping_memrefs_p): Handle that.
3783 * print-rtl.c (print_mem_expr): Likewise.
3784
b68daef4
HS
37852002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
3786
3787 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
3788 instead of __negdi2 directly.
3789
060a58c5
NB
37902002-07-21 Neil Booth <neil@daikokuya.co.uk>
3791
3792 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
3793 * function.c (SYMBOL__MAIN): Remove definition.
3794 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
99086d59 3795 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
060a58c5
NB
3796 * profile.c (GCOV_INDEX_TO_BB): Remove.
3797 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
3798 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
3799
2f8dd115
NB
38002002-07-21 Neil Booth <neil@daikokuya.co.uk>
3801
3802 * c-lex.c (GET_ENVIRONMENT): Remove.
3803 * collect2.c (GET_ENV_PATH_LIST): Remove.
3804 (prefix_from_env): Use GET_ENVIRONMENT.
3805 * cppinit.c (GET_ENV_PATH_LIST): Remove.
3806 (init_standard_includes): Use GET_ENVIRONMENT.
3807 * defaults.h (GET_ENVIRONMENT): Define here if not already.
3808 * gcc.c (GET_ENV_PATH_LIST): Remove.
3809 (make_relative_prefix, process_command): Update.
3810 * protoize.c (GET_ENV_PATH_LIST): Remove.
3811 (do_processing): Update.
3812
56508306
GDR
38132002-07-21 Gabriel Dos Reis <gdr@nerim.net>
3814
3815 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
3816 (grokdeclarator): Likewise.
3817 * c-format.c (C_STD_NAME): Likewise.
3818 * c-lex.c (interpret_integer): Likewise.
3819 * c-typeck.c (build_array_ref): Likewise.
3820 * cpplex.c (_cpp_lex_direct): Likewise.
3821 * toplev.c (documented_lang_options): Likewise.
3822
e2f62855
NB
38232002-07-21 Neil Booth <neil@daikokuya.co.uk>
3824
3825 * c-format.c (T99_I, T99_UI): Remove.
3826
c89d1dfd
NB
38272002-07-21 Neil Booth <neil@daikokuya.co.uk>
3828
3829 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
3830
46690369
JH
3831Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
3832
3833 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
3834 do_local_cprop.
3835
60ffc1b8
AJ
38362002-07-21 Andreas Jaeger <aj@suse.de>
3837
99086d59 3838 * reload1.c (fixup_abnormal_edges): Remove unused variable.
60ffc1b8 3839
c05ffc49
BS
38402002-07-21 Bernd Schmidt <bernds@redhat.com>
3841
3842 Improvements for the ifcvt pass from Michael Meissner, with patches
3843 by Richard Sandiford <rsandifo@redhat.com>
3844 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
3845 * ifcvt.c (cond_exec_changed_p): New static variable.
3846 (last_active_insn): New function, renamed from last_active_insn_p
3847 and changed to return the last active insn in a basic block. All
3848 callers updated.
3849 (block_fallthru): New function.
3850 (cond_exec_process_insns): New argument CE_INFO. Pass it to
3851 IFCVT_MODIFY_INSN. All callers updated.
3852 Return false if START or END are NULL.
3853 Handle case where we're processing an insn that is already
3854 conditional.
3855
3856 (noce_process_if_block): CE_INFO argument rather than
3857 multiple args containing the involved basic blocks. All callers
3858 changed.
3859 (process_if_block, merge_if_block, find_if_block,
3860 cond_exec_process_if_block): Likewise.
3861
3862 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
3863 changed.
3864 Use new function last_active_insn to simplify some code.
3865 New code to handle multiple tests.
3866 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
3867 cond_exec_changed_p to TRUE.
3868
3869 (process_if_block): New code to handle multiple tests.
3870 (merge_if_block): Likewise.
3871 (find_if_header): New arg PASS. Changed to return the currently
3872 processed basic block or NULL instead of true/false. All callers
3873 changed.
3874 Call IFCVT_INIT_EXTRA_FIELDS.
3875 (block_jumps_and_fallthru_p): New function.
3876 (find_if_block): Discover opportunities to convert multiple tests.
3877 Add additional debugging output.
3878 Update the ce_info structure before returning.
3879
3880 (if_convert): Run multiple passes of if-conversion.
3881 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
3882 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
3883 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
3884 these macros.
3885
ae860ff7
JH
3886Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
3887
3888 * gcse.c: Include cselib.h
3889 (constptop_register): Break out from ...
3890 (cprop_insn): ... here; kill basic_block argument.
3891 (do_local_cprop, local_cprop_pass): New functions.
3892 (one_cprop_pass): Call local_cprop_pass.
3893
0da65b89
RS
38942002-07-20 Roger Sayle <roger@eyesopen.com>
3895
3896 * simplify-rtx.c (simplify_relational_operation): Optimize
3897 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
3898
47cc673a
MM
38992002-07-20 Michae Matz <matz@suse.de>
3900
3901 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
3902
68e65275
NB
39032002-07-20 Neil Booth <neil@daikokuya.co.uk>
3904
3905 * cppexp.c (struct op): Add token pointer.
3906 (check_promotion, CHECK_PROMOTION): New.
3907 (optab): Update.
3908 (_cpp_parse_expr): Update, use token pointer of struct op.
3909 (reduce): Warn about change of sign owing to promotion.
3910 * cppinit.c (cpp_handle_option): New warning if -Wall.
3911 * cpplib.h (struct cpp_options): New member.
3912
e3485bbc
DE
39132002-07-19 David Edelsohn <edelsohn@gnu.org>
3914
3915 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
3916 fpu list. Separate Power4 compare and delayed_compare. Correct
3917 Power4 fpcompare.
3918 (fix_truncdfsi2_internal): Restore FPR preference.
3919 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
3920 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
3921
449655a6
MV
39222002-07-19 Momchil Velikov <velco@fadata.bg>
3923
3924 * reload1.c (reload_as_needed): Duplicate oldpat.
3925
8b583747
AM
39262002-07-20 Alan Modra <amodra@bigpond.net.au>
3927
3928 PR optimization/7130
3929 * loop.h (struct loop_info): Add "preconditioned".
3930 * unroll.c (unroll_loop): Set it.
3931 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
3932
0dc36574
ZW
39332002-07-19 Zack Weinberg <zack@codesourcery.com>
3934
3935 * rtl.def (CODE_LABEL): Remove slot 8.
3936 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
3937 (LABEL_ALTERNATE_NAME): Delete.
3938 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
3939 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
3940
3941 * final.c (output_alternate_entry_point): New.
3942 (final_scan_insn): Use it instead of
3943 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
3944 of a case label being an alternate entry point.
3945
3946 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
3947 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
3948 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
3949 (field deleted).
3950 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
3951
3952 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
3953 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
3954 * doc/tm.texi: Delete documentation of
3955 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
3956
59267987
RO
39572002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3958
3959 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
3960 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
3961 (LINK_SPEC): Define.
3962 (STARTFILE_SPEC): Define.
3963 (ENDFILE_SPEC): Define.
3964
3965 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
3966 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
3967
3968 * config/mips/iris6-o32-gas.h: New file.
3969 * config.gcc (mips-sgi-irix6*o32): Use it.
3970
3971 * config/mips/t-iris5-gas: New file.
3972 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
3973
75aef48a
NB
39742002-07-19 Neil Booth <neil@daikokuya.co.uk>
3975
3976 * cppexp.c (ALWAYS_EVAL): Remove.
3977 (optab, reduce): Always evaluate.
3978 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
3979 only if not skipping evaluation.
3980
72a5503d
MM
39812002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
3982
3983 * config/avr/avr.c (debug_hard_reg_set): Remove.
3984
059ba716
CD
39852002-07-19 Chris Demetriou <cgd@broadcom.com>
3986
3987 * gcc.c (cpp_options): Include "%1" (cc1_spec).
3988
544823b6
RH
39892002-07-19 Richard Henderson <rth@redhat.com>
3990
3991 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
3992
c35383cb
AM
39932002-07-19 Alan Modra <amodra@bigpond.net.au>
3994
3995 * prefix.c (update_path): Don't zap single `.' path components
3996 unless followed by another `.' and fix typo last patch.
3997
ad28cff7
NB
39982002-07-18 Neil Booth <neil@daikokuya.co.uk>
3999
4000 * cppexp.c (cpp_num_mul): Remove unused parameter.
4001 (UNARY, BINARY, OTHER, binary_handler): Remove.
4002 (ALWAYS_EVAL): New.
4003 (optab): Update.
4004 (reduce): Refactor to a large switch, don't use a function
4005 pointer.
4006
139b7f86
BT
40072002-07-18 Bo Thorsen <bo@berlioz.suse.de>
4008
4009 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
4010
e69d1422
R
4011Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
4012
4013 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
4014 (sh_expand_binop_v2sf): Likewise.
4015 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
4016 (int_gpr_dest, trunc_hi_operand): New functions.
4017 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
4018 trunc_hi_operand.
4019 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
4020 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
4021 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
4022 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
4023 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
4024 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
4025 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
4026 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
4027 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
4028 (movsf_ie+1): Likewise.
4029 (loaddi_trunc): Use int_gpr_dest predicate.
4030 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
4031 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
4032 (casesi_worker_0+[12], casesi_worker): Likewise.
4033 (shcompact_preserve_incoming_args): Likewise.
4034 (mov_nop): Use any_register_operand predicate.
4035 (mperm_w0): Use trunc_hi_operand predicate.
4036
47a4976f
JDA
40372002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
4038
4039 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
4040 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
4041 numbering.
4042
f3a4e54e
JDA
40432002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
4044
4045 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
4046
30484ccf
RH
40472002-07-18 Richard Henderson <rth@redhat.com>
4048
4049 PR optimization/7147
4050 * ifcvt.c (noce_get_condition): Make certain that the condition
4051 is valid at JUMP.
4052
d042370e
R
4053Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
4054
4055 * sh.c (barrier_align, push): Shut up compiler warnings.
4056 (initial_elimination_offset,sh_media_init_builtins): Likewise.
4057 (reg_no_subreg_operand): Delete.
4058
61fee9b3
BT
40592002-07-17 Bo Thorsen <bo@suse.de>
4060
4061 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
4062 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
4063 (STARTFILE_SPEC): Remove hardcoded library paths.
4064 (ENDFILE_SPEC): Likewise.
4065
f305679f
JH
4066Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
4067
4068 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
4069
4070 * gcse.c (try_replace_reg): Do not return false positives.
4071
99bcb625
AM
40722002-07-18 Alan Modra <amodra@bigpond.net.au>
4073
f6f23ad2
AM
4074 * prefix.c: (update_path): Strip ".." components when prior dir
4075 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
4076
99bcb625
AM
4077 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
4078 (ASM_OUTPUT_REG_POP): Likewise.
4079
09eeeacb
AM
40802002-07-18 Alan Modra <amodra@bigpond.net.au>
4081
4082 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
4083 adjustments to first_reg for profiling case.
4084 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
4085 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
4086 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
4087 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
4088 (ASM_OUTPUT_REG_POP): Define.
4089 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
4090 (ASM_OUTPUT_REG_POP): Undef.
4091
74d06cf2
NB
40922002-07-17 Neil Booth <neil@daikokuya.co.uk>
4093
4094 * cpplib.c (do_sccs): Handle #sccs on all systems.
4095 * system.h (SCCS_DIRECTIVE): Poison.
4096 * config/darwin.h, config/freebsd.h, config/netbsd.h,
4097 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
4098 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
4099 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
4100 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
4101 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
4102 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
4103 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
4104 Remove all references to SCCS_DIRECTIVE.
4105 * doc/cpp.texi, doc/tm.texi: Update.
4106
61dde664
R
4107Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
4108
4109 * regrename.c (maybe_mode_change): New function.
4110 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
4111
97f51ac4
RB
41122002-07-17 Rodney Brown <rbrown64@csc.com.au>
4113
4114 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
4115 suppress addition when either ct or cf are zero.
4116
f1a73cfe 41172002-06-17 Eric Botcazou <ebotcazou@multimania.com>
30484ccf 4118 Glen Nakamura <glen@imodulo.com>
f1a73cfe
EB
4119
4120 PR optimization/6713
4121 * loop.c (loop_givs_rescan): Explicitly delete the insn that
4122 sets a non-replaceable giv after issuing the new one.
4123
23ff0223
NB
41242002-07-17 Neil Booth <neil@daikokuya.co.uk>
4125
4126 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
4127 eval_token): Clarify and correct use of "bool" variables.
4128 * cpplib.h (struct cpp_options): Similarly.
4129 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
4130 * cpptrad.c (recursive_macro): Similarly.
4131
ac09192a
R
4132Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
4133
d28586ab 4134 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
ac09192a 4135 SHmedia code.
68cef009
R
4136
4137 * sh.md (cmpgtudi_media): Remove spurious @.
701e3726
R
4138
4139 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
4140 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
ca903bba
R
4141
4142 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
4143 * sh-protos.h (sh_initialize_trampoline): Declare.
4144 * sh.c (sh_initialize_trampoline): New function.
4145 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
4146 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
4147 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
4148 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
4149 * sh.md (initialize_trampoline, double_shori): New patterns.
4150 (initialize_trampoline_compact): Likewise.
4151 (shmedia32_initialize_trampoline_big): Remove.
4152 (shmedia32_initialize_trampoline_little): Likewise.
0ac78517
R
4153
4154 * sh-protos.h (binary_float_operator): Remove declaration.
4155 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
4156 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
4157 (unary_float_operator, sh_expand_unop_v2sf): New functions.
4158 (sh_expand_binop_v2sf): Likewise.
4159 (zero_vec_operand): Delete.
4160 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
4161 all non-shared ones.
4162 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
4163 Enable nsb and byterev.
4164 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
4165 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
4166 in general regs.
4167 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
4168 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
4169 immediate operands.
4170 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
4171 Add DF_HI_REGS.
4172 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
4173 lowpart fp regs - only for big endian for now.
4174 (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
4175 when FPU is in use.
4176 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
4177 (LOAD_EXTEND_OP): NIL for SImode.
4178 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
4179 general and fp registers is 4.
4180 PREDICATE_CODES: Amend binary_float_operator entry.
4181 Remove zero_vec_operand. Add unary_float_operator.
4182 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
4183 subreg SET_DEST.
4184 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
4185 (truncdiqi2): Do sign extension.
4186 (movsi_media, movdi_media): Allow to use r63 to an fp register.
4187 (movdf_media, movsf_media): Likewise.
4188 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
4189 Collapse to one define_insn_and_split. Allow immediate sources.
4190 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
4191 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
4192 (movv4sf): Allow immediate sources.
4193 (movsf_media_nofpu+1): Don't split moves to FP registers.
4194 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
4195 (movv8qi_i+3): Check against CONST0_RTX.
4196 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
4197 for input and output operands. Fix argument 3 to gen_mextr_rl.
4198 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
4199 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
4200 (mshf0_w, fipr, ftrv): Likewise.
4201 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
4202
e9d7b180
JD
42032002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4204
4205 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
4206 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
4207 * arm.c: Similarly.
4208
8214bf98
RS
42092002-07-17 Richard Sandiford <rsandifo@redhat.com>
4210
4211 * config/mips/mips-protos.h (mips_sign_extend): Declare.
4212 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
4213 (TARGET_SWITCHES): Remove debugh.
4214 (ISA_HAS_TRUNC_W): New macro.
4215 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
4216 (PREDICATE_CODES): Remove se_nonimmediate_operand.
4217 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
4218 any SImode move_operand.
4219 (se_nonimmediate_operand): Remove.
4220 (mips_sign_extend): New.
4221 (mips_move_2words): Use it for sign-extended source operands.
4222 (override_options): Allow integers to be put into single FPRs.
4223 (mips_secondary_reload_class): Handle integers in float registers.
4224 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
4225 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
4226 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
4227 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
4228 (fix_truncdfdi2): Provide only a single alternative, in which the
4229 integer is in a float register. Depend on TARGET_FLOAT64 rather
4230 than TARGET_64BIT.
4231 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
4232 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
4233 (movdi_internal2): Don't allow the source operand to be sign-extended.
4234 Add alternatives for float registers.
4235 (*movdi_internal2_extend): New. Version of movdi_internal2 that
4236 allows sign-extension.
4237 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
4238 (movsi_internal2): Rename to movsi_internal. Add alternatives for
4239 float registers. Remove TARGET_DEBUG_H_MODE test.
4240 (movhi_internal1): Rename to movhi_internal. Don't check
4241 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
4242 (movqi_internal1): Rename to movqi_internal and remove
4243 TARGET_DEBUG_H_MODE dependency.
4244 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
4245
7ab0121e
JW
42462002-07-16 Jim Wilson <wilson@redhat.com>
4247
4248 * toplev.c (lang_dependent_init): Create function context for
4249 init_expr_once.
4250
349ccf2e
HPN
42512002-07-16 Hans-Peter Nilsson <hp@axis.com>
4252
4253 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
4254 --gc-sections if -r.
4255 * config/cris/cris.h: Ditto.
4256
06ec023f
RB
42572002-07-16 Rodney Brown <rbrown64@csc.com.au>
4258
4259 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
4260 the comparison directly gives a mask suppress addition when cf is
4261 zero by complementing the mask.
4262
39cef914
NN
42632002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
4264
4265 * Makefile.in: Delete references to enquire.
4266 * enquire.c: Move to contrib.
4267
92c1a778
SS
42682002-07-16 Stan Shebs <shebs@apple.com>
4269
2aa9948d
SS
4270 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
4271 config/rs6000/darwin.h.
4272 (ASM_OUTPUT_SKIP): Ditto.
4273 (TEXT_SECTION_ASM_OP): Ditto.
4274 (DATA_SECTION_ASM_OP): Ditto.
4275 (ASM_APP_ON): Define.
4276 (ASM_APP_OFF): Define.
4277 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
4278 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
4279
4280 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
92c1a778
SS
4281 (machopic_function_base_name): Declare result to be const.
4282 (machopic_non_lazy_ptr_name): Ditto.
4283 (machopic_stub_name): Ditto.
2aa9948d 4284 * config/darwin-protos.h: Ditto for the prototypes.
92c1a778 4285
daaab00a
JH
4286Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
4287
4288 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
4289
63c574cc
JH
4290Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
4291
4292 * i386.md (prefetch): Fix for 64bit mode.
4293 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
4294
2a500b9e
JH
4295Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
4296
4297 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
4298 * i386.c (x86_machine_dependent_reorg): New function.
4299 * i386-protos.h (x86_machine_dependent_reorg): Declare.
4300
e5faf155
ZW
43012002-07-16 Zack Weinberg <zack@codesourcery.com>
4302
4303 * builtins.c (std_expand_builtin_va_start): Remove unused
4304 first argument.
4305 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
4306 std_expand_builtin_va_start with just two arguments.
4307 * expr.h: Update prototypes.
4308
4309 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
4310 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
4311 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
4312 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
4313 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
4314 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
4315 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
4316 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
4317 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
4318 argument from all implementations of EXPAND_BUILTIN_VA_START
4319 and all uses of std_expand_builtin_va_start.
4320
dbf65c2f
R
4321Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
4322
4323 * regrename.c (copy_value): Don't record high part copies.
4324
6acb6d3e 43252002-07-16 Steve Ellcey <sje@cup.hp.com>
99b823ca 4326
6acb6d3e
SE
4327 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
4328 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
4329 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
4330
5d7c2819
ID
43312002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
4332
4333 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
4334
4335 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
4336 into addsi3 using register class "x" and "y".
4337
4338 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
4339 "earlyclobber" constraint modifier for some alternative.
e5faf155 4340
5d7c2819
ID
4341 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
4342 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
4343 unordered.
4344 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
4345
4346 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
4347 (TARGET_SWITCHES): Add -mieee-compare option.
4348 (OVERRIDE_OPTIONS): 32332 is a subset of
4349 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
4350 (TARGET_SWITCHES): Fix description of bitfield option.
4351 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
4352 -mieee-compare option. Remove 32332 flag.
4353
5da4f548 43542002-07-16 Steve Ellcey <sje@cup.hp.com>
5d7c2819
ID
4355
4356 * explow.c (convert_memory_address): Remove special handling
5da4f548 4357 when POINTERS_EXTEND_UNSIGNED < 0.
5d7c2819 4358 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
5da4f548
SE
4359 (movedi_symbolic): Fix typo.
4360 (load_fptr): Remove mode restriction so it works for SI and DI.
4361 (load_fptr_internal1): Ditto.
4362 (load_gprel): Ditto.
4363 (load_symptr_internal1): Ditto.
4364 (call_pic): Ditto.
5d7c2819 4365 * config/ia64.c (call_operand): Modify mode check.
5da4f548
SE
4366 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
4367 (ia64_expand_move): Ditto.
4368 (ia64_assemble_integer): Handle SImode function pointers.
4369 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
4370 (ia64_expand_op_and_fetch): Ditto.
4371 (ia64_expand_compare_and_swap): Ditto.
4372 (ia64_expand_lock_test_and_set): Ditto.
4373 (ia64_expand_lock_release): Ditto.
4374
1575c31e
JD
43752002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4376
4377 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
4378
43792002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4380 Richard Earnshaw <rearnsha@arm.com>
4381
e5faf155 4382 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
1575c31e
JD
4383 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
4384
3894f59e
RE
43852002-07-16 Richard Earnshaw <rearnsha@arm.com>
4386
4387 * arm.md (stack_tie): New insn. Use an idiom that the alias code
4388 understands to be a memory clobber.
4389 * arm.c (arm_expand_prologue): Use it.
4390
e0b89be2 43912002-07-16 Daniel Berlin <dberlin@dberlin.org>
54b2a7f8
DB
4392
4393 * ra-rewrite.c: #include reload.h, insn-config.h
4394 * ra-build.c: #include reload.h
4395 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
e5faf155 4396 depend on reload.h, insn-config.h.
54b2a7f8 4397
cffa2189
R
4398Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
4399
4400 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
4401 the same size as a word.
4402
4403 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
4404 BYTES_BIG_ENDIAN into account.
4405
052c96b1
JH
4406Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
4407
4408 * i386.md (prefetch): Fix for 64bit mode.
4409 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
4410
4411 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
4412
ae32926b
MM
44132002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
4414
4415 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
4416
6c535c69
ZW
44172002-07-15 Zack Weinberg <zack@codesourcery.com>
4418
4419 * ginclude/varargs.h: Replace with stub which issues #error.
4420 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
4421 __builtin_va_start.
4422
4423 * builtins.def (BUILT_IN_VARARGS_START): Delete.
4424 (BUILT_IN_VA_START): New.
4425 * builtins.c (expand_builtin_va_start): Eliminate first
4426 argument and code to implement pre-ISO varargs.
4427 (std_expand_builtin_va_start): Ignore first argument; it is
4428 always 1.
4429 (expand_builtin): Handle BUILT_IN_VA_START and
4430 BUILT_IN_STDARG_START identically. Delete
4431 BUILT_IN_VARARGS_START case.
4432
4433 * function.c (assign_parms): Delete hide_last_arg and all
4434 its uses.
4435 (mark_varargs): Delete function.
4436 * function.h (struct function): Delete 'varargs' bit.
4437 (current_function_varargs): Delete macro.
4438 * tree.h: Don't declare mark_varargs.
4439
4440 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
4441 (c_expand_body): Don't call mark_varargs.
4442 * c-objc-common.c: Handle BUILT_IN_VA_START and
4443 BUILT_IN_STDARG_START identically. Delete
4444 BUILT_IN_VARARGS_START case.
4445 * c-tree.h: Don't declare c_mark_varargs.
4446 * c-parse.in: Remove grammar rules for '&...' (which has been
4447 commented out since before 2.7.2) and for '...' in K+R
4448 argument declarations.
4449
4450 * builtins.c, function.c, integrate.c, sibcall.c,
4451 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
4452 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
4453 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
4454 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
4455 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
4456 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
4457 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
4458 config/stormy16/stormy16.c: Delete all references to
4459 current_function_varargs, and code predicated on that flag.
4460
4461 * config/alpha/alpha.c (alpha_va_start),
4462 config/arc/arc.c (arc_va_start),
4463 config/i386/i386.c (ix86_va_start),
4464 config/mips/mips.c (mips_va_start),
4465 config/mn10300/mn10300.c (mn10300_va_start),
4466 config/rs6000/rs6000.c (rs6000_va_start),
4467 config/s390/s390.c (s390_va_start),
4468 config/sh/sh.c (sh_va_start),
4469 Ignore first argument; it is always 1.
4470
4471 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
4472 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
4473 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
4474 Delete m68hc11_va_start.
4475 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
4476 No need to define EXPAND_BUILTIN_VA_START.
4477
4478 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
4479 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
4480
6d80a854
EB
44812002-07-15 Eric Botcazou <ebotcazou@multimania.com>
4482
4483 PR optimization/7153
4484 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
4485 dies in more than one insn.
4486
043cfcbe
JT
44872002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
4488
4489 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
4490
ed8d2920 44912002-07-15 Michael Matz <matz@suse.de>,
6c535c69 4492 Daniel Berlin <dberlin@dberlin.org>,
ed8d2920
MM
4493 Denis Chertykov <denisc@overta.ru>
4494
4495 Add a new register allocator.
4496
4497 * ra.c: New file.
4498 * ra.h: New file.
4499 * ra-build.c: New file.
4500 * ra-colorize.c: New file.
4501 * ra-debug.c: New file.
4502 * ra-rewrite.c: New file.
4503
4504 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
4505 (ra-rewrite.o): New .o files for libbackend.a.
4506 (GTFILES): Add basic-block.h.
4507
4508 * toplev.c (flag_new_regalloc): New.
4509 (f_options): New option "new-ra".
4510 (rest_of_compilation): Call initialize_uninitialized_subregs()
4511 only for the old allocator. If flag_new_regalloc is set, call
4512 new allocator, instead of local_alloc(), global_alloc() and
4513 friends.
4514
4515 * doc/invoke.texi: Document -fnew-ra.
4516 * basic-block.h (FOR_ALL_BB): New.
4517 * config/rs6000/rs6000.c (print_operand): Write small constants
4518 as @l+80.
4519
4520 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
4521 (df_reg_table_realloc): Make size at least as large as max_reg_num().
4522 (df_insn_table_realloc): Size argument now is absolute, not relative.
4523 Changed all callers.
4524
4525 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
4526 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
4527
4528 2002-06-20 Michael Matz <matz@suse.de>
4529
4530 * df.h (struct ref.id): Make unsigned.
4531 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
4532
4533 2002-06-13 Michael Matz <matz@suse.de>
4534
4535 * df.h (DF_REF_MODE_CHANGE): New flag.
4536 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
4537 involving subregs with invalid mode changes, when
4538 CLASS_CANNOT_CHANGE_MODE is defined.
4539
4540 2002-05-07 Michael Matz <matz@suse.de>
4541
4542 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
4543
4544 2002-05-03 Michael Matz <matz@suse.de>
4545
4546 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
4547
4548 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
4549
4550 * regclass.c (regclass): Work with all regs which have sets or
4551 refs.
4552 (reg_scan_mark_refs): Count regs inside (clobber ...).
4553
4554 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
4555
4556 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
4557 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
4558 add new refs.
4559 (df_bb_refs_update): Don't clear insns_modified here, ...
4560 (df_analyse): ... but here.
4561
4562 * sbitmap.c (dump_sbitmap_file): New.
4563 (debug_sbitmap): Use it.
4564
4565 * sbitmap.h (dump_sbitmap_file): Add prototype.
4566
4567 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
4568
4569 * df.c (df_insn_modify): Grow the UID table if necessary, rather
4570 than assume all emits go through df_insns_modify.
4571
4572 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
4573
4574 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
4575 increase REG_N_REFS (like flow does), so that regclass doesn't
4576 think a reg is useless, and thus, not calculate a class, when it
4577 really should have.
4578
4579 2001-01-28 Daniel Berlin <dberlin@redhat.com>
4580
4581 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
4582 dataflow analysis.
4583
794a292d
JJ
45842002-07-15 Jakub Jelinek <jakub@redhat.com>
4585
4586 PR middle-end/7245
4587 * config/i386/i386.c (const_int_1_31_operand): New.
4588 * config/i386/i386.h (PREDICATE_CODES): Add it.
4589 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
4590 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
4591 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
4592
05d49501
AM
45932002-07-14 Alan Modra <amodra@bigpond.net.au>
4594
4595 PR target/7282
4596 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
4597 (floatunssidf2): Likewise.
4598 (floatsidf_ppc64): New insn_and_split.
4599 (floatunssidf_ppc64): Likewise.
4600
e89617fe
AJ
46012002-07-14 Andreas Jaeger <aj@suse.de>
4602
4603 * config.gcc (sh64): Remove unused
4604 target_requires_64bit_host_wide_int.
4605
78762e3b
RS
46062002-07-12 Roger Sayle <roger@eyesopen.com>
4607
4608 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
4609 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
4610 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
4611 whether clear_by_pieces should be used to clear storage.
4612 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
4613
4614 * doc/tm.texi: Document these two new target macros.
4615
f7a454e9
SC
46162002-07-12 Stephane Carrez <stcarrez@nerim.fr>
4617
4618 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
4619 the scratch register.
4620 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
4621 of it, forbid reload to use it.
4622
26af4041
MM
46232002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
4624
4625 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
4626 usage on 64-bit hosts, return value was truncated to 32 bits.
4627
226cfe61
R
4628Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
4629
4630 * simplify-rtx.c (simplify_subreg): Handle floating point
4631 CONST_DOUBLEs. When an integer subreg of a smaller mode than
4632 the element mode is requested, compute a subreg with an
4633 integer mode of the same size as the element mode first.
4634
25c25947
R
4635Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
4636
4637 * combine.c (try_combine): When converting a paradoxical subreg
4638 to an extension, take LOAD_EXTEND_OP into account.
4639
789b7de5
RO
46402002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4641
4642 * config.gcc (mips-sgi-irix6*o32): New configuration.
4643
4644 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
4645 configurations.
4646 * configure: Regenerate.
4647
4648 * config/mips/iris6-o32-as.h: New file.
4649 * config/mips/iris6-o32.h: New file.
e89617fe 4650
789b7de5
RO
4651 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
4652 (NM_FLAGS): Define.
4653 (HAVE_AS_SHF_MERGE): Undefine.
4654
4655 * config/mips/t-iris5-as: New file.
4656 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
4657
4658 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
4659 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
4660 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
4661 dp-bit.c, fp-bit.c): Move ...
4662 * config/mips/t-iris5-6: ... here.
4663 New file, shared by IRIX 5 and IRIX 6.
4664 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
4665 mips-sgi-irix5*): Use it.
4666
4667 * config/mips/iris6.h: Remove duplicate comment.
4668
4669 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
4670 !TARGET_IRIX6]: Define.
4671 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
4672
4673 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
4674
a18c2c5f
JDA
46752002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
4676
4677 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
4678 and delete code to force constant to register.
4679 * pa-protos.h (adddi3_operand): Add prototype.
4680 * pa.c (adddi3_operand): New function.
4681
e65a2d65
RS
46822002-07-11 Roger Sayle <roger@eyesopen.com>
4683
4684 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
4685 non-ANSI builtin functions.
4686
a06e3c40
R
4687Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
4688
4689 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
4690 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
4691 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
4692 (gen_const_vector_0): Use it.
4693
47abc309
JDA
46942002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
4695
4696 * pa.md (adddi3): For 32-bit targets, force constants to a register
4697 if they don't fit in an 11-bit immediate. Change insn predicate to
4698 arith11_operand. Remove comment.
4699 * pa.c (cint_ok_for_move): Fix comment.
4700 (emit_move_sequence): Don't directly split DImode constants on 32-bit
4701 targets.
4702
8ac9d31f
TJ
47032002-07-11 Tim Josling <tej@melbpc.org.au>
4704
e89617fe 4705 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
4706
4707 * Makefile.in
4708 (STAGESTUFF): add gtyp-gen.h
4709 (GTFILES): Remove front end specific files.
4710 (GTFILES_FILES_LANGS): New, from configure..
4711 (GTFILES_FILES_FILES): Likewise.
4712 (GTFILES_LANG_DIR_NAMES): Likewise.
4713 (GTFILES_SRCDIR): Likewise.
4714 (gtyp-gen.h): Build from configure information.
4715 (s-gtype): Remove command line parameters from gengtype.
4716 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
4717 (mostlyclean): Delete files generated by and for gengtype.
4718
4719 * c-config-lang.in: New file.
4720
4721 * configure.in (all_gtfiles_files_langs): New. Accumulate files
4722 for each language.
4723 (all_gtfiles_files_files): New. Accumulate language for each file
4724 accumulated.
4725 (gtfiles): Pick up value for C.
4726 (srcdir): AC-SUBST this variable.
4727 (all_gtfiles_files_langs): AC-SUBST this variable.
4728 (all_gtfiles_files_files): AC-SUBST this variable.
e89617fe 4729
8ac9d31f 4730 * configure: Regenerate.
e89617fe 4731
8ac9d31f
TJ
4732 * gengtype-lex.l (parse_file): Make parameter const.
4733
4734 * gengtype.c (toplevel): include gtyp-gen.h.
4735 (BASE_FILE_<language> unnamed enum): Delete.
4736 (lang_names): Delete (replaced by gtyp-gen.h)
4737 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
4738 all references.
4739 (NUM_GT_FILES): New.
4740 (NUM_LANG_FILES): New.
4741 (srcdir_len): New.
4742 (NUM_BASE_FILES): Change calculation.
4743 (open_base_files): Change prototype to avoid warning.
4744 (startswith): Delete.
4745 (get_file_basename): Iterate through generated language list not
4746 hard coded list.
4747 (get_base_file_bitmap): Use generated list of files and languages.
4748 (close_output_files): Add prototype to rmove warning.
4749 (main): Iterate through list of generated files from gtyp-gen.h
4750 rather than command line paramaters. Ignore duplicated file
e89617fe 4751 names.
8ac9d31f
TJ
4752
4753 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 4754
8ac9d31f
TJ
4755 * doc/sourcebuild.texi: Document gtfiles variable.
4756
4757 * doc/gty.texi: Document changes to gtfiles variable for front
4758 ends.
4759
4760 * objc/config-lang.in (gtfiles): Add files needed for objc front
4761 end.
4762
0e603223
RS
47632002-07-10 Roger Sayle <roger@eyesopen.com>
4764
4765 PR c/2454
4766 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
4767 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
4768
c5358a5d
RS
47692002-07-10 Roger Sayle <roger@eyesopen.com>
4770 Zack Weinberg <zack@codesourcery.com>
4771
4772 * builtins.def: Make the argument types of abort and exit
4773 independent of the front-end.
4774
a35f8b74
AM
47752002-07-11 Alan Modra <amodra@bigpond.net.au>
4776
4777 * config/rs6000/linux64.h (ASM_SPEC): Define.
4778
89e7058f
AH
47792002-07-10 Aldy Hernandez <aldyh@redhat.com>
4780
6c535c69
ZW
4781 * config/rs6000/rs6000.c (emit_frame_save): New.
4782 (rs6000_frame_related): Replace reg2 before reg.
4783 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
4784 and eh_return registers.
89e7058f 4785
086bbd21
TM
47862002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
4787
4788 Revert all patches for optimization of Complex .op. Real.
4789 * complex_part_zero_p: Remove
4790 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
4791 with x.
4792 * expand_cmplxdiv_wide: Ditto.
4793 * expand_binop: Ditto.
4794
126dbce0
MM
47952002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
4796
4797 * config/avr/avr.md: Fix two 0x80000000 constants to make them
4798 negative also on 64-bit hosts.
4799
4800 Default to -fno-reorder-blocks when optimizing for size.
4801 * config/avr/avr-protos.h (avr_optimization_options): Declare.
4802 * config/avr/avr.c (avr_optimization_options): New function.
4803 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
4804
4805 Optimize returning from simple functions.
4806 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
4807 * config/avr/avr.c (avr_simple_epilogue): New function.
4808 * config/avr/avr.md (return): New insn.
4809
21c318ba
DR
48102002-07-10 Douglas B Rupp <rupp@gnat.com>
4811
4812 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
4813 HAS_INIT_SECTION to protection.
4814
537834c8
MM
48152002-07-10 Mark Mitchell <mark@codesourcery.com>
4816
4817 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
4818 deprecated.
4819
80ba02b1
R
4820Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
4821
4822 * combine.c (gen_lowpart_for_combine): Handle vector modes.
4823 Supply non-VOID mode to simplify_gen_subreg.
4824
ae3aa00d
JH
4825Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
4826
4827 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
4828
029f3983
JL
48292002-07-10 Jeffrey A Law <law@redhat.com>
4830
7a464913
JL
4831 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
4832 as appropriate.
4833
6c535c69
ZW
4834 * mn10200.c (expand_epilogue): Fix test to determine which scratch
4835 register to use.
029f3983 4836
ff27a429
R
4837Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
4838
4839 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
4840 Get mode from dest.
4841 If simplify_gen_subreg fails, try next equivalent.
4842
e6986399
GDR
48432002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
4844
4845 * diagnostic.h: #include location.h
4846 (location_t): Move definition to..
4847 * location.h: ... here. New file.
4848 * tree.h: #include location.h
4849 (DECL_SOURCE_LOCATION): New macro.
4850 (DECL_SOURCE_FILE): Use.
4851 (DECL_SOURCE_LINE): Likewise.
4852 (struct tree_decl): REplace filename and linenum with locus.
4853 * Makefile.in (TREE_H): add location.h
4854 (diagnostic.o): Depends on gt-location.h
4855 (gt-location.h): Depends on s-gtype
4856
7990b46f
MK
48572002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
4858
4859 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
4860 TARGET_OS_CPP_BUILTINS.
4861 * config/rs6000/aix31.h: Likewise.
4862 * config/rs6000/aix41.h: Likewise.
4863 * config/rs6000/aix43.h: Likewise.
4864 * config/rs6000/aix51.h: Likewise.
4865 * config/rs6000/beos.h: Likewise.
4866 * config/rs6000/darwin.h: Likewise.
4867 * config/rs6000/eabi.h: Likewise.
4868 * config/rs6000/eabisim.h: Likewise.
4869 * config/rs6000/linux.h: Likewise.
4870 * config/rs6000/linux64.h: Likewise.
4871 * config/rs6000/lynx.h: Likewise.
4872 * config/rs6000/mach.h: Likewise.
4873 * config/rs6000/rtems.h: Likewise.
4874 * config/rs6000/sysv4.h: Likewise.
4875 * config/rs6000/vxppc.h: Likewise.
efa39e99
DP
4876
48772002-07-09 Devang Patel <dpatel@apple.com>
4878 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
4879 Do not allow ObjC objects as a parameter type for Objective-C methods.
4880 My previous patch restricted 'struct' also.
e89617fe 4881
cd98faa1
NB
48822002-07-09 Neil Booth <neil@daikokuya.co.uk>
4883
4884 * cpperror.c (cpp_error): Default to directive_line within
4885 directives here.
4886 * cppexp.c (cpp_interpret_integer): Only use traditional
4887 number semantics in directives.
4888 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
4889 (do_include_common): Similarly.
4890 * cpptrad.c (scan_out_logical_line): Implement accurate
4891 quoting of <> in #include.
4892 * doc/cpp.texi: Update.
4893
2ad65b0e 4894Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
6c535c69 4895 J"orn Rennecke <joern.rennecke@superh.com>
2ad65b0e
SC
4896
4897 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
4898 * sh.md (attribute issues): Replace with:
4899 (attribute pipe_model). All users changed.
4900 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
4901 All users changed.
4902 (function units sh5issue, sh5fds): New.
4903 (attribute is_mac_media): New.
4904 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
4905 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
4906 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
4907 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
4908 (call_media, call_value_media, sibcall_media): Likewise.
4909 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
4910 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
4911 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
4912 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
4913 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
4914 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
4915 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
4916 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
4917 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
4918 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
4919 (truncdfsf2_media): Likewise.
4920 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
4921 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
4922
b6d33983
R
4923Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
4924
4925 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
4926 * sh.c (general_extend_operand, inqhi_operand): New functions.
4927 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
4928 alternatives using 'N' modifier. Add type.
4929 (adddi3z_media): Likewise. Enable generator function generation.
4930 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
4931 exact predicates / constraints. Add type.
4932 (subsi3): Allow 0 for SHMEDIA.
4933 (udivsi3_i4_media): Use match_operand for input values
4934 rather than hard registers.
4935 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
4936 unnecessarily through hard registers. Keep copies of pseudo
4937 registers outside of the libcall sequence.
4938 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
4939 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
4940 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
4941 (extendhidi2, extendqidi2): Likewise.
4942 (andsi3_compact): Name.
4943 (andcdi3): Enable generator function generation.
4944 (zero_extendhisi2, zero_extendqisi2): Rename to
4945 (zero_extendhisi2_compact, zero_extendqisi2_compact).
4946 (extendhisi2, extendqisi2): Rename to
4947 (extendhisi2_compact, extendqisi2_compact).
4948 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
4949 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
4950 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
4951 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
4952 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
4953 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
4954 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
4955 (shmedia32_initialize_trampoline_big): Likewise.
4956 (shmedia32_initialize_trampoline_little): Likewise.
4957 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
4958 (negdi2): Remove spurious T clobber.
4959 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
4960 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
4961 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
4962 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
4963 (ic_invalidate_line_media): Write back data cache before invalidating
4964 instruction cache. Add type.
4965 (movsf_media): Sign-extend when the destination is a general
4966 purpose register. Add type.
4967 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
4968 (casesi_worker_0+1): Only increment ref count for proper label.
4969 (casesi_worker_0+2): Likewise.
4970
7ca0873c
MM
49712002-07-09 Mark Mitchell <mark@codesourcery.com>
4972
4973 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
4974
26b10ae0 49752002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 4976
26b10ae0
SE
4977 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
4978 from Pmode to ptr_mode.
4979 (get_exception_pointer): Ditto.
4980 (connect_post_landing_pads): Ditto.
4981 (dw2_build_landing_pads): Ditto.
4982
0c3a2ea0
SE
49832002-07-08 Steve Ellcey <sje@cup.hp.com>
4984 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
4985 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
4986 (handle_pragma_redefine_extname): Change to use new function.
4987
26c34780
RS
49882002-07-08 Roger Sayle <roger@eyesopen.com>
4989
4990 * combine.c (combine_simplify_rtx): Add an explicit cast
4991 to avoid signed/unsigned comparison warning.
4992 (simplify_if_then_else): Likewise.
4993 (extended_count): Likewise.
4994 (simplify_shift_const): Likewise.
4995 (simplify_comparison): Likewise.
4996
1d4047e0
RS
49972002-07-08 Richard Sandiford <rsandifo@redhat.com>
4998
4999 * config/mips/mips.md: Add imadd type. Update scheduler description
5000 to use imadd as well as imul.
5001 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
5002 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
5003 (*mul_sub_si): Likewise for first alternative. Change second
5004 alternative from imul to multi.
5005
5351f1ca
NB
50062002-07-07 Neil Booth <neil@daikokuya.co.uk>
5007
5008 * c-common.c (c_common_post_options): Update prototype;
5009 don't init backends if preprocessing only.
5010 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
5011 * langhooks.h (struct lang_hooks): Update post_options to
5012 return a boolean.
5013 * toplev.c (parse_options_and_default_flags, do_compile,
5014 lang_independent_init): Update prototypes. Allow the
5015 front end to specify that there is no need to initialize
5016 the back end.
5017 (general_init): Move call to hex_init here...
5018 (toplev_main): ...from here. Pass flag for back end init
5019 suppression.
5020
c8cc4417
R
5021Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
5022
5023 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
5024 (PREDICATE_CODES): Add entries for equality_comparison_operator,
5025 greater_comparison_operator and less_comparison_operator.
5026 * sh.c (print_operand): Add '\'' code. Make 'o' handle
5027 more operators.
5028 (equality_comparison_operator): New function.
5029 (greater_comparison_operator, less_comparison_operator): Likewise.
5030 * sh.md (beq_media_i): Disable generator function generation.
5031 Use match_operator to handle a whole class of comparisons. Add
5032 modifier in output template to provide branch prediction. Add type.
5033 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
5034 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
5035 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
5036 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
5037
957ec0f9
HPN
50382002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
5039
5040 Emit MMIX function prologue and epilogue as rtl.
5041 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
5042 not unprototyped get_hard_reg_initial_val.
5043 ("call_value", "nonlocal_goto_receiver"): Ditto.
5044 ("return"): Make define_expand. Move real insn to...
5045 ("*expanded_return"): New pattern.
5046 ("prologue", "epilogue"): New define_expands.
5047 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
5048 (struct machine_function): New member in_prologue.
5049 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
5050 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
5051 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
5052 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
5053 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
5054 (LOCAL_REGNO): Define. Adjust comment.
5055 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
5056 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
5057 leaf_function_p.
5058 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
5059 the prologue.
5060 (mmix_target_asm_function_prologue): Make static. Just mark that
5061 the prologue is being emitted. Move guts to...
5062 (mmix_expand_prologue): New function. Adjust for emitting
5063 prologue as rtl. For sizes, use HOST_WIDE_INT only.
5064 (mmix_target_asm_function_epilogue): Make static. Simply emit a
5065 \n. Move guts to...
5066 (mmix_expand_epilogue): New function. Adjust for emitting
5067 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
5068 (mmix_target_asm_function_end_prologue): Mark that the prologue
5069 has ended.
5070 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
5071 (mmix_conditional_register_usage): Improve comments.
5072 (mmix_local_regno): New function.
5073 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
5074 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
5075 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
5076 (mmix_get_hard_reg_initial_val): Ditto.
5077
7ab5c789
AJ
50782002-07-06 Andreas Jaeger <aj@suse.de>
5079
5080 * toplev.c (set_fast_math_flags): Don't use ISO C style function
5081 definitions.
5082 * gengtype.c (open_base_files): Likewise.
5083 (close_output_files): Likewise.
5084 * tracer.c (find_best_predecessor): Likewise.
5085 (find_best_successor): Likewise.
5086 (ignore_bb_p): Likewise.
5087
df061a43
RS
50882002-07-05 Roger Sayle <roger@eyesopen.com>
5089
5090 PR c++/7099
5091 * builtin-attrs.def: Define new attribute lists for use in
5092 builtins.def.
5093 * builtins.def [DEF_BUILTIN]: Modify to take an additional
5094 ATTRS argument, an enumerated value defined in builtin-attrs.def
5095 that represents the attribute list for the builtins. Modify
5096 all builtin functions to pass an appropriate attribute list.
5097 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
5098 their required noreturn attributes.
5099 * tree.h (enum_builtin_function): Ignore the additional parameter
5100 to DEF_BUILTIN.
5101 * builtins.c (built_in_names): Likewise.
5102 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
5103 argument with a tree representing the functions attribute list.
5104 Pass this "attrs" argument to builtin_function. No longer handle
5105 the noreturn_p processing manually.
5106 (built_in_attributes): Move the definitions from builtin-attrs.def
5107 before c_common_nodes_and_builtins.
5108 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
5109 DEF_BUILTIN, passing it to both builtin_function and the changed
5110 builtin_function_2.
5111
5112 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
5113 __builtin__exit and __builtin__Exit.
5114
e5eb8de8
SC
51152002-07-05 Stephane Carrez <stcarrez@nerim.fr>
5116
5117 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
5118 QI mode registers in soft registers.
7ab5c789 5119 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
5120 for register allocation (use '*' constraint).
5121
4c8aed14
SC
51222002-07-05 Stephane Carrez <stcarrez@nerim.fr>
5123
5124 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
5125 it is dead.
5126 ("*ashrsi3"): Likewise.
5127 ("*lshrsi3"): Likewise.
5128
99ed68ea
VM
51292002-07-05 Vladimir Makarov <vmakarov@redhat.com>
5130
5131 * genautomata.c (output_max_insn_queue_index_def): Take latencies
5132 into account.
5133
4c8aed14 51342002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
5135
5136 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
5137 address computation and memory moves.
5138
9833f679
MM
51392002-07-03 Mark Mitchell <mark@codesourcery.com>
5140
5141 PR c++/6706
5142 * dwarfout.c (output_reg_number): Fix warning message.
5143 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
5144 before using it.
7ab5c789 5145
81bca2f5
RO
51462002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5147
5148 * gcc/gcc.c (asm_debug): Move initialization ...
5149 (init_spec): ... here.
5150
17f44f02
NS
51512002-07-05 Nathan Sidwell <nathan@codesourcery.com>
5152
5153 * c-parse.in (extdef): Append ';'.
5154 (old_style_parm_decls): Append ';'.
5155
da77408f
DJ
51562002-07-04 Daniel Jacobowitz <drow@mvista.com>
5157
5158 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
5159 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
5160 to gcc_cv_as_gstabs_flag.
5161 * configure: Rebuilt.
5162
ec52b446
GK
51632002-07-04 Geoffrey Keating <geoffk@redhat.com>
5164
5165 * ggc.h (ggc_add_root): Document as obsolete.
5166
8721e3df
R
5167Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
5168
5169 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
5170 (mshflo_w): Likewise.
5171
3767c0fd
R
5172Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
5173
5174 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
5175 vector mode subregs of constants to finding integer mode
5176 subregs of constants.
5177 * cse.c (cse_insn): Use simplify_gen_subreg.
5178 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
5179 From a vector mode expression of different size than the
5180 target mode.
5181
4e314d1f
EC
51822002-07-03 Eric Christopher <echristo@redhat.com>
5183
5184 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
5185 * config/mips/mips.h: Remove deprecated -m<processor> options
5186 and cc1_cpu_spec associated.
5187 (CONSTANT_ADDRESS_P): Fix last patch.
5188 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
5189 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
5190 sunge_sf): Remove.
5191
6f0361e3
SS
51922002-07-03 Stan Shebs <shebs@apple.com>
5193
5194 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
5195 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
5196 (CPP_SPEC): Remove insertion of APPLE_CC definition.
5197
3129af4c
RS
51982002-07-03 Roger Sayle <roger@eyesopen.com>
5199
5200 * combine.c (struct_undo): Change types of recorded substitutions
5201 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
5202 (do_SUBST_INT): Change types of the substitution from unsigned int
5203 to int, to avoid compilation warning from SUBST_INT's only caller.
5204
5205 (make_extraction): Add cast to avoid compilation warning.
5206 (force_to_mode): Remove cast to avoid compilation warning.
5207
c7375e61
EB
52082002-07-03 Eric Botcazou <ebotcazou@multimania.com>
5209 Jeff Law <law@redhat.com>
5210
5211 * i386.md (length_immediate attribute): Fix typo.
5212 (length_address attribute): Likewise.
5213 (modrm attribute): Set it to 0 for immediate call instructions.
5214 (jcc_1 pattern): Set modrm attribute to 0.
5215 (jcc_2 pattern ): Likewise.
5216 (jump pattern): Likewise.
5217 (doloop_end_internal pattern): Explicitly set length.
5218 (leave pattern): Fix typo.
5219 (leave_rex64 pattern): Likewise.
5220
61c07d3c
DE
52212002-07-03 David Edelsohn <edelsohn@gnu.org>
5222
5223 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
5224 in FPR as preference.
5225 (fctiwz): Same.
5226 (floatdidf2, fix_truncdfdi2): Same.
5227 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
5228 (floatditf2): Same.
5229 (floatsitf2, fix_trunctfsi2): SImode in GPR.
5230 (ctrdi): Remove FPR alternative and splitter.
5231
52322002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
5233
5234 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
5235
34a80643
R
5236Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
5237
5238 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
5239 than UNITS_PER_WORD, unless this is little endian and the first unit
5240 in this word. Let extract_bit_field decide how to load an element.
5241 Force arguments to matching mode.
5242 (expand_vector_unop): Likewise.
5243
5244 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
5245 consist of word_mode elements.
5246 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
5247 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
5248 (build_unary_op): Allow vector types for BIT_NOT_EPR.
5249 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
5250 CONST_VECTOR.
5251 * optabs.c (expand_vector_binop): Try to perform operation in
5252 smaller vector modes with same inner size. Add handling of AND, IOR
5253 and XOR. Reject expansion to inner-mode sized scalars when using
5254 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
5255 (expand_vector_unop): Try to perform operation in smaller vector
5256 modes with same inner size. Add handling of one's complement.
5257 When there is no vector negate operation, try a vector subtract
5258 operation. Use simplify_gen_subreg on constants.
5259 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
5260 constants into smaller vectors with same inner mode, and to
5261 integer CONST_DOUBLEs.
5262
622d3731
KG
52632002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5264
5265 * c-parse.in (parsing_iso_function_signature): New variable.
5266 (extdef_1): New, copied from...
5267 (extdef): ... here. Reset parsing_iso_function_signature.
5268 (old_style_parm_decls): Reset parsing_iso_function_signature.
5269 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
5270 Warn about ISO C style function definitions.
5271 (nested_function, notype_nested_function): Reset
5272 parsing_iso_function_signature.
5273 (parmlist_2): Set parsing_iso_function_signature.
5274
5275 * doc/invoke.texi (-Wtraditional): Document new behavior.
5276
9bb46191
CD
52772002-07-02 Chris Demetriou <cgd@broadcom.com>
5278
5279 * config.gcc (mips*el-*-*): Use tm_defines to set
5280 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
5281 * config/mips/little.h: Remove.
5282
e1c2dd26 52832002-07-02 Devang Patel <dpatel@apple.com>
c40da518 5284
c40da518 5285 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
5286 object as parameter. Prevent something like 'NSObject' to be
5287 used as the type for a method argument.
c40da518 5288
0879540b
NB
52892002-07-03 Neil Booth <neil@daikokuya.co.uk>
5290
5291 * cpptrad.c: Update comment.
5292
b6fb43ab 52932002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 5294
b6fb43ab
NB
5295 * doc/cpp.texi: Update for traditional preprocessing changes.
5296 * goc/cppopts.texi: Similarly.
5297
c1c5187c
ZL
52982002-07-02 Ziemowit Laski <zlaski@apple.com>
5299
5300 * c-parse.in (designator): Enable designated initializers if ObjC.
5301 (objcmessageexpr): Remove references to objc_receiver_context.
5302 * objc/objc-act.h (objc_receiver_context): Remove decl.
5303 * objc/objc-act.c (objc_receiver_context): Remove.
5304 (lookup_objc_ivar): Test objc_method_context instead of
5305 objc_receiver_context.
5306
52702ae1
R
5307Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
5308
5309 * sh.c (print_operand, case 'N'): Allow zero vector.
5310 (arith_reg_or_0_operand): Likewise.
5311 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
4e314d1f 5312 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
5313 IOR, XOR, PLUS and SET and take their respective constant
5314 ranges into account.
5315 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
5316 * sh.md (subdi3, subdi3_media): Allow zero operand.
5317 (movv8qi_i+3): Only vector that is not split is the zero vector.
5318 Fix operand 3 to simplify_subreg.
5319 (movv2si_i): Split alternative 1.
5320 (mshfhi_l_di_rev+1): New splitter.
5321
49e7b251
NB
53222002-07-02 Neil Booth <neil@daikokuya.co.uk>
5323
ba57a9c0 5324 PR preprocessor/7029
49e7b251
NB
5325 * cppinit.c (cpp_handle_option): Suppress warnings with an
5326 implicit "-w" for "-M" and "-MM".
5327 * doc/cppopts.texi: Update.
5328
a3acdc0c
RS
53292002-07-01 Roger Sayle <roger@eyesopen.com>
5330
5331 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
5332 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
5333 builtin_function.
5334
0b558962
AM
53352002-07-02 Alan Modra <amodra@bigpond.net.au>
5336
5337 * README.Portability: Fix typos.
5338
9a81c5b7
HPN
53392002-07-01 Hans-Peter Nilsson <hp@axis.com>
5340
5341 PR target/7177
5342 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
5343 of indirections for register inside sign-extended mem part.
5344
6a2dd09a
RS
53452002-07-01 Roger Sayle <roger@eyesopen.com>
5346
5347 * tree.h: Modify builtin_function interface to take an extra
5348 argument ATTRS, which is a tree representing an attribute list.
5349
5350 * c-decl.c (builtin_function): Accept additional parameter.
5351 * objc/objc-act.c (builtin_function): Likewise.
5352 * f/com.c (builtin_function): Likewise.
5353 * java/decl.c (builtin_function): Likewise.
5354 * ada/utils.c (builtin_function): Likewise.
5355 * cp/decl.c (builtin_function): Likewise.
5356 (builtin_function_1): Likewise.
5357
5358 * c-common.c (c_common_nodes_and_builtins): Pass an additional
5359 NULL_TREE argument to builtin_function. (builtin_function_2):
5360 Likewise.
5361 * cp/call.c (build_java_interface_fn_ref): Likewise.
5362 * objc/objc-act.c (synth_module_prologue): Likewise.
5363 * java/decl.c (java_init_decl_processing): Likewise.
5364 * f/com.c (ffe_com_init_0): Likewise.
5365
5366 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
5367 NULL_TREE argument to builtin_function.
5368 * config/arm/arm.c (def_builtin): Likewise.
5369 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
5370 * config/i386/i386.c (def_builtin): Likewise.
5371 * config/ia64/ia64.c (def_builtin): Likewise.
5372 * config/rs6000/rs6000.c (def_builtin): Likewise.
5373
e20569ae
ZW
53742002-07-01 Zack Weinberg <zack@codesourcery.com>
5375
5376 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
5377 * config/mips/t-isa3264: Likewise.
5378 * config/mmix/t-mmix: Likewise.
5379
f1b690f1
JDA
53802002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
5381
5382 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
5383
6bfa5aac
RS
53842002-07-01 Roger Sayle <roger@eyesopen.com>
5385
5386 PR opt/4046
5387 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
5388 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
5389 B are truth values.
5390
9a5c1b9d
NN
53912002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
5392
5393 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
5394
d3fc4dbc
MK
53952002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
5396
3b2124df
MK
5397 * README.Portability (Function prototypes): Give an example of
5398 declaring and defining a function with no arguments.
5399
d3fc4dbc
MK
5400 * README.Portability (Function prototypes): Document new
5401 variable-argument function macros.
5402
c1b92d09
R
5403Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
5404
5405 * sh.c (langhooks.h): Include.
5406 (sh_init_builtins, sh_media_init_builtins): New functions.
5407 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
5408 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
5409 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
5410 (builtin_description): New struct tag.
5411 (signature_args, bdesc): New arrays.
5412 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
5413 (print_operand): Add 'N' modifier.
5414 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
5415 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
5416 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
5417 (CONST_COSTS): Add special case for SHmedia AND.
5418 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
5419 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
5420 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
5421 target_operand can also be const or unspec.
5422 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
5423 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
5424 (attribute type): Add new types.
5425 (anddi3): Add splitter.
5426 (movdi_const_16bit+1): Add code to handle vector constants and
5427 bitmasks efficiently.
5428 (shori_media): Have generator function made.
5429 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
5430 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
5431 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
5432 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
5433 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
5434 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
5435 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
5436 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
5437 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
5438 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
5439 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
5440 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
5441 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
5442 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
5443 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
5444 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
5445 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
5446 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
5447 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
5448 (ftrv): Likewise.
5449
5450 (fpu_switch+1, fpu_switch+2): Remove constraint.
5451
97ebc06f
AH
54522002-07-01 Aldy Hernandez <aldyh@redhat.com>
5453
6c535c69
ZW
5454 * tree.c (build_function_type_list): Update function comment.
5455 Rename first argument to return_type.
97ebc06f 5456
353a10d0
NB
54572002-07-01 Neil Booth <neil@daikokuya.co.uk>
5458
5459 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
5460 tradcif.y and related files.
5461
e34cabb3
NB
54622002-07-01 Neil Booth <neil@daikokuya.co.uk>
5463
5464 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
5465
8bf3ccbb
KG
54662002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5467
5468 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
5469
118f8dc1
DP
54702002-06-30 Devang Patel <dpatel@apple.com>
5471
5472 * objc/objc-act.c (finish_file): Avoid finish_objc() if
5473 -fsyntax-only.
5474
e3223ea2
DC
5475Fri Jun 28 17:22:37 2002 Denis Chertykov <denisc@overta.ru>
5476 Frank Ch. Eigler <fche@redhat.com>
6c535c69 5477 Matthew Green <mrg@redhat.com>
e3223ea2
DC
5478 Richard Henderson <rtl@redhat.com>
5479 Dave Hudson <dave.hudson@ubicom.com>
5480 Jeff Johnston <jjohnstn@redhat.com>
5481 Alan Lehotsky <apl@alum.mit.edu>
5482 Bernd Schmidt <bernds@redhat.com>
5483 Graham Stott <grahams@redhat.com>
4e314d1f 5484
e3223ea2
DC
5485 * doc/extend.texi: Add ip2k port to description of attribute
5486 naked.
5487 * doc/install.texi (Specific): Add ip2k description.
5488 * doc/install-old.texi (Configurations): Add ip2k to possible
5489 cpu types.
5490 * doc/md.texi: Document ip2k constraints.
5491 * config/ip2k/crt0.S: New file.
5492 * config/ip2k/ip2k-protos.h: New file.
5493 * config/ip2k/ip2k.c: New file.
5494 * config/ip2k/ip2k.h: New file.
5495 * config/ip2k/ip2k.md: New file.
5496 * config/ip2k/libgcc.S: New file.
5497 * config/ip2k/t-ip2k: New file.
5498
66b8c57f
HPN
54992002-06-30 Hans-Peter Nilsson <hp@bitrange.com>
5500
5501 * config/mmix/mmix.md ("return"): New pattern.
5502 * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
5503 (TARGET_USE_RETURN_INSN): New macros.
5504 (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
5505 (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
5506 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
5507 (MMIX_POP_ARGUMENT): New macro.
5508 (mmix_target_asm_function_prologue): When no epilogue is executed,
5509 just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn.
5510 (mmix_print_operand) <case '.'>: New case.
5511 (mmix_print_operand_punct_valid_p): Match '.'.
5512 (mmix_use_simple_return): New function.
5513 * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
5514 * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
5515 -msingle-exit, -mno-single-exit.
5516 (MMIX Options): Ditto.
5517
e7a60f56
AH
55182002-06-30 Aldy Hernandez <aldyh@redhat.com>
5519
6c535c69 5520 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
e7a60f56 5521
1ef7d32b
KG
55222002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5523
5524 * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
5525
c8b64bf2
AM
55262002-06-30 Alan Modra <amodra@bigpond.net.au>
5527
5528 * unroll.c (loop_iterations): Handle EQ loops.
5529
35aba846
DE
55302002-06-29 David Edelsohn <edelsohn@gnu.org>
5531
5532 * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
5533 constraint in define_expand, not splitter.
5534 Formatting.
5535
b4de2f7d
AH
55362002-06-29 Aldy Hernandez <aldyh@redhat.com>
5537
6c535c69
ZW
5538 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
5539 build_function_type_list instead of build_function_type.
b4de2f7d 5540
6c535c69 5541 * config/ia64/ia64.c (ia64_init_builtins): Same.
b4de2f7d 5542
6c535c69 5543 * config/alpha/alpha.c (alpha_init_builtins): Same.
b4de2f7d 5544
6c535c69 5545 * config/rs6000/rs6000.c (altivec_init_builtins): Same.
b4de2f7d 5546
6c535c69 5547 * config/arm/arm.c (arm_init_builtins): Same.
b4de2f7d 5548
6c535c69 5549 * tree.h: Add build_function_type_list prototype.
b4de2f7d 5550
6c535c69 5551 * tree.c (build_function_type_list): New.
b4de2f7d 5552
1691051f
KG
55532002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5554
5555 * collect2.c (scan_prog_file): Fix typo in message.
5556
7bfb14f1
AL
55572002-06-28 Aaron Lehmann <aaronl@vitelus.com>
5558
6c535c69 5559 * fold-cont.c: Remove unused CHARMASK.
7bfb14f1 5560
38800fe8
NB
55612002-06-29 Neil Booth <neil@daikokuya.co.uk>
5562
5563 PR preprocessor/7150
5564 * cppmain.c (scan_translation_unit_trad): Simplify.
590e1987 5565 * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
38800fe8 5566
f60ed6be
NB
55672002-06-29 Neil Booth <neil@daikokuya.demon.co.uk>
5568
5569 * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
5570 Don't use CPP_PREDEFINES.
5571 * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
5572 Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
5573 * config/i386/djgpp.h, config/i386/i386-coff.h,
5574 config/i386/i386-interix.h, config/i386/i386-interix3.h,
5575 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
5576 config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
5577 config/i386/uwin.h: Similarly.
5578
76118c11
HB
55792002-06-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5580
6c535c69 5581 * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
76118c11
HB
5582 flag_inline_trees to enable inlining.
5583
9137b119
PE
55842002-06-28 Phil Edwards <pme@gcc.gnu.org>
5585
5586 * configure.in (gcc_gxx_include_dir): Change to match versioned
5587 C++ headers if --enable-version-specific-runtime-libs is used.
5588 * configure: Regenerate.
5589
6bdb8dd6
JH
55902002-06-28 Jan Hubicka <jh@suse.cz>
5591
5592 * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
5593
f1b1186f
SC
55942002-06-28 Stephen Clarke <stephen.clarke@superh.com>
5595
5596 * combine.c (combine_simplify_rtx): Pass the mode of the
5597 shift count, not the shift operation when trying to simplify
5598 a shift on a SHIFT_COUNT_TRUNCATED target.
5599
ae9bd481
SC
56002002-06-28 Stephane Carrez <stcarrez@nerim.fr>
5601
5602 * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
5603 avoid the auto increment addressing modes.
5604 ("*subsi3"): Likewise.
4e314d1f 5605 (split for add/sub on address): For 68HC12 push the value on
ae9bd481
SC
5606 the stack and do the operation with a pop.
5607
1d63a28a
NB
56082002-06-28 Neil Booth <neil@daikokuya.co.uk>
5609
5610 * cpplib.c (_cpp_handle_directive): Move #define-specific
5611 code to the #define handler...
5612 (do_define): ...here.
5613 (lex_macro_node): No longer a need to check for comments here.
5614
4caff360
SC
56152002-06-28 Stephane Carrez <stcarrez@nerim.fr>
5616
5617 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
5618 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
5619 Declare.
5620 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
5621 do not reorder basic blocks at the end when optimizing for size.
5622
2cc21497
SC
56232002-06-28 Stephane Carrez <stcarrez@nerim.fr>
5624
5625 * config/m68hc11/m68hc11.c (autoinc_mode): New function.
5626 (m68hc11_make_autoinc_notes): New function.
5627 (m68hc11_split_move): Be very cautious when spliting a move with
5628 auto increment/decrement modes because this may result in incompatible
5629 directions; add REG_INC notes to the resulting insn for CSE reg.
5630
3cdd2821
SC
56312002-06-28 Stephane Carrez <Stephane.Carrez@nerim.fr>
5632
5633 * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
5634 can be a valid address.
5635
e6a82e80
AH
56362002-06-28 Aldy Hernandez <aldyh@redhat.com>
5637
6c535c69
ZW
5638 * config/rs6000/rs6000.c: Remove unusued variables from last
5639 patch.
e6a82e80 5640
a7ae18e2
AH
56412002-06-27 Aldy Hernandez <aldyh@redhat.com>
5642
5643 Revert:
6c535c69
ZW
5644 * config/rs6000/rs6000.c (rs6000_override_options): Move
5645 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
a7ae18e2 5646
3a9b8c7e
AH
56472002-06-27 Aldy Hernandez <aldyh@redhat.com>
5648
6c535c69
ZW
5649 * config/rs6000/rs6000.c (altivec_expand_builtin): Move
5650 lvx/stv/dst builtins...
5651 (altivec_expand_ld_builtin): ...to here.
5652 (altivec_expand_st_builtin): ...here.
5653 (altivec_expand_dst_builtin): ...and here (respectively).
3a9b8c7e 5654
5f9dc214
BW
56552002-06-28 Bob Wilson <bob.wilson@acm.org>
5656
5657 * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
5658
53501a19
BS
56592001-06-08 Bernd Schmidt <bernds@redhat.com>
5660
5661 * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
5662 subregs.
5663 * recog.c (general_operand, register_operand): Disallow them.
5664
d1a58688
NB
56652002-06-28 Neil Booth <neil@daikokuya.co.uk>
5666
5667 PR preprocessor/7138
5668 * cpplib.c (_cpp_handle_directive): Do traditional
5669 preparation after setting state.angled_headers.
5670 * cpptrad.c (scan_out_logical_line): Fix potential
5671 quote bug.
5672
55c1c60d
AH
56732002-06-27 Aldy Hernandez <aldyh@redhat.com>
5674
6c535c69
ZW
5675 * config/rs6000/rs6000.c (rs6000_override_options): Move
5676 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
55c1c60d 5677
3219c65b
BW
56782002-06-27 Bob Wilson <bob.wilson@acm.org>
5679
5680 * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
5681 (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
5682 zero_cost_loop_end): Remove unnecessary "parallel" from insns.
5683
c8f863fc
RS
56842002-06-27 Roger Sayle <roger@eyesopen.com>
5685
5686 * config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
5687 * config/stormy16/stormy16.h: Likewise.
5688
5689 * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
5690 with #define.
5691
8d5362b7
GP
56922002-06-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5693
5694 * doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move
5695 Hitachi entry. Make punctuation more consistent.
5696
57694e40
MK
56972002-06-27 Matt Kraai <kraai@alumni.cmu.edu>
5698
5699 * doc/install.texi: Change ` bit' to `-bit'.
5700 * doc/md.texi: Change `-bits' to `-bit'.
5701 * doc/tm.texi: Change `-bits' to ` bits'.
5702
c635a1ec
DB
57032002-06-27 Daniel Berlin <dberlin@dberlin.org>
5704
5705 * gcse.c (hoist_code): Rewrite to only get list of dominated
4e314d1f 5706 blocks once per BB. Also fix reversed test (by removing need for
c635a1ec
DB
5707 the test at all).
5708
951a0766
NB
57092002-06-27 Neil Booth <neil@daikokuya.co.uk>
5710
5711 * cpphash.h (_cpp_set_trad_context): Remove.
5712 * cpplib.c (prepare_directive_trad): Do nothing for #define.
5713 (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
5714 * cpptrad.c: Update comments.
5715 (_cpp_read_logical_line_trad): Let scan_logical_line handle
5716 updating the current context.
5717 (scan_logical_line): Update the current context.
5718 (_cpp_create_trad_definition): Similarly.
5719 (_cpp_set_trad_context): Remove.
5720
06470238
NB
57212002-06-27 Neil Booth <neil@daikokuya.co.uk>
5722
5723 PR preprocessor/7070
5724 * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
5725
0c14a54d
BW
57262002-06-26 Bob Wilson <bob.wilson@acm.org>
5727
5728 * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
5729 config/xtensa/xtensa.c (xtensa_return_addr): New function.
5730 config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
5731 config/xtensa/xtensa.md (fix_return_addr): New pattern.
5732
e9873fd5
KG
57332002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5734
5735 * mips.c (coprocessor_operand, coprocessor2_operand,
5736 symbolic_operand): Move prototypes from here...
5737 * mips-protos.h (coprocessor_operand, coprocessor2_operand,
5738 symbolic_operand): ...to here.
5739
650e8d05
R
5740Wed Jun 26 16:32:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5741
5742 * config/sh/crt1.asm: remove _stack label definition
5743 and sentinel value.
5744
c7836bcd
KG
57452002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5746
5747 * varasm.c: Include real.h before output.h.
5748
6e1f54e2
AH
57492002-06-26 Aldy Hernandez <aldyh@redhat.com>
5750
6c535c69
ZW
5751 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
5752 check for TARGET_ALTIVEC.
6e1f54e2 5753
18fbcbcf
NN
57542002-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
5755
5756 * config.gcc (vax-*-vms*): Make obselete.
5757
09bed167
KG
57582002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5759
5760 * gcc.c (warn_std): Delete.
5761
8254cb45
LR
57622002-06-25 Loren J. Rittle <ljrittle@acm.org>
5763
5764 * doc/extend.texi: Fix formatting of last checkin.
5765
f9ee10ab
RO
57662002-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5767
5768 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
5769 underscore from __IEEE_FP and __IEEE_FP_INEXACT.
5770
90989b26
AH
57712002-06-25 Aldy Hernandez <aldyh@redhat.com>
5772
6c535c69
ZW
5773 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
5774 discrepancies from motorola's documentation.
90989b26 5775
9881adff
R
5776Tue Jun 25 21:51:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
5777
5778 * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
5779 GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
4de1b7a9 5780
4e314d1f 5781 * config/sh/lib1funcs.asm (udivdi3): Make first divide step
4de1b7a9
R
5782 produce a 32 bit result before normalization, then normalize with a
5783 left shift. Compute approximative error of 2nd reciprocal
5784 approximation in 2's complement. Fix mask generation from upper
5785 longword of second divide stage result.
5786 For large divisor, fix shift count used to truncate first stage
5787 divide result; make decision if to adjust upwards based on comparison
5788 of higher parts of normalized values.
5789 (udivdi): Likewise. Undo normalization of result for large divisor
5790 case.
5791
16b46035
DM
57922002-06-25 David S. Miller <davem@redhat.com>
5793
5794 * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
5795
0c6db544
NB
57962002-06-25 Neil Booth <neil@daikokuya.co.uk>
5797
5798 * cpplib.c (do_include_common): Revert to correct line number
5799 if -traditional.
5800 * cpptrad.c (scan_out_logical_line): Treat null directive as
5801 white space. Invlidate MI optimization for non-whitespace
5802 text outside a directive.
5803
eef709c7
KG
58042002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5805
b41e09a7
KG
5806 * Makefile.in (SHELL): Set to @SHELL@.
5807 * fixinc/Makefile.in (SHELL): Likewise.
5808
eef709c7
KG
5809 * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
5810 fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
5811 initialization.
5812
b0ac73f8
JL
58132002-06-24 Jeff Law <law@redhat.com>
5814
5815 * flow.c (propagate_one_insn): When removing an insn
5816 with a REG_LIBCALL note but not the entire libcall sequence,
5817 delete the associated REG_RETVAL note.
5818
9e96203d
R
5819Mon Jun 24 21:05:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
5820
5821 * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
5822 (udivsi3): Likewise. Rewrite SH1 implementation.
5823 (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
5824 * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
5825 (udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
5826 * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
5827 (_moddi3): Likewise.
5828
5829 * lib1funcs.asm (ic_invalidate): Add data cache line writeback.
87912be7
R
5830
5831 * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
5832 arguments into account for stack_regs.
5833
0d893a63
MK
58342002-06-24 Matt Kraai <kraai@alumni.cmu.edu>
5835
5836 * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
5837 in examples.
4e314d1f 5838
04a5176a
AH
58392002-06-24 Art Haas <ahaas@neosoft.com>
5840
5841 * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
5842 * doc/tm.texi (Frame Layout): Likewise.
5843
cad61762 58442002-06-20 Steve Ellcey <sje@cup.hp.com>
ec52b446 5845
cad61762
SE
5846 * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
5847 Set float_format to i128.
5848
556a56ac
DM
58492002-06-24 David S. Miller <davem@redhat.com>
5850
5851 * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
5852 32-bit ABI libfuncs to NULL.
5853
563facba
DM
5854 * config/sparc/sparc.md: Use define_insn_and_split. Use braced
5855 strings instead of quoted strings for code blocks.
b776892b 5856
556a56ac
DM
5857 * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
5858 optabs if op1 is const0_rtx.
5859
a8106207
DM
5860 * Makefile.in (GTFILES): Add basic-block.h
5861 * basic-block.h (label_value_list, tail_recursion_label_list):
5862 Mark with GTY.
5863
2c088b53
NB
58642002-06-24 Neil Booth <neil@daikokuya.co.uk>
5865
5866 * cpptrad.c (scan_out_logical_line): Check recursing only when
5867 we know we have a macro invocation in the function-like case.
5868 Only call _cpp_handle_directive if we know we have a good
5869 directive, or we want to reject a bad directive.
5870
0228d06b
AM
58712002-06-24 Alan Modra <amodra@bigpond.net.au>
5872
5873 * doloop.c (doloop_valid_p): Correct comment.
5874 (doloop_modify_runtime <abs_inc != 1>): Simplify.
5875 (doloop_modify_runtime <do-while>): Don't emit code when NE.
5876
2f9021d3
DC
5877Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru>
5878
5879 * config.gcc: Add support for ip2k.
5880
bc9c2952 58812002-06-23 Jan Hubicka <jh@suse.cz>
f81a79ef
JH
5882 Jeff Law <law@redhat.com>
5883
5884 * function.h (struct emit_status): Clarify potential contents
5885 of regno_reg_rtx array.
5886 * integrate.c (copy_rtx_and_substitute): Update comments. Make
5887 sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
bc9c2952
AJ
5888
5889 * reg-stack.c (convert_regs_exit): Push the registers to stack in
5890 proper order.
5891
faa964e5
UW
58922002-06-22 Ulrich Weigand <uweigand@de.ibm.com>
5893
5894 PR middle-end/6963
5895 * function.c (assign_stack_temp_for_type): Do not return
5896 the same MEM rtx for multiple uses of a stack slot.
5897
7ae3e57c
DM
58982002-06-22 David S. Miller <davem@redhat.com>
5899
5900 PR target/6841 target/6770 target/6719
5901 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
5902 NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
5903 GENERAL_OR_EXTRA_FP_REGS.
5904
847c76c8
NB
59052002-06-22 Neil Booth <neil@daikokuya.co.uk>
5906
5907 * cpptrad.c (struct fun_macro): Add line number.
5908 (scan_out_logical_line): Set it, and use it to report unterminated
5909 macro invocations.
5910
813674e0
KG
59112002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5912
5913 * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
5914 VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
5915 DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
5916 DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
5917 REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
5918 REGEXP_ONEOF, check_name): Const-ify.
5919
23361093
MT
59202002-06-21 Matt Thomas <matt@3am-software.com>
5921
5922 * config/vax/vax.c (vax_output_function_prologue): Use
bc9c2952 5923 REGISTER_PREFIX. Fix some indentation.
23361093
MT
5924 * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
5925 (VAX_ISTREAM_SYNC): Define.
5926 (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the
bc9c2952
AJ
5927 i-stream sync to the end.
5928 (REGISTER_PREFIX): Define as "".
23361093
MT
5929 (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
5930
1c655a0d
JT
59312002-06-21 Jason Thorpe <thorpej@wasabisystems.com>
5932
5933 * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
5934 configurations.
5935
3e16bfe2
KG
59362002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5937
5938 * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
5939 tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
5940
6b0760fd
MT
59412002-06-21 Matt Thomas <matt@3am-software.com>
5942
5943 * config/vax/netbsd.h: Adjust a comment.
5944 (TARGET_DEFAULT): Redefine as 0.
5945
31a78298
RH
59462002-06-21 Richard Henderson <rth@redhat.com>
5947
5948 * bb-reorder.c (make_reorder_chain_1): Search harder for the
bc9c2952
AJ
5949 vax casesi fallthru edge.
5950 * cfglayout.c (cleanup_unconditional_jumps): Use
31a78298
RH
5951 redirect_edge_succ_nodup. Do not delete ADDR_VEC insns as dead.
5952 * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
5953 block after ADDR_VEC.
5954
d8bf1785
RO
59552002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5956
5957 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
5958
00b94a44
NB
59592002-06-21 Neil Booth <neil@daikokuya.co.uk>
5960
5961 * cpperror.c (cpp_error): For traditional CPP, default to
5962 diagnostics on pfile->line.
5963 * cpplib.c (prepare_directive_trad): Set line number for
5964 diagnostics for #define too.
5965 * cpptrad.c (skip_whitespace): Skip comments properly.
5966 (_cpp_expansions_different_trad): Initialize quote2.
5967
c583c5c3
HPN
59682002-06-21 Hans-Peter Nilsson <hp@bitrange.com>
5969
5970 * config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
5971 * config/mmix/mmix.h: Ditto.
5972 * config/mmix/mmix-protos.h: Ditto.
5973 * config/mmix/mmix.c: Ditto. Fix typo in comment.
5974 * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
5975 comment. Comment extra CC modes.
5976
1292ec0c
JH
59772002-06-20 Jan Hubicka <jh@suse.cz>
5978
5979 * cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
5980 (scope_to_insns_finalize): Do not call set_block_levels; handle
5981 sequences.
5982 (choose_inner_scope): New.
5983 * rtl.h (choose_inner_scope): Declare.
5984
0f8e3849
JDA
59852002-06-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
5986
5987 * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
5988 HOST_WIDE_INT.
5989 * pa.c (pa_asm_output_mi_thunk): Likewise.
5990 (n_deferred_plabels): Change type to size_t.
5991 (output_deferred_plabels, output_call): Use size_t instead of int.
5992
0655301f
RH
59932002-06-20 Richard Henderson <rth@redhat.com>
5994
5995 PR target/4041
5996 * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
5997 pattern and adjust constraints for coldfire.
5998
2b3aadfc
RH
59992002-06-20 Richard Henderson <rth@redhat.com>
6000
6001 * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
6002
5c44e275
CD
60032002-06-20 Chris Demetriou <cgd@broadcom.com>
6004
6005 * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
6006
8fff5435
CD
60072002-06-20 Chris Demetriou <cgd@broadcom.com>
6008
6009 * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
6010
8a67e083
SS
60112002-06-20 Stan Shebs <shebs@apple.com>
6012
6013 * dominance.c: Include errors.h instead of error.h.
6014
017acb41
NB
60152002-06-20 Neil Booth <neil@daikokuya.co.uk>
6016
6017 * cppexp.c (cpp_interpret_integer): Don't force traditional
6018 numbers to be unsigned.
6019 * cpplib.c (prepare_directive_trad): Set line number for
6020 diagnostics.
6021 * cpptrad.c (scan_out_logical_line): Continue scanning out
6022 at start of buffer.
6023 * gcc.c (trad_capable_cpp): Use cc1 always.
6024
0ed4a390
JL
60252002-06-20 Jeffrey Law <law@redhat.com>
6026
6027 * i386.h (TARGET_DEFAULT): Do not turn on frame pointer
6028 elimination in leaf functions by default yet.
6029
988ef418
RS
60302002-06-20 Richard Sandiford <rsandifo@redhat.com>
6031
6032 * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
6033
0ab2e54b
RO
60342002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6035
6036 * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
6037 multilibs.
6038 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
d8bf1785 6039 Fixes PR other/6836.
0ab2e54b 6040
355be0dc
JH
6041Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz>
6042 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
6043
6044 Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz>
6045
6046 * basic-block.h: Do not include et-forest.h
6047 (dominance_info): Declare as struct dominance-info.
6048 * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
6049 deleting block.
6050 * dominance.c (struct dominance_info): Define.
6051 (BB_NODE, SET_BB_NODE): New macros.
6052 (bb_hash_func, bb_eq_func): Kill.
6053 (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
6054 nearest_common_dominator, dominated_by_p, recount_dominator,
6055 add_to_dominance_info, delete_from_dominance_info): update for new
6056 representation.
6057 (get_dominated_by, redirect_immediate_dominators): Rewrite using
6058 enumerate_sons.
6059 * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
6060 find_if_case_1, find_if_case_2): Remove killed blocks from dominance
6061 structure.
6062
6063 * et-forest.h: Update copyright; revamp all function to operate on
6064 nodes
6065 (et_forest_value): Kill.
6066 (et_forest_enumerate_sons, et_forest_node_value): New.
6067 * et-forest.c: Update copyright.
6068 * et-forest.h: Update copyright; revamp all function to operate on
6069 nodes
6070 (et_forest_value): Kill.
6071 (et_forest_enumerate_sons, et_forest_node_value): New.
6072
6073 Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz>
6074
6075 * basic-block.h: Inlude et-forest.h
6076 (basic_block_def): Kill dominator.
6077 (dominance_info): New type.
6078 (loops): Use dominace_info.
6079 (dominace handling functions): Take dominace_info as argument
6080 instead of bitmaps.
6081 (create_preheader): Likewise.
6082 * cfg.c (entry_exit_blocks): Kill dominator.
6083 (dump_flow_info): Do not dump dominators.
6084 * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
6085 dominators.
6086 * cfgloop.c (flow_pre_header_find): Use dominacne_info.
6087 (flow_loops_pre_header_scan, make_forwarder_block,
6088 canonicale_loop_headers, flow_loops_find): Likewise.
6089 * dominance.c: Include error.h
6090 (idoms_to_doms): Kill.
6091 (bb_hash_func, bb_eq_func): New static functions.
6092 (debug_dominace_info): New global function.
6093 (calculate_dominance_info): Use new et forest structure.
6094 (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
6095 get_dominated_by, redirect_immediate_dominators,
6096 nearest_common_dominator, dominated_by_p, verify_dominators,
6097 recount_dominator, iterate_fix_dominators, add_to_dominace_info,
6098 delete_from_dominance_info): New global functions.
6099 * gcse.c (domnators): CHange to dominance_info.
6100 (alloc_hoist_mem): Do not alloc dominators
6101 (free_code_hoist_mem): Use free_dominance_info.
6102 (compute_code_hoist_data): Use dominance_info.
6103 (hoist_code): Likewise.
6104 * ifcvt.c (post_dominators): Likewise.
6105 (find_if_case_2, if_convert): Likewise.
6106 * predict.c (process_note_predictions, process_note_prediction,
6107 estimate-probability): Likewise.
6108 * sched-rgn.c (find_rgns, init_regions): Likewise.
6109 * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
6110 find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
6111 * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
6112 find_evaluations, convert_to_ssa): Likewise.
6113 * ssa.h (compute_dominance_frontiers): Likewise.
6114
6115 Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
6116
6117 * Makefile.in (et-forest.c): Add.
6118 * et-forest.c: New file.
6119 * at-forest.h: New file.
6120
ef9772c8
KG
61212002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6122
62c71f4b
KG
6123 * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
6124 array size calculation.
6125 * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
6126 Likewise.
6127
ef9772c8
KG
6128 * diagnostic.c (diagnostic_kind_text): Const-ify.
6129 * gengtype.c (lang_names): Likewise.
6130
b0dd4808
JH
6131Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz>
6132
6133 * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
6134
8433a25e
RO
61352002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6136
6137 * config/sol2.h: New file.
6138 * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
6139 (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
6140 (sparc-*-chorusos*): Likewise.
6141 (sparc-*-elf*): Likewise.
6142 (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
6143 (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
6144 (sparc-hal-solaris2*): Likewise.
6145 (sparc-*-solaris2*): Likewise.
6146 (sparclite-*-elf*): Likewise.
6147 (sparc86x-*-elf*): Likewise.
6148 (sparc64-*-elf*): Likewise.
bc9c2952 6149
8433a25e
RO
6150 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
6151 config/sol2.h.
6152 (ASM_SPEC): Override config/sol2.h version for now.
6153 Removed obsolete GAS_REJECTS_MINUS_S variant.
6154 (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
6155 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
6156 (TARGET_OS_CPP_BUILTINS): Likewise.
6157 Assert system=unix.
6158 (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
6159 (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
6160 config/sol2.h.
6161 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
6162 (ASM_CPU_SPEC): Define.
6163 (SUBTARGET_EXTRA_SPECS): Define.
bc9c2952 6164
8433a25e
RO
6165 * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
6166 in config/sparc/sol2.h.
6167 (ASM_SPEC): Moved to config/sol2.h.
6168 (CPP_CPU_SPEC): Simplified.
6169 (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
6170 consistency.
6171 (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
6172 (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
6173 STARTFILE_ARCH64_SPEC.
6174 (STARTFILE_SPEC): Moved to config/sol2.h
6175 (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
6176 (LINK_ARCH32_SPEC): Moved to config/sol2.h.
6177 (LINK_ARCH64_SPEC): Simplified.
6178 (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
6179 (LINK_SPEC): Moved to config/sol2.h
bc9c2952 6180
8433a25e
RO
6181 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
6182 config/sol2.h.
6183 Use BITS_PER_WORD for size.
6184 (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
6185 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
6186 (CPP_PREDEFINES): Removed OS-specific part handled by
6187 TARGET_OS_CPP_BUILTINS.
6188 (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
6189 (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
6190 (ASM_SPEC): Moved to config/sol2.h.
6191 (PREFERRED_DEBUGGING_TYPE): Likewise.
6192 (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
6193 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
6194 (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
6195 (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
bc9c2952 6196
8433a25e
RO
6197 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
6198 * config/i386/sol2gas.h: Removed.
6199
b6bb1d56
JH
6200Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz>
6201
6202 * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
6203
e50b19ce 62042002-06-16 Aldy Hernandez <aldyh@redhat.com>
4e314d1f 6205
e50b19ce
AH
6206 * gcc.c-torture/execute/simd-1.c: New.
6207
6208 * gcc.dg/simd-1.c: New.
6209
6210 * doc/extend.texi (Vector Extensions): Document that we can
6211 specify simd types not specifically supported by the hardware.
6212 Document that simd types can be used as function arguments.
6213 Document that signness does make a difference in SIMD types.
6214 Misc cleanups and revisions to the vector extensions section.
6215
6216 * simplify-rtx.c (simplify_subreg): Simplify subregs of vector
6217 constants.
6218
6219 * expr.c (vector_mode_valid_p): New.
6220
6221 * expr.h: Add vector_mode_valid_p.
6222
6223 * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
6224
6225 * c-common.c (type_for_mode): Always build vector nodes regardless
6226 of VECTOR_MODE_SUPPORTED_P.
6227 (handle_mode_attribute): Error if we can't emulate a nonexisting
6228 vector mode.
6229 (handle_vector_size_attribute): Same.
6230
6231 * optabs.c (expand_binop): Open-code vector operations.
6232 (expand_unop): Open-code vector unops.
6233 (expand_vector_binop): New.
6234 (expand_vector_unop): New.
4e314d1f 6235
e50b19ce
AH
6236 * c-typeck.c (build_binary_op): Allow vectors in binops.
6237 Allow vectors in conditional operatiors.
6238 (build_unary_op): Allow vectors in unary minus.
6239
6240 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
6241 TARGET_ALTIVEC.
6242
74d86f4f
RH
62432002-05-20 Richard Henderson <rth@redhat.com>
6244
6245 * c-common.c (c_common_get_alias_set): Correctly handle characters.
6246 Rearrange order of expressions; don't handle vectors here.
6247 * alias.c (get_alias_set): Let vectors match their components.
6248
1867b624
CD
62492002-06-19 Chris Demetriou <cgd@broadcom.com>
6250
6c535c69 6251 * config/mips/mips.c (mips_emit_prefetch): Use hints which
1867b624
CD
6252 match desired locality.
6253
2c1d2fcb
DD
62542002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
6255
6256 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
6257 (h8300_insert_attributes): New.
6258
84d901be
AD
62592002-06-19 Akim Demaille <akim@epita.fr>
6260
6261 * c-parse.in (initelt: identifier ':' initval): Add an empty
6262 action to fix a type clash.
6263 (aliasdecl, classdef): Add the missing closing `;'.
6264 Whitespace changes.
6265 * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
6266 $$ = $1 type clashes.
6267
8f2e3902
EC
62682002-06-19 Eric Christopher <echristo@redhat.com>
6269
6270 * config/mips/mips.c (symbol_operand): New function.
6271 (mips_emit_prefetch): Ditto.
6272 * config/mips/mips-protos.h: Define.
6273 * config/mips/mips.h (ISA_HAS_PREFETCH): Define.
6274 (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
6275 (LEGITIMIZE_ADDRESS): Ditto.
6276 * config/mips/mips.md (prefetch, prefetch_si_address,
6277 prefetch_si, prefetch_di_address, prefetch_di): New patterns.
6278
c894819c
EC
62792002-06-19 Eric Christopher <echristo@redhat.com>
6280
6281 * config/fp-bit.h: Add unordered defines for gofast.
6282
4005971c
VM
62832002-06-19 Vladimir Makarov <vmakarov@redhat.com>
6284
6285 * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
6286 DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
6287 DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
6288 REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
6289 checking and without it.
6290 (decl_name, decl_mode_check_failed, regexp_name,
6291 regexp_mode_check_failed): New functions.
6292 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
6293 gen_presence_set, gen_absence_set, gen_automaton,
6294 gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
6295 gen_regexp_sequence, gen_reserv, gen_insn_reserv,
6296 automaton_decl_hash, automaton_decl_eq_p): Use the macros.
6297 (find_automaton_decl): Ditto. Set up mode of work_automaton_decl.
6298 (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
6299 (find_insn_decl): Ditto. Set up mode of work_insn_decl.
6300 (decl_hash, decl_eq_p): Use the macros.
6301 (find_decl): Ditto. Set up mode of work_decl.
6302 (process_excls, process_presence_absence, process_decls,
6303 check_automaton_usage, process_regexp, process_regexp_decls,
6304 check_usage, loop_in_regexp, check_loops_in_regexps,
6305 process_regexp_cycles, add_advance_cycle_insn_decl,
6306 initiate_states, initiate_excl_sets,
6307 initiate_presence_absence_sets, copy_insn_regexp, transform_1,
6308 transform_2): Use the macros.
6309 (transform_3): Ditto. Check mode before making transformations of
6310 ALLOF.
6311 (regexp_transform_func, transform_insn_regexps,
6312 process_unit_to_form_the_same_automaton_unit_lists,
6313 form_the_same_automaton_unit_lists_from_regexp,
6314 form_the_same_automaton_unit_lists,
6315 process_seq_for_forming_states, process_alts_for_forming_states,
6316 create_alt_states, form_ainsn_with_same_reservs, make_automaton,
6317 form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
6318 estimate_one_automaton_bound, compare_max_occ_cycle_nums,
6319 units_to_automata_heuristic_distr, create_ainsns,
6320 units_to_automata_distr, create_automata): Use the macros.
6321 (form_regexp): Ditto. Fix typo in access to fields of ALLOF.
6322 (longest_path_length, min_issue_delay_pass_states,
6323 output_dead_lock_vect, output_tables, output_insn_code_cases,
6324 output_internal_insn_latency_func, output_print_reservation_func,
6325 output_description, output_automaton_units, generate): Use the
6326 macros.
6327 (make_insn_alts_attr): Ditto. Check case when there are not
6328 alternatives in the reservation.
6329 (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
6330 make_bypass_attr, form_important_insn_automata_lists,
6331 expand_automata): Use the macros.
c894819c 6332
015089dd
TJ
63332002-06-20 Tim Josling <tej@melbpc.org.au>
6334
6335 * Makefile.in: Clean up code to check for misspecified languages
6336 in enable-languages.
6337
7999462c
AP
63382002-06-19 Andrew Pinski <pinskia@physics.uc.edu>
6339
84d901be 6340 * cpptrad.c (_cpp_replacement_text_len): initialize len.
7999462c 6341
9c8d079c
JM
63422002-06-19 Jason Merrill <jason@redhat.com>
6343
6344 * Makefile.in (unstrap, restrap): New targets.
6345 (bootstrap): Mention restrap.
6346
d90a95fb
MK
63472002-06-19 Matt Kraai <kraai@alumni.cmu.edu>
6348
6349 * except.c (ehl_free): Remove.
6350
6351 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
6352 builtin_define and builtin_define_std.
6353
f01a0d8d
ID
63542002-06-19 Ian Dall <ian@sibyl.beware.dropbear.id.au>
6355
6356 * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
6357 (sCOND): Restrict operand class so that gcc knows how to reload them.
6358 (bitfield_set): Merge two unnamed insn's using alternatives.
6359 (call_value): Remove constraint on unused uperand.
6360 (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
6361 (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
c894819c 6362
f01a0d8d
ID
6363 * longlong.h (count_trailing_zeros): Escape newline and beautify.
6364
62363d99
MM
63652002-06-19 Mark Mitchell <mark@codesourcery.com>
6366
6367 * Makefile.in (QMTEST_DIR): Simplify definition.
6368
099bd656
NC
63692002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
6370
6371 * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
6372 #define.
6373
278c4662
NB
63742002-06-19 Neil Booth <neil@daikokuya.co.uk>
6375
6376 * cpphash.h (struct cpp_reader): Make date and time strings.
6377 (_cpp_builtin_macro_text, _cpp_copy_replacement_text,
6378 _cpp_replacement_text_len): New.
6379 * cppinit.c (cpp_create_reader): Update.
6380 (init_builtins): Register appropriate builtins for -traditional-cpp.
6381 * cppmacro.c (new_number_token): Remove.
6382 (_cpp_builtin_macro_text): New.
6383 (builtin_macro): Use it.
6384 (cpp_macro_definition): Update to handle traditional macros.
6385 * cppmain.c (cb_line_change): Don't do column positioning for
6386 traditional output.
6387 * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New
6388 state ls_fun_close.
6389 (skip_whitespace): Fix.
6390 (maybe_start_funlike): Don't set state.parsing_args.
6391 (scan_out_logical_line): Remove duplicate error. Use lex_state
6392 rather than state.parsing_args.
6393 (push_replacement_text): Handle builtins.
6394 (_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
6395
afd1930f 63962002-06-18 Hans-Peter Nilsson <hp@axis.com>
f01a0d8d 6397 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
afd1930f
HPN
6398
6399 * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
6400 attribute __always_inline__.
6401
5ee924c2
BW
64022002-06-18 Bob Wilson <bob.wilson@acm.org>
6403
6404 * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
6405 when generating the call to _mcount.
6406 (NO_PROFILE_COUNTERS): Define.
6407
32c36ac8
RH
64082002-06-18 Richard Henderson <rth@redhat.com>
6409
6410 * print-rtl.c (print_rtx): Adjust NOTE argument numbers for
6411 2002-06-02 change.
6412
c985dc5e
R
6413Tue Jun 18 20:53:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
6414
6415 * t-sh (MULTILIB_EXCEPTIONS): Set to ml.
6416 config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
6417 * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
6418 * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
e3ba8d11
R
6419
6420 * sh-protos.h (sh_pr_interrupt): Declare.
6421 * sh.c (sh_pr_interrupt): New function.
6422 (print_operand, calc_live_regs, sh_expand_prologue): Use it.
6423 (sh_hard_regno_rename_ok): Likewise.
6424 * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
6425
e3c8eb86
VM
64262002-06-18 Vladimir Makarov <vmakarov@redhat.com>
6427
6428 * rtl.def (DEFINE_AUTOMATON): Add description of new options
6429 `time' and `v'. Fix incorrect description of option `w'.
6430
6431 * doc/md.texi: Ditto.
6432
6433 * genautomata.c (TIME_OPTION, V_OPTION): New macros.
6434 (gen_automata_option): Process the new options.
6435 (transform_2, transform_3): Initialize some variables.
6436 (initiate_automaton_gen): Use the new macros.
c894819c 6437
b2471838
RS
64382002-06-18 Richard Sandiford <rsandifo@redhat.com>
6439
6440 * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
6441 (mips_set_return_address, mips_restore_gp): Declare.
6442 * config/mips/mips.h (struct mips_frame_info): Move to mips.c
6443 (current_frame_info): Remove.
6444 (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
6445 * config/mips/mips.c: Remove uses of current_frame_info.
6446 (struct mips_frame_info): Moved from mips.h. Remove 'insns_len'.
6447 (struct machine_function): Add 'frame' and 'insns_len'.
6448 (current_frame_info, zero_frame_info): Remove.
6449 (mips_restore_gp, mips_set_return_address): New.
6450 (mips_initial_elimination_offset): New.
6451 * config/mips/mips.md (exception_receiver): Use mips_restore_gp.
6452 (eh_return define_split): Use mips_set_return_address.
6453
d97371e0
NB
64542002-06-18 Neil Booth <neil@daikokuya.demon.co.uk>
6455
6456 * cpplib.c (dtable): Update.
6457 (end_directive): Decrement expansion prevention count.
6458 Clear state.in_expression.
6459 (prepare_directive_trad): Set state.in_expression.
6460 Increment expansion prevention count.
6461 * cpptrad.c (enum ls): New.
6462 (_cpp_overlay_buffer): Set overlaid_buffer.
6463 (_cpp_remove_overlay): Use overlaid_buffer.
6464 (_cpp_read_logcial_line_trad): Update buffer when it might
6465 have changed.
6466 (scan_out_logical_line): Handle state transitions for assertions
6467 and defined() in #if, and for funlike invocations including the
6468 directive case. Handle '<' and '>' as a quote mechanism in
6469 #include. Warn about unterminated macro invocations.
6470 * cpphash.h (struct lexer_state): New member in_expression.
6471 (struct cpp_reader): New member overlaid buffer.
6472
807b20b0
HPN
64732002-06-18 Hans-Peter Nilsson <hp@axis.com>
6474
6475 * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
6476 __always_inline__.
6477
8a09a7e5
AM
64782002-06-18 Alan Modra <amodra@bigpond.net.au>
6479
147d5f6f
AM
6480 * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
6481
8a09a7e5
AM
6482 * doloop.c (doloop_optimize): Extract pattern from insn.
6483
390de769
MK
64842002-06-17 Matt Kraai <kraai@alumni.cmu.edu>
6485
6486 * doc/extend.texi (Function Attributes): Remove `,...' from @var.
6487
0ed4a390 64882002-06-17 Jeff Law <law@redhat.com>
912ce297
JL
6489
6490 * libgcc2.c: Do not include symcat.h or machmode.h.
6491
5c45425b
RH
64922002-06-17 Richard Henderson <rth@redhat.com>
6493
6494 PR target/6922
6495 * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
6496
9aa497ae
TT
64972002-06-17 Tom Tromey <tromey@redhat.com>
6498
6499 * dwarfout.c: Include function.h.
6500
7f11f1f9
AS
65012002-06-17 Andreas Schwab <schwab@suse.de>
6502
6503 * print-rtl.c (print_rtx): Print space before vector, not after.
6504 (debug_rtx): Clear sawclose before printing.
6505 (debug_rtx_list): Print newline after each list element.
6506 (debug_rtx_range): Likewise.
6507
df696a75
RH
65082002-06-17 Richard Henderson <rth@redhat.com>
6509
6510 * function.h (struct function) [funcdef_no]: Rename profile_label_no.
6511 (current_function_funcdef_no): Similarly.
6512 * function.c (funcdef_no): Similarly.
6513 (prepare_function_start): Set current_function_funcdef_no.
6514 (expand_function_start): Don't set current_function_profile_label_no.
6515 * dwarf2out.h (current_funcdef_number): Remove.
6516 * dwarf2out.c (current_funcdef_number): Remove. Replace with
6517 current_function_funcdef_no throughout.
6518 * dwarfout.c, vmsdbgout.c: Similarly.
6519 * except.c (sjlj_funcdef_number): Remove.
6520 (sjlj_emit_function_enter): Use current_function_funcdef_no instead.
6521 (output_function_exception_table): Likewise.
6522 * final.c (profile_function): Use current_function_funcdef_no
6523 instead of current_function_profile_label_no.
6524
97272202
VM
65252002-06-17 Vladimir Makarov <vmakarov@redhat.com>
6526
6527 * sched-ebb.c (init_ready_list): Check INSN_P first.
6528
8bccce2d
R
6529Mon Jun 17 17:26:15 2002 J"orn Rennecke <joern.rennecke@superh.com>
6530
6531 * sh.md (divsi3): Update way how to find insns in a sequence.
dec0798e
R
6532
6533 * reload1.c (merge_assigned_reloads): Don't change reloads
6534 other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
6535 to RELOAD_OTHER when there are conflicting input reloads.
6536
0af5c896
RE
65372002-06-17 Richard Earnshaw (rearnsha@arm.com)
6538
6539 * function.c (epilogue_done): Correctly build a sequence of insns for
6540 a sibcall epilogue.
6541
9d0fa9d6
NC
65422002-06-17 Nick Clifton <nickc@cambridge.redhat.com>
6543
845b1456
NC
6544 * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
6545 #define.
6546
9d0fa9d6
NC
6547 * config/m32r/m32r.md: Replace gen_sequence with get_insns.
6548
e83f3cff
RH
65492002-06-16 Richard Henderson <rth@redhat.com>
6550
6551 * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
6552 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
6553
caecc099
RH
65542002-06-16 Richard Henderson <rth@redhat.com>
6555
6556 PR opt/6722
6557 * regclass.c (globalize_reg): Update regs_invalidated_by_call.
6558
3d05b15f
NB
65592002-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
6560
caecc099
RH
6561 * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
6562 * config/i386/i386-aout.h, config/i386/i386elf.h,
6563 config/i386/sysv4.h: Remove CPP_PREDEFINES.
6564 * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
6565 config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
6566 config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
6567 config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
3d05b15f 6568 CPP_PREDEFINES and part of CPP_SPEC.
caecc099 6569 * config/i386/sysv4-cpp.h: New.
3d05b15f 6570
8370aa3a
RH
65712002-06-16 Richard Henderson <rth@redhat.com>
6572
65a90f3c 6573 PR c/7030
8370aa3a
RH
6574 * dwarf2out.c (modified_type_die): Don't assign the qualified die
6575 to the unqualified type.
6576
e932b21b
JH
6577Sun Jun 16 22:16:10 CEST 2002 Jan Hubicka <jh@suse.cz>
6578
6579 * i386-protos.h (x86_field_alignment): Declare.
6580 * i386.c (x86_field_alignment): Define.
6581 * i386.h (ADJUST_FIELD_ALIGNMENT): New.
6582 (BIGGEST_FIELD_ALIGNMENT): Kill.
6583
7ee02381
RH
65842002-06-16 Richard Henderson <rth@redhat.com>
6585
f01a0d8d 6586 * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
7ee02381 6587
750491fc
RH
65882002-06-16 Richard Henderson <rth@redhat.com>
6589
6590 * c-common.c (flag_ms_extensions): Move from c++ front end.
6591 * c-common.h (flag_ms_extensions): Declare.
6592 * c-decl.c (c_decode_option): Add -fms-extensions.
6593 (grokfield): Don't accept anonymous structures in ISO C mode;
6594 accept only unnamed anonymous structures in GNU C mode; accept
6595 Plan 9 extensions in MS mode.
6596 * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
6597 SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
6598 (extension): Clear flag_iso.
6599 * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
6600
c134da6b
HPN
66012002-06-16 Hans-Peter Nilsson <hp@axis.com>
6602
6603 PR target/7042
6604 * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
6605 early if current_function_epilogue_delay_list is non-empty.
6606 * config/cris/cris.md ("return"): Add sanity check asserting that
6607 current_function_epilogue_delay_list is empty.
6608
038c7976
JL
66092002-06-16 Jeff Law <law@redhat.com>
6610
006a94b0
JL
6611 * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
6612 sharing of hard registers.
6613
6614 * toplev.c (rest_of_compilation): Remove redundant conditional.
6615
038c7976
JL
6616 * toplev.c (rest_of_compilation): Perform a simpler, less costly
6617 cleanup of the CFG when not optimizing.
6618
0797741a
AM
66192002-06-16 Alan Modra <amodra@bigpond.net.au>
6620
6621 * gcc.c (main): Correct startfile_prefix_spec check.
6622
a6e2e53e
GK
66232002-06-12 Geoffrey Keating <geoffk@redhat.com>
6624
6625 * config.gcc: Revert rth's patch of 2002-05-18. Instead,
6626 include both darwin.o and rs6000-c.o.
6627
129e0ee8
RS
66282002-06-15 Roger Sayle <roger@eyesopen.com>
6629
6630 * expr.c (compare_from_rtx): Call simplify_relational_operation
6631 on all comparisons, not just those between integer constants,
6632 with the correct (possibly unsigned) comparison code.
6633 (do_compare_rtx_and_jump): Likewise.
6634
d5355cb2
JDA
66352002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
6636
6637 * Makefile.in (tm_defines): New configuration variable.
6638 (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
6639 Pass tm_defines in TM_DEFINES.
6640 (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES.
6641 * config.gcc (tm_defines): New configuration variable.
6642 (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
6643 pa-7100.h headers. Change hppa1* scheduling default to 7100LC.
6644 * configure.in: Substitute tm_defines.
6645 * configure: Rebuilt.
6646 * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES.
6647 * doc/install.texi: Update.
6648 * pa/pa-700.h: Delete file.
6649 * pa/pa-7100.h: Delete file.
6650
8dcb27ed
RS
66512002-06-15 Roger Sayle <roger@eyesopen.com>
6652
6653 * fold-const.c (comparison_to_compcode): New function to convert
6654 an comparison TREE CODE into a bit-based representation.
6655 (compcode_to_comparison): New function to convert from this bit
6656 based representation back to a comparison TREE CODE.
6657 (fold_truthop): Simplify (x<y) && (x==y) and related composite
6658 comparisons.
6659
182e515e
AH
66602002-06-15 Aldy Hernandez <aldyh@redhat.com>
6661
f01a0d8d 6662 * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
182e515e 6663
f01a0d8d
ID
6664 * stor-layout.c (compute_record_mode): Remove check for
6665 FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
6666 MEMBER_TYPE_FORCES_BLK. Pass new mode field to
6667 MEMBER_TYPE_FORCES_BLK.
182e515e 6668
f01a0d8d 6669 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 6670
f01a0d8d 6671 * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 6672
8773135d
JS
66732002-06-14 Jeff Sturm <jsturm@one-point.com>
6674
6675 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
6676
893a047c
SE
66772002-06-14 Steve Ellcey <sje@cup.hp.com>
6678
6679 * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
6680 USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
6681 * configure, config.in: Regenerate.
6682
045d7161
EB
66832002-06-14 Eric Botcazou <ebotcazou@multimania.com>
6684
6685 * loop.c (check_final_value): Use v->always_executed
6686 instead of v->always_computable.
6687 * unroll.c (final_giv_value): Don't calculate the final
6688 value as a function of the biv if the giv is not computed
6689 for every loop iteration.
6690
048c8616 66912002-06-14 Eric Botcazou <ebotcazou@multimania.com>
c894819c 6692
048c8616
EB
6693 * loop.c (for_each_insn_in_loop): Fix formatting and comments.
6694
43e4a9d8
EB
66952002-06-14 Eric Botcazou <ebotcazou@multimania.com>
6696
52689a98 6697 PR c/6677
43e4a9d8
EB
6698 * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
6699 the truncation down when the target type is signed.
6700 [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
6701 * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
6702 the conversion if the target type is a smaller type.
6703
fa4a5557
RH
67042002-06-14 Richard Henderson <rth@redhat.com>
6705
6706 * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
6707 earlier. Re-factor comparisons vs extrema.
6708
d95eb49f
RH
67092002-06-14 Richard Henderson <rth@redhat.com>
6710
6711 * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
6712
be202ec2
FS
67132002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6714
6715 * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
6716 * sched-deps.c (add_dependence): Likewise.
6717 (group_leader): Likewise.
6718 * sched-rgn.c (init_ready_list): Likewise.
6719 * doc/rtl.texi: Adjust accordingly.
6720
e56c4463
JL
67212002-06-13 Jeffrey Law <law@redhat.com>
6722
99a15921
JL
6723 * gcse.c (delete_null_pointer_checks_1): Inform caller if any
6724 null pointer checks were eliminated. Update prototype.
6725 (delete_null_pointer_checks): Similarly.
6726 * rtl.h (delete_null_pointer_checks): Update prototype.
6727 * toplev.c (rest_of_compilation): Only run cleanup_cfg if
6728 delete_null_pointer_checks deletes one or more null
6729 pointer checks. Do not run cleanup_cfg before gcse, the
6730 CFG is accurate and optimized at that point..
6731
e56c4463
JL
6732 * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
6733 of hard registers.
6734
556b821e
UW
67352002-06-14 Ulrich Weigand <uweigand@de.ibm.com>
6736
6737 * Makefile.in (libgcc.mk): Depend on specs.
6738
fa60f36d
R
6739Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com>
6740
6741 * sh.md (mulsi3): Update way how to find insns in a sequence.
6742
03b8ec29
DD
6743Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com>
6744
6745 * sh.h: Define HARD_REGNO_RENAME_OK
6746 * sh.c: sh_hard_regno_rename_ok: New. If current function has
6747 interrupt_handler attribute, only registers saved on stack are OK.
6748 * sh-protos.h: Declare sh_hard_regno_rename_ok.
6749
8e831557
KK
67502002-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
6751
6752 * config/sh/sh.md (jump): Emit jump insn.
6753 (call_pcrel): Get pattern of the result of gen_call_site.
6754 (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
6755
bf9d5852
NB
67562002-06-14 Neil Booth <neil@daikokuya.demon.co.uk>
6757
6758 * cpphash.h (struct cpp_buffer): Remove saved_line_base.
6759 * cpptrad.c: Update comments.
6760 (skip_whitespace, copy_comment): Take a new parameter.
6761 (skip_escaped_newlines): Don't duplicate escaped newline test.
6762 (copy_comment): Different location for CUR, decide here how
6763 to copy / replace the comment.
6764 (skip_whitespace): Copy whitespace.
6765 (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
6766 (scan_out_logical_line): Let copy comment handle keeping or
6767 replacing comments.
6768 (scan_parameters, _cpp_create_trad_definition): Update.
6769
57292ec3
AL
67702002-06-13 Alan Lehotsky <apl@alum.mit.edu>
6771
6772 * reload.c (get_secondary_mem,find_reloads_address,
6773 find_reloads_address_1): Pass reference to MEM to find_reloads_address
6774 so that LEGITIMIZE_RELOAD_ADDRESS will be called.
c894819c 6775
a6f5e048
RH
67762002-06-13 Jessica Han <jessica@cup.hp.com>
6777
6778 * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
6779 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
6780 * doc/tm.texi: Document them.
6781 * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
6782 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
6783 (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
6784 (ASM_OUTPUT_FDESC): Likewise.
6785
3aafa0bb
EC
67862002-06-13 Eric Christopher <echristo@redhat.com>
6787
6788 * diagnostic.c (output_format): Fix thinko.
6789
8e581963
R
6790Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
6791
6792 * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
6793 (DWARF2_UNWIND_INFO): Define to 0.
9d7ed806
R
6794
6795 * config/sh/sh.c (calc_live_regs): Don't use initial_value
6796 optimization for PR_MEDIA_REG.
6797
b66377c1
NB
67982002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
6799
6800 * cpphash.h (_cpp_lex_identifier_trad): Remove.
6801 * cpplib.c (end_directive): Don't skip, always remove overlay
6802 apart from #define.
6803 (prepare_directive_trad): Handle NULL pfile->directive.
6804 (_cpp_handle_directive): Always call prepare_directive_trad
6805 if traditional.
6806 * cppmain.c (check_multiline_token): Rename account_for_newlines,
6807 generalize inputs.
6808 (scan_translation_unit_trad): Use it.
6809 * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
6810 output, get escaped newline in comment close correct.
6811 (check_output_buffer, skip_whitespace): Update.
6812 (_cpp_lex_identifier_trad): Remove.
6813 (scan_out_logical_line): Handle -C and comments in directives
6814 properly.
6815
8bc6e101
R
6816Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
6817
6818 * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
6819 * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
6820 * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
6821 (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
6822 (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
6823 (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
6824 (SELECT_SH5_COMPACT_NOFPU): Likewise.
6825 (TARGET_SWITCHES): Use them.
6826 (TARGET_CPU_DEFAULT): Define if not already defined.
6827 (TARGET_DEFAULT): Use it.
6828 (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
6829 * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
6830 * config/sh/t-monolib: New file.
6831
2181005d
RS
68322002-06-13 Roger Sayle <roger@eyesopen.com>
6833
6834 * toplev.c (rest_of_compilation): Simplify (and correct) the
6835 logic of the first delete-null-pointer-checks pass.
6836
aaae0bb9
JH
6837Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz>
6838
6839 * i386.c (ix86_expand_movstr): Fix pasto.
6840
6841Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
b80cb6e2
JH
6842
6843 * reload.c (find_valid_class): Fix thinko in my previous patch.
6844
dd3fbd93
UW
68452002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
6846
6847 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
6848 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
6849 (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
6850 (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
6851
0d0f605c
GDR
68522002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
6853
6854 * tree-inline.c (expand_call_inline): Don' mess with _DECL
3aafa0bb 6855 fields.
0d0f605c 6856
c92bcccb
GDR
68572002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
6858
6859 * diagnostic.c (output_format): Recognize "%H" as a format
6860 specifier for a location_t.
6861 (text_specifies_location): New function.
6862 (diagnostic_set_info): Use it.
6863
7f243674
JL
68642002-06-13 Jeffrey Law <law@redhat.com>
6865
6cde4876
JL
6866 * emit-rtl.c (static_regno_reg_rtx): Define.
6867 (init_emit_once): Initialize static_regno_reg_rtx.
6868 (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
6869 of building new hard reg objects once per function.
6870 (gen_rtx_REG): Try to share hard regs.
6871 * regclass.c (init_fake_stack_mems): New function broken out from
6872 init_regs.
6873 * rtl.h (init_fake_stack_mems): Declare.
6874 * toplev.c (lang_independent_init): Call init_regs before
6875 init_emit_once. Call init_fake_stack_mems after init_emit_once.
6876
110b3faa
JL
6877 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
6878
7f243674
JL
6879 * alias.c (argument_registers): Remove.
6880 (init_alias_once): Initialize static_reg_base_value here. Remove
6881 initialization of argument_registers.
6882 (init_alias_once_per_function): Remove.
6883 (init_alias_analysis): Copy all the entries from static_reg_base_value
6884 into new_reg_base_value all at once.
6885 * rtl.h (init_alias_once_per_function): Remove declaration.
6886 * function.c (prepare_function_start): Do not call
6887 init_alias_once_per_function.
6888
6889 * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
6890 starting a sequence and emitting an INSN.
6891
a336f2e5
RS
68922002-06-13 Richard Sandiford <rsandifo@redhat.com>
6893
6894 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
6895
2acf0fa9
DM
68962002-06-13 David S. Miller <davem@redhat.com>
6897
6898 * expmed.c (init_expmed): Remove duplicate init of 'reg'.
6899
974c43f1
NB
69002002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
6901
6902 * cpplib.c (end_directive): Handle line skipping. Only remove
6903 the rest of the line if the directive was valid.
6904 * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
6905 expanding a traditional macro.
6906 * cpptrad.c (recursive_macro): New.
6907 (read_logical_line_trad): Handle skipping.
6908 (scan_out_logical_line): Continue after a successful directive.
6909 Don't expand macros whilst skipping, or if recursing.
6910 (_cpp_create_trad_definition): scan_out_logical_line now sets
6911 the output current position.
6912
12bf26b6
EC
69132002-06-12 Eric Christopher <echristo@redhat.com>
6914
6915 From Chris Demetriou <cgd@broadcom.com>
6916 * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
6917 comment.
6918 (ISA_HAS_MADD_MSUB): Ditto.
6919 (ISA_HAS_NMADD_NMSUB): Ditto.
6920
be95b8a5
EC
69212002-06-12 Eric Christopher <echristo@redhat.com>
6922
6923 * config.gcc: Consolidate little endian handling and
6924 little/big endian targets.
6925 * config/mips/elfl.h: Remove file.
6926 * config/mips/elfl64.h: Ditto.
6927 * config/mips/ecoffl.h: Ditto.
6928 * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
6929
e03856fe
GK
69302002-06-12 Geoffrey Keating <geoffk@redhat.com>
6931
6932 * gengtype.h (xvasprintf): New prototype.
6933 (xasprintf): New prototype.
6934 (struct outf): New.
6935 (get_output_file): Return an outf_p.
6936 (header_file): Is now an outf_p.
6937 (base_files): Now are outf_p.
6938 (oprintf): New.
6939 * gengtype.c: Replace all output FILE * with outf_p; use oprintf
6940 rather than stdio operations. Use xasprintf in a few places,
6941 when appropriate.
6942 (xvasprintf): New.
6943 (xasprintf): New.
6944 (struct filemap): Delete.
6945 (files): Delete.
6946 (output_files): New.
6947 (oprintf): New.
6948 (create_file): Create an outf_p. Add parameter to indicate output
6949 file name, change all callers.
6950 (open_base_files): Create gtype-desc.c here.
6951 (get_output_file_with_visibility): Rewrite.
6952 (get_output_file_name): Just look at 'name' field in struct outf.
6953 (close_output_files): Rewrite.
6954
ec01703c
JT
69552002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
6956
6957 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
be95b8a5 6958 (MASK_G_FLOAT): Define.
ec01703c
JT
6959 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
6960 (TARGET_SWITCHES): Likewise.
6961 (TARGET_DEFAULT): Likewise.
6962
8b0397a6
DJ
69632002-06-12 Daniel Jacobowitz <drow@mvista.com>
6964
6965 * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
6966 * config/mips/mips.c (mips_output_filename): Don't print a
6967 ".file" directive if we are using DWARF-2.
6968 (mips_output_function_prologue): Do not emit source file
6969 name for TARGET_GAS.
6970
495333a6
JH
6971Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
6972
6973 * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
6974 decide whether emit the short opcode.
6975 * i386.h (x86_shift1): Declare.
6976 (TARGET_SHIFT1): New macro.
6977 * i386.c (x86_shift1): New global variable.
6978
8b0397a6
DJ
6979 * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
6980 unconditionally; make loop to rebuild CFG; kill unnecesary
6981 find_basic_block calls; kill compute_bb_for_insn call.
495333a6
JH
6982 * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
6983 * haifa-sched.c (sched_init): Likewise.
6984 * ssa-ccp.c (ssa_const_prop): Likewise.
6985 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
6986
d11cea13
DM
69872002-06-11 David S. Miller <davem@redhat.com>
6988
6989 * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
6990 active_insn_p.
6991
676997cf
RH
69922002-06-11 Richard Henderson <rth@redhat.com>
6993
6994 * c-common.c (builtin_define_type_max): New.
6995 (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
6996 __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
6997
6998 From Joseph S. Myers:
6999 * glimits.h: Rewrite to expect the double underscore definitions
7000 from the compiler.
7001
7002 * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
7003 config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
7004 config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
7005 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
7006 config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
7007 config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
7008 config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
7009 __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
7010
116b7a5e
RH
70112002-06-11 Richard Henderson <rth@redhat.com>
7012
7013 * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
7014 (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
7015 (code_for_builtns): Update.
7016 (alpha_init_builtins): Add __builtin_thread_pointer and
7017 __builtin_set_thread_pointer.
7018 (alpha_expand_builtin): Handle void builtins.
7019 * doc/extend.texi (Alpha Built-in Functions): Update.
7020
0cec6af1
HPN
70212002-06-11 Hans-Peter Nilsson <hp@axis.com>
7022
7023 PR target/6997
7024 * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
7025
1c0ca89d
ZW
70262002-06-11 Zack Weinberg <zack@codesourcery.com>
7027
7028 * config.gcc: Make the name of the extra-modes file adjustable
7029 by target stanzas.
7030 (s390x, strongarm, xscale stanzas): Use this facility.
7031 * configure.in: Update to match.
7032 * configure: Regenerate.
7033
5dc8d536
AH
70342002-06-11 Aldy Hernandez <aldyh@redhat.com>
7035
1c0ca89d
ZW
7036 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
7037 max/mins as unsigned GE compares.
5dc8d536 7038
169274cd
JT
70392002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
7040
1c0ca89d 7041 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
169274cd
JT
7042 * config/vax/bsd.h: New file.
7043 * config/vax/netbsd.h: Add missing notice.
1c0ca89d
ZW
7044 (CPP_PREDEFINES): Remove.
7045 (TARGET_OS_CPP_BUILTINS): Define.
7046 (CPP_SPEC): Use NETBSD_CPP_SPEC.
169274cd
JT
7047 * config/vax/openbsd.h: Update copyright years.
7048 (CPP_PREDEFINES): Remove.
7049 (TARGET_OS_CPP_BUILTINS): Define.
7050 * config/vax/ultrix.h: Likewise.
7051 * config/vax/vaxv.h: Likewise.
7052 * config/vax/vms.h: Likewise.
7053 * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
7054 (CPP_PREDEFINES, CPP_SPEC): Remove.
7055
2f41793e
JH
7056Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz>
7057
7058 * i386.md (addqi_1_slp, subqi_1_slp
7059 (andqi_ext0, testqi_ext0): Remove unnecesary check.
7060 (addhi*, addqi*): Simplify "dec" condition.
7061 (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
7062 (and, or, xor to QImode splitters): New.
7063 (iorqi_ext*): New.
7064 (xorqi_ext_0): New.
7065 (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
7066 (andqi_ext_1_rex64): New.
7067 (ashrqi*_slp): New.
7068 (ashlqi*_slp): New.
7069 (lshlqi*_slp): New.
7070 (rotrqi3*_slp): New.
7071 (rotlqi3*_slp): New.
7072
fc5c400a
GK
70732002-06-11 Geoffrey Keating <geoffk@redhat.com>
7074
4c4eb375
GK
7075 * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
7076 softfloat.h.
7077 * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
7078 (CPP_ENDIAN_LITTLE_SPEC): Delete.
7079 * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
7080 * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
7081 __LONG_DOUBLE_128__ setting, _CALL_* setting.
7082 (CPP_DEFAULT_SPEC): Delete.
7083 (CPP_FLOAT_DEFAULT_SPEC): Delete.
7084 (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
7085 (CPP_SYSV_DEFAULT_SPEC): Delete.
7086 (CPP_ENDIAN_BIG_SPEC): Delete.
7087 (CPP_ENDIAN_LITTLE_SPEC): Delete.
7088 (CPP_ENDIAN_SPEC): Delete.
7089 (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
7090 (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
7091 cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
7092 cpp_longdouble_default.
7093 * config/rs6000/softfloat.h: Delete.
7094 * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
7095 (EXTRA_SPECS): Delete cpp_cpu.
7096 (TARGET_CPU_CPP_BUILTINS): New.
7097 * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
7098 prototype.
7099 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
7100 * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
7101 (CPP_DEFAULT_SPEC): Delete.
7102 * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
7103 * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
7104 * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
7105 (CPP_DEFAULT_SPEC): Delete.
7106 * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
7107 (CPLUSPLUS_CPP_SPEC): Likewise.
7108 (CPP_CPU_SPEC): Delete.
7109 (CPP_DEFAULT_SPEC): Delete.
7110 * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
7111 (CPLUSPLUS_CPP_SPEC): Likewise.
7112 (CPP_CPU_SPEC): Delete.
7113 (CPP_DEFAULT_SPEC): Delete.
7114 * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
7115 (CPP_DEFAULT_SPEC): Delete.
7116 * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
7117 (CPP_DEFAULT_SPEC): Delete.
7118
fc5c400a
GK
7119 * doc/gty.texi: Small updates.
7120
13f0d49c
GDR
71212002-06-12 Gabriel Dos Reis <gdr@codesourcery.com>
7122
7123 * objc/objc-act.c (warn_with_ivar): Adjust calls to
7124 diagnostic_count_error.
7125 (warn_with_method): Likewise.
7126
7127 * diagnostic.h (warnings_are_errors_message): New field of
7128 diagnostic_context.
7129 (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
7130 match semantics.
7131 * diagnostic.c: Adjust calls to diagnostic_count_error through out.
7132 (diagnostic_count_diagnostic): Make aware of other kinds of
1c0ca89d 7133 diagnostics.
13f0d49c
GDR
7134 (diagnostic_initialize): Initialize warnings_are_errors_message field.
7135
0797e472
TT
71362002-06-11 Tom Tromey <tromey@redhat.com>
7137
7138 For PR java/6520:
7139 * fold-const.c (fold_convert): Don't modify existing tree's type.
7140
f288d4aa
GK
71412002-06-11 Geoffrey Keating <geoffk@redhat.com>
7142
7143 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
7144
d27bab4c
RH
71452002-06-11 Richard Henderson <rth@redhat.com>
7146
7147 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
7148
bc2a8f08
RH
71492002-06-11 Richard Henderson <rth@redhat.com>
7150
1c0ca89d 7151 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
bc2a8f08
RH
7152 DWARF2_UNWIND_INFO is false.
7153
b217ec1b
BW
71542002-06-11 Bob Wilson <bob.wilson@acm.org>
7155
7156 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
7157
11819f80
UW
7158 * config/s390/s390.c (emit_prologue): gen_store_multiple
7159 returns an insn now, not a pattern.
7160
c2727579
RO
71612002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7162
7163 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
7164 $(TEXI2DVI) -o.
7165
285464d0
JH
7166Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
7167
7168 * i386.c (x86_promote_QImode): Set for Athlon
7169 (x86_fast_prefix): New global variable.
7170 (x86_arch_always_fancy_math_387): Fix formating.
7171 * i386.h (x86_fast_prefix): Declare
7172 (TARGET_FAST_PREFIX): define.
7173 * i386.md (and to strict_low_part, HI to SI
7174 promoting splitter): Use new macro.
7175
7176 * i386.h (RTX_COSTS): float_extend is not for free for SSE.
7177
1bb1f121
ZW
71782002-06-11 Zack Weinberg <zack@codesourcery.com>
7179
7180 * Makefile.in (distclean): Delete junk left in testsuite
7181 directory, too.
7182
88c65786
JL
71832002-06-11 Jeffrey Law <law@redhat.com>
7184
c6a3fcf0
JL
7185 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
7186 last insn created by the splitter.
7187
0db79a6b
JL
7188 * caller-save.c (init_caller_save): Move creation of SAVEINSN
7189 and RESTINSN into into the scope of the sequence.
7190
47eb2ca8
JL
7191 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
7192 RETURN insns.
7193
603b4b92
JL
7194 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
7195
88c65786
JL
7196 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
7197 not the pattern. So extract the pattern from the insn.
882c7223
JL
7198
7199 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
7200
df14489a
UW
72012002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
7202
7203 * config/s390/s390.md (movsi): Only use floating point
7204 register alternatives when operands are already fprs.
7205 (movdi_31, movdi_64): Likewise.
7206
6f9703af
DM
72072002-06-11 David S. Miller <davem@redhat.com>
7208
7209 * emit-rtl.c (try_split): Do not abort on non-INSN_P.
7210 Only run RTX equality checks on INSN_P rtl.
7211
b2ccb744
UW
72122002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
7213
7214 * config/s390/s390.md (reload_base, ltorg): Remove.
1c0ca89d 7215 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744 7216 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
1c0ca89d 7217 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744
UW
7218 s390_asm_output_pool_prologue): Likewise.
7219 * s390.h (s390_pool_start_insn): Likewise.
7220
1c0ca89d 7221 * s390.c (s390_output_symbolic_const): Remove support for
b2ccb744
UW
7222 old-style pool chunks.
7223 (s390_function_epilogue): Likewise.
1c0ca89d 7224 (s390_output_constant_pool): Likewise. Also, fix incorrect
b2ccb744
UW
7225 alignment for 64-bit literal pools.
7226 (print_operand_address): Remove 'y' and 'Y' format flags.
1c0ca89d 7227 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
b2ccb744
UW
7228 old-style pool chunks.
7229 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
7230 (ASM_OUTPUT_POOL_EPILOGUE): Remove.
7231 (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
7232
7233 * s390.c (consttable_operand): New function.
7234 * s390-protos.h (consttable_operand): Declare it.
7235 * s390.h (PREDICATE_CODES): Add consttable_operand.
1c0ca89d
ZW
7236 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
7237 consttable_sf, consttable_df, pool_start_31, pool_end_31,
b2ccb744
UW
7238 pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
7239 * s390.c (struct constant, struct constant_pool): New data types.
7240 (constant_modes, gen_consttable): New variables.
1c0ca89d 7241 (s390_start_pool, s390_end_pool, s390_add_pool,
b2ccb744 7242 s390_dump_pool, s390_free_pool): New functions.
1c0ca89d 7243 (s390_chunkify_pool): Completely reimplement literal pool
b2ccb744
UW
7244 overflow handling.
7245
7246 * s390.c (s390_pool_overflow): New variable.
7247 * s390.h (s390_pool_overflow): Declare it.
1c0ca89d 7248 * s390.md (cjump, icjump): Use it to adapt length for out-of-range
b2ccb744
UW
7249 jumps in literal pool overflow situations.
7250
7251 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
1c0ca89d 7252 (s390_frame_info): Account for possible use of RETURN_REGNUM
b2ccb744
UW
7253 by new literal pool overflow code.
7254 (s390_emit_prologue): Likewise.
7255
2f937369
DM
72562002-06-05 David S. Miller <davem@redhat.com>
7257
7258 Delete SEQUENCE rtl usage outside of reorg and ssa passes.
7259 * rtl.h (gen_sequence, emit_insns, emit_insns_before,
7260 emit_insns_before_scope, emit_insns_after,
7261 emit_insns_after_scope): Delete declaration.
7262 * ada/misc.c (insert_code_for): Use emit_insn* instead of
7263 emit_insns_foo.
7264 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
7265 (alpha_set_memflags): Fix comment.
7266 (set_frame_related_p): Use get_insns instead of gen_sequence.
7267 * config/alpha/alpha.md (setjmp receiver splitter): Avoid
7268 emitting no insns.
7269 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
7270 gen_sequence.
7271 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
7272 * config/fr30/fr30.c (fr30_move_double): Likewise.
7273 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
7274 Likewise.
7275 * config/ia64/ia64.c (spill_restore_mem): Likewise.
7276 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
7277 no insns.
7278 * config/m32r/m32r.c (gen_split_move_double): Use get_insns
7279 instead of gen_sequence.
7280 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
7281 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
7282 * config/sh/sh.c (sh_need_epilogue): Likewise.
7283 * config/sparc/sparc.md (current_function_calls_alloca, flat): New
7284 attributes.
7285 (setjmp pattern and split): Use them to avoid splitter which emits
7286 no RTL.
7287 * genattrtab.c (main): Emit include of function.h
7288 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
7289 get_insns instead of gen_sequence.
7290 * config/cris/cris.c (cris_split_movdx): Likewise.
7291 * emit-rtl.c (emit_insns*): Kill.
7292 (try_split): Expect insn list instead of SEQUENCE.
7293 (make_jump_insn_raw, make_call_insn_raw): Fix comments.
7294 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
7295 Make them abort if a SEQUENCE is given and RTL checking is
7296 enabled.
7297 (emit_*_scope): Don't forget to set scope on final insn.
7298 (gen_sequence): Move from here...
7299 * ssa.c (gen_sequence): To here as private function.
7300 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
7301 comments.
7302 (expand_builtin_return, expand_builtin_mathfn): Likewise.
7303 (expand_builtin_strlen): Use get_insns instead of gen_sequence.
7304 (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
7305 (expand_builtin_expect_jump): Use get_insns and fix comments.
7306 * calls.c (try_to_integrate): Use emit_insn_foo.
7307 (expand_call, emit_library_call_value_1): Likewise.
7308 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
7309 (emit_move_insn_1): Use get_insns instead of gen_sequence.
7310 (expand_expr): Use emit_insn_foo.
7311 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
7312 * except.c (build_post_landing_pads): Likewise.
7313 * flow.c (attempt_auto_inc): Likewise.
7314 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
7315 expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
7316 * function.c (fixup_var_refs_insn): Use get_insns instead of
7317 gen_sequence.
7318 (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
7319 (fixup_memory_subreg): Use get_insns instead of gen_sequence.
7320 (fixup_stack_1, purge_addressof_1, expand_main_function,
7321 get_arg_pointer_save_area): Likewise.
7322 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
7323 expand_function_end): Use emit_insn_foo.
7324 (record_insns, keep_stack_depressed): Work with insn list instead
7325 of SEQUENCE, fix comments.
7326 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
7327 noce_try_store_flag_constants, noce_try_store_flag_inc,
7328 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
7329 noce_try_minmax, noce_try_abs): Use emit_insn_foo.
7330 (noce_process_if_block): Use get_insns instead of gen_sequence.
7331 * optabs.c (add_equal_note): Work with insn list, fix comments.
7332 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
7333 (expand_unop, expand_complex_abs, expand_unop_insn,
7334 expand_no_conflict_block): Likewise.
7335 (gen_move_insn): Use get_insns instead of gen_sequence.
7336 (gen_cond_trap): Likewise.
7337 * integrate.c (copy_rtx_and_substitute): Likewise.
7338 (emit_initial_value_sets): Use emit_insn_foo.
7339 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
7340 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
7341 now that RTL generators give insn lists.
7342 * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
7343 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
7344 instead of gen_sequence.
7345 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
7346 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
7347 instead of gen_sequence.
7348 * loop.c (move_movables, emit_prefetch_instructions,
7349 gen_add_mult, check_dbra_loop, gen_load_of_final_value):
7350 Likewise.
7351 (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
7352 (product_cheap_p): Likewise, and add commentary about RTL wastage
7353 here.
7354 * lcm.c (optimize_mode_switching): Use get_insns instead of
7355 gen_sequence.
7356 * profile.c (gen_edge_profiler): Likewise.
7357 * regmove.c (copy_src_to_dest): Likewise.
7358 * reg-stack.c (compensate_edge): Likewise and fix comment.
7359 * gcse.c (process_insert_insn): Likewise.
7360 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
7361 * jump.c (delete_prior_computation): Update comment.
7362 * genemit.c (gen_expand, gen_split, main): Use get_insns instead
7363 of gen_sequence, update comments to match.
7364 * recog.c (peephole2_optimize): Work with insn lists instead of
7365 SEQUENCE rtl.
7366 * sched-vis.c (print_pattern): Abort on SEQUENCE.
7367 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
7368 Use get_insns instead of gen_sequence.
7369 (copy_loop_body): Likewise and don't emit dummy NOTE.
7370 * genrecog.c: Don't mention SEQUENCE rtl in comments.
7371 * combine.c (try_combine): Expect insn lists from split generator.
7372 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
7373 hand.
1c0ca89d 7374
43cf10b5
RS
73752002-06-11 Roger Sayle <roger@eyesopen.com>
7376 Andreas Jaeger <aj@suse.de>
7377
7378 * cfgbuild.c: Update copyright years.
7379
1062f15a
AS
73802002-06-11 Andreas Schwab <schwab@suse.de>
7381
1c0ca89d 7382 * config/m68k/m68k.h (PREDICATE_CODES): Define.
1062f15a 7383
ce3649d2
EC
73842002-06-11 Eric Christopher <echristo@redhat.com>
7385
7386 * doc/tm.texi (Run-time Target): Add comment about flag_iso
7387 and strict ANSI.
7388 * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
7389 * config/mips/ecoffl.h: Ditto.
7390 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
7391 (CPP_PREDEFINES): Ditto.
7392 * config/mips/elfl64.h: Ditto.
7393 * config/mips/elfl.h: Ditto.
7394 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
7395 out until irix header consolidation.
7396 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
7397 with SUBTARGET_OS_CPP_BUILTINS.
7398 * config/mips/iris6.h: Ditto.
7399 (CPLUSPLUS_CPP_SPEC): Remove.
7400 * config/mips/linux.h: Ditto.
7401 * config/mips/netbsd.h: Ditto.
7402 * config/mips/openbsd.h: Ditto.
7403 * config/mips/rtems.h: Ditto.
7404 * config/mips/rtems64.h: Ditto.
7405 * config/mips/sni-svr4.h: Ditto.
7406 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
7407 ISA_MIPS32, ISA_MIPS64): New defines.
7408 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
7409 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
7410 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
7411 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
7412 (TARGET_CPU_CPP_BUILTINS): Define.
7413 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
7414 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
7415 (movdicc): Remove check for ISA_MIPS32.
7416 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
7417 sunordered_df, sunordered_sf, sordered_df, sordered_sf,
7418 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
7419 sunge_sf, sunle_df, sunle_sf): New patterns.
7420
bc3437ba
NB
74212002-06-11 Neil Booth <neil@daikokuya.demon.co.uk>
7422
7423 * Makefile.in: Update cppmain.o.
7424 * cpphash.h (struct cpp_reader): Move some members to a
7425 nested structure.
7426 (trad_line): Rename saved_line.
7427 (_cpp_read_logical_line_trad): Update.
7428 (_cpp_remove_overlay): New.
7429 * cppinit.c (cpp_create_reader): No need to set saved_line.
7430 (cpp_destroy): Update.
7431 (cpp_read_main_file): Only overlay if compiling.
7432 * cpplex.c (continue_after_nul): Return false if in directive.
7433 * cpplib.c (EXPAND): New.
7434 (directive_table, SEEN_EOL): Update.
7435 (end_directive): Remove overlay if traditional; don't skip
7436 line in traditional #define.
7437 (prepare_directive_trad): New.
7438 (_cpp_handle_directive, run_directive): Update for traditional
7439 directives.
7440 (lex_macro_node): Simplify, don't use lex_identifier_trad.
7441 * cpplib.h (struct options): Add preprocess_only.
7442 * cppmain.c: Don't include intl.h.
7443 (cpp_preprocess_file): Set options->preprocess_only.
7444 (scan_translation_unit_trad): Fix, and print line numbers.
7445 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
7446 maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
7447 save_replacement_text, _cpp_create_trad_definition): Update for
7448 variable renaming.
7449 (_cpp_overlay_buffer): Save line number.
7450 (_cpp_remove_overlay): Rename from restore_buff, restore line.
7451 (_cpp_read_logical_line_trad): Don't handle overlays here.
7452 (scan_out_logical_line): Process directives.
7453
b25bb36a
DS
74542002-06-11 Danny Smith <dannysmith@users.sourforge.net>
7455
7456 * gthr-win32.h: Wrap functions in extern "C".
7457 (__gthread_key_t): Typedef as unsigned long,
7458 not win32 DWORD.
7459 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
7460 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
7461 (__gthr_win32_once, __gthr_win32_key_create,
7462 __gthr_win32_key_delete, __gthr_win32_getspecific,
7463 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
7464 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
7465 __gthr_win32_mutex_unlock): Declare.
7466 (__gthread_once,__gthread_key_create,
7467 __gthread_key_delete, __gthread_getspecific,
7468 __gthread_setspecific, __gthread_mutex_init_function,
7469 __gthread_mutex_lock,__gthread_mutex_trylock,
7470 __gthread_mutex_unlock): Call corresponding
7471 __gthr_win32_* extern implementations if #defined
7472 __GTHREAD_HIDE_WIN32API.
7473 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
ce3649d2 7474 $(srcdir)/config/i386/gthr-win32.c
b25bb36a
DS
7475 * config/i386/gthr-win32.c: New implementation file.
7476 (__gthr_win32_once, __gthr_win32_key_create,
7477 __gthr_win32_key_delete, __gthr_win32_getspecific,
7478 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
7479 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
7480 __gthr_win32_mutex_unlock): New functions, based on
7481 static inlines in gthr-win32.h.
7482
a69c385e
BW
74832002-06-10 Bob Wilson <bob.wilson@acm.org>
7484
7485 * config/xtensa/xtensa.c (override_options): Don't warn about
7486 using -fpic or -fPIC when PIC is enabled by default.
7487
e654730d
RS
74882002-06-10 Roger Sayle <roger@eyesopen.com>
7489
7490 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
7491
a5381466
ZW
74922002-06-10 Zack Weinberg <zack@codesourcery.com>
7493
7494 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
ce3649d2 7495 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
a5381466
ZW
7496 exists, substitute its pathname as @extra_modes_file@, define
7497 EXTRA_MODES_FILE to be an appropriate string to #include it
7498 with, and define EXTRA_CC_MODES to 1.
7499
7500 * machmode.def: Update comments. Include EXTRA_MODES_FILE if
7501 it's defined. Get rid of redundancy in calling sequence for
7502 CC; don't use it to define CCmode, to avoid a warning.
7503 * libgcc2.c: Include symcat.h for the sake of machmode.def.
7504
7505 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
7506 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
7507 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
7508 New files.
7509 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
7510 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
7511
7512 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
7513 defining extra CC modes.
7514
852c6ec7
RS
75152002-06-10 Roger Sayle <roger@eyesopen.com>
7516 Andreas Jaeger <aj@suse.de>
7517
7518 * cfgrtl.c (create_basic_block_structure): Remove index argument
7519 and use last_basic_block++ instead. (create_basic_block): Update.
7520 * cfgbuild.c (find_basic_blocks_1): Likewise.
7521
7522 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
7523 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
7524 * sched-ebb.c (schedule_ebbs): Likewise.
7525 * sched-rgn.c (schedule_insns): Likewise.
7526 * ssa-ccp.c (ssa_const_prop): Likewise.
7527 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
7528 * toplev.c (rest_of_compilation): Likewise.
7529 * config/ia64/ia64.c (ia64_reorg): Likewise.
7530
60c86d4e
RS
75312002-06-10 Roger Sayle <roger@eyesopen.com>
7532
7533 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
7534 of matching registers.
7535
9543a9d2
RS
75362002-06-10 Roger Sayle <roger@eyesopen.com>
7537
7538 * toplev.c (rest_of_compilation): Disable early if-conversion pass.
7539 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
7540
38e18619
HPN
75412002-06-10 Hans-Peter Nilsson <hp@bitrange.com>
7542
7543 * config/mmix/mmix.h: Improve comments.
7544 (CPP_SPEC, CPP_PREDEFINES): Don't define.
7545 (TARGET_CPU_CPP_BUILTINS): Define.
7546 (CANONICALIZE_COMPARISON): Don't define, replace with comment.
7547 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
7548 unused predicate.
7549 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
7550 compiler warning.
7551 (mmix_constant_address_p): Remove another
7552 redundant test before case.
7553 (mmix_canonicalize_comparison): Remove unused function.
7554 (mmix_print_operand_address): Don't test and adjust for operand in
7555 non-canonical format.
7556 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
7557 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
7558
ac17cd8f
ZW
75592002-06-10 Zack Weinberg <zack@codesourcery.com>
7560
7561 * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
7562 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
7563 * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
7564 (gen_compare): Use CCmode unconditionally.
7565
7b668f9e
JJ
75662002-06-10 Jakub Jelinek <jakub@redhat.com>
7567
7568 PR optimization/6759
7569 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
7570 the REQ_EQUAL note.
7571
85d49058
JJ
75722002-06-10 Jakub Jelinek <jakub@redhat.com>
7573
7574 PR c/6660
7575 * c-decl.c (grokfield): Allow user defined types if they declare
7576 structs or unions for unnamed fields.
7577
50f30e6b
JJ
75782002-06-10 Jakub Jelinek <jakub@redhat.com>
7579
7580 PR c/6809
7581 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
7582
156755ac
JJ
75832002-06-10 Jakub Jelinek <jakub@redhat.com>
7584
7585 PR optimization/6842
7586 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
7587 operand subreg cannot be simplified.
7588
5d056e9b
JJ
75892002-06-10 Jakub Jelinek <jakub@redhat.com>
7590
7591 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
7592 (compare_constant): Likewise.
7593 (output_addressed_constants): Likewise.
7594
2bf87216
JJ
75952002-06-10 Jakub Jelinek <jakub@redhat.com>
7596
7597 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
7598 merge bb with itself.
7599
135fd2d8
RH
76002002-06-10 Richard Henderson <rth@redhat.com>
7601
7602 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
7603 (builtin_zapnot): Likewise.
7604
7605 * config/alpha/ev5.md: Don't combine shift and mvi insns in one
7606 reservation.
7607
fce5a9f2
EC
76082002-06-10 Eric Christopher <echristo@redhat.com>
7609
7610 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
7611 prototype and function.
7612 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
7613 (call_insn_operand): Remove half pic references.
7614 (legitimate_address_p): Ditto.
7615 * config/i386/i386.h: Remove half pic defines.
7616
95b1627e
EC
76172002-06-10 Eric Christopher <echristo@redhat.com>
7618
7619 * doc/extend.texi (Return Address): Add note explaining the side-
7620 effects of inlining on __builtin_return_address.
7621
aea185b3
TT
76222002-06-10 Tom Tromey <tromey@redhat.com>
7623
7624 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
7625 (c-common.o): Depend on langhooks.h.
7626
afb03408
NB
76272002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
7628
7629 * cpphash.h (_cpp_read_logical_line_trad,
7630 _cpp_expansions_different_trad): Update prototypes.
7631 * cpplex.c (continue_after_nul): New.
7632 * cppmain.c: Include cpphash.h.
7633 (scan_translation_unit_trad): New.
7634 (cpp_preprocess_file): Call it.
7635 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
7636 overlay.
7637 (_cpp_expansions_different_trad): Update prototype.
7638
2754d3c5
R
7639Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
7640
7641 Fix cfi generation for SH[1-4]:
7642
7643 * sh.c (frame_insn): New function.
7644 (output_stack_adjust): Add parameter emit_fn. All callers changed.
7645 (push): Now returns rtx. Use frame_insn.
7646 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
7647 of a DF register.
7648 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
7649
ad854f24
ZW
76502002-06-10 Zack Weinberg <zack@codesourcery.com>
7651
7652 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
7653 and gtype-desc.c.
7654 (mostlyclean): Delete specs.h, options.h, gencheck.h here...
7655 (distclean): ... not here. But do delete all testsuite/*.log,
7656 testsuite/*.sum files here. Delete mkheaders. Delete
7657 po/*.gmo and the testsuite directory in a split tree build.
7658
bf1660a6
JL
76592002-06-10 Jeffrey Law <law@redhat.com>
7660
7661 * alias.c (static_reg_base_value): New to hold RTL for
7662 items allocated once per function for the aliasing code.
7663 (init_alias_once_per_function): Initialize static_reg_base_value.
7664 (init_alias_analysis): Avoid throw-away allocations of RTL by
7665 using pre-computed values in static_reg_base_value.
7666 * function.c (prepare_function_start): Call
7667 init_alias_once_per_function appropriately.
7668 * rtl.h (init_alias_once_per_function): Declare.
7669 * caller-save (init_caller_save): Restructure slightly to
7670 avoid lots of silly RTL generation.
7671 * expr.c (init_expr_once): Likewise.
7672 * reload1.c (reload_cse_regs_1): Allocate throw-away register
7673 RTL object here. Pass it into children.
7674 (reload_cse_simplify_operands): Use passed-in register RTL
7675 object.
7676 (reload_cse_simplify): Pass through throw-away register
7677 RTL object.
7678
8dc58484 76792002-06-10 Daniel Berlin <dberlin@dberlin.org>
ad854f24 7680
8dc58484
DB
7681 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
7682
ea16b5ee
RS
76832002-06-10 Richard Sandiford <rsandifo@redhat.com>
7684
7685 * gcc.c (process_command): Avoid assignment to read-only location.
7686 Fix sizeof calculation.
7687
6618c5d4
NB
76882002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
7689
7690 * cpphash.h (struct cpp_macro): Put comments on their own lines.
7691 (_cpp_expansions_different_trad): New.
7692 * cppmacro.c (warn_of_redefinition): Fix for traditional case.
7693 * cpptrad.c (canonicalize_text): New.
7694 (scan_out_logical_line): Handle no arguments correctly.
7695 (save_replacement_text): Commit memory when finished.
7696 (_cpp_expansions_different_trad): New.
7697
96e3ac4f
TJ
76982002-06-10 Tim Josling <tej@melbpc.org.au>
7699
7700 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
7701 TREELANG and COBOL.
7702 (lang_names): Add treelang and cobol.
7703 (get_file_basename): Add code to support treelang and cobol as
7704 4th and 5th users of c-common.c.
7705
37a4aa31
GK
77062002-06-09 Geoffrey Keating <geoffk@redhat.com>
7707
7708 * Makefile.in (install-driver): Install driver as
7709 $(target_alias)-gcc-$(version).
7710 * gcc.c (spec_version): Make const.
7711 (process_command): Handle -V and -b by using exec.
7712 * doc/invoke.texi (Target Options): Restore -V option,
7713 update docs for -b option.
7714
02ef40d9
TJ
77152002-06-10 Tim Josling <tej@melbpc.org.au>
7716
ad854f24
ZW
7717 * configure.in (remaining_languages_check):
7718 Added check that all languages specified were found.
02ef40d9
TJ
7719 Exit if not found. Previous behaviour was silent failure.
7720 * configure: Regenerated.
7721
b38b97c4 77222002-06-10 Tim Josling <tej@melbpc.org.au>
ad854f24 7723
1c0ca89d 7724 First steps to making treelang documentation compliant, based on
b38b97c4
TJ
7725 instructions in sourcebuild.texi. Also add to gcc.c list of
7726 default languages.
ad854f24 7727
b38b97c4
TJ
7728 * doc/contrib.texi: Add self as contributor of treelang.
7729
7730 * doc/frontends.texi: Add mention of treelang.
7731
7732 * doc/invoke.texi (Overall Options): Add mention of treelang.
7733
7734 * doc/standards.texi: Add mention of treelang.
7735
ae9dbf1f
HPN
77362002-06-09 Hans-Peter Nilsson <hp@axis.com>
7737
7738 * config/cris/cris.c: Include ggc.h
7739
1ce676a0
NB
77402002-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
7741
7742 * cpphash.h (_cpp_push_text_context): Update.
7743 (_cpp_arguments_ok): New.
7744 * cppmacro.c (_cpp_arguments_ok): New, split out from...
7745 (collect_args): ...here.
7746 (_cpp_push_text_context): Change inputs.
7747 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
7748 replace_args_and_push): New.
7749 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
7750 Don't use IS macros directly.
7751 (scan_out_logical_line): Handle function-like macro argument
7752 collection.
7753 (push_replacement_text): Update.
7754 (replacement_length): Remove.
7755 (_cpp_create_trad_definition): Don't skip whitespace before
7756 checking for '('.
7757
25f2e176
MM
77582002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
7759
7760 * config/avr/avr.c (avr_mcu_types): Update for new devices.
7761 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
7762 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
7763 * config/avr/avr.md ("type" and "length" attributes): New type
7764 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that
7765 output a single "call" or "rcall" insn depending on device size.
7766 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
7767
309323c2
DE
77682002-06-09 David Edelsohn <edelsohn@gnu.org>
7769
7770 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
7771 synonym for 630. Add power4. Remove embedded processors. Use -m604
7772 assembler option.
7773 (CPP_CPU_SPEC): Add power3 and power4.
7774 (PROCESSOR_DEFAULT): Change to 604e.
7775 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
7776 (CPP_CPU_SPEC): Similar additions.
7777 (enum process_type): Add POWER4.
7778 (RTX_COSTS): Add POWER4.
7779 (CPP_CPU_SPEC): Similar additions.
7780 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
6ef0903d 7781 (PROCESSOR_DEFAULT64): Define.
309323c2
DE
7782 * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
7783 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
7784 branch adjustment.
7785 (rs6000_issue_rate): Add Power4.
7786 * config/rs6000/rs6000.md (cpu attr): Add power4.
7787 (iu compare): Remove 604, 604e, 620, 630.
7788 Add basic Power4 scheduling information.
7789 (mfcr/mtcrf): Change type attribute to cr_logical.
7790
1f8e4682
KG
77912002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7792
57d80297
KG
7793 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
7794 ATTRIBUTE_PRINTF_2.
7795 * gengtype-lex.l: Fix format specifier warning.
7796
1f8e4682
KG
7797 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,
7798 not isspace.
7799 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
7800 lieu of isspace/IDchar.
7801 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
7802 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
7803 ISSPACE.
7804
5a9ee623
ZW
78052002-06-08 Zack Weinberg <zack@codesourcery.com>
7806
7807 * Makefile.in (LIBCPP_OBJS): Take out version.o.
7808 * cpphash.h (cpp_reader): Take out print_version member.
7809 * cppinit.c: (cpp_handle_option): Don't do anything with
7810 -version. Just set help_only for --version, --target-help.
7811 Just set verbose option for -v.
7812 (cpp_post_options): Don't print a version string.
7813
c16e5a35
MM
78142002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
7815
7816 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
7817 (avr_section_type_flags): New, handle .noinit* sections.
7818
79bc889e
JT
78192002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7820
7821 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
7822 and include netbsd_entry_point.
7823 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
7824 (NETBSD_ENTRY_POINT): Define.
7825
6a79bb0a
JT
78262002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7827
7828 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
5a9ee623 7829 if not already defined.
6a79bb0a
JT
7830 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
7831
e52b6b63
MM
78322002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
7833
7834 * config/avr/avr.c (avr_regs_to_save): No need to save any registers
7835 in a noreturn function.
7836 (avr_output_function_prologue, avr_output_function_epilogue):
7837 Correct function size calculation. Do not crash on empty function.
7838 (avr_output_function_epilogue): No need for epilogue after a BARRIER.
7839
1569d670
JT
78402002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7841
7842 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
7843 netbsd_link_spec and netbsd_entry_point.
7844 (LINK_SPEC): Use %(netbsd_link_spec).
7845 (NETBSD_ENTRY_POINT): Define.
7846
cfb06024
JT
78472002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7848
7849 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
7850 linker emulation.
7851 (LINK_ARCH64_SPEC): Likewise.
7852 (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
7853 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
7854
5a9ee623
ZW
78552002-06-08 Marc Espie <espie@openbsd.org>
7856
7857 * lists.c (free_list): Fix typo in comment.
e3623158 7858
272cdf58
AJ
78592002-06-08 Andreas Jaeger <aj@suse.de>
7860
7861 * lcm.c (optimize_mode_switching): Add unused attribute for
7862 variable.
7863
7864 * sched-deps.c (sched_analyze): Remove unused variable.
7865
bf3f2a12
GDR
78662002-06-08 Gabriel Dos Reis <gdr@codesourcery.com>
7867
7868 * diagnostic.def: Don't capitalize diagnostict descriptors.
7869
523a5f2f
JT
78702002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7871
7872 * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
7873 (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
7874 (NETBSD_ENTRY_POINT): Define.
7875
a3e944f9
JT
78762002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7877
7878 * config/i386/netbsd-elf.h (LINK_SPEC): Define as
7879 NETBSD_LINK_SPEC_ELF.
7880 (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
7881 (NETBSD_ENTRY_POINT): Define.
7882 * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
7883 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
7884 netbsd_entry_point.
7885 (NETBSD_ENTRY_POINT): Define.
7886
854928a0
JT
78872002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7888
7889 * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
7890 netbsd_link_spec and netbsd_entry_point.
7891 (LINK_SPEC): Use %(netbsd_link_spec).
7892 (NETBSD_ENTRY_POINT): Define.
7893
6bb5d2e7
JT
78942002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7895
7896 * config/netbsd-elf.h (LINK_SPEC): Rename to...
7897 (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point)
7898 to specify program entry point.
7899
e50126e8
JL
79002002-06-07 Jeff Law <law@redhat.com
7901
7902 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
272cdf58 7903 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
e50126e8
JL
7904 than creating a new register.
7905 (distribute_notes): Likewise.
7906 * df.c (df_reg_use_gen): Likewise.
7907 (df_reg_clobber_gen): Likewise.
7908 (df_ref_record): Likewise.
7909 * expr.c (use_regs): Likewise.
7910 * flow.c (propagate_one_insn): Likewise.
7911 (mark_set_1): Likewise.
7912 (mark_used_reg): Likewise.
7913 * reload.c (emit_reload_insns): Likewise.
7914
bc9c18c3
RS
79152002-06-07 Roger Sayle <roger@eyesopen.com>
7916
7917 * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
7918 (ne (comp x y) 0) into (comp x y) where comp is a comparison code.
7919 Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
7920 comparison code comp can be reversed.
7921
437f1df1
RS
79222002-06-07 Roger Sayle <roger@eyesopen.com>
7923
7924 * fold-const.c (fold) [EQ_EXPR]: Place both integer and real
7925 constants last in comparisons. Optimize (x+1.0)>0.0 into the
7926 equivalent x > -1.0 when -ffast-math.
7927
cd24b8a4
JT
79282002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
7929
7930 * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
7931 * config/mips/t-netbsd: New file.
7932
09e77dee
ZW
79332002-06-07 Zack Weinberg <zack@codesourcery.com>
7934
7935 * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
7936 options their own entries.
7937 (parse_option): Clarify comment.
7938 (cpp_handle_option): Remove 'ignore' parameter and OPT_W
7939 special case. Replace if/strcmp chain for -W options with
7940 use of new OPT_* entries for them.
7941 (cpp_handle_options): Update to match.
7942 * cpplib.h: Remove last parameter to cpp_handle_option from prototype.
7943 * c-decl.c: Update call to cpp_handle_option.
7944
942030dc
AD
79452002-06-07 Akim Demaille <akim@epita.fr>
7946
7947 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
7948 Whitespace changes.
7949
f2846820
JL
79502002-06-07 Jeffrey Law <law@redhat.com>
7951
7952 * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
7953 on empty lists.
7954
4bafaa6f
L
79552002-06-07 H.J. Lu (hjl@gnu.org)
7956
7957 * configure.in: Add --enable-__cxa_atexit.
7958 * configure: Regenerated.
7959 * config.in: Likewise.
7960
7961 * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
7962 not defined.
7963
caef5b46
GDR
79642002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net>
7965
7966 * diagnostic.c (diagnostic_build_prefix): Fix initialization.
7967
ac64a17c
JT
79682002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
7969
7970 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
7971
97459791
JM
79722002-06-07 Jason Merrill <jason@redhat.com>
7973
7974 * cppexp.c (num_equality_op): Use a temporary variable to work
7975 around gcc 3.0.4 bug.
7976
4b1d52c7
GDR
79772002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
7978
7979 * diagnostic.c (diagnostic_build_prefix): Tidy.
7980
c70f6ed3
NB
79812002-06-07 Neil Booth <neil@daikokuya.demon.co.uk>
7982
7983 * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
7984 scan_parameters, save_replacement_text, replacement_length): New.
7985 (scan_out_logical_line): Take a macro and save parameters if
7986 non-NULL.
7987 (_cpp_logical_line_trad): Update.
7988 (_cpp_create_trad_definition): Update to handle function-like
7989 macros.
7990 * cpplex.c (new_buff): Update.
7991 (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
7992 * cpphash.h: ...here.
7993 (CPP_ALIGN2, _cpp_save_parameter): New.
7994 * cppmacro.c (save_parameter): Rename, export.
7995 (parse_params): Update.
7996
aec2ac46
AJ
79972002-06-07 Andreas Jaeger <aj@suse.de>
7998
7999 * config/mmix/mmix.c: Remove extra broken prototype for
8000 mmix_init_machine_status.
8001
9f313342
GK
80022002-06-06 Geoffrey Keating <geoffk@redhat.com>
8003
8004 * gengtype.c: Add comments before all the routines.
8005
3fa1b448
JT
80062002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
8007
8008 * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
8009 from and add t-sh64 to ${tmake_file}.
8010 (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
8011 * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
8012 * config/sh/t-netbsd-sh5-32: Remove.
8013 * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
8014 MULTILIB_ENDIAN.
8015 (MULTILIB_DIRNAMES): Define.
8016
0d682900
JH
8017Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz>
8018
8019 * i386.md (and promoting splitters): Disable QI to SImode promoting
8020 when doing so changes immediate to be 32bit.
8021
8022 * rtl.h (emit_*_scope): Declare.
8023 * emit-rtl.c (emit_*_scope): New global functions.
8024 (try_split): Copy scope.
8025 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
8026 noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
8027 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
8028 noce_process_if_block, find_cond_trap): Copy scopes.
8029 * recog.c (peephole2_optimize): likewise.
8030
c991649c
JL
80312002-06-06 Jeffrey Law <law@redhat.com>
8032
8033 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
8034
8a5d66c4
R
8035Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
8036
8037 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
8038
d7f8491b
RO
80392002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8040
8041 * Makefile.in (TEXI_GCCINSTALL_FILES): Define.
8042 ($(docdir)/gccinstall.info): New target.
8043 (info): Depend on it.
8044 (gccinstall.dvi): New target.
8045 (dvi): Depend on it.
8046 * doc/.cvsignore: Ignore new info files.
8047 * doc/install.texi (@setfilename): Reflect new info filename.
8048
eaeb7de8
R
8049Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com>
8050
8051 * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
8052 on an UNSPEC.
8053
0c7aeb88
NP
8054Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it>
8055
8056 PR objc/6834
8057 * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
8058 c_common_get_alias_set.
aec2ac46 8059 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
0c7aeb88 8060
2a496e8b
JDA
80612002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
8062
8063 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
8064 functions.
8065 * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
8066 * avr/avr.c (avr_output_function_epilogue): Use above to determine
8067 function size.
8068 * pa/pa.c (pa_output_function_prologue): Likewise.
8069
2ff581c3
DM
80702002-06-05 David S. Miller <davem@redhat.com>
8071
8072 * integrate.c (subst_constants): Handle 'B' RTL format.
8073
b2e2d0cc
EC
80742002-06-05 Eric Christopher <echristo@redhat.com>
8075
8076 * varasm.c (make_decl_rtl): Fix comment for removed
8077 halfpic.c.
8078
0f81faf6
EC
80792002-06-05 Eric Christopher <echristo@redhat.com>
8080
8081 * Makefile.in: Remove missed halfpic bits.
8082
33005162
EC
80832002-06-05 Eric Christopher <echristo@redhat.com>
8084
8085 * toplev.c: Remove half-pic.
8086 * config/mips/mips.c: Ditto.
8087 * config/mips/mips.h: Ditto. Remove unused defines.
8088 * config/mips/openbsd.h: Update comment to reflect above.
8089 * config/mips/mips.md: Remove half-pic constraints.
8090 * halfpic.h: Delete.
8091 * halfpic.c: Ditto.
8092
80081028
JL
80932002-06-05 Jeffrey Law <law@redhat.com>
8094
5a9ee623
ZW
8095 * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
8096 rejects (mem (lo_sum (reg) (unspec))), but will allow
8097 (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
80081028 8098
cbc69f84
NB
80992002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
8100
8101 * cpphash.h (_cpp_create_definition): Update prototype.
8102 (_cpp_push_text_context, _cpp_create_trad_definition): New.
8103 ( cpp_lex_identifier_trad): New.
8104 (_cpp_set_trad_context): New.
8105 * cppinit.c (cpp_finish_options): Don't conditionalize builtins.
8106 * cpplib.c (SEEN_EOL): Update.
8107 (lex_macro_node): Update for -traditional.
8108 (cpp_push_buffer, _cpp_pop_buffer): Similarly.
8109 * cppmacro.c (_cpp_create_definition): Split into
8110 create_iso_definition() and _cpp_create_trad_definition().
8111 (warn_of_redefinition): Update prototype; handle traditional
8112 macros.
8113 (_cpp_push_text_context): New.
8114 * cpptrad.c (skip_whitespace, push_replacement_text): New.
8115 (lex_identifier): Call ht_lookup with correct start.
8116 (_cpp_lex_identifier_tradm _cpp_create_trad_definition,
8117 _cpp_set_trad_context): New.
8118 (scan_out_logical_line): Update to handle changing contexts.
8119
dbf87f32
R
8120Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
8121
8122 * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
8123 (shl*-*-elf*): Add.
8124 * config/sh/t-be (MULTILIB_ENDIAN): Set.
8125 * config/sh/t-le (MULTILIB_ENDIAN): Likewise.
8126 * t-sh (MULTILIB_ENDIAN): Set.
8127 (MULTILIB_OPTIONS): Use it.
8128 * t-sh64 (MULTILIB_OPTIONS): Likewise.
8129 (MULTILIB_DIRNAMES): Likewise.
8130
47b69537
GDR
81312002-06-05 Gabriel Dos Reis <gdr@codesourcery.com>
8132
8133 * toplev.h (report_error_function): Remove.
8134
8135 * diagnostic.h (location_t): New datatype.
8136 (text_info): Likewise.
8137 (diagnostic_info): Likewise.
8138 (output_prefix): New macro.
8139 (diagnostic_last_function_changed): Likewise.
8140 (diagnostic_set_last_function): Likewise.
8141 (diagnostic_last_module_changed): Likewise.
8142 (diagnostic_set_last_module): Likewise.
8143 (report_diagnostic): Now macro.
8144 (diagnostic_set_info): Declare.
8145
8146 * diagnostic.c (report_problematic_module): Rename to
33005162 8147 diagnostic_repor_current_module.
47b69537
GDR
8148 (set_diagnostic_context): Remove.
8149 (count_error): Rename to diagnostic_error_count.
8150 (error_function_changed): Remove.
8151 (record_last_error_function): Likewise.
8152 (error_module_changed): Likewise.
8153 (record_last_error_module): Likewise.
8154 (context_as_prefix): Rename to diagnostic_build_prefix.
8155 (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
8156 (diagnostic_set_info): New function.
8157
8158 * objc/objc-act.c: #include diagnostic.h
8159 (error_with_ivar): Adjust call to count_error.
8160 (warn_with_method): Likewise.
8161 * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
8162
540eaea8
BW
81632002-06-05 Bob Wilson <bob.wilson@acm.org>
8164
8165 * config/xtensa/xtensa.c (xtensa_build_va_list): Use
8166 lang_hooks.types.make_type instead of make_node; set up
8167 __va_list_tag type decl.
8168 (xtensa_builtin_saveregs): Remove broken use of
8169 RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
8170 for saved registers; add varargs alias set.
8171
f23a084d
NB
81722002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
8173
8174config:
8175 * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
8176 * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
8177 CPP_PREDEFINES and part of CPP_SPEC.
8178 i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
8179 i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
8180
3fe3a596
JH
8181Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
8182
8183 * reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
8184
1fd9ba59
AM
81852002-06-05 Alan Modra <amodra@bigpond.net.au>
8186
8187 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
8188
cea554e0
ZW
81892002-06-04 Zack Weinberg <zack@codesourcery.com>
8190
8191 * gengtype-yacc.y: Make sure all rules end with a semicolon.
8192
07232638
BW
81932002-06-04 Bob Wilson <bob.wilson@acm.org>
8194
8195 * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
8196 typo in function prototype and include "ggc.h" header.
8197
c4b50f1a
RH
81982002-06-04 Richard Henderson <rth@redhat.com>
8199
8200 * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
8201 (print_operand) ['U']: Likewise.
8202 (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
8203 (alpha_expand_unaligned_store_words): Likewise.
8204 (alpha_expand_builtin_vector_binop): Fix typo.
8205 (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
8206 umulh, and cix insns.
8207 (one_arg_builtins): Add cix builtins.
8208 (two_arg_builtins): Add ext, ins, msk, umulh builtins.
8209 (alpha_expand_builtin): Fix typo in arity.
8210 * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
8211 (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
8212 builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
8213 builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
8214 builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
8215 builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
8216 builtin_ctlz, builtin_ctpop): New.
8217 * doc/extend.texi (Alpha Built-in Functions): Update.
8218
aaab35ae
GK
82192002-06-04 Geoffrey Keating <geoffk@redhat.com>
8220
afb0f770
GK
8221 * gengtype.c (write_gc_root): Don't unnecessarily prevent
8222 global variable-length arrays being roots.
8223
aaab35ae
GK
8224 * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
8225 * configure.in (config_gtfiles): New variable.
8226 (all_gtfiles): Initialise from config_gtfiles.
8227 * configure: Regenerate.
8228
1ba7b414
NB
82292002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
8230
8231config/i386:
8232 * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
8233 i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
8234 mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
8235 sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
8236 win32.h (CPP_SPEC): Remove cpp_cpu.
8237 * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
8238 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
8239
135ca7b2
JJ
82402002-06-04 Janis Johnson <janis187@us.ibm.com>
8241
8242 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
8243
85d69216 82442002-06-04 Jeff Law <law@redhat.com.
5a9ee623
ZW
8245 David Edelsohn <edelsohn@gnu.org>
8246 Michael Matz <matz@kde.org>
85d69216
JL
8247
8248 * sched-int.h (struct deps): New field libcall_block_tail_insn.
8249 * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
8250 * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
8251 is set, then mark the current insn as being part of a libcall
8252 scheduling group.
8253 (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
8254
8255 * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
8256 insns against the issue rate.
8257
63f4a88e
JH
8258Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
8259
8260 * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
8261 * final.c (final_scan_insn): Likewise.
8262 * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
8263 NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
8264 * haifa-sched.c (unlink_other_notes): Likeewise.
8265 (reemit_notes): Likewise.
8266 * print-rtl.c (print_rtx): Likewise.
8267 * sched-deps (sched-analyze): Likewise.
8268 * rtl.c (note_insn_name): Likewise.
8269 * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
8270 (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
8271 (RANGE_*): Kill.
8272
a5d1f75b
JT
82732002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
8274
8275 * varasm.c (mark_constants): Handle RTX format 'B'.
8276
82eda77e
NB
82772002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
8278
8279 * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
8280 (struct cpp_context): Add traditional fields.
8281 * cppmacro.c (paste_all_tokens, push_ptoken_context,
8282 push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
8283 * cpptrad.c (skip_comment, lex_identifier,
8284 _cpp_read_logical_line_trad, scan_out_logical_line): Update.
8285
589005ff
KH
82862002-06-04 Kazu Hirata <kazu@cs.umass.edu>
8287
8288 * gbl-ctors.h: Fix formatting.
8289 * gcc.c: Likewise.
8290 * gccspec.c: Likewise.
8291 * gcov.c: Likewise.
8292 * gcov-io.h: Likewise.
8293 * gcse.c: Likewise.
8294 * ggc-common.c: Likewise.
8295 * ggc.h: Likewise.
8296 * ggc-page.c: Likewise.
8297 * ggc-simple.c: Likewise.
8298 * global.c: Likewise.
8299 * graph.h: Likewise.
8300 * gthr-dce.h: Likewise.
8301 * gthr.h: Likewise.
8302 * gthr-posix.h: Likewise.
8303 * gthr-rtems.h: Likewise.
8304 * gthr-solaris.h: Likewise.
8305 * gthr-win32.h: Likewise.
8306
e2500fed
GK
83072002-06-03 Geoffrey Keating <geoffk@redhat.com>
8308
8309 Merge from pch-branch:
33005162 8310
e2500fed
GK
8311 * gengtype.h (UNION_OR_STRUCT_P): New macro.
8312 * gengtype.c (write_gc_structure_fields): Use it.
8313 (write_gc_root): Use it here too.
8314
8315 * gengtype.c (write_gc_structure_fields): Assume that lengths
8316 of typenames fit into an 'int'; don't pass a size_t to "%d" in
8317 printf.
8318 (write_gc_marker_routine_for_structure): Likewise.
8319 (write_gc_types): Likewise.
8320 (write_gc_root): Likewise.
8321
8322 * varray.h (VARRAY_CLEAR): New.
8323 (varray_clear): Prototype.
8324 * varray.c (varray_clear): New.
8325 * cselib.c (reg_values_old): New.
8326 (used_regs_old): New.
8327 (cselib_init): Use cached varrays if available to avoid
8328 generating large amounts of garbage.
8329 (cselib_finish): Don't throw away old varrays.
8330
8331 * final.c (insn_addresses_): Move out of ifdef.
8332
8333 * varray.c (uses_ggc): Make more varray kinds GCable.
8334 * varray.h (union varray_data_tag): Let gengtype see
8335 fields 'generic' and 'te'.
8336 * reg-stack.c: Include gt-reg-stack.h, ggc.h.
8337 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
8338 (reg_to_stack): Don't call VARRAY_FREE.
8339 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
8340 (insn_addresses_): Use gengtype to mark.
8341 * gengtype.c (write_gc_structure_fields): Handle arrays of generic
8342 pointers; handle generic pointers in unused union fields.
8343 (get_output_file_with_visibility): Include cselib.h,
8344 insn-addr.h in gtype-desc.c.
8345 * function.c (prologue): Use gengtype to mark.
8346 (epilogue): Likewise.
8347 (sibcall_epilogue): Likewise.
8348 * dependence.c: Include gt-dependence.h, ggc.h.
8349 (struct def_use): Use gengtype to mark.
8350 (struct loop): Likewise.
8351 (struct induction): Likewise.
8352 (struct dependence): Likewise.
8353 (def_use_chain): Likewise.
8354 (dep_chain): Likewise.
8355 (loop_chain): Likewise.
8356 (induction_chain): Likewise.
8357 (init_dependence_analysis): Don't free anything, just clear pointers.
8358 (build_def_use): Use GGC to allocate def_use.
8359 (add_loop): Use GGC to allocate loop.
8360 (find_induction_variable): Use GGC to allocate induction.
8361 (check_node_dependence): Use GGC to allocate induction, dependence.
8362 (dump_node_dependence): Don't free varrays.
8363 (end_dependence_analysis): Likewise.
8364 * cselib.h (struct cselib_val_struct): Use gengtype to mark.
8365 (struct elt_loc_list): Likewise.
8366 (struct elt_list): Likewise.
8367 * cselib.c: Don't include obstack.h.
8368 (hash_table): Use gengtype to mark.
8369 (reg_values): Use gengtype to mark.
8370 (used_regs): Use gengtype to mark.
8371 (cselib_obstack): Delete.
8372 (cselib_startobj): Delete.
8373 (empty_vals): Mark as deletable.
8374 (empty_elt_lists): Mark as deletable.
8375 (empty_elt_loc_lists): Mark as deletable.
8376 (new_elt_list): Use GGC to allocate struct elt_list.
8377 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
8378 (clear_table): Don't delete obstack; don't unnecessarily clear
8379 deletable variables.
8380 (new_cselib_val): Use GGC to allocate struct cselib_val.
8381 (cselib_init): Don't set up obstacks. Use GGC to allocate
8382 hash table.
8383 (cselib_finish): Just clear variables, don't free anything.
8384 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
8385 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
8386 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
8387 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
8388 (gt-reg-stack.h): New rule.
8389 (gt-dependence.h): New rule.
8390 (gtype-desc.o): Add cselib.h, insn-addr.h.
8391
8392 * varray.c: Use only necessary headers.
8393 (element_size): New.
8394 (uses_ggc): New.
8395 (varray_init): Take type, not size. Use GGC if appropriate.
8396 (varray_grow): Update for change to struct varray_head_tag.
8397 Use GGC if appropriate.
8398 * varray.h (struct const_equiv_data): Use gengtype.
8399 (enum varray_data_enum): New.
8400 (union varray_data_tag): Use gengtype.
8401 (struct varray_head_tag): Use gengtype. Replace size field with
8402 enum varray_data_enum.
8403 (varray_init): Update prototype.
8404 (VARRAY_SCHED_INIT): Delete.
8405 (VARRAY_*_INIT): Update for change to varray_init.
8406 (VARRAY_SCHED): Delete.
8407 (VARRAY_PUSH_SCHED): Delete.
8408 (VARRAY_TOP_SCHED): Delete.
8409 * tree.h: Update for change to length specifier.
8410 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
8411 (clone_body): Likewise.
8412 * ssa.h (ssa_definition): Use gengtype to mark.
8413 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
8414 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
8415 * rtl.h (struct rtvec_def): Update for change to length specifier.
8416 * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
8417 (struct initial_value_struct): Update for change to length specifier.
8418 * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
8419 (ggc_add_tree_varray_root): Delete prototype.
8420 (ggc_mark_rtx_varray): Delete prototype.
8421 (ggc_mark_tree_varray): Delete prototype.
8422 * ggc-common.c (ggc_add_rtx_varray_root): Delete.
8423 (ggc_add_tree_varray_root): Delete.
8424 (ggc_mark_rtx_varray): Delete.
8425 (ggc_mark_tree_varray): Delete.
8426 (ggc_mark_rtx_varray_ptr): Delete.
8427 (ggc_mark_tree_varray_ptr): Delete.
8428 * gengtype.h (enum typekind): Remove TYPE_VARRAY.
8429 (create_varray): Delete prototype.
8430 * gengtype.c (varrays): Delete.
8431 (create_varray): Delete.
8432 (adjust_field_type): Detect array of string pointers.
8433 (process_gc_options): Remove code to handle varray_type option.
8434 (set_gc_used_type): Remove TYPE_VARRAY case.
8435 (output_escaped_param): New.
8436 (write_gc_structure_fields): Use output_escaped_param on all
8437 parameters. Handle 'skip' with 'use_param' option. Handle
8438 arrays of strings. Remove TYPE_VARRAY handling.
8439 (write_gc_roots): Use boolean to detect 'length' option.
8440 * gengtype-yacc.y (VARRAY_TYPE): Delete token.
8441 (struct_fields): Call adjust_field_type on array fields.
8442 (type): Remove VARRAY_TYPE case.
8443 (type_option): Likewise.
8444 * gengtype-lex.l: Don't consider varray_type a keyword.
8445 * function.h: Update for change to length specifier.
8446 (free_eh_status): Delete prototype.
8447 * function.c (free_after_compilation): Don't call free_eh_status.
8448 (reorder_blocks): Don't use VARRAY_FREE.
8449 * except.c (struct eh_status): Update for change to length specifier.
8450 remove varray_type specifier.
8451 (free_eh_status): Delete.
8452 * dwarf2out.c: Include gt-dwarf2out.h.
8453 (used_rtx_varray): Use gengtype to mark, move
8454 outside ifdefs.
8455 (incomplete_types): Likewise.
8456 (decl_scope_table): Likewise.
33005162 8457 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
e2500fed
GK
8458 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
8459 * c-tree.h (struct lang_type): Update for change to length specifier.
8460 * c-parse.in (yylexstring): Don't use VARRAY_FREE.
8461 * c-objc-common.c: Include gt-c-objc-common.h.
8462 (deferred_fns): Mark for gengtype.
8463 (c_objc_common_init): Don't call ggc_add_tree_varray_root.
8464 (expand_deferred_fns): Just set deferred_fns to 0 to free it.
8465 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
8466 (gtype-desc.o): Update dependencies.
8467 (dwarf2out.o): Add gt-dwarf2out.h.
8468 (varray.o): Update dependencies.
8469 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
8470 (gt-c-objc-common.h): New rule.
8471 (gt-dwarf2out.h): New rule.
8472 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
8473
8474 * doc/gty.texi (GTY Options): Correct spelling.
8475 (GGC Roots): Likewise.
8476 * Makefile.in (TEXI_CPP_FILES): New.
8477 (TEXI_GCC_FILES): New.
8478 (TEXI_GCCINT_FILES): New.
8479 (TEXI_CPPINT_FILES): New.
8480 ($(docdir)/cpp.info): Use new macros.
8481 ($(docdir)/gcc.info): Likewise.
8482 ($(docdir)/gccint.info): Likewise.
8483 ($(docdir)/cppinternals.info): Likewise.
8484 (cpp.dvi): Likewise.
8485 (gcc.dvi): Likewise.
8486 (gccint.dvi): Likewise.
8487 (cppinternals.dvi): Likewise.
8488
8489 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
8490 * doc/gccint.texi (Top): Include gty.texi.
8491 * doc/gty.texi: New file.
8492
8493 * bitmap.c: Include ggc.h, gt-bitmap.h.
8494 (bitmap_ggc_free): New.
8495 (bitmap_elem_to_freelist): New.
8496 (bitmap_element_free): Use bitmap_elem_to_freelist.
8497 (bitmap_element_allocate): Allow use of GGC.
8498 (bitmap_clear): Use bitmap_elem_to_freelist.
8499 (bitmap_copy): Update for change to bitmap_element_allocate.
8500 (bitmap_set_bit): Likewise.
8501 (bitmap_operation): Update for changes elsewhere.
8502 (bitmap_initialize): Allow to create bitmaps that will use GGC.
8503 * bitmap.h (struct bitmap_element_def): Use gengtype.
8504 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
8505 (bitmap_initialize): Add extra parameter.
8506 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
8507 (BITMAP_ALLOCA): Delete.
8508 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
8509 (BITMAP_GGC_ALLOC): New.
8510 * Makefile.in (gtype-desc.o): Add bitmap.h.
8511 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
8512 (GTFILES): Add bitmap.c.
8513 (gt-bitmap.h): New rule.
8514 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
8515 * basic-block.h: Update for changes to bitmap_initialize.
8516 * except.c (exception_handler_label_map): Move into...
8517 (struct eh_status): Here.
8518 (struct eh_region): Make 'aka' GCable.
8519 (free_eh_status): Don't need to specially handle
8520 exception_handler_label_map.
8521 (add_ehl_entry): Update for changes to exception_handler_label_map.
8522 (find_exception_handler_labels): Likewise.
8523 (remove_exception_handler_label): Likewise.
8524 (maybe_remove_eh_handler): Likewise.
8525 (for_each_eh_label): Likewise.
8526 (remove_eh_handler): Allocate 'aka' using GGC.
8527 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
8528 to list of includes.
8529
8530 * gengtype.c (write_gc_marker_routine_for_structure): Name
33005162 8531 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
e2500fed
GK
8532 (write_gc_types): Arrange for the tests with NULL to be inlined.
8533 (write_gc_roots): Update uses of procedure pointers.
8534 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
8535
8536 * Makefile.in (explow.o): Add dependency on gt-explow.h.
8537 (sdbout.o): Add dependency on gt-sdbout.h.
8538
8539 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
8540 (mem_attrs_htab): Likewise.
8541 (init_emit_once): Don't call ggc_add_deletable_htab.
8542 * fold-const.c (size_htab): Use gengtype to clear unused entries.
8543 (size_int_type_wide): Don't call ggc_add_deletable_htab.
8544 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
8545 parameters, use them, change callers.
8546 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
8547 (write_gc_roots): Handle 'if_marked' option.
8548 (main): Don't need to call set_gc_used_type any more.
8549 * ggc.h (ggc_htab_marked_p): Delete.
8550 (ggc_htab_mark): Delete.
8551 (struct ggc_cache_tab): New.
8552 (gt_ggc_cache_rtab): New declaration.
8553 * ggc-common.c (struct d_htab_root): Delete.
8554 (d_htab_roots): Delete.
8555 (ggc_add_deletable_htab): Delete.
8556 (ggc_htab_delete): Handle new htab-deleting mechanism.
8557 (ggc_mark_roots): Use new htab-deleting mechanism.
8558 * tree.c (type_hash_table): Use gengtype to clear unused entries.
8559 Make static.
8560 (init_obstacks): Don't call ggc_add_deletable_htab.
8561
8562 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
8563 (struct hashed_entry): Likewise.
8564 (nst_method_hash_list): Likewise.
8565 (cls_method_hash_list): Likewise.
8566 (HASH_ALLOC_LIST_SIZE): Delete.
8567 (ATTR_ALLOC_LIST_SIZE): Delete.
8568 * objc/objc-act.c (hash_init): Use ggc to allocate
8569 nst_method_hash_list, cls_method_hash_list.
8570 (hash_enter): Use ggc to allocate; allocate one entry at a time.
8571 (hash_add_attr): Likewise.
8572 (ggc_mark_hash_table): Delete.
8573 (objc_act_parse_init): Delete.
8574 (objc_init): Delete reference to objc_act_parse_init.
8575 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
8576 obstack.h. Replace references to 'struct hash_table' with htab_t.
8577 (struct symbol_hash_entry): Replace hash header with key field.
8578 (struct file_hash_entry): Replace hash header with key field.
8579 (struct demangled_hash_entry): Replace hash header with key field.
8580 (hash_string_eq): New.
8581 (hash_string_hash): New.
8582 (symbol_hash_newfunc): Delete.
8583 (symbol_hash_lookup): Modify to use htab_t.
8584 (file_hash_newfunc): Delete.
8585 (file_hash_lookup): Modify to use htab_t.
8586 (demangled_hash_newfunc): Delete.
8587 (demangled_hash_lookup): Modify to use htab_t.
8588 (tlink_init): Modify to use htab_t.
8589 * hash.h: Delete.
8590 * hash.c: Delete.
8591 * ggc.h: Delete forward structure declarations.
8592 Delete prototypes for deleted functions.
8593 * ggc-common.c: Don't include hash.h.
8594 (ggc_add_tree_hash_table_root): Delete.
8595 (ggc_mark_tree_hash_table_entry): Delete.
8596 (ggc_mark_tree_hash_table): Delete.
8597 (ggc_mark_tree_hash_table_ptr): Delete.
8598 * gengtype.c (write_gc_structure_fields): Allow param_is option.
8599 (write_gc_marker_routine_for_structure): Use visibility of
8600 the parameter if there is one.
8601 * function.c: Replace hash.h with hashtab.h. Replace references
8602 to 'struct hash_table *' with htab_t.
8603 (struct insns_for_mem_entry): Include a plain key.
8604 (fixup_var_refs_insns_with_hash): Update to use htab_t.
8605 (insns_for_mem_newfunc): Delete.
8606 (insns_for_mem_hash): Update to use htab_t.
8607 (insns_for_mem_comp): Likewise.
8608 (insns_for_mem_walk): Likewise.
8609 * c-lang.c: Include ggc.h.
8610 * Makefile.in (OBJS): Remove hash.o.
8611 (c-lang.o): Add GGC_H.
8612 (COLLECT2_OBJS): Remove hash.o.
8613 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
8614 (ggc-common.o): Remove hash.h.
8615 (function.o): Remove hash.h, add HASHTAB_H.
8616 (genautomata.o): Remove hash.h, add HASHTAB_H.
8617
8618 * varasm.c (mark_const_str_htab_1): Delete.
8619 (mark_const_str_htab): Delete.
8620 (const_str_htab_del): Delete.
8621 (const_str_htab): Use gengtype to mark.
8622 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
8623 allocate them.
8624 * tree.c (mark_tree_hashtable_entry): Delete.
8625 (mark_tree_hashtable): Delete.
8626 * tree.h (mark_tree_hashtable): Delete prototype.
8627 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
8628 (ggc_mark): Likewise.
8629 (ggc_calloc): New.
8630 (htab_create_ggc): New.
8631 * ggc-common.c (ggc_calloc): New.
8632 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
8633 (struct type): Add param_struct structure.
8634 * gengtype.c (param_structs): New.
8635 (adjust_field_type): Handle param_is option.
8636 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
8637 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
8638 (write_gc_structure_fields): Add new PARAM parameter. Update
8639 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
8640 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
8641 Use it to generate function name. Update callers.
8642 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
8643 Process them.
8644 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
8645 option.
8646 (main): Define PTR as pointer-to-scalar. Don't specially
8647 mark deferred_string or ehl_map_entry.
8648 * gengtype-yacc.y (PARAM_IS): Add new token.
8649 (externstatic): Use adjust_field_type.
8650 (type_option): Add PARAM_IS.
8651 * gengtype-lex.l: Add rule for typedef of function pointers.
8652 Add rule for PARAM_IS.
8653 (IWORD): Add size_t.
8654 * except.c (exception_handler_label_map): Use gengtype to mark.
8655 (type_to_runtime_map): Likewise.
8656 (mark_ehl_map_entry): Delete.
8657 (mark_ehl_map): Delete.
8658 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
8659 (t2r_mark_1): Delete.
8660 (t2r_mark): Delete.
8661 * Makefile.in (gtype-desc.o): Correct dependencies.
8662 (GTFILES): Add hashtab.h.
8663 (genautomata.o): Actually uses hashtab.h.
8664
8665 * Makefile.in (stringpool.o): Add $(GGC_H).
8666 (dwarf2asm.o): Likewise.
8667 (GTFILES): Add hashtable.h.
8668 * c-common.h (struct c_common_identifier): Use gengtype.
8669 * c-decl.h (c_mark_tree): Delete.
8670 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
8671 * c-tree.h (struct lang_identifier): Use gengtype.
8672 (union lang_tree_node): New.
8673 (c_mark_tree): Delete prototype.
33005162 8674 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
e2500fed
GK
8675 dwarf2_debug_hooks.
8676 * gengtype-lex.l (IWORD): Allow 'bool'.
8677 (ptr_alias): Match.
8678 * gengtype-yacc.y (ALIAS): New token.
8679 (type_option): New rule.
8680 (option): Use type_option.
8681 * gengtype.c (process_gc_options): New.
8682 (set_gc_used_type): Use it.
8683 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
8684 Add new variable 't' to hold the type of the field being processed.
8685 Add more error checking. Use UNION_P when looking at 'desc' option.
8686 Handle language-specific structures containing other
8687 language-specific structures.
8688 (write_gc_types): Handle 'ptr_alias' option.
8689 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
8690 * ggc-common.c (ggc_pending_trees): Delete.
8691 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
8692 (ggc_mark_trees): Delete.
8693 (gt_ggc_m_tree_node): Delete.
8694 * ggc.h (ggc_pending_trees): Delete.
8695 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
8696 * hashtable.h (ht_identifier): Use gengtype.
8697 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
8698 * langhooks.h (struct lang_hooks): Delete mark_tree.
8699 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
8700 anyway.
8701 * system.h: Poison LANG_HOOKS_MARK_TREE.
8702 * tree.c (tree_node_structure): New.
8703 * tree.h (struct tree_common): Use gengtype.
8704 (struct tree_int_cst): Likewise.
8705 (struct tree_real_cst): Likewise.
8706 (struct tree_string): Likewise.
8707 (struct tree_complex): Likewise.
8708 (struct tree_vector): Likewise.
8709 (struct tree_identifier): Likewise.
8710 (struct tree_list): Likewise.
8711 (struct tree_vec): Likewise.
8712 (struct tree_exp): Likewise.
8713 (struct tree_block): Likewise.
8714 (struct tree_type): Likewise.
8715 (struct tree_decl): Likewise.
8716 (enum tree_structure_enum): New.
8717 (union tree_node): Use gengtype, with an alias.
8718 (tree_node_structure): Prototype.
8719 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
8720
8721 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
8722 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
8723 to LANG_HOOKS_FUNCTION_FINAL.
8724 * Makefile.in (GTFILES): Add bitmap.h.
8725 * except.c (struct eh_region): Mark field 'aka' to be skipped.
8726
8727 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
8728 (alpha_init_machine_status): Give proper type.
8729 * Makefile.in (c-lang.o): Depend on gtype-c.h.
8730 (optabs.o): Depend on gt-optabs.h.
8731 (GTFILES): Add optabs.o.
8732 (gt-optabs.h): Add rule.
8733 * optabs.c: Include gt-optabs.h.
8734
8735 * gengtype.c (set_gc_used_type): Correct some errors in last change.
8736 (write_gc_structure_fields): If a field which should be NULL is
8737 not, abort.
8738 * c-pragma.c: Move struct align_stack and variable alignment_stack
8739 out from the ifdef.
8740
8741 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
8742 * config/xtensa/xtensa.c: Include gt-cris.h.
8743 (struct machine_function): Use gengtype to mark.
8744 * config/mmix/mmix.h (struct machine_function): Use gengtype
8745 to mark.
8746 * config/cris/t-cris: Add dependencies for gt-cris.h.
8747 * config/cris/cris.c: Include gt-cris.h.
8748 (struct machine_function): Use gengtype to mark.
8749 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
8750 to mark.
8751 * doc/tm.texi (Per-Function Data): Delete references to
8752 mark_machine_status.
8753 * config/ia64/ia64.c (ia64_override_options): Don't set
8754 mark_machine_status.
8755 * config/i386/i386.c (override_options): Likewise.
8756 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
8757 * config/arm/arm.c (arm_init_expanders): Likewise.
8758 * config/alpha/alpha.c (override_options): Likewise.
33005162 8759 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
e2500fed
GK
8760 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
8761 (write_gc_structure_fields): Don't handle 'really' option.
8762 Handle 'maybe_null' option.
8763 (write_gc_types): Handle 'maybe_null' option.
8764 * function.h (struct function): Don't use "really".
8765 (mark_machine_status): Delete declaration.
8766 (mark_lang_status): Delete declaration.
8767 (gt_ggc_mr_machine_function): Delete prototype.
8768 (gt_ggc_mr_language_function): Delete prototype.
8769 * function.c (mark_machine_status): Delete.
8770 (mark_lang_status): Delete.
8771 (gt_ggc_mr_machine_function): Delete.
8772 (gt_ggc_mr_language_function): Delete.
8773 * c-tree.h (mark_c_function_context): Delete prototype.
8774 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
8775 * c-decl.c (struct language_function): Rename from struct
8776 c_language_function. Update uses. Use gengtype to mark.
8777 (mark_c_function_context): Delete.
8778 * c-common.h (struct c_language_function): Rename from struct
8779 language_function.
8780 (mark_stmt_tree): Delete prototype.
8781 (c_mark_lang_decl): Delete prototype.
8782 (mark_c_language_function): Delete prototype.
8783 * c-common.c (mark_stmt_tree): Delete.
8784 (c_mark_lang_decl): Delete.
8785 (mark_c_language_function): Delete.
8786
8787 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
8788 (lang_bitmap): New typedef. Use where appropriate.
8789 (struct type): Add gc_used field, lang_struct field.
8790 (UNION_P): New macro.
8791 (new_structure): New prototype.
8792 (find_structure): Remove 'pos' parameter. Change all callers.
8793 * gengtype-lex.l: Update for changes to find_structure.
8794 * gengtype-yacc.y (typedef_struct): Use new_structure.
8795 (yacc_ids): Suppress warning.
8796 (type): Use new_structure.
8797 * gengtype.c (string_type): Update for changes to struct type.
8798 (find_structure): Just find a structure, don't worry about
8799 creating one.
8800 (new_structure): New.
8801 (note_yacc_type): Use new_structure.
8802 (set_gc_used_type): New.
8803 (set_gc_used): New.
8804 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
8805 (write_gc_types): Handle TYPE_LANG_STRUCT.
8806 (write_gc_marker_routine_for_structure): New.
8807 (main): Call set_gc_used. Add some calls to set_gc_used_type
8808 for places where GCC doesn't use gengtype properly yet.
8809 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
8810 (gt_ggc_m_tree_node): Likewise.
8811
8812 * varasm.c (copy_constant): Call expand_constant if we hit
8813 something we can't recognise.
8814
8815 * ggc-common.c (ggc_mark_rtvec_children): Delete.
8816 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
8817 (lang_mark_false_label_stack): Delete.
8818 * rtl.h (struct rtvec_def): Use gengtype to mark.
8819 * ggc.h (ggc_mark_rtvec): Delete.
8820 (gt_ggc_m_rtvec_def): Delete.
8821 (ggc_mark_nonnull_tree): Delete.
8822 (ggc_mark_rtvec_children): Delete prototype.
8823 (lang_mark_false_label_stack): Delete declaration.
8824
8825 * gengtype.h (note_yacc_type): Add prototype.
8826 * gengtype.c (note_yacc_type): New function.
8827 * gengtype-lex.l: Add lexer support for yacc files.
8828 * gengtype-yacc.y (start): Extract union from yacc files.
8829 (yacc_union): New rule.
8830 (yacc_typematch): New rule.
8831 (yacc_ids): New rule.
8832 (enum_items): Tweak for efficiency.
8833 (optionseq): Likewise.
8834
8835 * c-common.h (struct language_function): Use gengtype.
8836 (struct c_lang_decl): Likewise.
8837 * c-tree.h (struct lang_decl): Likewise.
8838 (struct lang_type): Likewise.
8839 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
8840 tree language substructures.
8841
8842 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
8843 ggc_mark_tree.
8844 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
8845
8846 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
8847
8848 * stmt.c (struct nesting): Add discriminator. Use gengtype to
8849 mark. Remove 'data.block.cleanup_ptr' field.
8850 (struct stmt_status): Use usual technique to mark struct nesting.
8851 (gt_ggc_mr_nesting_cond): Delete.
8852 (gt_ggc_mr_nesting_loop): Delete.
8853 (gt_ggc_mr_nesting_block): Delete.
8854 (gt_ggc_mr_nesting_case_stmt): Delete.
8855 (expand_start_cond): Set discriminator.
8856 (expand_start_loop): Likewise.
8857 (expand_start_null_loop): Likewise.
8858 (expand_start_bindings_and_block): Set discriminator. Don't set
8859 deleted fields.
8860 (expand_decl_cleanup): Replace 'cleanup_ptr' with
8861 &thisblock->data.block.cleanups.
8862 (expand_start_case): Set discriminator.
8863 (expand_start_case_dummy): Set discriminator.
8864
8865 * ggc-callbacks.c: Remove.
8866
8867 * gengtype.h (struct type): Add 'u.s.bitmap' field.
8868 (find_structure): Add 'pos' parameter.
8869 * gengtype-lex.l: Update callers to find_structure.
8870 * gengtype-yacc.y: Likewise.
8871 * gengtype.c (find_structure): Allow for structures to be defined
8872 in multiple language backends.
8873 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
8874 (counter): Rename to gc_counter.
8875 (write_gc_structure_fields): Fail when writing out fields for
8876 an incomplete structure. Ignore arrays of scalars. Handle
8877 'tree_vec' special.
8878 (write_gc_types): Reset counter for each procedure written.
8879
8880 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
8881 (free_case_nodes): Delete.
8882 (expand_end_case_type): Delete call to free_case_nodes.
8883
8884 * Makefile.in (cselib.o): Include gt-<filename>.h.
8885 (gcse.o): Likewise.
8886 (profile.o): Likewise.
8887 (alias.o): Likewise.
8888 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
8889 alphabetize backend files.
8890 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
8891 * alias.c: Use gengtype for roots.
8892 * c-common.h (struct stmt_tree_s): Use gengtype.
8893 * c-decl.c: Use gengtype for roots.
8894 * cselib.c: Use gengtype for roots.
8895 * expr.c: Use gengtype for roots.
8896 * fold-const.c: Use gengtype for roots.
8897 * gcse.c: Use gengtype for roots.
8898 * gengtype-lex.l: Handle typedefs of function types.
8899 Allow for empty array bounds.
8900 Allow processing to stop on initialisers.
8901 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
8902 (semiequal): New rule.
8903 * gengtype.c (create_file): Tidy output files.
8904 (get_output_file_with_visibility): Fix paren warning. Fix bug
8905 involving multiple input files mapping to one output file.
8906 (write_gc_structure_fields): Skip arrays of scalars.
8907 (write_gc_types): Tidy output files.
8908 (write_gc_root): New function.
8909 (write_gc_roots): Fix bugs, add support for roots that are
8910 structures.
8911 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
8912 (ggc_mark_tree_ptr): Delete.
8913 (ggc_add_rtx_root): Delete.
8914 (ggc_add_tree_root): Delete.
8915 (ggc_del_root): Delete.
8916 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
8917 allocate struct initial_value_struct.
8918 * profile.c: Use gengtype for roots.
8919 * sdbout.c: Use gengtype for roots.
8920 * varasm.c (mark_weak_decls): Delete unused prototype.
8921 (mark_const_hash_entry): Delete unused function.
8922 * config/darwin-protos.h: Use gengtype for roots.
8923 (machopic_add_gc_roots): Delete.
8924 * config/arm/arm.c: Use gengtype for roots.
8925 * config/arm/arm.h: Use gengtype for roots.
8926 * config/c4x/c4x-protos.h: Use gengtype for roots.
8927 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
8928 * config/d30v/d30v-protos.h: Use gengtype for roots.
8929 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
8930 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
8931 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
8932 * config/ia64/ia64-protos.h: Use gengtype for roots.
8933 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
8934 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
8935 * config/m68hc11/m68hc11.c (z_reg): Make global.
8936 (z_reg_qi): Make global.
8937 (m68hc11_add_gc_roots): Delete.
8938 * config/mcore/mcore-protos.h: Use gengtype for roots.
8939 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
8940 * config/mips/mips.c (mips_add_gc_roots): Delete.
8941 * config/mips/mips.h: Use gengtype for roots.
8942 * config/mmix/mmix.c (override_options): Use gengtype for roots.
8943 * config/mmix/mmix.h: Use gengtype for roots.
8944 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
8945 * config/mn10200/mn10200.h: Use gengtype for roots.
8946 * config/pa/pa.c: Use gengtype for roots, marking.
8947 (struct deferred_plabel): Use GGC, gengtype.
8948 (pa_add_gc_roots): Delete.
8949 (mark_deferred_plabels): Delete.
8950 * config/pj/pj-protos.h: Use gengtype for roots.
8951 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
8952 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
8953 machopic_add_gc_roots.
8954 * config/rs6000/rs6000.h: Use gengtype for roots.
8955 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
8956 (gt-darwin.h): Add rule.
8957 * config/sh/sh.c: Use gengtype for roots.
8958 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
8959 (gt-sh.h): Add rule.
8960 * config/sparc/sparc.c: Use gengtype for roots.
8961 (sparc_add_gc_roots): Delete.
8962 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
8963 (mark_ultrasparc_pipeline_state): Delete.
8964 * config/sparc/sparc.h: Use gengtype for roots.
8965
8966 * Makefile.in (c-parse.o): Update dependencies.
8967 (c-common.o): Likewise.
8968 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
8969 Add dependencies for the files they generate.
8970 * c-common.c: Replace ggc_add_* uses with GTY annotations.
8971 * c-common.h: Likewise.
8972 * c-decl.c: Likewise.
8973 (gt_ggc_mp_binding_level): Delete.
8974 * c-lang.c: Include gtype-c.h.
8975 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
8976 gt-c-parse.h.
8977 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
8978 (gt_ggc_mp_align_stack): Delete.
8979 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
8980 * function.c: Replace ggc_add_* uses with GTY annotations.
8981 (gt_ggc_mp_function): Delete.
8982 * function.h: Replace ggc_add_* uses with GTY annotations.
8983 * gengtype.c (lang_names): New.
8984 (NUM_BASE_FILES): New.
8985 (open_base_files): Create language base files.
8986 (startswith): New.
8987 (get_file_basename): New.
8988 (get_base_file_bitmap): New.
8989 (get_output_file_with_visibility): Rename from get_output_file.
8990 Add more mappings for various C/Objc filenames.
8991 (finish_root_table): New.
8992 (write_gc_roots): Handle dependencies and scoping properly.
8993 * gengtype.h: Add prototypes for new functions.
8994 * ggc-common.c (struct deletable_root): Delete.
8995 (deletables): Delete.
8996 (ggc_add_deletable_root): Delete.
8997 (ggc_mark_roots): No need to deal with deleted functionality.
8998 * ggc.h (ggc_add_deletable_root): Delete prototype.
8999 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
9000 (gtype-objc.h): Add rule to create.
9001 * objc/config-lang.in (gtfiles): New.
9002 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
9003 ggc_add_* with GTY markers. Include gtype-objc.h.
9004 (ggc_mark_imp_list): Delete.
9005 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
9006 * objc/objc-lang.c: Random Whitespace Change.
9007
9008 * except.h (exception_handler_labels): Delete.
9009 (get_exception_handler_labels): New.
9010 * except.c (exception_handler_labels): Delete.
9011 (struct eh_status): Add exception_handler_labels field.
9012 (doing_eh): Don't add exception_handler_labels as root.
9013 (free_eh_status): Don't need to free exception_handler_labels.
9014 (get_exception_handler_labels): New.
9015 (find_exception_handler_labels): Update for move of
9016 exception_handler_labels.
9017 (remove_exception_handler_label): Likewise.
9018 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
9019 * jump.c (rebuild_jump_labels): Likewise.
9020 * loop.c (find_and_verify_loops): Likewise.
9021 * sched-rgn.c (is_cfg_nonregular): Likewise.
9022
9023 * gengtype.c (write_gc_structure_fields): Handle variable-length
9024 TYPE_ARRAYs.
9025
9026 * varasm.c (struct weak_syms): Use GGC, gengtype.
9027 (mark_weak_decls): Delete.
9028 (weak_decls): Likewise.
9029 (add_weak): Likewise.
9030 (remove_from_pending_weak_list): Likewise.
9031 (init_varasm_once): Likewise.
9032
9033 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
9034 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
9035 stor-layout.c, regclass.c, and lists.c.
9036 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
9037 gt-regclass.h and gt-lists.h on s-gtype.
9038 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
9039 * except.c: Use gengtype for roots.
9040 * explow.c: Use gengtype for roots. Include gt-explow.h.
9041 * expr.h (init_stor_layout_once): Delete prototype.
9042 * function.c: Use gengtype for roots.
9043 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
9044 * gengtype-yacc.y (start): Can also be an externstatic.
9045 (externstatic): New production.
9046 (struct_fields): Correct array bounds inversion for 2-d arrays.
9047 * gengtype.c (variables): New variable.
9048 (note_variable): New function.
9049 (get_output_file): Include libfuncs.h into gtype-desc.c.
9050 (get_output_file_name): New function.
9051 (write_gc_structure_fields): Suppress warnings.
9052 (write_gc_types): Make static.
9053 (put_mangled_filename): New function.
9054 (write_gc_roots): New function.
9055 (main): Call write_gc_roots.
9056 * gengtype.h (note_variable): Prototype.
9057 (get_output_file_name): Prototype.
9058 (write_gc_types): Delete prototype.
9059 * ggc.h: Clean up unnecessary structure predefinitions.
9060 (struct ggc_root_tab): Define.
9061 (gt_ggc_m_rtx_def): Make function, not macro.
9062 (gt_ggc_m_tree_node): Likewise.
9063 * libfuncs.h: Use gengtype for roots.
9064 * lists.c: Use gengtype for roots. Include gt-lists.h.
9065 (init_EXPR_INSN_LIST_cache): Delete.
9066 * optabs.c: Use gengtype for roots.
9067 (gt_ggc_mp_optab): Delete.
9068 * optabs.h: Use gengtype for roots.
9069 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
9070 * rtl.h: Use gengtype for roots.
9071 (init_EXPR_INSN_LIST_cache): Delete prototype.
9072 * stor-layout.c: Use gengtype for roots.
9073 Include gt-stor-layout.h.
9074 (init_stor_layout_once): Delete.
9075 * toplev.c: Use gengtype for roots. Delete calls to deleted
9076 routines.
9077 * tree.c: Use gengtype for roots.
9078 * tree.h: Use gengtype for roots.
9079 * varasm.c: Use gengtype for roots.
33005162 9080
e2500fed
GK
9081 * Makefile.in (GTFILES): Add @all_gtfiles@.
9082 * configure: Regenerate.
9083 * configure.in: Construct all_gtfiles from the gtfiles definitions
9084 in config-lang.in.
9085 * gengtype-yacc.y (type): Warn about duplicate structure names.
9086 * gengtype.c (get_output_file): Handle .c files in language
9087 subdirectories.
9088
9089 * Makefile.in (GTFILES): Run gengtype on all the config files
9090 and on the target .c file.
9091 * except.c (mark_eh_region): Delete.
9092 (init_eh_for_function): Use GGC on struct eh_status.
9093 (mark_eh_status): Delete.
9094 (free_eh_status): Use GGC.
9095 (expand_eh_region_start): Use GGC to
9096 (collect_eh_region_array): Allocate last_region_number using GGC.
9097 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
9098 (remove_eh_handler): Let GGC free struct eh_region.
9099 (add_call_site): Use GGC to reallocate call_site_record array.
9100 * function.c (init_machine_status): Update calling sequence.
9101 (mark_machine_status): Likewise.
9102 (mark_lang_status): Likewise.
9103 (prepare_function_start): Update init_machine_status call.
9104 (mark_function_status): Delete.
9105 (maybe_mark_struct_function): Delete.
9106 (ggc_mark_struct_function): Delete.
9107 (gt_ggc_mp_function): New.
9108 (gt_ggc_mr_machine_function): New.
9109 (gt_ggc_mr_language_function): New.
9110 (init_function_once): Use canonical names.
9111 * function.h (struct function): Use gengtype.
9112 (init_machine_status): Return the structure.
9113 (mark_machine_status): Take a 'void *'.
9114 (mark_lang_status): Likewise.
9115 * ggc-common.c (ggc_mark_trees): Use canonical name for
9116 ggc_mark_struct_function.
9117 * tree.h (ggc_mark_struct_function): Delete prototype.
9118 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
9119 (alpha_init_machine_status): Likewise.
9120 (override_options): Use canonical name for alpha_mark_machine_status.
9121 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
9122 * config/arm/arm.h (struct machine_function): Use gengtype.
9123 * config/arm/arm.c (arm_mark_machine_status): Delete.
9124 (arm_init_machine_status): Update calling sequence.
9125 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
33005162 9126 * config/cris/cris.c (cris_init_machine_status): Update
e2500fed
GK
9127 calling sequence.
9128 * config/d30v/d30v.h (struct machine_function): Use gengtype.
33005162 9129 * config/d30v/d30v.c (d30v_init_machine_status): Update
e2500fed
GK
9130 calling sequence.
9131 (d30v_mark_machine_status): Delete.
9132 * config/i386/i386.c: Include gt-i386.h.
9133 (struct machine_function): Use gengtype.
9134 (ix86_init_machine_status): Update calling sequence.
9135 (ix86_mark_machine_status): Delete.
9136 (override_options): Use canonical namke for ix86_mark_machine_status.
9137 * config/ia64/ia64.h (struct machine_function): Use gengtype.
33005162 9138 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
e2500fed
GK
9139 sequence.
9140 (ia64_mark_machine_status): Delete.
33005162 9141 (ia64_override_options): Use canonical name for
e2500fed 9142 ia64_mark_machine_status.
33005162 9143 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
e2500fed
GK
9144 sequence.
9145 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
9146 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
9147 * gengtype.c (get_output_file): Fix warning.
9148 (main): Add prototype to suppress warning.
9149 * tree.c: Remove tree_hash_mark prototype.
9150
9151 * tree.h (init_stmt): Delete prototype.
9152 * toplev.c (lang_independent_init): Don't call init_stmt.
9153 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
9154 (stmt_obstack): Delete.
9155 (POPSTACK): No need to free 'struct nesting'.
9156 (gt_ggc_mr_nesting_cond): Use canonical names.
9157 (gt_ggc_mr_nesting_loop): Use canonical names.
9158 (gt_ggc_mr_nesting_block): Use canonical names.
9159 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
9160 (mark_stmt_status): Delete.
9161 (init_stmt): Delete.
9162 (clear_last_expr): Clear both last_expr_type and last_expr_value.
9163 Use it everywhere that last_expr_type was cleared.
9164 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
9165 (zap_lists): Delete.
9166 * ggc.h (ggc_add_deletable_root): Prototype.
9167 (mark_stmt_status): Remove prototype.
9168 * ggc-common.c (ggc_add_deletable_root): New.
9169 (ggc_mark_roots): Handle deletable roots.
9170 * function.c (ggc_mark_struct_function): Use canonical name
9171 for mark_stmt_status.
9172 * emit-rtl.c (free_sequence_stack): New.
9173 (start_sequence): Use a freelist for sequences.
9174 (end_sequence): Likewise.
9175 (init_emit_once): Add free_sequence_stack as a deleteable root.
9176 * c-pragma.c Include gt-c-pragma.h.
9177 (struct align_stack): Use gengtype.
9178 (push_alignment): Use GGC for struct align_stack.
9179 (mark_align_stack): Delete.
9180 (gt_ggc_mp_align_stack): New.
9181 (init_pragma): Use canonical name for mark_align_stack.
9182 * c-decl.c: Include gt-c-decl.h.
9183 (struct binding_level): Use gengtype.
9184 (make_binding_level): Use GGC; handle the freelist here.
9185 (pop_binding_level): New.
9186 (pushlevel): Move code into make_binding_level.
9187 (push_label_level): Likewise.
9188 (poplevel): Move code into pop_binding_level.
9189 (pop_label_level): Likewise.
9190 (mark_binding_level): Delete.
9191 (gt_ggc_mp_binding_level): New.
9192 (c_init_decl_processing): Use canonical name for mark_binding_level.
9193 Add free_binding_level as deletable root.
9194 (mark_c_function_context): Use canonical name for mark_binding_level.
9195 * Makefile.in (c-decl.o): Add gt-c-decl.h.
9196 (c-pragma.o): Add gt-c-pragma.h.
9197 (GTFILES): Add c-decl.c and c-pragma.c.
9198 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
9199
9200 * tree.c (struct type_hash): Use gengtype.
9201 (init_obstacks): Use canonical name for type_hash_mark.
9202 (type_hash_mark): Delete.
9203 Include gt-tree.h.
9204 * rtl.h (struct mem_attrs): Use gengtype.
9205 * optabs.h (struct optab): Use gengtype.
9206 * optabs.c (expand_binop): Squish signed/unsigned warning.
9207 (mark_optab): Make local, use canonical name, use autogenerated
9208 marker procedure.
9209 (init_optabs): Use canonical name for mark_optab.
9210 (new_optab): Use GGC to allocate optabs.
9211 * ggc.h: Delete mark_optab prototype.
9212 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
9213 mem_attrs marker procedure.
9214 * gengtype.c (get_output_file): Include headers in gtype-desc.c
9215 explicitly rather than deducing them from file names.
9216 (write_gc_structure_fields): Handle arrays of structures.
9217 (main): Return non-zero exit code if errors occur during output.
9218 * emit-rtl.c (mem_attrs_mark): Delete.
9219 (init_emit_once): Use canonical name for mem_attrs marker procedure.
9220 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
9221 (tree.o): Depend on gt-tree.h.
9222 (GTFILES): Add rtl.h, optabs.h, tree.c.
9223 (gt-tree.h): Add it to s-gtype rule.
9224
9225 * .cvsignore: Ignore gengtype flex/bison generated files.
9226 * Makefile.in (GGC_H): Add gtype-desc.h.
9227 (OBJS): Add gtype-desc.o.
9228 (GEN): Add gengtype.
9229 (STAGESTUFF): Add gengtype.
9230 (varasm.o): Add gt-varasm.h.
9231 (stmt.o): Add gt-stmt.h.
9232 (except.o): Add gt-except.h.
9233 (integrate.o): Add gt-integrate.h.
9234 (GTFILES): New.
9235 Add new rules for new files.
9236 * configure: Regenerate.
9237 * configure.in: Correct defaults.h paths.
9238 * emit-rtl.c (mark_sequence_stack): Delete.
9239 (mark_emit_status): Delete.
9240 (start_sequence): Allocate sequence structures using GGC.
9241 (end_sequence): Allocate sequence structures using GGC.
9242 * except.c: Use gengtype for various structures. Include
9243 gt-except.h.
9244 * expr.c (mark_expr_status): Delete.
9245 * function.c: Use gengtype for various structures. Include
9246 gt-function.h.
9247 (mark_function_status): Use standard gt_ggc names for marker functions.
9248 (ggc_mark_struct_function): Likewise.
9249 * function.h: Use gengtype for various structures.
9250 * gengtype-lex.l: New file.
9251 * gengtype-yacc.y: New file.
9252 * gengtype.c: New file.
9253 * gengtype.h: New file.
9254 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
9255 the standard names. Remove some now-unnecessary prototypes.
9256 * integrate.c: Use gengtype for various structures. Include
9257 gt-integrate.h.
9258 (mark_hard_reg_initial_vals): Delete.
9259 * integrate.h (mark_hard_reg_initial_vals): Delete.
9260 * stmt.c: Use gengtype for various structures. Include
9261 gt-stmt.h.
9262 (mark_case_node): Delete.
9263 (mark_goto_fixup): Delete.
9264 (mark_stmt_status): Use standard gt_ggc names for marker functions.
9265 * system.h: Define GTY to empty. In flex/bison files,
9266 don't poison malloc or realloc, instead just define them to
9267 xmalloc and xrealloc.
9268 * varasm.c: Use gengtype for various structures. Include
9269 gt-varasm.h. Use standard gt_ggc names for marker functions.
9270 (mark_pool_constant): Delete.
9271 (mark_varasm_status): Delete.
9272 (decode_rtx_const): #if 0 out non-typesafe hack.
9273
9274 * function.h (free_lang_status): Mark as obsolete.
9275 * function.c (free_lang_status): Mark as obsolete.
9276 * c-decl.c (push_c_function_context): Use GC to allocate and free
9277 struct language_function.
9278 (pop_c_function_context): Likewise.
9279 * c-common.c (mark_c_language_function): Mark struct
9280 language_function.
9281
9282 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
9283 Document that the machine_function structures must be allocated
9284 using GC. Update mark_machine_status documentation.
9285 * function.h: Don't declare free_machine_status.
33005162 9286 * function.c (free_machine_status): Don't define.
e2500fed
GK
9287 (free_after_compilation): Don't call free_machine_status.
9288 (ggc_mark_struct_function): Mark f->machine. Call
9289 mark_machine_status only on non-NULL pointers.
9290 * system.h: Poison free_machine_status.
9291 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
9292 struct machine_function.
9293 (xtensa_free_machine_status): Delete.
9294 (override_options): Don't set free_machine_status.
9295 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
9296 free_machine_status.
9297 (rs6000_init_machine_status): Use GC on struct machine_function.
9298 (rs6000_free_machine_status): Delete.
9299 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
9300 machine_function.
9301 (ia64_mark_machine_status): Likewise.
9302 (ia64_free_machine_status): Delete.
9303 (ia64_override_options): Don't set free_machine_status.
9304 * config/i386/i386.c (override_options): Don't set
9305 free_machine_status.
9306 (ix86_init_machine_status): Use GC on struct machine_function.
9307 (ix86_mark_machine_status): Likewise.
9308 (ix86_free_machine_status): Delete.
9309 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
9310 machine_function.
9311 (d30v_mark_machine_status): Likewise.
9312 (d30v_free_machine_status): Delete.
9313 (d30v_init_expanders): Don't set free_machine_status.
9314 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
9315 machine_function.
9316 (arm_init_machine_status): Likewise.
9317 (arm_free_machine_status): Delete.
9318 (arm_init_expanders): Don't set free_machine_status.
9319 * config/alpha/alpha.c (override_options): Don't set
9320 free_machine_status.
9321 (alpha_init_machine_status): Use GC on struct machine_function.
9322 (alpha_mark_machine_status): Likewise.
9323 (alpha_free_machine_status): Delete.
9324
9325 * varasm.c (compare_constant): Fix typo.
9326
9327 * varasm.c: Don't include obstack.h.
9328 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
9329 (struct rtx_const): Give substructures names, improve formatting.
9330 (struct constant_descriptor): Delete.
9331 (struct constant_descriptor_tree): New, based on constant_descriptor.
9332 (const_hash_table): Is a hash table of trees.
9333 (mark_const_hash_entry): Is used for hashes of trees. Mark
9334 constant_descriptor_tree structure.
9335 (mark_const_str_htab_1): Mark deferred_string structure.
9336 (compare_constant): Rewrite to compare trees.
9337 (compare_constant_1): Delete.
9338 (record_constant): Delete.
9339 (record_constant_1): Delete.
9340 (output_constant_def): Use struct constant_descriptor_tree.
9341 Don't duplicate trees twice.
9342 (struct constant_descriptor_rtx): New.
9343 (struct pool_constant): Used for rtx constants.
9344 (init_varasm_status): Update for change to struct varasm_status.
9345 (mark_varasm_status): Likewise.
9346 (free_varasm_status): Delete.
9347 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
9348 (record_constant_rtx): Likewise.
9349 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
9350 (force_const_mem): Likewise.
9351 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
9352 * function.c (free_after_compilation): Don't use free_varasm_status.
9353 * function.h: Don't prototype free_varasm_status.
9354
9355 * ggc-common.c (ggc_realloc): Handle X being NULL.
9356
9357 * ggc-common.c (ggc_realloc): New function.
9358 * ggc.h: Prototype it.
9359 * emit-rtl.c (free_emit_status): Delete.
9360 (init_emit): Allocate emit subarrays using GC.
9361 (gen_reg_rtx): Reallocate subarrays using GC.
9362 (init_emit): Use GC to allocate 'struct emit_status' and its
9363 subarrays.
9364 (mark_emit_status): Mark structure and its subarrays.
9365 * stmt.c (free_stmt_status): Delete.
9366 * expr.c (free_expr_status): Delete.
9367 * function.h: Remove prototypes for deleted functions.
9368 * function.c (free_after_compilation): Don't use deleted functions.
9369 Don't call free() on x_parm_reg_stack_loc.
9370 (free_after_parsing): Don't use free_stmt_status.
9371 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
9372 (mark_function_status): Mark x_parm_reg_stack_loc.
9373
9374 * varasm.c (init_varasm_status): Use GC to allocate
9375 'struct varasm_status' and its fields x_const_rtx_hash_table
9376 and x_const_rtx_sym_hash_table.
9377 (mark_varasm_status): Mark them.
9378 (free_varasm_status): Use GC to free them.
9379 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
9380 (mark_expr_status): Mark the structure itself.
9381 (free_expr_status): Use GC to free the structure.
9382 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
9383 (mark_stmt_status): Mark the 'struct stmt_status' itself.
9384 (init_stmt_for_function): Allocate the structure for GC.
9385
9386 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
9387 (equate_type_number_to_die): Likewise.
9388 * tree.h (TYPE_SYMTAB_DIE): New macro.
9389 (struct die_struct): Predeclare.
9390 (struct tree_type): Add field symtab.die. Add a tag
9391 to the union type of field symtab.
9392
9393 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
9394 'struct rtvec_def *', not 'struct rtvec_def'.
9395
9396 * function.h (original_arg_vector): Make a real rtvec.
9397 * function.c (ggc_mark_struct_function): Adjust.
9398 * integrate.c (expand_inline_function): Adjust.
9399
b655555e
JT
94002002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
9401
9402 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
9403 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
9404 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
9405 (TARGET_VERSION_CPU): Define according to the
9406 default target.
9407 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
9408 TARGET_VERSION_CPU.
9409 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
9410 if TARGET_SHMEDIA64.
9411 (LINK_DEFAULT_CPU_EMUL): Define according to the
9412 default target.
9413 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
9414 (SUBTARGET_LINK_SPEC): Define.
9415 (LINK_SPEC): Use SH_LINK_SPEC.
9416 (ASM_SPEC): Remove.
9417 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
9418 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
9419 and TARGET_SHMEDIA64 which abort, for now.
9420 * config/sh/t-netbsd-sh5: New file.
9421 * config/sh/t-netbsd-sh5-32: New file.
9422 * config/sh/t-netbsd-sh5-64: New file.
9423
6d8fd7bb
RH
94242002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
9425 Richard Henderson <rth@redhat.com>
9426
9427 * config/alpha/alpha.c (reg_or_const_int_operand): New.
9428 (some_operand, input_operand): Accept CONST_VECTOR.
9429 (alpha_extra_constraint): Add 'W'.
9430 (alpha_expand_zap_mask): New.
9431 (alpha_expand_builtin_vector_binop): New.
9432 (enum alpha_builtin): New.
9433 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
9434 (alpha_init_builtins, alpha_expand_builtin): New.
9435 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
9436 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
9437 (PREDICATE_CODES): Update.
9438 * config/alpha/alpha-protos.h: Update.
9439 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
9440 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
9441 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
9442 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
9443 (movv2si, movv2si_fix, movv2si_nofix): New.
9444 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
9445 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
9446 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
9447 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
9448 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
9449 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
9450 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
9451 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
9452 builtin_unpkbw, unpkbw): New.
9453 * doc/extend.texi (Alpha Built-in Functions): New.
9454
618939de
RH
94552002-06-03 Richard Henderson <rth@redhat.com>
9456
9457 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
9458 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
9459
73db7137
RH
94602002-06-03 Richard Henderson <rth@redhat.com>
9461
6933647a
RH
9462 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
9463
73db7137
RH
9464 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
9465 (const0_operand): New.
9466 (reg_or_fp0_operand, fp0_operand): Remove.
9467 * config/alpha/alpha.h (PREDICATE_CODES): Update.
9468 * config/alpha/alpha-protos.h: Update.
9469 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
9470 and fp0_operand with reg_or_0_operand and const0_operand.
9471
a6f7c915
DN
94722002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
9473
9474 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
9475
b2f02503
RS
94762002-06-03 Roger Sayle <roger@eyesopen.com>
9477
9478 * gcse.c (cprop_jump): Use single_set to get the pattern
9479 from the setcc argument.
9480
4fcc2065
GDR
94812002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
9482
33005162 9483 * diagnostic.h (diagnostic_count): Move from output_buffer to
4fcc2065
GDR
9484 diagnostic_context.
9485 (diagnostic_kind_count): Adjust definition.
9486
5204d665
JH
9487Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
9488
9489 * except.c (except.c): Do not rebuild CFG.
9490 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
9491 optimization.
9492
0478a14c
JH
9493Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
9494
9495 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
9496 * toplev.c: Include cfglahout.h
9497 * Makefile.in (toplev.c): Add dependnecy.
9498
30efe578
NB
94992002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
9500
9501 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
9502 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
9503 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
9504
a782515b
JT
95052002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
9506
9507 * config/ns32k/netbsd.h: Update copyright years.
9508 (TARGET_OS_CPP_BUILTINS): Define.
9509 (CPP_PREDEFINES): Remove.
9510 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
9511 (TARGET_CPU_CPP_BUILTINS): Define.
9512
0fb7aeda
KH
95132002-06-02 Kazu Hirata <kazu@cs.umass.edu>
9514
589005ff 9515 * emit-rtl.c: Fix formatting.
0fb7aeda
KH
9516 * errors.h: Likewise.
9517 * except.c: Likewise.
9518 * explow.c: Likewise.
9519 * expmed.c: Likewise.
9520 * expr.c: Likewise.
9521 * expr.h: Likewise.
9522
1c8ec18b
KH
95232002-06-02 Kazu Hirata <kazu@cs.umass.edu>
9524
9525 * config/h8300/elf.h: Fix formatting.
9526 * config/h8300/rtems.h: Likewise.
9527
86cb04f6
JT
95282002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
9529
9530 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
9531
5d83269d
TT
95322002-06-02 Tom Tromey <tromey@redhat.com>
9533
9534 * fixinc/fixincl.x: Rebuilt.
9535 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
9536
62f6a494
NB
95372002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9538
9539config/i370:
9540 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
9541 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
9542 * mvs.h: Similarly.
9543 * oe.h: Similarly.
9544
0acb0203
JH
9545Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
9546
9547 * final.c (final): Allow notes to not have computed addresses;
9548 kill no longer needed STACK_REGS ifdef.
9549
ada8d98a
RH
95502002-06-02 Richard Henderson <rth@redhat.com>
9551
9552 * gcse.c (bypass_conditional_jumps): Fix typo last change.
9553
ba4f7968
JH
9554Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
9555
ada8d98a
RH
9556 * loop.c (emit_prefetch_instructions): Properly place the address
9557 computation.
ba4f7968
JH
9558
9559Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
9560
9561 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
9562 (set_block_for_insn): Turn into macro.
9563 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
9564 * cfglayout.c (insn_scopes): Kill.
9565 (scope_to_insns_initialize): Do not use insn_scopes.
9566 (scope_to_insns_finalize): Likewise.
9567 (duplicate_insn_chain): Likewise.
9568 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
9569 * cfgrtl.c (basic_block_for_insn): Kill.
9570 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
9571 (create_basic_block_structure): Use reorder_insns.
9572 (compute_bb_for_insn): Do not use basic_block_for_insn.
9573 (merge_blocks_nomove): Likewise.
9574 (update_bb_for_insn): Likewise.
9575 (verify_flow_info): Likewise.
9576 (set_block_for_insn): Kill.
9577 * combine.c (try_combine): Update gen_rtx_INSN call.
9578 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
9579 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
9580 scopes and BBs.
9581 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
9582 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
9583 Clear BB.
9584 (emit_insns_after): Simplify.
9585 (emit_copy_of_insn_after): Copy scope.
9586 * final.c (final_start_function): Lower scopes.
9587 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
9588 * integrate.c (copy_insn_list): Cope scopes.
9589 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
9590 * loop.c (loop_optimize): Do not care block notes.
9591 * print-rtl.c (print_rtx): Print BB.
9592 * recog.c (apply_change_group): Simplify.
9593 * rtl.c (copy_rtx): Handle 'B'.
9594 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
9595 * rtl.h (Field accessors): Update indexes.
9596 * sched-ebb.c (schedule_ebbs): Do not lower notes.
9597 * sched-rgn.c (schedule_insns): Likewise.
9598 * toplev.c (rest_of_compilation): Lower notes.
9599 * unroll.c (unroll_loop): Do not care scoping notes.
9600 (copy_loop_body): Copy scopes.
9601
537fc532
NB
96022002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9603
9604config/h8300:
9605 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
9606 SUBTARGET_SPEC.
9607 * rtems.h: Similarly.
9608 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
9609 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
9610 (TARGET_CPU_CPP_BUILTINS): Use.
9611
ab780373
RH
96122002-06-02 Richard Henderson <rth@redhat.com>
9613
9614 * alias.c: Include target.h.
9615 (mark_constant_function): Use targetm.binds_local_p instead
9616 of checking TREE_PUBLIC ourselves.
9617 * Makefile.in (alias.o): Add TARGET_H.
9618
b9305c66
NB
96192002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9620
9621 * c-lex.c: Update copyright and file description.
9622
0ac3e0c4
NB
96232002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9624
9625 * config/fr30/fr30.h: Update to new CPP macros.
9626
be3a1d46
NB
96272002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9628
9629 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
9630
ceeedfc1 96312002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
a8fd5963 9632 Zack Weinberg <zack@codesourcery.com>
ceeedfc1
NB
9633
9634 * c-common.c (c_common_init): Override cpplib's default
9635 warn_long_long setting.
9636 * c-lex.c (lex_number): Replace with interpret_integer,
9637 interpret_float, narrowest_unsigned_type and
9638 narrowest_signed_type, taking advantage of the new
9639 cpplib functionality.
9640 * cpperror.c (_cpp_begin_message): If a warning is turned
9641 into an error, avoid printing "warning:".
9642 * cppexp.c (cpp_num_sign_extend): New.
9643 * cppinit.c: Update comment.
9644 * cpplib.h (cpp_num_sign_extend): New.
9645 * tree.h: Update comment.
9646
27e511e0
GDR
96472002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
9648
9649 * diagnostic.h (struct diagnostic_context): Add new member
33005162 9650 internal_error.
27e511e0
GDR
9651 (internal_error_function): Remove declaration.
9652 * diagnostic.c (internal_error_function): Remove definition..
9653 (internal_error): Adjust use.
9654
818b6b7f
RH
96552002-06-02 Richard Henderson <rth@redhat.com>
9656
9657 * rtl.h (CC0_P): New.
9658 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
9659 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
9660 (bypass_block): Save old dest block for dump text.
9661 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
9662 Allow only true SET insns, not single_set.
9663
167143a0
GDR
96642002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
9665
9666 * diagnostic.c (diagnostic_finish): Rename to output_flush.
9667 (clear_disgnostic_info): Rename to output_clear_data. Use false
9668 instead of 0 for boolean value.
9669 Adjust function call throughout.
9670
eae4bc56
JH
9671Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
9672
9673 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
9674 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
9675
9eb404a0
NB
96762002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9677
9678 * d30v.h (CPP_PREDEFINES): Replace with
9679 (TARGET_CPU_CPP_BUILTINS): New.
9680
53e8b0b8
RS
96812002-06-02 Roger Sayle <roger@eyesopen.com>
9682
9683 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
9684
92e34b67
JH
9685Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
9686
9687 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
9688
e7e9d242
RH
96892002-06-02 Richard Henderson <rth@redhat.com>
9690
9691 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
9692
9af145ae
MM
96932002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
9694
9695 Support for C++ constructors/destructors.
9696 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
9697 instead of looping if main() returns.
9698 (asm_file_start): Output global symbols that cause .data and .bss
9699 initialization code to be linked in, unconditionally for now.
9700 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
9701 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
9702 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9703 (LIBSTDCXX): New.
9704 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
9705 (__tablejump__): New.
9706 (__do_copy_data, __do_clear_bss): New.
9707 (__do_global_ctors, __do_global_dtors): New.
9708 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
9709 _ctors, _dtors.
9710
0d66ad57
NB
97112002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9712
9713 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
9714 (CPP_SPEC, CPP_PREDEFINES): Kill.
9715 * c4x/rtems.h (CPP_PREDEFINES): Kill.
9716 (TARGET_OS_CPP_BUILTINS): New.
9717
5c856b23
JH
9718Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
9719
9720 * Makefile.in (tracer.o): New.
9721 * params.def (TRACER_*): New options.
9722 * rtl.h (tracer): Declare.
9723 * timevar.def (TV_TRACER): New.
9724 * toplev.c (dump_file_index): Add DFI_tracer.
9725 (dump_file_info): Add tracer.
9726 (flag_tracer): New.
9727 (lang_indepdenent_options): Add tracer.
9728 (rest_of_compilation): Call tracer.
9729 * tracer.c: New file.
9730 * invoke.texi (-ftracer): Document.
9731 (--param tracer-*): Document.
9732
e2405951
DB
97332002-06-01 Daniel Berlin <dberlin@dberlin.org>
9734
9735 * tree-inline.c (expand_call_inline): Make the statement
33005162 9736 expression we generate have a COMPOUND_STMT.
e2405951 9737
0e3f0221
RS
97382002-06-01 Roger Sayle <roger@eyesopen.com>
9739
9740 * gcse.c (cprop_cc0_jump): Function deleted.
9741 (cprop_jump): Take an additional argument which is the possibly
9742 NULL cc setting insn immediately before the conditional jump.
9743 When a MODE_CC set is present, substitute it into the JUMP_INSN
9744 before attempting the constant propagation.
9745 (cprop_insn): Recognize cc setters followed by conditional jumps
9746 as a special case. Use cprop_jump instead of cprop_cc0_jump.
9747 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
9748 (find_bypass_set): New function based upon find_avail_set used by
9749 cprop, but finds constant expressions available at the end of
9750 basic blocks.
9751 (bypass_block): New function. Given a basic block that begins
9752 with a conditional jump and multiple incoming edges, perform
9753 the jump bypass optimization.
9754 (bypass_conditional_jumps): New function. Call bypass_block with
9755 each suitable basic block in the CFG using a simple single pass.
9756
378393da
RS
97572002-06-01 Roger Sayle <roger@eyesopen.com>
9758
9759 * tree.c (real_minus_onep): New function to test for -1.0.
9760 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
9761
01c58f26
RS
97622002-06-01 Roger Sayle <roger@eyesopen.com>
9763
9764 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
9765 and "!p && !q" into "(p|q) == 0" under suitable conditions.
9766
91b12472
AJ
97672002-06-01 Andreas Jaeger <aj@suse.de>
9768
9769 * cppexp.c (cpp_classify_number): Cast precission to int for
9770 correct printf format.
9771
01e9ae86
MM
97722002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
9773
9774 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
9775 expected, but don't really exist: atmega83, atmega85, attiny10.
9776 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
9777 emulations for all devices.
9778 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
9779 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
9780
be1e06df
KH
97812002-06-01 Kazu Hirata <kazu@cs.umass.edu>
9782
9783 * config/h8300/h8300-protos.h: Add a prototype for
9784 h8300_shift_needs_scratch_p.
9785 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
9786 * config/h8300/h8300.h (OK_FOR_R): New.
9787 (OK_FOR_S): Likewise.
9788 (OK_FOR_T): Likewise.
9789 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
9790 * config/h8300/h8300.md (anonymous shift patterns): Use
9791 constraints R, S, and T.
9792
2ecfd709
ZD
9793Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9794
9795 * basic-block.h (struct basic_block_def): New field loop_father.
9796 (BB_VISITED): New flag.
9797 (struct loop): New field pred, removed field shared.
9798 (struct loops): New field parray.
9799 (LOOP_EXITS_DOMS): Removed.
9800 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
9801 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
9802 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
9803 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
9804 verify_loop_structure): Declare.
9805 * cfg.c (entry_exit_blocks): Initialize loop_father field.
9806 * cfganal.c (dfs_enumerate_from): New function.
9807 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
9808 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
9809 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
9810 flow_loop_dump, flow_loops_dump, flow_loops_free,
9811 flow_loop_tree_node_add, flow_loop_level_compute,
9812 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
9813 flow_loop_outside_edge_p): Modified for new infrastructure.
9814 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
9815 redirect_edge_with_latch_update, flow_loop_free): New static functions.
9816 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
9817 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
9818 find_common_loop, verify_loop_structure, loop_latch_edge,
9819 loop_preheader_edge): New functions.
9820 (flow_loops_cfg_dump): Do not show dominators, as this information
9821 does not remain up to date long.
9822 (flow_loops_find): Store results in new format.
9823 * predict.c (propagate_freq, estimate_probability,
9824 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
9825 infrastructure.
9826
d9763749 98272002-06-01 Alan Lehotsky <apl@alum.mit.edu>
91b12472 9828
d9763749
AL
9829 * except.c (nothrow_function_p): Walk epilogue delay list
9830 checking the insn, not the chain for potential throws.
91b12472 9831
1e730c5c
ZW
98322002-05-31 Zack Weinberg <zack@codesourcery.com>
9833
9834 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
9835 (install): Refer to install-cpp directly.
9836 (uninstall-cpp): Folded into uninstall rule.
9837 * configure.in: Delete all code relating to --disable-cpp.
9838 * configure: Regenerate.
9839 * config/t-install-cpp: Delete.
9840
6f9b006d
RH
98412002-05-31 Richard Henderson <rth@redhat.com>
9842
9843 * configure.in (HAVE_AS_TLS): Add alpha tests.
9844 * configure: Rebuild.
9845 * config/alpha/alpha.c (TARGET_AS_TLS): New.
9846 (alpha_tls_size, alpha_tls_size_string): New.
9847 (overide_options): Set it. Always install machine_status hooks.
9848 (input_operand): Accept got tls predicates.
9849 (local_symbol_p): Merge into ...
9850 (local_symbolic_operand): ... here. Reject tls symbols.
9851 (global_symbolic_operand): Likewise.
9852 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
9853 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
9854 (tp16_symbolic_operand, tp32_symbolic_operand): New.
9855 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
9856 (alpha_encode_section_info): Handle TLS symbols.
9857 (alpha_strip_name_encoding): Likewise.
9858 (alpha_legitimate_address_p): Likewise.
9859 (alpha_legitimize_address): Likewise.
9860 (alpha_expand_mov): Early exit to avoid nop moves.
9861 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
9862 (alpha_init_machine_status, alpha_mark_machine_status,
9863 alpha_free_machine_status): Always define.
9864 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
9865 (print_operand, print_operand_address): Add TLS relocs.
9866 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
9867 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
9868 (TARGET_SWITCHES): Add -mtls-kernel.
9869 (alpha_tls_size, alpha_tls_size_string): New.
9870 (TARGET_OPTIONS): Add -mtls-size=.
9871 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
9872 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
9873 (ASM_OUTPUT_LABELREF): Skip %.
9874 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
9875 (PREDICATE_CODES): Update.
9876 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
9877 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
9878 UNSPEC_TP, UNSPECV_SET_TP): New.
9879 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
9880 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
9881 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
9882 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
9883 (call_value_osf_2_er): Accept anything as op4.
9884 * config/alpha/alpha-protos.h: Update.
9885 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
9886
39e5db1a
ZW
98872002-05-31 Zack Weinberg <zack@codesourcery.com>
9888
9889 * cppinit.c (append_include_chain): Always pay attention to
9890 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
9891 marker on argument.
9892
41077ce4
KH
98932002-05-31 Kazu Hirata <kazu@cs.umass.edu>
9894
9895 * target.h: Fix formatting.
9896 * timevar.h: Likewise.
9897 * tlink.c: Likewise.
9898 * toplev.c: Likewise.
9899 * toplev.h: Likewise.
9900 * tree.c: Likewise.
9901 * tree-dump.h: Likewise.
9902 * tree.h: Likewise.
9903 * tree-inline.h: Likewise.
9904 * unroll.c: Likewise.
9905 * unwind-dw2.c: Likewise.
9906 * unwind-dw2-fde.c: Likewise.
9907 * unwind-dw2-fde-glibc.c: Likewise.
9908 * unwind-dw2-fde.h: Likewise.
9909 * unwind.h: Likewise.
9910 * unwind-sjlj.c: Likewise.
9911 * varasm.c: Likewise.
9912 * varray.h: Likewise.
9913 * vmsdbg.h: Likewise.
9914 * vmsdbgout.c: Likewise.
9915 * xcoffout.h: Likewise.
9916
b2e426a0
IS
99172002-05-31 Igor Shevlyakov <igor@microunity.com>
9918
1e730c5c 9919 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
b2e426a0
IS
9920 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
9921
8b968bd1
MW
99222002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
9923
9924 * gcc.c (cpp_unique_options): Remove "-d" options.
9925 (cpp_debug_options): New spec string.
9926 (default_compilers): Use it.
9927 * objc/lang-specs.h: Likewise.
9928
5c35940c
NN
99292002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
9930
1e730c5c 9931 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
5c35940c
NN
9932 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
9933 * gcc/mklibgcc.in: Likewise.
9934 * gcc/config/arc/t-arc: Likewise.
9935 * gcc/configure.in: Likewise.
9936 * gcc/configure: Regenerate.
9937
8b496ceb
SS
99382002-05-31 Stan Shebs <shebs@apple.com>
9939 Turly O'Connor <turly@apple.com>
9940
9941 * c-decl.c (struct binding_level): Change int field n_incomplete
9942 to tree list incomplete_list.
9943 (clear_binding_level): Init field with NULL.
9944 (pushdecl): Add incomplete type to list.
9945 (mark_binding_level): Mark the incomplete list.
9946 (finish_struct): Scan the incomplete list for types instead
9947 of all decls in the current binding level.
9948
4722213d
JDA
99492002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
9950
9951 * pa.c (output_millicode_call): Add missing '%' characters.
9952 (output_call): Likewise.
9953
1086fcb1
DE
99542002-05-31 David Edelsohn <edelsohn@gnu.org>
9955
9956 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
9957 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
9958
afdfb380 99592002-05-31 Alan Lehotsky <apl@alum.mit.edu>
91b12472 9960
afdfb380
AL
9961 * varasm.c (mark_constant_pool): Walk epilogue delay list
9962 checking the insn, not the chain for potential constants.
1e730c5c 9963
f2df45f6
R
9964Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
9965
9966 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
9967
91ea38f9
JH
9968Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
9969
9970 * i386.c (classify_argument): Properly handle base types.
9971
9972 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
9973 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
9974 registers.
9975
10d1bb36
JH
9976Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
9977
9978 * gcse.c (gcse_emit_move_after): New.
9979 (pre_delete, hoist_store): Use it.
9980
9981 * reload1.c (emit_input_reload_insns): Use constrain_operands
9982 instead of constraint_accepts_reg_p to verify optimization.
9983 (constraint_accepts_reg_p): Kill
9984
9985 * reload1.c (reload_cse_delete_noop_set): Kill.
9986 (reload_cse_simplify): use delte_insn_and_edges.
9987
8a72fb76
ZD
99882002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9989
9990 * cfgloop.c (flow_loops_find): Initialize first and last fields
9991 correctly.
9992
a9da2e5b
NB
99932002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
9994
9995 * c-common.c (builtin_define_std): Correct logic.
9996
6248c4dd
JDA
99972002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
9998
9999 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
10000 (output_call): Likewise.
10001
d499455b
JDA
100022002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
10003
10004 * pa.c: Move output.h include after tree.h include.
10005 (pa_asm_output_mi_thunk): Constify identifier lab.
10006
2eb2901a
JT
100072002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10008
10009 * config/ns32k/ns32k.h: Define named constants for the
10010 bits in target_flags and use them.
10011 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
10012
806bf413
JDA
100132002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
10014
10015 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
10016 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
10017 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
10018 default scheduling model.
10019 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
10020 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
10021 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
10022 * doc/install.texi (hppa*-*-*): Document default scheduling.
10023
6d8d2bbc
JDA
100242002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
10025
10026 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
10027
c8eb9785
JT
100282002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10029
10030 * config.gcc (ns32k-*-netbsd*): Set tm_file to
10031 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
10032 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
10033 netbsd.h, or netbsd-aout.h.
10034
6e2e5b6a
JT
100352002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10036
10037 * longlong.h (count_trailing_zeros): Add missing \, and clean up
10038 whitespace in __ns32000__ case.
10039
00182e1e
AH
100402002-05-31 Aldy Hernandez <aldyh@redhat.com>
10041
1e730c5c
ZW
10042 * expr.c (expand_expr): Output partially zeroed out vectors with
10043 output_constant_def.
00182e1e 10044
b4eb03fe
JT
100452002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
10046
10047 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
10048 (sh-*-netbsdelf*)
10049 (shl*-*-netbsdelf*): New targets.
10050 * config/sh/netbsd-elf.h: New file.
8fd0df91 10051 * config/sh/t-netbsd: New file.
b4eb03fe 10052
261376e7
RH
100532002-05-30 Richard Henderson <rth@redhat.com>
10054 Eric Botcazou <ebotcazou@multimania.com>
10055
10056 PR optimization/6822
10057 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
10058 to unsigned int for op1 comparisons. Use gen_int_mode.
10059
ce60bf25
EB
100602002-05-30 Eric Botcazou <ebotcazou@multimania.com>
10061
10062 * expmed.c (const_mult_add_overflow_p): New.
10063 * expr.h: Declare it.
10064 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
10065 Don't eliminate the biv if the giv has a constant multiplier and
10066 the rhs argument of the comparison does satisfy the predicate.
10067 Use expand_mult_add to compute the replacement constant.
10068
d18b1ed8
OS
100692002-05-30 Osku Salerma <osku@iki.fi>
10070
10071 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
10072 (c_common_get_alias_set): Handle it.
10073 * doc/extend.texi: Document it.
10074
a7943381
RH
100752002-05-30 Richard Henderson <rth@redhat.com>
10076
10077 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
10078 * toplev.c (process_options): Don't check it.
10079 * doc/tm.texi: Don't document it.
10080 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
10081 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
10082 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
10083 frame pointer optimization if current_function_profile.
10084
e11e816e
KH
100852002-05-30 Kazu Hirata <kazu@cs.umass.edu>
10086
10087 * langhooks.c: Fix formatting.
10088 * langhooks.h: Likewise.
10089 * lcm.c: Likewise.
10090 * libgcc2.c: Likewise.
10091 * lists.c: Likewise.
10092 * local-alloc.c: Likewise.
10093 * loop.c: Likewise.
10094 * loop.h: Likewise.
10095
100962002-05-30 Marc Espie <espie@openbsd.org>
10097
10098 * config.gcc (sparc64-*-openbsd*): New.
10099 * config/sparc/openbsd1-64.h: New.
10100 * config/sparc/openbsd64.h: New.
91f0fcee 10101
d35dfca9
JL
101022002-05-30 Jeff Law <law@redhat.com>
10103
10104 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
10105 a dead insn with a REG_RETVAL note when the entire libcall is not
10106 dead and remove the associated REG_LIBCALL note at the same time.
10107
81b40b72
R
10108Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
10109
10110 * lcm.c (output.h): #include.
10111 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
10112 as an ordinary block.
10113 (optimize_mode_switching): Don't pretend that the exit block is
10114 an ordinary block, or handle sucessors of entry block specially.
10115 Instead, split edges from entry block and to exit block, and
10116 put a computing definition on the thus gained post-entry-block,
10117 and a need on the pre-exit-block.
10118
c8ea9a0f
JH
10119Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
10120
10121 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
10122 * rtl.texi: Document 'B'
10123
348f0869
JT
101242002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
10125
10126 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
10127 at run-time.
10128 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
10129
9a171fcd
AH
101302002-05-30 Aldy Hernandez <aldyh@redhat.com>
10131
1e730c5c
ZW
10132 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
10133 const0_rtx instead of NULL_RTX when in error.
10134 (altivec_expand_abs_builtin): Same.
10135 (rs6000_expand_binop_builtin): Same.
10136 (altivec_expand_predicate_builtin): Same.
10137 (altivec_expand_stv_builtin): Same.
10138 (rs6000_expand_ternop_builtin): Same.
10139 (altivec_expand_builtin): Same.
9a171fcd 10140
62a35e60
DM
101412002-05-29 David S. Miller <davem@redhat.com>
10142
10143 * rtl.h (clear_emit_caches): Delete.
10144 * integrate.c (output_inline_function): Don't call it.
10145 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
10146 (clear_emit_caches): Delete definition.
10147 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
10148
cbc39da8
HPN
101492002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
10150
10151 * config/mmix/mmix.c: Include real.h.
10152 (mmix_constant_address_p): Remove redundant test before switch.
10153
50efa737
JT
101542002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10155
10156 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
10157 only if not already defined.
10158
2e760b15
KH
101592002-05-29 Kazu Hirata <kazu@cs.umass.edu>
10160
10161 * config/h8300/h8300-protos.h: Remove prototypes for
10162 ok_for_bclr and small_power_of_two.
10163 * config/h8300/h8300.c (small_power_of_two): Remove.
10164 (ok_for_blcr): Likewise.
10165 (fix_bit_operand): Make WHAT deal with an integer instead of a
10166 constraint character.
10167 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
10168 (CONST_OK_FOR_P): Likewise.
10169 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
10170 CONST_OK_FOR_P any more.
10171 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
10172 of fix_bit_operand.
10173 (iorqi3): Likewise.
10174 (xorqi3): Likewise.
10175
e1c293ae
JT
101762002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10177
10178 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10179 (CPP_PREDEFINES): Make sure this is undefined.
10180 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
10181 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
10182 or -U__MIPSEB__ before defining one or the other. Instead,
10183 use %(subtarget_endian_default) if neither -EB nor -EL are
10184 specified.
10185 (SUBTARGET_EXTRA_SPECS): Define.
10186 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
10187 %(netbsd_cpp_spec).
10188
fde6d81f
HPN
101892002-05-29 Hans-Peter Nilsson <hp@axis.com>
10190
10191 * doc/md.texi (Patterns): Note pattern condition pitfall
10192 for unnamed insn.
10193
92898235
AH
101942002-05-29 Aldy Hernandez <aldyh@redhat.com>
10195
1e730c5c
ZW
10196 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
10197 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
10198 ternary operations from here...
10199 (rs6000_expand_builtin): ...to here.
10200 New argument expandedp.
10201 Change all instances of altivec_expand_binop_builtin to
10202 rs6000_expand_binop_builtin.
10203 (altivec_expand_unop_builtin): Rename to
10204 rs6000_expand_unop_builtin.
10205 (altivec_expand_binop_builtin): Rename to
10206 rs6000_expand_binop_builtin.
10207 (altivec_expand_ternop_builtin): Rename to
10208 rs6000_expand_ternop_builtin.
92898235 10209
67adf6a9
RH
102102002-05-29 Richard Henderson <rth@redhat.com>
10211
10212 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
10213 (TARGET_BI_ARCH): Likewise.
10214 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
10215 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
10216 (TARGET_64BIT_DEFAULT): Default to 0.
10217 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
10218
145aacc2
RH
102192002-05-29 Richard Henderson <rth@redhat.com>
10220
10221 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
10222 (get_pc_thunk_name): New.
10223 (output_set_got): Use it.
10224 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
10225 into linkonce sections.
10226
a5b49bbc
JT
102272002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10228
10229 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
10230 (CPP_PREDEFINES): Make sure this is undefined.
10231 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
10232 (CPP_SUBTARGET_SPEC): Don't provide different versions for
10233 default-32 and default-64. Just always use %(netbsd_cpp_spec).
10234 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
10235 cpp_subtarget_spec64. Add netbsd_cpp_spec.
10236 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10237 (CPP_PREDEFINES): Make sure this is undefined.
10238 (SUBTARGET_EXTRA_SPECS): Define.
10239 (CPP_SPEC): Use %(netbsd_cpp_spec).
10240
54374491
JL
102412002-05-29 Jeff Law <law@redhat.com>
10242
ae02eae8
JL
10243 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
10244
b862c2aa
JL
10245 * flow.c (propagate_one_insn): Do not remove a dead insn if it
10246 contains a REG_RETVAL note.
10247
d10791ba
JL
10248 * haifa-sched (sched_analyze): Remove another useless clearing
10249 of SCHED_GROUP_P I missed yesterday.
10250
54374491
JL
10251 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
10252 * pa.c (pa_asm_output_mi_thunk): New function.
10253 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
10254
92c392e6
NB
102552002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
10256 Marek Michalkiewicz <marekm@amelek.gda.pl>
10257
10258 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
10259 (avr_asm_only_p): Make non-static.
10260 (enum avr_arch): Remove.
10261 (avr_arch_types): New.
10262 (avr_mcu_types): Update.
10263 (avr_override_options): Use avr_arch_types table instead of switch.
10264 * avr.h (CPP_PREDEFINES): Die.
10265 (avr_base_arch_macro, avr_extra_arch_macro): New.
10266 (TARGET_CPU_CPP_BUILTINS): New.
10267 (CPP_SPEC, EXTRA_SPECS): Simplify.
10268 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
10269 CPP_AVR5_SPEC): Die.
10270
4528173e
JT
102712002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10272
10273 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
10274 NETBSD_OS_CPP_BUILTINS_AOUT.
10275 (SUBTARGET_EXTRA_SPECS): Define.
10276 (CPP_SPEC): Use %(netbsd_cpp_spec).
10277
bd09bdeb
RH
102782002-05-29 Richard Henderson <rth@redhat.com>
10279
10280 * config/i386/i386.c (ix86_output_function_epilogue): New.
10281 (TARGET_ASM_FUNCTION_EPILOGUE): New.
10282 (pic_label_name): Remove.
10283 (pic_labels_used): New.
10284 (ix86_asm_file_end): Emit one pc load stub for each register used.
10285 (output_set_got): Generate deep pc load to any register.
10286 (ix86_select_alt_pic_regnum): New.
10287 (ix86_save_reg): Don't save pic register if we can find a valid
10288 call-clobbered replacement.
10289 (ix86_expand_prologue): If we found a valid replacement, renumber
10290 pic_offset_table_rtx.
10291 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
10292 pic_offset_table_rtx after reload.
10293 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
10294 * config/i386/i386.md (set_got): Make insn, not expander.
10295 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
10296
002ff5bc
RH
102972002-05-29 Richard Henderson <rth@redhat.com>
10298
10299 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
10300 alignment for alloca.
10301
edfe8595
RH
103022002-05-29 Richard Henderson <rth@redhat.com>
10303
10304 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
10305 (print_operand_address): Only add rip for symbolic addresses
10306 for which we do not have another relocation type.
10307
cd7714ee
JT
103082002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10309
10310 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
10311 (EXTRA_SPECS): Add netbsd_cpp_spec.
10312 (CPP_SPEC): Use %(netbsd_cpp_spec).
10313 (CPP_PREDEFINES): Remove.
10314 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10315 (EXTRA_SPECS): Define.
10316 (CPP_SPEC): Use %(netbsd_cpp_spec).
10317 (CPP_PREDEFINES): Remove.
10318
8dc901de
NB
103192002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
10320
10321 PR preprocessor/6844
10322 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
10323 NUL.
10324
2274b31a
EC
103252002-05-29 Eric Christopher <echristo@redhat.com>
10326
10327 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
10328 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
10329
5c7666c1
NC
103302002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
10331
10332 * config/fr30/fr30.md: Remove previous restriction on splits.
10333 Enforce conformance through gen_lowpart and cont_int_operand.
1e730c5c 10334 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
5c7666c1
NC
10335 as the assembler does not support ".bss".
10336
45beef47
JT
103372002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10338
10339 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
10340 (CPP_PREDEFINES): Remove.
10341 (SUBTARGET_EXTRA_SPECS): Define.
10342 (CPP_SPEC): Use %(netbsd_cpp_spec).
10343 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10344 (CPP_PREDEFINES): Remove.
10345 (SUBTARGET_EXTRA_SPECS): Define.
10346 (CPP_SPEC): Use %(netbsd_cpp_spec).
10347 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
10348 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
10349 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
10350 Add netbsd_cpp_spec.
10351 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
10352
cd7ab83f
NB
103532002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
10354 Zack Weinberg <zack@codesourcery.com>
10355
10356 * cppexp.c (cpp_num): Move to cpplib.h.
10357 (CPP_ERROR): Remove.
10358 (interpret_float_suffix, interpret_int_suffix): New.
10359 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
10360 (cpp_classify_number, cpp_interpret_integer): New.
10361 (interpret_number): Remove.
10362 (eval_token): Update to use new routines.
10363 * cpphash.h (cpp_num_part): Move to cpplib.h.
10364 * cppinit.c (cpp_post_options): Set warn_long_long.
10365 * cpplib.h (struct cpp_options): Add warn_long_long.
10366 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
10367 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
10368 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
10369 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
10370 cpp_interpret_integer): New.
10371
61a8515c
JS
103722002-05-29 Joel Sherrill <joel@OARcorp.com>
10373
10374 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
10375
53a428b5
JT
103762002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10377
10378 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
2274b31a
EC
10379 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
10380 (CPP_SUBTARGET_SPEC): Define.
10381 (SUBTARGET_EXTRA_SPECS): Define.
53a428b5
JT
10382 (CPP_SPEC): Remove.
10383
45b1f7c7
CL
103842002-05-29 Chris Lattner <sabre@nondot.org>
10385
1e730c5c
ZW
10386 * ssa.c (rename_insn_1): Rename uses of undefined registers to
10387 prevent confusion if/when the register is defined.
45b1f7c7 10388
049746c2
HPN
103892002-05-29 Hans-Peter Nilsson <hp@axis.com>
10390
10391 PR target/6838
10392 * config/cris/cris.md: Fix typos and thinkos in comments.
10393 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
10394 second alternative.
10395 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
10396 ("*mov_sideqi_mem"): Similar, but for operand 3.
10397 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
10398 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
10399 Remove spurious mode specifier on operand 2.
10400
4d4d89e2
KH
104012002-05-29 Kazu Hirata <kazu@cs.umass.edu>
10402
10403 * config/h8300/h8300-protos.h: Remove the prototype for
10404 o_operand.
10405 Add prototypes for single_one_operand and single_zero_operand.
10406 * config/h8300/h8300.c (o_operand): Remove.
10407 (single_one_operand): New.
10408 (single_zero_operand): Likewise.
10409 (print_operand): For 'V' operand, and the operand with 0xff.
10410 For 'V' and 'W' operands, do not and the bit position with 7.
10411 * config/h8300/h8300.md (various anonymous patterns): Replace
10412 use of exact_log2 with single_one_operand/single_zero_operand.
10413
abd6ddec
UW
104142002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
10415
10416 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
10417
da06d85a
UW
104182002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
10419
10420 * config/s390/s390.c (legitimate_pic_operand_p): Do not
10421 accept symbolic LARL operands.
2274b31a 10422 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
da06d85a 10423 epilogue insns.
2274b31a 10424
f8766020
HP
104252002-05-29 Hartmut Penner <hpenner@de.ibm.com>
10426
10427 * config/s390/s390.md (cmpstr_64/31): Mark whole
2274b31a 10428 input registers as used.
f8766020 10429
66edd3b4
RH
104302002-05-28 Richard Henderson <rth@redhat.com>
10431
10432 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
10433 not current_function_uses_pic_offset_table and
10434 current_function_uses_const_pool; examine current_function_profile.
10435 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
10436 input to blockage if needed.
10437 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
10438 (legitimize_pic_address): Likewise. Set regs_ever_live for
10439 pic_offset_table_rtx when invoked during reload.
10440 * config/i386/i386.h (FINALIZE_PIC): Remove.
10441 * config/i386/i386.md (tablejump): Reformat. Do not set
10442 current_function_uses_pic_offset_table.
10443 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
10444 (blockage): Accept anything as operand 0.
10445
52f4fff6
JT
104462002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
10447
10448 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
10449 common CPP built-ins for all NetBSD a.out targets.
10450 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
10451 common CPP built-ins for all NetBSD ELF targets.
10452 * config/netbsd.h: Add missing notice.
10453 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
10454 for all NetBSD targets.
10455 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
10456 for all NetBSD targets using an LP64 code model.
10457 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
10458 NetBSD targets.
10459
e0e577a2
RH
104602002-05-28 Richard Henderson <rth@redhat.com>
10461
10462 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
10463 update if UPDATE_LIFE_LOCAL.
10464
104652002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
62526ec3
TM
10466
10467 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
10468
f1a58d92 10469Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1e730c5c 10470 Jason R. Thorpe <thorpej@wasabisystems.com>
f1a58d92
R
10471
10472 config/sh reorganization to factor out endianness and coff:
10473
10474 * config/sh/little.h: New file.
1e730c5c
ZW
10475 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
10476 defined, define to 0 to select big-endian.
f1a58d92 10477 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
1e730c5c
ZW
10478 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
10479 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
10480 * config/sh/t-be: New file.
10481 * config/sh/t-le: New file.
f1a58d92
R
10482
10483 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
10484 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
10485 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
10486 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
10487 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10488 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
10489 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
10490 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
10491 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
10492 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
10493 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
10494 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
10495 (LINK_SPEC): Define to SH_LINK_SPEC.
10496 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
10497 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
10498 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
10499 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
10500 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
10501 * config/sh/coff.h: New file.
10502 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
10503 (TARGET_OBJFMT_CPP_BUILTINS): Define.
10504 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
10505 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
10506 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
10507 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
10508 (PTRDIFF_TYPE): Likewise.
10509 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
10510 (CPP_PREDEFINES): Don't define.
10511 (TARGET_OBJFMT_CPP_BUILTINS): Define.
10512 (LINK_SPEC): Define to SH_LINK_SPEC.
10513 (LINK_EMUL_PREFIX): Redefine.
10514 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
10515 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
10516 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
10517 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
10518 (TARGET_OS_CPP_BUILTINS): Define.
10519 (TARGET_DEFAULT): Redefine.
10520 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
10521 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
10522 (LINK_SPEC): Don't redefine.
10523 (LINK_DEFAULT_CPU_EMUL): Redefine.
10524 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
10525 * sh.c (sh_asm_named_section): Don't declare / define.
10526 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
10527 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
10528 (sh64-*-elf* tm_file): Likewise.
10529 (sh-*-rtemself* tm_file): Likewise.
10530 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
10531 (sh-*-linux* tmake_file): Add sh/t-le.
10532 (sh-*-rtems* tm_file): Add sh/coff.h
10533 (sh-*-* tm_file): Likewise.
10534
10535Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
10536
10537 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
10538 CONSTANT_POOL_ADDRESS_P.
10539
10540 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
10541
d10791ba 105422002-05-28 David Edelsohn <edelsohn@gnu.org>
33a3dfc4
DE
10543 Jeff Law <law@redhat.com>
10544
64de6c0a
DE
10545 * optabs.c (expand_binop): Fix nwords sign warnings.
10546 generate pseudo for add_optab.
10547
33a3dfc4
DE
10548 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
10549 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
10550
972957ba 105512002-05-28 Marc Espie <espie@openbsd.org>
33a3dfc4 10552
2274b31a 10553 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
972957ba
ME
10554 inherited from gas.h.
10555 (ASM_QUAD): Undef. OpenBSD does not support it.
10556
cc92b8ab
DS
105572002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
10558
10559 * doc/install.texi (binaries): Change mingw binaries
10560 link to www.mingw.org.
10561
f8088d55
ZD
105622002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10563
10564 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
10565
0b7ae565
RH
105662002-05-28 Richard Henderson <rth@redhat.com>
10567
10568 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
10569 bottom alignment for leaf functions.
10570
16069d69
ZW
105712002-05-28 Zack Weinberg <zack@codesourcery.com>
10572
10573 * config/pa/milli32.S, config/pa/lib1funcs.asm,
10574 config/sparc/sol2-g1.asm: Delete unused files.
10575
04653686
RH
105762002-05-28 Richard Henderson <rth@redhat.com>
10577
10578 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
10579
f3ea5f6a
RH
10580 * flow.c (calculate_global_regs_live): Rename call_used to
10581 invalidated_by_call. Initialize from regs_invalidated_by_call
10582 instead of call_used_regs.
10583
923c7cdf
RH
10584 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
10585 DECL_EXTERNAL.
10586
11ad4784
ZW
105872002-05-28 Zack Weinberg <zack@codesourcery.com>
10588
8abbd76a
ZW
10589 * tree.h: Don't include real.h.
10590 Forward-declare struct realvaluetype.
11ad4784
ZW
10591 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
10592 contain it.
10593 (TREE_REAL_CST_PTR): New accessor.
10594 (TREE_REAL_CST): Update.
10595 * real.h: Include machmode.h.
2274b31a 10596 (realvaluetype): Make it struct realvaluetype, not a typedef.
11ad4784
ZW
10597 (build_real): Prototype here.
10598
10599 * tree.c: Include real.h.
2274b31a
EC
10600 (build_real): Allocate the REAL_VALUE_TYPE as a separate
10601 object in GC memory, set TREE_REAL_CST_PTR to point to it.
11ad4784
ZW
10602 (build_real_from_int_cst): Use build_real.
10603 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
10604 REAL_CST.
10605
10606 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
10607 fold-const.c, print-tree.c, real.c: Include real.h.
10608 * Makefile.in: Update dependency lists.
10609
bf77398c
ZD
106102002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10611
10612 * basic-block.h (last_basic_block): Declare.
10613 (expunge_block_nocompact): Declaration removed.
10614 (compact_blocks): Declare.
10615 * cfg.c (last_basic_block): New variable.
10616 (expunge_block_nocompact): Removed.
10617 (expunge_block): Do not compact basic blocks.
10618 (compact_blocks): New.
10619 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
10620 longer change.
10621 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
10622 last_basic_block.
10623 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
10624 real positions of blocks.
10625 (delete_unreachable_blocks): Simplified -- quadratic behavior now
10626 cannot occur.
10627 (cleanup_cfg): Compact blocks.
10628 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
10629 basic_block_info varray.
10630 (flow_delete_block): Comment update.
10631 (back_edge_of_syntactic_loop_p): Modify position check code.
10632 (verify_flow_info): Update checking.
10633 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
10634 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
10635 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
10636 indices no longer change.
10637 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
10638 last_basic_block.
10639 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
10640 * profile.c (branch_prob): Compact blocks.
10641 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
10642 last_basic_block.
10643
ae12a094
KH
106442002-05-28 Kazu Hirata <kazu@cs.umass.edu>
10645
10646 * config/h8300/h8300.md (two anonymous patterns): New.
10647
c6172f14
DM
106482002-05-28 David S. Miller <davem@redhat.com>
10649
10650 * config/sparc/sparc.md (cpu): Tidy.
10651 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
10652 'trap'.
10653 (in_call_delay): Delete reference to 'return' type.
10654 (eligible_for_return_delay, in_return_delay, define_delay
10655 referencing those): Delete.
10656 (rest of file): Use new type attributes as appropriate.
10657 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
10658 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
10659 * config/sparc/ultra1_2.md (us1_single): New reservation.
10660 (us1_ialuX): Likewise.
10661 * config/sparc/ultra3.md (us3_single): Likewise.
10662 (us3_ialuX): Likewise.
10663 (us3_imul, us3_idiv): Tweak.
2274b31a 10664
34a6c2ec
RH
106652002-05-28 Richard Henderson <rth@redhat.com>
10666
10667 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
10668 STRING_CST.
10669
9c075570
RH
106702002-05-28 Richard Henderson <rth@redhat.com>
10671
10672 * config.gcc: Obsolete mn10200.
10673
359b0bec
NB
106742002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
10675
10676 * cppexp.c (interpret_number): Optimize for single-digit
10677 and less-than-half-precision cases.
10678 (num_trim, num_positive, num_div_op): Cast constants.
10679
4075db8f
BT
106802002-05-27 Bo Thorsen <bo@suse.de>
10681
10682 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
10683 3.1 branch. The file was made by Jakub Jelinek.
10684 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
10685 support so multilib doesn't break. And don't define this at all
10686 when -Dinhibit_libc is used.
10687 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
10688 * config/i386/t-linux64: Implement full multilib support. Patch
10689 originally done by Andreas Jaeger and Jakub Jelinek.
10690
39f2f3c8
RS
106912002-05-27 Roger Sayle <roger@eyesopen.com>
10692
10693 * c-common.c: Add support for __attribute__((nothrow)) to specify
10694 that a function cannot throw an exception (using TREE_NOTHROW).
10695 (handle_nothrow_attribute): New function to process this attribute.
10696
10697 * doc/extend.texi: Document the new nothrow function attribute.
10698
d51b0053
L
106992002-05-27 H.J. Lu (hjl@gnu.org)
10700
10701 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
10702 (num_positive): Likewise.
10703 (num_div_op): Likewise.
10704
630363b4
NB
107052002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
10706
10707 * c-common.c (c_common_init): Always use intmax_t.
10708
d94cde01
NB
107092002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
10710
10711 * c-common.c (c_common_init): Use intmax_t for now.
10712
57f851a3
AH
107132002-05-24 Andrew Haley <aph@redhat.com>
10714
10715 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
10716 if T is a boolean type.
10717
d55bc081
ZD
107182002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10719
10720 * basic-block.h (last_basic_block): Defined as synonym for
10721 n_basic_blocks.
10722 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
10723 flow_depth_first_order_compute, flow_preorder_transversal_compute,
10724 flow_dfs_compute_reverse_init): Replaced relevant occurences of
10725 n_basic_blocks with last_basic_block.
10726 * cfgbuild.c (make_edges): Likewise.
10727 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
10728 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
10729 * combine.c (combine_instructions): Likewise.
10730 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
10731 iterative_dataflow_bitmap): Likewise.
10732 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
10733 calc_idoms, idoms_to_doms): Likewise.
10734 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
10735 Likewise.
10736 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
10737 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
10738 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
10739 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
10740 delete_null_pointer_checks, compute_code_hoist_vbeinout,
10741 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
10742 compute_store_table, build_store_vectors): Likewise.
10743 * haifa-sched.c (sched_init): Likewise.
10744 * ifcvt.c (if_convert): Likewise.
10745 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
10746 pre_edge_lcm, compute_available, compute_nearerout,
10747 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
10748 Likewise.
10749 * predict.c (estimate_probability, process_note_prediction,
10750 note_prediction_to_br_prob): Likewise.
10751 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
10752 * recog.c (split_all_insns, peephole2_optimize): Likewise.
10753 * regrename.c (copyprop_hardreg_forward): Likewise.
10754 * resource.c (init_resource_info): Likewise.
10755 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
10756 init_regions, schedule_insns): Likewise.
10757 * ssa-ccp.c (ssa_const_prop): Likewise.
10758 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
10759 * ssa.c (compute_dominance_frontiers,
10760 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
10761
10762 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
10763 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
10764 sizes consistently.
10765
71d2c5bd
JH
10766Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
10767
10768 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
10769 new.
10770 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
10771 hoist_insn_after, hoist_insn_to_edge): New.
10772
5149f070
JH
10773Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
10774
10775 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
10776 (PROP_FINAL): Include.
10777 * flow.c (life_analysis, update_life_info,
10778 init_propagate_block_info, mark_set_1, mark_used_rgs):
10779 Support SCAN_DEAD_STORE.
10780
c9220e3a
NB
107812002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
10782
10783 * c-common.c (c_common_init): Set CPP arithmetic precision.
10784 * cppexp.c (cpp_num_part): Move typedef ...
10785 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
10786 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
10787 (sanity_checks): Update.
10788
e34a3d31
GK
107892002-05-26 Geoffrey Keating <geoffk@redhat.com>
10790
10791 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
10792 (mkheaders): New rule.
10793 (install-mkheaders): New rule.
10794 * configure.in (all_outputs): Add mkheaders.
10795 * configure: Regenerate.
10796 * mkheaders.in: New file.
10797
9059e33c
JJ
107982002-05-26 Jakub Jelinek <jakub@redhat.com>
10799
10800 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
10801
291cc0fe
AJ
108022002-05-26 Andreas Jaeger <aj@suse.de>
10803
10804 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
10805
91318908
NB
108062002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
10807
10808 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
10809 right_shift): Remove.
10810 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
10811 HIGH_PART): New.
10812 (struct op): Use cpp_num.
10813 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
10814 num_part_mul, num_unary_op, num_binary_op, num_negate,
10815 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
10816 num_div_op, num_lshift, num_rshift, append_digit): New.
10817 (interpret_number, parse_defined, eval_token, reduce): Update
10818 for two-integer arithmetic.
10819 (binary_handler): New typedef.
10820 (optab): Update.
10821 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
10822 (_cpp_parse_expr, reduce): Update to handle two-integers.
10823 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
10824
331ca350
MM
108252002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
10826
10827 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
10828 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
10829 branch insn into account, do not assume 1.
10830 (avr_out_sbxx_branch): New function. Optimize cases of skipping
10831 over single word insn. Handle upper half of I/O space too.
10832 * config/avr/avr.md (*sbrx_branch): Use it.
10833 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
10834 (*sbix_branch, *sbix_branch_bit7): Likewise.
10835 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
10836 Use RTL peepholes to optimize register operand sign tests.
10837
bcb6a2be
MM
108382002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
10839
10840 * config/avr/avr.c (avr_asm_only_p): New variable.
10841 (avr_override_options): Set it here if AVR1.
10842 (asm_file_start): Test it here, report an error if set.
10843
ca7fd9cd
KH
108442002-05-26 Kazu Hirata <kazu@cs.umass.edu>
10845
10846 * alias.c: Fix formatting.
10847 * attribs.c: Likewise.
10848 * bb-reorder.c: Likewise.
10849 * bitmap.c: Likewise.
10850 * bitmap.h: Likewise.
10851 * builtins.c: Likewise.
10852
a65dc37d
JH
10853Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
10854
10855 * reload.c (find_valid_class): Accept new argument DEST,
10856 choose class accordingly.
10857 (push_reload): Update callers.
10858
9b89393b
AJ
108592002-05-26 Andreas Jaeger <aj@suse.de>
10860
10861 * combine.c (combine_instructions): Do not indent #if for
10862 traditional C.
10863
b53bb376
RH
108642002-05-25 Richard Henderson <rth@redhat.com>
10865
10866 * c-pragma.c (apply_pragma_weak): Convert value identifier to
10867 string for decl_attributes.
10868 (handle_pragma_weak): Call assemble_alias if we're modifying
10869 an existing decl.
10870
e133041b
RH
108712002-05-25 Richard Henderson <rth@redhat.com>
10872
10873 PR target/6788
10874 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
10875 using rtl instead of fprintf.
10876 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
10877 * config/sparc/sparc-protos.h: Update.
10878
81a75f0f
NB
108792002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
10880
10881 * Makefile.in (C_COMMON_H): Fix.
10882 Update other targets.
10883 * c-common.c: Don't include c-lex.h.
10884 (builtin_define_with_value): Make static and prototype.
10885 (builtin_define_std): Move from c-lex.h.
10886 * c-common.h (init_c_lex): Move from c-lex.h.
10887 * c-decl.c: Don't include c-lex.h.
10888 (make_pointer_declarator): Move from c-parse.in.
10889 * c-lex.c: Don't include c-lex.h.
10890 * c-lex.h: Remove.
10891 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
10892 (make_pointer_declarator): Move to c-decl.c.
10893 * c-pragma.c: Don't include c-lex.h.
10894 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
10895 * c-tree.h (make_pointer_declarator): New.
10896doc:
10897 * passes.texi, tm.texi: Update.
10898objc:
10899 * Make-lang.in: Update and correct.
10900 * objc-act.c: Don't include c-lex.h or cpplib.h.
10901treelang:
10902 * treetree.c: Don't include c-lex.h.
10903config:
10904 * darwin-c.c: Don't include c-lex.h.
10905 * c4x/c4x-c.c: Don't include c-lex.h.
10906 * c4x/t-c4x: Update.
10907 * i370/i370-c.c: Don't include c-lex.h.
10908 * i370/t-i370: Update.
10909 * i960/i960-c.c: Don't include c-lex.h.
10910 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
10911 * i960/t-960bare: Update.
10912 * i960/t-vxworks: Update.
10913 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
10914 * rs6000/t-darwin: Update.
10915 * rs6000/t-rs6000-c-rule: Update.
10916 * v850/v850-c.c: Don't include c-lex.h.
10917 * v850/v850.c: Don't include c-lex.h or cpplib.h.
10918
10919
04d2be8e
KH
109202002-05-25 Kazu Hirata <kazu@cs.umass.edu>
10921
10922 * tree.def: Fix typos.
10923 * doc/install.texi: Likewise.
10924
7b6e506e
RH
109252002-05-25 Richard Henderson <rth@redhat.com>
10926
10927 * configure.in (HAVE_AS_TLS): Add ia64 test.
10928 * configure: Rebuild.
10929 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
10930 (override_options): Set it.
10931 (TARGET_HAVE_TLS): New.
10932 (sdata_symbolic_operand): Look for 's'.
10933 (tls_symbolic_operand): New.
10934 (ia64_expand_load_address): Abort for tls symbols.
10935 (gen_tls_get_addr): New.
10936 (gen_thread_pointer): New.
10937 (ia64_expand_move): Split out from movdi. Handle tls symbols.
10938 (rtx_needs_barrier): Add new unspecs.
10939 (ia64_encode_section_info): Handle tls symbols.
10940 (ia64_strip_name_encoding): Strip two encoding chars.
10941 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
10942 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
10943 (TARGET_OPTIONS): Add tls-size.
10944 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
10945 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
10946 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
10947 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
10948 (movsf, movdf): Likewise.
10949 (movdi_symbolic): Use match_scratch. Don't split if we won't
10950 have a scratch availiable.
10951 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
10952 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
10953 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
10954 * config/ia64/ia64-protos.h: Update.
10955 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
10956 sdata_symbolic_operand.
10957 (ASM_OUTPUT_LABELREF): Strip two characters.
10958
8c1d52a3
KH
109592002-05-25 Kazu Hirata <kazu@cs.umass.edu>
10960
10961 * combine.c (simplify_set): Remove an unnecessary subreg.
10962
b47cae3d
MM
109632002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
10964
10965 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
10966
10967 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
10968
ce9e3a6d
GDR
109692002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
10970
10971 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
10972
fb2c6841
RS
109732002-05-25 Roger Sayle <roger@eyesopen.com>
10974
10975 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
10976 (cond (compare x y) 0) into the equivalent (cond x y).
10977
da7ac8f1
GDR
109782002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
10979
10980 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
10981
c7bdf0a6
ZW
109822002-05-24 Zack Weinberg <zack@codesourcery.com>
10983
10984 * config.gcc: Remove all stanzas for previously obsoleted
10985 systems. Where necessary, add explicit error stanzas to
10986 prevent removed systems from being misidentified as something
10987 else. Begin a fresh obsoletions list, with the systems that
10988 were reprieved last round.
10989 * doc/install.texi: Remove all mention of dead targets.
10990 * fixinc/mkfixinc.sh: Likewise.
10991
10992 * config/arm/arm.h: Bit 31 of target_flags is no longer
10993 reserved.
10994
10995 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
10996 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
10997 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
10998 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
10999 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
11000 config/alpha/osf12.h, config/alpha/osf2or3.h,
11001 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
11002 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
11003 config/clipper/clipper-protos.h, config/clipper/clipper.c,
11004 config/clipper/clipper.h, config/clipper/clipper.md,
11005 config/clipper/clix.h, config/convex/convex-protos.h,
11006 config/convex/convex.c, config/convex/convex.h,
11007 config/convex/convex.md, config/convex/fixinc.convex,
11008 config/convex/proto.h, config/elxsi/elxsi-protos.h,
11009 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
11010 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
11011 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
11012 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
11013 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
11014 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
11015 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
11016 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
11017 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
11018 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
11019 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
11020 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
11021 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
11022 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
11023 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
11024 config/m68k/altos3068.h, config/m68k/apollo68.h,
11025 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
11026 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
11027 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
11028 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
11029 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
11030 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
11031 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
11032 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
11033 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
11034 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
11035 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
11036 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
11037 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
11038 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
11039 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
11040 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
11041 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
11042 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
11043 config/mips/dec-osf1.h, config/mips/elflorion.h,
11044 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
11045 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
11046 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
11047 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
11048 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
11049 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
11050 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
11051 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
11052 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
11053 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
11054 config/ns32k/sequent.h, config/ns32k/tek6000.h,
11055 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
11056 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
11057 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
11058 config/sparc/rtems.h, config/we32k/we32k-protos.h,
11059 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
11060 Delete file.
11061
755ac5d4
RH
110622002-05-24 Richard Henderson <rth@redhat.com>
11063
11064 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
11065 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
11066 * config/i386/i386.c (tls_model_chars): Add leading space.
11067 (tls_symbolic_operand): Don't bias by 1.
11068 (legitimize_address): Don't unbias by 1.
11069
c429f12e
TM
110702002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
11071
11072 * lcm.c (optimize_mode_switching): Change bb used as indices
11073 to bb->index.
11074
8beda321
RH
110752002-05-24 Richard Henderson <rth@redhat.com>
11076
11077 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
11078 of update_life_info_in_dirty_blocks.
11079
90442291
JJ
110802002-05-24 Jakub Jelinek <jakub@redhat.com>
11081
11082 PR other/6782
11083 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
11084
3620711b
NB
110852002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
11086
11087 PR preprocessor/6780
11088 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
11089
2f8d482e
JB
110902002-05-24 Jim Blandy <jimb@redhat.com>
11091
11092 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
11093 entry with a type code of zero, marking the end of the compilation
11094 unit's macro info.
11095
95bfe95f
RH
110962002-05-24 Richard Henderson <rth@redhat.com>
11097
c7bdf0a6
ZW
11098 * varasm.c (asm_output_bss): Always output one byte.
11099 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 11100
7efda054
BM
111012002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
11102
11103 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
11104 namespace.
11105
8a951190
AJ
111062002-05-24 Andreas Jaeger <aj@suse.de>
11107
11108 * ggc-page.c (alloc_page): Cast variables of type size_t to
11109 unsigned long, adjust printf format string.
11110 (ggc_alloc): Likewise.
11111 (ggc_print_statistics): Likewise.
11112 (ggc_print_statistics): Correct printf format string for SCALE to
11113 use unsigned long.
11114
f29e2ec0
DS
111152002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
11116
11117 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
11118
211a0cbe 111192002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 11120 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
11121
11122 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
11123 quoted strings.
11124 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 11125 directive in assembly file.
211a0cbe
GDR
11126 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
11127 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
11128 * config/pj/pj.h (ASM_FILE_START): Likewise.
11129 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
11130 * config/avr/avr.c (asm_file_end): Likewise.
11131 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 11132 char.
211a0cbe
GDR
11133 * toplev.h (output_clean_symbol_name): Declare
11134 * toplev.c (output_clean_symbol_name): Define.
11135 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
11136 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
11137
2f0552b6
AM
111382002-05-24 Alan Modra <amodra@bigpond.net.au>
11139
11140 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
11141
b326b2c1
VM
111422002-05-23 Vladimir Makarov <vmakarov@redhat.com>
11143
11144 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
11145 of size of unsigned.
11146
f996902d
RH
111472002-05-23 Richard Henderson <rth@redhat.com>
11148
11149 * configure.in (HAVE_AS_TLS): New test.
11150 * config.in, configure: Rebuild.
11151 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
11152 (ix86_tls_dialect_string, ix86_tls_dialect): New.
11153 (override_options): Set it.
11154 (tls_model_chars, tls_symbolic_operand): New.
11155 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
11156 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
11157 (local_exec_symbolic_operand): New.
11158 (get_pic_label_name): Merge into output_set_got.
11159 (ix86_asm_file_end): Emit pic_label_name if defined.
11160 (legitimate_constant_p, constant_address_p): New.
11161 (legitimate_pic_operand_p): New.
11162 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
11163 (legitimate_address_p): Likewise.
11164 (ix86_encode_section_info): Rename from i386_; handle tls decls.
11165 (ix86_strip_name_encoding): New.
11166 (get_thread_pointer): New.
11167 (legitimize_address): Handle tls symbols.
11168 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
11169 Remove UNSPEC_PLT.
11170 (struct machine_function): Add some_ld_name.
11171 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
11172 (print_operand) [&]: Use it. Handle UNSPEC_TP.
11173 (output_addr_const_extra): New.
11174 (maybe_get_pool_constant): New.
11175 (ix86_split_to_parts): Use it.
11176 (ix86_expand_move): Handle tls symbols.
11177 (ix86_tls_get_addr): New.
11178 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
11179 (TARGET_OPTIONS): Add tls-dialect.
11180 (CONSTANT_ADDRESS_P): Use new out-of-line function.
11181 (LEGITIMATE_CONSTANT_P): Likewise.
11182 (LEGITIMATE_PIC_OPERAND_P): Likewise.
11183 (TARGET_STRIP_NAME_ENCODING): New.
11184 (ASM_OUTPUT_LABELREF): New.
11185 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
11186 (OUTPUT_ADDR_CONST_EXTRA): New.
11187 (PREDICATE_CODES): Update.
11188 (ix86_tls_dialect, ix86_tls_dialect_string): New.
11189 * config/i386/i386.md: Regroup and renumber unspec constants.
11190 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
11191 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
11192 (tls_global_dynamic, tls_local_dynamic_base): New.
11193 (tls_local_dynamic_once): New.
11194 * config/i386/i386-protos.h: Update.
11195
821e35ba
RH
111962002-05-23 Richard Henderson <rth@redhat.com>
11197
11198 * genemit.c (gen_insn): Print file:lineno comment before function.
11199 (main): likewise.
11200 * gensupport.c (struct queue_elem): Add filename member.
11201 (queue_pattern): Initialize it; update all callers.
11202 (process_include): Don't free filename.
11203 (read_md_rtx): Set read_rtx_filename.
11204
0f1ffa23 112052002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
11206
11207 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 11208
8e9fadc3
RH
112092002-05-23 Richard Henderson <rth@redhat.com>
11210
11211 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
11212
244c2241
RH
112132002-05-23 Richard Henderson <rth@redhat.com>
11214
11215 * doc/extend.texi (C++98 Thread-Local Edits): Update with
11216 commentary from Mark.
11217
e0082a72
ZD
112182002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11219
11220 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
11221 Use FOR_EACH_BB macros to iterate over basic block chain.
11222 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
11223 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
11224 Likewise.
11225 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
11226 find_unreachable_blocks, create_edge_list, verify_edge_list,
11227 remove_fake_edges, add_noreturn_fake_exit_edges,
11228 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
11229 Likewise.
11230 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
11231 find_sub_basic_blocks): Likewise.
11232 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
11233 Likewise.
11234 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
11235 Likewise.
11236 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
11237 Likewise.
11238 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
11239 commit_edge_insertions, commit_edge_insertions_watch_calls,
11240 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
11241 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
11242 * conflict.c (conflict_graph_compute): Likewise.
11243 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
11244 df_modified_p, df_refs_unlink, df_dump): Likewise.
11245 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
11246 * final.c (compute_alignments): Likewise.
11247 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
11248 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
11249 count_or_remove_death_notes): Likewise.
11250 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
11251 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
11252 classic_gcse, compute_transp, cprop, compute_pre_data,
11253 compute_transpout, invalidate_nonnull_info,
11254 delete_null_pointer_checks_1, delete_null_pointer_checks,
11255 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
11256 compute_store_table, build_store_vectors, store_motion): Likewise.
11257 * global.c (global_conflicts, mark_elimination): Likewise.
11258 * graph.c (print_rtl_graph_with_bb): Likewise.
11259 * haifa-sched.c (sched_init): Likewise.
11260 * ifcvt.c (if_convert): Likewise.
11261 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
11262 compute_available, compute_nearerout, compute_rev_insert_delete,
11263 optimize_mode_switching): Likewise.
11264 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
11265 * predict.c (estimate_probability, note_prediction_to_br_prob,
11266 propagate_freq, counts_to_freqs, expensive_function_p,
11267 estimate_bb_frequencies): Likewise.
11268 * profile.c (instrument_edges, get_exec_counts,
11269 compute_branch_probabilities, compute_checksum, branch_prob,
11270 find_spanning_tree): Likewise.
11271 * recog.c (split_all_insns, peephole2_optimize): Likewise.
11272 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
11273 Likewise.
11274 * regclass.c (scan_one_insn, regclass): Likewise.
11275 * regmove.c (mark_flags_life_zones, regmove_optimize,
11276 record_stack_memrefs): Likewise.
11277 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
11278 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
11279 * resource.c (find_basic_block): Likewise.
11280 * sched-ebb.c (schedule_ebbs): Likewise.
11281 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
11282 find_single_block_region, find_rgns, schedule_insns)
11283 * sibcall.c (optimize_sibling_and_tail_recursive_call)
11284 * ssa-ccp.c (optimize_unexecutable_edges,
11285 ssa_ccp_df_delete_unreachable_insns): Likewise.
11286 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11287 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
11288 rename_block, convert_to_ssa, compute_conservative_reg_partition,
11289 compute_coalesced_reg_partition, rename_equivalent_regs,
11290 convert_from_ssa): Likewise.
11291 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
11292 process_for_unwind_directive): Likewise.
11293
11294 * df.c (FOR_ALL_BBS): Removed.
11295 * gcse.c (struct null_pointer_info): Type of current_block field
11296 changed.
11297 (struct reg_avail_info): Type of last_bb field changed.
11298 * config/ia64/ia64.c (block_num): Removed.
11299 (need_copy_state): Type changed.
11300 (last_block): New.
11301
17645b15
NB
113022002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
11303
11304 * cppinit.c (mark_named_operators): Split out from init_builtins.
11305 (cpp_finish_options): Call it from here instead.
11306
79ed7328
JT
113072002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
11308
11309 * builtin-attrs.def: Update copyright years.
11310 (ATTR_NONNULL): New attribute identifier.
11311 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
11312 attribute tree lists.
11313 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
11314 format operand.
11315 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
11316 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
11317 attribute lists. Chain the appropriate nonnull attribute.
11318 * c-format.c (check_format_arg): Remove null format string
11319 warning.
11320 * testsuite/gcc.dg/format/null-1.c: New test.
11321
7d600178
RO
113222002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11323
11324 * Makefile.in (ADAC): Define.
11325 (SYSLIBS): Define.
11326 (.SUFFIXES): Move before language makefile fragments.
11327 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
11328
5ff225fc
MM
113292002-05-23 Mark Mitchell <mark@codesourcery.com>
11330
11331 * varasm.c (make_decl_rtl): Don't allow weak variables to be
11332 placed in common.
11333
0f72964f
JH
11334Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
11335
11336 * cfg.c (dump_flow_info): Print results of
11337 maybe_hot/probably_never_executed predicates.
11338 * toplev.c (open_dump_file): Print function frequency.
11339
c863f8c2
DM
113402002-05-23 David S. Miller <davem@redhat.com>
11341
11342 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
11343 regsets.
11344
b34c7881
JT
113452002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
11346
11347 * c-common.c (warn_nonnull): Declare.
11348 (c_common_attribute_table): Add "nonnull" attribute.
11349 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
11350 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
11351 check_function_arguments_recurse): New functions.
11352 * c-common.h (warn_nonnull): Declare extern.
11353 (check_function_arguments, check_function_arguments_recurse): New
11354 prototypes.
11355 * c-decl.c (c_decode_option): Add -Wnonnull option.
11356 * c-format.c (set_Wformat): Set warn_nonnull if enabling
11357 format checking.
11358 (format_check_context): New structure.
11359 (check_format_info_recurse): Remove recursion and rename to...
11360 (check_format_arg): ...this. Update comment.
11361 (check_format_info): Use check_function_arguments_recurse.
11362 * c-typeck.c (build_function_call): Call check_function_arguments
11363 instead of check_function_format.
11364 * doc/extend.texi: Document "nonnull" attribute.
11365 * doc/invoke.texi: Docuemnt -Wnonnull option.
11366 * testsuite/gcc.dg/nonnull-1.c: New test.
11367 * testsuite/gcc.dg/nonnull-2.c: New test.
11368
95479831
DM
113692002-05-23 David S. Miller <davem@redhat.com>
11370
11371 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
11372 * cfgcleanup.c (cleanup_cfg): If it is set do not
11373 attempt to delete trivially dead insns.
11374 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
11375 * toplev.c (rest_of_compilation): Document non-trivial aspect
11376 the RTL before optimize_save_area_alloca is run.
11377
a97d1398
NB
113782002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
11379
11380 * c-lex.c (indent_level): Remove.
11381 (cb_file_change, c_lex): Remove indent level handling.
11382 * c-lex.h (indent_level): Remove.
11383 * input.h (struct file_stack): Remove indent_level.
11384 * toplev.c (push_srcloc): Remove indent_level handling.
11385
66b408f2
JJ
113862002-05-23 Jakub Jelinek <jakub@redhat.com>
11387
11388 PR target/6753
11389 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
11390 of x in constraints for clarity.
11391 (sse_mov?fcc split): abort if op2 == op3.
11392 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
11393 sse_movsfcc_const0_4): Add earlyclobber.
11394 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
11395 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
11396 Use Y instead of x in constraints.
11397
5bf0ebab
RH
113982002-05-23 Richard Henderson <rth@redhat.com>
11399
9217ef40
RH
11400 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
11401 (C++98 Thread-Local Edits): New subsection.
11402
5bf0ebab
RH
11403 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
11404 (ix86_arch): Set type to enum processor_type.
11405
8a951190 11406 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
11407 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
11408
4832c9e1
JJ
114092002-05-23 Jakub Jelinek <jakub@redhat.com>
11410
11411 * configure.in: Fix as version test for binutils 2.12.1 releases
11412 (without dates).
11413 * configure: Rebuilt.
11414
c8c03509
RH
114152002-05-23 Richard Henderson <rth@redhat.com>
11416
11417 * config/i386/i386.c (get_pic_label_name): New.
11418 (load_pic_register): Remove.
11419 (output_set_got): New.
11420 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
11421 * config/i386/i386.md (UNSPEC_SET_GOT): New.
11422 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
11423 (prologue_set_got, prologue_get_pc): Remove.
11424 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
11425 (builtin_setjmp_receiver): Use gen_set_got.
11426 * config/i386/i386-protos.h: Update.
11427
d51f3632
JH
11428Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
11429
11430 * gcse.c (hash_expr): Do not use alias set for hashing.
11431
b0a93386
KB
114322002-05-22 Kevin Buettner <kevinb@redhat.com>
11433
11434 * dbxout.c (dbxout_class_name_qualifiers): New function.
11435 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
11436
bdee42b1
NB
114372002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
11438
11439 * cpperror.c (_cpp_begin_message): No special casing
11440 of CPP_FATAL_LIMIT.
11441 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
11442 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
11443 * cpplib.c (do_include_common): Use DL_ERROR.
11444 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
11445 (DL_ICE): Renumber.
11446 * fix-header.c (read_scan_file): Update.
11447
0e07aff3
RH
114482002-05-22 Richard Henderson <rth@redhat.com>
11449
11450 * config/i386/i386.c (ix86_expand_call): New function, extracted
11451 from md call patterns. Add pic_offset_table_rtx to
11452 CALL_INSN_FUNCTION_USAGE when needed.
11453 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
11454 (call_value_pop, call_value, untyped_call): Likewise.
11455 (call_exp, call_value_exp): Remove.
11456 * config/i386/i386-protos.h: Update.
11457
6f001fdf
RH
114582002-05-22 Richard Henderson <rth@redhat.com>
11459
11460 * varasm.c (default_section_type_flags): Check for VAR_DECL
11461 before using DECL_THREAD_LOCAL.
11462
cbaaba19
DE
114632002-05-22 David Edelsohn <edelsohn@gnu.org>
11464
11465 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
11466 (STARTFILE_SPEC): Delete PE crt0.o.
11467 * config/rs6000/aix51.h: Same.
11468 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
11469 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
11470 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
11471 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
11472 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
11473
c711ba8e
RH
114742002-05-22 Richard Henderson <rth@redhat.com>
11475
11476 * varasm.c (default_section_type_flags): Handle tls data and
11477 default sections.
11478 (default_unique_section): Handle tls sections.
11479
343f59d9
AM
114802002-05-23 Alan Modra <amodra@bigpond.net.au>
11481
11482 * configure.in (CROSS): Define NATIVE_CROSS.
11483 * configure: Regenerate.
11484 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
11485 (startfile_prefix_spec): New var.
11486 (static_specs): Add startfile_prefix_spec.
11487 (do_spec_2): Split out from..
11488 (do_spec): ..here.
11489 (main): Process startfile_prefix_spec.
11490 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
11491 dynamic linker.
11492 (STARTFILE_PREFIX_SPEC): Define.
11493 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 11494 absolute paths.
343f59d9 11495
df383483
KH
114962002-05-22 Kazu Hirata <kazu@cs.umass.edu>
11497
11498 * cpperror.c: Fix formatting.
11499 * cppexp.c: Likewise.
11500 * cppfiles.c: Likewise.
11501 * cpphash.c: Likewise.
11502 * cpphash.h: Likewise.
11503 * cppinit.c: Likewise.
11504 * cpplex.c: Likewise.
11505 * cpplib.c: Likewise.
11506 * cppmacro.c: Likewise.
11507 * cppmain.c: Likewise.
11508 * cppspec.c: Likewise.
11509
2dd36f90
JJ
115102002-05-22 Jakub Jelinek <jakub@redhat.com>
11511
11512 * combine.c (force_to_mode): Use gen_int_mode.
11513 Don't clear CONST_INT bits outside of mode.
11514
8dc02d7f
RH
115152002-05-22 Richard Henderson <rth@redhat.com>
11516
11517 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
11518 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
11519
45f79783
JJ
115202002-05-22 Jakub Jelinek <jakub@redhat.com>
11521
11522 PR c/6643
11523 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
11524 if DECL_SIZE_UNIT is INTEGER_CST.
11525
19f71cd7
RH
115262002-05-22 Richard Henderson <rth@redhat.com>
11527
11528 * flow.c (life_analysis): Delete broken reg_label check.
11529
d5bcfcce
RH
115302002-05-22 Richard Henderson <rth@redhat.com>
11531
11532 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
11533 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
11534
985d311b 11535Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
11536
11537 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
11538 (embed-bb.c): New rule.
985d311b 11539 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
11540 * config/sh/embed_bb.c: Delete.
11541
985d311b
R
11542Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
11543
11544 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
11545
f6d45746
KH
115462002-05-22 Kazu Hirata <kazu@cs.umass.edu>
11547
11548 * config/h8300/h8300.md (*andorqi3): New.
11549
e5f3b786
NB
115502002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
11551
11552 PR preprocessor/6517
11553 * Makefile.in: Update.
11554 * c-common.c (c_common_post_options): Add preprocessor
11555 errors to the error count.
11556 * c-lang.c (c_post_options): Kill.
11557 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
11558 * hooks.h: Add header guards.
11559 * langhooks-def.h: Include hooks.h.
11560 (LANG_HOOKS_POST_OPTIONS): Update.
11561 * langhooks.h (struct lang_hooks): Update post_options.
11562 * toplev.c (parse_options_and_default_flags): Update.
11563objc:
11564 * objc-lang.c (objc_post_options): Kill.
11565 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
11566
4c526be3
BK
115672002-05-21 Bruce Korb <bkorb@gnu.org>
11568
11569 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
11570 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
11571 * fixinc/fixincl.x: regen.
4c526be3 11572
f87c27b4
KH
115732002-05-21 Kazu Hirata <kazu@cs.umass.edu>
11574
11575 * cfgbuild.c: Fix formatting.
11576 * cfg.c: Likewise.
11577 * cfgcleanup.c: Likewise.
11578 * cfglayout.c: Likewise.
11579 * cfgloop.c: Likewise.
11580 * cfgrtl.c: Likewise.
11581
3d78f2e9
RH
115822002-05-21 Richard Henderson <rth@redhat.com>
11583
11584 * c-common.h (enum rid): Add RID_THREAD.
11585 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
11586 (grokdeclarator): Grok __thread.
11587 * c-parse.in (reswords): Add __thread.
11588 (rid_to_yy): Add RID_THREAD.
11589
11590 * tree.h (DECL_THREAD_LOCAL): New.
11591 (struct tree_decl): Add thread_local_flag.
11592 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
11593 * tree.c (staticp): TLS variables are not static.
11594
11595 * target-def.h (TARGET_HAVE_TLS): New.
11596 * target.h (have_tls): New.
11597 * output.h (SECTION_TLS): New.
11598 * varasm.c (assemble_variable): TLS variables can't be common for now.
11599 (default_section_type_flags): Handle .tdata and .tbss.
11600 (default_elf_asm_named_section): Handle SECTION_TLS.
11601 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
11602
11603 * flags.h (flag_tls_default): Declare.
11604 * toplev.c (flag_tls_default): Define.
11605 (display_help): Display help for it.
11606 (decode_f_option): Set it.
11607
11608 * doc/extend.texi (Thread-Local): New node describing language-level
11609 thread-local storage.
11610 * doc/invoke.texi (-ftls-model): Document.
11611
11612 * fixinc/inclhack.def (thread_keyword): New.
11613 * fixinc/fixincl.x: Rebuild.
11614
a151daf0
JL
116152002-05-21 Jeffrey A Law <law@redhat.com>
11616
8a951190 11617 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
11618 do not compute intermediate results into something that is
11619 not a register (such as a SUBREG or MEM).
11620
a151daf0
JL
11621 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
11622 (ix86_sched_reorder): Make sure to initialize scheduling
11623 data even when there's only one insn in the ready queue.
11624
96b1f73b
VM
116252002-05-21 Vladimir Makarov <vmakarov@redhat.com>
11626
11627 * genautomata.c (reserv_sets_hash_value): Fix a typo.
11628
dceb2b75
VM
116292002-05-21 Vladimir Makarov <vmakarov@redhat.com>
11630
11631 * genautomata.c (reserv_sets_hash_value): Define hash_value as
11632 set_el_t. Transform the hash value into unsigned.
11633 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
11634 (transform_3): Add code to process `(A,B)+(D,E)'.
11635
159d5964
NY
116362002-05-21 NIIBE Yutaka <gniibe@m17n.org>
11637
11638 * reload1.c (do_output_reload): Run delete_output_reload
11639 only if optimizing.
11640
cf5124f6
RS
116412002-05-21 Roger Sayle <roger@eyesopen.com>
11642
11643 PR middle-end/6600
11644 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
11645 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
11646 (can_store_by_pieces): ... and here to limit the largest mode used.
11647 Add a comment to document this function.
11648
380e6ade
RH
116492002-05-21 Richard Henderson <rth@redhat.com>
11650
11651 * flow.c (life_analysis): Fix test for deleted label.
11652
1f95326c
NB
116532002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
11654
11655 * doc/tm.texi: Fix typo.
11656
2a1dc0d8
ZW
116572002-05-21 Zack Weinberg <zack@codesourcery.com>
11658
11659 * c-common.c (c_common_init): Set options->unsigned_char from
11660 flag_signed_char.
11661 (cb_register_builtins): Define __STRICT_ANSI__ and
11662 __CHAR_UNSIGNED__ here...
11663 * cppinit.c (init_builtins): Not here.
11664 (cpp_create_reader): unsigned_char option defaults to 0, not
11665 !DEFAULT_SIGNED_CHAR.
11666 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
11667 and -funsigned-char.
11668
11669 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
11670 * cpphash.c (_cpp_init_hashtable): Don't set it.
11671 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
11672 directly. Clarify comment.
11673
d29146f2 116742002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 11675
f5eb2fc8
ZD
11676 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
11677 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
11678 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
11679 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 11680 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 11681 flow_preorder_transversal_compute): Too.
d29146f2 11682 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
11683 find_sub_basic_blocks): Too.
11684 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 11685 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
11686 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
11687 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
11688 * combine.c (this_basic_block): Type changed to basic_block.
11689 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
11690 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
11691 get_last_value, distribute_notes, distribute_links): Too.
11692 * final.c (compute_alignments): Too.
11693 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
11694 * function.c (thread_prologue_and_epilogue_insns): Too.
11695 * gcse.c (compute_code_hoist_vbeinout): Too.
11696 * global.c (build_insn_chain): Too.
11697 * ifcvt.c (find_if_block, find_cond_trap): Too.
11698 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
11699 * regmove.c (regmove_optimize): Too.
11700 * resource.c (find_basic_block): Too.
11701 * sched-ebb.c (schedule_ebbs): Too.
11702 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 11703
68bd6dd6
AJ
117042002-05-21 Andreas Jaeger <aj@suse.de>
11705
11706 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
11707
35a76aac
RH
117082002-05-21 Richard Henderson <rth@redhat.com>
11709
11710 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
11711 unspec names, not numbers.
11712
2870428f
JM
117132002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
11714
11715 * doc/sourcebuild.texi: Mention snapshot-README and
11716 snapshot-index.html as needing updating for new front ends.
11717
b0ad77d5
KG
117182002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11719
11720 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
11721 disabling checking, and avoid multiple evaluation of RTX.
11722
279be7c8
RE
117232002-05-21 Richard Earnshaw <rearnsha@arm.com>
11724
11725 * bitmap.c (bitmap_find_bit): Return early if we have the correct
11726 element cached.
11727
193a563a
JH
11728Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
11729
11730 * profile.c (gen_edge_profiler): Set alias set before the memory is
11731 used.
11732
31825e57
DM
117332002-05-20 David S. Miller <davem@redhat.com>
11734
11735 * cselib.c (max_value_regs): New.
11736 (cselib_lookup, cselib_invalidate_regno): Initialize it when
11737 adding new entries to the REG_VALUES table and we are dealing with
11738 a hard register.
11739 (clear_table): Initialize it.
11740 (cselib_invalidate_regno): Use it to determine which hard
11741 registers to scan when mode is not VOIDmode.
11742
68bd6dd6 117432002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
11744
11745 * tradcpp.c (fixup_newlines): Use old-style function header.
11746
e0a09fda
KW
117472002-05-20 Krister Walfridsson <cato@df.lth.se>
11748
11749 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
11750
e0c13c70
L
117512002-05-20 H.J. Lu (hjl@gnu.org)
11752
11753 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
11754
11755 * config/mips/mips.h (DFMODE_NAN): Defined.
11756 (SFMODE_NAN): Likewise.
11757
4c11675d 117582002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 11759
2a1dc0d8
ZW
11760 * combine.c (cant_combine_insn_p): Back out my
11761 previous patch.
4c11675d 11762
6a4d6760
KH
117632002-05-20 Kazu Hirata <kazu@cs.umass.edu>
11764
11765 * params.c: Fix formatting.
11766 * params.h: Likewise.
11767 * predict.c: Likewise.
11768 * prefix.c: Likewise.
11769 * print-rtl.c: Likewise.
11770 * print-tree.c: Likewise.
11771 * profile.c: Likewise.
11772
5715ca64
L
117732002-05-20 H.J. Lu (hjl@gnu.org)
11774
11775 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
11776
00b89f01
NC
117772002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
11778
11779 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
11780 switches straight on to the assembler, do not abbreviate them.
11781 * config/arm/elf.h (ASM_SPEC): As above.
11782 * config/arm/semi.h (ASM_SPEC): As above.
11783 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
11784 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
11785 -mcpu=xscale on to the assembler by default.
11786 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
11787
1441374b
RH
117882002-05-20 Richard Henderson <rth@redhat.com>
11789
11790 * cse.c (canon_hash): Reorder do_not_record test. Always
11791 allow pic_offset_table_rtx.
11792
c0fe508e
TM
117932002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
11794
11795 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
11796 (expand_binop): Ditto (3 times).
11797
f362c762
MM
117982002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
11799
11800 * Makefile.in (distclean): Remove QMTest stuff.
11801 (QMTEST_PATH): New variable.
11802 (QMTESTFLAGS): Likewise.
11803 (QMTESTRUNFLAGS): Likewise.
11804 (QMTEST): Likewise.
11805 (QMTEST_GPP_TESTS): Likewise.
11806 (QMTEST_DIR): Likewise.
11807 (QMTEST_DIR/context): New target.
11808 (qmtest-g++): Likeise.
11809 (qmtest-gui): Likewise.
11810 (QMTEST_DIR/gpp-expected.qmr): Likewise.
11811
16861f33
AH
118122002-05-19 Aldy Hernandez <aldyh@redhat.com>
11813
2a1dc0d8
ZW
11814 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
11815 an altivec register if TARGET_ALTIVEC.
16861f33 11816
2a1dc0d8
ZW
11817 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
11818 to ALTIVEC_VECTOR_MODE.
11819 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
11820 (rs6000_va_arg): Vectors may go in registers if they are not
11821 altivec vectors.
16861f33 11822
23459e15
KH
118232002-05-19 Kazu Hirata <kazu@cs.umass.edu>
11824
11825 * protoize.c: Fix formatting.
11826
174cc7d1
RH
118272002-05-19 Richard Henderson <rth@redhat.com>
11828
11829 * gensupport.c (init_include_reader): Merge into ...
11830 (process_include): ... here. Simplify composite path creation.
11831 Plug memory leaks. Fix file/line number tracking. Do not
11832 process_define_cond_exec. Return void.
11833 (process_rtx): Don't check process_include return value.
11834
918ed612
ZD
118352002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11836
11837 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
11838 fields.
11839 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
11840 traversing basic block chain.
11841 (create_basic_block_structure, create_basic_block): Declaration changed.
11842 (link_block, unlink_block): Declare.
11843 * cfg.c (entry_exit_blocks): Initialize new fields.
11844 (link_block, unlink_block): New.
11845 (expunge_block_nocompact): Unlink basic block.
11846 (dump_flow_info): Print prev_bb/next_bb fields.
11847 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
11848 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
11849 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
11850 * cfgrtl.c (create_basic_block_structure, create_basic_block,
11851 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
11852 (verify_flow_info): Check that list agrees with numbering.
11853
e0322d5c
NB
118542002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
11855
11856 * c-common.c (preprocessing_asm): New macro.
11857 * c-lex.h (builtin_define, builtin_assert): Use pfile.
11858doc:
11859 * tm.texi: Update.
11860config/alpha:
11861 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
11862 (CPP_SPEC): Simplify.
11863 (TARGET_CPU_CPP_BUILTINS): Update.
11864 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
11865 (CPP_SPEC): Simplify.
11866 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
11867 (TARGET_OS_CPP_BUILTINS): Update.
11868 * osf.h (CPP_XFLOAT_SPEC): Kill.
11869 (TARGET_OS_CPP_BUILTINS): Update.
11870 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
11871 * osf5.h (CPP_XFLOAT_SPEC): Kill.
11872 * vms.h (CPP_SUBTARGET_SPEC): Kill.
11873 (TARGET_OS_CPP_BUILTINS): Update.
11874
121f5c2c
RH
118752002-05-19 Richard Henderson <rth@redhat.com>
11876
11877 * varasm.c (default_binds_local_p): Fix typo.
11878
651c5ed9
MM
118792002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
11880
11881 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
11882 CONST_INT operand to the correct mode after adding 1 to it.
11883
bce0deb2
MM
118842002-05-19 Mark Mitchell <mark@codesourcery.com>
11885
11886 * config.gcc (powerpc-wrs-windiss*): New target.
11887
4aa74a4f
FS
118882002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11889
11890 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
11891 (ashrdi3): Use it.
11892
a15135c9
MM
118932002-05-18 Mark Mitchell <mark@codesourcery.com>
11894
11895 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
11896 alphasort.
11897 * config.in: Regenerated.
11898 * configure: Regenerated.
11899
47754fd5
RH
119002002-05-19 Richard Henderson <rth@redhat.com>
11901
11902 * target-def.h (TARGET_BINDS_LOCAL_P): New.
11903 * target.h (struct gcc_target): Move boolean fields to the end.
11904 Add binds_local_p.
11905 * varasm.c (default_binds_local_p): New.
11906 * output.h: Declare it.
11907
11908 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
11909 * config/cris/cris.c (cris_encode_section_info): Likewise.
11910 * config/i386/i386.c (i386_encode_section_info): Likewise.
11911 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
11912 * config/sh/sh.c (sh_encode_section_info): Likewise.
11913
11914 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
11915 (TARGET_BINDS_LOCAL_P): New.
11916
fc881338
RH
119172002-05-19 Richard Henderson <rth@redhat.com>
11918
11919 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
11920 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
11921 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
11922
11923 * toplev.c (display_help): Kill -a -ax help.
11924
68bd6dd6 11925 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
11926 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
11927 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
11928 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
11929 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
11930
11931 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
11932 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
11933
11934 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
11935 (ix86_output_function_block_profiler): Kill.
11936 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
11937 (m68hc11_function_block_profiler): Kill.
11938 * config/m68hc11/m68hc11-protos.h: Update.
11939 * config/m88k/m88k.c (output_block_profiler): Kill.
11940 (output_function_block_profiler): Kill.
11941 * config/m88k/m88k-protos.h: Update.
11942
772c5265
RH
119432002-05-19 Richard Henderson <rth@redhat.com>
11944
11945 * system.h (STRIP_NAME_ENCODING): Poison it.
11946 * output.h (STRIP_NAME_ENCODING): Remove.
11947 (default_strip_name_encoding): Declare.
11948 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
11949 * target.h (strip_name_encoding): New.
11950 * varasm.c (default_strip_name_encoding): New.
11951
11952 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
11953 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
11954 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
11955 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
11956 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
11957 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
11958 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
11959 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
11960 config/v850/v850.h: Use the hook, not the macro.
11961
11962 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
11963 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
11964 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
11965 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
11966 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
11967 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 11968 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
11969 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
11970 config/v850/v850.c, config/v850/v850.h:
11971 Move STRIP_NAME_ENCODING to out-of-line function and add
11972 TARGET_STRIP_NAME_ENCODING.
11973
11974 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
11975 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
11976 with TARGET_STRIP_NAME_ENCODING referencing existing function;
11977 make function static.
11978
11979 * xcoffout.c: Include target.h
11980 * Makefile.in (xcoffout.o): Update.
11981
11982 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
11983 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
11984 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
11985 reloc argument unused.
11986 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
11987
11988 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
11989 STRIP_NAME_ENCODING docs.
11990
8f9eb495
AJ
119912002-05-19 Andreas Jaeger <aj@suse.de>
11992
11993 * gengenrtl.c: Add prototype for excluded_rtx.
11994
11995 * real.h: Add prototype for exact_real_truncate.
11996
fb49053f
RH
119972002-05-18 Richard Henderson <rth@redhat.com>
11998
11999 * system.h (ENCODE_SECTION_INFO): Poison it.
12000 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
12001 * target.h (encode_section_info): New.
12002 * varasm.c (make_decl_rtl, output_constant_def): Use it.
12003 * hooks.c (hook_tree_int_void): New.
12004 * hooks.h: Declare it.
12005
12006 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
12007 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
12008 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
12009 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
12010 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
12011 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
12012 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
12013 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
12014 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
12015 config/mcore/mcore-protos.h, config/mcore/mcore.c,
12016 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
12017 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
12018 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
12019 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
12020 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
12021 referencing existing function. Make function static.
12022
12023 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 12024 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
12025 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
12026 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
12027 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 12028 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
12029 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
12030 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
12031 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
12032 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 12033 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
12034 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
12035 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
12036 Move ENCODE_SECTION_INFO to out-of-line function and add
12037 TARGET_ENCODE_SECTION_INFO.
12038
12039 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
12040 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
12041
12042 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
12043 from SUBTARGET_*
12044 (switch_to_section): Replace in_rdata case with in_readonly_data.
12045
12046 * config/h8300/h8300.c (h8300_encode_label): Make static.
12047 * config/h8300/h8300-protos.h: Update.
12048
12049 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
12050 from rs6000_encode_section_info; make static.
12051 (rs6000_xcoff_encode_section_info): New.
12052
12053 * config/v850/v850.c (v850_encode_data_area): Make static.
12054 * config/v850/v850-protos.h: Update.
12055
12056 * config/vax/vax.c: Include flags.h.
12057 (vms_select_section): Fix typo.
12058
12059 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
12060 ENCODE_SECTION_INFO docs.
12061
9fe08fd0
RH
120622002-05-18 Richard Henderson <rth@redhat.com>
12063
12064 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
12065 REGISTER_TARGET_PRAGMAS.
12066 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
12067
410b770f
RH
12068 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
12069
b64a1b53
RH
120702002-05-18 Richard Henderson <rth@redhat.com>
12071
12072 * system.h (SELECT_RTX_SECTION): Poison.
12073 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
12074 * target.h (select_rtx_section): New.
12075 * varasm.c (output_constant_pool): Use it.
12076 (default_select_rtx_section, default_elf_select_rtx_section): New.
12077 * output.h: Declare them.
12078
12079 * config/darwin.h (SELECT_RTX_SECTION): Move ...
12080 * config/darwin.c (machopic_select_rtx_section): ... here.
12081 * config/darwin-protos.h: Update.
12082
12083 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
12084 * config/nextstep.c (machopic_select_rtx_section): ... here.
12085 (nextstep_select_section): Rename variable to avoid macro clash.
12086 * config/nextstep-protos.h: Update.
12087
12088 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
12089 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
12090 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 12091 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
12092 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
12093 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 12094 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
12095 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
12096 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
12097 (SELECT_RTX_SECTION): Remove.
12098
12099 * config/darwin.h, config/elfos.h, config/nextstep.h,
12100 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
12101 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
12102 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
12103 config/sparc/lynx.h, config/xtensa/xtensa.c
12104 (TARGET_ASM_SELECT_RTX_SECTION): New.
12105
12106 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
12107 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
12108 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
12109 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
12110 (ia64_aix_select_rtx_section): New.
12111 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
12112 redefining.
12113 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 12114 Support ELF SHF_MERGE features.
b64a1b53
RH
12115 * config/mips/mips-protos.h: Update.
12116 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
12117 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
12118 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
12119 make static, fall back to default_elf_select_rtx_section.
12120 * config/rs6000/rs6000-protos.h: Update.
12121 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
12122 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
12123 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
12124 * config/romp/romp.c (romp_select_rtx_section): New.
12125 * config/s390/s390.c (s390_select_rtx_section): New.
12126 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
12127 declarations before target macro definition.
12128 (xtensa_emit_call): Use static buffer.
12129 (xtensa_select_rtx_section): New.
12130 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
12131 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
12132 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
12133
12134 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
12135 SELECT_RTX_SECTION docs.
12136
12137Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
12138
12139 * i386.md (movsi/movdi): Fix template.
12140 (sse2 patterns): Set attributes consistently.
12141
12142 * i386.md (pushqi2, ashrqi_*): Fix constraint.
12143
6835a09c
TM
121442002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
12145
12146 * optabs.c (complex_part_zero_p): New.
12147 * (expand_cmplxdiv_straight): Use it.
12148 * (expand_cmplxdiv_wide): Ditto.
12149 * (expand_binop): Ditto.
12150
d48bc59a
RH
121512002-05-18 Richard Henderson <rth@redhat.com>
12152
12153 * final.c (HAVE_READONLY_DATA_SECTION): New.
12154 (shorten_branches): Use it instead of ifdefs.
12155 * varasm.c (enum in_section): Add in_readonly_data.
12156 (text_section, data_section): Tidy.
12157 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
12158
12159 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
12160 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
12161 (READONLY_DATA_SECTION): Don't undef.
12162
12163 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
12164 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
12165 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
12166
12167 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
12168 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
12169 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
12170 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
12171
12172 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
12173 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
12174 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
12175 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
12176 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
12177 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
12178 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
12179 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
12180 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
12181
12182 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
12183 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
12184 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
12185 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
12186 config/pa/pa64-hpux.h, config/sparc/litecoff.h
12187 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
12188
12189 * config/elfos.h, config/netware.h, config/svr3.h,
12190 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
12191 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
12192 config/h8300/h8300.h, config/i386/i386-interix.h,
12193 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
12194 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
12195
12196 * config/elfos.h, config/netware.h, config/svr3.h,
12197 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
12198 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
12199 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
12200 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
12201
12202 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
12203 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
12204 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
12205 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
12206 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
12207 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
12208 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
12209 config/rs6000/sysv4.h, config/v850/v850.h
12210 (EXTRA_SECTIONS): Remove in_const/in_rdata.
12211 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
12212
12213 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
12214 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
12215 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
12216 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
12217 * config/alpha/alpha.c (alpha_start_function): Likewise.
12218 (alpha_write_linkage): Likewise.
12219 * config/m32r/m32r.c (m32r_select_section): Likewise.
12220 * config/m88k/m88k.c (m88k_select_section): Likewise.
12221 * config/mips/mips.c (mips_select_rtx_section): Likewise.
12222 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
12223 (rs6000_elf_select_section): Likewise.
12224 * config/v850/v850.c (v850_select_section): Likewise.
12225
12226 * config/1750a/1750a.h, config/i860/sysv3.h
12227 (READONLY_DATA_SECTION_ASM_OP): New.
12228 READONLY_DATA_SECTION_ASM_OP.
12229 * config/i386/interix.c, config/i386/winnt.c
12230 (i386_pe_unique_section): Always use .rdata prefix.
12231 * config/pa/som.h (readonly_data): Always switch to read-only section.
12232 (READONLY_DATA_SECTION): Predicate on flag_pic.
12233 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
12234 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
12235 (READONLY_DATA_SECTION): Update.
12236
e964a556
JT
122372002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
12238
12239 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 12240 is used without -Wformat.
e964a556
JT
12241 * c-common.h (warn_format_zero_length): Declare extern.
12242 * c-decl.c (warn_options): Add "format-zero-length".
12243 * c-format.c (warn_format_zero_length): Declare.
12244 (set_Wformat): Set warn_format_zero_length for -Wformat.
12245 (check_format_info): Only warn about zero-length formats if
12246 warn_format_zero_length is true. Include the format type
12247 name in the warning message.
12248 * doc/invoke.texi: Document -Wformat-zero-length.
12249 * testsuite/gcc.dg/format/zero-length-1.c: New test.
12250
d92b4486
KH
122512002-05-18 Kazu Hirata <kazu@cs.umass.edu>
12252
12253 * timevar.c: Fix formatting.
12254 * tlink.c: Likewise.
12255 * toplev.c: Likewise.
12256 * tree-dump.c: Likewise.
12257 * tree-inline.c: Likewise.
12258
43612ffb
NB
122592002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
12260
12261 * cppinit.c (cpp_post_options): If preprocessed, turn off
12262 traditional. If traditional, turn off column numbers.
12263 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
12264 * cpptrad.c (handle_newline): Update line_base.
12265 (skip_comment): Handle -Wcomment.
12266
f24a153a
ZW
122672002-05-17 Zack Weinberg <zack@codesourcery.com>
12268
12269 * cppinit.c (struct builtin): Remove unused fields.
12270 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
12271 (operator_array): New - was second half of builtin_array.
12272 (init_builtins): Simplify loop over builtin_array/operator_array.
12273
12403335
NB
122742002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
12275
12276 * defaults.h (UNIQUE_SECTION): Remove.
12277 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
12278
1f8c3c5b
RH
122792002-05-17 Richard Henderson <rth@redhat.com>
12280
12281 * expr.c (init_expr_once): Don't use start/end_sequence.
12282 Use rtx_alloc instead of emit_insn.
12283 * toplev.c (lang_dependent_init): Run init_expr_once here ...
12284 (lang_independent_init): ... not here.
12285
4664f4c4
JT
122862002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
12287
12288 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
12289
93febe68
MM
122902002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
12291
12292 * config/avr/avr.c (avr_regs_to_save): New function. Also check
12293 for fixed registers, possibly used for global register variables.
12294 (initial_elimination_offset, avr_output_function_prologue,
12295 avr_output_function_epilogue): Move common code to avr_regs_to_save.
12296
004cb263
NB
122972002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
12298
12299 * Makefile.in: Update for cpptrad.c.
12300 * cpphash.h (struct cpp_buffer): New members for buffer
12301 overlays.
12302 (struct cpp_reader): New members for traditional output.
12303 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
12304 * cppinit.c (cpp_create_reader): Set trad_line.
12305 (cpp_destroy): Free trad_out_base if used.
12306 (cpp_read_main_file): Overlay an empty buffer if traditional.
12307 (cpp_finish_options): Don't do builtins.
12308 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
12309 (cpp_handle_option): Handle it.
12310 * cpplex.c (continue_after_nul): New.
12311 (_cpp_lex_direct): Use handle_nul.
12312 * cpplib.h (struct cpp_options): New traditional option.
12313 * cpptrad.c: New file.
12314
bdcae02b
NB
123152002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
12316
12317 * c-common.c (c_common_init_options): Use C89 for Objective-C,
12318 and set the options flag.
12319 * cppinit.c (lang_flags): Remove objc.
12320 (lang_defaults): Remove OBJC and OBJCXX.
12321 (set_lang): Update.
12322 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
12323 (cpp_handle_option): Remove -+ and -lang-objc++.
12324 For ObjC, just set a flag.
12325 (print_help): Update.
12326 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
12327
0fca60ab
RO
123282002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12329
12330 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
12331 bootstrap with -mips3.
12332
dd3f0101
KH
123332002-05-17 Kazu Hirata <kazu@cs.umass.edu>
12334
12335 * final.c: Fix formatting.
12336 * fix-header.c: Likewise.
12337 * flow.c: Likewise.
12338 * fold-const.c: Likewise.
12339 * function.c: Likewise.
12340
5ca9299f
DM
123412002-05-17 David S. Miller <davem@redhat.com>
12342
12343 PR c/6689, PR optimization/6615
12344 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
12345 and make it a pointer to rtx. Update comments.
12346 (update_equiv_regs): When scanning for equivalences, record
12347 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
12348 it while making the equiv replacements.
12349
508bc172
RO
123502002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12351
12352 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
12353
5cd983a6
KK
123542002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
12355
12356 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
12357 when encoding visibility into SYMBOL_REF_FLAG.
12358
ce0f3925
RS
123592002-05-17 Richard Sandiford <rsandifo@redhat.com>
12360
12361 * expr.c (force_operand): Fix reversed move.
12362
06809951
GP
123632002-05-17 Kurt Wall <kwall@kurtwerks.com>
12364
12365 * doc/install.texi (Testing): Mention two common DejaGnu warnings
12366 that can be ignored.
12367
123682002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12369
12370 * doc/install.texi (Final install): Recommend to install into a
12371 "clean" target directory.
12372
1d5d7a21
RH
123732002-05-17 Richard Henderson <rth@redhat.com>
12374
12375 * config/ia64/ia64.md: Use braced strings instead of quoted strings
12376 for code blocks. Tidy whitespace.
12377
ae46c4e0
RH
123782002-05-17 Richard Henderson <rth@redhat.com>
12379
12380 * hooks.c (hook_tree_bool_false): New.
12381 * hooks.h: Declare it.
12382 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
12383 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
12384 * target.h (select_section, unique_section): New.
12385 (in_small_data_p): New.
12386 * varasm.c (resolve_unique_section): Use hooks instead of macros.
12387 (variable_section, output_constant_def_contents): Likewise.
12388 (default_select_section, default_unique_section): New.
12389 (categorize_decl_for_section, default_elf_select_section): New.
12390 * output.h: Declare them.
12391
12392 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
12393 (TARGET_ASM_SELECT_SECTION): New.
12394 (SELECT_SECTION): Move ...
12395 * config/darwin.c (machopic_select_section): ... here.
12396 * config/darwin-protos.h: Update.
12397
12398 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
12399 (SELECT_SECTION): Move ...
12400 * config/nextstep.c (nextstep_select_section): ... here.
12401 * config/nextstep-protos.h: Update.
12402
12403 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
12404 (TARGET_ASM_SELECT_SECTION): New.
12405 * config/svr3.h (SELECT_SECTION): Remove.
12406
12407 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
12408 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
12409 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
12410 (alpha_encode_section_info): Use it.
12411 * config/alpha/alpha-protos.h: Update.
12412 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
12413 (SELECT_SECTION, UNIQUE_SECTION): Remove.
12414 (TARGET_ASM_SELECT_SECTION): New.
12415 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
12416
12417 * config/arm/pe.h (UNIQUE_SECTION): Remove.
12418 (TARGET_ASM_UNIQUE_SECTION): New.
12419
12420 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
12421 (avr_unique_section): Rename from unique_section; make static.
12422 * config/avr/avr-protos.h: Update.
12423 * config/avr/avr.h (UNIQUE_SECTION): Remove.
12424
12425 * config/c4x/c4x.h (SELECT_SECTION): Remove.
12426
12427 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
12428 (TARGET_ASM_UNIQUE_SECTION): New.
12429 * config/i386/i386-interix.h: Likewise.
12430 * config/i386/win32.h: Likewise.
12431 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
12432 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
12433 * config/i386/sco5.h (SELECT_SECTION): Remove.
12434 (TARGET_ASM_SELECT_SECTION): New.
12435 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
12436
12437 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
12438 instead of SELECT_SECTION.
12439 * config/m68k/dpx2.h: Likewise.
12440 * config/rs6000/lynx.h: Likewise.
12441
12442 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
12443 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
12444 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
12445 (ia64_in_small_data_p): New.
12446 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
12447 (ia64_aix_select_section, ia64_aix_unique_section): New.
12448 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
12449 (SELECT_SECTION, UNIQUE_SECTION): Remove.
12450
12451 * config/m32r/m32r.h (SELECT_SECTION): Remove.
12452 (TARGET_ASM_SELECT_SECTION): New.
12453 * config/m32r/m32r.c (m32r_select_section): Take align argument.
12454 * config/m32r/m32r-protos.h: Update.
12455
12456 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
12457 (SELECT_SECTION): Move ...
12458 * config/m88k/m88k.c (m88k_select_section): ... here.
12459
12460 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
12461 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
12462 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
12463 (mcore_unique_section): Make static.
12464 * config/mcore/mcore-protos.h: Update.
12465
12466 * config/mips/elf.h (UNIQUE_SECTION): Remove.
12467 (TARGET_ASM_UNIQUE_SECTION): New.
12468 * config/mips/elf64.h: Likewise.
12469 * config/mips/iris6gld.h: Likewise.
12470 * config/mips/linux.h: Likewise.
12471 * config/mips/mips-protos.h: Update.
12472 * config/mips/mips.c (mips_select_section): Add align argument.
12473 * config/mips/mips.h (SELECT_SECTION): Remove.
12474 (TARGET_ASM_SELECT_SECTION): New.
12475
12476 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
12477 * config/mmix/mmix.c (mmix_select_section): Remove.
12478 (mmix_unique_section): Remove.
12479 * config/mmix/mmix-protos.h: Update.
12480
12481 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
12482 (SELECT_SECTION): Move ...
12483 * config/pa/pa.c (pa_select_section): ... here.
12484 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
12485
12486 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
12487 from rs6000_select_section and make static.
12488 (rs6000_elf_unique_section): Similarly.
12489 (rs6000_xcoff_select_section): From xcoff.h.
12490 (rs6000_xcoff_unique_section): Likewise.
12491 * config/rs6000/rs6000-protos.h: Update.
12492 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
12493 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
12494 * config/rs6000/xcoff.h: Likewise.
12495
12496 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
12497 (SELECT_SECTION): Move ...
12498 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
12499
12500 * config/v850/v850.h (SELECT_SECTION): Move ...
12501 * config/v850/v850.c (v850_select_section): ... here.
12502 (TARGET_ASM_SELECT_SECTION): New.
12503
12504 * config/vax/vms.h (SELECT_SECTION): Move ...
12505 * config/vax/vax.c (vms_select_section): ... here.
12506 (TARGET_ASM_SELECT_SECTION): New.
12507
12508 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
12509 for the target hooks.
12510
eaeb23a7
NC
125112002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
12512
12513 * config/arm/arm.c (emit_multi_reg_push): Do not set
12514 RTX_FRAME_RELATED_P on the SEQUENCE.
12515
a00fe19f
RH
125162002-05-16 Richard Henderson <rth@redhat.com>
12517
12518 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
12519 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
12520
5ccff482
RH
125212002-05-16 Richard Henderson <rth@redhat.com>
12522
12523 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
12524
068d7739
RH
12525 * config/ia64/ia64.c (saveable_obstack): Do not declare.
12526
0b17ab2f
RH
125272002-05-16 Richard Henderson <rth@redhat.com>
12528
12529 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
12530 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
12531 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
12532 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
12533 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
12534 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
12535 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
12536 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
12537 Revert "Basic block renumbering removal", and two followup patches.
12538
8ae86b3c
JT
125392002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
12540
12541 * lcm.c (optimize_mode_switching): Revert previous change.
12542
4e9f27af
ZD
125432002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12544
12545 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
12546 with only extant block numbers.
12547
3cdc1dbc
JT
125482002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
12549
12550 * lcm.c (optimize_mode_switching): Fix typo.
12551
fbfb3b09
ZD
125522002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12553
12554 * flow.c (calculate_global_regs_live): Queue blocks in program order.
12555
b4b0fb02
RO
125562002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12557
12558 * doc/install.texi (Configuration): Document PWDCMD.
12559
63b827c5
DJ
125602002-05-16 Dale Johannesen <dalej@apple.com>
12561
12562 * combine.c (cant_combine_insn_p): Reenable combinations
12563 involving hard regs unless CLASS_LIKELY_SPILLED_P.
12564
748d29c1
NB
125652002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
12566
12567 * c-common.c (cb_register_builtins): Handle more built-ins
12568 here rather than in gcc.c specs.
12569 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
12570 (cpp_options): Pass -O flags even when only preprocessing.
12571 * toplev.c (set_fast_math_flags): New prototype.
12572 (fast_math_flags_set_p): New.
12573 (set_no_fast_math_flags): Remove.
12574 (decode_f_option): Update.
12575 * toplev.h (set_fast_math_flags): Update.
12576 (fast_math_flags_set_p): New.
12577 (set_no_fast_math_flags): Remove.
12578config:
12579 * c4x/c4x.c (c4x_override_options): Update.
12580
5279d739
ZW
125812002-05-16 Zack Weinberg <zack@codesourcery.com>
12582
12583 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
12584 Default-define here.
12585 (builtin_define_with_value): Can now wrap the expansion in
12586 quotation marks if such is wanted.
a00fe19f 12587 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
12588 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
12589 here.
12590 (c_common_init): Set options->stdc_0_in_system_headers.
12591 * c-lex.h: Update prototype of builtin_define_with_value.
12592 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
12593 and REGISTER_PREFIX.
12594
12595 * cppinit.c (VERS, ULP, C, X): Kill.
12596 (builtin_array): Remove entries for __VERSION__,
12597 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
12598 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
12599 a constant.
12600 (init_builtins): Kill off a bunch of now-dead code.
12601 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
12602 -fno-leading-underscore.
12603 (cpp_handle_option): Remove code to set user_label_prefix.
12604 (cpp_post_options): Likewise.
12605
12606 * cpplib.h (struct cpp_options): Remove user_label_prefix.
12607 (stdc_0_in_system_headers): New.
12608 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
12609 stdc_0_in_system_headers) too to decide the value of __STDC__.
12610
12611 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 12612 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
12613 (initialize_builtins): Don't define __REGISTER_PREFIX__
12614 or __USER_LABEL_PREFIX__.
12615 (install_value): Wrap compound statement in dummy loop so the
12616 macro works properly in an if statement.
12617
12618
62e6ca55
JJ
126192002-05-16 Janis Johnson <janis187@us.ibm.com>
12620
12621 * loop.h (struct loop_info): Add member has_prefetch.
12622 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
12623 (prescan_loop): Initialize has_prefetch.
12624 (struct prefetch_info): Change prefetch_in_loop and
12625 prefetch_before_loop from bit fields to ints.
12626 (emit_prefetch_instructions): Several small fixes.
12627 (check_dbra_loop): Don't reverse loop that uses prefetch.
12628
1e6347d8
RO
126292002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12630
12631 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
12632 * configure.in: Likewise.
12633 * fixinc/check.tpl: Likewise.
12634 * fixinc/fixinc.dgux: Likewise.
12635 * fixinc/fixinc.svr4: Likewise.
12636 * fixinc/fixinc.winnt: Likewise.
12637 * fixinc/fixincl.sh: Likewise.
12638 * fixproto: Likewise.
12639 * configure: Regenerate.
12640
355e4ec4
ZD
126412002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12642
12643 Basic block renumbering removal:
12644 * basic_block.h (struct basic_block_def): Renamed index to sindex,
12645 added prev_bb and next_bb fields.
12646 (n_basic_blocks): Renamed to num_basic_blocks.
12647 (last_basic_block): New, index of last basic block.
12648 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
12649 traversing basic block chain.
12650 (BLOCK_NUM): index -> sindex.
12651 (create_basic_block_structure, create_basic_block): Declaration changed.
12652 (debug_num2bb): Declare.
12653 (expunge_block_nocompact): Declaration removed.
12654 (link_block, unlink_block, compact_blocks): Declare.
12655 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
12656 * cfg.c (entry_exit_blocks): Initialize new fields.
12657 (clear_edges, alloc_block, expunge_block, cached_make_edge,
12658 redirect_edge_pred, dump_flow_info, dump_edge_info,
12659 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
12660 free_aux_for_edges): Modified.
12661 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
12662 (expunge_block_nocompact): Removed.
12663 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
12664 find_unreachable_blocks, create_edge_list, print_edge_list,
12665 verify_edge_list, flow_edge_list_print, remove_fake_successors,
12666 remove_fake_edges, flow_reverse_top_sort_order_compute,
12667 flow_depth_first_order_compute, flow_preorder_transversal_compute,
12668 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
12669 flow_dfs_compute_reverse_execute): Modified.
12670 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
12671 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
12672 Modified.
12673 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
12674 merge_blocks_move_predecessor_nojumps,
12675 merge_blocks_move_successor_nojumps, merge_blocks,
12676 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
12677 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
12678 * cfglayout.c (skip_insns_after_block, label_for_bb,
12679 record_effective_endpoints, scope_to_insns_finalize,
12680 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
12681 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
12682 cfg_layout_duplicate_bb): Modified.
12683 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
12684 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
12685 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
12686 flow_loops_find, flow_loop_outside_edge_p): Modified.
12687 * cfgrtl.c (create_basic_block_structure, create_basic_block,
12688 flow_delete_block, compute_bb_for_insn, split_block,
12689 try_redirect_by_replacing_jump, redirect_edge_and_branch,
12690 force_nonfallthru_and_redirect, tidy_fallthru_edge,
12691 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
12692 commit_edge_insertions, commit_edge_insertions_watch_calls,
12693 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
12694 purge_all_dead_edges): Modified.
12695 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
12696 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
12697 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
12698 Modified.
12699 * conflict.c (conflict_graph_compute): Modified.
12700 * df.c (FOR_ALL_BBS): Removed.
12701 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
12702 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
12703 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
12704 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
12705 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
12706 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
12707 * final.c (compute_alignments, final_scan_insn): Modified.
12708 * flow.c (verify_local_live_at_start, update_life_info,
12709 update_life_info_in_dirty_blocks, free_basic_block_vars,
12710 delete_noop_moves, calculate_global_regs_live,
12711 initialize_uninitialized_subregs, allocate_bb_life_data,
12712 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
12713 mark_used_reg, count_or_remove_death_notes): Modified.
12714 * function.c (thread_prologue_and_epilogue_insns): Modified.
12715 * gcse.c (struct null_pointer_info): Change typo of current_block
12716 to basic_block.
12717 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
12718 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
12719 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
12720 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
12721 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
12722 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
12723 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
12724 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
12725 pre_delete, one_pre_gcse_pass, compute_transpout,
12726 invalidate_nonnull_info, delete_null_pointer_checks_1,
12727 free_code_hoist_mem, compute_code_hoist_vbeinout,
12728 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
12729 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
12730 compute_store_table, build_store_vectors, insert_insn_start_bb,
12731 insert_store, replace_store_insn, free_store_memory, store_motion):
12732 Modified.
12733 * global.c (global_alloc, global_conflicts, mark_elimination,
12734 build_insn_chain): Modified.
12735 * graph.c (print_rtl_graph_with_bb): Modified.
12736 * haifa-sched.c (sched_init): Modified.
12737 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
12738 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
12739 if_convert): Modified.
12740 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
12741 compute_insert_delete, pre_edge_lcm, compute_available,
12742 compute_farthest, compute_nearerout, compute_rev_insert_delete,
12743 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
12744 Modified.
12745 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
12746 * loop.c (loop_dump_aux): Modified.
12747 * predict.c (combine_predictions_for_insn, estimate_probability,
12748 last_basic_block_p, process_note_prediction, process_note_predictions,
12749 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
12750 expensive_function_p, estimate_bb_frequencies,
12751 compute_function_frequency): Modified.
12752 * print-rtl.c (print_rtx): Modified.
12753 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
12754 get_exec_counts, compute_branch_probabilities, compute_checksum,
12755 branch_prob, find_spanning_tree): Modified.
12756 * recog.c (split_all_insns, peephole2_optimize): Modified.
12757 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
12758 convert_regs_1, convert_regs_2, convert_regs): Modified.
12759 * regclass.c (scan_one_insn, regclass): Modified.
12760 * regmove.c (mark_flags_life_zones, regmove_optimize,
12761 combine_stack_adjustments): Modified.
12762 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
12763 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
12764 * reorg.c (dbr_schedule): Modified.
12765 * resource.c (find_basic_block, init_resource_info): Modified.
12766 * sbitmap.c (sbitmap_intersection_of_succs,
12767 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
12768 sbitmap_union_of_preds): Modified.
12769 * sched-deps.c (init_dependency_caches): Modified.
12770 * sched-ebb.c (schedule_ebbs): Modified.
12771 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
12772 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
12773 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
12774 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
12775 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
12776 ssa_const_prop): Modified.
12777 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
12778 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
12779 * ssa.c (remove_phi_alternative, find_evaluations,
12780 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
12781 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
12782 make_regs_equivalent_over_bad_edges,
12783 make_equivalent_phi_alternatives_equival,
12784 compute_conservative_reg_partition,
12785 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
12786 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
12787 Modified.
12788
5a566bed
MM
127892002-05-16 Mark Mitchell <mark@codesourcery.com>
12790
12791 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
12792
48f6efae
NC
127932002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
12794
12795 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
12796 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
12797 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
12798 calling CONSTANT_POOL_ADDRESS_P.
12799 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
12800 to decide whether to define __arm__ or __thumb.
355e4ec4 12801 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
12802 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
12803
b166fadd
NB
128042002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
12805
12806 * config/arc/arc.h (CPP_PREDEFINES): Remove.
12807 (CPP_SPEC): Update.
12808 (TARGET_CPU_CPP_BUILTINS): New.
12809
601328bb
NB
128102002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
12811
12812 * cpphash.h (cpp_macro): Move here, and make expansion a union.
12813 * cppmacro.c (cpp_macro): Remove.
12814 (enter_macro_context, replace_args, warn_of_redefinition,
12815 _cpp_create_definition, cpp_macro_definition): Update.
12816
ff48be5c
JM
128172002-05-16 Jason Merrill <jason@redhat.com>
12818
12819 * config/mips/mips.c (mips_output_external): Don't do sdata
12820 optimization for a variable with DECL_COMDAT set.
12821
805c42ba
AH
128222002-05-15 Aldy Hernandez <aldyh@redhat.com>
12823
355e4ec4
ZD
12824 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
12825 Cleanups for accepting modifiers on pointers.
12826 Fix predicate typos.
12827 Allow long pointers as well as int pointers.
805c42ba 12828
34fb9ba5
RH
128292002-05-15 Richard Henderson <rth@redhat.com>
12830
12831 * varasm.c (merge_weak): Remove special case for extern and common.
12832
62e118f5
MH
128332002-05-15 Matt Hiller <hiller@redhat.com>
12834
12835 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 12836 XFAILing.
62e118f5
MH
12837 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
12838 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
12839 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
12840 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
12841 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
12842 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
12843
fefac463
AH
128442002-05-15 Aldy Hernandez <aldyh@redhat.com>
12845
355e4ec4 12846 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 12847
5f004351
AH
128482002-05-15 Aldy Hernandez <aldyh@redhat.com>
12849
355e4ec4
ZD
12850 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
12851 ("altivec_mfvscr"): Read from VSCR.
12852
12853 Add vscr sets for the following insns: altivec_vctuxs,
12854 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
12855 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
12856 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
12857 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
12858 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
12859 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
12860 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
12861 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
12862 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
12863 altivec_vsum2sws, altivec_vsumsws.
12864
12865 * config/rs6000/rs6000.h: Add VSCR fixed register.
12866 (CALL_REALLY_USED_REGISTERS): Add vscr.
12867 (CALL_USED_REGISTERS): Same.
12868 (FIXED_REGISTERS): Same.
12869 (REG_ALLOC_ORDER): Same.
12870 (reg_class): Add VSCR_REGS.
12871 (REG_CLASS_NAMES): Same.
12872 (REG_CLASS_CONTENTS): Same.
12873 (VSCR_REGNO): New.
12874 (REGISTER_NAMES): Add vscr.
12875 (DEBUG_REGISTER_NAMES): Same.
12876 (ADDITIONAL_REGISTER_NAMES): Same.
12877 (FIRST_PSEUDO_REGISTER): Increment.
12878 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 12879
033afd11
RH
128802002-05-15 Jakub Jelinek <jakub@redhat.com>
12881
12882 * fold-const.c (fold): Fix a typo.
12883
128842002-05-15 Eric Botcazou <ebotcazou@multimania.com>
12885
12886 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
12887 comparison against the highest or lowest integer value before
12888 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
12889 transformation and that of an unsigned comparison against 0
12890 right after.
12891
14285ace
RH
128922002-05-15 Richard Henderson <rth@redhat.com>
12893
12894 * varasm.c (merge_weak): Error for any weakening after definition.
12895 Adjust weakening after use warning to catch more cases.
12896 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
12897 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
12898
194734e9
JH
12899Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
12900
12901 * invoke.texi (-malign-double): Re-add lost warning.
12902
12903 * i386-protos.h (x86_output_mi_thunk): Declare.
12904 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
12905 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
12906
12907 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
12908 when flag_asynchronous_unwind_tables is set.
12909
12910 * flags.h (flag_reorder_functions): Declare.
12911 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 12912 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
12913 * Makefile.in (predict.o): Add dependency on target.h and params.h
12914 * defaults.h (HOT_TEXT_SECTION_NAME,
12915 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
12916 * predict.c (choose_function_section): New function.
12917 (estimate_bb_frequencies): Use it.
12918 * toplev.c (flag_reorder_functions): New global variable.
12919 (lang_independent_options): New.
12920 (parse_options_and_default_flags): Set.
12921 * varasm.c (assemble_start_function): Bypass functdion alignment
12922 for never executed functions.
12923 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
12924 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
12925 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
12926 Document.
12927
12928 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
12929
12930 * predict.c: Inlude profile.h
12931 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
12932 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
12933 Use the information about maximal counter in the program.
12934
12935 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
12936
12937 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
12938 probably_never_executed_bb_p): New functions.
12939 * cfgcleanup.c (outgoing_edges_match): Use them.
12940 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
12941 (maybe_hot_bb_p, probably_cold_bb_p,
12942 probably_never_executed_bb_p): New functions.
12943
12944 * function.h (function): Add new field function_frequency.
12945 * predict.c (compute_function_frequency): New function.
12946 (estimate_probability): Call it.
12947
61ad9a34
JJ
129482002-03-09 Jakub Jelinek <jakub@redhat.com>
12949
12950 PR optimization/5172, optimization/5200
12951 * gcse.c (gcse_main): Disable store_motion.
12952
a11eba95
ZW
129532002-05-14 Zack Weinberg <zack@codesourcery.com>
12954
12955 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
12956 (c_common_nodes_and_builtins): Use it.
12957 (builtin_define_with_value): New function.
12958 (cb_register_builtins): Define __SIZE_TYPE__,
12959 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
12960 using builtin_define_with_value. Use consistent notation when
12961 defining __GXX_WEAK__.
12962 (WCHAR_TYPE_SIZE): Don't redefine.
12963 (combine_strings): Don't use WCHAR_TYPE_SIZE.
12964
12965 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
12966 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
12967 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
12968 * tradcpp.c (initialize_builtins): Likewise.
12969 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
12970
12971 * c-lex.h (builtin_define_with_value): Prototype.
12972 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
12973 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
12974 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
12975
12976 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
12977 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
12978 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
12979 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
12980 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
12981 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
12982 config/sparc/sol2-bi.h, config/sparc/sparc.h:
12983 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
12984 to __SIZE_TYPE__ etc from all spec strings. When this makes
12985 extra specs empty, delete them.
12986
1c31ecf6
JDA
129872002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
12988
12989 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
12990 for PA8000 or generating dwarf2 call frame information.
12991 (output_call): Remove DO_FRAME_NOTES check from return pointer
12992 optimization.
12993 (following_call): Return 0 when scheduling for PA8000 or generating
12994 dwarf2 call frame information. Revise comment.
12995
ac9cfada
NB
129962002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
12997
12998config/alpha:
12999 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
13000 and __IEEE_FP_INEXACT as appropriate.
13001 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
13002 (CPP_SPEC): Remove ieee defines.
13003 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
13004
9b690711
RH
130052002-05-14 Richard Henderson <rth@redhat.com>
13006
13007 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
13008 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
13009
e6471be6
NB
130102002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13011
e6471be6
NB
13012 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
13013 (CPP_SPEC): Update.
13014 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
13015 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
13016 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
13017 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
13018 (EXTRA_SPECS): Update.
13019 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
13020 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
13021 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
13022 define TARGET_OS_CPP_BUILTINS if necessary.
13023
e5f5feea
NB
130242002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13025
13026 * gcc.c (cpp_options): Must pass -m* and -f* options
13027 to the front end even when only preprocessing.
13028 (cc1_options): Remove redundant -lang-c.
13029 * tradcpp.c (main): Ignore -m options.
13030objc:
13031 * lang-specs.h: Similarly.
13032
317638a8
VM
130332002-05-14 Vladimir Makarov <vmakarov@redhat.com>
13034
13035 * genautomata.c (transform_3): Add code for transformation
13036 `(A,B,...)+C -> A+C,B,...'.
13037
4d604303
JH
13038Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
13039
13040 * final.c (end_final): Do not output profile_arcs constructor, when
13041 no functions are instrumented.
13042
b18b06ed
JH
13043Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
13044
13045 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
13046
a12f97f0
GP
130472002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13048
13049 * doc/install.texi: Remove special markup originally required for
13050 HTML generation with texi2html.
13051
c1ae3eb4
AS
130522002-05-14 Andreas Schwab <schwab@suse.de>
13053
13054 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
13055 SELECT_SECTION.
13056 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
13057
13058 * varasm.c (resolve_unique_section): Add third parameter
13059 flag_function_or_data_sections and use it instead of
13060 flag_function_sections.
13061 (assemble_start_function): Pass flag_function_sections.
13062 (asm_emit_uninitialised): Pass flag_data_sections.
13063 (assemble_variable): Likewise.
13064
8ee41eaf
RH
130652002-05-14 Richard Henderson <rth@redhat.com>
13066
13067 * config/i386/i386.md: Use define_constants for unspec numbers.
13068 * config/i386/i386.c: Likewise.
13069
e6471be6
NB
130702002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13071
13072 * doc/contrib.texi: Update my entry.
13073
c297b764
MM
130742002-05-13 Mark Mitchell <mark@codesourcery.com>
13075
13076 * fixinc/inclhack.def (winidss_valist): Limit applicability.
13077 * fixinc/fixincl.x: Regenerated.
13078 * fixinc/tests/base/math.h: Update.
13079 * fixinc/tests/base/testing.h: Likewise.
13080
0b42c8f8
ZW
130812002-05-13 Zack Weinberg <zack@codesourcery.com>
13082
13083 * genattr.c (gen_attr): Don't emit a comma after the last
13084 enumerator.
13085
546c093e
RH
130862002-05-13 Richard Henderson <rth@redhat.com>
13087
13088 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
13089 by non-local gotos.
13090 * recog.c (peephole2_optimize): Likewise.
13091
85be8c2d
AP
130922002-05-13 Andris Pavenis <pavenis@lanet.lv>
13093
13094 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
13095 input to O_BINARY.
13096
765b8f90
JL
130972002-05-13 Jeffrey A Law (law@redhat.com)
13098
fe4b3c79
JL
13099 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
13100 Update prototype and callers.
13101 (propagate_one_insn): Stack pointer adjustments kill MEMs on
13102 the mem_set_list which reference the stack pointer, as do
13103 calls to constant functions as they may clobber outgoing
13104 argument space.
13105
16133d00
JL
13106 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
13107
765b8f90
JL
13108 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
13109 (ia32_multipass_dfa_lookahead): New function.
13110
63826d5b
NB
131112002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13112
13113 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
13114 (translate_options): Remove 'V'.
13115 (process_command): Similarly.
13116doc:
13117 * invoke.texi: Remove documentation of 'V'.
13118
dcb41ced
UW
131192002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
13120
13121 * config/s390/linux.h: Revert 2002-04-22 changes.
13122
8dfea428
SM
131232002-05-13 Scott Marks <SMarks@mobile-mind.com>
13124
13125 * config/fr30/fr30.md: Only allow splits of immediate loads
13126 if the destination is a register.
13127
12a41c22
NB
131282002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13129
13130 * Makefile.in (c-common.o, cppinit.o): Update.
13131 * c-common.c: Include except.h.
13132 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
13133 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
13134 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
13135 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
13136 CPP_PREDEFINES): Handle here.
13137config:
13138 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
13139 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
13140 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
13141 TARGET_OS_CPP_BUILTINS.
13142 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
13143 (CPP_SPEC, EXTRA_SPECS): Update.
13144 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
13145 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
13146 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
13147 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
13148 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
13149doc:
13150 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
13151 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
13152
5692c7bc
ZW
131532002-05-12 Zack Weinberg <zack@codesourcery.com>
13154
13155 * emit-rtl.c (global_rtl): Update comment.
13156 (const_double_htab, const_double_htab_hash,
13157 const_double_htab_hash, lookup_const_double): New.
13158 (const_int_htab_hash, const_int_htab_eq): Remove const
13159 qualifiers, which cause tons of warnings with RTL checking on.
13160 (gen_rtx_CONST_DOUBLE): Deleted.
13161 (const_double_from_real_value): New function - bears some
13162 resemblance to the former immed_real_const_1.
13163 (immed_double_const): Moved here from varasm.c and
13164 simplified.
13165 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
13166 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
13167 (gen_rtx): Use immed_double_const.
13168 (init_emit_once): Initialize the const_double_htab. Use
13169 REAL_VALUE_FROM_INT where possible. Can now use
13170 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
13171 * varasm.c (struct varasm_status): Remove x_const_double_chain.
13172 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
13173 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
13174 (init_varasm_status, mark_varasm_status): Don't touch
13175 x_const_double_chain.
13176
13177 * output.h: Delete prototype for clear_const_double_mem.
13178 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
13179 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
13180 const_double_from_real_value, not immed_real_const_1, and use
13181 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
13182 CONST_DOUBLE_ATOF.
13183 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
13184 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
13185 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
13186 (gen_rtx_REG): Second arg is unsigned.
13187
13188 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
13189 (excluded_rtx): New, return true for CONST_DOUBLE.
13190 (genmacro): Write nothing for excluded codes.
13191 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
13192 * expr.c (expand_expr): Likewise.
13193 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
13194 CONST_DOUBLE_CHAIN.
13195 * toplev.c (rest_of_compilation): Don't call
13196 clear_const_double_mem.
13197
13198 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
13199 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
13200 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
13201 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
13202 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
13203 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
13204 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
13205 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
13206
31397a7b
KG
132072002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13208
13209 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
13210
1b70d38a
TT
132112002-05-12 Tom Tromey <tromey@redhat.com>
13212
13213 * tree.h (copy_node): Don't mention TREE_PERMANENT.
13214
9a5834ae
ZW
132152002-05-12 Zack Weinberg <zack@codesourcery.com>
13216
13217 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
13218 (scan_comma_elt): New function. Accepts whitespace in comma lists.
13219 * gensupport.h: Prototype new routines.
13220 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
13221 use of printf.
13222 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
13223 (next_comma_elt): Use scan_comma_elt.
13224
13225 * config/i386/i386.md: Use new attribute notation to break up
13226 long lines in define_attr forms.
13227
51286de6
RH
132282002-05-12 Richard Henderson <rth@redhat.com>
13229
13230 * expr.c (compress_float_constant): New.
13231 (emit_move_insn): Use it.
13232 (float_extend_from_mem): New.
13233 (init_expr_once): Initialize it.
13234 * real.c (exact_real_truncate): New.
13235
13236 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
13237 dropped into memory; penalize for size.
13238 (RTX_COSTS): FLOAT_EXTEND is free.
13239 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
13240 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
13241
6412341e
RH
132422002-05-12 Richard Henderson <rth@redhat.com>
13243
13244 * profile.h (profile_info): Add missing extern to declaration.
13245 * profile.c (profile_info): Define it.
13246
12877f09
JDA
132472002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13248
13249 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
13250 used for DImode and TImode.
13251
387f9e32
NB
132522002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
13253
13254 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
13255 fake a newline.
13256
e1a0f69c
ZW
132572002-05-11 Zack Weinberg <zack@codesourcery.com>
13258
13259 * config/rs6000/rs6000.c (rs6000_default_long_calls,
13260 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
13261 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
13262 (rs6000_override_options): Handle -m(no-)longcall.
13263 (init_cumulative_args, output_mi_thunk): Check for both
13264 longcall and shortcall attributes on the function.
13265 (rs6000_attribute_table): Add "shortcall".
13266 (rs6000_handle_longcall_attribute): Update comment.
13267 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
13268 altivec_expand_ternop_builtin): Add default clauses to switches
13269 to silence warnings.
13270
13271 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
13272 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
13273 (TARGET_OPTIONS): Add longcall and no-longcall.
13274
13275 * config/rs6000/rs6000.md (call_nonlocal_sysv,
13276 call_value_nonlocal_sysv): Split by alternatives. One pair
13277 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
13278 the call cookie. The other pair accepts only LR/CTR and has
13279 no restriction.
13280
13281 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
13282 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
13283 tmake_file.
13284 * config/rs6000/rs6000-c.c: New file.
13285 * config/rs6000/t-rs6000-c-rule: New file.
13286 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
13287 Prototype rs6000_pragma_longcall.
13288
13289 * doc/extend.texi: Document shortcall attribute.
13290 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
13291
9c64026d
JDA
132922002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13293
13294 * reorg.c (dbr_schedule): Remove unnecessary test.
13295
6c81a490
JH
13296Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
13297
13298 * i386.md (testsi to testqi spliters): New.
13299
13300 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
13301
13302 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
13303
13304 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
13305
13306 * basic-block.h: New flag EDGE_CAN_FALLTHRU
13307 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
13308 that can be made fallthru.
13309
13310 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
13311
13312 * cfglayout.c (cleanup_unconditional_jumps): New static function.
13313 (cfg_layout_initialize): Use it.
4c476cf3 13314
e4447d94
MM
133152002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
13316
13317 * config/avr/avr.c (avr_mcu_types): Update supported devices.
13318 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
13319 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
13320
3a538a66
KH
133212002-05-11 Kazu Hirata <kazu@cs.umass.edu>
13322
13323 * dbxout.c: Fix formatting.
13324 * dependence.c: Likewise.
13325 * df.c: Likewise.
13326 * diagnostic.c: Likewise.
13327 * doloop.c: Likewise.
13328 * dominance.c: Likewise.
13329 * doschk.c: Likewise.
13330 * dwarf2asm.c: Likewise.
13331 * dwarf2out.c: Likewise.
13332 * dwarfout.c: Likewise.
13333
2292e8fc
RH
133342002-05-10 Richard Henderson <rth@redhat.com>
13335
13336 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
13337 Convert integers constants as needed. Replace "nwords" field with
13338 "sizeof_bb".
13339 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
13340 * function.h: Fix typo in comment.
13341 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
13342
dbfb1116
RS
133432002-05-10 Roger Sayle <roger@eyesopen.com>
13344
13345 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
13346 into the equivalent (signed char)c > 0.
13347
79a497cd
JJ
133482002-05-10 Janis Johnson <janis187@us.ibm.com>
13349
13350 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
13351 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
13352 (struct prefetch_info): Fix spelling of member bytes_accessed.
13353 (emit_prefetch_instructions): Make dump messages more regular;
13354 restructure code to add more dump messages; use new macros for
13355 heuristics. (There are no code generation changes in any of this).
13356
6c45cb0d
DM
133572002-05-10 David S. Miller <davem@redhat.com>
13358
7440af14
DM
13359 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
13360 (struct rtx_def): Update unchanging flag comment.
13361 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
13362 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
13363 to be handled to INSN too.
13364 (dbr_schedule): Likewise.
13365 * resource.c (next_insn_no_annul): Likewise.
13366
6c45cb0d
DM
13367 * cse.c (rtx_cost): Remove multiplication by power of 2 special
13368 casing.
13369
29f21e4f
GP
133702002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13371
13372 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
13373 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
13374 (possibly) work around broken /bin/sh.
13375
e4ba88da
RO
133762002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13377
13378 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
13379 . as N64/N32 libgcc_s.so subdirs.
13380
4f4778ee
DM
133812002-05-10 David S. Miller <davem@redhat.com>
13382
13383 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
13384
13385 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
13386 more accurately.
13387 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
13388 comment.
13389 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
13390 * doc/rtl.texi: Document these macros more accurately.
13391 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
13392 JUMP_INSNs and CALL_INSNs.
13393 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
13394 or INSN_FROM_TARGET_P if the code is appropriate.
13395
1a499b92
MM
133962002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
13397
13398 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
13399 before using SYMBOL_REF_FLAG (addr).
13400
13401 * config/avr/avr-protos.h (avr_io_address_p): Declare.
13402 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
13403 Make non-static. Update all callers.
13404 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
13405 New insns to clear/set/test a single bit in I/O address space.
13406
65212b66
KG
134072002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13408
13409 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
13410
3df89291
NB
134112002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13412
13413 * Makefile.in: Update.
13414 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
13415 builtin_define_std): New.
13416 (c_common_init): Register CPP builtins callback.
13417 * c-common.h (flag_iso, flag_undef): New.
13418 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
13419 * c-lex.c: Don't include target.h.
13420 (cb_register_builtins): Move to c-common.c.
13421 (init_c_lex): Don't register hook here.
13422 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
13423 (cpp_define, cpp_assert): Remove.
13424 * gcc.c (cc1_options): Pass -undef to front end.
13425 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
13426 (TARGET_INITIALIZER): Update.
13427 * target.h (struct cpp_reader): Don't predeclare.
13428 (struct gcc_target): Remove cpp builtin hook.
13429 * tree.c (default_register_cpp_builtins): Remove.
13430doc:
13431 * tm.texi: Update.
13432
32fa4565
NB
134332002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13434
13435 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
13436
23357c55
RO
134372002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13438
13439 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
13440 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
13441
5aa26af0
JJ
134422002-05-09 Jakub Jelinek <jakub@redhat.com>
13443
13444 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
13445 * config/sparc/libgcc-sparc-glibc.ver: New file.
13446 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
13447 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
13448
2937267b
JJ
134492002-05-09 Jakub Jelinek <jakub@redhat.com>
13450
13451 PR target/6429
13452 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
13453 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
13454 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
13455 base multilibs.
13456 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
13457 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
13458 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
13459 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
13460
086c0f96
RH
134612002-05-09 Richard Henderson <rth@redhat.com>
13462
13463 * config/ia64/ia64.md: Use define_constants for unspec numbers.
13464 * config/ia64/ia64.c: Likewise.
13465
a8b4881f
RS
134662002-05-09 Richard Sandiford <rsandifo@redhat.com>
13467
13468 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
13469 (save_restore_insns): Likewise.
13470 (mips_expand_prologue, mips_expand_epilogue): Update callers.
13471 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
13472
243e5500 13473Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
890d52e8 13474
af2728a4
JL
13475 * athlon.md, k6.md, pentium.md, ppro.md): New files.
13476 * i386.md: Move scheduling information into new files.
13477
890d52e8
JL
13478 * i386.md (type attribute): Add "rotate" for rotate insns.
13479 (rotate insns): Set type to "rotate".
13480 (various attributes and function units): Treat rotate like shift.
13481 (pent_pair attribute): Only rotates by one bit position are
13482 pairable.
13483 (sbb insns): Explicitly set pent_pair attribute on a couple
13484 that were missing it.
13485
f78ec36a
R
13486Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
13487
13488 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
13489 make sure that buffer starts on odd word address.
13490 (sh_va_arg): Skip odd fp registers when reading a double precision
13491 value.
13492
ff431459
NB
134932002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13494
13495 * tree.h (preserve_data, object_permanent_p, type_precision):
13496 Remove.
13497
c3bf3e6e
NB
134982002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13499
13500 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
13501 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
13502doc:
13503 * cpp.texi: Update for removal of obsolete features.
13504
02263a8a
JH
13505Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
13506 Jeffrey A Law (law@redhat.com)
13507
13508 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
13509 the DFA interface for Pentium processors.
13510 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
13511 (attr_pent_pair, ix86_pent_find_pair): Remove.
13512 (ix86_sched_reorder_pentium): Remove.
13513 (ix86_sched_reorder): Remove reordering for Pentium.
13514 * i386.md (Pentium scheduling): Rewrite using DFA description.
13515
3e638a90
JH
13516Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
13517
13518 * cfganal.c (can_fallthru): Fix fast path.
13519 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
13520 with edges to the next block.
13521
b7c9bf28
JH
13522Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
13523 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
13524
13525 * final.c (end_final): Use C trees to output data structures for profiling.
13526
13527 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
13528 (profile.o): New dependency profile.h
13529 (final.o): New dependency profile.h
13530 * profile.h: New file. New global structure profile_info.
13531 * final.h (count_edges_instrumented_now): Declare.
13532 (current_function_cfg_checksum): Declare.
13533 (function_list): New structure.
13534 (functions_head, functions_tail): New static variables.
13535 (end_final): Emits more data, removed some -ax stuff.
13536 (final): Stores function names and chcksums.
13537 * gcov-io.h (__write_gcov_string): New function.
13538 (__read_gcov_string): New function.
13539 * gcov.c (read_profile): New function.
13540 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 13541 da_file.
5692c7bc
ZW
13542 (read_files): Removed da_file checking, it's done by read_profile now.
13543 * libgcc2.c (bb_function_info): New structure.
13544 (bb): New field in structure, removed some -ax stuff.
13545 (__bb_exit_func): Changed structure of da_file.
13546 * profile.c (count_edges_instrumented_now): New global variable.
13547 (current_function_cfg_checksum): New global variable.
13548 (max_counter_in_program): New global variable.
13549 (get_exec_counts): New function.
13550 (compute_checksum): New function.
13551 (instrument_edges): Sets count_edges_instrumented_now.
13552 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 13553 reading da_file.
5692c7bc
ZW
13554 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
13555 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 13556 now.
5692c7bc 13557 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 13558 now.
5692c7bc 13559 * gcov.texi: Updated information about gcov file format.
b7c9bf28 13560
786de7eb
KH
135612002-05-09 Kazu Hirata <kazu@cs.umass.edu>
13562
13563 * sbitmap.c: Fix formatting.
13564 * scan.c: Likewise.
13565 * scan-decls.c: Likewise.
13566 * sched-deps.c: Likewise.
13567 * sched-ebb.c: Likewise.
13568 * sched-rgn.c: Likewise.
13569 * sched-vis.c: Likewise.
13570 * sdbout.c: Likewise.
13571 * sibcall.c: Likewise.
13572 * simplify-rtx.c: Likewise.
13573 * ssa.c: Likewise.
13574 * ssa-ccp.c: Likewise.
13575 * ssa-dce.c: Likewise.
13576 * stmt.c: Likewise.
13577 * stor-layout.c: Likewise.
13578 * stringpool.c: Likewise.
13579
b7764693
DM
135802002-05-09 David S. Miller <davem@redhat.com>
13581
13582 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
13583
4e7d5d27
DM
135842002-05-07 David S. Miller <davem@redhat.com>
13585
13586 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
13587 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
13588 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
13589 library implementation clobbers the output before the inputs
13590 are fully consumed, use stack temporary for the output.
13591
f979570e
JT
135922002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
13593
13594 * config/netbsd.h (CPP_SPEC): Remove.
13595 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
13596 * config/i386/netbsd.h (CPP_SPEC): Define.
13597 * config/ns32k/netbsd.h (CPP_SPEC): Define.
13598 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
13599 * config/sparc/netbsd.h (CPP_SPEC): Define.
13600 * config/vax/netbsd.h (CPP_SPEC): Define.
13601
a6a2274a
KH
136022002-05-08 Kazu Hirata <kazu@cs.umass.edu>
13603
13604 * read-rtl.c: Fix formatting.
13605 * real.c: Likewise.
13606 * recog.c: Likewise.
13607 * regclass.c: Likewise.
13608 * regmove.c: Likewise.
13609 * reg-stack.c: Likewise.
13610 * reload1.c: Likewise.
13611 * reload.c: Likewise.
13612 * resource.c: Likewise.
13613 * rtlanal.c: Likewise.
13614 * rtl.c: Likewise.
13615 * rtl-error.c: Likewise.
13616
461b48d5
JDA
136172002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
13618
13619 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
13620 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
13621
95d075ff
BS
136222002-05-08 Bernd Schmidt <bernds@redhat.com>
13623
13624 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
13625 use __SSE2__ macro instead.
13626 * config/i386/xmmintrin.h: Likewise.
13627
2d4cc6a7
JJ
136282002-05-08 Janis Johnson <janis187@us.ibm.com>
13629
13630 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
13631 and use it in all invocations of these macros. Clean up comments.
13632 * rtl.c (rtl_check_failed_flag): Add an argument for the name
13633 of the flag access macro whose check failed.
13634 * doc/rtl.texi (Flags): Document additional flag uses.
13635
3f8ffc7c
RS
136362002-05-08 Robert Spier <rspier@pobox.com>
13637 Neil Booth <neil@daikokuya.demon.co.uk>
13638
13639 PR preprocessor/6521
13640 * cppfiles.c (handle_missing_header): Don't do anything
13641 different for <> includes.
13642doc:
13643 * cppopts.texi: Update documentation for -MG.
13644
b9e2d17b
NB
136452002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
13646
13647 * cpplex.c (cpp_interpret_charconst): Truncate as well as
13648 sign-extend.
13649doc:
13650 * cpp.texi: Clarify multichar charconst valuation.
13651
8d8269fa
MM
136522002-05-08 Mark Mitchell <mark@codesourcery.com>
13653
13654 * doc/invoke.texi: Document -mwindiss option.
13655
29b91443
JM
136562002-05-08 Jason Merrill <jason@redhat.com>
13657
13658 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
13659
13660 * dwarf2out.c (gen_type_die): Abort on broken recursion.
13661
13662 PR c++/6381
13663 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
13664 REAL_CST.
13665
6c76b950
NC
136662002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
13667
13668 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
13669 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 13670 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
13671 multilibs for the Thumb.
13672
f90bf7ca
MM
136732002-05-08 Mark Mitchell <mark@codesourcery.com>
13674
13675 PR c/6569.
13676 * varasm.c (mark_weak): New function.
13677 (merge_weak): Use it. Do not call declare_weak.
13678 (declare_weak): Use merge_weak.
13679
1e150f2c
JH
13680Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
13681
13682 * cse.c (dead_libcall_p): Update counts.
13683 (delete_trivially_dead_insns): Update call of dead_libcall_p.
13684
969d70ca
JH
13685Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
13686
13687 * cfglayout.c (function_tail_eff_head): Rename to ...
13688 (function_footer): ... this one.
13689 (unlink_insn_chain): New functions.
13690 (label_for_bb): Only call block_label and emit debug message.
13691 (record_effective_endpoints): Actually unlink the headers and footers.
13692 (fixup_reorder_cahin): Re-insert the unlinked sequences.
13693 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
13694 * cfglayout.h (struct reorder_block_def): New fields footer/header;
13695 remove eff_head/eff_end.
13696 * rtl.h (set_first_insn): Declare.
13697 * emit-rtl.c (set_first_insn): New function.
13698
13699 * cfglayout.c (fixup_reorder_chain): Dump duplicated
13700 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
13701 cfg_layout_duplicate_bb): New global function.
13702 (duplicate_insn_chain): New static function.
13703 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
13704 cfg_layout_duplicate_bb): Declare.
13705 (struct reorder_block_def): Add "original" field.
13706 * emit-rtl.c (emit_copy_of_insn_after): New function.
13707 * rtl.h (emit_copy_of_insn_after): Declare.
13708
13709 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
13710 (fixup_reorder_chain): properly handle edges to exit block.
13711
13712Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13713 Jan Hubicka <jh@suse.cz>
13714
13715 * basic-block.h (note_prediction_to_br_prob): declare.
13716 * c-semantics.c: Inlucde predit.h
13717 (expand_stmt): predict GOTO_STMT as not taken.
13718 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
13719 (cleanup_cfg): Do not free tail_recursion_list.
13720 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
13721 (flow_delete_block): Kill predictions past end of basic block.
13722 * output.h (delete_unreachable_blocks): Declare.
13723 * predict.c (predicted_by_p, process_note_predictions,
13724 process_note_prediction, last_block_p): New function.
13725 (estimate_probability): Bypass loop on PRED_CONTINUE;
13726 do not handle noreturn heuristics; kill PRED_RETURN; add
13727 PRED_EARLY_RETURN.
13728 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
13729 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
13730 * predict.h (IS_TAKEN): New constant.
13731 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
13732 * rtl.c (NOTE_INSN_PREDICTION): New.
13733 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
13734 New macro.
13735 (insn_note): add NOTE_INSN_PREDICTION.
13736 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
13737 CFG; free tail_recursion_label_list.
13738 * stmt.c: Include predict.h;
13739 (return_prediction): New.
13740 (expand_value_return): Use it.
13741 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
13742
41f8d041
RS
137432002-05-08 Richard Sandiford <rsandifo@redhat.com>
13744
13745 * config/mips/mips.md: Name the unspecs with define_constant.
13746 (*HILO_delay): Rename to 'hilo_delay' (no star).
13747 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
13748 (reload_outdi, reload_outsi): Likewise.
13749
9cabb1d8
KH
137502002-05-07 Kazu Hirata <kazu@cs.umass.edu>
13751
13752 * toplev.c: Fix formatting.
13753
4c76f856
JJ
137542002-05-07 Janis Johnson <janis187@us.ibm.com>
13755
13756 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
13757 * configure.in (ac_rtlflag_checking): New.
13758 * doc/install.texi (--enable-checking): Document RTL flag checking.
13759
44a147ad
NB
137602002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
13761
13762 * c-common.c (c_common_init): Set options->unsigned_wchar.
13763 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
13764 group target dependencies.
13765 (init_builtins, cpp_handle_option): Update.
13766 * cpplex.c (cpp_interpret_charconst): Update.
13767 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
13768 signed_char to unsigned_char, group target dependencies.
13769 * defaults.h (WCHAR_UNSIGNED): Remove.
13770 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
13771config:
13772 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
13773 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
13774 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
13775 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
13776 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
13777doc:
13778 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
13779
cace4f93
MM
137802002-05-07 Mark Mitchell <mark@codesourcery.com>
13781
13782 * fixinc/inclhack.def (windiss_math1): New fix.
13783 (windiss_math2): Likewise.
13784 (windiss_valist): Likewise.
13785 * fixinc/fixincl.x: Regenerated.
13786
e2ff6cee
AJ
137872002-05-07 Andreas Jaeger <aj@suse.de>
13788
13789 * genautomata.c (output_internal_min_issue_delay_func): Add
13790 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
13791 (output_internal_trans_func): Likewise.
13792
bdad4be5
JL
13793Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
13794
13795 * pa.c (hppa_profile_hook): Use force_reg to get the address
13796 of the profile hook into an appropriate pseudo register.
13797
a1ffecd9
MM
137982002-05-07 Mark Mitchell <mark@codesourcery.com>
13799
13800 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
13801 (LINK_START_SPEC): Handle it.
13802 (LINK_OS_SPEC): Likewise.
13803 (CPP_SPEC): Likewise.
13804 (STARTFILE_SPEC): Likewise.
13805 (LIB_SPEC): Likewise.
13806 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
13807 all platforms.
13808 (CRTSAVRES_DEFAULT_SPEC): New macro.
13809 (LIB_WINDISS_SPEC): New macro.
13810 (CPP_OS_WINDISS_SPEC): Likewise.
13811 (STARTFILE_WINDISS_SPEC): Likewise.
13812 (ENDFILE_WINDISS_SPEC): Likewise.
13813 (LINK_START_WINDISS_SPEC): Likewise.
13814 (LINK_OS_WINDISS_SPEC): Likewise.
13815 * config/rs6000/windiss.h: New file.
e2ff6cee 13816
df966bff
AH
138172002-05-07 Aldy Hernandez <aldyh@redhat.com>
13818
a5c76ee6 13819 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 13820
db84f1bd
DM
138212002-05-06 David S. Miller <davem@redhat.com>
13822
13823 * config/sparc/sparc.md (shift insns): Do not mask off
13824 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
13825 take care of it.
13826
818c0c94
RH
138272002-05-06 Richard Henderson <rth@redhat.com>
13828
13829 PR c++/6212
13830 * expr.c (highest_pow2_factor_for_type): New.
13831 (expand_assignment): Use it.
13832
61e0b50f
AH
138332002-05-06 Aldy Hernandez <aldyh@redhat.com>
13834
818c0c94
RH
13835 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
13836 unspec_volatile.
13837 ("altivec_mfvscr"): Same.
61e0b50f 13838
5a63e069
JJ
138392002-05-06 Janis Johnson <janis187@us.ibm.com>
13840
13841 * rtl.h (struct rtx_def): Update comments.
13842 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
13843 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
13844 RTL_FLAG_CHECK macros with list of expected RTL codes.
13845 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
13846 (rtl_check_failed_flag): New.
13847 * reload1.c (reload): Use REG macro before changing rtx to MEM.
13848 (reload_cse_noop_set_p): Check rtx code before using access macro.
13849 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
13850 before using access macro.
13851
4afe3952
JJ
138522002-05-06 Janis Johnson <janis187@us.ibm.com>
13853
13854 * doc/rtl.texi (Flags): Update to reflect current usage.
13855
1f77b5da
RS
138562002-05-06 Roger Sayle <roger@eyesopen.com>
13857
13858 PR opt/3995
13859 * fold-const.c (sign_bit_p): New function.
13860 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 13861 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
13862 Reapply fold when converting (A & C) == C into (A & C) != 0.
13863 (fold_binary_op_with_conditional_arg): Fix typo in comment.
13864
a5a49440
NB
138652002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
13866
13867 * c-common.c (warn_multichar): New.
13868 (c_common_init): Set CPP's warn_multichar.
13869 * c-common.h (warn_multichar): New.
13870 * c-decl.c (warn_multichar): Remove.
13871 * c-lex.c (lex_charconst): Update.
13872 * c-tree.h (warn_multichar): Remove.
13873 * cppexp.c (eval_token): Sign-extend charconst value.
13874 * cppinit.c (cpp_create_reader): Set warn_multichar.
13875 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
13876 each character. Update prototype. Sign-extend the result.
13877 * cpplib.h: Fix conditions.
13878 (struct cpp_options): Add new warning flag.
13879 (cpp_interpret_charconst): Update prototype.
13880doc:
13881 * cpp.texi: Update documentation.
13882
83e0be55
VM
138832002-05-06 Vladimir Makarov <vmakarov@redhat.com>
13884
13885 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
13886 Fix typo in usage of allof instead of unit.
13887
688ec718
RH
138882002-05-06 Richard Henderson <rth@redhat.com>
13889
13890 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
13891 and any jump or call for IN.
13892
f6536266
BS
138932002-05-06 Bernd Schmidt <bernds@redhat.com>
13894
e2ff6cee 13895 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
13896 -msse2.
13897 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 13898
0316d49b
RS
138992002-05-06 Roger Sayle <roger@eyesopen.com>
13900
13901 * fold-const.c (lshift-double): Cast the high word to an unsigned
13902 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
13903 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
13904 avoid compiler warning. (fold): Remove redundant code from
13905 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
13906
5d50fab3
JL
139072002-05-06 Jeff Law <law@redhat.com>
13908
13909 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
13910 * pa.c (pa_adjust_cost): Remove all true dependency cost
13911 adjustments. Also remove support for non-DFA scheduling.
13912 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
13913 to adjust true dependency costs. Update various comments.
13914 (7100lc, 7200, 7300 scheduling): Simplify by combining the
13915 FP ALU & MPY units into a single unit.
13916
a17a104c
CM
139172002-05-06 Catherine Moore <clm@redhat.com>
13918
13919 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 13920 to count all of the registers that will be saved.
a17a104c 13921
7799175f
JH
13922Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
13923
13924 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
13925
0ac941a0
DM
139262002-05-06 David S. Miller <davem@redhat.com>
13927
13928 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
13929 allow result to overlap input operands in memory.
13930
95ff5d3f
NB
139312002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
13932
13933doc:
13934 * cpp.texi: Update multichar charconst docs.
13935
639e8b0c
NB
139362002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
13937
13938 * cpplex.c (cpp_interpret_charconst): Sign-extend each
13939 character. Don't ignore excess characters. Treat
13940 multicharacter character constants as signed.
13941 (cpp_parse_escape): Clarify diagnostic.
13942
84ea5bc1
JJ
139432002-05-05 Jakub Jelinek <jakub@redhat.com>
13944
13945 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
13946 use add instead of shift.
13947 (ashldi3_sp64): Likewise.
13948 (ashlsi3_const1, ashldi3_const1): Remove.
13949 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
13950 * config/sparc/sparc.c (const1_operand): New.
13951
40cd22f2
JT
139522002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
13953
13954 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
13955
cac01076
JJ
139562002-05-05 Jakub Jelinek <jakub@redhat.com>
13957
13958 PR target/6561
13959 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
13960
98791e3a
RH
139612002-05-05 Richard Henderson <rth@redhat.com>
13962
13963 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
13964 memory latency adjustments.
13965 (alpha_variable_issue): Remove.
13966 (alpha_use_dfa_pipeline_interface): New.
13967 (alpha_multipass_dfa_lookahead): New.
13968 * config/alpha/alpha.md: Remove define_function_unit scheduling;
13969 include new dfa scheduling.
13970 (attr type): Add none.
13971 (blockage): Use it.
13972 * config/alpha/ev4.md: New.
13973 * config/alpha/ev5.md: New.
13974 * config/alpha/ev6.md: New.
13975
309527ce
DM
139762002-05-05 David S. Miller <davem@redhat.com>
13977
13978 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
13979
68252e27
KH
139802002-05-05 Kazu Hirata <kazu@cs.umass.edu>
13981
13982 * cse.c: Fix formatting.
13983 * emit-rtl.c: Likewise.
13984
30cc9d00
VM
139852002-05-05 Vladimir Makarov <vmakarov@redhat.com>
13986
13987 * genautomata.c (initiate_states): Add additional guard to
13988 initialize `units_array'.
13989
deb09eff
VM
139902002-05-05 Vladimir Makarov <vmakarov@redhat.com>
13991
13992 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
13993 process_unit_to_form_the_same_automaton_unit_lists,
13994 form_the_same_automaton_unit_lists
13995 check_unit_distributions_to_automata): New prototypes and
13996 functions.
13997 (check_automata): Rename it into `check_automata_insn_issues'.
13998 (unit_decl): New fields `the_same_automaton_unit' and
13999 `the_same_automaton_message_reported_p'.
14000 (unit_decl_t): New typedef.
14001 (the_same_automaton_lists): New gloval variable.
14002 (unit_regexp, unit_set_el, units_array, units_cmp,
14003 output_get_cpu_unit_code_func): Use the typedef.
14004 (evaluate_max_reserv_cycles): Increment
14005 `description->max_insn_reserv_cycles'.
14006 (initiate_states): Don't increment `max_cycles_num'.
14007 (transform_insn_regexps): Move code around transformation of
14008 regexps from `generate'.
14009 (generate): Remove call of `transform_insn_regexps'.
14010 (expand_automata): Call `transform_insn_regexps' and
14011 `check_unit_distributions_to_automata'. Check errors before
14012 `generate'.
14013
14014 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
14015 automaton `ultrasparc3_1'.
e2ff6cee 14016
2443d4e1
NB
140172002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
14018
14019 * c-common.c (c_common_init): Set up CPP arithmetic.
14020 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
14021 something reasonable for the host.
14022 (sanity_checks): Add checks.
14023 (cpp_read_main_file): Call sanity_checks() from here...
14024 (cpp_post_options): ... not here.
14025 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
14026 * cpplib.h (struct cpp_options): New member int_precision.
14027
791a949f
FS
140282002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14029
14030 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
14031
091fb516
DM
140322002-05-04 David S. Miller <davem@redhat.com>
14033
f60ebeb7
DM
14034 * config/sparc/linux.h, config/sparc/linux64.h
14035 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
14036
214c6394
DM
14037 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
14038 more RTX codes.
14039 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
14040
091fb516
DM
14041 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
14042 of SETs.
14043
f2fdc802
TJ
140442002-05-05 Tim Josling <tej@melbpc.org.au>
14045
e2ff6cee 14046 * treelang; New directory for new sample language treelang.
f2fdc802 14047
3d90d290
NB
140482002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14049
14050 * Makefile.in (c-lex.o): Update.
14051 * c-lex.c: Include target.h.
14052 (cb_register_builtins): New.
14053 (init_c_lex): Set builtins callback.
14054 * c-lex.h (cpp_define, cpp_assert): New prototypes.
14055 * cppinit.c (init_builtins): Use callback, including for
14056 GXX_WEAK.
14057 * cpplib.h (struct cpp_callbacks): New member.
14058 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
14059 (TARGET_INITIALIZER): Update.
14060 * target.h (struct gcc_target): New hook.
14061 * tree.c (default_register_cpp_builtins): New.
14062 * tree.h (default_register_cpp_builtins): New.
14063doc:
14064 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
14065
625458d0
NB
140662002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14067
14068 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
14069 (cpp_post_options): Move sanity checks to...
14070 (sanity_checks): New.
14071 * cpplex.c (maybe_read_ucs): Fix prototype.
14072 (parse_string, cpp_parse_escape): Cast for %c format specifier.
14073 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
14074 if necessary.
14075
916b60b7
BS
140762002-05-04 Bernd Schmidt <bernds@redhat.com>
14077
14078 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
14079 builtins. Use V2DI patterns instead of TI for logical operations.
14080 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
14081 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
14082 (ix86_expand_builtins): Change the pattern used for movntdq.
14083 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
14084 sse2_nandv2di3): New patterns.
14085 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
14086 on operands.
14087 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
14088 (cvtdq2pd): Correct mode on operand 1.
14089 (sse2_umulsidi3): Describe without unspec.
14090 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
14091 machine modes.
14092 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
14093 (ashlv2di3): Likewise, from sse2_ashlv2di3.
14094 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
14095 ashlv4si3, ashlv2di3): Use SImode for shift count.
14096 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
14097 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
14098 New patterns.
14099 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
14100 New typedefs.
14101 (__m128i, __m128d): New macros.
14102 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
14103 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
14104 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
14105 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
14106 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 14107 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
14108 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
14109 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 14110 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
14111 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
14112 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
14113 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
14114 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
14115 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
14116 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
14117 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
14118 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
14119 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
14120 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
14121 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
14122 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
14123 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
14124 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
14125 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
14126 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
14127 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
14128 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
14129 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
14130 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
14131 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
14132 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
14133 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
14134 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
14135 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
14136 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
14137 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
14138 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
14139 functions.
e2ff6cee 14140 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
14141 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
14142
c26fbbca
KH
141432002-05-04 Kazu Hirata <kazu@cs.umass.edu>
14144
14145 * dwarf2out.c: Fix formatting.
14146 * varasm.c: Likewise.
14147
0387639b
DE
141482002-05-04 David Edelsohn <edelsohn@gnu.org>
14149
14150 PR c/6543
14151 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
14152 clobber and use result as temporary value.
14153
8a28dbcc
JH
14154Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
14155
14156 * expr.c (force_operand): Use expand_simple_* to handle more
14157 cases.
14158
4268e8bb
NB
141592002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14160
14161 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
14162 and sign-extension.
14163 (lex_charconst): Update for change in prototype of
14164 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
14165 appropriately.
14166 * cpphash.h (BITS_PER_CPPCHAR_T): New.
14167 * cppinit.c (cpp_create_reader): Initialize them for no
14168 change in semantics.
14169 (cpp_post_options): Add sanity checks.
14170 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
14171 and truncation issues. Calculate in type cppchar_t.
14172 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
14173 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
14174 run-time dependent precision correctly. Return whether the
14175 result is signed or not.
14176 * cpplib.c (dequote_string): Use cppchar_t; update.
14177 * cpplib.h (cppchar_signed_t): New.
14178 struct cpp_options): New precision members.
14179 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 14180 * cppexp.c (eval_token): Update.
4268e8bb 14181
af54350e
DM
141822002-05-03 David S. Miller <davem@redhat.com>
14183
2ce04b6b
DM
14184 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
14185 * config/sparc/sparc.c (sparc_rtx_costs): New function
14186 implementing RTX_COSTS and CONST_COSTS.
14187 * config/sparc/sparc.h (CONST_COSTS): Delete.
14188 (RTX_COSTS_CASES): Define.
14189 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
14190 the work.
14191
a1d9bd0c
DM
14192 * config/sparc/sparc.md (DFA schedulers): Split out...
14193 * config/sparc/cypress.md, config/sparc/hypersparc.md,
14194 config/sparc/sparclet.md, config/sparc/supersparc.md,
14195 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
14196
e87bb82e
DM
14197 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
14198 checks on it, always defined for Sparc.
14199
af54350e
DM
14200 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
14201 Tweak, and add more detailed comments.
14202
935bfb44
ZW
142032002-05-03 Zack Weinberg <zack@codesourcery.com>
14204
14205 * Re-apply patch accidentally reverted with
14206 DFA scheduler merge: remove all rules and variables to slurp
14207 source files out of libiberty and rebuild them with HOST_CC.
14208 ($(HOST_PREFIX_1)varray.o): New rule.
14209 (genattrtab rule): Word wrap.
14210
fa7a0712
JT
142112002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
14212
14213 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
14214 (CPP_SUBTARGET_SPEC): Define.
14215 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
14216 cpp_subtarget specs.
14217 (CPP_SPEC): Redefine to include %(cpp_subtarget).
14218
14c93978
DM
142192002-05-03 David S. Miller <davem@redhat.com>
14220
14221 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
14222 * target.h (struct gcc_target): Delete cycle_display member.
14223
14d118d6
DM
14224 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
14225 (rtx_needs_barrier): Delete reference to cycle_display unspec.
14226 (ia64_sched_reorder2): Mention need for cycle display handling
14227 once such notes exist.
935bfb44 14228
b3ae1ccd
RH
142292002-05-03 Richard Henderson <rth@redhat.com>
14230
14231 * real.c (etoasc): Strip most trailing zeros for clarity.
14232 * sched-vis.c: Include real.h.
14233 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
14234 * Makefile.in (sched-vis.o): Add real.h.
14235
8f39865a
DM
142362002-05-03 David S. Miller <davem@redhat.com>
14237
14238 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
14239 no longer needed.
14240
b44140e7
AH
142412002-05-03 Aldy Hernandez <aldyh@redhat.com>
14242
935bfb44
ZW
14243 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
14244 when we get an out of range literal.
14245 (altivec_expand_ternop_builtin): Same.
14246 (altivec_expand_unop_builtin): Same.
14247 (altivec_expand_builtin): Same, for dss.
14248 (altivec_expand_builtin): Use trees instead of rtl when
14249 determining literal argument validity.
b44140e7 14250
aaaed752
DM
142512002-05-03 David S. Miller <davem@redhat.com>
14252
14253 Delete cycle display scheduling hook.
14254 * config/ia64/ia64.c (ia64_cycle_display,
14255 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
14256 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
14257 and use emit_insn_before instead of ia64_emit_insn_before.
14258 * config/ia64/ia64.md (unspec usage): Delete cycle display.
14259 (cycle_display): Delete insn pattern.
14260 * config/sparc/sparc.md (unspec usage): Delete cycle display.
14261 (cycle_display): Delete insn pattern.
14262 * config/sparc/sparc.c (sparc_cycle_display,
14263 TARGET_SCHED_CYCLE_DISPLAY): Delete.
14264 * doc/md.texi (cycle_display): Don't mention.
14265 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 14266
b37c2614
RH
142672002-05-03 Richard Henderson <rth@redhat.com>
14268
14269 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
14270 * recog.h: Declare them.
14271
14272 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
14273 * config/sparc/sparc.md: Use store_data_bypass_p instead.
14274 * config/sparc/sparc-protos.h: Update.
935bfb44 14275
e1c1132e
JT
142762002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
14277
14278 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
14279 -D__arch64__. Add -D_LP64.
14280 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
14281 from sparc.h.
14282 (CPP_ARCH64_SPEC): Likewise.
14283 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
14284 (NO_BUILTIN_SIZE_TYPE): Undef.
14285
0b2fb0d7
VM
142862002-05-03 Vladimir Makarov <vmakarov@redhat.com>
14287
14288 * genautomata.c (min_issue_delay_pass_states): Change return type
14289 in the prototype.
14290 (min_issue_delay_pass_states): Change the algorithm.
14291 (min_issue_delay): Set up min_insn_issue_delay for the state.
14292 (output_min_issue_delay_table): Interchange the nested loops and
14293 and initiate min_insn_issue_delay for states.
935bfb44 14294
3d4ce12a
JH
14295Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
14296
14297 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
14298 jump is simplejump.
14299
14300Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
14301
14302 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
14303 sequence.
14304
b5482208
RH
143052002-05-03 Richard Henderson <rth@redhat.com>
14306
14307 PR opt/6534
14308 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
14309 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
14310 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
14311 code before JUMP, not EARLIEST.
14312
5a3085c5
JM
143132002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
14314
14315 * c-format.c (check_format_info_main): Don't check for presence of
14316 parameter for * width until after operand number has been read,
14317 and only check for it if format parameters are available.
14318 Fixes PR c/6547.
14319
40039424
JT
143202002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
14321
14322 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
14323 (LINK_SPEC): Undef before defining.
14324
8157303b
JJ
143252002-05-03 Jakub Jelinek <jakub@redhat.com>
14326
14327 PR preprocessor/6489
14328 * tradcpp.c (fixup_newlines): New.
14329 (main, finclude): Use it.
14330
66319f5c
RS
143312002-05-03 Richard Sandiford <rsandifo@redhat.com>
14332
14333 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
14334 * config/mips/mips.c (mips_unique_section): Strip encoding from
14335 decl name.
14336
ce8076ad
JJ
143372002-05-03 Jakub Jelinek <jakub@redhat.com>
14338
14339 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
14340 mode.
14341
975c6e4e
RO
143422002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14343
14344 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
14345 (Specific): Removed buildstats references.
14346 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
14347 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
14348 Accomodate Solaris versions beyond 8.
14349 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
14350 (Specific, *-*-solaris2.8): Removed, obsolete.
14351
d70e94ec
JJ
143522002-05-03 Jakub Jelinek <jakub@redhat.com>
14353
14354 PR target/6542
14355 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
14356 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
14357 fill leaf_reg_remap with identity.
14358 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
14359
6b148bd9
KH
143602002-05-03 Kazu Hirata <kazu@cs.umass.edu>
14361
14362 * config/h8300/crti.asm: Remove trailing spaces.
14363 * config/h8300/h8300.c: Likewise.
14364 * config/h8300/lib1funcs.asm: Likewise.
14365
609688f3
JM
143662002-05-02 Jason Merrill <jason@redhat.com>
14367
14368 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
14369 * c-decl.c (c_init_decl_processing): Use it.
14370 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
14371 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
14372 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
14373
3b03c671
KH
143742002-05-03 Kazu Hirata <kazu@cs.umass.edu>
14375
14376 * regrename.c: Fix formatting.
14377 * tree.c: Likewise.
14378
3b4961bd
JH
14379Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
14380
14381 * i386.md (attribute memory): Handle compares properly.
14382
19cba4a0
JH
14383Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
14384
3b4961bd 14385 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
14386 to none.
14387
797a6ac1
KH
143882002-05-02 Kazu Hirata <kazu@cs.umass.edu>
14389
14390 * function.c: Fix formatting.
14391
6d0de005
JH
143922002-05-02 Jan Hubicka <jh@suse.cz>
14393
14394 * haifa-sched.c (schedule_insn): Print table of instructions and
14395 reservations.
14396 (sched_block): Do not print ready list at verbosity level 1.
14397 * sched-vis.c (print_insn): Make global.
14398 * sched-ebb.c (ebb_print_insn): Rename from...
14399 (print_insn): ... this one.
14400 * sched-int.h (print_insn): Declare
14401
0bfb9a69
RH
144022002-05-02 Richard Henderson <rth@redhat.com>
14403
14404 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
14405 emitted by cycle_display.
14406
6b976d99
LR
144072002-05-02 Loren J. Rittle <ljrittle@acm.org>
14408
14409 * doc/install.texi (*-*-freebsd*): Update to latest status.
14410
0a295052
JJ
144112002-05-02 Jakub Jelinek <jakub@redhat.com>
14412
14413 PR target/6540
14414 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
14415 * config/float-sparc.h: Assume 128-bit long double if
14416 __LONG_DOUBLE_128__ is defined.
14417
842d5d6c
VM
144182002-05-02 Vladimir Makarov <vmakarov@redhat.com>
14419
14420 * genattrtab.c (write_function_unit_info): Add a dummy element
14421 when num_units == 0.
14422
3d7a6309
HB
144232002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
14424
14425 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
14426 TYPE_MODE (double_type_node) instead of DFmode.
14427
1b6763cf
JH
14428Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
14429
14430 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
14431 jumps post reload.
14432 * toplev.c (rest_of_compilation): Revert Richard's patch.
14433
b303008e
JDA
144342001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
14435
14436 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
14437
6ed7412a
CM
144382002-05-02 Catherine Moore <clm@redhat.com>
14439
14440 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
14441
e0a2f705
KH
144422002-05-02 Kazu Hirata <kazu@hxi.com>
14443
b32d6163 14444 * combine.c: Fix comment typos.
e0a2f705
KH
14445 * expr.c: Likewise.
14446 * genautomata.c: Likewise.
14447 * stmt.c: Likewise.
14448 * tree.h: Likewise.
14449
38e23049
JM
144502002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
14451
14452 * doc/install.texi: State GNAT version requirements.
14453
40f4a97d
NC
144542002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
14455
14456 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
14457 of the frame pointer or arg pointer register which strict register
14458 checking is not enabled.
14459
0d6d6892
AH
144602002-05-02 Aldy Hernandez <aldyh@redhat.com>
14461
b5482208 14462 * gcc.dg/altivec-8.c: New.
0d6d6892 14463
b5482208
RH
14464 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
14465 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 14466
abaa8559
BK
144672002-05-01 Bruce Korb <bkorb@gnu.org>
14468
14469 * fixinc/check.tpl(set-writable): make sure the function exists first
14470 * fixinc/inclhack.def(alpha_assert): fix test_text
14471 * fixinc/tests/base/assert.h: add in missing result
14472
ecab2143
JL
144732002-05-01 Jeff Law <law@redhat.com>
14474
14475 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
14476 'T' constraint.
14477
ea619b46
JB
144782002-05-01 Joel Brobecker <brobecker@gnat.com>
14479
14480 * dbxout.c (dbxout_type): Emit size information for range types,
14481 as well, but only when using GDB extensions.
14482
c72931a6
RH
144832002-05-01 Richard Henderson <rth@redhat.com>
14484
14485 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
14486 target-independent gnu binutils date test.
14487
2150ad33
RH
144882002-05-01 Richard Henderson <rth@redhat.com>
14489
14490 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
14491 info before expunging the block.
14492
1651cc96
JJ
144932002-05-01 Jakub Jelinek <jakub@redhat.com>
14494
14495 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
14496 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
14497 -M -or -MM is in effect.
14498
8998d5bf
ZW
144992002-05-01 Zack Weinberg <zack@codesourcery.com>
14500
14501 * config.gcc: Correct test of --enable-obsolete. Obsolete all
14502 A29k configurations.
14503 * doc/install.texi: Update to match.
14504
a81eed10
FS
145052002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14506
14507 PR bootstrap/6514
14508 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
14509 for duplicates. Always loop over whole list.
14510
8d53318f
RK
14511Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14512
14513 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
14514
4109b118
JS
145152002-05-01 Joel Sherrill <joel@OARcorp.com>
14516
14517 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
14518 support routines.
14519
c4a9c570
JS
145202002-05-01 Joel Sherrill <joel@OARcorp.com>
14521
14522 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
14523
ea112fc4
DE
145242002-05-01 David Edelsohn <edelsohn@gnu.org>
14525
14526 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
14527 (nabs_nopower): Same.
14528 (floatdisf2): New pattern.
14529 (absdi2): Convert to define_insn_and_split.
14530 (nabsdi2): Same.
14531 (trunctfsf2): Same.
14532 (floatditf2): Same.
14533 (floatsitf2): Same.
14534 (fix_trunctfdi2): Same.
14535 (fix_trunctfsi2): Same.
14536
dda78254
JM
145372002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
14538
14539 * doc/install.texi: Update Texinfo version requirement
14540 documentation.
14541
26aeede4
JJ
145422002-05-01 Jakub Jelinek <jakub@redhat.com>
14543
14544 PR target/6512, PR target/5628
14545 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
14546 when memory is not aligned.
14547 (movdf_insn_v9only_vis): Likewise.
14548 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
14549 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
14550 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
14551
9b7bc465
AH
145522002-05-01 Aldy Hernandez <aldyh@redhat.com>
14553
8998d5bf 14554 * gcc.dg/altivec-7.c: New.
9b7bc465 14555
8998d5bf 14556 * config/rs6000/altivec.h: Cleanup.
9b7bc465 14557
08b57fb3
AH
145582002-04-30 Aldy Hernandez <aldyh@redhat.com>
14559
8998d5bf
ZW
14560 * doc/invoke.texi (Option Summary): Add -mvrsave=.
14561 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 14562
8998d5bf
ZW
14563 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
14564 (rs6000_altivec_vrsave_string): Same.
14565 (rs6000_override_options): Call rs6000_parse_vrsave_option.
14566 (rs6000_parse_vrsave_option): New.
14567 (rs6000_stack_info): Only generate vrsave instructions when
14568 TARGET_ALTIVEC_VRSAVE.
08b57fb3 14569
8998d5bf
ZW
14570 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
14571 (rs6000_altivec_vrsave_string): Define extern.
14572 (rs6000_altivec_vrsave): Same.
14573 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 14574
8e8c38cd
RH
145752002-04-30 Richard Henderson <rth@redhat.com>
14576
14577 PR opt/6516
14578 * toplev.c (rest_of_compilation): Don't run cross-jump before
14579 bb-reorder.
14580
4be9e9cb
TR
145812002-04-30 Tom Rix <trix@redhat.com>
14582
8998d5bf 14583 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
14584 check which_alternative.
14585
1eeeb6a4
KH
145862002-04-30 Kazu Hirata <kazu@hxi.com>
14587
14588 * cpplex.c: Fix comment formatting.
14589 * function.c: Likewise.
14590 * integrate.c: Likewise.
14591 * regrename.c: Likewise.
14592 * sibcall.c: Likewise.
14593 * simplify-rtx.c: Likewise.
14594 * tree-inline.c: Likewise.
14595
ed9d6ff9
JDA
145962002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
14597
14598 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
14599 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
14600 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
14601 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
14602 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
14603 * pa/x-ada: New file. Define ADA_CFLAGS.
14604
1f2641b6
HPN
146052002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
14606
14607 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
14608 from MMIX_LAST_REGISTER_FILE_REGNUM.
14609 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
14610 (struct machine_function): New member highest_saved_stack_register
14611 previously static variable in mmix.c.
14612 (MACHINE_DEPENDENT_REORG): Define.
14613 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
14614 (MMIX_OUTPUT_REGNO): New.
14615 (mmix_target_asm_function_prologue): Move calculation of last used
14616 saved-stack-register into...
14617 (mmix_machine_dependent_reorg): New function. Update to also handle
14618 !TARGET_ABI_GNU.
14619 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
14620 register names, simplify somewhat by new variable regno.
14621 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
14622 register.
14623 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
14624 emitting register names.
14625 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
14626 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
14627 Remove fixed FIXME.
14628 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
14629 Declare.
14630
14631 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
14632
73985940
RH
146332002-04-30 Richard Henderson <rth@redhat.com>
14634
14635 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
14636 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
14637 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
14638 emit_tfmode_cvt): New.
14639 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
14640 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
14641 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
14642 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
14643 * config/sparc/sparc-protos.h: Update.
14644
2b46bc67
JJ
146452002-04-30 Janis Johnson <janis187@us.ibm.com>
14646
14647 * install.texi (Final install): Add to the list of info to include
14648 in a report of a successful bootstrap, and add link to 3.1 list.
14649
3d34cd91
JH
14650Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
14651
14652 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
14653 (mode): Add vector modes
14654 (i387): Kill attribute.
14655 (unit): New attribute.
14656 (length_immediate): Grok new types.
14657 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
14658 (modrm): Use "unit".
14659 (memory): Handle MMX/SSE properly.
14660 (scheduling descriptions): Kill uses of fop1.
14661 (sse, mmx, fp patterns): Set type and mode properly.
14662
243e5500 14663Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
3193c415 14664
30482eb0
JL
14665 * pa.c (override_options): Default to PA8000 scheduling.
14666 * doc/invoke.texi (HP-PA options): Mention newly added 7300
14667 scheduling parameter.
14668
3193c415
JL
14669 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
14670 handling of double precision multiplies.
14671
14672 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
14673 fpdiv and fpsqrt instructions.
14674 (7200 & 7300 scheduling): Fix typo in handling of
14675 store-load and store-store penalties.
14676
c0a34cb7
GP
146772002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14678
14679 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
14680 mips. Add two missing commas.
14681
8bce0628
PC
146822002-04-30 Paolo Carlini <pcarlini@unitus.it>
14683
14684 * doc/contrib.texi (Contributors): Update Paolo Carlini's
14685 and Benjamin Kosnik's entries.
14686
84643cbf
DM
146872002-04-29 David S. Miller <davem@redhat.com>
14688
14689 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
14690 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
14691 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
14692 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
14693
da6886f6
FS
146942002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14695
14696 * combine.c (find_split_point): Use gen_int_mode.
14697
fae15c93
VM
146982002-04-29 Vladimir Makarov <vmakarov@redhat.com>
14699
14700 Merging code from dfa-branch:
8998d5bf 14701
fae15c93
VM
14702 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
14703
14704 * genautomata.c (output_reserv_sets): Fix typo.
14705
14706 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
14707
14708 * genautomata.c (output_reserv_sets): Remove
14709 next_cycle_output_flag.
14710
14711 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
14712
8998d5bf
ZW
14713 * sched-rgn.c (init_ready_list): Make the DFA code handle
14714 USE/CLOBBER insns in the same way as the traditional
14715 scheduler.
14716 (new_ready): Similarly..
fae15c93
VM
14717
14718 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
14719
14720 * haifa-sched.c (schedule_block): Change the DFA state only after
14721 issuing insn.
14722
14723 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
14724
14725 * pa.c (hppa_use_dfa_pipeline_interface): New function.
14726 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
14727 (override_options): Add PA7300 scheduling support.
14728 (pa_adjust_cost): Update various comments. Properly
14729 handle anti and output dependencies when using the
14730 DFA scheduler.
14731 (pa_issue_rate): Add PA7300 scheduling support.
14732 (pa_can_combine_p): Call extract_insn before calling
14733 constrain_operands (taken from mainline tree).
14734 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
14735 * pa.md (cpu attr): Add 7300. Rewrite pipeline
14736 descriptions using DFA descriptions. Add PA7300
14737 scheduling support.
14738
14739 2002-03-30 David S. Miller <davem@redhat.com>
14740
14741 Add UltraSPARC-III DFA scheduling support.
14742 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
14743 Update FP conditional move on register insn patterns to use it, as
14744 appropriate.
14745 (define_attr cpu): Add ultrasparc3.
14746 (define_attr us3load_type): New, update integer load patterns to
14747 set it, as appropriate.
14748 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
14749 (rest): Add UltraSPARC3 scheduling description.
14750 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
14751 (PROCESSOR_ULTRASPARC3): New.
14752 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
14753 ({ASM,CPP}_CPU_SPEC): Likewise.
14754 (REGISTER_MOVE_COST): Likewise.
14755 (RTX_COSTS): Likewise.
14756 * config/sparc/sparc.c (sparc_override_options,
14757 sparc_initialize_trampoline, sparc64_initialize_trampoline,
14758 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
14759 sparc_issue_rate): Likewise.
14760 * config/sparc/sol2.h: Likewise.
14761 * config/sparc/sol2-sld-64.h: Likewise.
14762 * config/sparc/linux64.h: Likewise.
8998d5bf 14763
fae15c93
VM
14764 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
14765
14766 * doc/md.texi: Add comments about usage the latency time for the
14767 different dependencies and about case when two or more conditions
14768 in different define_insn_reservations returns TRUE for an insn.
14769
14770 * doc/md.texi: Add reference for automaton based pipeline
14771 description.
8998d5bf 14772
fae15c93
VM
14773 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
14774
14775 * doc/passes.texi: Add missed information about genattrtab.
14776
14777 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
14778
14779 * genautomata.c (output_automata_list_transition_code): Check
14780 automata_list on NULL.
14781
14782 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
14783
14784 * genautomata.c (output_insn_code_cases,
14785 output_automata_list_min_issue_delay_code,
14786 output_automata_list_transition_code,
14787 output_automata_list_state_alts_code): Comment the functions.
14788
14789 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
14790
14791 * genautomata.c (automata_list_el_t): New typedef.
14792 (get_free_automata_list_el,free_automata_list_el,
14793 free_automata_list, automata_list_hash, automata_list_eq_p,
14794 initiate_automata_lists, automata_list_start, automata_list_add,
14795 automata_list_finish, finish_automata_lists,
14796 output_insn_code_cases, output_automata_list_min_issue_delay_code,
14797 output_automata_list_transition_code,
14798 output_automata_list_state_alts_code, add_automaton_state,
14799 form_important_insn_automata_lists): New functions and prototypes.
14800 (insn_reserv_decl): Add members important_automata_list and
14801 processed_p.
14802 (ainsn): Add members important_p.
14803 (automata_list_el): New structure.
14804 (first_free_automata_list_el, current_automata_list,
14805 automata_list_table): New global variables.
14806 (create_ainsns): Initiate member important_p.
14807 (output_internal_min_issue_delay_func): Generate the switch and
14808 call output_insn_code_cases.
14809 (output_internal_trans_func, output_internal_state_alts_func):
14810 Ditto.
14811 (generate): Call initiate_automata_lists.
14812 (automaton_states): New global variable.
14813 (expand_automata): Call form_important_insn_automata_lists.
14814 (write_automata): Call finish_automata_lists.
8998d5bf 14815
fae15c93
VM
14816 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
14817
14818 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 14819 cpu units in the sets belong the same automaton.
fae15c93
VM
14820
14821 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
14822 about that cpu units in the sets belong the same automaton.
14823
14824 * doc/md.texi: Ditto.
8998d5bf 14825
2799d721
VM
14826 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
14827 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 14828
fae15c93
VM
14829 * config/sh/sh.c (sh_use_dfa_interface): New function.
14830
14831 (sh_issue_rate): New Function.
14832 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
14833 TARGET_SCHED_ISSUE_RATE: define.
14834
14835 * config/sh/sh.md: Add DFA based pipeline description for SH4.
14836
8998d5bf
ZW
14837 (define_attr insn_class): New attribute used for DFA
14838 scheduling.
fae15c93
VM
14839 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
14840 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
14841 cmpeqdi_t): Likewise.
14842
14843 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 14844 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
14845 ex_group.
14846 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 14847
fae15c93
VM
14848 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
14849
14850 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
14851 break.
14852
14853 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
14854
14855 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
14856 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
14857 necessary.
14858 (output_dfa_start_func): Initiate new variable insn_codes_length,
14859 (write_automata): Output definition of the new variable.
8998d5bf 14860
fae15c93
VM
14861 2001-10-02 David S. Miller <davem@redhat.com>
14862
14863 * haifa-sched.c (advance_one_cycle): New function.
14864 (schedule_block): Use it.
14865 (queue_to_ready): Use it, and also make sure to advance the DFA
14866 state on all stall cycles, not just those where insn_queue links
14867 are found.
14868
14869 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
14870
14871 * haifa-sched.c (max_issue): Remove last_p argument. Only return
14872 non-zero if the highest-priority instruction could be scheduled.
14873 (choose_ready): Remove last argument from max_issue call.
14874
14875 2001-09-28 David S. Miller <davem@redhat.com>
14876
14877 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
14878 ultrasparc and 3 for other multi-issue sparcs.
14879
14880 2001-09-27 David S. Miller <davem@redhat.com>
14881
14882 * config/sparc/sparc.md (cycle_display): New pattern.
14883 * config/sparc/sparc.c (sparc_cycle_display): New.
14884 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
14885
14886 2001-09-25 David S. Miller <davem@redhat.com>
14887
14888 Convert all of Sparc scheduling to DFA
14889 * config/sparc/sparc.md: Kill all define_function_unit
14890 directives and replace with DFA equivalent.
14891 * config/sparc/sparc.c (ultrasparc_adjust_cost,
14892 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
14893 ultra_fpmode_conflict_exists, ultra_find_type,
14894 ultra_build_types_avail, ultra_flush_pipeline,
14895 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
14896 ultrasparc_variable_issue, ultrasparc_sched_init,
14897 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
14898 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
14899 ultra_cur_hist, ultra_cycles_elapsed): Kill.
14900 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
14901 ultrasparc_store_bypass_p): New.
14902 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
14903 Declare.
14904
14905 2001-09-24 David S. Miller <davem@redhat.com>
14906
14907 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
14908 ready->vec[foo] not ready[foo].
14909
14910 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
14911
14912 * doc/md.texi: Correct examples for define_insn_reservations
14913 `mult' and `div'.
14914
14915 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
14916
14917 * genautomata.c (create_automata): Print message about creation of
14918 each automaton.
14919 (generate): Remove printing meease about creation of
14920 automata.
14921
14922 2001-09-05 David S. Miller <davem@redhat.com>
14923
14924 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
14925 * config/sparc/linux64.h: Likewise.
14926
14927 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
14928
14929 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
14930 schedule_block, sched_init, sched_finish): Add missed calls of
14931 use_dfa_pipeline_interface.
14932
14933 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
14934 Ditto.
14935
14936 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 14937
fae15c93
VM
14938 2001-08-27 Richard Henderson <rth@redhat.com>
14939
14940 * genattr.c (main): Emit state_t even when not doing scheduling.
14941
14942 2001-08-27 Richard Henderson <rth@redhat.com>
14943
14944 * genautomata.c (expand_automata): Always create a description.
14945
14946 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
14947
8998d5bf 14948 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
14949 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
14950 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
14951 RTL constructions.
14952
14953 * genattr.c (main): New variable num_insn_reservations. Increase
14954 it if there is DEFINE_INSN_RESERVATION. Output automaton based
14955 pipeline hazard recognizer interface.
14956
14957 * genattrtab.h: New file.
14958
14959 * genattrtab.c: Include genattrtab.h.
14960 (attr_printf, check_attr_test, make_internal_attr,
14961 make_numeric_value): Move protypes into genattrtab.h. Define them
14962 as external.
14963 (num_dfa_decls): New global variable.
14964 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
14965 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
14966 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
14967 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
14968
14969 * genautomata.c: New file.
14970
14971 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
14972
8998d5bf 14973 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
14974 automaton pipeline interface.
14975 (haifa_insn_data): Add comments for members blockage and units.
14976
14977 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
14978 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
14979 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
14980 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
14981 TARGET_SCHED_DFA_POST_CYCLE_INSN,
14982 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
14983 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
14984 macros.
14985 (TARGET_SCHED): Use the new macros.
14986
14987 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
14988 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
14989 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
14990 dfa_bubble): New members in gcc_target.sched.
14991
8998d5bf 14992 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
14993 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
14994 (insn_queue): Redefine it as pointer to array.
14995 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
14996 INSN_QUEUE_SIZE.
14997 (max_insn_queue_index_macro_value): New variable.
14998 (curr_state, dfa_state_size, ready_try): New varaibles for
14999 automaton interface.
15000 (ready_element, ready_remove, max_issue): New function prototypes
15001 for automaton interface.
15002 (choose_ready): New function prototype.
15003 (insn_unit, blockage_range): Add comments.
15004 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
15005 FUNCTION_UNITS_SIZE == 0.
15006 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
15007 actual_hazard, potential_hazard): Add comments.
15008 (insn_cost): Use cost -1 as undefined value. Remove
15009 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
15010 pipeline interface.
15011 (ready_element, ready_remove): New functions for automaton
15012 interface.
15013 (schedule_insn): Add new code for automaton pipeline interface.
15014 (queue_to_ready): Add new code for automaton pipeline interface.
15015 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
15016 (debug_ready_list): Print newline when the queue is empty.
15017 (max_issue): New function for automaton pipeline interface.
15018 (choose_ready): New function.
15019 (schedule_block): Add new code for automaton pipeline interface.
15020 Print ready list before scheduling each insn.
15021 (sched_init): Add new code for automaton pipeline interface.
15022 Initiate insn cost by -1.
15023 (sched_finish): Free the current automaton state and finalize
15024 automaton pipeline interface.
15025
15026 * sched-rgn.c: Include target.h.
15027 (init_ready_list, new_ready, debug_dependencies): Add new code for
15028 automaton pipeline interface.
15029
15030 * sched-vis.c: Include target.h.
15031 (get_visual_tbl_length): Add code for automaton interface.
15032 (target_units, print_block_visualization): Add comments.
15033
8998d5bf 15034 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
15035 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
15036 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
15037 (getruntime.o, genautomata.o): New entries.
15038 (genattrtab.o): Add new dependency file genattrtab.h.
15039 (genattrtab): Add new dependencies. Link it with `libm.a'.
15040 (getruntime.o, hashtab.o): New entries for canadian cross.
15041
15042 * doc/md.texi: Description of automaton based model.
15043
15044 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
15045 Add comments.
15046 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
15047 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
15048 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
15049 TARGET_SCHED_DFA_POST_CYCLE_INSN,
15050 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
15051 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
15052 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
15053 hook descriptions.
15054 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
15055 MAX_DFA_ISSUE_RATE): New macro descriptions.
15056
15057 * doc/contrib.texi: Add dfa based scheduler contribution.
15058
15059 * doc/gcc.texi: Add more information about genattrtab.
15060
a2ff290c
RK
15061Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15062
15063 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
15064 adjust_address_nv call.
15065
f97903cc
JJ
150662002-04-29 Janis Johnson <janis187@us.ibm.com>
15067
15068 * doc/install.texi (Testing): Provide additional information, and
15069 a stronger encouragement, for running the testsuites.
15070
f41a6bf1
DD
150712002-04-29 DJ Delorie <dj@redhat.com>
15072
15073 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
15074 given in upper case.
15075
d8af0868
RO
150762002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15077
15078 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
15079 Solaris 2 <widec.h> if missing.
15080 * fixinc/fixincl.x: Regenerate.
15081 * fixinc/tests/base/widec.h: New file.
15082
1034407f
NC
150832002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
15084
15085 * toplev.c (f_options): Add "profile" switch so that
15086 -fno-profile can be used to disable -p.
15087
fbe5eb6d
BS
150882002-04-29 Bernd Schmidt <bernds@redhat.com>
15089
15090 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
15091 UV2DImode.
15092 * tree.c (build_common_tree_nodes_2): Likewise.
15093 * tree.h (enum tree_index): Likewise.
15094 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
15095
15096 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
15097 entries.
15098 (init_mmx_sse_builtins): Initialize SSE2 builtins.
15099 (ix86_expand_builtin): Add support for SSE2 builtins.
15100 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
15101 (VALID_SSE_REG_MODE): Use it.
15102 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
15103 (enum ix86_builtins): Add SSE2 builtins.
15104 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
15105 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
15106 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
15107 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
15108 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
15109 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
15110 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
15111 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
15112 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
15113 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
15114 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
15115 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
15116 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
15117 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
15118 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
15119 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
15120 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
15121 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
15122 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
15123 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
15124 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
15125 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
15126 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
15127 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
15128 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
15129 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
15130 lfence_insn): New patterns.
15131 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
15132 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
15133
44aefada
JH
15134Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
15135
15136 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
15137
d5482cdc
GP
151382002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15139
15140 * doc/contrib.texi (Contributors): Add Paolo Carlini and
15141 Janis Johnson.
15142 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
15143 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
15144 and CPU instead of cpu.
15145
2c4b77f3
JH
15146Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
15147
15148 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
15149 variables.
15150 (lang_independent_options): Add -fif-conversion, -fif-conversion2
15151 (rest_of_compilation): Do if conversion only when asked for.
15152 (parse_options_and_default_flags): Set new variables to 1 for -O1
15153 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
15154
3de72741
JH
15155Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
15156
15157 * i386.c (dbx64_register_map): Fix typo.
15158
8aa18a7d
JH
15159Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
15160
15161 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
15162 real_one_half, real_bb_freq_max): New static variables.
15163 (debug_profile_bbauxs): Kill.
15164 (process_note_predictions): Kill unused variable.
15165 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
15166 volatile double.
15167 (propagate_freq): Use REAL_ARITHMETICS.
15168 (estimate_bb_frequencies): Likevise; init new static variables.
15169 * Makefile.in (predict.o): Add dependency on real.h
15170
1bbad4c6
DM
151712002-04-28 David S. Miller <davem@redhat.com>
15172
15173 PR target/6500
15174 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
15175 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
15176 several {reads,writes} instead.
15177 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
15178 Define.
15179
3ef3f384
DM
151802002-04-27 David S. Miller <davem@redhat.com>
15181
15182 PR target/6494
15183 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
15184 of the stack bias.
15185
15186 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
15187 including signal.h and sys/ucontext.h, not needed.
15188
ec493bcb
HPN
151892002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
15190
15191 * varasm.c (output_constant_def): Correct test for not calling
15192 ENCODE_SECTION_INFO for INTEGER_CST.
15193
60284a59
NB
151942002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
15195
15196 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
15197 keep most cases as function eval_token.
15198 (eval_token): New function.
15199 (_cpp_parse_expr): Read token here for improved diagnostics.
15200 Don't use op_as_text. Detect bad ':' here.
15201 (reduce): Don't detect bad ':' here.
15202 (op_as_text): Remove.
15203 * cpphash.h (_cpp_test_assertion): Change prototype.
15204 * cpplib.c (_cpp_test_assertion): Change prototype.
15205
349a4b40
RH
152062002-04-28 Richard Henderson <rth@redhat.com>
15207
15208 PR c/5154
8998d5bf 15209 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
15210 (ggc_mark_rtx_children): New.
15211
7a03f82f
JJ
152122002-04-28 Jakub Jelinek <jakub@redhat.com>
15213
15214 PR target/6496
15215 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
15216 after call peepholes for UltraSPARC.
15217 (call + jump 64-bit peepholes): Remove.
15218
80103f96
FS
152192002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15220
15221 PR c/6497
15222 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
15223 result as temporary value.
15224
06990986
JJ
152252002-04-28 Jakub Jelinek <jakub@redhat.com>
15226
15227 PR c++/6396
15228 * toplev.c (rest_of_compilation): Only run regrename and copy
15229 propagation if optimizing.
15230
a20fd5ac
JJ
152312002-04-28 Jakub Jelinek <jakub@redhat.com>
15232
15233 PR optimization/6475
15234 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
15235 register of REGNO_DECL (i).
15236 * Makefile.in (reload1.o): Add $(TREE_H).
15237
87ed109f
NB
152382002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
15239
15240 * cppexp.c (lex): Update to use state.skip_eval.
15241 (struct op): Remove prio and flags members.
15242 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
15243 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
15244 (LEFT_ASSOC): New macro.
15245 (optab): New table of operator priorities and flags.
15246 (SHIFT): Update.
15247 (_cpp_parse_expr): Clean up logic. Return bool. Use a
15248 malloc-ed parser stack.
15249 (reduce): New; reduce the operator stack.
15250 (_cpp_expand_op_stack): Expand the operator stack as necessary.
15251 * cpphash.h (struct op): Predeclare.
15252 (struct cpp_reader): New members op_stack, op_limit.
15253 (struct lexer_state): New member skip_eval.
15254 (_cpp_parse_expr): Update.
15255 (_cpp_expand_op_stack): New.
15256 * cpplib.c (do_if): Update.
15257 * cppinit.c (cpp_create_reader): Create op stack.
15258 (cpp_destroy): And destroy it.
15259 * cpplib.h (CPP_LAST_CPP_OP): Correct.
15260 (TTYPE_TABLE): Correct.
15261
45806a3f
FS
152622002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15263
15264 PR c/6343
15265 * c-decl.c (duplicate_decls): Call merge_weak.
15266 * c-pragma.c (apply_pragma_weak): Warn about misuse.
15267 * output.h (merge_weak): Prototype merge_weak.
15268 * varasm.c (merge_weak): New function.
15269 (declare_weak): Make sure we don't give an error on VAR_DECLs.
15270 Mark RTL with SYMBOL_REF_WEAK.
15271
a6227154
KG
152722002-04-27 Kurt Garloff <garloff@suse.de>
15273
15274 * tree-inline.c (inlinable_function_p): Improve heuristics
15275 by using a smoother function to cut down allowable inlinable size.
15276 * param.def: Add parameters max-inline-insns-single,
15277 max-inline-slope, min-inline-insns that determine the exact
15278 shape of the above function.
15279 * param.h: Likewise.
15280
94a50397
RH
152812002-04-26 Richard Henderson <rth@redhat.com>
15282
15283 * c-parse.in (malloced_yyss, malloced_yyvs): New.
15284 (yyoverflow): Re-add. Set them.
15285 (free_parser_stacks): New.
15286 * c-common.h: Declare it.
15287 * c-lex.c (c_common_parse_file): Call it.
15288
9c0a0632
RH
152892002-04-26 Richard Henderson <rth@redhat.com>
15290
15291 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
15292 for fallthru search.
15293
b875d2ee
EC
152942002-04-26 Eric Christopher <echristo@redhat.com>
15295
15296 PR optimization/3700
15297 * config/mips/mips.c (mips_issue_rate): Define. New function.
15298 (TARGET_SCHED_ISSUE_RATE): Use.
15299
1db828df
DM
153002002-04-25 David S. Miller <davem@redhat.com>
15301
15302 PR target/6422
15303 * reorg.c (optimize_skip): Do not allow exception causing
15304 instructions to be considered for delay slots.
15305 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
15306 (relax_delay_slots): Do not try to consider exception causing
15307 instructions as redundant.
15308
ae5d234e
RH
153092002-04-26 Richard Henderson <rth@redhat.com>
15310
15311 PR c/5225
15312 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
15313
7d793e9b
MM
153142002-04-26 Mark Mitchell <mark@codesourcery.com>
15315
15316 PR bootstrap/6445
15317 * config/i386/i386.md (untyped_call): Return the value in a float
15318 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
15319 TARGET_80387.
15320
b13ab42c
AO
153212002-04-26 Alexandre Oliva <aoliva@redhat.com>
15322
15323 * tree.c (tree_int_cst_lt): Compare constants whose types differ
15324 in unsigned-ness correctly.
15325
5e56f909
JDA
153262002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
15327
15328 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
15329 portable runtime model.
15330
bde3c0c0
RH
153312002-04-26 Richard Henderson <rth@redhat.com>
15332
a6227154 15333 * c-parse.in (yyoverflow): Revert.
bde3c0c0 15334
5276df18
DE
153352002-04-26 David Edelsohn <edelsohn@gnu.org>
15336 Richard Henderson <rth@redhat.com>
15337
15338 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
15339 result as temporary value.
15340
b84a3874
RH
153412002-04-26 Richard Henderson <rth@redhat.com>
15342
15343 PR c/3581
15344 * c-common.c (fix_string_type): Split out of ...
15345 (combine_strings): ... here. Take a varray, not a tree list.
15346 (c_expand_builtin_printf): Use fix_string_type.
15347 * c-common.h: Update decls.
15348 * c-parse.in (string): Remove. Update all uses to use STRING
15349 instead, and not call combine_strings.
15350 (yylexstring): New.
15351 (_yylex): Use it.
15352 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
15353 (build_asm_stmt): Likewise.
15354 * objc/objc-act.c (my_build_string): Use fix_string_type.
15355 (build_objc_string_object): Build varray for combine_strings.
15356
d8ae8cd4
BT
153572002-04-26 Bo Thorsen <bo@suse.co.uk>
15358
15359 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
15360 x86-64.
15361
f8b954fc
NB
153622002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
15363
15364 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
15365 (HAVE_NO_R_OPERAND): Remove.
15366 (HAVE_VALUE): Remove.
15367 (op_to_prio): Update.
15368 (UNARY): Don't alter flags.
15369 (_cpp_parse_expr): want_value used to indicate whether
15370 a number or unary operator is expected next. Distinguish
15371 unary and binary +/-.
15372 (op_as_text): Update for unary operators.
15373
6052bef0
RH
153742002-04-25 Richard Henderson <rth@redhat.com>
15375
15376 PR c/2161
15377 * c-parse.in (yyoverflow): New.
15378
5c5b2283
RH
153792002-04-25 Richard Henderson <rth@redhat.com>
15380
15381 PR c/2098
15382 * c-common.c (shorten_compare): Simplfy conditions leading to
15383 the generation of a warning.
15384
28ce94d4
RH
153852002-04-25 Richard Henderson <rth@redhat.com>
15386
15387 PR c/2035
15388 * expmed.c (extract_bit_field): Fall through to generic code rather
15389 than aborting on subreg special case.
15390
6bfd0c63
DM
153912002-04-25 David S. Miller <davem@redhat.com>
15392
15393 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
15394 for DECL being NULL.
15395
7a430e3b
SC
153962002-04-25 Steve Christiansen <smc@us.ibm.com>
15397
15398 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
15399
45c42d7d
EB
154002002-04-25 Eric Botcazou <ebotcazou@multimania.com>
15401
15402 * c-decl.c (grokdeclarator): Remove outdated ??? note
15403 on invalid declaration of flexible array members.
15404
eb7715a4
RH
154052002-04-25 Richard Henderson <rth@redhat.com>
15406
15407 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
15408
cf5ee720
UW
154092002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
15410
15411 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
15412 needed by the compiler, even if they are used as global regs.
15413
d604bca3
MH
154142002-04-25 Matt Hiller <hiller@redhat.com>
15415
15416 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
15417 functions.
15418 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
15419 of the corresponding functions.
15420 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
15421 New prototypes.
b875d2ee 15422
d604bca3
MH
154232002-04-25 Matt Hiller <hiller@redhat.com>
15424
15425 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
15426
15427 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
15428 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
15429 registers, adjust comment accordingly.
15430 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
15431 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
15432 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
15433 for coprocessor registers.
15434 (ADDITIONAL_REGISTER_NAMES): Include
15435 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 15436
d604bca3
MH
15437 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
15438 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
15439 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
15440 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
15441 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
15442
15443 (mips_char_to_class): Adjust comment to include coprocessor
15444 constraint letters.
15445
15446 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
15447 New functions.
15448 (mips_reg_names, mips_regno_to_class): Include coprocessor
15449 information.
15450 (mips_sw_reg_names): Ditto, make non-static.
15451 (mips_move_1word): Handle moves to and from coprocessor registers.
15452 (mips_move_2words): Handle moves to and from coprocessor
15453 registers.
15454 (mips_class_max_nregs, mips_register_move_cost): Handle
15455 coprocessor register classes.
15456 (override_options): Initialize mips_char_to_class and
15457 mips_hard_regno_mode_ok properly for coprocessor registers.
15458
15459 * config/mips/mips.md (movdi_internal, movdi_internal2,
15460 movsi_internal1, movsi_internal2): Add constraint-sets for
15461 coprocessor registers.
15462 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
15463 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
15464 isn't mips.
15465 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
15466 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
15467 isn't mips.
15468 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
15469 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
15470 isn't mips.
15471 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
15472 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
15473 isn't mips.
b875d2ee 15474
d604bca3
MH
15475 * doc/tm.texi: Document feature.
15476
b9a26d09
NB
154772002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
15478
15479 * integrate.c (function_attribute_inlinable_p): Simplify.
15480 Check the table pointer is not NULL.
15481
ab5973b7
SB
154822002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
15483
15484 * doc/c-tree.texi: Fix typo in introduction.
15485
ff45c01e
NB
154862002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
15487
15488 * c-common.h (c_common_parse_file): Update.
15489 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
15490 * c-lex.c (YYDEBUG): Get from c-lex.h.
15491 (c_common_parse_file): Update.
15492 * c-lex.h (YYDEBUG, yydebug): New.
15493 * c-parse.in (YYDEBUG): Get from c-lex.h.
15494 (c_set_yydebug): Remove.
15495 * c-tree.h (c_set_yydebug): Remove.
15496 * langhooks-def.h (lhd_do_nothing_i): New.
15497 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
15498 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
15499 * langhooks.c (lhd_do_nothing_i): New.
15500 (lhd_set_yydebug): Remove.
15501 * langhooks.h (struct lang_hooks): Update.
15502 * toplev.c (set_yydebug): New.
15503 (compile_file): Update call to parse_file hook.
15504 (decode_d_option): Update.
15505objc:
15506 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
15507
fcae219a
R
15508Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
15509
15510 * loop.c (load_mems): Don't change the interface of called functions.
15511
15512 * calls.c (expand_call): Take current_function_pretend_args_size
15513 into account when setting argblock for sibcalls.
15514
d0fea45a
MH
155152002-04-24 Matt Hiller <hiller@redhat.com>
15516
15517 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
15518 * c-lex.c: Ditto.
15519
15520 * cpplex.c (skip_line_comment): Process comment one multibyte
15521 character at a time rather than one char at a time, if
15522 appropriate.
15523 (parse_string): Process string one multibyte character at a time
15524 rather than one char at a time, if appropriate.
15525 * c-lex.c (lex_string): Lex and copy multibyte strings
15526 appropriately.
15527 * cpplib.h (cppchar_t): Change to unsigned.
15528
2d1b5436
RH
155292002-04-24 Richard Henderson <rth@redhat.com>
15530
15531 PR c/3467
15532 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
15533 for c99.
15534
5e039e6b
R
15535Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
15536
15537 * sh.c (sh_va_arg): If argument was passed by reference,
15538 dereference the pointer.
309d8365
R
15539
15540 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
15541
15542 * sh.md (divsi3_i4_media): Use match_operand for input values
15543 rather than hard registers.
15544 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
15545 unnecessarily through hard registers. Keep copies of pseudo
15546 registers outside of the libcall sequence.
15547
15548 * sh.md (casesi_shift_media): Add modes.
b700634a
R
15549
15550 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
15551 values in memory.
15552
349ae713
NB
155532002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
15554
15555 * attribs.c (c_common_attribute_table): Move table and handlers
15556 to c-common.c.
15557 (format_attribute_table, lang_attribute_table,
15558 lang_attribute_common): Remove.
15559 (init_attributes): Replace NULL pointers with pointers to the
15560 empty table.
15561 (handle_packed_attribute, handle_nocommon_attribute,
15562 handle_common_attribute, handle_noreturn_attribute,
15563 handle_noinline_attribute, handle_always_inline_attribute,
15564 handle_used_attribute, handle_unused_attribute,
15565 handle_const_attribute, handle_transparent_union_attribute,
15566 handle_constructor_attribute, handle_destructor_attribute,
15567 handle_mode_attribute, handle_section_attribute,
15568 handle_aligned_attribute, handle_weak_attribute,
15569 handle_alias_attribute, handle_visibility_attribute,
15570 handle_no_instrument_function_attribute, handle_malloc_attribute,
15571 handle_no_limit_stack_attribute, handle_pure_attribute,
15572 handle_deprecated_attribute, handle_vector_size_attribute,
15573 vector_size_helper): Move to c-common.c.
15574 * c-common.c (c_common_attribute_table,
15575 handle_packed_attribute, handle_nocommon_attribute,
15576 handle_common_attribute, handle_noreturn_attribute,
15577 handle_noinline_attribute, handle_always_inline_attribute,
15578 handle_used_attribute, handle_unused_attribute,
15579 handle_const_attribute, handle_transparent_union_attribute,
15580 handle_constructor_attribute, handle_destructor_attribute,
15581 handle_mode_attribute, handle_section_attribute,
15582 handle_aligned_attribute, handle_weak_attribute,
15583 handle_alias_attribute, handle_visibility_attribute,
15584 handle_no_instrument_function_attribute, handle_malloc_attribute,
15585 handle_no_limit_stack_attribute, handle_pure_attribute,
15586 handle_deprecated_attribute, handle_vector_size_attribute,
15587 vector_size_helper): Move from attribs.c.
15588 * c-common.h (c_common_attribute_table,
15589 c_common_format_attribute_table): New.
15590 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
15591 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
15592 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
15593 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
15594 (LANG_HOOKS_INITIALIZER): Update.
15595 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
15596 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
15597 * target.h: Update comment.
15598 * tree.c (default_target_attribute_table): Remove.
15599 * tree.h (default_target_attribute_table, format_attribute_table,
15600 lang_attribute_table, lang_attribute_common): Remove.
15601objc:
15602 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
15603 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
15604
84f0ace0
JM
156052002-04-24 Jason Merrill <jason@redhat.com>
15606
15607 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
15608 * dwarf2out.c (dwarf_attr_name): Support it.
15609 (gen_array_type_die): Emit it.
15610 (lookup_type_die): No special handling for VECTOR_TYPE.
15611 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
15612
120eaf28
RH
156132002-04-24 Richard Henderson <rth@redhat.com>
15614
15615 * config/mips/mips.md (movdi_usd): Renumber.
15616
e732178c
DM
156172002-04-24 David S. Miller <davem@redhat.com>
15618
15619 PR target/6420
15620 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
15621 32-bit Sparc and current_function_returns_struct is true.
15622
e879eb2f
JH
15623Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
15624
15625 * loop.c (canonicalize_condition): Use gen_int_mode.
15626
4287a893
AH
156272002-04-24 Aldy Hernandez <aldyh@redhat.com>
15628
15629 * config/rs6000/altivec.h: Cleanup file. Add non individual
15630 variants.
15631 (vec_vaddubm): New.
15632 (vec_vadduhm): New.
15633 (vec_vadduwm): New.
15634 (vec_vaddfp): New.
15635 (vec_vaddcuw): New.
15636 (vec_vaddubs): New.
15637 (vec_vaddsbs): New.
15638 (vec_vadduhs): New.
15639 (vec_vadduws): New.
15640 (vec_vaddsws): New.
15641 (vec_vand): New.
15642 (vec_vandc): New.
15643 (vec_vavgub): New.
15644 (vec_vavgsb): New.
15645 (vec_vavguh): New.
15646 (vec_vavgsh): New.
15647 (vec_vavguw): New.
15648 (vec_vavgsw): New.
15649 (vec_vrfip): New.
15650 (vec_vcmpbfp): New.
15651 (vec_vcmpequb): New.
15652 (vec_vcmpequh): New.
15653 (vec_vcmpequw): New.
15654 (vec_vcmpeqfp): New.
15655 (vec_vcmpgefp): New.
15656 (vec_vcmpgtub): New.
15657 (vec_vcmpgtsb): New.
15658 (vec_vcmpgtuh): New.
15659 (vec_vcmpgtsh): New.
15660 (vec_vcmpgtuw): New.
15661 (vec_vcmpgtsw): New.
15662 (vec_vcmpgtfp): New.
15663 (vec_vcmpgefp): New.
15664 (vec_vcfux): New.
15665 (vec_vcfsx): New.
15666 (vec_vctsxs): New.
15667 (vec_vctuxs): New.
15668 (vec_vexptefp): New.
15669 (vec_vrfim): New.
15670 (vec_lvx): New.
15671 (vec_lvebx): New.
15672 (vec_lvehx): New.
15673 (vec_lde): Add vector float variant.
15674 (vec_lvewx): New.
15675 (vec_lvxl): New.
15676 (vec_vlogefp): New.
15677 (vec_vmaddfp): New.
15678 (vec_vmhaddshs): New.
15679 (vec_vmaxub): New.
15680 (vec_vmaxsb): New.
15681 (vec_vmaxuh): New.
15682 (vec_vmaxsh): New.
15683 (vec_vmaxuw): New.
15684 (vec_vmaxsw): New.
15685 (vec_vmaxsw): New.
15686 (vec_vmaxfp): New.
15687 (vec_vmrghb): New.
15688 (vec_vmrghh): New.
15689 (vec_vmrghw): New.
15690 (vec_vmrglb): New.
15691 (vec_vmrglh): New.
15692 (vec_vmrglw): New.
15693 (vec_vminub): New.
15694 (vec_vminsb): New.
15695 (vec_vminuh): New.
15696 (vec_vminsh): New.
15697 (vec_vminuw): New.
15698 (vec_vminsw): New.
15699 (vec_vminfp): New.
15700 (vec_vmladduhm): New.
15701 (vec_vmhraddshs): New.
15702 (vec_msumubm): New.
15703 (vec_vmsummbm): New.
15704 (vec_vmsumuhm): New.
15705 (vec_vmsumshm): New.
15706 (vec_vmsumuhs): New.
15707 (vec_vmsumshs): New.
15708 (vec_vmuleub): New.
15709 (vec_vmulesb): New.
15710 (vec_vmuleuh): New.
15711 (vec_vmulesh): New.
15712 (vec_vmuloub): New.
15713 (vec_mulosb): New.
15714 (vec_vmulouh): New.
15715 (vec_vmulosh): New.
15716 (vec_vnmsubfp): New.
15717 (vec_vnor): New.
15718 (vec_vor): New.
15719 (vec_vpkuhum): New.
15720 (vec_vpkuwum): New.
15721 (vec_vpkpx): New.
15722 (vec_vpkuhus): New.
15723 (vec_vpkshss): New.
15724 (vec_vpkuwus): New.
15725 (vec_vpkswss): New.
15726 (vec_vpkshus): New.
15727 (vec_vpkswus): New.
15728 (vec_vperm): New.
15729 (vec_vrefp): New.
15730 (vec_vrlb): New.
15731 (vec_vrlh): New.
15732 (vec_vrlw): New.
15733 (vec_vrfin): New.
15734 (vec_vrsqrtefp): New.
15735 (vec_vsel): New.
15736 (vec_vslb): New.
15737 (vec_vslh): New.
15738 (vec_vslw): New.
15739 (vec_vsldoi): New.
15740 (vec_vsl): New.
15741 (vec_vslo): New.
15742 (vec_vspltb): New.
15743 (vec_vsplth): New.
15744 (vec_vspltw): New.
15745 (vec_vspltisb): New.
15746 (vec_vspltish): New.
15747 (vec_vspltisw): New.
15748 (vec_vsrb): New.
15749 (vec_vsrh): New.
15750 (vec_vsrw): New.
15751 (vec_vsrab): New.
15752 (vec_vsrah): New.
15753 (vec_vsraw): New.
15754 (vec_vsr): New.
15755 (vec_vsro): New.
15756 (vec_stvx): New.
15757 (vec_stvebx): New.
15758 (vec_stvehx): New.
15759 (vec_stvewx): New.
15760 (vec_stvxl): New.
15761 (vec_vsububm): New.
15762 (vec_vsubuhm): New.
15763 (vec_vsubuwm): New.
15764 (vec_vsubfp): New.
15765 (vec_vsubcuw): New.
15766 (vec_vsububs): New.
15767 (vec_vsubsbs): New.
15768 (vec_vsubuhs): New.
15769 (vec_vsubshs): New.
15770 (vec_vsubuws): New.
15771 (vec_vsubsws): New.
15772 (vec_vsum4ubs): New.
15773 (vec_vsum4sbs): New.
15774 (vec_vsum4shs): New.
15775 (vec_vsum2sws): New.
15776 (vec_vsumsws): New.
15777 (vec_vrfiz): New.
15778 (vec_vupkhsb): New.
15779 (vec_vupkhpx): New.
15780 (vec_vupkhsh): New.
15781 (vec_vupklsb): New.
15782 (vec_vupklpx): New.
15783 (vec_vupklsh): New.
15784 (vec_vxor): New.
15785
cff27795
EB
157862002-04-23 Eric Botcazou <ebotcazou@multimania.com>
15787
15788 PR c/5430
15789 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
15790 added literals from substracted literals.
15791 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
15792 (fold) [associate]: Preserve MINUS_EXPR if needed.
15793
952bca84
ZW
157942002-04-23 Zack Weinberg <zack@codesourcery.com>
15795
15796 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
15797 are obsoleted.
15798
50cb2154
TT
157992002-04-23 Tom Tromey <tromey@redhat.com>
15800
15801 * gcc.c: Added --resource. For PR java/6314.
15802
271f61fb
DB
158032002-04-23 David O'Brien <obrien@FreeBSD.org>
15804
9566d1e9 15805 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
15806 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
15807 these libraries.
15808
bdabbc80
DB
158092002-04-23 David O'Brien <obrien@FreeBSD.org>
15810
15811 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
15812
74411039
JH
15813Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
15814
15815 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
15816 workaround.
15817 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
15818 (ix86_expand_clrstr): Fix typo.
15819 * loop.c (gen_load_of_final_value): New.
15820 (loop_givs_rescan, strength_reduce, check_dbra_loop):
15821 Use it.
15822
1a887f86
RS
158232002-04-23 Roger Sayle <roger@eyesopen.com>
15824
15825 * builtins.c (builtin_memset_gen_str): New function.
15826 (expand_builtin_memset): Optimize the case of constant length, but
15827 unknown value.
15828
8d3441e0
AH
158292002-04-23 Aldy Hernandez <aldyh@redhat.com>
15830
cff27795
EB
15831 * config/rs6000/altivec.h (vec_step): Remove extraneous
15832 parentheses.
15833 (vec_ctu): Cast return.
8d3441e0 15834
f6f315fe
AM
158352002-04-23 Alan Modra <amodra@bigpond.net.au>
15836
15837 PR target/6413
15838 * function.h: (struct function): Add profile_label_no field.
15839 (current_function_profile_label_no): Define.
15840 * function.c: (profile_label_no): New static var.
15841 (expand_function_start): Increment it, and copy to
15842 current_function_profile_label_no.
15843 * output.h (profile_label_no): Delete.
15844 * final.c (profile_label_no): Delete.
15845 (profile_function): Use current_function_profile_label_no.
15846 (final_end_function): Don't increment profile_label_no here.
15847 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
15848 profile_label_no with current_function_profile_label_no.
15849 * config/pa/pa.c (current_function_number): Delete.
15850 (pa_output_function_prologue): Don't output profile label here.
15851 (hppa_profile_hook): Use label_no param rather than
15852 current_function_number.
15853 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
15854 * config/pa/pa.h: .. here.
15855 (FUNCTION_PROFILER): Output profile label here.
15856
d239cdc0
EC
158572002-04-22 Eric Christopher <echristo@redhat.com>
15858
15859 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
15860 patch of 2002-04-09 due to binutils issues.
15861 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
15862
04428ad4
AH
158632002-04-22 Aldy Hernandez <aldyh@redhat.com>
15864
cff27795
EB
15865 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
15866 constraint to 'o' for m=r and r=m alternatives.
15867 ("*movv8hi_internal1"): Same.
15868 ("*movv16qi_internal1"): Same.
15869 ("*movv4sf_internal1"): Same.
04428ad4 15870
2adc7f12
JJ
158712002-04-22 Janis Johnson <janis187@us.ibm.com>
15872
15873 * rtl.h (RTX_FLAG): New macro.
15874 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
15875 * final.c (alter_subreg): Use macro to access rtx flag.
15876 * integrate.c (copy_rtx_and_substitute): Use new access macro.
15877 * print-rtl.c (print_rtx): Use new access macro.
15878
15879 * cse.c (insert): Check rtx code before accessing flag.
15880
15881 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
15882 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
15883 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
15884 convert_const_symbol_ref, make_canonical, make_alternative_compare,
15885 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
15886 simplify_test_exp, optimize_attrs, simplify_by_exploding,
15887 find_and_mark_used_attributes, unmark_used_attributes,
15888 add_values_to_cover, simplify_with_current_value,
15889 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
15890 copy_rtx_unchanging, main): Use new access macros.
15891
b7c89afe
TR
158922002-04-22 Tom Rix <trix@redhat.com>
15893
15894 * expmed.c (init_expmed): Generate shifted constant once.
15895
9340544b
ZW
158962002-04-22 Zack Weinberg <zack@codesourcery.com>
15897
15898 * c-lex.c (lex_charconst): Call convert to get constant in
15899 proper type; don't just smash the type field.
15900 Fixes PR c/6300.
15901
15902 * config.gcc: Add list of obsolete configurations. Disallow
15903 building these without --enable-obsolete.
15904 * doc/install.texi: Document --enable-obsolete and obsoletion
15905 policy. Mention obsoletion of individual targets in
15906 appropriate places.
15907
f942d7a5
RH
159082002-04-22 Richard Henderson <rth@redhat.com>
15909
15910 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
15911
159122002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
15913
15914 PR f/6138.
15915 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
15916 (walk_fixup_memory_subreg): Likewise.
15917 (fixup_var_refs_insn): Adjust accordingly.
15918 (fixup_var_refs_1): Likewise.
15919
232b0b45
UW
159202002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
15921
15922 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
15923 LIBPATH_ARCH64_SPEC): Define.
15924 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
15925 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
15926 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
15927 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
15928
1b61552b
JS
159292002-04-22 Joel Sherrill <joel@OARcorp.com>
15930
15931 * gthr-rtems.h: Correct prototypes to remove warnings.
15932
0fe854a7
RH
159332002-04-22 Richard Henderson <rth@redhat.com>
15934
15935 PR c/6344
15936 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
15937
15938 * gcse.c (free_insn_expr_list_list): New.
15939 (clear_modify_mem_tables): Use it. Fix bit set usage.
15940 (canon_list_insert): Use EXPR_LISTs for expressions.
15941 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
15942
af0d16cd
NB
159432002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
15944
15945 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
15946 file change and include code to _cpp_pop_buffer.
15947 * cpphash.h (struct pending_option): Predeclare.
15948 (struct cpp_reader): New member next_include_file.
15949 (_cpp_pop_file_buffer): Update.
15950 (_cpp_push_next_buffer): Update, rename.
15951 * cppinit.c (cpp_destroy): Free include chain and pending here.
15952 (cpp_finish_options): Simplify.
15953 (_cpp_push_next_buffer): Rename and clean up.
15954 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
15955 Clarify.
15956 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
15957
0d918572
AH
159582002-04-22 Aldy Hernandez <aldyh@redhat.com>
15959
0fe854a7
RH
15960 * config/rs6000/altivec.h (vec_xor): Add variant for both args
15961 being vector signed int.
15962 (vec_andc): Same.
15963 (vec_xor): Add variant for both args being vector signed char.
15964 Remove redundant variant.
15965 (vec_andc): Same.
0d918572 15966
77e2c290
DM
159672002-04-21 David S. Miller <davem@redhat.com>
15968
15969 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
15970 compare mode in output RTL.
15971
ee2ca2a2
DE
159722002-04-22 David Edelsohn <edelsohn@gnu.org>
15973
15974 * config/rs6000/rs6000.c (rs6000_override_options): Correct
15975 style and formatting of previous patch.
15976
894bdff6
AM
159772002-04-22 Alan Modra <amodra@bigpond.net.au>
15978
15979 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
15980 flag_pic for ABI_AIX.
15981
562a5c27
NB
159822002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
15983
15984 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
15985 * cppfiles.c (read_include_file): Similarly.
15986 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
15987 uxstrdup ustrchr, ufputs): Similarly.
15988 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
15989 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
15990 cpp_ideq, parse_identifier, parse_number): Similarly.
15991 * cpplib.c (struct directive, dequote_string, D, run_directive,
15992 cpp_push_buffer): Similarly.
15993 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
15994 _cpp_create_definition, check_trad_stringification,
15995 cpp_macro_definition): Similarly.
15996
9ac3b1be
NB
159972002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
15998
15999 * cppmacro.c (funlike_invocation_p): Don't step back
16000 over CPP_EOF.
16001
9dda4cc8
DE
160022002-04-21 David Edelsohn <edelsohn@gnu.org>
16003
16004 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
16005 labelno.
16006
20764052
JM
160072002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
16008
16009 * doc/invoke.texi: Remove Chill references.
16010 * doc/gcc.texi: Update last modified date.
16011
26b29884
KH
160122002-04-20 Kazu Hirata <kazu@hxi.com>
16013
16014 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
16015 push and pop. Replace add.l with add.w.
16016
59184677
TM
160172002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
16018
16019 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
16020 multiply instructions for H8/300H case.
16021
b1113e0a
TM
160222002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
16023
16024 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
16025 Bum three instructions from each routine.
16026
b03e38e1
NB
160272002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
16028
16029 * Makefile.in: Update.
16030 * decl.c (push_c_function_context, pop_c_function_context,
16031 mark_c_function_context): Rename for consistency.
16032 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
16033 * c-tree.h (push_c_function_context, pop_c_function_context,
16034 mark_c_function_context): Rename for consistency.
16035 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
16036 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
16037 * function.c (init_lang_status, save_lang_status,
16038 restore_lang_status, mark_lang_status, free_lang_status):
16039 Move to langhooks.h.
16040 (push_function_context_to, pop_function_context_from,
16041 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
16042 Update.
16043 * function.h (init_lang_status, save_lang_status,
16044 restore_lang_status, mark_lang_status, free_lang_status):
16045 Move to langhooks.h.
16046 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
16047 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
16048 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
16049 LANG_HOOKS_FUNCTION_INITIALIZER): New.
16050 (LANG_HOOKS_INITIALIZER): Update.
16051 (lhd_do_nothing_f): New.
16052 * langhooks.h (struct lang_hooks_for_functions): New.
16053 (struct lang_hooks): New hooks.
16054 * langhooks.c (lhd_do_nothing_f): New.
16055objc:
16056 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
16057 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
16058
db430d26
DM
160592002-04-19 David S. Miller <davem@redhat.com>
16060
16061 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
16062 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
16063
0f2a3457
JJ
160642002-04-19 Jakub Jelinek <jakub@redhat.com>
16065
16066 PR optimization/3756
16067 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
16068 x = ((int) y < 0) ? cst1 : cst2.
16069
ce5e43d0
JJ
160702002-04-19 Jakub Jelinek <jakub@redhat.com>
16071
16072 PR c/6358
16073 * function.c: Reapply patch for c/6358.
16074 (expand_function_end): Copy decl_rtl's mode, not
16075 current_function_return_rtx mode.
16076
160772002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
16078
16079 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
16080 targets.
16081
40e7f8ea
TT
160822002-04-19 Tom Tromey <tromey@redhat.com>
16083
16084 * doc/install.texi (Specific): Update status of Solaris 2.8.
16085 For PR libgcj/6158.
16086
62a12b27
AS
160872002-04-19 Andreas Schwab <schwab@suse.de>
16088
16089 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
16090 (PUT_REAL): Restore old definition.
16091
1405141b
DN
160922002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
16093 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16094
16095 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
16096 binutils 2.11.2 and higher generate smaller binaries than Sun's
16097 native tools.
16098
303a3927
MM
160992002-04-19 Mark Mitchell <mark@codesourcery.com>
16100
16101 PR c++/6352
16102 * toplev.c (rest_of_compilation): Do not defer functions for which
16103 TREE_SYMBOL_REFERENCED has already been set.
16104
de80110b
JH
16105Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
16106
16107 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
16108 alternative.
16109
ab393bf1
NB
161102002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
16111
16112 * builtins.c: Include langhooks.h.
16113 (lang_type_promotes_to): Remove.
16114 (expand_builtin_va_arg): Use new hook.
16115 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
16116 (simple_type_promotes_to): Move to c-typeck.c.
16117 * c-common.h (simple_type_promotes_to): Remove.
16118 * c-decl.c (duplicate_decls, grokdeclarator): Update.
16119 * c-format.c: Include langhooks.h.
16120 (check_format_types): Update.
16121 * c-tree.h (c_type_promotes_to): New.
16122 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
16123 (type_lists_compatible_p): Update.
16124 * langhooks-def.h (lhd_type_promotes_to): New.
16125 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
16126 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
16127 * langhooks.c (lhd_type_promotes_to): New.
16128 * langhooks.h (struct lang_hooks_for_types): New hook.
16129 * tree.h (lang_type_promotes_to): Remove.
16130objc:
16131 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
16132
0cd3301b
RH
161332002-04-18 Richard Henderson <rth@redhat.com>
16134
58533fa2 16135 * function.c: Revert patch for c/6358.
0cd3301b
RH
16136
161372002-04-18 Richard Henderson <rth@redhat.com>
16138
58533fa2
RH
16139 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
16140 blocks. Handle multiple references to the TRAP block. Handle
16141 non-adjacent THEN and OTHER blocks.
0cd3301b 16142
58533fa2
RH
161432002-04-18 Richard Henderson <rth@redhat.com>
16144
16145 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
16146 crash with no type for by-mode libcalls.
16147
16148 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 16149
57174693
BW
161502002-04-18 Bob Wilson <bob.wilson@acm.org>
16151
16152 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
16153 __xtensa_nonlocal_goto): Use a syscall instructions to flush
16154 the register windows.
16155
46468cd9
ZW
161562002-04-18 Zack Weinberg <zack@codesourcery.com>
16157
16158 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
16159 appropriate. Document need for extended precision even when
16160 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
16161 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
16162 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
16163 instead of relying on later syntax error when REAL_WIDTH > 5.
16164 * real.c: Define NE based only on whether or not we have a
16165 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
16166 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
16167 define GET_REAL and PUT_REAL as simple memcpy operations; no
16168 need to byteswap or round.
16169 Use #error instead of #ifdef-ing out the entire file, for
16170 prompt error detection.
16171
16172 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
16173
2f82dbf8
DM
161742002-04-18 David S. Miller <davem@redhat.com>
16175
16176 * config/sparc/sparc.h (BRANCH_COST): Define.
16177
16178 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
16179 does it.
16180
566576e7
HPN
161812002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
16182
16183 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
16184 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
16185 propagate_block calls after relaxation loop using new variable
16186 stabilized_prop_flags.
16187
51dcde6f
RH
161882002-04-18 Richard Henderson <rth@redhat.com>
16189
16190 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
16191 (ia64_va_arg): Expect variable sized types by reference.
16192 * config/ia64/ia64-protos.h: Update.
46468cd9 16193 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
16194 ia64_function_arg_pass_by_reference.
16195
26406018
RH
161962002-04-18 Richard Henderson <rth@redhat.com>
16197
46468cd9
ZW
16198 * ifcvt.c: Include except.h.
16199 (block_has_only_trap): Break out from find_cond_trap.
16200 (find_cond_trap): Use it. Always delete the trap block.
16201 (merge_if_block): Allow then block null. Be less simplistic about
16202 what insns can end a block.
16203 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 16204
26406018
RH
16205 * config/ia64/ia64.md (trap, conditional_trap): New.
16206
a3acf46d
JJ
162072002-04-18 Jakub Jelinek <jakub@redhat.com>
16208
16209 PR c/6358
16210 * function.c (assign_parms): Assign hard current_function_return_rtx
16211 register here...
16212 (expand_function_end): ...not here.
16213
7a228918
NB
162142002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
16215
16216 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
16217 * c-tree.h (c_incomplete_type_error): New.
16218 * c-typeck.c (require_complete_type, build_component_ref): Update.
16219 (incomplete_type_error): Rename.
16220 * langhooks-def.h (lhd_incomplete_type_error): New.
16221 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
16222 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
16223 * langhooks.c (lhd_incomplete_type_error): New.
16224 * langhooks.h (struct lang_hooks_for_types): New hook.
16225 * tree.c (size_in_bytes): Use new hook.
16226 * tree.h (incomplete_type_error): Remove.
16227objc:
16228 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
16229
f18664c1
ZW
162302002-04-18 Zack Weinberg <zack@codesourcery.com>
16231
16232 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
16233 TARGET_FLOAT_FORMAT blocks.
16234
8ecab453
GP
162352002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16236
16237 * doc/install.texi (Downloading the source): Do not mention Chill
16238 any longer, but mention Ada.
16239 (Configuration): Do not mention Chill any longer.
16240
528d8489
HPN
162412002-04-18 Hans-Peter Nilsson <hp@axis.com>
16242
16243 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
16244
91da27c5
JH
16245Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
16246
16247 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
16248 in last patch.
16249
a32db605
JJ
162502002-04-18 Jakub Jelinek <jakub@redhat.com>
16251
16252 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
16253 instead of unsigned_type.
16254
5a28d8cc
JH
16255Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
16256
16257 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
16258 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
16259 later.
16260
3d980b9f
BS
162612002-04-18 Bernd Schmidt <bernds@redhat.com>
16262
16263 * attribs.c (vector_type_node_list): New static variable.
16264 (handle_vector_size_attribute): Use it to avoid generating a
16265 new type node each time we are called.
16266
2e676d78
BS
16267 * combine.c (subst): Avoid trying to make a vector mode subreg of
16268 an integer constant.
16269 (gen_lowpart_for_combine): Likewise.
46468cd9 16270
58c2956c
RS
162712002-04-18 Roger Sayle <roger@eyesopen.com>
16272 Jakub Jelinek <jakub@redhat.com>
16273
16274 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
16275 for integer constant c (if x has unsigned type or sign bit is not
16276 set in c). This folds the zero/sign extension into the bit-wise and
16277 operation.
16278
692efa8e
JJ
162792002-04-18 Jakub Jelinek <jakub@redhat.com>
16280
16281 PR middle-end/6205
16282 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
16283 otherwise xorps.
16284
1372d4ce
NY
162852002-04-17 NIIBE Yutaka <gniibe@m17n.org>
16286
16287 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
16288
169ce44d
NC
162892002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
16290
16291 * gcc.c (read_specs): Detect and fail if an attempt is made to
16292 rename a spec string to an already existing string.
16293
b30d2115
UW
162942002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
16295
16296 * config/s390/s390.c (legitimize_pic_address): Do not generate
16297 illegal address constant without CONST.
16298
d6964c30
KG
162992002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16300
16301 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
16302 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
16303
7c82a1ed
UW
163042002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
16305
16306 PR optimization/6305
16307 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
16308 to make sure previous reloads are taken into account. Generate
16309 better code if one operand is an in-range immediate constant.
16310
58db9d1a
AH
163112002-04-16 Andrew Haley <aph@cambridge.redhat.com>
16312
16313 * doc/install.texi (Building): libgcj requires GNU make.
16314
2a732575
JJ
163152002-04-17 Jakub Jelinek <jakub@redhat.com>
16316
16317 PR bootstrap/6315
16318 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
16319 even if hard quad and register is not floating.
16320 (movtf reg<-mem split): Disallow splitting if hard quad and
16321 register is floating.
16322 (movtf mem<-reg split): Likewise.
16323 * config/sparc/sparc.c (fp_register_operand): New predicate.
16324 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
16325
75a65e46
ZW
163262002-04-17 Zack Weinberg <zack@codesourcery.com>
16327
16328 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
16329 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
16330 (unprotoize.o): Ditto. Build from protoize.c. Define
16331 UNPROTOIZE on command line.
16332 * protoize.c: Include cppdefault.h. Delete include_defaults.
16333 (in_system_include_dir): Use cpp_include_defaults (defined in
16334 cppdefault.o).
16335 * unprotoize.c: Delete file.
16336
650f0e97
AH
163372002-04-17 Aldy Hernandez <aldyh@redhat.com>
16338
46468cd9
ZW
16339 * config/rs6000/altivec.h (vec_ld): Add array variants.
16340 (vec_lde): Same.
16341 (vec_ldl): Same.
650f0e97 16342
71a0ab0c 163432002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 16344 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 16345
46468cd9
ZW
16346 * config/rs6000/altivec.h: Define __ALTIVEC__.
16347 (bool): New.
16348 (__pixel): New.
16349 (pixel): New.
16350 (vec_cfux): New.
16351 (vec_vmaddfp): New.
16352 (vec_vsldoi): New.
16353 Add parentheses to all macro arguments.
71a0ab0c 16354
ff2c46ac
RH
163552002-04-16 Richard Henderson <rth@redhat.com>
16356
16357 PR c++/6320
16358 * except.c (remove_eh_handler): Insert inner regions at beginning
16359 of sibling chain. Refactor expressions.
16360
f1ba94dd
RH
163612002-04-16 Richard Henderson <rth@redhat.com>
16362
f0871dfe
RH
16363 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
16364 * config/sparc/sol2-gas-bi.h: New file.
16365 * config.gcc (sparc*-solaris): Add it as needed.
16366 * configure.in (AS_SPARC64_FLAG): Remove check.
16367 * config.in, configure: Regenerate.
16368
16369 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
16370
163712002-04-16 Richard Henderson <rth@redhat.com>
16372
16373 * config/mips/mips.c (override_options): Don't override N32 for
16374 a 64-bit ISA.
409d3c60 16375
f1ba94dd
RH
16376 PR 6202
16377 * config/mips/mips.md (can_delay): Split out of existing define_delays.
16378 (HILO_delay): Set can_delay false.
16379
178c3eff
DJ
163802002-04-16 Dale Johannesen <dalej@apple.com>
16381
16382 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
16383 instruction addresses.
16384 (rs6000_output_function_epilogue): Likewise.
16385
7d6f6369
PC
163862002-04-16 Paolo Carlini <pcarlini@unitus.it>
16387
16388 * c-parse.in (poplevel, compstmt_start,
16389 compstmt_primary_start): Add ending ';', in accordance
16390 with POSIX.
16391
8947df0c
RH
163922002-04-16 Richard Henderson <rth@redhat.com>
16393
16394 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
16395 Adjust tm_file order to get TARGET_DEFAULT set properly.
16396 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
16397 * doc/install.texi (sparc-solaris): Update.
16398
3148ad6d
DJ
163992002-04-16 Dale Johannesen <dalej@apple.com>
16400
16401 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
16402 comparison operands do not match each other or if modes of
16403 conditions do not match result.
16404
014cb9b6 164052002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 16406
014cb9b6
HP
16407 PR target/6305
16408 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 16409 multiword register.
562a69be 16410
014cb9b6 164112002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 16412
8947df0c 16413 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 16414
a9772b60
JJ
164152002-04-16 Jakub Jelinek <jakub@redhat.com>
16416
16417 PR middle-end/6279
16418 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
16419
16420 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
16421
861829ed
RH
164222002-04-15 Richard Henderson <rth@redhat.com>
16423
16424 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
16425 call_really_used_regs too.
16426
bcf2fe9c
RH
164272002-04-15 Richard Henderson <rth@redhat.com>
16428
16429 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
16430
629111c7
DM
164312002-04-15 David S. Miller <davem@redhat.com>
16432
16433 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
16434 as being CLOBBERed.
16435
98ef3137
JJ
164362002-04-16 Jakub Jelinek <jakub@redhat.com>
16437
16438 PR c/6290
16439 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
16440 CONST_VECTOR is { 0, ... 0 }.
16441
0aa911c5
LR
164422002-04-15 Loren J. Rittle <ljrittle@acm.org>
16443
16444 * doc/install.texi (Installing GCC: Configuration): Clarify
16445 the only supported ways to configure gcc.
16446
83248d49 164472002-04-15 Roland McGrath <roland@frob.com>
46468cd9 16448
83248d49
RM
16449 * config.gcc (alpha*-*-gnu*): New target configuration.
16450 * config/alpha/gnu.h: New file for it.
16451 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
16452
b2123dc0
MM
164532002-04-16 Mark Mitchell <mark@codesourcery.com>
16454
16455 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
16456 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
16457 * tree.h (expand_start_stmt_expr): Update prototype.
16458 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
16459 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
16460 on the STMT_EXPR created for the inline function.
46468cd9 16461
8fe2d853
RH
164622002-04-15 Richard Henderson <rth@redhat.com>
16463
16464 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
16465 config/i386/linux-aout.h, config/i386/linux-oldld.h,
16466 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
16467 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
16468 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
16469 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
16470 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
16471 Define __gnu_linux__, not gnu_linux.
16472 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
16473
07cdae91
MM
164742002-04-15 Mark Mitchell <mark@codesourcery.com>
16475
16476 Remove Chill front end.
16477 * gcc.c (default_compilers): Remove Chill entries.
16478 * ch: Remove directory.
16479 * doc/frontends.texi: Remove information about Chill.
16480 * doc/sourcebuild.texi: Likewise.
16481 * doc/standards.texi: Likewise.
16482
41823c5e
DR
164832002-04-15 Douglas B Rupp <rupp@gnat.com>
16484
16485 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
16486 (LONGLONG_STANDALONE): Define.
16487
eb29ddb6
DM
164882002-04-15 David S. Miller <davem@redhat.com>
16489
16490 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
16491 Call emit_library_call with LCT_NORMAL.
16492 (sparc_initialize_trampoline): Use LCT_foo instead of
16493 magic constant in emit_library_call invocations.
16494 (sparc64_initialize_trampoline): Likewise.
16495 (sparc_profile_hook): Likewise.
16496 * config/sparc/sparc.md: Likewise.
16497
16498 * config/sparc/sparc.c (sparc_extra_constraint_check):
16499 Fix type of argument 'c'.
16500 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
16501 Likewise.
16502
bd6bec6b
GDR
165032002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
16504
16505 * diagnostic.h (output_buffer_state): Redefine.
16506 (output_format_decoder): New macro.
16507 (output_prefixing_rule): Likewise.
16508 (output_line_cutoff): Likewise.
16509 (diagnostic_format_decoder): Adjust.
16510 (diagnostic_prefixing_rule): Likewise.
16511 (diagnostic_line_cutoff): Likewise.
16512 (diagnostic_state): Likewise.
16513 (diagnostic_kind_count): Likewise.
16514 (diagnostic_buffer): Now a macro.
16515
16516 * diagnostic.c (diagnostic_buffer): Remove definition.
16517 (output_is_line_wrapping): Adjust.
16518 (set_real_maximum_length): Likewise.
16519 (output_set_maximum_length): Likewise.
16520 (init_output_buffer): Likewise.
16521 (lhd_print_error_function): Likewise.
16522 (output_do_verbatim): Likewise.
16523
ebef4e8c
NB
165242002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
16525
16526 * cpperror.c (print_location): Don't print include chain
16527 if line == 0.
16528 (cpp_begin_message): Update to use DL_ macros.
16529 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
16530 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
16531 cpp_notice, cpp_notice_from_errno): Remove.
16532 (cpp_error, cpp_error_with_line): Update to take a diagnostic
16533 level.
16534 (cpp_errno): New.
16535 * cppexp.c (CPP_ICE): Remove.
16536 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
16537 lex, integer_overflow, _cpp_parse_expr): Update.
16538 * cppfiles.c (read_include_file, find_include_file,
16539 handle_missing_header, _cpp_read_file, remap_filename): Update.
16540 * cpphash.h (enum error_type): Remove.
16541 (_cpp_begin_message): Update.
16542 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
16543 cpp_handle_option, cpp_post_options): Update.
16544 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
16545 skip_whitespace, parse_identifier, parse_slow, parse_string,
16546 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
16547 cpp_interpret_charconst): Update.
16548 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
16549 lex_macro_node, do_undef, glue_header_name, parse_include,
16550 do_include_common, read_flag, do_line, do_linemarker, do_ident,
16551 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
16552 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
16553 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
16554 _cpp_pop_buffer, do_diagnostic): Update.
16555 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
16556 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
16557 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
16558 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
16559 cpp_notice, cpp_notice_from_errno): Remove.
16560 (cpp_error, cpp_error_with_line): Update to take a diagnostic
16561 level.
16562 (cpp_errno): New.
16563 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
16564 collect_args, enter_macro_context, save_parameter, parse_params,
16565 _cpp_create_definition, check_trad_stringification,
16566 cpp_macro_definition): Update.
16567 * cppmain.c (cpp_preprocess_file): Update.
16568 * fix-header.c (read_scan_file): Update.
16569
c19a3859
AS
165702002-04-14 Andreas Schwab <schwab@suse.de>
16571
16572 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
16573
10fdbed6
JD
165742002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16575
16576 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
16577
77660a9a
MM
165782002-04-13 Mark Mitchell <mark@codesourcery.com>
16579
16580 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
16581 not gnu_hurd.
16582
e0ff1ded
HPN
165832002-04-13 Hans-Peter Nilsson <hp@axis.com>
16584
16585 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
16586
2341c7ea
JS
165872002-04-13 Joel Sherrill <joel@OARcorp.com>
16588
16589 * config/sparc/t-elf: Enable v8 multilibs. Impacts
16590 sparc-elf and sparc-rtems targets.
16591
d29350c0
MM
165922002-04-13 Mark Mitchell <mark@codesourcery.com>
16593
16594 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
16595 defined, and __gnu_hurd__ wherever __GNU__ is defined.
16596 * arm/linux-elf.h: Likewise.
16597 * cris/aout.h: Likewise.
16598 * cris/linux.h: Likewise.
16599 * i370/linux.h: Likewise.
16600 * i386/gnu.h: Likewise.
16601 * i386/linux-aout.h: Likewise.
16602 * i386/linux-oldld.h: Likewise.
16603 * i386/linux.h: Likewise.
16604 * i386/linux64.h: Likewise.
16605 * ia64/linux.h: Likewise.
16606 * m68k/linux-aout.h: Likewise.
16607 * m68k/linux.h: Likewise.
16608 * mips/linux.h: Likewise.
16609 * pa/pa-linux.h: Likewise.
16610 * pj/linux.h: Likewise.
16611 * rs6000/sysv4.h: Likewise.
16612 * s390/linux.h: Likewise.
16613 * sh/linux.h: Likewise.
16614 * sparc/linux-aout.h: Likewise.
16615 * sparc/linux.h: Likewise.
16616 * sparc/linux64.h: Likewise.
16617 * xtensa/linux.h: Likewise.
16618
fc552851
RS
166192002-04-13 Richard Sandiford <rsandifo@redhat.com>
16620
16621 * stmt.c (check_unique_operand_names): Expect operand names to
16622 be strings rather than identifiers. Use simple_cst_equal to
16623 compare them.
16624 (resolve_operand_name_1): Make same identifier to string change here.
16625 * c-parse.in (asm_operand): Convert a named operand into a string.
16626 * cp/parse.y (asm_operand): Likewise.
16627
1d405c5e
AS
166282002-04-13 Andreas Schwab <schwab@suse.de>
16629
16630 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
16631
c740732f
MM
166322002-04-12 Mark Mitchell <mark@codesourcery.com>
16633
16634 Revert these changes:
16635
16636 2002-04-06 Mark Mitchell <mark@codesourcery.com>
16637
16638 PR c++/5571
16639 * stor-layout.c (layout_decl): Reset the RTL for the decl.
16640
3fc602a0
RH
166412002-04-12 Richard Henderson <rth@redhat.com>
16642
16643 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
16644 (sparc*-*-solaris): Clean up header files.
16645 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
16646 and plan on generating 64-bit code.
16647 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
16648 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
16649 * config/sparc/sol2-sld-64.h: Rename ...
16650 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
16651 for AS_SPARC64_FLAG not defined.
16652 * config/sparc/sol2-gld-bi.h: New.
16653 * config/sparc/sol2-sld.h: Remove.
16654 * config/sparc/sol26-sld.h: New.
16655 * config/sparc/sol2.h: Tidy comments.
16656 * doc/install.texi: Document sparc-solaris configury changes.
16657
2f15e255
RH
166582002-04-12 Richard Henderson <rth@redhat.com>
16659
16660 * recog.c (offsettable_address_p): Match the logic in adjust_address.
16661
16662 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
16663 in 64-bit mode only. Use only for 32-bit or MEDLOW.
16664
cc8475cb
RO
166652002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16666
16667 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
16668
6f133a4a
JL
16669Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
16670
ef1b8858 16671 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
16672 constrain_operands.
16673
1329e600
DR
166742002-04-12 Douglas B Rupp <rupp@gnat.com>
16675
16676 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
16677 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
16678 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 16679 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
16680 * config/i386/t-interix (USER_H): Remove.
16681
0339d239
DD
166822002-04-12 DJ Delorie <dj@redhat.com>
16683
16684 * integrate.c (compare_blocks): Make comparisons safe for when
16685 sizeof(int) < sizeof(char *).
16686 (find_block): Likewise.
16687
cc4d5fec
JH
166882002-04-12 Jan Hubicka <jh@suse.cz>
16689 David Edelsohn <edelsohn@gnu.org>
16690
16691 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
16692 registers.
16693 (symbol_ref_operand): New.
16694 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
16695 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
16696
93215a1b
AS
166972002-04-12 Andreas Schwab <schwab@suse.de>
16698
16699 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
16700 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
16701 overrides the definition in config/svr4.h.
46468cd9 16702
1d80248e
EN
167032002-04-12 Eric Norum <eric.norum@usask.ca>
16704
16705 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
16706 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
16707 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
16708 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
16709 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
16710 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
16711 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
16712 definitions to config/rtems.h and make the targets more similar.
16713
fa1591cb
RK
16714Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16715
fa06ab5c
RK
16716 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
16717 POINTERS_EXTEND_UNSIGNED.
16718 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
16719 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
16720
fa1591cb
RK
16721 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
16722 not specified.
16723
12e85a0e
R
16724Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
16725
16726 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
16727 depends on TARGET_SHMEDIA, not TARGET_SH5.
16728
1ab3e58a
HPN
167292002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
16730
16731 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
16732 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
16733
18778292
R
16734Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
16735
16736 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
16737 no r0 clobber.
16738
9002507c
AS
167392002-04-12 Andreas Schwab <schwab@suse.de>
16740
16741 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
16742
9be40833
RH
167432002-04-12 Richard Henderson <rth@redhat.com>
16744
16745 PR bootstrap/4191
16746 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
16747
16748 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
16749 modes spanning multiple hard regs.
46468cd9 16750
9be40833
RH
16751 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
16752
3d9268b6
JDA
167532002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
16754
16755 * pa.c (pa_output_function_prologue): Don't accumulate the total
16756 number of code bytes when using TARGET_64BIT, or gas, SOM and not
16757 the portable runtime.
16758 (output_deferred_plabels): Handle 64bit plabels.
16759 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
16760 generating pic code using the GAS assembler for object formats that
16761 are not SOM (ie., ELF32 and ELF64).
16762 (output_millicode_call): Check attribute type if attribute length is 28.
16763 Likewise use $PIC_pcrel$0. Only call get_attr_length and
16764 dbr_sequence_length once.
16765 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
16766 dbr_sequence_length once.
16767 * pa.h (TARGET_SOM): Define if not defined.
16768 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
16769 with GAS and not SOM.
16770 (jump, call_internal_reg, call_value_internal_reg): Likewise.
16771 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
16772
d360fd18
DB
167732002-04-11 David O'Brien <obrien@FreeBSD.org>
16774
16775 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
16776 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
16777 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
16778 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
16779 elfos.h and dbxelf.h values are fine now.
16780 * config/i386/freebsd.h, config/alpha/freebsd.h
16781 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
16782
5b8fcab6
DB
167832002-04-11 David O'Brien <obrien@FreeBSD.org>
16784
16785 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
16786 or set Acpu or Amachine. Reformat.
16787 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
16788 define.
16789 (LINK_SPEC): Do not need to undef.
16790 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
16791 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
16792 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
16793 define.
16794 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
16795 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
16796 (LINK_SPEC): Do not need to undef.
16797 (DONT_USE_BUILTIN_SETJMP): Do not define.
16798 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
16799 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
16800 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
16801 Remove trailing spaces.
16802 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
16803 __ELF__, or set Acpu or Amachine. Reformat.
16804 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
16805 define.
16806
fee42cc1
DB
168072002-04-11 David O'Brien <obrien@FreeBSD.org>
16808
16809 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
16810 all other *-*-freebsd* targets.
16811
77a403e4
RH
168122002-04-11 Richard Henderson <rth@redhat.com>
16813
16814 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
16815
cf0005c6
DB
168162002-04-11 David O'Brien <obrien@FreeBSD.org>
16817
16818 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
16819 Include {cpu}/{cpu}.h thru tm_file.
16820 (alpha*-*-linux*ecoff): Remove target.
16821 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
16822 (LINK_SPEC): Remove, is not OS independent.
16823 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
16824 (LINK_SPEC): Do not need to #undef any longer.
16825 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
16826 any longer.
16827 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
16828 __ELF__.
16829 (LINK_SPEC): Moved here from alpha/elf.h.
16830 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
16831 SUB_CPP_PREDEFINES.
16832 * config/alpha/linux-ecoff.h: Remove.
16833 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
16834 (CPP_SPEC): Define _POSIX_SOURCE as needed.
16835 (CPP_SUBTARGET_SPEC): Do not define.
16836 (LINK_SPEC): Do not need to #undef any longer.
16837 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
16838 * config/alpha/vms.h: Likewise.
16839
9be40833 168402002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
16841
16842 * doc/extend.texi: Remove old claim that typedefs cannot have
16843 an alignment attribute.
16844
010f87c4
JJ
168452002-04-11 Jakub Jelinek <jakub@redhat.com>
16846
16847 PR optimization/6177
16848 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
16849 bitpos is 0 and bitsize CONCAT size.
16850
578fc63d
JJ
168512002-04-11 Jakub Jelinek <jakub@redhat.com>
16852
16853 PR c/6223
16854 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
16855
bf9b85ce
DB
168562002-04-10 David O'Brien <obrien@FreeBSD.org>
16857
16858 * config/alpha/freebsd.h: Minor reformatting.
16859 (CPP_SPEC): Define ELF and add cpp_subtarget.
16860 (ASM_SPEC): No longer needed.
16861
7425707d
RH
168622002-04-11 Richard Henderson <rth@redhat.com>
16863
16864 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
16865 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
16866 (dimode mem/zero splitter): New.
16867
1a05e874
HPN
168682002-04-11 Hans-Peter Nilsson <hp@axis.com>
16869
16870 * config/cris/cris.c (cris_override_options): Tweak error message
16871 for PIC not implemented.
16872
16873 * config/cris/cris.h: Tweak comments related to parameter-passing.
16874
16875 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
16876
6f3d0447
RH
168772002-04-10 Richard Henderson <rth@redhat.com>
16878
16879 * except.c (add_ehl_entry): Allow duplicates after landing pad
16880 creation.
16881
174bf2b1
DE
168822002-04-10 David Edelsohn <edelsohn@gnu.org>
16883
16884 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
16885
03f10472
TM
168862002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
16887
16888 * c-decl.c (c_init_decl_processing): Move generation of
16889 decls for g77_integer_type_node and friends from here ...
16890 * c-common.c (c_common_nodes_and_builtins): ... to here.
16891
2f460a0a
UW
168922002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
16893
16894 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
16895 is only used as frame pointer when frame_pointer_needed is true.
16896
0be5cf85
RE
168972002-04-10 Richard Earnshaw <rearnsha@arm.com>
16898
16899 PR target/817
16900 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
16901 for the fact that the pool entry uses two words.
16902 (movdf_hard_insn): Similarly. Also, ADR instruction can span
16903 1k bytes.
16904 (movdf_soft_insn): Similarly.
16905 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
16906 for the fact that the pool entry uses three words.
16907
bf6d4777
RS
169082002-04-10 Richard Sandiford <rsandifo@redhat.com>
16909
16910 * config/mips/mips.c (mips_va_arg): When using the struct version
16911 of the EABI va_list, allow arguments in the register save area to
16912 take up less room than a stack argument.
16913
c2e9dc85
RH
169142002-04-10 Richard Henderson <rth@redhat.com>
16915
16916 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
16917 if EXPAND_INITIALIZER.
16918
bc8e8e97
RH
169192002-04-09 Richard Henderson <rth@redhat.com>
16920
16921 * config/alpha/alpha.md (movdi_er_maybe_g): New.
16922 * config/alpha/alpha.c (alpha_expand_mov): Use it.
16923
a6a063b8
AM
169242002-04-10 Alan Modra <amodra@bigpond.net.au>
16925
16926 PR optimization/6233
16927 * rtlanal.c (pure_call_p): New function.
16928 * rtl.h (pure_call_p): Declare.
16929 * loop.c (prescan_loop): Use it to set has_nonconst_call.
16930 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
16931
7b2e1077
EC
169322002-04-09 Eric Christopher <echristo@redhat.com>
16933
16934 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
16935 information to .comm directive.
16936
d8a50944
RH
169372002-04-09 Richard Henderson <rth@redhat.com>
16938
16939 PR c/5078
16940 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
16941
6a58eee9
RH
169422002-04-09 Richard Henderson <rth@redhat.com>
16943
16944 * basic-block.h (flow_delete_block_noexpunge): Declare.
16945 (expunge_block_nocompact): Declare.
16946 * cfg.c (expunge_block_nocompact): Split out from ...
16947 (expunge_block): ... here.
16948 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
16949 (flow_delete_block_noexpunge): Split out from ...
16950 (flow_delete_block): ... here.
16951 * cfgcleanup.c (delete_unreachable_blocks): Compact while
16952 removing dead blocks.
16953 * except.c (exception_handler_labels): Remove.
16954 (exception_handler_label_map): New.
16955 (struct eh_region): Add aka member.
16956 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
16957 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
16958 (for_each_eh_label, for_each_eh_label_1): New.
16959 (init_eh): Register exception_handler_label_map.
16960 (free_eh_status): Use free_region.
16961 (find_exception_handler_labels): Use the map, not the list.
16962 (remove_exception_handler_label): Likewise.
16963 (maybe_remove_eh_handler): Likewise.
16964 (remove_eh_handler): Use the region aka bitmap.
16965 * except.h (exception_handler_labels): Remove.
16966 (for_each_eh_label): Declare.
16967 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
16968 * loop.c (invalidate_loops_containing_label): New.
16969 (find_and_verify_loops): Use it. Use for_each_eh_label.
16970 * sched-rgn.c (is_cfg_nonregular): Use
16971 current_function_has_exception_handlers.
16972
b47374fa
RH
169732002-04-09 Richard Henderson <rth@redhat.com>
16974
16975 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
16976 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
16977 Do not return changed status.
16978 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
16979 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
16980 New functions that do return changed status.
16981 * sbitmap.h: Update decls.
16982 * gcse.c, lcm.c: Use _cg functions as needed.
16983
1951818c
R
16984Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
16985
16986 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
16987 (sh64-*-elf*, sh-*-rtemself*): Likewise.
16988 * config/sh/embed_bb.c: New file.
16989 * config/sh/embed-elf.h: New file.
16990 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
16991 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
16992 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
16993 __PTRDIFF_TYPE__ .
16994 (SUBTARGET_CPP_PTR_SPEC): Don't define.
16995 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
16996 Add subtarget_asm_endian_spec.
16997 (ASM_SPEC): Use subtarget_asm_endian_spec.
16998 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
16999 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
17000 (WCHAR_UNSIGNED): Define.
17001 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
17002 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
17003 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
17004 Fix value.
17005 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
17006 (sh_adjust_cost): Likewise.
17007 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
17008 __PTRDIFF_TYPE__ .
17009 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
17010 (WCHAR_TYPE_SIZE): Likewise.
17011 (ASM_SPEC): Use subtarget_asm_endian_spec.
17012 (SH_ELF_WCHAR_TYPE): #undef/ #define.
17013 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
17014 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
17015 (MAX_WCHAR_TYPE_SIZE): Don't #define .
17016 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
17017 (USER_LABEL_PREFIX): Don't #undef /#define .
17018 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
17019 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
17020 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
17021 (ASM_SPEC): Likewise.
17022 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
17023 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
17024 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
17025 (LIB2FUNCS_EXTRA): Define.
17026 * t-sh64 (LIB2FUNCS_EXTRA): Define.
17027 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
17028 (LIB1ASMFUNCS_CACHE): Define.
17029 (LIB2FUNCS_EXTRA): Redefine empty.
17030
34295799
RH
170312002-04-08 Richard Henderson <rth@redhat.com>
17032
17033 * reorg.c (get_branch_condition): Use reversed_comparison_code.
17034
e8766a39
SC
170352002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17036
17037 * config/m68hc11/larith.asm (__map_data_section): Fix condition
17038 and optimize for size.
17039 (__do_global_ctors): Fix pointer comparison.
17040 (__do_global_dtors): Likewise.
17041
f451b552
DM
170422002-04-09 David S. Miller <davem@redhat.com>
17043
17044 * config/sparc/sparc.c (sparc_extra_constraint_check): New
17045 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
17046 allow reloading pseudos.
17047 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
17048 * config/sparc/sparc-protos.h: Declare it.
17049
17050 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
17051 unsigned comparison warning.
17052 (output_restore_regs): Mark leaf_function as unused.
17053
1ce7f3c2
RK
17054Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17055
17056 * expr.c (is_aligning_offset): New function.
17057 (expand_expr, case COMPONENT_EXPR): Call it.
17058
7a31a340
DM
170592002-04-08 David S. Miller <davem@redhat.com>
17060
17061 PR target/6082
17062 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
17063
17064 Make init_priority work on Sparc when using GNU ld.
17065 * config/sparc/linux.h, config/sparc/linux64.h,
17066 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
17067 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
17068 * config/sparc/sol2-gld.h: New file to do the same.
17069 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
17070 sparc/sol2-gld.h to tm_file.
17071
17072 PR optimization/4328
17073 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
17074 * doc/md.texi: Document it.
17075 * config/sparc/sparc.md (movdi_insn_sp64_novis,
17076 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
17077 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
17078 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
17079 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
17080
11579f33
AJ
170812002-04-08 Andreas Jaeger <aj@suse.de>
17082
17083 * stmt.c (expand_asm_operands): Revert last patch from Richard
17084 Henderson.
17085
b57215d9
GP
170862002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17087
17088 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
17089 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
17090
170912002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17092
17093 * doc/contrib.texi (Contributors): Add David O'Brien.
17094
534d0cc0
AM
170952002-04-08 Alan Modra <amodra@bigpond.net.au>
17096
17097 * configure.in (auto-build.h): Use target_alias and build_alias
17098 when running configure.
17099 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
17100 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
17101 * configure: Regenerate.
17102
19fe522a
DM
171032002-04-07 David S. Miller <davem@redhat.com>
17104
17105 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
17106
bf2d0b8e
JDA
171072002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
17108
17109 PR 5933
17110 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
17111 generating 32-bit pic code.
17112
477cdac7
JT
171132002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
17114
17115 * cppinit.c (cpp_create_reader): Initialize
17116 discard_comments_in_macro_exp.
17117 (COMMAND_LINE_OPTIONS): Add "-CC" option.
17118 (cpp_handle_option): Handle "-CC" option.
17119 * cpplex.c (save_comment): If saving a C++ comment in
17120 a directive, convert it to a C comment.
17121 (_cpp_lex_direct): Pass second comment start character to
17122 save_comment to indicate comment type.
17123 * cpplib.c (_cpp_handle_directive): If processing
17124 a "#define" directive and discard_comments_in_macro_exp
17125 is false, re-enable saving of comments.
17126 (lex_macro_node): If discard_comments_in_macro_exp is false,
17127 discard any comments before the macro identifier.
17128 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
17129 member.
17130 * cppmacro.c (cpp_get_token): If expanding a macro while
17131 processing a directive, discard any comments we might encounter.
17132 (parse_params): If discard_comments_in_macro_exp is false,
17133 ignore comments in the macro parameter list.
17134 * gcc.c (cpp_unique_options): Add "-CC" option.
17135 (option_map): Map "--comments-in-macros" to "-CC".
17136 * doc/cppopts.texi: Document "-CC" option.
17137 * f/lang-specs.h: Add "-CC" option.
17138 * testsuite/gcc.dg/cpp/maccom1.c: New test.
17139 * testsuite/gcc.dg/cpp/maccom2.c: New test.
17140 * testsuite/gcc.dg/cpp/maccom3.c: New test.
17141 * testsuite/gcc.dg/cpp/maccom4.c: New test.
17142 * testsuite/gcc.dg/cpp/maccom5.c: New test.
17143 * testsuite/gcc.dg/cpp/maccom6.c: New test.
17144
f1526122
JDA
171452002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
17146
17147 PR middle-end/6180
17148 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
17149
b1896e61
MM
171502002-04-06 Mark Mitchell <mark@codesourcery.com>
17151
0154eaa8
MM
17152 PR c++/5571
17153 * stor-layout.c (layout_decl): Reset the RTL for the decl.
17154
b1896e61
MM
17155 PR opt/5120
17156 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
17157 RTX_UNCHANGING_P for the functions arguments when a tail call
17158 is made.
17159
b0148884
JM
171602002-04-06 Jason Merrill <jason@redhat.com>
17161
17162 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
17163 (parse_options_and_default_flags): Set them appropriately.
17164 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
17165
392fc5b0
HPN
171662002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
17167
17168 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
17169 here.
17170
17171 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
17172 semicolon.
17173
17174 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
17175 types come in by-reference. Fix typo in comment.
17176
2d69e3cb
DM
171772002-04-05 David S. Miller <davem@redhat.com>
17178
17179 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
17180 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
17181 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
17182 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
17183
171842002-04-05 David S. Miller <davem@redhat.com>
17185
17186 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
17187 are not going to emit return instructions, emit at least a nop
17188 for the sake of sane backtraces.
17189
5f9fb0e3
RH
171902002-04-05 Richard Henderson <rth@redhat.com>
17191
17192 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
17193
49f37a0d
JJ
171942002-04-05 Jakub Jeilnek <jakub@redhat.com>
17195
17196 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
17197
974a3101
AO
171982002-04-05 Alexandre Oliva <aoliva@redhat.com>
17199
17200 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
17201 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
17202 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
17203
2e04a694
AS
172042002-04-05 Andreas Schwab <schwab@suse.de>
17205
a40179bd 17206 * c-convert.c: Include c-common.h.
2e04a694
AS
17207 * Makefile.in (c-convert.o): Updated.
17208
1f785b7c
JJ
172092002-04-05 Jakub Jelinek <jakub@redhat.com>
17210
17211 * mklibgcc.in: Use separate libgcc.map for each multilib.
17212 * Makefile.in (distclean): Don't remove libgcc.map here.
17213
4d2fb38b
JJ
172142002-04-05 Jakub Jelinek <jakub@redhat.com>
17215
17216 * Makefile.in (s-mlib): Handle --disable-multilib by separate
17217 genmultilib invocation.
17218
bb63e5a0
RS
172192002-04-04 Richard Sandiford <rsandifo@redhat.com>
17220
17221 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
17222 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
17223 to num_gprs for symmetry.
17224 * config/mips/mips.c: Adjust accordingly.
17225
8ab80eaa
NB
172262002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
17227
17228 * c-common.c (truthvalue_conversion): Rename, update.
17229 * c-common.h (c_common_truthvalue_conversion): New.
17230 * c-convert.c (convert): Update.
17231 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
17232 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
17233 * c-typeck.c (build_binary_op, build_unary_op,
17234 build_conditional_expr): Update.
17235 * fold-const.c (constant_boolean_node, fold): Use langhook.
17236 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
17237 * langhooks.h (struct lang_hooks): New hook.
17238 * stmt.c (expand_decl_cleanup): Use langhook.
17239 * tree.h (truthvalue_conversion): Remove.
17240objc:
17241 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
17242
a2e9374a
AM
172432002-04-05 Alan Modra <amodra@bigpond.net.au>
17244
17245 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
17246 Add rules to make null object file.
17247
64d08263
JB
172482002-04-04 Jim Blandy <jimb@redhat.com>
17249
17250 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
17251 macro formal parameter names.
17252
aa7634dd
DM
172532002-04-04 David S. Miller <davem@redhat.com>
17254
17255 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
17256
ecc114f7
RH
172572002-04-04 Richard Henderson <rth@redhat.com>
17258
17259 PR middle-end/5099
17260 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
17261 Support copies into and out of memory. Don't accept allows_reg
17262 and allows_mem as gospel.
17263
c4484b8f
RH
172642002-04-04 Richard Henderson <rth@redhat.com>
17265
17266 PR opt/6165
17267 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
17268 (write_dependence_p): Likewise.
17269
39002160
RH
172702002-04-04 Richard Henderson <rth@redhat.com>
17271
17272 * predict.c (estimate_bb_frequencies): Do frequency calculation
17273 with a volatile temporary.
17274
f53ebe71
UW
172752002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
17276
17277 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
17278
15e0ecab
JJ
172792002-04-04 Jakub Jelinek <jakub@redhat.com>
17280
17281 PR c++/6119
17282 * final.c (final_start_function): Don't bump profile_label_no here...
17283 (final_end_function): ...but here.
17284
ffd386b0
JJ
172852002-04-04 Jakub Jelinek <jakub@redhat.com>
17286
17287 * config/sparc/sparc.md (pic): New attribute.
17288 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
17289 into stack slots.
17290 (split after do_builtin_setjmp_setup): New.
17291
8b156b3e
JJ
172922002-04-04 Jakub Jelinek <jakub@redhat.com>
17293
17294 PR fortran/6106
17295 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
17296 change.
17297
014c0998
JJ
172982002-04-04 Jakub Jelinek <jakub@redhat.com>
17299
17300 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
17301 UNITS_PER_WORD for zero sized aggregates.
17302
4d8611d9
DM
173032002-04-03 David S. Miller <davem@redhat.com>
17304
17305 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
17306 one-character spec for this, just use %(link_gcc_c_sequence).
17307
b03ad99d
DM
173082002-04-03 David S. Miller <davem@redhat.com>
17309
17310 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
17311 handling.
17312
823fbbce
JDA
173132002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
17314
17315 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
17316 (DWARF_FRAME_RETURN_COLUMN): Move.
17317 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
17318 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
17319 * pa.c (except.h, predict.h): Include.
17320 (FRP): Delete.
17321 (store_reg_modify, set_reg_plus_d): Revise prototypes.
17322 (output_ascii): Add cast.
17323 (store_reg_modify): Revise to add frame notes.
17324 (set_reg_plus_d): Likewise.
17325 (compute_frame_size): Include space for eh data registers in frame if
17326 the current function calls eh_return.
17327 (hppa_expand_prologue): Ensure register %r2 is saved if the current
17328 function calls eh_return. Save eh data registers if the current
17329 function calls eh_return. Fix code to add frame notes. Emit
17330 blockage to prevent insns with frame notes being scheduled in the
17331 delay slot of calls.
17332 (hppa_expand_epilogue): Restore eh data registers and do final stack
17333 adjustment if the current function calls eh_return. Don't add frame
17334 notes.
17335 (output_call): Revise for change in length of call insn. Don't do
17336 return pointer adjustment for an unconditional jump in the delay slot
17337 of a call when using frame notes.
17338 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
17339 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
17340 (ARG_POINTER_CFA_OFFSET): Define.
17341 * pa.md (return_external_pic): New pattern.
17342 (prologue): Correct formatting. Use return_external_pic if current
17343 function calls eh_return.
17344 (call_internal_symref, call_value_internal_symref,
17345 sibcall_internal_symref, sibcall_value_internal_symref): Change default
17346 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
17347 respectively.
17348 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
17349
17350 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
17351 list of targets to check using "nop" insn.
17352 * configure: Rebuilt.
17353
4078e224
AM
173542002-04-04 Alan Modra <amodra@bigpond.net.au>
17355
17356 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
17357
bbd7687d
DM
173582002-04-03 David S. Miller <davem@redhat.com>
17359
17360 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
17361 library sequence passed to the linker.
17362 (LINK_COMMAND_SPEC): Use it.
17363 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
17364 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
17365 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
17366
659e5a7a
JM
173672002-04-03 Jason Merrill <jason@redhat.com>
17368
17369 * except.c (struct eh_status): Remove protect_list.
17370 (begin_protect_partials, end_protect_partials): Remove.
17371 (add_partial_entry): Remove.
17372 * except.h: Remove prototypes.
17373
17374 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
17375 expand_decl_cleanup_eh.
17376
17377 PR c++/5636
17378 * tree.h (CLEANUP_EH_ONLY): New macro.
17379 * stmt.c (expand_decl_cleanup_eh): New fn.
17380 (expand_cleanups): Check CLEANUP_EH_ONLY.
17381 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
17382 Use expand_decl_cleanup_eh.
17383 (expand_stmt): Adjust.
17384 * c-common.h: Adjust prototype.
17385
053d3344
HPN
173862002-04-04 Hans-Peter Nilsson <hp@axis.com>
17387
17388 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
17389 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
17390 (cris_target_asm_function_epilogue): Ditto.
17391 (cris_initial_frame_pointer_offset): Ditto.
17392 (cris_simple_epilogue): Ditto.
17393 (cris_expand_builtin_va_arg): Variable-size types come in
17394 by-reference.
17395
61ab5260
DM
173962002-04-03 David S. Miller <davem@redhat.com>
17397
17398 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
17399 little-endian.
17400 (set_fast_math): Correct 'fsr' type.
17401
ef4f94ac
RH
174022002-04-03 Richard Henderson <rth@redhat.com>
17403
36c2272c 17404 PR opt/3569
ef4f94ac
RH
17405 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
17406 * toplev.c (check_global_declarations): Use it.
17407 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
17408 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
17409 (LANG_HOOKS_DECLS): Add it.
17410 * langhooks.c (lhd_warn_unused_global_decl): New.
17411 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
17412 * c-objc-common.c (c_warn_unused_global_decl): New.
17413 * c-tree.h (c_warn_unused_global_decl): Declare.
17414 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
17415
599bba86
NB
174162002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
17417
17418 * langhooks-def.h (lhd_set_decl_assembler_name,
17419 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
17420 (LANG_HOOKS_INITIALIZER): Update.
17421 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
17422 * langhooks.h (struct lang_hooks): New hook.
17423 * tree.c (set_decl_assembler_name): Move to langhooks.c.
17424 (lang_set_decl_assembler_name): Remove.
17425 (init_obstacks): Don't set hook.
17426 (decl_assembler_name): New function.
17427 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
17428 (decl_assembler_name): New.
17429 (lang_set_decl_assembler_name): Remove.
17430
cf7b8b0d
JJ
174312002-04-03 Jakub Jelinek <jakub@redhat.com>
17432
17433 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
17434 works properly with .hidden symbols.
17435 * configure: Rebuilt.
17436 * config.in: Rebuilt.
17437 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
17438 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
17439 properly with .hidden symbols.
17440
faf6db38
JJ
174412002-04-03 Jakub Jelinek <jakub@redhat.com>
17442
17443 PR middle-end/6102
17444 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
17445 USE argument.
17446
68c17f30
RH
174472002-04-03 Richard Henderson <rth@redhat.com>
17448
17449 PR opt/4120
17450 * sched-rgn.c (sets_likely_spilled): New.
17451 (sets_likely_spilled_1): New.
17452 (add_branch_dependences): Use it.
17453
6584b4aa
RH
174542002-04-02 Richard Henderson <rth@redhat.com>
17455
17456 PR opt/4311
17457 * loop.h (LOOP_FIRST_PASS): New.
17458 * loop.c (strength_reduce): Mind it when deciding to unroll.
17459 * toplev.c (rest_of_compilation): Set it.
17460
0acf409f
DM
174612002-04-02 David S. Miller <davem@redhat.com>
17462
17463 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
17464 mems_ok_for_ldd_peep when the order of the loads being examined
17465 is reversed.
17466 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
17467 existing comment to increase comprehension of this situation.
17468
85654444
ZW
174692002-04-02 Zack Weinberg <zack@codesourcery.com>
17470
17471 * config/sh/sh.md: Don't use union real_extract.
17472
543828ca
RH
174732002-04-02 Richard Henderson <rth@redhat.com>
17474
17475 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
17476
39ed301b
DB
174772002-04-02 David O'Brien <obrien@FreeBSD.org>
17478
17479 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
17480 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
17481 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
17482 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
17483 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
17484 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
17485 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
17486 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
17487 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
17488 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
17489 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
17490 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
17491 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
17492 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
17493 Include as many configury headers via tm_file as possible. This
17494 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
17495 * config/openbsd-oldgas.h: New file.
17496 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
17497 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
17498 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
17499 config/i386/i386-coff.h, config/i386/i386-interix.h,
17500 config/i386/iscdbx.h, config/i386/linux-aout.h,
17501 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
17502 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
17503 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
17504 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
17505 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
17506 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
17507 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
17508 config/i386/vxi386.h: Do not directly include configury headers.
17509 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
17510 Directly include configury headers that are no longer automatically
17511 included by the above headers.
17512 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
17513 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
17514 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
17515 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
17516 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
17517 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
17518 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
17519 (TARGET_VERSION): Define.
17520 * config/i386/beos-elf.h, config/i386/freebsd.h,
17521 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
17522 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
17523 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
17524 config/i386/sco5.h, config/i386/sysv4.h
17525 (TARGET_VERSION): Do not need to protect.
17526 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
17527 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
17528 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
17529 config/i386/i386-interix.h, config/i386/linux-aout.h,
17530 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
17531 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
17532 (YES_UNDERSCORES): Do not define - not needed.
17533 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
17534 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
17535 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
17536 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
17537 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
17538 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
17539 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
17540 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
17541
9432c136
EB
175422002-04-02 Eric Botcazou <ebotcazou@multimania.com>
17543 Richard Henderson <rth@redhat.com>
17544
17545 PR c/5484
17546 * function.c (assign_temp): Accept either type or decl argument.
17547 Detect variables whose size is too large to fit into an integer.
17548 * stmt.c (expand_decl): Pass the decl, not the type.
17549
058b1275
DB
175502002-04-02 David O'Brien <obrien@FreeBSD.org>
17551
17552 * protoize.c: Match include directory usage with cppdefault.c.
17553
5add6d1a 175542002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 17555 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
17556
17557 * combine.c (simplify_comparison): Avoid narrowing a comparison
17558 with a paradoxical subreg when doing so would drop signficant bits.
17559
1e533e4b
SE
175602002-04-02 Steve Ellcey <sje@cup.hp.com>
17561
17562 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
17563 if POINTERS_EXTEND_UNSIGNED is defined.
17564
7a145e92
RH
175652002-04-02 Richard Henderson <rth@redhat.com>
17566
17567 PR opt/3967
17568 * local-alloc.c (contains_replace_regs): LO_SUM may contain
17569 replace regs.
17570
3a079822
RH
175712002-04-02 Richard Henderson <rth@redhat.com>
17572
17573 * doc/standards.texi: Document required freestanding libc entry points.
17574
c94ccb87
AM
175752002-04-02 Alan Modra <amodra@bigpond.net.au>
17576
17577 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
17578 associated splitter. Remove MQ constraint.
17579 (ctrdi_internal4): Correct CCmode clobber.
17580
fe660a1a
JDA
175812002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
17582
17583 * milli64.S ($$dyncall): New function.
17584 * t-linux (LIB1ASMFUNCS): Revise module list.
17585 (LIB1ASMSRC): Use pa/milli64.S.
17586
eadc0202
RH
175872002-04-02 Richard Henderson <rth@redhat.com>
17588
17589 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
17590 rename solaris_sys_varargs_h.
17591
a1471322
RK
17592Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17593
17594 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
17595 the same mode as its component.
17596
c8b94768
RH
175972002-04-02 Richard Henderson <rth@redhat.com>
17598
17599 PR opt/190
17600 * final.c (this_is_asm_operands): Export.
17601 * output.h (this_is_asm_operands): Declare.
17602 * config/i386/i386.c (print_operand): Error odd asm operands.
17603
161eb4fc
RH
176042002-04-02 Richard Henderson <rth@redhat.com>
17605
17606 PR opt/420
17607 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
17608
b88a94c6
RH
176092002-04-01 Richard Henderson <rth@redhat.com>
17610
17611 PR target/1538
17612 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
17613 * fixinc/fixincl.x: Rebuild.
17614
72e32876
RH
176152002-04-01 Richard Henderson <rth@redhat.com>
17616
17617 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
17618 (atomic_alloc, atomic_free): New.
17619 (SIZE, MASK_FOR, PTR_IN): New.
17620 (emergency_reg_state, emergency_reg_state_free): New.
17621 (emergency_labeled_state, emergency_labeled_state_free): New.
17622 (reg_state_alloced, labeled_state_alloced): New.
17623 (alloc_reg_state, free_reg_state): New.
17624 (alloc_label_state, free_label_state, free_label_states): New.
17625 (push, pop, dup_state_stack, free_state_stack): Use them.
17626 (desc_label_state): Likewise.
17627 (uw_frame_state_for): Free label states and state stack.
17628 (uw_update_reg_address): Eliminate warnings.
17629
84d76074
VM
176302002-04-01 Vladimir Makarov <vmakarov@redhat.com>
17631
17632 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 17633 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 17634
dffd7eb6
NB
176352002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
17636
17637 * c-decl.c (grokdeclarator): Update.
17638 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
17639 * c-tree.h (c_mark_addressable): New.
17640 * c-typeck.c (default_function_array_conversion, build_unary_op,
17641 build_array_ref, convert_for_assignment): Update.
17642 (mark_addressable): Rename.
17643 * calls.c (try_to_integrate, expand_call): Use langhook.
17644 * expr.c (expand_expr): Use langhook.
17645 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
17646 * langhooks.h (struct lang_hooks): New hook.
17647 * stmt.c (expand_asm_operands): Use langhook.
17648 * tree.h (mark_addressable): Remove.
17649objc:
17650 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
17651
544ef5b5
BW
176522002-04-01 Bob Wilson <bob.wilson@acm.org>
17653
9be40833
RH
17654 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
17655 in previous change.
544ef5b5 17656
bcf88f9b
BW
176572002-04-01 Bob Wilson <bob.wilson@acm.org>
17658
17659 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
17660 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
17661
ceef8ce4
NB
176622002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
17663
17664 * c-common.c (unsigned_conversion_warning, convert_and_check,
17665 unsigned_type, signed_type, shorten_compare,
17666 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
17667 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
17668 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
17669 New.
17670 * c-decl.c (grokdeclarator): Update.
17671 * c-format.c (check_format_types): Update.
17672 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
17673 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
17674 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
17675 * convert.c (convert_to_integer): Use new hooks.
17676 * expmed.c (make_tree): Use new hooks.
17677 * expr.c (store_expr): Use new hooks.
17678 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
17679 all_ones_mask_p, unextend, fold): Use new hooks.
17680 * langhooks.h (struct lang_hooks_for_types): New hooks.
17681 * tree.h (signed_or_unsigned_type, signed_type,
17682 unsigned_type): Remove.
17683objc:
17684 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
17685 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
17686
1d9ad0e0
RH
176872002-03-31 Richard Henderson <rth@redhat.com>
17688
17689 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
17690 (desc_frgr_mem): Fix reference to f16-f31.
17691
d544bc39
KG
176922002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17693
17694 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
17695 RTVEC_ELT): Const-ify.
d8750784
KG
17696 * varray.h (VARRAY_CHECK): Const-ify.
17697 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
17698 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 17699
b18101c7
NB
177002002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
17701
17702 * diagnostic.c: Include langhooks-def.h.
17703 * Makefile.in (diagnostic.o): Update.
17704
48a7a235
NB
177052002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
17706
17707 * c-common.c (c_unsafe_for_reeval): Rename.
17708 * c-common.h (c_unsafe_for_reeval): Rename.
17709 * c-decl.c (finish_incomplete_decl): Rename.
17710 (c_init_decl_processing): Don't set langhook.
17711 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
17712 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
17713 * c-objc-common.c (c_objc_common_init): Don't set langhook.
17714 * c-tree.h (finish_incomplete_decl): Rename.
17715 * langhooks-def.h (lhd_unsafe_for_reeval): New.
17716 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
17717 (LANG_HOOKS_INITIALIZER): Update.
17718 * langhooks.c (lhd_unsafe_For_reeval): New.
17719 * langhooks.h (struct langhooks): New hooks.
17720 * toplev.c (incomplete_decl_finalize_hook): Remove.
17721 (wrapup_global_declarations): Update.
17722 * tree.c (lang_unsafe_for_reeval): Remove.
17723 (unsafe_for_reeval): Update.
17724 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
17725 Remove.
17726objc:
17727 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
17728 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
17729
7cb32822
NB
177302002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
17731
17732 * diagnostic.c (print_error_function): Remove.
17733 (default_print_error_function): Rename.
17734 (report_error_function): Update.
17735 * diagnostic.h (print_error_function): Remove.
17736 (default_print_error_function): Remove.
17737 * langhooks-def.h (struct diagnostic_context): Predeclare.
17738 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
17739 (LANG_HOOKS_INITIALIZER): Update.
17740 * langhooks.h (struct diagnostic context): Predeclare.
17741 (struct lang_hooks): New hook.
17742
1db02437
FS
177432002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
17744
17745 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
17746 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
17747 !flag_pic.
17748 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
17749 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
17750 of PIC_OFFSET_TABLE_REGNUM thruout.
17751 * config/rs6000/rs6000.md: Likewise.
17752 * config/rs6000/darwin.h: Likewise.
17753
3bf1e984
RK
17754Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17755
17756 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
17757 unsigned HOST_WIDE_INT, not unsigned int.
17758
0864c526
JJ
177592002-03-31 Jakub Jelinek <jakub@redhat.com>
17760
17761 PR middle-end/6096, middle-end/6098, middle-end/6099
17762 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
17763 CODE_LABELs.
17764 (fill_slots_from_thread): Likewise.
17765
105b2084
JJ
177662002-03-31 Jakub Jelinek <jakub@redhat.com>
17767
17768 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
17769 floating fields in float regs.
17770 (function_arg_record_value_2): Likewise.
17771
db08fddf
HPN
177722002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
17773
17774 * config/mmix/mmix.md (define_constants): Remove misleading
17775 FIXME. Add MMIX_fp_rO_OFFSET.
17776 ("nonlocal_goto_receiver"): Don't have stack-frame address of
17777 saved rO as part of the pattern. Remove FIXME.
17778 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
17779 here, at output-time.
17780
4f31cce8
JJ
177812002-03-31 Jakub Jelinek <jakub@redhat.com>
17782
17783 PR middle-end/6100
17784 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
17785 REG_BR_PRED.
17786 (output_v9branch): Likewise.
17787
ba2b7435
AO
177882002-03-31 Alexandre Oliva <aoliva@redhat.com>
17789
17790 * gcc.c: Revert previous patch for now.
17791 * config/i386/djgpp.h: Likewise.
17792
aa66aa5f 177932002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
17794
17795 * config/mmix/crti.asm (_init): Register _fini with atexit.
17796 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
17797
41ba8a20
RH
177982002-03-31 Richard Henderson <rth@redhat.com>
17799
17800 PR target/3997
17801 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
17802 (ASM_OUTPUT_DEF_FROM_DECLS): New.
17803
adc186ef
RH
178042002-03-31 Richard Henderson <rth@redhat.com>
17805
17806 * libgcc2.c (__bb_exit_func): Make static.
17807
9be40833 17808 * config/alpha/alpha.md (trap): New.
a7648399 17809
9602f5a0
RH
178102002-03-31 Richard Henderson <rth@redhat.com>
17811
17812 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
17813 promoted argument types; build trap.
17814 (expand_builtin_trap): New.
17815 (expand_builtin): Use it.
17816 * stmt.c (expand_nl_goto_receivers): Likewise.
17817 * expr.h (expand_builtin_trap): Declare.
17818 * libfuncs.h (LTI_abort, abort_libfunc): New.
17819 * optabs.c (init_optabs): Init abort_libfunc.
17820
1a0a7539
AO
178212002-03-31 Alexandre Oliva <aoliva@redhat.com>
17822
17823 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
17824 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 17825 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
17826 shared_name in the second copy.
17827 (init_spec): Test for duplicate
17828 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
17829
b5de1a27
DM
178302002-03-30 David S. Miller <davem@redhat.com>
17831
17832 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
17833 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
17834
78414d74 178352002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 17836 Richard Henderson <rth@redhat.com>
78414d74 17837
9be40833
RH
17838 * regmove.c (combine_stack_adjustments_for_block): Avoid
17839 emitting a stack adjustment of zero bytes. Let delete_insn
17840 update bb->head.
78414d74 17841
33074e5f
RH
178422002-03-30 Richard Henderson <rth@redhat.com>
17843
17844 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
17845 (sparc_emitting_epilogue): New.
17846 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
17847 * config/sparc/sparc-protos.h: Update.
17848 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
17849 (TARGET_SWITCHES): Update.
17850 * config/sparc/sparc.md (return): Remove.
17851 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
17852 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
17853 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
17854 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
17855 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
17856 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
17857 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
17858 Remove MASK_EPILOGUE.
17859 * doc/invoke.texi: Update.
17860
606cc056
DB
178612002-03-30 Daniel Berlin <dan@dberlin.org>
17862
17863 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
17864 CPP will start the file for us.
7b2e1077 17865
bdbe5b8d
RH
178662002-03-30 Richard Henderson <rth@redhat.com>
17867
17868 PR target/5446
17869 * config/ia64/ia64.c (group_barrier_needed_p): Special case
17870 prologue_allocate_stack.
17871 (ia64_single_set): Use insn codes for recognition of special
17872 cases, not rtl matching.
17873 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
17874
4ab95d82
JH
17875Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
17876
17877 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
17878
89a8b315
RH
178792002-03-30 Richard Henderson <rth@redhat.com>
17880
17881 PR target/6032
17882 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
17883 or -fomit-frame-pointer with profiling.
17884 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
17885 (FUNCTION_PROFILER): Do nothing.
17886 (PROFILE_HOOK): New.
17887 * config/sparc/sparc.c (sparc_override_options): Don't check
17888 code models for profiling.
17889 (sparc_function_profiler): Remove.
17890 (sparc_profile_hook): New.
17891 * config/sparc/sparc-protos.h: Update.
17892
30984c57
JJ
178932002-03-30 Jakub Jelinek <jakub@redhat.com>
17894
17895 PR optimization/6086
17896 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
17897 of SUBREG of volatile MEM or because the MEM was mode dependent,
17898 return CLOBBER instead of unmodified SUBREG.
17899
1540f9eb
JH
17900Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
17901
89a8b315
RH
17902 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
17903 when not optimizing.
1540f9eb
JH
17904
17905 * toplev.c (rest_of_compilation): Cann mark_constant_function
17906 only when optimizing.
17907
89a8b315
RH
17908 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
17909 are NULL.
1540f9eb
JH
17910
17911 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
17912 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
17913 (try_optimize_cfg): clear all AUX fields.
17914
17915 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
17916 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
17917 (ix86_address_cost): Be prepared for SUBREGed registers.
17918 (legitimate_address_p): Accept SUBREGed registers.
17919
70d95bac
RH
179202002-03-29 Richard Henderson <rth@redhat.com>
17921
17922 PR target/5672
17923 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
17924
d3294cd9
FS
179252002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
17926
17927 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
17928 for aggregate and TFmode types.
17929
a106c875
HPN
179302002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
17931
17932 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
17933
7d7a5d6f
RH
179342002-03-29 Richard Henderson <rth@redhat.com>
17935
6e2d670b 17936 PR target/5886
7d7a5d6f
RH
17937 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
17938 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
17939
30c99a84
RH
179402002-03-29 Richard Henderson <rth@redhat.com>
17941
6e2d670b 17942 PR target/6041
30c99a84
RH
17943 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
17944 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
17945 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
17946 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
17947 conditional.
17948 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
17949
02a566dc
DJ
179502002-03-29 Dale Johannesen <dalej@apple.com>
17951
17952 * loop.c (combine_movables): Do allow combination of pseudos.
17953
bc3a44db
LR
179542002-03-29 Loren J. Rittle <ljrittle@acm.org>
17955
17956 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
17957 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
17958 No functional change except ...
17959 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
17960 * doc/install.texi (*-*-freebsd*): Document port configuration.
17961
b0c48229
NB
179622002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
17963
17964 * Makefile.in (convert.o, calls.o, expmed.o): Update.
17965 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
17966 Use new hooks.
17967 * builtin-types.def (BT_PTRMODE): Update.
17968 * c-common.c (type_for_size): Rename c_common_type_for_size.
17969 (type_for_mode): Similarly.
17970 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
17971 Use new hook.
17972 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
17973 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
17974 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
17975 Redefine.
17976 * c-typeck.c (common_type, comptypes, default_conversion):
17977 Use new hooks.
17978 * calls.c: Include langhooks.h.
17979 (emit_library_call_value_1): Use new hooks. Avoid redundant
17980 calls.
17981 * convert.c: Include langhooks.h
17982 (convert_to_pointer, convert_to_integer): Use new hooks.
17983 * except.c (init_eh): Similarly.
17984 * expmed.c: Include langhooks.h.
17985 (expand_mult_add): Use new hooks.
17986 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
17987 try_casesi): Similarly.
17988 * fold-const.c (optimize_bit_field_compare, make_range,
17989 decode_field_reference, fold_truthop, fold): Similarly.
17990 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
17991 put_var_into_stack): Similarly.
17992 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
17993 LANG_HOOKS_TYPE_FOR_SIZE): New.
17994 (LANG_HOOKS_TYPES_INITIALIZER): Update.
17995 * langhooks.h (lang_hooks_for_types): New hooks.
17996 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
17997 * tree.c (get_unwidened, get_narrower): Similarly.
17998 * tree.h (type_for_mode, type_for_size): Remove.
17999 * varasm.c (force_const_mem): Use new hooks.
18000 * utils2.c (nonbinary_modular_operation): Update.
18001objc:
18002 * objc-act.c (handle_impent): Update.
18003 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
18004 Redefine.
18005
e206a74f
SE
180062002-03-29 Steve Ellcey <sje@cup.hp.com>
18007
18008 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
18009 * config/ia64/ia64.c (basereg_operand): New.
18010 * config/ia64/ia64-protos.h (basereg_operand): Declare.
18011 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
18012
7d9b6378
HPN
180132002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
18014
18015 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
18016 unwind information when frame_pointer_needed.
18017 (mmix_assemble_integer): Tweak wording in comment.
18018
f1e639b1
NB
180192002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
18020
18021 * Makefile.in (except.o): Update.
18022 * except.c: Include langhooks.h.
18023 (init_eh): Use langhook.
18024 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
18025 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
18026 (LANG_HOOKS_INITIALIZER): Update.
18027 * langhooks.h (lang_hooks_for_types): New.
18028 (struct lang_hooks): Add it.
18029 * tree.c (make_lang_type_fn, make_lang_type): Remove.
18030 * tree.h (make_lang_type_fn, make_lang_type): Remove.
18031config:
18032 * alpha/alpha.c: Include langhooks.h.
18033 (alpha_build_va_list): Use langhook.
18034 * d30v/d30v.c: Include langhooks.h.
18035 (d30v_build_va_list): Use langhook.
18036 * i386/i386.c: Include langhooks.h.
18037 (ix86_build_va_list): Use langhook.
18038 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
18039 * s390/s390.c: Include langhooks.h.
18040 (s390_build_va_list): Use langhook.
18041 * stormy16/stormy16.c: Include langhooks.h.
18042 (stormy16_build_va_list): Use langhook.
18043
f17f9332
JJ
180442002-03-29 Jakub Jelinek <jakub@redhat.com>
18045
18046 PR c++/5964
18047 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
18048 attributes.
18049 (length): Compute variable length for branches/calls/jumps here.
18050 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
18051 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
18052 define branch_type attribute.
18053 (divsi3_sp32): Maximum length is 6 not 7.
18054 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
18055 call_address_untyped_struct_value_sp32,
18056 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
18057 * config/sparc/sparc.c (empty_delay_slot): New function.
18058 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
18059 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
18060
0a0440c9
JJ
180612002-03-29 Jakub Jelinek <jakub@redhat.com>
18062
18063 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
18064 nonzero_bits if not needed.
18065 (nonzero_bits) [XOR]: Likewise.
18066 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
18067 reg_last_set_mode and mode are both MODE_INT, but not equal.
18068 (record_value_for_reg): Compute reg_last_set_nonzero_bits
18069 in nonzero_bits_mode for MODE_INT modes.
18070
c9045f47
RH
180712002-03-28 Richard Henderson <rth@redhat.com>
18072
18073 PR target/5715
18074 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
18075 to GAS. Correct drift between alternatives.
18076
f8ed1958
RH
180772002-03-28 Richard Henderson <rth@redhat.com>
18078
18079 PR target/6087
18080 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
18081
54e20385
LR
180822002-03-28 Alexandre Oliva <aoliva@redhat.com>
18083
18084 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
18085 emulation to the linker.
18086
180872002-03-28 Loren J. Rittle <ljrittle@acm.org>
18088
18089 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
18090 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
18091
8bc52806
JL
18092Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
18093
18094 * combine.c (simplify_and_const_int): Make sure to apply mask
18095 when force_to_mode returns a constant integer. PR3311.
18096
279dccc5
JDA
180972002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
18098
18099 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
18100
62aaa62c
GP
181012002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18102
18103 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
18104 and Objective-C Dialect Options.
18105
b8de5050
RH
181062002-03-28 Richard Henderson <rth@redhat.com>
18107
18108 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
18109 comparison should be done vs !=0 not >0 return code. Tidy cases.
18110
619708cc
RH
181112002-03-28 Richard Henderson <rth@redhat.com>
18112
18113 * c-decl.c (finish_function): New arg can_defer_p. Pass it
18114 on to c_expand_body.
18115 * c-tree.h (finish_function): Update decl.
18116 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
18117
b1d874d7
JH
18118Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
18119
18120 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
18121
f5eb5fd0
JH
18122Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
18123
18124 * rtlanal.c: Include flags.h
18125 (may_trap_p): Do not mark FP operations if trapping
18126 if !flag_trapping_math
18127 * Makefile.in (rtlanal.o): Add dependency on flag.h
18128 * ifcvt.c (noce_operand_ok): Avoid the lameness.
18129
81b4c798
ZW
181302002-03-27 Zack Weinberg <zack@codesourcery.com>
18131
18132 * mips.md: Use dconst1, not 1.0, as first argument of
18133 REAL_VALUE_LDEXP. Don't use union real_extract.
18134
55a2ea2a
AM
181352002-03-28 Alan Modra <amodra@bigpond.net.au>
18136
18137 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
18138 rather than $target. Heed program_prefix and
18139 program_transform_name. Search for gas in cross-compiler case too.
18140 "test -x" rather than "test -f".
18141 (gcc_cv_ld): Likewise.
18142 (gcc_cv_nm): Heed program_prefix and program_transform_name.
18143 (gcc_cv_objdump): Likewise.
18144 * configure: Regenerate.
18145
7ffb4fd2
NB
181462002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18147
18148 * Makefile.in (attribs.o): Update.
18149 * attribs.c: Include langhooks.h.
18150 (decl_attributes): Use langhook.
18151 * c-decl.c (insert_default_attributes): Rename.
18152 * c-tree.h (c_insert_default_attributes): New.
18153 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
18154 (LANG_HOOKS_INITIALIZER): Update.
18155 * langhooks.h (struct lang_hooks): New hook.
18156 * tree.h (insert_default_attributes): Remove.
18157objc:
18158 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
18159
e4dbaed5
AS
181602002-03-27 Andreas Schwab <schwab@suse.de>
18161
18162 * config/i386/i386.c (classify_argument): Also check for
18163 QUAL_UNION_TYPE.
18164
18b467f1
RO
181652002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18166
18167 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
18168 any more.
18169
d337d653
JH
18170Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
18171
18172 * i960.md (ret): Set PC.
18173 (nonlocal_goto): Fix expander.
18174 * builtins.c (epxand_builin_longjmp): Check that we've emitted
18175 some jump or call.
18176
218aa620
JH
18177Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
18178
18179 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
18180 of libcall regions.
18181
e27a4eaf
ZD
18182Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
18183
18184 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
18185 assigning to BLOCK_FOR_INSN directly.
18186
8a12f34c
JH
18187Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
18188
18189 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
18190
c9d892a8
NB
181912002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18192
18193 * c-common.c (c_expand_expr): Fix prototype.
18194 * c-common.h (c_expand_expr): Always declare, update.
18195 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
18196 * c-objc-common.c (c_objc_common_init): No global hook.
18197 * expr.c (expand_expr): Use langhook.
18198 * expr.h (enum expand_modifier): Conditionally declare.
18199 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
18200 (LANG_HOOKS_INITIALIZER): Update.
18201 * langhooks.c (lhd_expand_expr): New.
18202 * langhooks.h (struct lang_hooks): New hook.
18203 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
18204 (lang_independent_init): Don't default hook.
18205objc:
18206 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
18207
6dad5a56
RH
182082002-03-27 Richard Henderson <rth@redhat.com>
18209
18210 PR target/6054
18211 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
18212 TARGET_CONST_GP. Simplify conditions.
18213
59f96879
RH
182142002-03-27 Richard Henderson <rth@redhat.com>
18215
18216 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
18217 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
18218 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
18219
f3f1190d
DS
182202002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
18221
18222 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
18223 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
18224 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
18225 Remove unnecessary masks.
18226 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
18227 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
18228 -mwindows, -mdll switches and their negations.
18229
31c816cf
NB
182302002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18231
18232 * gcc-common.c (lang_mark_false_label_stack): Remove.
18233 * ggc.h (lang_mark_false_label_stack): Similarly.
18234
7b2e1077 182352002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
18236
18237 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
18238
18239 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
18240 or __rtems_ is defined.
18241
1ef9531b
RH
182422002-03-26 Richard Henderson <rth@redhat.com>
18243
18244 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
18245 if a non-trivial load was emitted.
18246 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
18247 in high+extra+low case.
18248
300d4093
RH
182492002-03-26 Richard Henderson <rth@redhat.com>
18250
18251 * config.gcc (sparc*-solaris): Use float_format=sparc.
18252
b3689904
RH
182532002-03-26 Richard Henderson <rth@redhat.com>
18254
18255 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
18256 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
18257 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
18258 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
18259 (WINT_TYPE_SIZE): Fix at 32.
18260
1eefb6c1
RH
182612002-03-26 Richard Henderson <rth@redhat.com>
18262
18263 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
18264 until after eh landing pad generation.
18265 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
18266 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
18267
361ea006
RH
182682002-03-26 Richard Henderson <rth@redhat.com>
18269
18270 * expr.h (ADD_PARM_SIZE): One more convert for INC.
18271
1de38a88
PE
182722002-03-26 Phil Edwards <pme@gcc.gnu.org>
18273
18274 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
18275 and warning switches.
18276 (cc1_options): Likewise.
18277
d7e60e95 182782002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 18279
d7e60e95
HB
18280 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
18281 Restore more of the signal context. Set no_reg_stack_frame.
18282 * config/ia64/unwind-ia64.c (unw_state_record):
18283 Add no_reg_stack_frame, comments.
18284 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
18285 (uw_update_context): Adjust bsp when unwinding from leaf,
18286 but not signal frame.
18287
7032923b
DE
182882002-03-26 David Edelsohn <edelsohn@gnu.org>
18289
18290 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
18291
8be56275
BW
182922002-03-26 Bob Wilson <bob.wilson@acm.org>
18293
18294 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
18295
56fbb855
RE
182962002-03-26 Richard Earnshaw <rearnsha@arm.com>
18297
18298 PR target/5621
18299 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
18300 "Add a pool_range attribute", which was lost during the ARM/Thumb
18301 merge.
18302
3437320b
BW
183032002-03-26 Bob Wilson <bob.wilson@acm.org>
18304
18305 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
18306 a register into the MAC16 accumulator.
18307
173028e5
AC
183082002-03-26 Andrew Cagney <ac131313@redhat.com>
18309
18310 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
18311 (Warning Options): Document -Wswitch-enum.
18312 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
18313 -Wswitch.
18314 (warn_switch_enum): Define variables.
18315 * flags.h (warn_switch_enum): Declare variables.
18316 * stmt.c (expand_end_case_type): When warn_switch_enum /
18317 -Wswitch-enum, perform switch checks.
18318 Fix PR c/5044.
7b2e1077 18319
e14365a7
RE
183202002-03-26 Richard Earnshaw <rearnsha@arm.com>
18321
18322 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
18323 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
18324 (reload_muladdsi_compare0_scratch): Delete.
18325
46fc709d
LR
183262002-03-26 Loren J. Rittle <ljrittle@acm.org>
18327
18328 * doc/install.texi (*-*-freebsd*): Update.
18329
f36dea3c
RH
183302002-03-26 Richard Henderson <rth@redhat.com>
18331
8e5fe23f
RH
18332 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
18333 (SUB_PARM_SIZE): Cast DEC to ssizetype.
18334
18335 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
18336 types from the normal argument frame.
18337
f36dea3c
RH
18338 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
18339 variable sized objects by reference.
18340 (sparc_va_arg): Receive them by reference too.
18341
1447dc69
HP
183422002-03-26 Hartmut Penner <hpenner@de.ibm.com>
18343
18344 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 18345 code to not restoring global registers.
1447dc69 18346
4f0ade92
NB
183472002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
18348
18349 * Makefile.in (ggc-common.o): Update.
18350 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
18351 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
18352 * c-tree.h (c_mark_tree): New.
18353 * ggc-common.c: Include langhooks.h.
18354 (gcc_mark_trees): Use new langhook.
18355 * ggc-callbacks.c: Delete file.
18356 * ggc.h (lang_mark_tree): Remove.
18357 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
18358 (LANG_HOOKS_INITIALIZER): Update.
18359 * langhooks.h (struct lang_hooks): New hook.
18360objc:
18361 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
18362
caba570b
ZW
183632002-03-25 Zack Weinberg <zack@codesourcery.com>
18364
18365 * doc/cpp.texi: Exclude entire Top node from printed manual.
18366 Move option index after directive index. Insert page breaks
18367 before GFDL and concept index. Index environment variables
18368 with command line options.
18369 * doc/cppenv.texi: Use @vtable for environment variable list.
18370 Add paragraph explaining semantics of empty elements in path
18371 variables. Exclude a cross-reference to Fishkill from the
18372 manpage. Remove an unnecessary cross-reference of the entry
18373 right above the referer. Don't use @anchor in text that goes
18374 into manpage.
18375 * doc/cppopts.texi: Cross-reference the environment variables
18376 section, not the specific environment variable, for consistency.
18377
6b2e80b7
RH
183782002-03-25 Richard Henderson <rth@redhat.com>
18379
18380 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
18381 anywhere in the block. Don't refer to insns that have been
18382 removed from the chain. Iterate backward through the new insns.
18383 Don't refer to edges that have been removed.
18384
67e469d7
AM
183852002-03-26 Alan Modra <amodra@bigpond.net.au>
18386
18387 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
18388 test for overflow of constant.
18389
f2356393
RE
183902002-03-25 Richard Earnshaw <rearnsha@arm.com>
18391
18392 PR target/2623
18393 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
18394 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
18395 these patterns on arm_archv4.
18396
355426ab
DS
183972002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
18398
18399 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
18400 int".
18401
15e5ad76
ZW
184022002-03-25 Zack Weinberg <zack@codesourcery.com>
18403
18404 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
18405 float_handled, float_handler, float_signal, set_float_handler,
18406 and do_float_handler. Set handler for SIGFPE to crash_signal.
18407 * toplev.h: Don't prototype do_float_handler.
18408
18409 * c-lex.c: Fold parse_float into lex_number. Make warning
18410 about portability of hex float constants more informative, and
18411 don't issue it on top of a syntax error.
18412 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
18413 their callers.
18414 * real.h: Define REAL_VALUE_ABS here...
18415 * simplify-rtx.c: ... not here. Fold check_fold_consts,
18416 simplify_unary_real, simplify_binary_real, and
18417 simplify_binary_is2orm1 into their callers.
18418 * tree.c: Fold build_real_from_int_cst_1 into caller.
18419
18420 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
18421
18422 * tsystem.h: Include float.h here...
18423 * libgcc2.c: ... not here.
18424
56ae9405
NC
184252002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
18426
18427 Fixes for: PR bootstrap/3591, target/5676
18428 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
18429 defined. Do not disable exceptions or rtti.
18430 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
18431 mcore.h. Disable exceptions and rtti, since they are not
18432 supported by EPOC.
18433
c88770e9
NB
184342002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
18435
18436 * c-decl.c (maybe_build_cleanup): Remove.
18437 * expr.c (expand_expr): Use langhook.
18438 * langhooks-def.h (lhd_return_null_tree,
18439 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
18440 (LANGHOOKS_INITIALIZER): Update.
18441 * langhooks.c (lhd_return_null_tree): New.
18442 * langhooks.h (struct lang_hooks): New hook.
18443 * tree-inline.c (initialize_inlined_parameters): Use langhook.
18444 * tree.h (maybe_build_cleanup): Remove.
18445
2ed1f154
JJ
184462002-03-25 Jakub Jelinek <jakub@redhat.com>
18447
18448 * regrename.c (build_def_use): Move recog_memoized
18449 before extract_insn.
18450
6ddae612
JJ
184512002-03-25 Jakub Jelinek <jakub@redhat.com>
18452
18453 PR target/6043
18454 * expr.c (emit_group_store): Handle storing into CONCAT.
18455
ea475b23
JJ
184562002-03-25 Jakub Jelinek <jakub@redhat.com>
18457
18458 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
18459 corresponding MATCH_DUP.
18460
e7d482b9
RH
184612002-03-24 Richard Henderson <rth@redhat.com>
18462
cd39fc13
RH
18463 * unroll.c (unroll_loop): Zero label_map.
18464
e7d482b9
RH
18465 * gcse.c: Include except.h.
18466 * Makefile.in (gcse.o): Update.
18467
1bd6476f
RH
184682002-03-24 Richard Henderson <rth@redhat.com>
18469
18470 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
18471 Do resolve_unique_section before shared data clause.
18472
2e6c150a
RH
184732002-03-24 Richard Henderson <rth@redhat.com>
18474
18475 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
18476
b29afcf8
RH
184772002-03-24 Richard Henderson <rth@redhat.com>
18478
15e5ad76 18479 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
18480 generated in the middle of a block. Do global life update if
18481 zapped EH edges.
18482
05ed1296
RH
184832002-03-24 Richard Henderson <rth@redhat.com>
18484
18485 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
18486
3ddbb8a9
NB
184872002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
18488
18489 preprocessor/3951
15e5ad76 18490 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
18491 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
18492 (init_dependency_output): Don't make no_output decision here.
18493
740b77b6
AC
184942002-03-24 Andrew Cagney <ac131313@redhat.com>
18495
18496 * stmt.c (check_for_full_enumeration_handling): Remove tests of
18497 warn_switch. Update description.
18498 (expand_end_case_type): Call check_for_full_enumeration_handling
18499 when warn_switch.
18500
7590cfd0
SC
185012002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18502
18503 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
18504 (m68hc11_split_move): Call it to see if the source and destination
18505 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 18506 source an offsetable memory operand and generate an add.
7590cfd0 18507
2e3d3481
SC
185082002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18509
18510 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
18511 register for operand 2.
18512 ("*subsi3_zero_extendqi"): Likewise.
18513 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
18514 bits so that it is compatible with a pop.
18515 ("*andhi3_gen"): Likewise.
18516 ("xorhi3"): Likewise.
18517
2784528c
NB
185182002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
18519
18520 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
18521 -pedantic here...
18522 (cpp_post_options): ... not here.
18523
aaf93206
NB
185242002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
18525 Aldy Hernandez <aldyh@redhat.com>
18526
18527 Removal of separate preprocessor cpp0.
18528
18529 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
18530 cpp0, install-common): Update.
18531 * c-common.c (flag_preprocess_only): New.
18532 (c_common_init): Preprocess for -E.
18533 * c-common.h (flag_preprocess_only): New.
18534 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
18535 * c-objc-common.c (c_init_decl_processing): Exit quickly
18536 for NULL return from c_common_init.
18537 * cpplib.h (cpp_preprocess_file): New.
18538 * cppmain.c (main, general_init, pfile, progname): Remove.
18539 (do_preprocessing): Rename cpp_preprocess_file, don't call
18540 cpp_finish. Don't close stdout here.
18541 (setup_callbacks): Update prototype.
18542 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
18543 Update.
18544 * tradcpp.c (main): Ignore -quiet.
18545objc:
18546 * lang-specs.h (default_compilers): Preprocess with cc1obj.
18547
c6e6f5c1
RH
185482002-03-24 Richard Henderson <rth@redhat.com>
18549
18550 PR optimization/5742
18551 * machmode.def: Add inner mode field to complex modes.
18552 * config/mips/mips.c (mips_function_value): Always define. Add
18553 new argument to handle libcalls.
18554 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
18555 (FUNCTION_VALUE): Likewise.
18556 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
18557 * config/mips/mips-protos.h: Update.
18558
d88e57d1
RH
185592002-03-23 Richard Henderson <rth@redhat.com>
18560
18561 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
18562 * config/sparc/sparc-protos.h: Update.
18563 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
18564
6dfaf9ba
RH
185652002-03-23 Richard Henderson <rth@redhat.com>
18566
18567 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
18568 _start or _init begins the text segment.
18569
0c769cf8
DE
185702002-03-23 David Edelsohn <edelsohn@gnu.org>
18571
18572 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
18573 not HOST_WIDEST_INT.
18574 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
18575
64e92a26
RE
185762002-03-23 Richard Earnshaw <rearnsha@arm.com>
18577
18578 PR java/5489
18579 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
18580 operand argument to output_return_instruction.
15e5ad76 18581 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
18582 const_true_rtx then just return.
18583 (arm_print_operand, case 'D'): If the operand is const_true_rtx
18584 then abort.
18585
d6961341
AC
185862002-03-23 Andrew Cagney <ac131313@redhat.com>
18587
18588 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
18589 (Warning Options): Document -Wswitch-default.
18590 * toplev.c (W_options): Add -Wswitch-default. Update comment on
18591 -Wswitch.
18592 (warn_switch_default): Define variable.
18593 (warn_switch): Update comment.
18594 * flags.h (warn_switch_default): Declare variable.
18595 (warn_switch): Update comment.
18596 * stmt.c (expand_end_case): Check for and, when
18597 warn_switch_no_default, warn of a missing default case.
15e5ad76 18598
d4c5ac1f
AM
185992002-03-23 Alan Modra <amodra@bigpond.net.au>
18600
bbaa9790
AM
18601 * real.h (N): Special case 128 bit doubles.
18602
d4c5ac1f
AM
18603 * combine.c (simplify_comparison): When widening modes, ignore
18604 sign extension on CONST_INTs.
18605
84bf8c2c
BW
186062002-03-22 Bob Wilson <bob.wilson@acm.org>
18607
18608 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
18609 passed to adjust_address. Fix comment formatting.
18610
18611
b216cd4a
ZW
186122002-03-22 Zack Weinberg <zack@codesourcery.com>
18613
18614 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
18615 Always make REAL_VALUE_TYPE a struct containing an array of
18616 HOST_WIDE_INT, not a double. Tidy up the code deciding how
18617 big it is. Don't declare or use union real_extract.
18618
18619 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
18620 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
18621 (print_operand), config/arm/arm.c (output_move_double),
18622 config/arm/arm.md (consttable_4, consttable_8),
18623 config/romp/romp.c (output_fpops), config/s390/s390.h
18624 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
18625 (xtensa_output_literal): Don't use union real_extract.
18626
18627 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
18628 (sfmode_constant_to_ulong), config/ns32k/merlin.h
18629 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
18630 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
18631 (PRINT_OPERAND): Don't use local version of union
18632 real_extract.
18633
18634 * config/convex/convex.c (check_float_value), config/vax/vax.c
18635 (vax_float_literal), config/m88k/m88k.md (divdf3),
18636 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
18637 config/pdp11/pdp11.c (output_move_quad): Don't do host
18638 arithmetic on target floating point quantities.
18639
18640 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
18641 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
18642
18643 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
18644 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
18645
18646 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
18647 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
18648 INFINITY.
18649 * print-rtl.c (print_rtx): Disable code which needs
18650 floating-point emulator.
18651 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
18652 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
18653 depending on HOST_FLOAT_FORMAT to be defined properly.
18654
18655 * config/1750a/1750a.c (get_double, float_label): Delete.
18656 (print_operand): Delete huge commented-out chunk. Use
18657 REAL_VALUE_TO_DECIMAL.
18658 * config/1750a/1750a-protos.h: Delete prototypes of deleted
18659 functions.
18660 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
18661 IEEE_FLOAT_FORMAT.
18662 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
18663 Use REAL_VALUE_TO_DECIMAL as ELF version does.
18664 * config/m88k/m88k.c (real_power_of_2_operand,
18665 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
18666 real_extract out of the union; run the input through
18667 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
18668 from that into the union.
18669 * config/pdp11/pdp11.c (output_move_double): Rearrange
18670 parentheses to make automatic indenter happy.
18671
18672 * doc/tm.texi (Cross-compilation): Rename node to "Floating
18673 Point" and rewrite to describe current situation. Also adjust
18674 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
18675 match code.
18676 * doc/rtl.texi: Adjust cross reference.
18677
a8cacfd2
BW
186782002-03-22 Bob Wilson <bob.wilson@acm.org>
18679
18680 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
18681 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
18682 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
18683 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
18684 prevent use of sp as a reload register.
18685 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
18686 non_acc_reg_operand.
18687 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
18688 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
18689 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
18690 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
18691
d4e6133f
NB
186922002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
18693
b216cd4a
ZW
18694 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
18695 * cpplex.c (unterminated): Delete.
18696 (parse_string): No string literal may extend over multiple
18697 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
18698 * cppmain.c (scan_translation_unit): Strings are single-line.
18699
b216cd4a 18700 * doc/cpp.texi: Update to match.
d4e6133f 18701
65e6c005
JJ
187022002-03-22 Jakub Jelinek <jakub@redhat.com>
18703
18704 PR optimization/5854
18705 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
18706 Shut up warnings.
18707 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
18708 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
18709 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
18710 const0 if scratch register was not allocated.
18711 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
18712 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
18713 with GEN_INT (...).
18714 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
18715 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
18716 with GEN_INT (...) everywhere. Remove constraints in define_split
18717 patterns.
18718 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
18719 require scratch register for setting 0 into regs/non-pushable memory.
18720
7f48c9e1
AO
187212002-03-22 Alexandre Oliva <aoliva@redhat.com>
18722
18723 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
18724 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
18725
909de5da
PE
187262002-03-22 Phil Edwards <pme@gcc.gnu.org>
18727
18728 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
18729 * cppinit.c (cpp_create_reader): On by default.
18730 (cpp_handle_option): Handle -W[no-]endif-labels.
18731 (cpp_post_options): Also enable if -pedantic.
18732 * cpplib.c (do_else): Use it.
18733 (do_endif): Likewise.
18734 * doc/cppopts.texi: Document new option.
18735 * doc/invoke.texi: Document new option.
18736
d8bf17f9
LB
187372002-03-22 Lars Brinkhoff <lars@nocrew.org>
18738
18739 * config/i386/i386.c, config/i386/i386.md: Change all occurences
18740 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
18741
70e0ccd0
AO
187422002-03-22 Alexandre Oliva <aoliva@redhat.com>
18743
18744 * flow.c (calculate_global_regs_live): Clear aux fields of
18745 ENTRY and EXIT.
18746
68882f0f
JJ
187472002-03-22 Jakub Jelinek <jakub@redhat.com>
18748
18749 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
18750 REG or MEM subregs, pass rtx * instead of rtx to it.
18751 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
18752 rtx * instead of rtx to alter_subreg.
18753 * config/m32r/m32r.c (gen_split_move_double): Likewise.
18754 * config/pj/pj.c (pj_output_rval): Likewise.
18755
648fe28b
RH
187562002-03-22 Richard Henderson <rth@redhat.com>
18757
18758 PR target/3177
18759 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
18760 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
18761 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
18762 (ia64_expand_prologue): Look at int_regs, not words, for number
18763 of incomming int regs.
18764
e8dcd824
AM
187652002-03-22 Andrew MacLeod <amacleod@redhat.com>
18766
18767 * expr.c (expand_expr): A RESULT_DECL is part of a call.
18768
96327cdc
JH
18769Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
18770
18771 * toplev.c (flag_loop_optimize, flag_crossjumping):
18772 New static variables.
18773 (rest_of_compilation): Conditionalize crossjumping and
18774 loop optimizer.
18775 (parse_options_and_default_flags): Default loop_optimize and
18776 crossjumping.
18777 (lang_independent_options): Add -fcrossjumping and -floop-optimize
18778 * invoke.texi (crossjumping, loop-optimize): Document.
18779
bc185257
RS
187802002-03-22 Richard Sandiford <rsandifo@redhat.com>
18781
18782 * real.c (eiisneg): Move outside #ifdef NANS.
18783
0a2ed1f1
JH
18784Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
18785
18786 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
18787 frequencies match; avoid match on different loop depths.
18788 (try_crossjump_to_bb): Kill tests that no longer brings time
18789 savings.
18790 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
18791 updating code.
18792 (split_edge): Likewise.
18793
18794 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
18795 variable.
18796
18797 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
18798 * cfgrtl.c: Include insn-config.h
18799 (split_block) Dirtify block in presence of conditional execution
18800
4d72536e
RS
188012002-03-22 Richard Sandiford <rsandifo@redhat.com>
18802
18803 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
18804 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
18805 (function_arg): Constify CUMULATIVE_ARGS.
18806 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
18807 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
18808 (UNITS_PER_DOUBLE): New macro.
18809 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
18810 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
18811 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
18812 fp_regs and stack_words.
18813 (EABI_FLOAT_VARARGS_P): New macro.
18814 * config/mips/mips.c (struct mips_arg_info): New.
18815 (mips_arg_info): New function.
18816 (function_arg_advance): Use it. Add adjustment instructions here
18817 rather than in function_arg.
18818 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
18819 for VOIDmode at the beginning of the function.
18820 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
18821 (function_arg_pass_by_reference): Likewise.
18822 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
18823 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
18824 (mips_va_start): Likewise. Use the new stack_words field of
18825 CUMULATIVE_ARGS to set up overflow area. Reformat.
18826 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
18827 doubles and other types, aligning the overflow pointer for non-doubles
18828 too. Remove some code duplication. Replace hard-coded constants.
18829
e6f884cd
RS
188302002-03-22 Richard Sandiford <rsandifo@redhat.com>
18831
18832 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
18833 (CLASS_UNITS): Undefine.
18834 (CLASS_MAX_NREGS): Use FP_INC.
18835 * config/mips/mips.c (compute_frame_size): Likewise.
18836 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
18837
10cf9bde
NB
188382002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
18839
18840 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
18841 prototype, and handle lexing numbers and identifiers.
18842 (parse_identifier): Update to new form of parse_slow.
18843 (parse_number): Fast path only, use parse_slow otherwise.
18844 (_cpp_lex_direct): Update calls to parse_number.
18845
fbc2782e
DD
188462002-03-21 DJ Delorie <dj@redhat.com>
18847
18848 * bb-reorder.c (make_reorder_chain_1): Protect against
18849 when redundant edges are omitted.
18850 * predict.c (dump_prediction): Likewise.
18851
fba39eaf
RH
188522002-03-21 Richard Henderson <rth@redhat.com>
18853
18854 PR target/5996
18855 * fixinc/inclhack.def (solaris_stdio_tag): New.
18856 * fixinc/fixincl.x: Regenerate.
18857
eba80994
EB
188582002-03-21 Eric Botcazou <ebotcazou@multimania.com>
18859
18860 PR c/5597
18861 * c-typeck.c (process_init_element): Flag non-static
18862 initialization of a flexible array member as illegal.
18863
2a78758b
AM
188642002-03-22 Alan Modra <amodra@bigpond.net.au>
18865
18866 * config/rs6000/t-linux64: New.
18867 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
18868 t-ppccomm. Use t-rs6000 and t-linux64.
18869 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
18870 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
18871 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
18872 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 18873
2cb921f4
AH
188742002-03-21 Aldy Hernandez <aldyh@redhat.com>
18875
eba80994
EB
18876 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
18877 flag_really_no_inline instead of optimize == 0.
2cb921f4 18878
eba80994 18879 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 18880
eba80994 18881 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 18882
eba80994 18883 * flags.h (flag_really_no_inline): New.
2cb921f4 18884
659e5a7a 18885 * c-common.c (c_common_post_options): Initialize
eba80994 18886 flag_really_no_inline.
2cb921f4 18887
eba80994 18888 * toplev.c (flag_really_no_inline): New.
2cb921f4 18889
239b8b9d
JJ
188902002-03-21 Jakub Jelinek <jakub@redhat.com>
18891
18892 * config/avr/avr.md (length): Fix length computation for
18893 conditional branches.
18894
43577e6b
NB
188952002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
18896
18897 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
18898 sdbout.o, profile.o): Update.
18899 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
18900 langhook.
18901 * c-common.h (gettags): Move here from tree.h.
18902 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
18903 insert_block, getdecls, kept_level_p, global_bindings_p): New.
18904 * dbxout.c (dbxout_init): Use getdecls langhook.
18905 * expr.c (expand_expr): Use insert_block langhook.
18906 * fold-const.c: Include langhooks.h.
18907 (fold_range_test, fold_binary_op_with_conditional_arg,
18908 fold): Use global_bindings_p langhook.
18909 * integrate.c (expand_inline_function): Use insert_block langhook.
18910 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
18911 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
18912 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
18913 LANG_HOOKS_GETDECLS): New.
18914 (LANG_HOOKS_INITIALIZER): Update.
18915 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
18916 langhook.
18917 * langhooks.h (struct lang_hooks_for_decls): New.
18918 (struct lang_hooks): Update.
18919 * profile.c: Include langhooks.h.
18920 (output_func_start_profiler): Use new langhooks.
18921 * sdbout.c: Include langhooks.h.
18922 (sdbout_init, sdbout_finish): Use getdecls langhook.
18923 * stmt.c: Include langhooks.h.
18924 (expand_fixup, fixup_gotos): Use new langhooks.
18925 * stor-layout.c: Include langhooks.h.
18926 (variable_size): Use global_bindings_p langhook.
18927 * toplev.c (compile_file): Use getdecls langhook.
18928 * tree-inline.c (remap_block): Use insert_block langhook.
18929 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
18930 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
18931
5b19b10c
RH
189322002-03-21 Richard Henderson <rth@redhat.com>
18933
18934 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
18935 constants in .data when -fpic.
18936
e05af335
GP
189372002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18938
18939 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
18940 where appropriate.
18941
60ffc997
TT
189422002-03-21 Tom Tromey <tromey@redhat.com>
18943
18944 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
18945
75897075
RK
18946Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18947
a73afd69 18948 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 18949
75897075
RK
18950 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
18951
312687cf
EB
189522002-03-21 Eric Botcazou <ebotcazou@multimania.com>
18953 Richard Henderson <rth@redhat.com>
18954
18955 PR c/5354
18956 * c-common.c (c_expand_expr): Preserve result of a statement
18957 expression if needed.
18958
f0e1f482
JJ
189592002-03-21 Jakub Jelinek <jakub@redhat.com>
18960
18961 PR bootstrap/4195
18962 * genrecog.c (maybe_both_true_mode): Remove.
18963 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
18964 * machmode.def (Pmode): Likewise.
18965
c14b9960
JW
18966Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
18967
18968 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
18969 (nonlocal_mentioned_p_1): New function.
18970 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
18971 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
18972 (mark_constant_function): Recognize pure functions.
18973 * rtl.h (global_reg_mentioned_p): New prototype.
18974 * rtlanal.c (global_reg_mentioned_p,
18975 global_reg_mentioned_p_1): New function.
18976
aaa4d130
RO
189772002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18978
18979 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
18980 UNIX assert.h.
18981 * fixinc/fixincl.x: Regenerate.
18982
e5c4bd1b
JM
189832002-03-20 Jason Merrill <jason@redhat.com>
18984
18985 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
18986
852b81bb
MM
189872002-03-20 Michael Meissner <meissner@redhat.com>
18988
18989 * doc/invoke.texi (Optimize Options): Document that -O2 sets
18990 -fstrict-aliasing.
18991
86d8c251
BW
189922002-03-20 Bob Wilson <bob.wilson@acm.org>
18993
18994 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
18995 ".literal_position" directive before the constant pool.
18996
0a39c350
GP
189972002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18998
18999 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
19000 Add Craig Rodrigues.
19001 Add Brad Lucier to testers.
19002
71a83373
JJ
190032002-03-20 Jakub Jelinek <jakub@redhat.com>
19004
19005 PR target/4792
19006 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
19007 to if_then_else.
19008 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
19009 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
19010 instead of insn_extract.
19011
a29b099d
JJ
190122002-03-20 Jakub Jelinek <jakub@redhat.com>
19013
19014 PR bootstrap/4192
71a83373 19015 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
19016
19017 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
19018 stmt if some case has been output.
19019
048b1c95
JJ
190202002-03-20 Jakub Jelinek <jakub@redhat.com>
19021
19022 PR c/5972
19023 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
19024 movsfcc_1, movdfcc_1): Add %O2.
19025 * config/i386/i386.c (print_operand): Handle %ON.
19026 Print . before float condition codes in Sun as cmov syntax.
19027 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
19028 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
19029 no longer true.
19030
f4864588
PB
190312002-03-20 Philip Blundell <pb@nexus.co.uk>
19032
19033 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
19034 return instruction if PC was popped.
19035
3a307de4
BW
190362002-03-20 Bob Wilson <bob.wilson@acm.org>
19037
19038 * config/xtensa/xtensa.md: Remove unused type attributes.
19039 (adddi_carry, subddi_carry): Change type attribute to "multi".
19040
048b1c95 190412002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
19042
19043 PR optimization/5999, middle-end/5731
19044 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
19045 multiplications by reciprocals.
19046
7afff7cf
NB
190472002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
19048
19049 * Makefile.in: Update.
19050 * c-common.c: Include langhooks.h.
19051 (inline_forbidden_p): Use new hook.
19052 * diagnostic.c: Include langhooks.h.
19053 (format_with_decl, announce_function,
19054 default_print_error_function): Use new hook.
19055 * dwarf2out.c (dwarf2_name): Use new hook.
19056 * function.c: Include langhooks.h.
19057 (init_function_start): Use new hook.
19058 * langhooks-def.h (lhd_decl_printable_name): New.
19059 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
19060 (LANGHOOKS_INITIALIZER): Update.
19061 * langhooks.c (lhd_decl_printable_name): New.
19062 * langhooks.h (struct lang_hooks): New hook.
19063 * toplev.c (decl_name, decl_printable_name): Remove.
19064 (open_dump_file): Use new hook.
19065 (process_options): Remove old hook.
19066 * tree.h (decl_printable_name): Remove.
19067objc:
19068 * objc-act.c (objc_init): Remove old hook.
19069 (objc_printable_name): Export.
19070 * objc-act.h (objc_printable_name): New.
19071 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
19072
f78ce0b7
JB
190732002-03-19 Jim Blandy <jimb@redhat.com>
19074
19075 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
19076 the start_source_file debug hook, not the current line number.
19077
15b5aef3
RH
190782002-03-19 Richard Henderson <rth@redhat.com>
19079
19080 * flow.c (EH_USES): Provide default.
19081 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
19082 * doc/tm.texi (EH_USES): New.
19083
19084 * config/ia64/ia64.c (ia64_eh_uses): New.
19085 * config/ia64/ia64-protos.h: Update.
19086 * config/ia64/ia64.h (EH_USES): New.
19087
02a7a3fd
RH
190882002-03-19 Richard Henderson <rth@redhat.com>
19089
19090 * varasm.c (output_constant_def): Fix stupid typo.
19091
93f82d60
RH
190922002-03-19 Richard Henderson <rth@redhat.com>
19093
2842be05 19094 PR 5879
93f82d60
RH
19095 * except.c (current_function_has_exception_handlers): New.
19096 * except.h: Declare it.
19097 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
19098 Combine tests that disable all sibcalls for the function.
19099
ed4fbfa0
OH
191002002-03-19 Olivier Hainque <hainque@act-europe.fr>
19101
19102 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
19103 for INTEGER_CST.
19104
ebf0e888
RH
191052002-03-19 Richard Henderson <rth@redhat.com>
19106
1e82682b 19107 PR 5977, 5991
ebf0e888
RH
19108 * config/ia64/ia64.c: Revert 2002-03-01 patch.
19109 * config/ia64/ia64.h (INIT_EXPANDERS): New.
19110
e37b38d7
JB
191112002-03-19 Jim Blandy <jimb@redhat.com>
19112
19113 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
19114 name, even if the replacement list contains no tokens, as required
19115 by Dwarf.
19116
2a4ea326
JM
191172002-03-19 Jason Merrill <jason@redhat.com>
19118
f9d09ae5
JM
19119 * varasm.c (globalize_decl): Get the name from the RTL, not
19120 DECL_ASSEMBLER_NAME.
19121
2a4ea326
JM
19122 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
19123
99b96edb
BW
191242002-03-19 Bob Wilson <bob.wilson@acm.org>
19125
19126 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
19127 subdi_carry): Define.
19128
3774b567
DE
191292002-03-19 David Edelsohn <edelsohn@gnu.org>
19130
19131 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
19132 about -fpic/-fPIC if extra_warnings set.
19133
21ef78aa
DE
191342002-03-19 David Edelsohn <edelsohn@gnu.org>
19135
19136 * expr.c (expand_expr): Sign-extend CONST_INT generated from
19137 TREE_STRING_POINTER.
0c2fdcdf 19138 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 19139
91d4b3fd
RK
19140Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19141
19142 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
19143 in favor of SP if FRAME_POINTER_REQUIRED is false.
19144
2496c7bd
LB
191452002-03-19 Lars Brinkhoff <lars@nocrew.org>
19146
19147 * emit-rtl.c (gen_int_mode): New function.
19148 * rtl.h: Prototype for it.
19149 * combine.c (make_extraction, simplify_comparison), expmed.c
19150 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
19151 (convert_modes, store_field), optabs.c (expand_fix),
19152 simplify-rtx.c (neg_const_int, simplify_unary_real),
19153
19154 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
19155 Use it instead of GEN_INT (trunc_int_for_mode (...)).
19156
f735a153
JJ
191572002-03-19 Jakub Jelinek <jakub@redhat.com>
19158
19159 PR c/5656
19160 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
19161 convert_parm_for_inlining.
19162 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
19163 Define.
19164 * langhooks-def.h: Likewise.
19165 * objc/objc-lang.c: Likewise.
19166 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
19167 function.
19168 * tree-inline.c (initialize_inlined_parameters):
19169 Call convert_parm_for_inlining lang hook if needed.
19170 * c-typeck.c (c_convert_parm_for_inlining): New function.
19171 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
19172
1929c971
MM
191732002-03-18 Mark Mitchell <mark@codesourcery.com>
19174
b216cd4a 19175 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
19176 can be destroyed after expanding the argument.
19177 (expand_call): Likewise.
19178
c79ca0ac
EC
191792002-03-15 Eric Christopher <echristo@redhat.com>
19180
19181 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
19182 Fix register preference on last change.
19183 * config/mips/mips.c (mips_return_in_memory): New function.
19184 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
19185 * config/mips/mips-protos.h: Declare.
19186 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
19187 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
19188
07e2e444
AO
191892002-03-18 Alexandre Oliva <aoliva@redhat.com>
19190
1bfbbbcf
AO
19191 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
19192 a register too.
19193 (anddi3, iorsi3): Likewise.
19194
c066429e
AO
19195 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
19196 use %gprel for symbols that are going to be placed in linkonce
19197 sections.
19198
07e2e444
AO
19199 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
19200 RETURN_ADDRESS_POINTER_REGNUM to $ra.
19201 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
19202 not needed. Disregard leaf_function_p().
19203 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
19204 mips16 frame pointer.
19205 * config/mips/mips.md (store ra): Only to small SP offsets.
19206 2001-08-22 Graham Stott <grahams@redhat.com>
19207 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
19208 return a REG rtx for the return address register.
19209
eb8e00ea
BW
192102002-03-18 Bob Wilson <bob.wilson@acm.org>
19211
19212 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
19213 constant-pool addresses as "mode-dependent".
19214 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
19215
cbb92744
JJ
192162002-03-18 Jakub Jelinek <jakub@redhat.com>
19217
19218 PR target/5740
19219 * expr.c (emit_group_load): Use extract_bit_field if
19220 needed for CONCAT arguments.
19221
657d9449
RE
192222002-03-18 Richard Earnshaw <rearnsha@arm.com>
19223
91f3a802 19224 PR target/4863
657d9449
RE
19225 * arm.md (tablejump): Make this a define_expand. For PIC add the
19226 offset to the base of the table.
19227 (thumb_tablejump): Matcher for Thumb tablejump insn.
19228 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
19229 as the difference of two labels.
19230 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
19231 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
19232 tables in the code.
19233 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
19234 * arm.c (get_jump_table_size): If the table is not in the text
19235 section, return zero.
c79ca0ac 19236
5d5603e2
BS
192372002-03-18 Bernd Schmidt <bernds@redhat.com>
19238
19239 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
19240 of gen_rtx_SUBREG.
19241 (arm_reload_out_hi): Use gen_lowpart instead of
19242 gen_rtx_SUBREG to access QImode components.
19243 * config/arm/arm.md: Disable zero_extend split for QImode
19244 subregs in BIG_ENDIAN mode.
19245 (storehi_bigend): Match use of least significant byte.
19246 (storeinthi): Remove extraneous SUBREG.
66c17b64 19247 Add missing construction of operands[2].
5d5603e2
BS
19248 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
19249 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
19250 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
19251
df15fbc7
AH
192522002-03-18 Aldy Hernandez <aldyh@redhat.com>
19253
2496c7bd
LB
19254 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
19255 any_operand.
df15fbc7 19256
b83b7fa3
RH
192572002-03-17 Richard Henderson <rth@redhat.com>
19258
19259 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
19260 explicitly.
19261
6f7c00fe
HPN
192622002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
19263
19264 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
19265 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
19266
155038f2
KG
192672002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19268
720d42fa
KG
19269 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
19270
155038f2
KG
19271 * predict.c (estimate_bb_frequencies): Delete unused variables.
19272
e6542f4e
RH
192732002-03-17 Richard Henderson <rth@redhat.com>
19274
19275 * config/ia64/ia64.c (ia64_attribute_table): Move before
19276 targetm definition. Make static.
19277
52dabb6c
NB
192782002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
19279
19280 * c-common.h (yyparse, c_common_parse_file): New.
19281 * c-lang.c: Include c-common.h.
19282 (LANG_HOOKS_PARSE_FILE): Redefine.
19283 * c-lex.c: Include c-common.h.
19284 (yyparse): Rename c_common_parse_file. Call yyparse.
19285 * c-parse.in (yyparse): Remove macro.
19286 * c-tree.h (yyparse_1): Remove.
19287 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
19288 (LANG_HOOKS_INITIALIZER): Update.
19289 * langhooks.h (struct lang_hoooks): New hook parse_file.
19290 * toplev.c (compile_file): Use parse_file hook.
19291 * tree.h (yyparse): Remove.
e6542f4e 19292 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 19293
b5ffe606
HPN
192942002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
19295
ba82f58b
HPN
19296 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
19297 float_truncate, not fix.
19298 ("*truncdfsf2_real"): Ditto.
19299 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
19300
b5ffe606
HPN
19301 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
19302
c8d1b2b7
AO
193032002-03-16 Alexandre Oliva <aoliva@redhat.com>
19304
cfb773f9
AO
19305 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
19306 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
19307 where appropriate. Make the second reference to
19308 leaf_function_p a function call, as intended. Reindented.
19309
4dffef52
AO
19310 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
19311 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
19312
4f5bd6d7
AO
19313 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
19314 add register to non-constant into sp.
19315
c8d1b2b7
AO
19316 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
19317 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
19318 (mips16_gp_pseudo_rtx): Lose.
19319 (INIT_EXPANDERS): Deleted.
19320 * config/mips/mips.c (mips_init_machine_status): New.
19321 (mips_free_machine_status): New.
19322 (mips_mark_machine_status): New.
19323 (override_options): Set them.
19324 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
19325 (struct machine_function): ... new. Replaced all references.
19326 (mips_add_gc_roots): Don't mark them.
19327 (embedded_pic_fnaddr_reg): New, extracted from...
19328 (embedded_pic_offset): ... here.
19329 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
19330 (movsi): Likewise.
19331
b3124fac
NB
193322002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
19333
19334 * cppinit.c: Revert -MD removal.
19335
121449b6
SC
193362002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19337
19338 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
19339 soft registers by default for 68HC12.
19340 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
19341 when compiling with -fomit-frame-pointer.
19342 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
19343 (expand_epilogue): Likewise.
19344 (m68hc11_gen_rotate): Use exg when rotating by 8.
19345
840e2ff1
SC
193462002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19347
19348 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
19349 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
19350 (splits): Remove unused add splits.
19351 ("*addhi3_68hc12"): Tune constraints.
19352 ("addhi_sp"): Try to use X instead of Y in all cases and if the
19353 constant fits in 8-bits and D is dead use abx/aby instructions.
19354 ("*addhi3"): Remove extern declaration of ix_reg.
19355 ("*subsi3"): Optimize and provide new split.
19356 ("subhi3"): Cleanup.
19357 ("*subhi3_sp"): Avoid saving X if we know it is dead.
19358 (arith splits): For 68hc12 save the address register on the stack
19359 and do the arithmetic operation with a pop.
19360
3c9a5efe
SC
193612002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19362
19363 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
19364 allocating QImode in address registers.
19365 ("*movqi_m68hc11"): Likewise.
19366
e41f3392
JH
19367Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
19368
19369 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
19370
576786b0
NB
193712002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
19372
19373 * cppinit.c (print_help): Display -MD and -MMD.
19374 Don't display usage string. Update assertion syntax and
19375 typo.
19376 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
19377 (cpp_handle_option): Update.
19378
1ac458d4
CD
193792002-03-15 Chris Demetriou <cgd@broadcom.com>
19380
19381 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
19382 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
19383 and define it so that regardless of target CPU size,
19384 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
19385 of "int" rather than "long."
19386
1fcd592b
RH
193872002-03-15 Richard Henderson <rth@redhat.com>
19388
19389 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
19390 size as a tree.
19391
a0df6910
SC
193922002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19393
19394 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
19395 ("tstqi" split): Avoid using memory for tstqi on address register.
19396 (splits): Remove constraints.
19397 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
19398 ("cmpdf", "cmpsf"): Remove since not used.
19399 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
19400 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
19401
015a2e59
SC
194022002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19403
19404 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
19405 ("neghi2"): Tighten constraints.
19406 ("one_cmplsi2"): Optimize and simplify split.
19407 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
19408
cd28557c
SC
194092002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19410
19411 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
19412 and split of AND operation to clear the upper bits.
19413 ("*logicalsi3_zextqi"): Likewise.
19414 ("*logicallhi3_zexthi_ashift8"): Likewise.
19415 ("*logicalsi3_silshr16"): Likewise.
19416 ("logicalsi3_silshl16"): Likewise.
19417 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
19418
932657df
SC
194192002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19420
19421 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
19422 (m68hc11_indirect_p): New function.
19423 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
19424 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
19425 TARGET_M6812.
19426 (asm_print_register): Likewise.
19427 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
19428 (m68hc11_indirect_p): Declare.
19429 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
19430 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
19431 (TARGET_SWITCHES): New option -mrelax.
19432 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
19433 destination.
19434 ("iorsi3", "xorsi3"): Likewise.
19435 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
19436 ("*andhi3_mem"): New to handle destination in memory with bclr
19437 and a scratch register.
19438 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
19439 ("*andhi3_const"): New when operand2 is constant.
19440 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
19441 ("*andhi3_gen"): Cleanup of the old "andhi3".
19442 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
19443 ("xorqi3"): Update constraints.
19444
fdffea1a
SC
194452002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19446
19447 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
19448 for reg_equiv_memory_loc when the operand is a register that does
19449 not get a hard register (stack location).
19450 (tst_operand): After reload, accept all memory operand.
19451 (symbolic_memory_operand): Fix detection of symbolic references.
19452 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
19453 accept symbols and any constant.
19454
6272bc68
SC
194552002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19456
19457 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
19458 note on the insn that sets the soft frame register.
19459 (must_parenthesize): ix and iy are also reserved names.
19460 (print_operand_address): One more place where parenthesis are required
19461 to avoid confusion with register names.
19462 (m68hc11_gen_movhi): Allow push of stack pointer.
19463 (m68hc11_check_z_replacement): Fix handling of parallel with a
19464 clobber.
19465 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
19466 the replacement register is.
19467 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
19468 and D8_REGS classes.
19469 (MODES_TIEABLE_P): All modes are tieable except QImode.
19470
1d2d9def
SC
194712002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19472
19473 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
19474 (___subdi3): Likewise.
19475 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
19476 (__map_data_section): Optimize 68hc11 case.
19477
a0ccf503
SC
194782002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19479
19480 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
19481 than a shift to avoid adding a register with itself.
19482 (m68hc11_memory_move_cost): Take into account NO_REGS.
19483 (m68hc11_register_move_cost): Update and use memory move cost
19484 for soft registers.
19485 (m68hc11_address_cost): Make cost of valid offset not 0 so that
19486 it gives more opportunities to cse to optimize.
19487 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
19488 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
19489
6e4ae815
MM
194902002-03-15 Mark Mitchell <mark@codesourcery.com>
19491
19492 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
19493 * c-common.def (CLEANUP_STMT): New tree node.
19494 * c-common.h (CLEANUP_DECL): New macro.
19495 (CLEANUP_EXPR): Likewise.
19496 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
19497 * expr.c (expand_expr): Tidy.
19498 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
19499 * tree-inline.c (initialize_inlined_parameters): Clean up
19500 new local variables.
19501
a42519be
JJ
195022002-03-15 Jakub Jelinek <jakub@redhat.com>
19503
19504 PR bootstrap/4128
19505 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
19506 before movrXX only, use reg_overlap_mentioned_p.
19507 Only special case NE if just one insn can be generated.
19508
15409448
JM
195092002-03-15 Jason Merrill <jason@redhat.com>
19510
19511 * varasm.c (assemble_variable): Call resolve_unique_section before
19512 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
19513 of error_mark_node.
19514
3a4edb44
RE
195152002-03-15 Richard Earnshaw <rearnsha@arm.com>
19516
19517 PR target/5170
19518 * arm.md (split pattern for thumb shiftable immediates): Add comment
19519 explaining non-obvious test.
19520
32defa36
RE
195212002-03-15 Richard Earnshaw <rearnsha@arm.com>
19522
19523 PR target/5712
19524 * arm.md (movaddr, movaddr_insn): Delete.
19525
5cc90635
JM
195262002-03-15 Jason Merrill <jason@redhat.com>
19527
19528 * toplev.c (wrapup_global_declarations): Clarify variable handling.
19529 -fkeep-static-consts doesn't apply to comdats.
19530
ecb0eece
RH
195312002-03-14 Richard Henderson <rth@redhat.com>
19532
19533 * c-decl.c: Include c-pragma.h.
19534 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
19535 (finish_function): Tidy.
19536 * c-pragma.c: Include c-common.h.
19537 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
19538 (handle_pragma_weak): Use them.
19539 (init_pragma): Register pending_weaks.
19540 * c-pragma.h (maybe_apply_pragma_weak): Declare.
19541 * print-tree.c (print_node): Print DECL_WEAK.
19542 * varasm.c (mark_weak_decls): Remove.
19543 (remove_from_pending_weak_list): Remove.
19544 (add_weak): Remove.
19545 (asm_emit_uninitialised): Call globalize_decl for weak commons.
19546 (weak_decls): Make a tree_list.
19547 (declare_weak): Cons weak_decls directly.
19548 (globalize_decl): Remove weak_decls elements directly.
19549 (weak_finish): Simplify weak_decls walk. Don't weaken unused
19550 symbols. Don't pretend to handle aliases.
19551 (init_varasm_once): Update weak_decls registry.
19552 * Makefile.in: Update dependencies.
19553
98d2b17e
RH
195542002-03-14 Richard Henderson <rth@redhat.com>
19555
19556 PR target/5312
19557 * config/ia64/ia64.c: Include tm_p.h last.
19558 (gen_nop_type): Remove duplicate definition.
19559 (cycle_end_fill_slots): Set sched_data for second L slot.
19560 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
19561 (nop_cycles_until): Fix typos.
19562
f2f4927e
JJ
195632002-03-15 Jakub Jelinek <jakub@redhat.com>
19564
19565 PR optimization/5891
19566 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
19567
5025a549
DM
195682002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
19569
19570 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
19571 descriptors correctly.
19572
03e9dbc9
MM
195732002-03-14 Michael Meissner <meissner@redhat.com>
19574
19575 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
19576 100, allowing MAX_UNROLLED_INSNS to be overridden.
19577
19578 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
19579 --param.
19580
19581 * unroll.c (params.h): Include.
19582 (MAX_UNROLLED_INSNS): Delete, now in params.h.
19583
19584 * doc/invoke.texi (--param max-unroll-insns): Document.
19585
19586 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
19587
12249385
RE
195882002-03-14 Richard Earnshaw <rearnsha@arm.com>
19589
19590 * arm.md: Fix warnings about constraints in peepholes and splits.
19591
f0cce04a
ZW
195922002-03-14 Zack Weinberg <zack@codesourcery.com>
19593
19594 * cpphash.h (struct lexer_state): Remove line_extension member.
19595 * cpplib.c (dequote_string, do_linemarker): New functions.
19596 (linemarker_dir): New data object.
19597 (DIRECTIVE_TABLE): No longer need to interpret #line in
19598 preprocessed source. Delete obsolete comment about return
19599 values of handlers.
19600 (end_directive, directive_diagnostics, _cpp_handle_directive):
19601 Don't muck with line_extension.
19602 (directive_diagnostics): No need to issue warnings for
19603 linemarkers here.
19604 (_cpp_handle_directive): Issue warnings for linemarkers here,
19605 when appropriate. Dispatch linemarkers to do_linemarker, not
19606 do_line.
19607 (do_line): Code to handle linemarkers split out to do_linemarker.
19608 Convert escape sequences in filename argument, both places.
19609
19610 * cppmacro.c (quote_string): Rename cpp_quote_string and
19611 export. All callers changed.
19612 * cpplib.h (cpp_quote_string): Prototype.
19613 * cppmain.c (print_line): Call cpp_quote_string on to_file
19614 before printing it.
19615
19616 * doc/cpp.texi: Document that escapes are now interpreted in
19617 #line and in linemarkers, and that non-printing characters are
19618 converted to octal escapes when linemarkers are generated.
19619
19620Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
19621
19622 * emit-rtl.c (try_split): Use delete_insns.
19623 * recog.c (split_all_insns): Fix terminating condition.
19624
c882c7ac
RE
196252002-03-14 Richard Earnshaw <rearnsha@arm.com>
19626 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19627
19628 PR target/5828
19629 * arm.c (arm_output_epilogue): Fix floating-point register save
19630 adjustment when using a frame pointer.
19631
3f26edaa
RS
196322002-03-14 Richard Sandiford <rsandifo@redhat.com>
19633
19634 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
19635 * config/mips/mips.c (compute_frame_size): Retrofit them here.
19636 (save_restore_insns, mips_expand_epilogue): And here.
19637 (build_mips16_call_stub): And here.
19638 (mips_function_value): Use the new macros to decide whether a single
19639 or complex float can be returned in floating-point registers. Return
19640 a parallel rtx in the complex case.
19641
1e3881c2
JH
19642Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
19643
19644 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
19645 call after liveness analysis.
19646
19647 * recog.c (split_insn): Use delete_insn_and_edges.
19648
19649 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
19650 instructions to have branch prediction notes.
19651 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
19652
200ef634
GK
196532002-03-14 Geoffrey Keating <geoffk@redhat.com>
19654
19655 * configure.in: Don't pass -Wno-long-long to a ADA compiler
19656 that doesn't support it.
19657 * configure: Regenerate.
19658
0b82d204
JJ
196592002-03-13 Jakub Jelinek <jakub@redhat.com>
19660
19661 PR target/5626
19662 * config/sparc/sparc.md (normal_branch, inverted_branch,
19663 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
19664 inverted_fp_branch): Adjust calls to output_cbranch.
19665 Set length attribute.
19666 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
19667 output_v9branch. Set length attribute.
19668 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
19669 predicates.
19670 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
19671 (output_cbranch): Likewise. Handle far branches.
19672 (output_v9branch): Handle far branches.
19673 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
19674 Adjust prototypes.
19675 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
19676 noov_compare64_op predicates.
19677
7a8de19b
JM
196782002-03-13 Jason Merrill <jason@redhat.com>
19679
19680 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
19681 into the function and constify it.
19682 * gthr-dce.h, gthr-solaris.h: Likewise.
19683
2a55fd42
DE
196842002-03-13 David Edelsohn <edelsohn@gnu.org>
19685
19686 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
19687 * config/rs6000/rs6000.c (rs6000_va_arg): Use
19688 std_expand_builtin_va_arg if not ABI_V4.
19689
19c5b1cf
JM
196902002-03-13 Jason Merrill <jason@redhat.com>
19691
19692 * varasm.c (globalize_decl): New fn.
19693 (assemble_start_function): Use it.
19694 (asm_emit_uninitialized): Use it.
19695 (assemble_alias): Use it.
19696 (assemble_variable): Use it.
19697
2a15f5e1
HPN
196982002-03-13 Hans-Peter Nilsson <hp@axis.com>
19699
19700 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 19701 2002-03-12 internal visibility change.
2a15f5e1
HPN
19702 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
19703 visibility into SYMBOL_REF_FLAG.
19704
c0a3eeac
UW
197052002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
19706
19707 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
19708 VOIDmode operand. Add compile-time optimization for constant results.
19709
a1652cee
JM
197102002-03-12 Jason Merrill <jason@redhat.com>
19711
19712 * c-typeck.c (convert_for_assignment): Don't allow conversions
19713 between pointers and references. Only allow lvalues to convert to
19714 reference.
19715
c52a375d
HP
197162002-03-13 Hartmut Penner <hpenner@de.ibm.com>
19717
f0cce04a
ZW
19718 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
19719 before prologue, to avoid scheduling problems.
c52a375d 19720
e387e99b
JJ
197212002-03-13 Jakub Jelinek <jakub@redhat.com>
19722
19723 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
19724 (ELIMINABLE_REGS): Add sfp->sp.
19725 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
19726
197272002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
19728
19729 PR optimization/5892
19730 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
19731
4061c1a3
JJ
197322002-03-13 Jakub Jelinek <jakub@redhat.com>
19733
19734 * loop.c (basic_induction_var): Don't call convert_modes if mode
19735 classes are different.
19736
5b43fed1
RH
197372002-03-12 Richard Henderson <rth@redhat.com>
19738
9f53e965
RH
19739 PR optimization/5901
19740 * function.c (reposition_prologue_and_epilogue_notes): Position
19741 the markers after/before the last/first insn not deleted.
19742
197432002-03-12 Richard Henderson <rth@redhat.com>
19744
19745 PR optimization/5878
5b43fed1
RH
19746 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
19747 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
19748 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
19749
19750 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
19751 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
19752 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
19753
19754 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
19755 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
19756 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
19757 also. Don't set it if not flag_pic.
19758 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
19759 to be INVALID_REGNUM when not used.
19760
4e9bb42b
AH
197612002-03-13 Aldy Hernandez <aldyh@redhat.com>
19762
5b43fed1
RH
19763 * expmed.c (store_bit_field): Reset alias set for memory.
19764 (extract_bit_field): Same.
4e9bb42b 19765
2f9834e8
KG
197662002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19767
19768 * c-common.c (c_tree_code_type, c_tree_code_length,
19769 c_tree_code_name, add_c_tree_codes): Delete.
19770 * c-common.h (add_c_tree_codes): Delete.
19771 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
19772 Define.
19773 * c-objc-common.c (c_objc_common_init): Don't call
19774 add_c_tree_codes, instead set lang_unsafe_for_reeval.
19775 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
19776 objc_tree_code_name, add_objc_tree_codes): Delete.
19777 (objc_init): Don't call add_objc_tree_codes.
19778 * objc/objc-lang.c (tree_code_type, tree_code_length,
19779 tree_code_name): Define.
19780 * toplev.c (lang_independent_init): Don't set
19781 tree_code_length[IDENTIFIER_NODE].
19782 * tree.c (tree_code_type, tree_code_length, tree_code_name):
19783 Delete definitions, moved to language front-ends.
19784 * tree.def (IDENTIFIER_NODE): Hardwire the length.
19785 * tree.h (tree_code_type, tree_code_length, tree_code_name):
19786 Const-ify.
19787 (tree_code_length): Change type to unsigned char.
19788
36ad2436
RH
197892002-03-12 Richard Henderson <rth@redhat.com>
19790
19791 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
19792 internal visibility change.
19793
0ae02efa
BW
197942002-03-12 Bob Wilson <bob.wilson@acm.org>
19795
19796 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
19797 validize_mem() instead of change_address to avoid clobbering
19798 memory attributes.
19799
35bb2bee
NB
198002002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
19801
19802 * c-lex.h (position_after_whitespace): Remove.
19803
62ae2529
JJ
198042002-03-12 Jakub Jelinek <jakub@redhat.com>
19805
19806 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
19807 (lex_string): Use unsigned char pointers.
19808
6a45951f
UW
198092002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
19810
19811 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
19812 is not a valid memory_operand.
19813
e2fb85da
BW
198142002-03-12 Bob Wilson <bob.wilson@acm.org>
19815
19816 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
19817 * config/xtensa/lib1funcs.asm: Fix copyright to include
19818 special case for libgcc files.
19819 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
19820 (__divsi3): Likewise.
19821 (__umodsi3): Likewise.
19822 (__modsi3): Likewise.
19823 * config/xtensa/lib2funcs.S: Fix copyright to include
19824 special case for libgcc files.
19825
5b8619f8
TR
198262002-03-12 Tom Rix <trix@redhat.com>
19827
19828 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 19829 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
19830 (ignore_library): Same.
19831
089c8f97
BW
198322002-03-12 Bob Wilson <bob.wilson@acm.org>
19833
19834 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
19835
958c70ff
BW
198362002-03-12 Bob Wilson <bob.wilson@acm.org>
19837
19838 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
19839 to function_section before writing out the constant pool.
19840
a65c591c
DE
198412002-03-12 David Edelsohn <edelsohn@gnu.org>
19842
19843 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
19844 zero_constant.
19845 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
19846
198472002-03-12 Alan Modra <amodra@bigpond.net.au>
19848
19849 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
19850 (adddi3): Likewise.
19851 (movdf): Likewise.
19852 (movdi): Likewise.
19853 (cmpsi splitter): Likewise.
19854 (modsi3): Fail if <= 0.
19855 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
19856 redundant test when HOST_BITS_PER_WIDE_INT != 32.
19857 (reg_or_sub_cint64_operand): Likewise.
19858 (num_insns_constant_wide): Optimize sign extension.
19859 (rs6000_legitimize_address): Likewise.
19860
17720332
AM
198612002-03-12 Andrew MacLeod <amacleod@redhat.com>
19862
19863 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
19864 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
19865
cd49f073
AM
198662002-03-12 Andrew MacLeod <amacleod@redhat.com>
19867
19868 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
19869 address calculation.
19870
6a4e49c1
UW
198712002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
19872
19873 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
19874 scratch register to DImode / TImode.
19875 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
19876 register used does not overlap the target.
19877
54b6670a
KG
198782002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19879
19880 * Makefile.in (debug.o): Depend on debug.h.
19881 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
19882 * debug.c (do_nothing_debug_hooks): Likewise.
19883 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
19884 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
19885 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
19886 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
19887 * dwarfout.c (dwarf_debug_hooks): Likewise.
19888 * integrate.c (output_inline_function): Likewise.
19889 * objc/objc-act.c (synth_module_prologue): Likewise.
19890 * sdbout.c (sdb_debug_hooks): Likewise.
19891 * toplev.c (debug_hooks): Likewise.
19892 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
19893
2465bf76
KG
198942002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19895
19896 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
19897 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
19898 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
19899 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
19900 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
19901 * defaults.h (POINTER_SIZE): Define.
19902 * doc/tm.texi (POINTER_SIZE): Document default.
19903
53f3e9ca
KG
199042002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19905
19906 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
19907
44d3eb5b
RH
199082002-03-11 Richard Henderson <rth@redhat.com>
19909
19910 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
19911 if rebuild_label_notes_after_reload.
19912
4a085d2e
HPN
199132002-03-12 Hans-Peter Nilsson <hp@axis.com>
19914
19915 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
19916 emit pic register load if "internal" visibility.
19917 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
19918 (cris_expand_builtin_va_arg): Do all computations on trees.
19919
bc204393
RH
199202002-03-11 Richard Henderson <rth@redhat.com>
19921
19922 * rtlanal.c: Include recog.h.
19923 (keep_with_call_p): Fix thinko.
19924 * Makefile.in (rtlanal.o): Update dependencies.
19925
6b8b9d7b
CM
199262002-03-11 Chris Meyer <cmeyer@gatan.com>
19927
19928 * genflags.c (gen_insn): Use IS_VSPACE.
19929 * genoutput.c (output_insn_data): Likewise.
19930 (process_template): Likewise.
19931
6c40858f
RH
199322002-03-11 Richard Henderson <rth@redhat.com>
19933
19934 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
19935
40adaa27
NB
199362002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
19937
19938 * Makefile.in: Update.
6c40858f 19939 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 19940 Update documentation.
6c40858f
RH
19941 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
19942 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 19943
049b03f4
ZW
199442002-03-11 Zack Weinberg <zack@codesourcery.com>
19945
19946 * Makefile.in: Give texi2pod its input file as a command line
19947 argument, not on stdin.
19948
61eece67
DN
199492002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
19950 Daniel Berlin <dan@dberlin.org>
19951
19952 C++ alias analysis improvement.
f0cce04a 19953 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
19954 classes too.
19955
a65c591c
DE
199562002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
19957
ff080aba
UW
19958 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
19959
1682dbb1
DR
199602002-03-11 Douglas B Rupp <rupp@gnat.com>
19961
fa2d765a
DR
19962 * toplev.c (vms_fopen): Remove, not needed.
19963
6f1fd286
DR
19964 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
19965
b230e057
DR
19966 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
19967
cb9a8e97
DR
19968 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
19969 for FP, already done later.
19970
1682dbb1
DR
19971 * toplev.c (debug_args): Add entry for VMS_DEBUG.
19972 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
19973
3fcaac1d
RS
199742002-03-11 Richard Sandiford <rsandifo@redhat.com>
19975
19976 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
19977 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
19978 LARGEST_EXPONENT_IS_NORMAL for the given mode.
19979 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
19980 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
19981 (ediv, emul, eldexp, esqrt): Likewise.
19982 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
19983 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
19984 (saturate): New function.
19985 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
19986 (make_nan): Use a saturation value instead of a NaN if
19987 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
19988 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
19989 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
19990 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
19991 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
19992 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
19993 !ROUND_TOWARDS_ZERO.
19994 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
19995 (ROUND_TOWARDS_ZERO): Document.
19996
d25558be
AJ
199972002-03-11 Andreas Jaeger <aj@suse.de>
19998
19999 * cfg.c (dump_flow_info): Remove unused variable.
20000
c71f9ae7
HPN
200012002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
20002
20003 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
20004 computations on trees.
20005
561c9153
RH
200062002-03-10 Richard Henderson <rth@redhat.com>
20007
932b4e3e 20008 PR 5693:
561c9153
RH
20009 * reload.c (copy_replacements_1): New.
20010 (copy_replacements): Use it to recurse through the rtx.
20011
26b738be
RH
200122002-03-10 Richard Henderson <rth@redhat.com>
20013
20014 * loop.c (strength_reduce): Compute number of iterations as
20015 unsigned HOST_WIDE_INT.
20016
8d8a083e
RH
200172002-03-10 Richard Henderson <rth@redhat.com>
20018
20019 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
20020 to move away from the end of the block.
20021
32810ba3
NB
200222002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
20023
20024 PR preprocessor/5899
20025 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 20026
2b03d201
KG
200272002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20028
f90c544c
KG
20029 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
20030
2b03d201
KG
20031 * attribs.c (decl_attributes): Fix signed/unsigned warning.
20032
3ec1b4cb
HPN
200332002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
20034
20035 * config/mmix/mmix.c: Improve comments.
20036 (mmix_target_asm_function_prologue): Drop variable
20037 empty_stack_frame. Don't allocate unused slot above fp.
20038 (mmix_target_asm_function_epilogue): Mirror prologue changes.
20039 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
20040 brace in first column.
20041 (enum reg_class): Ditto.
20042 (FIRST_PARM_OFFSET): Now 0.
20043 (USER_LABEL_PREFIX): Remove #if 0:d definition.
20044
27e486c5
KG
200452002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20046
20047 * combine.c (make_extraction): Fix error in last change.
20048
0139adca
KG
200492002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20050
20051 * c4x.c (c4x_fp_reglist): Const-ify.
20052 * cris.c (cris_print_operand): Likewise.
20053 * i386.c (ix86_va_arg): Likewise.
20054 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
20055 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
20056 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
20057 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
20058 * mcore.h (regno_reg_class): Likewise.
20059 * mips.c (gen_int_relational): Likewise.
20060 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
20061 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 20062 * pdp11.c (move_costs): Likewise.
0139adca
KG
20063 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
20064 * s390.c (s390_branch_condition_mnemonic, regclass_map):
20065 Likewise.
20066 * s390.h (regclass_map): Likewise.
20067 * sh.c (shift_amounts): Likewise.
a4334c36 20068 * sh.md (rotlsi3): Likewise.
0139adca 20069
889b90a1
GK
200702002-03-09 Geoffrey Keating <geoffk@redhat.com>
20071
20072 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
20073 (ne0+5): Use new clobber to generate proper shift pattern.
20074 Patch by Michael Matz <matz@kde.org>.
20075
2877e0ae
AS
200762002-03-09 Andreas Schwab <schwab@suse.de>
20077
20078 * gcc.c (validate_all_switches): Also handle `%W{...}'.
20079
79b51cd7
GK
200802002-03-09 Geoffrey Keating <geoffk@redhat.com>
20081
20082 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
20083
e0f1be5c
JJ
200842002-03-09 Jakub Jelinek <jakub@redhat.com>
20085
20086 PR middle-end/5877
20087 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
20088 even for non-representable constants.
20089
0a7ec763
RK
20090Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20091
93fe8e92
RK
20092 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
20093 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
20094 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
20095 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
20096 (pop_function_context): Compute MAY_SHARE parameter for
20097 fixup_var_refs.
20098 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
20099 (gen_mem_addressof): Call fixup_var_refs with new parm.
20100
0a7ec763
RK
20101 * combine.c (make_extraction): Don't make extension of CONST_INT.
20102
a85cd407
AO
201032002-03-09 Alexandre Oliva <aoliva@redhat.com>
20104
9445b814
AO
20105 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
20106 in o32 and o64 ABIs.
20107 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
20108 but getting fixed-size structs passed in registers regardless of
20109 padding in o32 and o64 ABIs.
20110
a85cd407
AO
20111 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
20112 offset before loading address of argument passed by transparent
20113 reference.
20114
c51fbe40
JDA
201152002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
20116
20117 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
20118
918e70dd
AO
201192002-03-09 Alexandre Oliva <aoliva@redhat.com>
20120
20121 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
20122 marker such that registers after it are saved.
20123
3070dd00
KG
201242002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20125
20126 * sparc.c (arith_4096_operand): Fix error in last change.
20127
e25d11b0
AO
201282002-03-08 Alexandre Oliva <aoliva@redhat.com>
20129
20130 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
20131 defaults for MEABI.
20132
41daaf0e
AH
201332002-03-08 Aldy Hernandez <aldyh@redhat.com>
20134
5b43fed1
RH
20135 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
20136 vectors.
41daaf0e 20137
fa139b00
AH
201382002-03-08 Aldy Hernandez <aldyh@redhat.com>
20139
5b43fed1 20140 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 20141
c51d95ec
JH
20142Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
20143
20144 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
20145 removed; fix return value.
20146 * combine.c (combine_instructions): Dirtify blocks where we failed to
20147 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
20148 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
20149
3b25fbfe
KG
201502002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20151
20152 * gcse.c (insert_insn_end_bb): Fix typo in last change.
20153
189ae0f4
JH
20154Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
20155
20156 * recog.c (peephole2_optimize): Re-distribute EH edges.
20157
24965e7a
NB
201582002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
20159
20160 * expr.c (expand_expr): Use unsave lang hook.
20161 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
20162 (LANG_HOOKS_INITIALIZER): Update.
20163 * langhooks.h (struct lang_hooks): New hook unsave.
20164 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
20165 (unsave_expr_1): Remove unused lang_unsave_expr_now.
20166 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
20167 (unsave_expr_now): Remove.
20168 * tree.h (unsave_expr_now, lang_unsave,
20169 lang_unsave_expr_now): Remove.
20170 (lhd_unsave): New.
20171
1e4e95d6
AJ
201722002-03-08 Andreas Jaeger <aj@suse.de>
20173
20174 * flow.c (propagate_block_delete_insn): Remove unused variable.
20175
054ef905
KH
201762002-03-08 Kazu Hirata <kazu@hxi.com>
20177
20178 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
20179 insn length for memory load/store.
20180
5304400d 201812002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 20182
5304400d
CR
20183 * doc/install.texi (--with-libiconv-prefix): Document.
20184
81034129
MB
201852002-03-08 Michael Y. Brukman <myb2@cornell.edu>
20186
20187 * doc/sourcebuild.texi: Fix typo.
20188
71db7d03
JJ
201892002-03-08 Jakub Jelinek <jakub@redhat.com>
20190
20191 PR c/3711
20192 * builtins.c (std_expand_builtin_va_arg): Do all computations on
20193 trees.
20194
127c1ba5
RK
20195Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20196
20197 * rtl.c (copy_most_rtx): Move from here ...
20198 * emit-rtl.c (copy_most_rtx): ... to here.
20199
8a13c092
AO
202002002-03-08 Alexandre Oliva <aoliva@redhat.com>
20201
5faae4f7
AO
20202 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
20203 SUBTARGET_CPP_SIZE_SPEC.
20204 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
20205
8a13c092
AO
20206 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
20207
4ec59de2
MH
202082002-03-07 Matt Hiller <hiller@redhat.com>
20209
20210 * gensupport.c (first_dir_md_include): Renamed from include;
20211 change all references.
20212 (last_dir_md_include): Renamed from last_include; change all
20213 references.
20214 (init_md_reader): Unconditionally initialize base_dir whether or
20215 not filename is a relative path.
20216
12f61e77
AO
202172002-03-07 Alexandre Oliva <aoliva@redhat.com>
20218
95356058
AO
20219 * config/fp-bit.c (_unord_f2): Compile it in even if
20220 US_SOFTWARE_GOFAST is enabled.
20221
12f61e77
AO
20222 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
20223 NULL_RTX. Set all HFmode operations as NULL_RTX.
20224 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
20225 NULL_RTX, try reversing the comparison and the operands.
20226
6d7a1c4c
UW
202272002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
20228
20229 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
20230 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
20231 and MATCH_OP_DUP.
20232
66d54344
JH
20233Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
20234
20235 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
20236
068473ec
JH
20237Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
20238
20239 * basic-block.h (fixup_abnormal_edges): Declare.
20240 * reload1.c (fixup_abnormal_edges): New function.
20241 * reg-stack.c (convert_regs): Use it.
20242
20243 * gcse.c (insert_insn_end_bb): Handle trapping insns.
20244
20245 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
20246
71925bc0
RS
202472002-03-07 Richard Sandiford <rsandifo@redhat.com>
20248
20249 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
20250 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
20251 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
20252 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
20253 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
20254 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
20255 unless x and y could be infinite.
20256 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
20257 Check that the common type of both arguments is a real, even for
20258 targets without unordered comparisons. Allow an integer argument
20259 to be compared against a real.
20260 (expand_tree_builtin): Use expand_unordered_cmp.
20261 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
20262 * cse.c (fold_rtx): Likewise. Fix indentation.
20263 * fold-const.c (fold_real_zero_addition_p): New.
20264 (fold): Use it, and the new HONOR_... macros.
20265 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
20266 * jump.c (reversed_comparison_code_parts): After searching for
20267 the true comparison mode, use HONOR_NANS to decide whether it
20268 can be safely reversed.
20269 (reverse_condition_maybe_unordered): Remove IEEE check.
20270 * simplify-rtx.c (simplify_binary_operation): Use the new macros
20271 to decide which simplifications are valid. Allow the following
20272 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
20273 and (a - -b) to (a + b).
20274 (simplify_relational_operation): Use HONOR_NANS.
20275 * doc/tm.texi: Document the MODE_HAS_... macros.
20276
145d3bf2
RE
202772002-03-07 Richard Earnshaw <rearnsha@arm.com>
20278
20279 * combine.c (simplify_comparison): If simplifying a logical shift
20280 right and compare with constant, force the comparison to unsigned.
20281
76a773f3
AH
202822002-03-07 Aldy Hernandez <aldyh@redhat.com>
20283
5b43fed1 20284 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 20285
5b43fed1
RH
20286 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
20287 -mabi=no-altivec
20288 (alt_reg_names): Remove % for vrsave.
76a773f3 20289
ab55f58c
RH
202902002-03-06 Richard Henderson <rth@redhat.com>
20291
5ddec02e 20292 PR optimization/5844
ab55f58c
RH
20293 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
20294 if used indicates we've already emitted one copy of an operand.
20295 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
20296 (gen_split): Supply a non-null used.
20297
e16e3291
UW
202982002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
20299
5b43fed1 20300 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 20301
1e4e95d6 20302 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
20303 but simply fail if the expression is too complex to simplify.
20304 (simplify_gen_binary): Handle simplify_plus_minus failures.
20305
2ca6672b
JH
20306Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
20307
20308 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
20309 consistently call delete_trivially_dead_insns after CSE and GCSE;
20310 fix DFI_life dumping; do jump threading after liveness; do crossjumping
20311 after liveness2; update comment in last crossjumping.
20312 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
20313
31d0dd4f
JL
20314Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
20315
d094b0b3
JL
20316 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
20317 after completing fast dead code elimination.
20318
31d0dd4f
JL
20319 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
20320 COMPARE operator.
1e4e95d6 20321
f2b958b1
PE
203222002-03-06 Phil Edwards <pme@gcc.gnu.org>
20323
20324 * version.c: Fix misplaced leading blanks on first line.
20325
a2877a09
JH
20326Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
20327
20328 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
20329
fe477d8b
JH
20330Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
20331
20332 * cfgcleanup.c (mentions_nonequal_regs): New function.
20333 (thread_jump): Use it.
20334 * toplev.c (rest_of_compilation): Run jump threading after
20335 liveness.
20336
2041cde4
JJ
203372002-03-06 Jakub Jelinek <jakub@redhat.com>
20338
20339 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
20340 patch.
20341
82d68d46
JH
20342Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
20343
20344 * predict.c (estimate_bb_frequencies): Do not reload the
20345 frequencies from notes.
20346
3dec4024
JH
20347Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
20348
20349 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
20350 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
20351
20352 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
20353 delete_noop_moves): Return indeger.
20354 * flow.c (ndead): New variable.
20355 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
20356 BB argument; update callers.
20357 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
20358 (life_analysis): Do not call purge_all_dead_edges.
20359 (update_life_info): Return number of deleted insns; print statistics.
20360 (update_life_info_in_dirty_blocks): likewise.
20361 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
20362 return number of insns deleted.
20363
20364 * cse.c: Include timevar.h
20365 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
20366 iterate until stabilizes; print statistics; return number of killed
20367 insns.
20368 * Makefile.in: (cse.o): Add timevar.h dependency
20369 * rtl.h (delete_trivially_dead_insns): New.
20370 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
20371 * toplev.c (rest_of_compilation): Update callers.
20372
20373 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
20374 (try_optimize_cfg): Do not update liveness.
20375 (cleanup-cfg): Loop until try_optimize_cfg and dead code
20376 removal stabilizes; use delete_trivially_dead_insns.
20377
20378 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
20379
c7544dd8
ZW
203802002-03-05 Zack Weinberg <zack@codesourcery.com>
20381
20382 * cppmain.c (setup_callbacks): Disable #pragma and #ident
20383 callbacks when processing assembly language.
20384
50b424a9
JDA
203852002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
20386
20387 * pa.h (ASM_FILE_END): Define.
20388 * som.h (ASM_FILE_END): Delete.
20389
20390 * pa.c (function_arg): Don't pass floats in general registers in
20391 indirect calls if TARGET_ELF32.
20392
6185f217
RH
203932002-03-05 Richard Henderson <rth@redhat.com>
20394
20395 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
20396
3020a4b2
DS
203972002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
20398
20399 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
20400
65649daa
JJ
204012002-03-05 Jakub Jelinek <jakub@redhat.com>
20402
20403 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
20404 -r command line. Don't hide any symbols if not building
20405 shared libgcc.
20406
5a1a3e5e
JH
20407Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
20408
20409 * cfg.c (dump_flow_info): Warn about profile mismatches.
20410 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
20411 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
20412
170c56da
JJ
204132002-03-05 Jakub Jelinek <jakub@redhat.com>
20414
20415 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
20416 wide volatile memory by parts.
20417
6d051694
JJ
204182002-03-05 Jakub Jelinek <jakub@redhat.com>
20419
20420 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
20421 is NULL.
20422
28bcfd4d
RH
204232002-03-05 Richard Henderson <rth@redhat.com>
20424
5b43fed1 20425 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 20426
75227a33
GK
204272002-03-04 Geoffrey Keating <geoffk@redhat.com>
20428
20429 * toplev.c (documented_lang_options): Document more
20430 language-specific options.
20431 * doc/invoke.texi (Warning Options): Correct documentation for
20432 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
20433 * c-decl.c (c_decode_option): Use a table to handle warning options.
20434
4f1aac42
HPN
204352002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
20436
20437 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
20438 parameter to mmix_encode_section_info.
20439 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
20440 relocatably. Always produce ELF, not mmo if linking relocatably.
20441 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
20442 first is non-zero, don't add symbol prefix.
20443 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
20444 prototype accordingly.
20445
12345543
KW
204462002-03-04 Krister Walfridsson <cato@df.lth.se>
20447
20448 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
20449
8e97db8f
JM
204502002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
20451
20452 * configure.in: Increase required makeinfo version to 4.1.
20453 * configure: Regenerate.
20454
06487868
GK
204552002-03-04 Geoffrey Keating <geoffk@redhat.com>
20456
20457 * .cvsignore: Remove *.info* and genrtl*; these files are generated
20458 elsewhere now.
20459
cff42170
JM
204602002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
20461
20462 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
20463 * doc/invoke.texi: Fix @math uses.
20464
974a7f56
JH
20465Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
20466
20467 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
20468 removal
20469
3b7d0e98
AH
204702002-03-03 Aldy Hernandez <aldyh@redhat.com>
20471
5b43fed1
RH
20472 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
20473 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 20474
5b43fed1 20475 * config/rs6000/t-ppcendian: New.
3b7d0e98 20476
65f2f288
HB
204772002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
20478
20479 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
20480 nonimmediate_src_operand and nonimmediate_lsrc_operand to
20481 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
20482
8ce0a8a5
RH
204832002-03-03 Richard Henderson <rth@redhat.com>
20484
20485 * toplev.c (rest_of_decl_compilation): Revert last two changes.
20486
ba31d94e
ZW
204872002-03-03 Zack Weinberg <zack@codesourcery.com>
20488
20489 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
20490 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
20491 tree.c, config/m68k/m68k.c:
20492 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
20493 REAL_ARITHMETIC blocks unconditional. Delete some further
20494 #ifdef blocks predicated on REAL_ARITHMETIC.
20495 * flags.h, toplev.c: Delete remaining references to
20496 flag_pretend_float.
20497
20498 * doc/invoke.texi: Remove documentation of -fpretend-float.
20499 * doc/tm.texi: Describe the various REAL_* macros as provided by
20500 real.h, not by the target configuration files.
20501
20502 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
20503 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
20504 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
20505 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
20506 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
20507 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
20508 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
20509 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
20510 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
20511 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
20512 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
20513 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
20514 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
20515 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
20516 config/xtensa/xtensa.h:
20517 Do not define, undefine, or mention in comments any of
20518 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
20519 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
20520 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
20521 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
20522 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
20523 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
20524 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
20525 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
20526 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
20527
9a571cfd
KG
205282002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20529
e81dd381
KG
20530 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
20531 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
20532 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
20533 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
20534 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
20535 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
20536 Delete.
20537 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 20538 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 20539
9a571cfd
KG
20540 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
20541 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
20542 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
20543
ca7558fc
KG
205442002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20545
20546 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
20547 lieu of explicit sizeof/sizeof.
20548 * i386.c (override_options, ix86_init_mmx_sse_builtins,
20549 ix86_expand_builtin): Likewise.
20550 * mips.c (mips_add_gc_roots): Likewise.
20551 * mmix.c (mmix_output_condition): Likewise.
20552 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
20553 altivec_init_builtins): Likewise.
20554 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
20555 * cppexp.c (Nsuff, parse_number): Likewise.
20556 * cppinit.c (builtin_array_end): Likewise.
20557 * gcc.c (n_default_compilers, process_command): Likewise.
20558 * genpreds.c (output_predicate_decls): Likewise.
20559 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
20560 * lcm.c (N_ENTITIES): Likewise.
20561 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 20562
41c78c88
RH
205632002-03-03 Richard Henderson <rth@redhat.com>
20564
20565 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
20566 for types or labels.
20567
9e9b71e6
RH
205682002-03-03 Richard Henderson <rth@redhat.com>
20569
20570 * c-decl.c (start_decl): Initialized variables are not common.
20571
c26a6db8
PB
205722002-03-02 Per Bothner <per@bothner.com>
20573
20574 * gcc.c (option_map): Suport new --bootclasspath option.
20575 --CLASSPATH is now just an alias for --classpath.
20576
9e8aab55
RH
205772002-03-02 Richard Henderson <rth@redhat.com>
20578
20579 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
20580 load if "internal" visibility.
20581 * doc/extend.texi: Document visibility meanings.
20582
b3bbd220
RH
205832002-03-02 Richard Henderson <rth@redhat.com>
20584
20585 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
20586 to functions as well.
20587
b14707c3
RH
205882002-03-02 Richard Henderson <rth@redhat.com>
20589
20590 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
20591 (handle_visibility_attribute): Don't call assemble_visibility.
20592 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
20593 without asmspec. Invoke assemble_alias when needed.
20594 * varasm.c (maybe_assemble_visibility): New.
20595 (assemble_start_function, assemble_variable, assemble_alias): Use it.
20596
b2003250
RH
205972002-03-02 Richard Henderson <rth@redhat.com>
20598
20599 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
20600 invoke ENCODE_SECTION_INFO with first call flag.
20601
20602 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
20603 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 20604 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
20605 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
20606 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
20607 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
20608 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
20609 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
20610 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
20611 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
20612 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
20613 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
20614 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
20615 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
20616 config/mcore/mcore-protos.h, config/mcore/mcore.c,
20617 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
20618 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 20619 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
20620 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
20621 config/sh/sh.h, config/sparc/sparc.h,
20622 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
20623 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
20624 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
20625 FIRST argument. As needed, examine it and do nothing.
20626
ba31d94e 20627 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
20628 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
20629 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
20630
20631 * config/arm/t-pe (pe.o): Add dependencies.
20632
5c60f03d
KG
206332002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20634
20635 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
20636 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
20637 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
20638 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
20639 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
20640 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
20641 * defaults.h (BITS_PER_UNIT): Define.
20642 * doc/tm.texi (BITS_PER_UNIT): Document default value.
20643
86855e8c
KH
206442002-03-02 Kazu Hirata <kazu@hxi.com>
20645
20646 * config/h8300/h8300-protos.h: Add a prototype for
20647 compute_a_shift_length.
20648 * config/h8300/h8300.c (h8300_asm_insn_count): New.
20649 (compute_a_shift_length): Likewise.
20650 (h8300_adjust_insn_length): Do not adjust insn length of shift
20651 insns.
20652 * config/h8300/h8300.md (anonymous shift patterns): Use
20653 compute_a_shift_length.
20654
f6041ed8
RK
20655Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20656
35aa3c1c
RK
20657 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
20658 trunc_int_for_mode.
20659
f6041ed8
RK
20660 * emit-rtl.c (offset_address): Call update_temp_slot_address.
20661
27b41650
KG
206622002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20663
20664 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
20665 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
20666 * flags.h (flag_zero_initialized_in_bss): Declare.
20667 * toplev.c (flag_zero_initialized_in_bss): New flag.
20668 (lang_independent_options): Add flag_zero_initialized_in_bss.
20669 * tree.c (initializer_zerop): New function.
20670 * tree.h (initializer_zerop): Declare.
20671 * varasm.c (assemble_variable): If we can emit bss, put zero
20672 initializers in the bss section.
20673
ca734b39
AM
206742002-03-02 Alan Modra <amodra@bigpond.net.au>
20675
20676 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
20677 like more than one symbol per .weak directive.
20678
49b72306
RH
206792002-03-01 Richard Henderson <rth@redhat.com>
20680
20681 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
20682 adjust argument_pointer by pretend_args_size.
20683 (ia64_va_start): Adjust va_start address by -pretend_args_size.
20684
fbf0fe41
KH
206852002-03-01 Kazu Hirata <kazu@hxi.com>
20686
20687 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
20688
0010687d
JH
20689Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
20690
20691 * toplev.c (rest_of_compilation): Delete dead jumptables before
20692 loop.
20693 * flow.c (delete_dead_jumptables): Make global.
20694 * rtl.h (delete_dead_jumptables): Declare.
20695
9429c84c
DE
206962002-03-01 David Edelsohn <edelsohn@gnu.org>
20697
20698 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
20699 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 20700 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 20701
f0b6f9a6
KH
207022002-03-01 Kazu Hirata <kazu@hxi.com>
20703
20704 * config/h8300/h8300-protos.h: Fix formatting.
20705 * config/h8300/h8300.c: Likewise.
20706 * config/h8300/h8300.h: Likewise.
20707
bc8db8a1
KH
207082002-03-01 Kazu Hirata <kazu@hxi.com>
20709
20710 * config/h8300/h8300.c (print_operand): Support 16-bit
20711 constant addresses.
20712 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
20713
32b069d3
RH
207142002-02-28 Richard Henderson <rth@redhat.com>
20715
20716 * expmed.c (store_bit_field): Prevent generation of CONCATs;
20717 pun complex values as integers; use gen_lowpart instead of
20718 gen_rtx_SUBREG.
20719 (extract_bit_field): Likewise.
20720
79c4e63f
AM
207212002-03-01 Alan Modra <amodra@bigpond.net.au>
20722 David Edelsohn <edelsohn@gnu.org>
20723
20724 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
20725 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
20726 (SUPPORTS_WEAK): Likewise.
20727 * output.h (add_weak): Add tree param.
20728 * varasm.c (add_weak): Likewise. Save decl.
20729 (struct weak_syms): Add decl field.
20730 (mark_weak_decls): New function.
20731 (init_varasm_once): ggc_add_root mark_weak_decls.
20732 (assemble_start_function): Use ASM_WEAKEN_DECL.
20733 (assemble_variable): Likewise.
20734 (assemble_alias): Likewise.
20735 (declare_weak): Pass decl to add_weak.
20736 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
20737 (remove_from_pending_weak_list): Declare and define for
20738 ASM_WEAKEN_DECL.
20739 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
20740 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
20741 * defaults.h (SUPPORTS_WEAK): Likewise.
20742 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
20743 .weak for code sym. Do emit .size for descriptor sym.
20744 (ASM_DECLARE_FUNCTION_SIZE): Define.
20745 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
20746 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
20747 .lglobl unless TARGET_XCOFF. Formatting fixes.
20748 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
20749 .weak for code sym.
20750 (HANDLE_PRAGMA_WEAK): Remove.
20751 (ASM_WEAKEN_LABEL): Remove.
20752 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
20753
6f30f1f1
JM
207542002-03-01 Jason Merrill <jason@redhat.com>
20755
20756 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
20757 (TARGET_EXPR_CLEANUP): New macro.
20758
7879b81e
SE
207592002-02-28 Steve Ellcey <sje@cup.hp.com>
20760
20761 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
20762 to take ptr_extend into account as third type of extension.
20763 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
20764 fields used by SUBREG_PROMOTED_UNSIGNED_P.
20765 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
20766 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
20767 * calls.c (precompute_arguments): Use new macro.
20768 (expand_call): Ditto.
20769 * combine.c (nonzero_bits): Ditto.
20770 (record_promoted_value): Ditto.
20771 * expr.c (store_expr): Ditto.
20772 (expand_expr): Ditto.
20773 * function.c (assign_parms): Ditto.
20774
42d579d8
AO
207752002-02-28 Alexandre Oliva <aoliva@redhat.com>
20776
20777 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
20778 override -shared and -shared-libgcc.
20779
e0054185
DB
207802002-02-28 David O'Brien <obrien@FreeBSD.org>
20781
20782 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
20783 of "ultrasparc".
20784 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
20785 to be broken.
20786
abda4f1c
RH
207872002-02-28 Richard Henderson <rth@redhat.com>
20788
20789 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
20790 4 cycle latency from MM producers.
20791 (ia64_internal_sched_reorder): Likewise with pipeline flush.
20792
c0f08649
JJ
207932002-02-28 Jakub Jelinek <jakub@redhat.com>
20794
20795 * mklibgcc.in: Don't use GNU make extension.
20796
f79f2651
NB
207972002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
20798
20799 * c-parse.in (STATIC): New terminal.
20800 (scspec): New non-terminal. Update productions accordingly.
20801 (program): Remove bogus ifc / end ifc.
20802 (array_declarator): Simplify production using STATIC.
20803
001e3fee
JM
208042002-02-28 Jim Meyering <meyering@lucent.com>
20805
20806 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
20807 \a still means TARGET_BELL.
20808
89076bb3
RH
208092002-02-28 Richard Henderson <rth@redhat.com>
20810
20811 * haifa-sched.c (sched_emit_insn): New.
20812 (schedule_block): Use last_scheduled_insn to track last insn.
20813 * sched-int.h (sched_emit_insn): Prototype.
20814 * config/ia64/ia64.c (last_issued): Remove.
20815 (ia64_variable_issue): Don't set it.
20816 (nop_cycles_until): Use sched_emit_insn.
20817
e3aaacf4
AM
208182002-02-28 Andrew MacLeod <amacleod@redhat.com>
20819
20820 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
20821 extended constants.
20822
7f473594
KH
208232002-02-28 Kazu Hirata <kazu@hxi.com>
20824
20825 * config/h8300/h8300.c: Fix formatting.
20826 * config/h8300/h8300.h: Likewise.
20827
b96c434c
MM
208282002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
20829
20830 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
20831 which may overwrite the high byte of the frame pointer.
20832
9b420a6a
BT
208332002-02-28 Bo Thorsen <bo@suse.de>
20834
20835 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
20836 (STARTFILE_SPEC): Add 64 bit files.
20837 (ENDFILE_SPEC): Likewise.
20838
6f30f1f1 208392002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
20840
20841 * c-decl.c (finish_function): Only warn about missing return
20842 statement with -Wreturn-type.
20843
70da1d03
JH
20844Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
20845
20846 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
20847
20848 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
20849 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
20850
38c1593d
JH
20851Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
20852
20853 * basic-block.h (BB_REACHABLE): Renumber.
20854 (BB_DIRTY, BB_NEW): New flags.
20855 (clear_bb_flags): Declare.
20856 (update_life_info_in_dirty_blocks): Declare.
20857 * cfg.c (clear_bb_flags): New function.
20858 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
20859 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
20860 reorder_insns, emit_insn_after): Mark block as dirty.
20861 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
20862 (update_life_info_in_dirty_blocks): New function.
20863 * recog.c (apply_change_group): Dirtify block.
20864
20865 * cse.c (cse_insn): Reorder emitting of jump insn to keep
20866 cfg consistent.
20867 * gcse.c (delete_null_pointer_checks): Likewise.
20868
20869 * toplev.c (dump_file_index): Move cse2 after bp,
20870 add DFI_null
20871 (dump_file_info): Similary.
20872 (rest_of_compilation): Avoid most of CFG rebuilds;
20873 do first if converision after null pointer checks, do cse2
20874 after branch prediction; avoid full liveness rebuild after
20875 initializing subregs.
20876 * invoke.texi (-d options): Document -du, renumber.
20877
20878 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
20879 (notice_new_block): Do not set BB_UPDATE_LIFE.
20880 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
20881 merge_blocks_move_successor_nojumps, merge_blocks,
20882 try_crossjump_to_edge): Likewise.
20883 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
20884 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
20885 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
20886 (merge_of_block): Do not use life_data_ok.
20887 (find_if_case_1): Do not use SET_UPDATE_LIFE.
20888 (if_convert): Use BB_DIRTY mechanizm to update life.
20889 * lcm.c (optimize_mode_switching): Update
20890 update_life_info_in_dirty_blocks
20891
63e1b1c4
NB
208922002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
20893
20894 * Makefile.in (integrate.o): Update.
20895 * c-decl.c (copy_lang_decl): Rename.
20896 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
20897 * integrate.c: Include langhooks.h.
20898 (copy_decl_for_inlining): Update to use langhook.
20899 * langhooks-def.h (lhd_do_nothing_t,
20900 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
20901 (LANG_HOOKS_INITIALIZER): Update.
20902 * langhooks.c (lhd_do_nothing_t): New.
20903 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
20904 * tree.h (copy_lang_decl): Remove.
20905objc:
20906 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
20907
f472fa29
AM
209082002-02-27 Andrew MacLeod <amacleod@redhat.com>
20909
ba31d94e 20910 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
20911 POST_DEC, and POST_MODIFY.
20912
273cf2e4
ZW
209132002-02-27 Zack Weinberg <zack@codesourcery.com>
20914
20915 * c-typeck.c (digest_init): Remove unused parameter; all
20916 callers changed.
20917
4e07d762
GK
209182002-02-27 Geoffrey Keating <geoffk@redhat.com>
20919
20920 * expmed.c (expand_shift): Correctly test for low part of a
20921 subreg.
20922
6bc627b3
UW
209232002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
20924
20925 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
20926 insn UIDs with insn addresses.
20927
f458d1d5
ZW
209282002-02-27 Zack Weinberg <zack@codesourcery.com>
20929
20930 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
20931 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
20932 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
20933 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
20934 gcc.c, toplev.c: Delete code implementing -traditional mode.
20935
20936 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
20937 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
20938 Document removal of -traditional mode for compilation, and
20939 remove documentation only relevant to that mode.
20940
20941 * config/nextstep.h, config/ptx4.h, config/svr4.h,
20942 config/convex/convex.h, config/d30v/d30v.h,
20943 config/i386/dgux.h, config/i386/osf1elf.h,
20944 config/i386/osfelf.h, config/i386/osfrose.h,
20945 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
20946 config/m68k/hp310.h, config/m88k/dgux.h,
20947 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
20948 config/m88k/m88k.h, config/m88k/openbsd.h,
20949 config/mips/abi64.h, config/mips/osfrose.h,
20950 config/mips/svr4-5.h, config/mips/svr4-t.h,
20951 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
20952 config/stormy16/stormy16.h: Remove all references to
20953 -traditional from target specs. Delete all mention of the
20954 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
20955 delete a couple of commented-out definitions of
20956 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
20957 to -traditional.
20958
20959 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
20960 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
20961
e0b3a8ff
ZW
209622002-02-27 Zack Weinberg <zack@codesourcery.com>
20963
20964 * mklibgcc.in: Don't use \n in a line subject to
20965 interpretation by echo.
20966
5c6a85b7
GS
209672002-02-27 Graham Stott <grahams@redhat.com>
20968
72b05af1
GS
20969 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
20970 Constify NAME.
20971
7d104885
GS
20972 * loop.c (prescan_loop): Handle PARALLEL.
20973
8ed805d2
GS
20974 * unroll.c (loop_iterations): Return 0 if the add_val for
20975 a BIV is REG.
20976
fd478a0a
GS
20977 * final.c (output_operand_lossage): Constify PFX_STR.
20978
5c6a85b7
GS
20979 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
20980
cd98ad03
JH
20981Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
20982
20983 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
20984 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
20985
639ae55b
JH
20986Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
20987
20988 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
20989
e808ec9c
NB
209902002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
20991
20992 * cpplex.c (_cpp_lex_token): Handle directives in macro
20993 arguments.
20994 * cpplib.c (_cpp_handle_directive): Save and restore state
20995 if parsing macro args when entering a directive.
20996 * cppmacro.c (collect_args): No need to handle directives
20997 in macro arguments.
20998 (enter_macro_context, replace_args): Use the original macro
20999 definition in case it was redefined whilst collecting arguments.
21000doc:
21001 * cpp.texi: Update.
21002
f585a356
DE
210032002-02-26 David Edelsohn <edelsohn@gnu.org>
21004
21005 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
21006 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
21007 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
21008 method on AIX.
21009 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
21010 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
21011 (load_toc_v4_PIC_2): Same.
21012
210132002-02-26 Alan Modra <amodra@bigpond.net.au>
21014
21015 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
21016
d699058e
RH
210172002-02-26 Richard Henderson <rth@redhat.com>
21018
21019 * config/alpha/alpha.md (ashldi_se): Re-enable.
21020
eadccfbb
RH
210212002-02-26 Richard Henderson <rth@redhat.com>
21022
21023 * config/alpha/alpha.c (alpha_encode_section_info): Examine
21024 MODULE_LOCAL_P; improve commentary.
21025
7080ada1
ZW
210262002-02-26 Zack Weinberg <zack@codesourcery.com>
21027
21028 * doc/cpp.texi: Clarify documentation of relationship between
21029 #line and #include.
21030
b42cff6b
KH
210312002-02-26 Kazu Hirata <kazu@hxi.com>
21032
21033 * config/h8300/h8300-protos.h: Update the prototype for
21034 compute_logical_op_length. Add the prototype for
21035 compute_logical_op_cc.
21036 * config/h8300/h8300.c (compute_logical_op_length): Figure out
21037 code from operands.
21038 (compute_logical_op_cc): New.
21039 * config/h8300/h8300.md: Combine all the logical op patterns
21040 in HImode and SImode. Use compute_logical_op_cc.
21041
831c4e87
KC
210422002-02-26 Kelley Cook <kelleycook@comcast.net>
21043
21044 * config/i386/i386.c (print_operand): Don't append ATT-style
21045 length suffixs to x87 opcodes when in Intel mode.
21046
ff88fe10
RS
210472002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
21048
21049 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
21050 (init_emit_once): Update calls.
21051 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
21052 (init_syntax_once): Prototype.
21053
d4108589
JDA
210542002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
21055
21056 * pa-linux.h (LIB_SPEC): Update definition.
21057 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
21058
e013f3c7
RH
210592002-02-26 Richard Henderson <rth@redhat.com>
21060
21061 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
21062 if we emitted a stop bit.
21063
9e944a16
JJ
210642002-02-26 Jakub Jelinek <jakub@redhat.com>
21065
21066 * configure.in (libgcc_visibility): Substitute.
21067 * configure: Rebuilt.
21068 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
21069 defined symbols .hidden.
21070
47bd70b5
JJ
210712002-02-26 Jakub Jelinek <jakub@redhat.com>
21072
21073 * attribs.c (c_common_attribute_table): Add visibility.
21074 (handle_visibility_attribute): New function.
21075 * varasm.c (assemble_visibility): New function.
21076 * output.h (assemble_visibility): Add prototype.
21077 * tree.h (MODULE_LOCAL_P): Define.
21078 * crtstuff.c (__dso_handle): Use visibility attribute.
21079 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
21080 for MODULE_LOCAL_P symbols too.
21081 * config/ia64/ia64.c (ia64_encode_section_info): Handle
21082 MODULE_LOCAL_P symbols the same way as local symbols.
21083 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
21084 into .sdata/.sbss by the user.
21085 * doc/extend.texi (Function Attributes): Document visibility
21086 attribute.
21087
6d73371a
JJ
210882002-02-26 Jakub Jelinek <jakub@redhat.com>
21089
21090 PR debug/5770
21091 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
21092 STRING_CST initializer spanning the whole variable without
21093 embedded zeros.
21094 If expand_expr returned MEM, don't use it.
21095
06e224f7
AO
210962002-02-26 Alexandre Oliva <aoliva@redhat.com>
21097
21098 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
21099 generate a die for the lexical block.
21100
40367e2d
KH
211012002-02-26 Kazu Hirata <kazu@hxi.com>
21102
21103 * config/h8300/h8300-protos.h: Add a prototype for
21104 compute_logical_op_length.
21105 * config/h8300/h8300.c (compute_logical_op_length): New.
21106 * config/h8300/h8300.md (anonymous logical patterns): Use
21107 compute_logical_op_length for length.
21108
0e98f924
AH
211092002-02-26 Aldy Hernandez <aldyh@redhat.com>
21110
831c4e87
KC
21111 * dwarf2out.c (modified_type_die): Do not call type_main_variant
21112 for vectors.
21113 (gen_type_die): Same.
0e98f924 21114
831c4e87 21115 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 21116
a50cfd52
DE
211172002-02-26 Daniel Egger <degger@fhm.edu>
21118
831c4e87
KC
21119 * config/rs6000/rs6000.md: Swap define_insn attributes to
21120 fix incorrect generation of merge high instructions instead
21121 of merge low.
a50cfd52 21122
b7997284
AH
211232002-02-26 Aldy Hernandez <aldyh@redhat.com>
21124
831c4e87
KC
21125 * c-typeck.c (really_start_incremental_init): Use
21126 bitsize_zero_node for vectors.
b7997284 21127
376aec5d
AH
211282002-02-26 Aldy Hernandez <aldyh@redhat.com>
21129
831c4e87
KC
21130 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
21131 ("*set_vrsave_internal"): Same.
376aec5d 21132
3b40e71b
RH
211332002-02-25 Richard Henderson <rth@redhat.com>
21134
21135 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
21136 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
21137
232b8f52
JJ
211382002-02-25 Jakub Jelinek <jakub@redhat.com>
21139
21140 PR target/5755
21141 * config/i386/i386.c (ix86_return_pops_args): Only pop
21142 fake structure return argument if it was passed on the stack.
21143
67282790
JM
211442002-02-25 Jason Merrill <jason@redhat.com>
21145
21146 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
21147 RESULT_DECL.
21148
5c181756
AO
211492002-02-25 Alexandre Oliva <aoliva@redhat.com>
21150
21151 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
21152 link with shared_name only.
21153 * doc/invoke.texi (Link Options): Document new behavior.
21154
6786d201
AH
211552002-02-25 Aldy Hernandez <aldyh@redhat.com>
21156
831c4e87 21157 * c-typeck.c (push_init_level): Handle vectors.
6786d201 21158
7d6040e8
AO
211592002-02-25 Alexandre Oliva <aoliva@redhat.com>
21160
21161 * config/sparc/sparc.c (const64_high_operand): Zero-extend
21162 operands of SPARC_SETHI_P.
21163 (input_operand): Likewise.
21164 (sparc_emit_set_const32): Likewise.
21165 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
21166 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
21167 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
21168 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
21169 (movdi_insn_sp64_vis): Likewise.
21170 (movdi split, movdf split): Use SETHI32.
21171 * doc/md.texi: Document SPARC constraints L, M and N.
21172
b188f760
AH
211732002-02-25 Aldy Hernandez <aldyh@redhat.com>
21174
831c4e87
KC
21175 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
21176 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 21177
831c4e87
KC
21178 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
21179 gen_get_vrsave_internal.
b188f760 21180
8041889f
RK
21181Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21182
21183 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
21184
a47ed310
NB
211852002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
21186
21187 * cpplex.c (cpp_interpret_charconst): Get signedness or
21188 otherwise of wide character constants correct.
21189 * cppexp.c (lex): Get signedness of wide charconsts correct.
21190
cb8f73be
RK
21191Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21192
21193 * optabs.c (widen_operand): Only call convert_modes for
21194 promoted SUBREG if signedness matches.
21195 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
21196
2450e0b8
NB
211972002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
21198
21199 * cpplib.c (glue_header_name): Use local buffer to build up
21200 header name.
21201
70b6aaed
NB
212022002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
21203
21204 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
21205
6be580c7
KH
212062002-02-23 Kazu Hirata <kazu@hxi.com>
21207
21208 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
21209 H8/300[HS] separately.
21210 * config/h8300/h8300.md: Remove the early clobber constraint
21211 from bit field patterns.
21212
35dad9f1
KH
212132002-02-23 Kazu Hirata <kazu@hxi.com>
21214
21215 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
21216 register_operand.
21217 (mulhisi3): Likewise.
21218 (umulqisi3): Likewise.
21219 (umulhisi3): Likewise.
21220
ab8e2228
NB
212212002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
21222
21223 * cppinit.c (output_deps): Correct test for stdout output.
21224 (init_dependency_output): Cure warning.
21225
ac6f8a15
RK
21226Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21227
21228 * expr.c (store_expr): When converting expression to promoted
21229 equivalent type, allow using SUBREG_REG of TARGET as the target
21230 of the expansion of EXP.
21231 * loop.c (basic_induction_var, case SUBREG): Always look inside.
21232 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
21233 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
21234 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
21235 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
21236
f282ffb3
JM
212372002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
21238
21239 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
21240 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
21241 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
21242
44c5edc0
JJ
212432002-02-23 Jakub Jelinek <jakub@redhat.com>
21244
21245 PR optimization/5747
21246 * loop.c (scan_loop): Update reg info if move_movables created new
21247 pseudos.
21248
f98e43c0
DE
212492002-02-23 David Edelsohn <edelsohn@gnu.org>
21250
21251 * gcc.c (init_gcc_spec): Revert last change.
21252
e72247f4
DE
212532002-02-23 David Edelsohn <edelsohn@gnu.org>
21254
21255 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
21256 gpc_reg_operand constraint.
21257
212582002-02-23 Alan Modra <amodra@bigpond.net.au>
21259
21260 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
21261 Simplify comparison of `low'.
21262 (add_operand): Fix formatting.
21263 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 21264 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
21265 (rs6000_stack_info): Remove redundant test setting push_p.
21266 (output_toc): Fix formatting.
21267 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
21268 cc_reg_not_cr0_operand constraint.
21269 (booldi3, boolcdi3 splitters): Same.
21270
a5c30531
AH
212712002-02-23 Aldy Hernandez <aldyh@redhat.com>
21272
831c4e87 21273 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 21274
43710f9f
DE
212752002-02-22 David Edelsohn <edelsohn@gnu.org>
21276
21277 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
21278 gcc invoked with -shared-libgcc.
21279
3256b817
JJ
212802002-02-22 Jakub Jelinek <jakub@redhat.com>
21281
21282 PR c++/5748
21283 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
21284 decl if any of elements was TREE_USED.
21285
9e0625a3
AO
212862002-02-22 Alexandre Oliva <aoliva@redhat.com>
21287
21288 * config/sparc/sol2.h: Don't include sys/mman.h.
21289 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
21290 (arith_4096_operand): Don't throw high bits away.
21291 (const64_operand): Take sign extension of CONST_INTs into account.
21292 (const64_high_operand, sparc_emit_set_const32): Likewise.
21293 (GEN_HIGHINT64): Likewise.
21294 (sparc_emit_set_const64_quick1): Likewise.
21295 (const64_is_2insns): Likewise.
21296 (print_operand): Use trunc_int_for_mode for sign extension.
21297 * config/sparc/sparc.h (SMALL_INT32): Likewise.
21298 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
21299 chars. Assume CONST_INT is already properly sign-extended.
21300 (movdi split): Sign-extend each SImode part.
21301 (andsi3 split): Don't mask high bits off, so that result
21302 remains properly sign-extend.
21303 (iorsi3 split): Likewise.
21304 (xorsi3 split): Likewise.
21305
54fec3d5
RS
213062002-02-22 Richard Sandiford <rsandifo@redhat.com>
21307
21308 * fold-const.c (fold): Fix typo in comments.
21309
667ada9b
DN
213102002-02-21 Diego Novillo <dnovillo@redhat.com>
21311
21312 * Makefile.in (langhooks.o): Update dependencies.
21313
29ac78d5
DN
213142002-02-21 Diego Novillo <dnovillo@redhat.com>
21315
21316 * langhooks.c: Include flags.h.
21317
6aa77e6c
AH
213182002-02-21 Aldy Hernandez <aldyh@redhat.com>
21319
21320 * testsuite/gcc.dg/attr-alwaysinline.c: New.
21321
21322 * c-common.c (c_common_post_options): Set inline trees by
21323 default.
21324
21325 * doc/extend.texi (Function Attributes): Document always_inline
21326 attribute.
21327 Update documentation about inlining when not optimizing.
21328
21329 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
21330
21331 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
21332 unless DECL_ALWAYS_INLINE.
21333
21334 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
21335 unless DECL_ALWAYS_INLINE.
21336 (c_disregard_inline_limits): Disregard if always_inline set.
21337
21338 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
21339 Disregard if always_inline set.
21340 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
21341 unless DECL_ALWAYS_INLINE.
21342
21343 * attribs.c (handle_always_inline_attribute): New.
21344 (c_common_attribute_table): Add always_inline.
21345
21346 * config/rs6000/altivec.h: Add prototypes for builtins
21347 requiring the always_inline attribute.
21348
c410d49e
EC
213492002-02-21 Eric Christopher <echristo@redhat.com>
21350
21351 * expmed.c (store_bit_field): Try to simplify the subreg
21352 before generating a new one when when the mode size of
21353 value is less than maxmode.
21354
e3c8ea67
RH
213552002-02-21 Richard Henderson <rth@redhat.com>
21356
21357 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
21358 than gen_rtx_PLUS to form the sum.
21359 * explow.c (force_reg): Rearrange to not allocate new pseudo
21360 when force_operand returns a register.
21361 * expr.c (expand_assignment): Allow offset_rtx expansion to
21362 return a sum. Do not force addresses into registers.
21363 (expand_expr): Likewise.
21364 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
21365 to canonicalize arithmetic that didn't simpify.
21366 (simplify_plus_minus): New argument force; update
21367 all callers. Don't split CONST unless we can do something with it,
21368 and wouldn't lose the constness of the operands.
21369
21370 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
21371 that we generated earlier.
21372
c1a046e5
TT
213732002-02-21 Tom Tromey <tromey@redhat.com>
21374
21375 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21376 (output_line_info): Use constant `1', with a long explanatory
21377 comment.
21378 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
21379
31fbaad4
R
21380Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
21381
21382 * jump.c (redirect_jump): If old label has no UID, don't try to
21383 delete it.
21384
a7f52356
R
21385Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
21386
21387 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
21388 If input is constant, do shifts at compile time.
21389
924fcc4e
JM
213902002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
21391
21392 * doc/extend.texi: Fix some more overfull hboxes.
21393
e5a20888
JJ
213942002-02-21 Jakub Jelinek <jakub@redhat.com>
21395
21396 PR optimization/4994
21397 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
21398 register moves.
21399
214002002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
21401
21402 PR c++/4574
21403 * expr.h (expand_and): Add mode argument.
21404 * expmed.c (expand_and): Add mode argument.
21405 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
21406 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
21407 * except.c (expand_builtin_extract_return_addr): Likewise.
21408 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
21409 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
21410 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
21411 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
21412 * config/c4x/c4x.md: Use GEN_INT (x) instead of
21413 gen_rtx (CONST_INT, VOIDmode, x).
21414
7133e992
JJ
214152002-02-21 Jakub Jelinek <jakub@redhat.com>
21416
21417 PR c/4697:
21418 * stmt.c (warn_if_unused_value): Move side effects test once more.
21419
e2ec05a6
TG
214202002-02-20 Torbjorn Granlund <tege@swox.com>
21421
21422 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 21423 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 21424
9dd791c8
AO
21425Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
21426
21427 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
21428 SUBREG or ZERO_EXTEND.
21429
7ab56274
R
21430Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
21431
21432 * sh.h (current_function_anonymous_args): Remove.
21433 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
21434 of current_function_varargs and current_function_stdarg is set.
21435 * sh.c (sh_expand_prologue): Check current_function_varargs /
21436 current_function_stdarg / TARGET_SH5 instead of
21437 current_function_anonymous_args.
21438
21439 * sh64.h (TARGET_VERSION): Define.
21440
b1765bde
DE
214412002-02-20 David Edelsohn <edelsohn@gnu.org>
21442
21443 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
21444 VRSAVE_REGNO on TARGET_ALTIVEC.
21445
214462002-02-20 Alan Modra <amodra@bigpond.net.au>
21447
21448 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
21449 bits of SImode const_int.
21450 (includes_rshift_p): Likewise.
21451 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 21452 mode.
b1765bde
DE
21453 (rs6000_output_function_epilogue): Pad traceback table to word.
21454 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
21455 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
21456 mask64_operand with correct mode.
b1765bde
DE
21457 (FUNCTION_ARG_REGNO_P): Correct parentheses.
21458
149d6f9e
JJ
214592002-02-20 Jakub Jelinek <jakub@redhat.com>
21460
21461 PR debug/4461
21462 * varasm.c (get_pool_constant_mark): New.
21463 * rtl.h (get_pool_constant_mark): Add prototype.
21464 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
21465 be represented if it has not been output.
21466
4161da12
AO
214672002-02-20 Alexandre Oliva <aoliva@redhat.com>
21468
21469 * combine.c (do_SUBST): Sanity check substitutions of
21470 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
21471 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
21472 CONST_INT into its operand.
21473 (known_cond): Likewise, for ZERO_EXTEND.
21474 * simplify-rtx.c (simplify_unary_operation): Fix condition to
21475 allow for simplification of wide modes. Reject CONST_INTs in
21476 ZERO_EXTEND when their actual mode is not given.
21477
3704ef74
AO
214782002-02-20 Alexandre Oliva <aoliva@redhat.com>
21479
21480 * c-decl.c (pushdecl): If no global declaration is found for an
21481 extern declaration in block scope, try a limbo one.
21482
7552da58
JJ
214832002-02-20 Jakub Jelinek <jakub@redhat.com>
21484
21485 PR c++/4401
21486 * c-common.c (pointer_int_sum): Moved from...
21487 * c-typeck.c (pointer_int_sum): ...here.
21488 * c-common.h (pointer_int_sum): Add prototype.
21489
00fae85d
JJ
214902002-02-20 Jakub Jelinek <jakub@redhat.com>
21491
21492 PR c++/5713
21493 * c-decl.c (duplicate_decls): Return 0 if issued error about
21494 redeclaration.
21495
4636c87e
JJ
214962002-02-20 Roger Sayle <roger@eyesopen.com>
21497 Jakub Jelinek <jakub@redhat.com>
21498
21499 PR c/4389
21500 * tree.c (host_integerp): Ensure that the constant integer is
21501 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
21502 when pos is zero or non-zero respectively. Clarify comment.
21503 * c-format.c (check_format_info_recurse): Fix host_integerp
21504 usage; the pos argument should be zero when assigning to a
21505 signed HOST_WIDE_INT.
21506
59bef189
RH
215072002-02-20 Richard Henderson <rth@redhat.com>
21508
21509 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
21510 of the operand, rather than assuming TImode.
21511 (ix86_expand_binop_builtin): Cope with commutative patterns
21512 using nonimmediate_operand for both operands.
21513 (ix86_expand_timode_binop_builtin): Likewise.
21514 (ix86_expand_store_builtin): Validate operand 1.
21515 (ix86_expand_unop1_builtin): Likewise.
21516
9338ffe6 215172002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 21518
9338ffe6
PB
21519 PR 5705
21520 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
21521
f322b423
RH
215222002-02-20 Richard Henderson <rth@redhat.com>
21523
21524 PR c/5615
21525 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
21526
d94084f7
TT
215272002-02-20 Tom Tromey <tromey@redhat.com>
21528
21529 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21530 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21531 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21532 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21533 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
21534 unconditionally.
21535
37fa124a
AM
21536Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
21537
21538 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
21539 for (const_int 0) in X not just INTVAL.
21540
6e5bb5ad
JM
215412002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
21542
21543 * doc/extend.texi: Avoid or reduce overfull hboxes.
21544
420e7dfa
DN
215452002-02-20 Diego Novillo <dnovillo@redhat.com>
21546
21547 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
21548 operations if the field does not start at a mode boundary.
21549
1b7a2af6
JS
215502001-02-20 Joel Sherrill <joel@OARcorp.com>
21551
21552 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
21553 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
21554 Also done for -Acpu and -Amachine.
21555
56cd5b95
NB
215562002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
21557
21558 * cppinit.c (init_dependency_output): Take deps output file
21559 from -o if none given with -MF. Suppress normal output.
c410d49e 21560 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
21561 * doc/cpp.texi, doc/invoke.texi: Update.
21562
042cdf71
ZW
215632002-02-19 Zack Weinberg <zack@codesourcery.com>
21564
21565 * toplev.c (output_quoted_string): Write unprintable
21566 characters with octal escapes.
21567
c1f11548
DE
215682002-02-19 David Edelsohn <edelsohn@gnu.org>
21569
21570 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
21571 really_call_used[VRSAVE_REGNO] if not Altivec.
21572
215732002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 21574
c1f11548
DE
21575 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
21576 MODE_MASK.
21577 (constant_pool_expr_1): Fix formatting.
21578 (rs6000_legitimize_reload_address): Likewise.
21579
c964d90e
RK
21580Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21581
21582 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
21583 now that we have one.
21584
ae34ac46
ZW
215852002-02-19 Zack Weinberg <zack@codesourcery.com>
21586
21587 * tree.h (struct tree_common): Remove aux. Add unused_0 at
21588 end of first block of bitfields (which was only seven bits);
21589 rename dummy to unused_1; remove comment which is no longer true.
21590
293c28ee
GS
215912002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
21592
21593 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
21594
7b8781c8
PB
215952002-02-19 Philip Blundell <pb@nexus.co.uk>
21596
0cb6c58d 21597 PR 5399
7b8781c8
PB
21598 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
21599 if generating PIC.
21600
21601 PR 5054
21602 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
21603 arm_is_longcall_p rather than inspecting call-type cookie
21604 directly.
21605 (call_value_insn) [TARGET_THUMB]: Likewise.
21606
5c464583
GS
216072002-02-19 Graham Stott <grahams@redhat.com>
21608
21609 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
21610
71c061e6
DE
216112002-02-19 David Edelsohn <edelsohn@gnu.org>
21612
21613 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
21614 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 21615 (FP_SAVE_INLINE): Delete.
71c061e6
DE
21616
21617 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
21618 * config/rs6000/eabi.asm: Remove ABI save restore routines.
21619 * config/rs6000/t-ppccomm: Build crtsavres.o.
21620 * config/rs6000/crtsavres.asm: New file.
21621
3a7731fd
PB
216222002-02-19 Philip Blundell <philb@gnu.org>
21623
21624 * config/arm/arm.c (use_return_insn): Don't reject interrupt
21625 functions.
21626 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
21627 (output_return_instruction): Allow interrupt functions to return with
21628 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
21629 (arm_expand_prologue): Subtract 4 before stacking LR in an
21630 interrupt function.
21631
14f583b8
PB
216322002-02-19 Philip Blundell <pb@nexus.co.uk>
21633
21634 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
21635 decl, not just FUNCTION_DECL.
21636 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
21637 (arm_assemble_integer): Likewise.
21638 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
21639 marked local.
c410d49e 21640
4cb7482c
MG
216412002-02-19 matthew green <mrg@eterna.com.au>
21642
21643 * config.gcc (sparc-*-netbsdelf*): Enable target.
21644 (sparc64-*-netbsd*): New target.
21645 * config/sparc/netbsd-elf.h: New file.
21646 * config/sparc/t-netbsd64: New file.
21647
2df3a718
GS
216482002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
21649
21650 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
21651
77f6c1eb
RS
216522002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
21653
21654 * doc/invoke.texi: explicitly list the style guidelines that
21655 -Weffc++ checks for.
21656
fd973d56
JH
21657Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
21658
21659 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
21660
30518e45
NB
216612002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
21662
21663 PR other/5718
21664 * gcc.c (cpp_unique_options): Treat -o as indicating object file
21665 only if not -E. If -E, pass -o through to the preprocessor.
21666
39ea5704
KH
216672002-02-19 Kazu Hirata <kazu@hxi.com>
21668
21669 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
21670 register number with an appropriate macro.
21671
7355dba7
BM
216722002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
21673
21674 * doc/rtl.texi (Constants): Close @code tag.
21675
91c8aa9e
AH
216762002-02-19 Aldy Hernandez <aldyh@redhat.com>
21677
21678 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
21679 ("mmx_uavgv4hi3"): Same.
21680 ("pmulhrwv4hi3"): Same.
21681
21682 * tree-inline.c (walk_tree): Handle vectors.
21683
21684 * c-common.c (constant_expression_warning): Handle vectors.
21685 (overflow_warning): Same.
21686
21687 * sched-deps.c (sched_analyze_2): Handle vectors.
21688
21689 * rtlanal.c (rtx_unstable_p): Handle vectors.
21690 (rtx_varies_p): Same.
21691 (count_occurrences): Same.
21692 (regs_set_between_p): Same.
21693 (modified_between_p): Same.
21694 (modified_in_p): Same.
21695 (volatile_insn_p): Same.
21696 (volatile_refs_p): Same.
21697 (side_effects_p): Same.
21698 (may_trap_p): Same.
21699 (inequality_comparisons_p): Same.
21700 (replace_regs): Same.
21701 (computed_jump_p_1): Same.
21702
21703 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
21704 argument.
21705 (inner_mode_array): New.
21706 (copy_rtx): Handle vectors.
21707 (copy_most_rtx): Same.
21708 (rtx_equal_p): Same.
21709 (get_mode_alignment): Adjust for vectors.
21710
21711 * resource.c (mark_referenced_resources): Handle vectors.
21712 (mark_set_resources): Same.
21713
21714 * reload1.c (eliminate_regs): Handle vectors.
21715 (elimination_effects): Same.
21716 (scan_paradoxical_subregs): Same.
21717
21718 * reload.c (subst_reg_equivs): Handle vectors.
21719
21720 * regrename.c (scan_rtx): Handle vectors.
21721
21722 * regclass.c (reg_scan_mark_refs): Handle vectors.
21723
21724 * recog.c (find_single_use_1): Handle vectors.
21725
21726 * local-alloc.c (equiv_init_varies_p): Handle vectors.
21727 (contains_replace_regs): Same.
21728 (memref_referenced_p): Same.
21729
21730 * integrate.c (copy_rtx_and_substitute): Handle vectors.
21731 (subst_constants): Same.
21732
21733 * genattrtab.c (attr_copy_rtx): Handle vectors.
21734 (encode_units_mask): Same.
21735 (clear_struct_flag): Same.
21736 (count_sub_rtxs): Same.
21737
21738 * gcse.c (want_to_gcse_p): Handle vectors.
21739 (oprs_unchanged_p): Same.
21740 (hash_expr_1): Same.
21741 (oprs_not_set_p): Same.
21742 (expr_killed_p): Same.
21743 (compute_transp): Same.
21744 (store_ops_ok): Same.
21745
21746 * function.c (purge_addressof_1): Do not allow paradoxical subregs
21747 of vectors.
21748 (fixup_var_refs_1): Same.
21749 (instantiate_virtual_regs_1): Same.
21750
21751 * fold-const.c (operand_equal_p): Handle vectors.
21752 (fold): Same.
21753 (rtl_expr_nonnegative_p): Same.
21754
21755 * flow.c (mark_used_regs): Handle vectors.
21756
21757 * df.c (df_uses_record): Handle vectors.
21758
21759 * cselib.c (cselib_subst_to_values): Handle vectors.
21760 (cselib_mem_conflict_p): Same.
21761 (hash_rtx): Same.
21762
21763 * cse.c (canon_reg): Handle vectors.
21764 (fold_rt): Same.
21765 (cse_process_notes): Same.
21766 (count_reg_usage): Same.
21767 (canon_hash): Same.
21768
21769 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
21770
21771 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
21772
21773 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
21774 (gen_rtx): Handle CONST_VECTOR.
21775 (gen_const_vector_0): New.
21776 (copy_rtx_if_shared): CONST_VECTORs can be shared.
21777 (reset_used_flags): Same.
21778 (copy_insn_1): Same.
21779 (initializer_constant_valid_p): Handle VECTOR_CST.
21780
21781 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
21782
21783 * doc/rtl.texi (Constants): Document const_vector.
21784 (CONST0_RTX): Update for vectors.
21785 (RTL sharing): Same.
21786
21787 * print-tree.c (print_node): Add case for VECTOR_CST.
21788
21789 * tree.h (TREE_VECTOR_CST_ELTS): New.
21790 (struct tree_vector): New.
21791 (union tree_node): Add vector node.
21792 (build_vector): Add prototype.
21793
21794 * tree.def (VECTOR_CST): New.
21795
21796 * tree.c (build_vector): New.
21797
21798 * expmed.c (make_tree): Handle CONST_VECTOR.
21799
21800 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
21801 (CONST_VECTOR_ELT): New.
21802 (CONST_VECTOR_NUNITS): New.
21803
21804 * machmode.h (GET_MODE_INNER): New.
21805 (DEF_MACHMODE): Accept 8th arg.
21806
21807 * machmode.def: Add 8th argument for vector inner mode.
21808 Add inner vector modes for vectors.
21809
21810 * rtl.def (VEC_CONST): Remove.
21811 (CONST_VECTOR): New.
21812
21813 * expr.c (clear_storage): Allow vectors.
21814 (is_zeros_p): Handle VECTOR_CST.
21815
21816 * varasm.c (output_constant_pool): Handle vectors.
21817 (rtx_const): Add veclo and vechi fields.
21818 (kind): Add RTX_VECTOR.
21819 (decode_rtx_const): Add case for vector.
21820
21821 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 21822
91c8aa9e
AH
21823 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
21824 constants. Force easy vector constants into memory.
21825 (easy_vector_constant): New.
21826 (emit_easy_vector_constant): New.
21827 (rs6000_legitimize_reload_address): Do not generate bad reloads on
21828 darwin.
21829
21830 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
21831 instruction does.
21832 ("altivec_lvxl"): Same.
21833 (altivec_lvebx): Same.
21834 (altivec_lvehx): Same.
21835 (altivec_lvewx): Same.
21836 ("*movv4si_const0"): New.
21837 ("*movv4sf_const0"): New.
21838 ("*movv8hi_const0"): New.
21839 ("*movv16qi_const0"): New.
21840
d4d6d0ce
KH
218412002-02-18 Kazu Hirata <kazu@hxi.com>
21842
21843 * config/h8300/h8300.c (notice_update_cc): Use
21844 cc_status.value2.
21845
4915d3aa
KH
218462002-02-18 Kazu Hirata <kazu@hxi.com>
21847
21848 * config/h8300/h8300.md (divmod patterns): Change the
21849 constraints for operands[1] to register_operand.
21850
82be00ee
KH
218512002-02-18 Kazu Hirata <kazu@hxi.com>
21852
21853 * config/h8300/h8300-protos.h: Remove the prototype for
21854 p_operand.
21855 * config/h8300/h8300.c (p_operand): Remove.
21856 * config/h8300/h8300.md: Replace p_operand with
21857 const_int_operand.
21858
1768c26f
PB
218592002-02-18 Philip Blundell <pb@nexus.co.uk>
21860
21861 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
21862 comment.
21863 (output_return_instruction): Allow use of LDR to unstack
21864 return addresss even for interrupt handlers or when
21865 interworking. If compiling for ARMv5, use interworking-safe
21866 return instructions by default. Remove duplicated code and
21867 lengthy "strcat" sequences.
21868
ccd84f51
FS
218692002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
21870
21871 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
21872 (LINK_EH_SPEC): Define.
21873 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
21874
2c153108
UW
218752002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
21876
21877 * config/s390/s390.c (s390_emit_prologue): Do not set the
21878 frame_related flag for call-clobbered registers.
21879
e95d6b23
JH
21880Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
21881
21882 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
21883 (construct_container): Fix handling of SSE operands.
21884 (ix86_expand_builtin): Fix handling of 64bit pointers.
21885 (mmx_maskmovq_rex): New pattern.
21886
c43a12b5
JH
21887Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
21888
21889 * regrename.c (kill_set_value): Handle subregs properly.
21890
aeb85a15
DB
218912002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
21892
21893 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 21894 from objc_class_name.
aeb85a15 21895
a615ca3e
RH
218962002-02-17 Richard Henderson <rth@redhat.com>
21897
21898 * config/alpha/alpha.c (some_small_symbolic_operand,
21899 some_small_symbolic_operand_1, split_small_symbolic_operand,
21900 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
21901 Handle small SYMBOL_REFs anywhere, not just inside memories.
21902 * config/alpha/alpha-protos.h: Update.
21903 * config/alpha/alpha.h (PREDICATE_CODES): Update.
21904 * config/alpha/alpha.md (small symbolic operand splitter): Update.
21905
ddb28441
RM
219062002-02-17 Roland McGrath <roland@frob.com>
21907
21908 * config.gcc (powerpc-*-gnu-gnualtivec*,
21909 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
21910 * config/rs6000/gnu.h: New file.
21911 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
21912 Grok "gnu" in rs6000_abi_name.
21913 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
21914 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
21915 Grok -mcall-gnu analogous to -mcall-linux et al.
21916 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
21917 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
21918 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
21919
f6f8ada3
JJ
219202002-02-17 Jakub Jelinek <jakub@redhat.com>
21921
21922 PR c/3444:
21923 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
21924 shortening.
21925
e16b32fc
PT
219262002-02-17 Philipp Thomas <pthomas@suse.de>
21927
21928 * config/cris/cris.h: Undefine STARTFILE_SPEC and
21929 ENDFILE_SPEC before (re)defining them.
21930
f9477efd
KH
219312002-02-17 Kazu Hirata <kazu@hxi.com>
21932
21933 * config/h8300/h8300.c: Fix formatting.
21934 * config/h8300/h8300.h: Likewise.
21935
404ae494
PT
219362002-02-17 Philipp Thomas <pthomas@suse.de>
21937
21938 * doc/tm.texi: Explain why empty strings should not be
21939 marked for translation.
21940
a52453cc
PT
219412002-02-17 Philipp Thomas <pthomas@suse.de>
21942
21943 * final.c (output_operand_lossage): Changed to accept
21944 printf style arguments. Change calls where necessary.
21945 * output.h (output_operand_lossage): Change declaration
21946 accordingly. Update copyright.
21947 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
21948 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
21949 Update copyright date where necessary.
c410d49e 21950
a52453cc
PT
21951 * config/i386/i386.c (print_operand): Likewise. Remove use of
21952 sprintf.
21953
21954 * config/cris/cris.c (cris_operand_lossage): Likewise.
21955 Rename parameter so that exgettext recognizes it as
21956 translatable message.
21957 (LOSE_AND_RETURN): Rename parameter to msgid.
21958
1c11abc4
KH
219592002-02-17 Kazu Hirata <kazu@hxi.com>
21960
21961 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
21962 hard coded register number with an appropriate macro.
21963 (HARD_REGNO_MODE_OK): Likewise.
21964 (ARG_POINTER_REGNUM): Likewise.
21965 (STATIC_CHAIN_REGNUM): Likewise.
21966 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
21967 * config/h8300/h8300.md (define_constants): Define more
21968 register numbers.
21969
a5d17ff3
PT
219702002-02-17 Philipp Thomas <pthomas@suse.de>
21971
21972 * config/i386/i386.h: Don't mark empty strings for translation.
21973
1a7289c4
L
219742002-02-16 H.J. Lu <hjl@gnu.org>
21975
21976 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
21977
afb58288
ZW
219782002-02-16 Zack Weinberg <zack@codesourcery.com>
21979
21980 * cppinit.c (merge_include_chains): Check for brack being
21981 NULL before attempting to merge it with qtail.
21982
d2af4dbd
AC
219832002-02-16 Andrew Cagney <ac131313@redhat.com>
21984
21985 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
21986 DBX_DEBUG.
21987
2e1ed1e3
JDA
219882002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
21989
21990 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
21991
604c75b2
JDA
219922002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
21993
21994 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
21995 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
21996 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
21997
1a42b072
RK
21998Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21999
7303604f 22000 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
22001 now only if !TARGET_FIX.
22002 (*movsi_nt_vms_fix): New pattern.
22003
c2ea1ac6
DR
220042002-02-16 Douglas B Rupp <rupp@gnat.com>
22005
22006 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
22007 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
22008 (alpha_sa_mask, alpha_sa_size): Reflect above change.
22009 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
22010 (alpha_start_function, alpha_expand_epilogue): Likewise.
22011 (unicosmk_gen_dsib): Likewise.
22012
725e58b1
RK
22013Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22014
22015 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
22016
13e58269
UW
220172002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
22018
c410d49e 22019 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
22020 check_and_change_labels, s390_final_chunkify): Delete.
22021 (s390_split_branches, s390_chunkify_pool): New functions.
22022 (s390_function_prologue): Call them.
c410d49e 22023
13e58269
UW
22024 * config/s390/s390.h (S390_REL_MAX): Delete.
22025 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
22026
c410d49e 22027 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
22028 attribute calculation.
22029
22030
34d1b01d
DE
220312002-02-15 David Edelsohn <edelsohn@gnu.org>
22032
22033 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
22034 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
22035
be5cc51a
JDA
220362002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
22037
22038 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
22039 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
22040 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
22041
ee96ce90
RS
220422002-02-15 Richard Sandiford <rsandifo@redhat.com>
22043
22044 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
22045
05fa709d
RS
220462002-02-15 Richard Sandiford <rsandifo@redhat.com>
22047
22048 * reload.c (find_dummy_reload): Check that an output register
22049 is valid for its mode.
22050
4606272b
AO
220512002-02-14 Alexandre Oliva <aoliva@redhat.com>
22052
9a360704
AO
22053 * combine.c (known_cond): After replacing the REG of a SUBREG, try
22054 to simplify it.
22055
4606272b
AO
22056 * function.c (assign_parms): Demote promoted argument passed by
22057 transparent reference.
22058
e62d89a1
JS
220592001-02-14 Joel Sherrill <joel@OARcorp.com>
22060
22061 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
22062 -Acpu() and -Amachine() to eliminate warnings.
22063
6c4cf695
UW
220642002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
22065
22066 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
22067
037f11ef
KH
220682002-02-14 Kazu Hirata <kazu@hxi.com>
22069
22070 * config/h8300/h8300-protos.h: Update the prototype for
22071 const_costs.
22072 * config/h8300/h8300.c (const_costs): Treat SET as a little
22073 more expensive operation.
22074 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
22075 reference to const_costs.
22076
fdc76b09
HPN
220772002-02-14 Hans-Peter Nilsson <hp@axis.com>
22078
22079 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
22080
d76e6800
JJ
220812002-02-14 Jakub Jelinek <jakub@redhat.com>
22082
22083 PR c/5503:
22084 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
22085 use arguments from newtype.
22086
5ae590d7
EC
220872002-02-13 Eric Christopher <echristo@redhat.com>
22088
22089 * config/mips/mips.c (override_options): Add check for march/mipsX
22090 on the same command line. Fix error message in cpu processing.
22091 Remove architecture and ISA checks.
22092
b8513691
AH
220932002-02-14 Aldy Hernandez <aldyh@redhat.com>
22094
831c4e87 22095 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 22096
831c4e87 22097 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 22098
78c875e8
AH
220992002-02-14 Aldy Hernandez <aldyh@redhat.com>
22100
831c4e87
KC
22101 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
22102 alternatives.
22103 ("*movv8hi_internal1"): Same.
22104 ("*movv16qi_internal1"): Same.
22105 ("*movv4sf_internal1"): Same.
78c875e8 22106
831c4e87
KC
22107 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
22108 not push_reload for altivec modes.
78c875e8 22109
d76e6800 221102002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
22111
22112 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
22113 all RTEMS targets including removal of #includes from config/*/rtems*.h
22114 file and adding them to tm_file setting. Added xm_defines=POSIX to
22115 many targets.
22116 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
22117 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
22118 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
22119 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
22120 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
22121 config/m68k/rtemself.h: Ditto.
22122 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
22123 config/mips/rtems64.h: Ditto.
22124 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
22125 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
22126 Ditto.
22127 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
22128 config/sparc/rtemself.h: Ditto.
22129 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
22130 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
22131 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
22132 more like arm-elf.
22133 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
22134 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
22135 target made more similar to i386-elf.
22136 * config/i386/t-rtems-i386: Added soft float support and multilibs.
22137 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
22138 be similar to config/m68k/t-m68kelf.
22139 * gthr-rtems.h: Encapsulate with extern "C" for C++.
22140
8686336f
JH
22141Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
22142
22143 * regmove.c (kill_value): Handle subregs.
22144
558740bf
JH
22145Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
22146
22147 * i386.md (mul patterns): Allow memory operand to be first;
22148 add expanders where needed; fix constraints.
22149 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
22150 Allow memory operand to be the first.
22151
22152 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
22153 operands.
22154
21117a17
JJ
221552002-02-13 Jakub Jelinek <jakub@redhat.com>
22156
22157 PR c/5681:
22158 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
22159 GET_MODE (x).
22160
ec65b2e3
JJ
221612002-02-13 Jakub Jelinek <jakub@redhat.com>
22162
22163 PR optimization/5547:
22164 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
22165 all valid IA-32 address modes involving non-scaled %ebx and
22166 GOT/GOTOFF as displacement.
22167
ce50cae8
UW
221682002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
22169
22170 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
22171 after emitting ltorg insns.
22172
22173 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
22174 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
22175 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
22176 *abssf2): Fix "op_type" attribute.
22177
09eb789b
DR
221782002-02-13 Douglas B Rupp <rupp@gnat.com>
22179
2dbe67bb
DR
22180 * mkconfig.sh: Avoid using a subshell redirect.
22181 ($output.T): Change to $(output)T.
22182 (ENABLE_NLS): Remove unneeded undef.
22183
ea5b9a1f
DR
22184 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
22185 * config/alpha/x-vms (libsubdir): Define.
22186
3deb00ce
DR
22187 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
22188 register frame procedures. Optimize retrieving context.
22189
09eb789b
DR
22190 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
22191 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
22192 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
22193
1abade85
RK
22194Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22195
22196 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
22197 Make same change as for find_base_value.
22198
c283e63f
KH
221992002-02-13 Kazu Hirata <kazu@hxi.com>
22200
22201 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
22202 of QImode and SImode.
22203
86039100
KH
222042002-02-13 Kazu Hirata <kazu@hxi.com>
22205
22206 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
22207 length computation of movsi.
22208 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
22209
e1429da0
KH
222102002-02-13 Kazu Hirata <kazu@hxi.com>
22211
22212 * config/h8300/h8300.md (subqi3): Tighten the predicate for
22213 operands[2] to register_operand.
22214
aebfea10
JH
22215Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
22216
22217 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
22218
0ec4e2a8
AH
222192002-02-12 Aldy Hernandez <aldyh@redhat.com>
22220
831c4e87
KC
22221 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
22222 for altivec_lvx* and altivec_stvx*.
22223 ("*movv4si_internal"): Add constraint for loading from GPRs.
22224 ("*movv8hi_internal1"): Same.
22225 ("*movv16qi_internal1"): Same.
22226 ("*movv4sf_internal1"): Same.
0ec4e2a8 22227
831c4e87 22228 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 22229
831c4e87
KC
22230 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
22231 altivec_register_operand.
0ec4e2a8 22232
b007569d
HPN
222332002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
22234
22235 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
22236 handle SYMBOL_REF.
22237
e6834654
SS
222382002-02-13 Stan Shebs <shebs@apple.com>
22239
831c4e87
KC
22240 * c-typeck.c (digest_init): Handle vectors.
22241 (really_start_incremental_init): Same.
22242 (pop_init_level): Same.
22243 (process_init_element): Same.
e6834654 22244
831c4e87 22245 * varasm.c (output_constant): Same.
e6834654 22246
831c4e87
KC
22247 * expr.c (clear_storage): Same.
22248 (store_constructor): Same.
e6834654 22249
d9b3eb63
EC
222502002-02-12 Eric Christopher <echristo@redhat.com>
22251
22252 * explow.c (hard_function_value): Add comment explaining
22253 signed/unsigned comparison.
22254
56d44285
JJ
222552002-02-12 Jakub Jelinek <jakub@redhat.com>
22256
22257 * jump.c (never_reached_warning): Add finish argument.
22258 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
22259 real insn after end.
22260 * rtl.h (never_reached_warning): Adjust prototype.
22261 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
22262 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
22263 never_reached_warning.
22264
fc209487
GS
222652002-02-12 Graham Stott <grahams@redhat.com>
22266
22267 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
22268
1e41e866
KH
222692002-02-12 Kazu Hirata <kazu@hxi.com>
22270
22271 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
22272 logical shifts on H8/300.
22273 (shift_alg_si): Improve several shifts on H8/300.
22274 (get_shift_alg): Likewise.
22275
a36a47ad
GS
222762002-02-12 Graham Stott <grahams@redhat.com>
22277
22278 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
22279
0aacc8ed
RK
22280Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22281
22282 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
22283 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
22284
a02ac966
HPN
222852002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
22286
22287 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
22288 non-CONST_INT through default_assemble_integer.
22289 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
22290 <case 8>: Abort for CONST_DOUBLE.
22291
d6e06ddc
JDA
222922002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
22293
22294 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
22295 is specified.
22296 * config/pa/pa-linux.h (LIB_SPEC): Delete.
22297 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
22298
515342a8
AH
222992002-02-11 Andrew Haley <aph@cambridge.redhat.com>
22300
22301 * config/stormy16/stormy16.md (zero_extendqihi2): New.
22302
cddd8b72
AO
223032002-02-11 Alexandre Oliva <aoliva@redhat.com>
22304
66df7a98
AO
22305 * regrename.c (regrename_optimize): Don't accept a
22306 part-clobbered register if the replaced register is not part
22307 clobbered.
22308
841404cd
AO
22309 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
22310 take padding into account when computing the argument value.
22311
1d1ade42
AO
22312 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
22313
cddd8b72
AO
22314 * combine.c (try_combine): Apply substitutions in
22315 CALL_INSN_FUNCTION_USAGE too.
22316
5c665b88
AH
223172002-02-11 Aldy Hernandez <aldyh@redhat.com>
22318
77f6c1eb
RS
22319 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
22320 __builtin_altivec_abs*.
22321 (bdesc_abs): New.
5c665b88 22322
77f6c1eb
RS
22323 * config/rs6000/rs6000.h (rs6000_builtins): Add
22324 ALTIVEC_BUILTIN_ABS*.
5c665b88 22325
77f6c1eb
RS
22326 * config/rs6000/altivec.h: Use const char for builtins expecting
22327 literals.
22328 (vec_abs): New versions for C and C++.
22329 (vec_abss): Same.
5c665b88 22330
3494f1b4
KH
223312002-02-10 Kazu Hirata <kazu@hxi.com>
22332
22333 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
22334 using Pmode.
22335
72431aef
KH
223362002-02-10 Kazu Hirata <kazu@hxi.com>
22337
22338 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
22339 constant definition from h8300.md.
22340 (FRAME_POINTER_REGNUM): Likewise.
22341 * config/h8300/h8300.md (define_constants): Add FP_REG.
22342
87e4ee91
KH
223432002-02-10 Kazu Hirata <kazu@hxi.com>
22344
22345 * config/h8300/h8300.c (print_operand): Remove redundant code.
22346
9c188705
KH
223472002-02-10 Kazu Hirata <kazu@hxi.com>
22348
22349 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
22350 * config/h8300/h8300.c (byte_reg): Make it static.
22351
fba78abb
RH
223522002-02-10 Richard Henderson <rth@redhat.com>
22353
22354 PR c/5623
22355 * c-typeck.c (incomplete_type_error): Handle flexible array members.
22356
65739e62
RH
223572002-02-10 Richard Henderson <rth@redhat.com>
22358
22359 PR c++/5624
22360 * tree.c (append_random_chars): Don't abort if main_input_filename
22361 does not exist.
22362
247cb9df
HPN
223632002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
22364
22365 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
22366
232bd029
KH
223672002-02-10 Kazu Hirata <kazu@hxi.com>
22368
65739e62 22369 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
22370 (pushhi1): Likewise.
22371
276ef573
JDA
223722002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
22373
22374 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
22375 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
22376
617e9ee5
DB
223772002-02-09 David O'Brien <obrien@FreeBSD.org>
22378
22379 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
22380 remove MASK_VIS.
22381 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
22382
6dfa4005
KH
223832002-02-09 Kazu Hirata <kazu@hxi.com>
22384
22385 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
22386 a half of an SImode register on H8/300.
22387
749e7b80
JH
22388Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
22389
22390 * i386.md (movdi_2): Add missing '!'.
22391
ca77d87c
KH
223922002-02-09 Kazu Hirata <kazu@hxi.com>
22393
22394 * config/h8300/h8300.h: Fix formatting. Remove commented-out
22395 definitions.
22396
16c96304
KH
223972002-02-09 Kazu Hirata <kazu@hxi.com>
22398
22399 * config/h8300/h8300.md (length): Correct the distance valid
22400 for the short branch.
22401
a364bc90
KH
224022002-02-09 Kazu Hirata <kazu@hxi.com>
22403
22404 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
22405
e4ec2cac
AO
224062002-02-09 Alexandre Oliva <aoliva@redhat.com>
22407
a138247b
AO
22408 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
22409 registers in SImode.
22410 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
22411 part-clobbered.
22412
2b1fd83f
AO
22413 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
22414 patch.
d9b3eb63 22415
fa5322fa
AO
22416 Contribute sh64-elf.
22417 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
22418 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
22419 (sh_cannot_modify_jumps_p): New function.
22420 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
22421 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
22422 (sh_ms_bitfield_layout_p): New function.
22423 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
22424 Zack Weinberg <zack@codesourcery.com>
22425 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
22426 expand_simple_binop instead of expand_binop.
22427 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
22428 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
22429 use of .quad and .uaquad.
22430 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
22431 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
22432 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
22433 * config/sh/sh.md (movdi_const, movdi_const_32bit,
22434 movdi_const_16bit): Make sure all CONSTs have modes.
22435 (sym2PIC): Ditto, but by adjusting all callers.
22436 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
22437 if the prologue calls the SHmedia argument decoder or register
22438 saver.
22439 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
22440 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
22441 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
22442 (sh_expand_epilogue): Don't emit USE of return target register.
22443 (prepare_move_operands): Legitimize DImode PIC addresses.
22444 (sh_media_register_for_return): Skip tr0, used to initialize the
22445 PIC register.
22446 (sh_expand_prologue): Remove explicit USE of return register.
22447 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
22448 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
22449 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
22450 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
22451 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
22452 EXTRA_CONSTRAINT_T.
22453 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
22454 (MOVI_SHORI_BASE_OPERAND_P): New.
22455 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
22456 (EXTRA_CONSTRAINT_T): Define in terms of them.
22457 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
22458 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
22459 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
22460 alternatives supporting TARGET_REGS.
22461 (UNSPEC_GOTPLT): New constant.
22462 (movdi split): Move incrementing of LABEL_NUSES...
22463 (movdi_const, movdi_const_32bit): Here. Use
22464 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
22465 (movdi_const_16bit): New.
22466 (call, call_value) [flag_pic]: Use GOTPLT.
22467 (call_pop, call_value_pop): New expands.
22468 (call_pop_compact, call_pop_rettramp): New insns.
22469 (call_value_pop_compact, call_value_pop_rettramp): New insns.
22470 (sibcall) [flag_pic]: Use GOT.
22471 (builtint_setjmp_receiver): Remove bogus, unused expand.
22472 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
22473 (*pt, *ptb, ptrel): New insns.
22474 (sym2GOT): Handle DImode GOT.
22475 (sym2GOTPLT, symGOTPLT2reg): New expands.
22476 (sym2PIC): New expand.
22477 (shcompact_return_tramp): Use GOTPLT to return trampoline.
22478 (shcompact_return_tramp_i): Use return register explicitly.
22479 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
22480 disable flag_reorder_blocks.
22481 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
22482 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
22483 clobbers, for clarity.
22484 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
22485 restoring of r0 in macl as MAYBE_DEAD.
22486 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
22487 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
22488 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
22489 alter_subreg all over.
22490 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
22491 reload, instead of emitting instructions that would require
22492 reloading.
22493 (casesi_load_media): Add missing modes.
22494 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
22495 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
22496 as used if the argument decoder is called.
22497 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
22498 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
22499 Pmode, then extend it to DImode if necessary.
22500 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
22501 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
22502 constants in FPU-enabled SHmedia, let them be loaded from memory.
22503 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
22504 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
22505 Adjust whitespace in assembly output templates.
22506 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
22507 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
22508 mode of if_then_else.
22509 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
22510 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
22511 sh.h.
22512 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
22513 Joern Rennecke <amylaar@redhat.com>
22514 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
22515 (SUBTARGET_CPP_PTR_SPEC): New.
22516 (SUBTARGET_CPP_SPEC): Remove.
22517 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
22518 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
22519 Fix typo in previous checkin.
22520 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
22521 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
22522 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
22523 Alexandre Oliva <aoliva@redhat.com>
22524 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
22525 what single FP register can hold for SHmedia target.
22526 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
22527 Alexandre Oliva <aoliva@redhat.com>
22528 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
22529 Do not split into SUBREG.
22530 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
22531 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
22532 and added new functions as specified in SH5 ABI r9.
22533 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
22534 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
22535 8-byte boundary.
22536 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
22537 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
22538 gen_consttable_4 and gen_consttable_8. Emit multiple labels
22539 and consttable_window_ends.
22540 2001-06-03 Graham Stott <grahams@redhat,com>
22541 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
22542 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
22543 * config/sh/sh.c (print_operand): Handle floating-point pair,
22544 vector and matrix registers.
22545 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
22546 vector modes into account.
22547 * config/sh/sh.md (movv2sf): Split move between registers into
22548 movdf.
22549 (movv4sf, movv16sf): Introduce insns that get split only after
22550 reload.
22551 * config/sh/shmedia.h: Fix Copyright dates.
22552 * config/sh/ushmedia.h: Likewise. Move loop counter
22553 declarations into conditionals that uses them.
22554 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
22555 loop boundary.
22556 * config/sh/sshmedia.h: Fix Copyright dates.
22557 (sh_media_PUTCFG): Fix constraints.
22558 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
22559 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
22560 ptrmemfunc_vbit_in_delta for SH5.
22561 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
22562 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
22563 * invoke.texi: Likewise.
22564 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
22565 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
22566 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
22567 GCC_pop_shmedia_regs_nofpu): New global symbols.
22568 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
22569 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
22570 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
22571 compact function with nonlocal labels.
22572 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
22573 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
22574 (initial_elimination_offset): Account for their stack space.
22575 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
22576 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
22577 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
22578 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
22579 least one of the operands to be a register.
22580 (movv2sf): Likewise. Renamed to movv2sf_i.
22581 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
22582 prepare_move_operands() before emitting SHmedia insns.
22583 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
22584 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
22585 Don't save nor initialize r12. Don't mis-align the stack.
22586 Pad the code with a nop.
22587 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
22588 stack.
22589 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
22590 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
22591 [__SHMEDIA__]: Implement.
22592 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
22593 * config/sh/sh.md: Set latency of `pt' closer to reality.
22594 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
22595 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
22596 Set move, load and store type attributes.
22597 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
22598 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
22599 profiling.
22600 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
22601 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
22602 * config/sh/sh.c (sh_media_register_for_return): New function.
22603 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
22604 branch-target register.
22605 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
22606 * config/sh/sh.md (return_media_i): Use any call-clobbered
22607 branch-target register.
22608 (return_media): If r18 wasn't copied in the prologue, copy it
22609 here.
22610 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
22611 Clear class FP0_REGS.
22612 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
22613 from elf.h.
22614 2001-03-08 DJ Delorie <dj@redhat.com>
22615 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
22616 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
22617 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
22618 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
22619 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
22620 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
22621 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
22622 return value correctly for call_cookie.
22623 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
22624 * config/sh/crt1.asm (start): Modified so as to call
22625 ___setup_argv_and_call_main.
22626 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
22627 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
22628 SHmedia mode.
22629 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
22630 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
22631 (STRIP_NAME_ENCODING): Use it.
22632 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
22633 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
22634 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
22635 prepare_scc_operands().
22636 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
22637 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
22638 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
22639 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
22640 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
22641 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
22642 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
22643 used in shcompact_incoming_args.
22644 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
22645 change.
22646 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
22647 mode.
22648 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
22649 Adjust accordingly.
22650 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
22651 Simplify. Adjust. Add sanity check.
22652 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
22653 FPU_SINGLE_BIT.
22654 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
22655 TARGET_SHCOMPACT.
22656 (udivsi3, divsi3): Use them.
22657 (force_mode_for_call): New insn.
22658 (call, call_value, sibcall_value): Emit it before SHcompact
22659 calls.
22660 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
22661 * config/sh/sh.md (call, call_value, sibcall): Make sure the
22662 call cookie is non-NULL before taking its value.
22663 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
22664 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
22665 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
22666 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
22667 block.
22668 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
22669 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
22670 temporary for stack adjusts. Use MACL and MACH to pass
22671 arguments to shcompact_incoming_args.
22672 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
22673 clobber r1.
22674 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
22675 (nested_trampoline): Load static chain address into r1.
22676 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
22677 2001-01-07 Alexandre Oliva <aoliva@redhat.com
22678 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
22679 fp_arith_reg_operand().
22680 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
22681 * config/sh/sh.md (casesi): Sign-extend the first two operands,
22682 and use signed compares for them.
22683 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
22684 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
22685 ones properly aligned.
22686 (find_barrier): Account for extra alignment needed for 8-byte wide
22687 constants.
22688 (machine_dependent_reorg): Require a label for the second 4-byte
22689 constant after an 8-byte one.
22690 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
22691 change.
22692 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
22693 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
22694 last_float when switching float modes.
22695 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
22696 auto-increment for general-purpose registers.
22697 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
22698 result.
22699 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
22700 for stack adjust.
22701 * config/sh/sh.c (sh_builtin_saveregs): Support using all
22702 registers for varargs.
22703 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
22704 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
22705 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
22706 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
22707 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
22708 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
22709 call_cookie accordingly.
22710 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
22711 (SHCOMPACT_BYREF): Likewise.
22712 (SHCOMPACT_FORCE_ON_STACK): New macro.
22713 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
22714 (sh_builtin_saveregs): Likewise.
22715 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
22716 shcompact_incoming_args): Use new shift values. Support
22717 sequences of consecutive and non-consecutive pushes/pops.
22718 * config/sh/sh.md (return): Don't explicitly use PR_REG.
22719 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
22720 * config/sh/sh.h (TEXT_SECTION): Define.
22721 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
22722 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
22723 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
22724 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
22725 return values on FPU-enabled SHmedia.
22726 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
22727 FPU-enabled SHmedia.
22728 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
22729 value is returned in a non-FP reg and is not returned by
22730 reference.
22731 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
22732 jump_ind.
22733 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
22734 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
22735 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
22736 quad-aligned to be passed by callee-copy reference.
22737 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
22738 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
22739 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
22740 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
22741 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
22742 copying low-numbered FP regs to r7 and r8.
22743 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
22744 FP regs to general-purpose regs only if the copy was passed on the
22745 stack.
22746 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
22747 copying FP reg to r9.
22748 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
22749 copy FP regs to general-purpose regs only in outgoing calls.
22750 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 22751 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
22752 HOST_WIDE_INT.
22753 * config/sh/sh.h (struct sh_args): Document all fields.
22754 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
22755 passed partially on the stack should not consider making
22756 sibcalls.
22757 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
22758 stack_regs only for incoming calls. When passing FP args,
22759 make sure there are FP regs available before modifying
22760 call_cookie.
22761 (SHCOMPACT_BYREF): Pass double args in general-purpose
22762 registers by reference.
22763 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
22764 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
22765 attempt to generate sibcalls if the caller got any arguments
22766 by reference.
22767 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
22768 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
22769 to 8-byte boundaries.
22770 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
22771 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
22772 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
22773 stored in the stack.
22774 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
22775 for the offsets to have the ISA bit set.
22776 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
22777 invocation. Use beq instead of bgt to mark end of sequence of
22778 loads.
22779 (shcompact_incoming_args): Fix store of r2. Use beq instead of
22780 bgt to mark end of sequence of stores.
22781 * config/sh/sh.c (arith_operand): Don't check whether
22782 CONST_OK_FOR_J for now.
22783 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
22784 instead of long for conversion.
22785 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
22786 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
22787 before passing it to fprintf.
22788 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
22789 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
22790 Call set_fpscr before reading/writing SR.
22791 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
22792 Call set_fpscr.
22793 * config/sh/lib1funcs.asm: Add `.align 2' directives before
22794 SHmedia code.
22795 (FMOVD_WORKS): Define on SH5 with FPU.
22796 (set_fpscr): Define on SH5. Remove separate _fpscr_values
22797 setting.
22798 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
22799 _fpscr_values.
22800 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
22801 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
22802 address.
22803 (ia_main_table): Ditto.
22804 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
22805 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
22806 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
22807 the definitions from sh.h.
22808 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
22809 TARGET_SH5.
22810 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
22811 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
22812 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
22813 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
22814 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
22815 Increment LABEL_NUSES.
d9b3eb63 22816
fa5322fa
AO
22817 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
22818 TARGET_SH5.
22819 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
22820 defined.
22821 * config/sh/elf.h (SIZE_TYPE): Likewise.
22822 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
22823 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
22824 shcompact_incoming_args): Load switch table addresses using
22825 datalabel.
22826 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
22827 (NO_BUILTIN_SIZE_TYPE): Define.
22828 (SIZE_TYPE): Don't define.
22829 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
22830 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
22831 definition of __SH5__=32 for -m5-compact-nofpu.
22832 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
22833 ADDR_DIFF_VEC.
22834 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
22835 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
22836 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
22837 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
22838 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
22839 (INSN_LENGTH_ALIGNMENT): Likewise.
22840 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
22841 * config/sh/sh.md (call, call_value, sibcall): Simplify
22842 copying of non-branch-target register.
22843 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 22844 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
22845 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
22846 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
22847 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
22848 floating-point values as structs.
22849 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
22850 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
22851 general-purpose register.
22852 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
22853 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
22854 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
22855 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
22856 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
22857 (ENCODE_SECTION_INFO): Enclose variables and constants in
22858 DATALABEL unspecs.
22859 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
22860 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
22861 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
22862 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
22863 only for LABEL_REFs. For SYMBOL_REFs, prepend
22864 SH_DATALABEL_ENCODING to the symbol name.
22865 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
22866 convert_mode().
22867 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
22868 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
22869 UNSPEC_DATALABEL.
22870 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
22871 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
22872 (DATALABEL_REF_P): Don't require CONST.
22873 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
22874 REL label.
22875 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
22876 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
22877 right.
22878 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
22879 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
22880 Use shallow_copy_rtx and PUT_MODE to change the mode of
22881 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
22882 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
22883 on SHmedia using GENERAL_REGs.
22884 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
22885 bltu_media_i): Fix reversion of conditions.
22886 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
22887 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
22888 * config/sh/sh.c (output_far_jump): Save r13 in macl.
22889 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
22890 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
22891 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
22892 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
22893 (GCC_nested_trampoline): Likewise.
22894 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
22895 * config/sh/sh.c (gen_datalabel_ref): Define.
22896 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
22897 (INITIALIZE_TRAMPOLINE): Likewise.
22898 (TRAMPOLINE_ADJUST_ADDRESS): Define.
22899 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
22900 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
22901 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
22902 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
22903 (ic_invalidate): Adjust for SH5.
22904 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
22905 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
22906 _nested_trampoline.
22907 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
22908 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
22909 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
22910 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
22911 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
22912 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
22913 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
22914 * config/sh/sh.c (target_reg_operand): Match only target-branch
22915 registers and pseudos that aren't virtual registers.
22916 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
22917 Copy operands that don't match target_reg_operand to pseudos.
22918 (call_media, call_value_media, sibcall_media): Use
22919 target_reg_operand instead of target_operand.
22920 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 22921 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
22922 * config/sh/sh.c (target_reg_operand): Match hardware registers
22923 other than branch-target registers.
22924 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
22925 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
22926 (fpscr_values) [SH5 == 32]: Define.
22927 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
22928 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
22929 Handle function addresses coming in SUBREGs.
22930 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
22931 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
22932 shcompact_return_trampoline): Use datalabel where appropriate.
22933 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
22934 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
22935 general-purpose register to copy one branch-target register to
22936 another.
22937 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
22938 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
22939 SYMBOL_REFs with VOIDmode.
22940 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
22941 bltu_media_i): New insns.
22942 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
22943 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
22944 (INIT_CUMULATIVE_ARGS): Likewise.
22945 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
22946 * machmode.def (V16SFmode): New mode.
22947 * c-common.c (type_for_mode): Support V2SF and V16SF.
22948 * tree.c (build_common_tree_nodes_2): Likewise.
22949 * tree.h (tree_index): Likewise.
22950 * calls.c (emit_call_1): Take args_so_far. Adjust all
22951 callers. Introduce CALL_POPS_ARGS.
22952 * tm.texi (CALL_POPS_ARGS): Document.
22953 * config/sh/crt1.asm: Implement in SHmedia mode.
22954 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
22955 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
22956 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
22957 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
22958 Implement divsi and udivsi in SHmedia mode. Introduce
22959 SHcompact trampolines.
22960 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
22961 only in SHmedia64.
22962 (regno_reg_class): Rewrite.
22963 (fp_reg_names): Remove.
22964 (sh_register_names, sh_additional_register_names): New.
22965 (print_operand): Added `u'. Support SUBREGs in addresses.
22966 Add parentheses around shifted CONSTs.
22967 (output_file_start): Output .mode and .abi directives.
22968 (shiftcosts, addsubcosts, multcosts): Adjust.
22969 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
22970 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
22971 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
22972 bytes, not registers. Take into account the need for the
22973 SHcompact incoming args trampoline. Adjust all callers.
22974 (sh_expand_prologue): Take stack_regs into account. Call
22975 incoming args trampoline. Keep stack aligned as per SH5 ABI.
22976 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
22977 stack aligned as per SH5 ABI.
22978 (sh_builtin_saveregs): Support SH5 ABI.
22979 (sh_build_va_list, sh_va_start): Likewise.
22980 (initial_elimination_offset): Take alignment into account.
22981 Compute location of PR according to the SH5 stack frame.
22982 (arith_reg_operand): Reject branch-target registers.
22983 (shmedia_6bit_operand): New.
22984 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
22985 (target_reg_operand): Match DImode only. Accept SUBREGs.
22986 (target_operand): New.
22987 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
22988 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
22989 SIBCALL_REGS for SHmedia.
22990 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
22991 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
22992 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
22993 (TARGET_SWITCHES): New SH5 flags.
22994 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
22995 VALID_REGISTER_P to disable unsupported registers.
22996 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
22997 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
22998 (FUNCTION_ARG_PADDING): Define.
22999 (FASTEST_ALIGNMENT): Adjust.
23000 (SH_REGISTER_NAMES_INITIALIZER): New.
23001 (sh_register_names): Declare.
23002 (DEBUG_REGISTER_NAMES): Define.
23003 (REGISTER_NAMES): Define based on sh_register_names.
23004 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
23005 (sh_additional_register_names): Declare.
23006 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
23007 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
23008 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
23009 (REGISTER_NATURAL_MODE): Define.
23010 (FIRST_PSEUDO_REGISTER): Adjust.
23011 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
23012 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
23013 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
23014 (VECTOR_MODE_SUPPORTED_P): Define.
23015 (REG_CLASS_CONTENTS): Adjust.
23016 (SMALL_REGISTER_CLASSES): Adjust.
23017 (REG_ALLOC_ORDER): Adjust.
23018 (INDEX_REG_CLASS): Adjust.
23019 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
23020 (CONST_OK_FOR_LETTER_P): Adjust.
23021 (PREFERRED_RELOAD_CLASS): Adjust.
23022 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
23023 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
23024 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
23025 (FIRST_FP_PARM_REG): Adjust.
23026 (CALL_POPS_ARGS): Define.
23027 (FUNCTION_ARG_REGNO_P): Adjust.
23028 (struct sh_args): New fields.
23029 (GET_SH_ARG_CLASS): Adjust.
23030 (INIT_CUMULATIVE_ARGS): Adjust.
23031 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
23032 (FUNCTION_ARG_ADVANCE): Adjust.
23033 (FUNCTION_ARG): Adjust.
23034 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
23035 (FUNCTION_ARG_CALLEE_COPIES): Define.
23036 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
23037 (STRICT_ARGUMENT_NAMING): Define.
23038 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
23039 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
23040 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
23041 (SETUP_INCOMING_VARARGS): Adjust.
23042 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
23043 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
23044 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
23045 (SUBREG_OK_FOR_INDEX_P): Adjust.
23046 (EXTRA_CONSTRAINT_S): Update.
23047 (EXTRA_CONSTRAINT_T): New.
23048 (EXTRA_CONSTRAINT): Adjust.
23049 (GO_IF_LEGITIMATE_INDEX): Adjust.
23050 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
23051 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
23052 (MOVE_MAX): Adjust.
23053 (MAX_MOVE_MAX): Define.
23054 (Pmode): Adjust.
23055 (CONST_COSTS): Adjust.
23056 (REGISTER_MOVE_COST): Adjust.
23057 (BRANCH_COST): Adjust.
23058 (TEXT_SECTION_ASM_OP): Adjust.
23059 (DBX_REGISTER_NUMBER): Adjust.
23060 (ASM_OUTPUT_DOUBLE_INT): New.
23061 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
23062 (PREDICATE_CODES): Adjust.
23063 (PROMOTE_MODE): Adjust.
23064 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
23065 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
23066 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
23067 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
23068 (DR0_REG, DR2_REG, DR4_REG): Renumber.
23069 (TR0_REG, TR1_REG, TR2_REG): New.
23070 (XD0_REG): Renumber.
23071 (UNSPEC_COMPACT_ARGS): New.
23072 (type): Added pt and ptabs.
23073 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 23074 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
23075 (pt): New function unit.
23076 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
23077 Add whitespace between operands of SHmedia instructions.
23078 (movdicc): Fix.
23079 (adddi3_media, addsi3_media): Adjust constraints.
23080 (subsi3) [SHmedia]: Force operand 1 into a register.
23081 (udivsi3_i1_media, udivsi3_i4_media): New.
23082 (udivsi3): Support SHmedia.
23083 (divsi3_i1_media, divsi3_i4_media): New.
23084 (divsi3): Support SHmedia.
23085 (anddi3, iordi3, xordi3): Adjust constraints.
23086 (zero_extendhidi2, zero_extendqidi2): New.
23087 (extendsidi2, extendhidi2, extendqidi2): New.
23088 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
23089 (pop_e, pop_fpul, pop_4): Likewise.
23090 (movsi_media): Support FP and BT registers.
23091 (movsi_media_nofpu): New. Adjust splits to DImode.
23092 (lduw, ldub): Renamed to zero_extend* above.
23093 (movqi_media): Fix typo.
23094 (movdi_media): Support FP and BT registers.
23095 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
23096 (movdi_const_32bit): New.
23097 (shori_media): Require immediate operand. Use `u' for output.
23098 (movdf_media, movsf_media): Simplified.
23099 (movdf_media_nofpu, movsf_media_nofpu): New.
23100 (movdf, movsf): Adjust
23101 (movv2sf, movv2sf, movv16sf): New.
23102 (beq_media, beq_media_i): Adjust constraints. Don't use
23103 scratch BT register.
23104 (bne_media, bne_media_i): Likewise.
23105 (bgt_media, bgt_media_i): Likewise.
23106 (bge_media, bge_media_i): Likewise.
23107 (bgtu_media, bgtu_media_i): Likewise.
23108 (bgeu_media, bgeu_media_i): Likewise.
23109 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
23110 bunordered): Emit jump insn. Force operands to registers when
23111 needed.
23112 (jump_media, jump): Simplify.
23113 (call_compact, call_compact_rettramp): New.
23114 (call_value_compact, call_value_compact_rettramp): New.
23115 (call_media, call_value_media): Simplify.
23116 (sibcall_compact, sibcall_media): New.
23117 (call, call_value): Adjust for SHmedia and SHcompact.
23118 (sibcall, sibcall_value, untyped_call): Likewise.
23119 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
23120 (indirect_jump): Adjust for SHmedia.
23121 (casesi_jump_media): New.
23122 (nop): Re-enable for SHmedia.
23123 (call_site): Restrict to SH1.
23124 (casesi): Adjust for SHmedia.
23125 (casesi_shift_media, casesi_load_media): New.
23126 (return): Explicitly use PR register. Call return trampoline
23127 on SHcompact.
23128 (return_i): Explicitly use PR register.
23129 (shcompact_return_tramp, shcompact_return_tramp_i): New.
23130 (return_media): Adjust.
23131 (shcompact_incoming_args): New.
23132 (epilogue): Adjust.
23133 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
23134 (movstrsi): Disable on SH5.
23135 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
23136 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
23137 (subsf3, subsf3_media): Likewise.
23138 (mulsf3, mulsf3_media, mac_media): Likewise.
23139 (divsf3, divsf3_media): Likewise.
23140 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
23141 (floatsisf2, fux_truncsfsi2): Likewise.
23142 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
23143 constraints.
23144 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
23145 (cmpunsf_media, cmpsf): Likewise.
23146 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
23147 (abssf2, abssf2_media): Likewise.
23148 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
23149 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
23150 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
23151 (floatsidf2, fix_truncdfsi2): Likewise.
23152 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
23153 constraints.
23154 (cmpeqdf_media, cmpgtdf_media): Likewise.
23155 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
23156 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
23157 (absdf2, absdf2_media): Likewise.
23158 (extendsfdf2, extendsfdf2_media): Likewise.
23159 (truncsfdf2, truncsfdf2_media): Likewise.
23160 * config/sh/sh64.h: New file.
23161 * config/sh/t-sh64: New file.
23162 * config/sh/shmedia.h: New file.
23163 * config/sh/ushmedia.h: New file.
23164 * config/sh/sshmedia.h: New file.
23165 * configure.in: Added sh64-*-elf.
23166 * configure: Rebuilt.
23167 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
23168 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
23169 (reg_class_from_letter): Use `b' for TARGET_REGS.
23170 (print_operand): Support `%M', `%m', `AND' and
23171 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
23172 (andcosts): Adjust for SHmedia.
23173 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
23174 Likewise.
23175 (target_reg_operand): New function.
23176 * config/sh/sh-protos.h (target_reg_operand): Declare.
23177 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
23178 FP registers on SH5.
23179 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
23180 on SH4.
23181 (TARGET_REGISTER_P): New macro.
23182 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
23183 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
23184 (EXTRA_CONSTRAINT_S): New macro.
23185 (EXTRA_CONSTRAINT): Adjust.
23186 (FLOAT_TYPE_SIZE): Define to 32.
23187 (Pmode): DImode on SHmedia.
23188 (CONST_COSTS): Adjust for SHmedia literals.
23189 (PREDICATE_CODES): Added target_reg_operand.
23190 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
23191 * config/sh/sh.md: Remove all attrs from SHmedia insns.
23192 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
23193 (cmpdi): Accept SHmedia.
23194 (movdicc_false, movdicc_true): New insns.
23195 (movdicc): New expand.
23196 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
23197 no_new_pseudos.
23198 (addsi3_media): Match `S' constraint.
23199 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
23200 (negdi2): Expand for SHmedia.
23201 (one_cmpldi2): New expand.
23202 (zero_extendsidi2): Change from expand to insn.
23203 (extendsidi2): Add constraints.
23204 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
23205 LD/ST address. Fix SI immediate loading split.
23206 (movhi_media, movqi_media, lduw, ldub): New insns.
23207 (movhi, movqi): Accept SHmedia.
23208 (shori_media, movdi_media): Relax input constraints. Split
23209 symbolic constants.
23210 (movdf_media, movsf_media): New insn. New split to movdi.
23211 (movdf, movsf): Match on SHmedia.
23212 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
23213 bgeu_media): New insns and splits. New insns with `_i' suffix.
23214 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
23215 (bunordered): New expand.
23216 (jump_compact): Renamed from `jump'.
23217 (jump_media): New insn.
23218 (jump): New expand.
23219 (call_media, call_value_media): New insns.
23220 (call, call_value): Adjust.
23221 (indirect_jump_compact): Renamed from `indirect_jump'.
23222 (indirect_jump_media): New insn.
23223 (indirect_jump): New expand.
23224 (untyped_call, return): Accept SHmedia.
23225 (return_media): New insn.
23226 (prologue, epilogue, blockage): Accept SHmedia.
23227 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
23228 (sunordered): New expand.
23229 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
23230 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
23231 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
23232 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
23233 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
23234 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
23235 abssf2_media): New insns.
23236 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
23237 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
23238 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
23239 floatdidf2, floatsidf2_media, fix_truncdfdi2,
23240 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
23241 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
23242 absdf2_media): New insns.
23243 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
23244 (extendsfdf2_media, truncdfsf2_media): New insns.
23245 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
23246 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
23247 * config/sh/sh.h (CONST_OK_FOR_J): Document.
23248 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
23249 * config/sh/sh.md (adddi3): New expand.
23250 (adddi3_media, adddi3z_media): New insns.
23251 (adddi3_compact): Renamed from adddi3.
23252 (addsi3_media): Use add.l r63 to add constant zero.
23253 (subdi3): New expand.
23254 (subdi3_media): New insn.
23255 (subdi3_compact): Renamed from subdi3.
23256 (mulsidi3): New expand.
23257 (mulsidi3_media): New insn.
23258 (mulsidi3_compact): Renamed from mulsidi3.
23259 (umulsidi3): New expand.
23260 (umulsidi3_media): New insn.
23261 (umulsidi3_compact): Renamed from umulsidi3.
23262 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
23263 (ashlsi3, ashrsi3, lshrsi3): Use them.
23264 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
23265 (ashldi3, ashrdi3, lshrdi3): Use them.
23266 (zero_extendsidi2): New expand.
23267 (extendsidi2): New insn.
23268 (movsi_media): New insn. Split to movdi to load constants.
23269 (movsi): Enable for shmedia.
23270 (movdi_media): New insn. Use shori_media to load wide constants.
23271 (short_media): New insn.
23272 (movdi): Enable for shmedia.
23273 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
23274 * config/sh/sh.h (CPP_SPEC): Added `m5'.
23275 (SUBTARGET_CPP_SPEC): Added `!m5'.
23276 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
23277 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
23278 to all other SH variants.
23279 (TARGET_DEFAULT): Set to SH1_BIT.
23280 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
23281 (BITS_PER_WORD): Raise to 64 on shmedia.
23282 (MAX_BITS_PER_WORD): Change to 64.
23283 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
23284 (INT_TYPE_SIZE): Keep as 32.
23285 (UNITS_PER_WORD): Raise to 8 on shmedia.
23286 (MIN_UNITS_PER_WORD): Keep as 4.
23287 (POINTER_SIZE): Raise to 64 on shmedia.
23288 (CONST_OK_FOR_J): New macro.
23289 (CONST_OK_FOR_LETTER_P): Use it.
23290 (processor_type): Add PROCESSOR_SH5.
23291 * config/sh/sh.md: Conditionalize all expands, insns and
23292 splits to TARGET_SH1.
23293 (cpu): Added sh5.
23294 (addsi3_compact): Renamed from...
23295 (addsi3): Now an expand.
23296 (addsi3_media, subsi3_media): New insns.
23297 (subsi3): Don't negate constants with SHmedia.
23298
e4ec2cac
AO
23299 * hooks.c: New file.
23300 * hooks.h: New file.
23301 * Makefile.in (HOOKS_H): New.
23302 (TARGET_DEF_H): Added $(HOOKS_H).
23303 (OBJS): Added hooks.o.
23304 (cfgcleanup.o, bb-reorder.o): Added target.h.
23305 (hooks.o): Added dependencies.
23306 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
23307 (TARGET_INITIALIZER): this.
23308 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
23309 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
23310 * bb-reorder.c: Include target.h.
23311 (reorder_basic_blocks): Skip if cannot modify jumps.
23312 * cfgcleanup.c: Include target.h.
23313 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
23314
246a46e0
CD
233152002-02-08 Chris Demetriou <cgd@broadcom.com>
23316
831c4e87
KC
23317 * config/mips/mips.md (casesi_internal, casesi_internal_di):
23318 Protect jump delay slot instructions with .set noreorder and
23319 .set nomacro.
246a46e0
CD
23320
233212002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
23322
23323 * config/mips/mips.md (casesi_internal_di): Calculate
23324 the index into the target offset table correctly.
23325
fdf473ae
RH
233262002-02-08 Richard Henderson <rth@redhat.com>
23327
23328 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
23329 * final.c (output_addr_const): Accept and discard SUBREG.
23330 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
23331 mark them unknown instead.
23332 (simplify_subtraction): Handle RTX_UNKNOWN.
23333 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
23334
c50503ac
DE
233352002-02-08 David Edelsohn <edelsohn@gnu.org>
23336
23337 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
23338
3660d217
RH
233392002-02-08 Richard Henderson <rth@redhat.com>
23340
23341 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
23342
56547299
AJ
233432002-02-08 Andreas Jaeger <aj@suse.de>
23344
23345 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
23346 * config/i386/t-linux64: New file.
23347
1cf537c5
JJ
233482002-02-08 Jakub Jelinek <jakub@redhat.com>
23349
23350 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
23351 * c-parse.in (compstmt): Clear last_expr_type.
23352
5c7f5a5f
RH
233532002-02-07 Richard Henderson <rth@redhat.com>
23354
23355 * loop.c (strength_reduce): Sink final_value when not
23356 eliminating a biv.
23357
b1138bf3
DB
233582002-02-07 David O'Brien <obrien@FreeBSD.org>
23359
23360 * config/sparc/freebsd.h: Fix mismatched spec {.
23361
b6878a45
RH
233622002-02-07 Richard Henderson <rth@redhat.com>
23363
23364 * cfgrtl.c: Include recog.h and insn-config.h.
23365 (keep_with_call_p): Fix general_operand invocation.
23366 * Makefile.in (cfgrtl.o): Update dependencies.
23367
ae19f5ef
KH
233682002-02-07 Kazu Hirata <kazu@hxi.com>
23369
23370 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
23371 comment. Accept HImode only if TARGET_H8300.
23372
b137f9fc
EC
233732002-02-07 Eric Christopher <echristo@redhat.com>
23374
23375 * config/mips/crtn.asm: Cleanup #ifdefs.
23376
233772002-02-07 Eric Christopher <echristo@redhat.com>
23378
23379 * config/mips/crti.asm: Add changes for mips16. mips16 uses
23380 register 7 as RA instead of $31.
23381 * config/mips/crtn.asm: Ditto.
23382 * config/mips/mips.c (mips_move_2words): Add case for
23383 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
23384 (compute_frame_size): Fix typo.
23385 (save_restore_insns): Ditto. Make documentation about using
23386 register $7 as return register more precise.
23387 (mips_expand_epilogue): Fix comment. Add code to work around not
23388 being able to add to the stack pointer directly.
23389 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
23390 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
23391 epilogue.
23392
768070a0
TR
233932002-02-07 Tom Rix <trix@redhat.com>
23394
b137f9fc 23395 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
23396 immediates in ldu and stdu DS opcode field.
23397 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
23398 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
23399 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
23400
225909c3
JS
234012002-02-07 Jeff Sturm <jsturm@one-point.com>
23402
23403 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
23404 offset for stack bias.
23405
15fae023
L
234062002-02-07 H.J. Lu <hjl@gnu.org>
23407
23408 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
23409
fde5badd
UW
234102002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
23411
23412 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
23413
162f023b
JH
23414Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
23415
23416 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
23417 * i386.c (x86_order_regs_for_local_alloc): New global function.
23418 * i386.h (REG_ALLOC_ORDER): CLeanup.
23419 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
23420
9b462c42
RH
234212002-02-07 Richard Henderson <rth@redhat.com>
23422
85aa876c 23423 PR optimization/2463
9b462c42
RH
23424 * alias.c (find_base_value): Recall base values for fixed hard regs.
23425 * loop.c (loop_regs_update): Don't use single_set on non-insns.
23426
06e455a9
AO
234272002-02-07 Alexandre Oliva <aoliva@redhat.com>
23428
23429 * config/mips/mips.md (define_delay) [mips16]: Adjust required
23430 length.
23431
edd1967d
RH
234322002-02-06 Richard Henderson <rth@redhat.com>
23433
23434 PR c/5609
23435 * stmt.c (resolve_operand_name_1): Take more care with mixed
23436 named and unnamed operands.
23437
a2cd028f
JJ
234382002-02-06 Janis Johnson <janis187@us.ibm.com>
23439 Jan Hubicka <jh@suse.cz>
23440
23441 * loop.c (remove_constant_addition): Avoid clobbering a shared
23442 CONST expression.
23443
e8487c04
UW
234442002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
23445
23446 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
23447 * config/s390/t-linux64: New file.
23448 * config/s390/libgcc-glibc.ver: New file.
23449
58d10f89
UW
234502002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
23451
23452 * config/s390/linux64.h: Delete file.
23453 * config/s390/s390x.h: New file.
23454 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
23455 as target header file.
23456 * config/s390/linux.h (TARGET_VERSION): Define depending on
23457 DEFAULT_TARGET_64BIT.
23458 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
23459 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
23460 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
23461 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
23462 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
23463 (EXTRA_SPEC): New define.
23464 * config/s390/s390.h (TARGET_VERSION): Define depending on
23465 DEFAULT_TARGET_64BIT.
23466 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
23467
5ce89b2e
JM
234682002-02-06 Jason Merrill <jason@redhat.com>
23469
23470 * c-decl.c (finish_function): Warn about a non-void function with
23471 no return statement and no abnormal exit.
23472 (current_function_returns_abnormally): New variable.
23473 (start_function): Clear it.
23474 (struct c_language_function): Add returns_abnormally.
23475 (push_c_function_context): Save it.
23476 (pop_c_function_context): Restore it.
23477 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
23478 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
23479 an explicit return type.
23480 * c-tree.h: Declare current_function_returns_abnormally.
23481 (C_FUNCTION_IMPLICIT_INT): New macro.
23482 * c-typeck.c (build_function_call): Set it.
23483 (c_expand_return): Set current_function_returns_value even if the
23484 value is erroneous.
23485
caaf2272
JJ
234862002-02-06 Jakub Jelinek <jakub@redhat.com>
23487
23488 PR c/5420:
23489 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
23490 unsafe for reevaluation.
23491
d5129288
JJ
234922002-02-06 Jakub Jelinek <jakub@redhat.com>
23493
23494 PR c/5482:
23495 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
23496 EXPR_STMT, but COMPOUND_STMT, recurse into it.
23497
7fb75099
RH
234982002-02-06 Richard Henderson <rth@redhat.com>
23499
23500 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
23501 be a general_operand. Dest for function value must be a pseudo.
23502
d3a8b6a6
NC
235032002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
23504
23505 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
23506 as SYMBOL_REFs from the constant pool.
23507
3c1299c5
AO
235082002-02-06 Alexandre Oliva <aoliva@redhat.com>
23509
23510 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
23511 passed by invisible reference.
23512
c2c9f6c9
RH
235132002-02-05 Richard Henderson <rth@redhat.com>
23514
23515 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
23516
a824924d
HPN
235172002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
23518
23519 Implement using "base addresses" in insn operands as default.
23520 * config/mmix/mmix.c (mmix_conditional_register_usage): if
23521 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
23522 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
23523 used to read the rtx value.
23524 (mmix_target_asm_function_epilogue): Fix spacing.
23525 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
23526 (mmix_legitimate_address): Ditto.
23527 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
23528 should be loaded with a GETA insn. Don't allocate needless extra
23529 char for nul termination and fix misleading comment.
23530 (mmix_print_operand_address): Handle constants if
23531 TARGET_BASE_ADDRESSES.
23532 (mmix_output_register_setting): Use base addressing if
23533 TARGET_BASE_ADDRESSES and the number of insns is 3.
23534 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
23535 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
23536 to use R as constraint, add LDA to match s.
23537 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
23538 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
23539 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
23540 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
23541 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
23542 order with other fixed registers.
23543 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
23544 other parameter/call-clobbered registers.
23545 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
23546 -mbase-addresses, -mno-base-addresses.
23547 (MMIX Options): Ditto.
23548
73c342b9
JDA
235492002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
23550
23551 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
23552
ef238c58
AH
235532002-02-06 Aldy Hernandez <aldyh@redhat.com>
23554
831c4e87 23555 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 23556
ad08e60e
JT
235572002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
23558
23559 * config/netbsd.h (WCHAR_TYPE): Define.
23560 (WCHAR_TYPE_SIZE): Ditto.
23561 (WINT_TYPE): Ditto.
23562 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
23563 (WCHAR_UNSIGNED): Ditto.
23564 (WCHAR_TYPE_SIZE): Ditto.
23565 (WINT_TYPE): Ditto.
23566 * config/arm/netbsd.h: Likewise.
23567 * config/i386/netbsd-elf.h: Likewise.
23568 * config/i386/netbsd.h: Likewise.
23569 * config/m68k/netbsd-elf.h: Likewise.
23570 * config/m68k/netbsd.h: Likewise.
23571 * config/ns32k/netbsd.h: Likewise.
23572 * config/sparc/netbsd.h: Likewise.
23573 * config/vax/netbsd.: Likewise.
23574
f913c102
AO
235752002-02-05 Alexandre Oliva <aoliva@redhat.com>
23576
23577 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
23578 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
23579 (TARGET_INITIALIZER): this.
23580 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
23581 (BITFIELD_NBYTES_LIMITED): Markup fix.
23582 * tree.h (default_ms_bitfield_layout_p): Declare.
23583 (record_layout_info): Added prev_field.
23584 * tree.c (default_ms_bitfield_layout_p): New fn.
23585 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
23586 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
23587 * stor-layout.c: Include target.h.
23588 (start_record_layout): Initialize prev_field.
23589 (place_field): Handle MS bit-field layout, and disregard
23590 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
23591 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
23592 * Makefile.in (stor-layout.o): Adjust dependencies.
23593
c13db5d1
JM
235942002-02-05 Jason Merrill <jason@redhat.com>
23595
c13db5d1
JM
23596 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
23597
4505024e
AJ
235982002-02-05 Andreas Jaeger <aj@suse.de>
23599
23600 * crtstuff.c: Fix comments.
23601
794ad79d
RH
236022002-02-05 Richard Henderson <rth@redhat.com>
23603
2e279a9b
RH
23604 PR fortran/3393
23605 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
23606 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
23607
794ad79d
RH
23608 PR fortran/3392
23609 * config/mips/mips.c (function_arg): Handle TImode.
23610 (function_arg_advance): Likewise.
23611
8f909017
AH
236122002-02-05 Aldy Hernandez <aldyh@redhat.com>
23613
c13db5d1
JM
23614 * config/rs6000/altivec.h (vec_step_help): Rename to
23615 __vec_step_help.
8f909017 23616
66daa9e3
AH
236172002-02-05 Aldy Hernandez <aldyh@redhat.com>
23618
c13db5d1 23619 * config/rs6000/altivec.h: Fix typos.
66daa9e3 23620
2696e97b
JT
236212002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
23622
23623 * config/arm/netbsd.h: Correct a comment.
23624
3deb2758
AH
236252002-02-05 Aldy Hernandez <aldyh@redhat.com>
23626
c13db5d1
JM
23627 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
23628 building void typed builtins.
3deb2758 23629
c13db5d1
JM
23630 * config/rs6000/altivec.h (vec_ld*): Fix typos.
23631 (vec_step): Implement for C++.
3deb2758 23632
c13db5d1 23633Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
23634
23635 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
23636
ebbb0a63
RH
236372002-02-04 Richard Henderson <rth@redhat.com>
23638
23639 * combine.c (nonzero_bits): Re-introduce special case for
23640 sp/fp/ap wrt REGNO_POINTER_ALIGN.
23641
ae4b4a02
AH
236422002-02-05 Aldy Hernandez <aldyh@redhat.com>
23643
c13db5d1
JM
23644 * doc/extend.texi: Warn about unsupported usage of altivec
23645 builtins.
ae4b4a02 23646
c13db5d1
JM
23647 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
23648 (altivec_predicate_*): New.
ae4b4a02 23649
c13db5d1
JM
23650 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
23651 Add C++ version of vec_*() functions.
ae4b4a02 23652
c13db5d1
JM
23653 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
23654 (bdesc_2arg): Remove altivec predicates.
23655 (altivec_expand_builtin): Handle predicates.
23656 (altivec_init_builtins): Handle predicates.
23657 (altivec_expand_predicate_builtin): New.
ae4b4a02 23658
f6bcf44c
JDA
236592002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23660
23661 * pa.c (DO_FRAME_NOTES): Move forward.
23662 (store_reg): Revise handling of frame notes.
23663 (load_reg): Likewise.
23664 (set_reg_plus_d): Likewise.
23665 (hppa_expand_prologue): Likewise.
23666 (hppa_expand_epilogue): Likewise.
b137f9fc 23667
703b0080
JDA
236682002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23669
23670 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
23671
6f9fdf4d
JJ
236722002-02-04 Jakub Jelinek <jakub@redhat.com>
23673
23674 PR c/4475, c++/3780:
23675 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
23676 * c-common.h (SWITCH_TYPE): Define.
23677 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
23678 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
23679 Rename spareness variable to sparseness.
23680 (expand_end_case_type): Renamed from expand_end_case, use orig_type
23681 if non-NULL instead of TREE_TYPE (orig_index).
23682 * tree.h (expand_end_case_type): Renamed from expand_end_case.
23683 (expand_end_case): Define using expand_end_case_type.
23684 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
23685 to expand_end_case_type.
23686 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
23687
79109502
JDA
236882002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23689
23690 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
23691 (BIGGEST_ALIGNMENT): Change to 128.
23692
e62a5987
JDA
236932002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23694
23695 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
23696
219f24a4
JDA
236972002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23698
23699 * pa.md (call_internal_reg_64bit): Remove unused variable.
23700
3cb66fd7
NC
237012002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
23702
23703 * config/arm/arm.h (machine_function): Add uses_anonymous_args
23704 field.
831c4e87 23705 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 23706 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
23707 replace uses with cfun->machine->uses_anonymous_args.
23708 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
23709
23710 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
23711 any geenral register.
b137f9fc 23712
5d5603e2 237132001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
23714
23715 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
23716 the entry block.
23717
563c12b0
RH
237182002-02-04 Richard Henderson <rth@redhat.com>
23719
23720 * combine.c (force_to_mode): Remove STACK_BIAS code.
23721 (nonzero_bits): Likewise. Replace sp/fp special case with
23722 REGNO_POINTER_ALIGN.
23723
23724 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
23725 (HARD_FRAME_POINTER_REGNUM): New.
23726 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
23727 (FIXED_REGS, CALL_USED_REGS): Update.
23728 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
23729 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
23730 (HARD_REGNO_NREGS): Update for SFP.
23731 (STACK_POINTER_OFFSET): Include bias here ...
23732 (FIRST_PARM_OFFSET): ... not here.
23733 (STACK_BIAS): Remove.
23734 (INIT_EXPANDERS): New.
23735 (STARTING_FRAME_OFFSET): Do not include bias.
23736 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
23737 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
23738 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
23739 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
23740 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
23741 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
23742 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
23743 (MUST_SAVE_REGISTER): Likewise.
23744 (sparc_flat_function_prologue): Likewise.
23745 (sparc_flat_function_epilogue): Likewise.
23746 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
23747 (sparc_init_modes): SFP is GENERAL_REGS.
23748 (sparc_builtin_saveregs): SFP does not have bias applied.
23749
14691f8d
RH
237502002-02-04 Richard Henderson <rth@redhat.com>
23751
23752 * config/alpha/alpha.c (current_function_is_thunk): Don't check
23753 current_function_is_thunk.
23754 (alpha_sa_mask): Distinguish between current_function_is_thunk
23755 called from ASM_OUTPUT_MI_THUNK and not.
23756 (alpha_does_function_need_gp): Thunks always need gp.
23757 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
23758 (alpha_output_mi_thunk_osf): New.
23759 * config/alpha/alpha-protos.h: Update.
23760 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
23761
af702de8
RS
237622002-02-04 Richard Sandiford <rsandifo@redhat.com>
23763
23764 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
23765 function types, not when they're taken away.
23766
5b1cacd8
JL
23767Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
23768
23769 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
23770 CODE_LABEL and jump table when replacing a table jump with a
23771 simple jump.
23772
f3e9edff
UW
237732002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
23774
23775 * config/s390/s390-protos.h (legitimize_la_operand,
23776 s390_secondary_input_reload_class, s390_plus_operand,
23777 s390_expand_plus_operand): Add prototypes.
23778
23779 config/s390/s390.c (s390_secondary_input_reload_class,
23780 s390_plus_operand, s390_expand_plus_operand): New functions.
23781
23782 (struct s390_address): New member 'pointer'.
23783 (s390_decompose_address): Compute it.
23784 (legitimate_la_operand_p): Use it.
23785 (legitimize_la_operand): New function.
23786 (movti, movdi, movdf splitters): Call it.
23787
23788 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
23789 (PREDICATE_CODES): Add s390_plus_operand.
23790
23791 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
23792 (la_ccclobber): Allow GENERAL_REGS as output operand.
23793
23794 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
23795 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
23796 (*la_64, *la_31, reload_indi, reload_insi): ... these.
23797
3c9a08ec
UW
237982002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
23799
23800 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
23801 register names for regular asm () construct.
23802
ac300a45
JJ
238032002-02-04 Jakub Jelinek <jakub@redhat.com>
23804
23805 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
23806 registers.
23807
fa852403
JJ
238082002-02-04 Jakub Jelinek <jakub@redhat.com>
23809
23810 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
23811 pat for recog.
23812
fecaac37
HP
238132002-02-04 Hartmut Penner <hpenner@de.ibm.com>
23814
831c4e87
KC
23815 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
23816 constant pool to be identical by string address and index.
fecaac37 23817
10c45943
AG
238182002-02-04 Anthony Green <green@redhat.com>
23819
23820 * output.h (SECTION_OVERRIDE): Define.
23821 * varasm.c (named_section): Obey SECTION_OVERRIDE.
23822
69474c3c
JT
238232002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
23824
23825 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
23826 by existing arm*-*-netbsd* (a.out) target.
23827 (ns32k-*-netbsdelf*): Likewise.
23828 (sparc-*-netbsdelf*): Likewise.
23829 (vax-*-netbsdelf*): Likewise.
23830
939a46f6 238312002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
23832
23833 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
23834 headers and libobjc headers.
23835
238362002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
23837
23838 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
23839 (_mingw.h): Remove duplicate include.
23840
2fd95d71
JT
238412002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
23842
23843 * config.gcc: Set cpu_type to m68k for 68010, as well.
23844 (m68010-*-netbsdelf*): New...
23845 (m68k*-*-netbsdelf*): ...targets.
23846 * config/m68k/netbsd-elf.h: New file.
23847
0ea6f6a0
KH
238482002-02-02 Kazu Hirata <kazu@hxi.com>
23849
23850 * config/h8300/h8300.c (hand_list): Move inside function_arg.
23851
cbf1b2da
KH
238522002-02-02 Kazu Hirata <kazu@hxi.com>
23853
23854 * config/h8300/h8300.c (h8_push_ops): Move inside
23855 h8300_init_once.
23856 (h8_pop_ops): Likewise.
23857 (h8_move_ops): Likewise.
23858
0869f126
KH
238592002-02-02 Kazu Hirata <kazu@hxi.com>
23860
23861 * config/h8300/h8300.c (os_task): Make it static.
23862 (monitor): Likewise.
23863 (pragma_saveall): Likewise.
23864
90e65b70
AO
238652002-02-02 Alexandre Oliva <aoliva@redhat.com>
23866
23867 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
23868 constant is a valid sign-extension for Pmode.
23869
9cbcd983
KH
238702002-02-02 Kazu Hirata <kazu@hxi.com>
23871
23872 * config/h8300/h8300.c: Fix formatting.
23873
7a27efc4
KH
238742002-02-02 Kazu Hirata <kazu@hxi.com>
23875
23876 * config/h8300/h8300.md: Fix formatting.
23877
54175a44
KH
238782002-02-02 Kazu Hirata <kazu@hxi.com>
23879
23880 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
23881 predicates of operands[1]. Split the patterns for each
23882 processor variant.
23883
eceb1755
KH
238842002-02-02 Kazu Hirata <kazu@hxi.com>
23885
23886 * config/h8300/h8300.md (xor patterns): Tighten the predicates
23887 of operands[1] to register_operand.
23888
0fef3fd0
NB
238892002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
23890
23891 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
23892 * cpphash.c (_cpp_init_hashtable): Similarly.
23893 * cppinit.c (cpp_create_reader): Default the signed_char flag.
23894 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
23895 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
23896 (cpp_handle_option): Handle the new options.
23897 * cpplex.c (cpp_interpret_charconst): Use new flag.
23898 * cpplib.h (struct cpp_options): New member signed_char.
23899 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
23900 (cpp_options): Handle -fsigned-char and -funsigned-char.
23901 (static_specs): Remove signed_char_spec.
23902 (do_spec1): Don't handle %c.
23903 * system.h: Poison SIGNED_CHAR_SPEC.
23904 * tradcif.y (yylex): Use flag_signed_char.
23905 * tradcpp.h (flag_signed_char): New.
23906 * tradcpp.c (flag_signed_char): New.
23907 (main): Handle new command-line options.
23908 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
23909config:
23910 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
23911 * avr/avr.h: Remove old comments.
23912 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
23913 (CC1_SPEC): Pass -fsigned-char if -mic*.
23914 (SIGNED_CHAR_SPEC): Remove.
23915doc:
23916 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
23917
0617ed52
EC
239182002-02-01 Eric Christopher <echristo@redhat.com>
23919
23920 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
23921 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
23922 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
23923 (ASM_OUTPUT_REG_POP): Ditto.
23924
dfd48d76
NB
239252002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
23926
23927 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
23928 patch.
23929
4a23409e
JJ
239302002-02-02 Jakub Jelinek <jakub@redhat.com>
23931
23932 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
23933
d3c52658
JJ
239342002-02-02 Jakub Jelinek <jakub@redhat.com>
23935
23936 PR c/5304:
23937 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
23938 unconditionally.
23939
02c5a3bd
JJ
239402002-02-01 Janis Johnson <janis187@us.ibm.com>
23941
23942 * cfganal.c: Include tm_p.h.
23943 (keep_with_call_p): Fix the test that determines if a register holds
23944 the return value of a call.
23945
3968de80
DD
239462002-02-01 DJ Delorie <dj@redhat.com>
23947
23948 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
23949 we are given conflicting registers, switch to the other one we
23950 had allocated for us.
23951 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
23952 as TImode so we know when the "other" register is available.
23953
1338ea6c
DB
239542002-02-01 David O'Brien <obrien@FreeBSD.org>
23955
23956 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
23957 sparc/sparc_bi.h.
23958
f015be23
JJ
239592002-02-01 Janis Johnson <janis187@us.ibm.com>
23960
23961 * cfganal.c (keep_with_call_p): New function.
23962 (flow_call_edges_add): Prevent splitting a block between a call and
23963 a single-set instruction that should be kept in the same block.
23964
63708ffc
CR
239652002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
23966
23967 * doc/install.texi (avr): Update outdated URL.
23968
5ee4950e
AH
239692002-01-30 Andrew Haley <aph@cambridge.redhat.com>
23970
831c4e87
KC
23971 * config/stormy16/stormy16.md (pushqi): New.
23972 (popqi): New.
23973 (pushhi): New.
23974 (pophi): New.
23975 (movhi): Remove stack operands.
23976 (movqi): Likewise.
23977 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
23978 nonimmediate_nonstack_operand.
23979 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
23980 New.
23981 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
23982 New.
5ee4950e 23983
b88c0704
JM
239842002-01-31 Jason Merrill <jason@redhat.com>
23985
23986 * Makefile.in (c-parse.c): Handle .output file.
23987 * objc/Make-lang.in (objc-parse.c): Likewise.
23988
ac282977
AO
239892002-02-01 Alexandre Oliva <aoliva@redhat.com>
23990
23991 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
23992 the -me[lb] option is given. Don't output the default flag
23993 twice.
23994
bebc7e8b
ZW
239952002-01-31 Zack Weinberg <zack@codesourcery.com>
23996
23997 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
23998 the primary source file; this has not been done yet.
23999 * c-decl.c (c_expand_body): Reset input_filename from
24000 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
24001
5809eb5f
KH
240022002-01-31 Kazu Hirata <kazu@hxi.com>
24003
24004 * rtlanal.c (subreg_regno_offset): Do not use
24005 SUBREG_REGNO_OFFSET.
24006 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
24007 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
24008
8512bbd7
JM
240092002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
24010
24011 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
24012 version rather than GNATS version in --version output.
24013
74cb3cc8
RS
240142002-01-31 Richard Sandiford <rsandifo@redhat.com>
24015
24016 * ifcvt.c (noce_process_if_block): Make a copy of the destination
24017 when copying back from a temporary.
24018
874b5b14
RH
240192002-01-30 Richard Henderson <rth@redhat.com>
24020
24021 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
24022 and new_dest are the same.
24023
e803a64b
RH
240242002-01-30 Richard Henderson <rth@redhat.com>
24025
89cf7be5 24026 PR opt/5076
e803a64b
RH
24027 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
24028 * rtl.c (note_insn_name): Update.
24029 * emit-rtl.c (remove_unnecessary_notes): Kill it.
24030 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
24031 to perform loop rotation.
24032 (expand_exit_loop_top_cond): New.
24033 * tree.h (expand_exit_loop_top_cond): Declare it.
24034 * c-semantics.c (genrtl_while_stmt): Use it.
24035 (genrtl_for_stmt): Likewise.
24036
0b51254d
AO
240372002-01-30 Alexandre Oliva <aoliva@redhat.com>
24038
24039 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
24040 arguments to 64-bit boundaries on 64-bit ABIs.
24041
71cef493
SE
240422002-01-30 Steve Ellcey <sje@cup.hp.com>
24043
24044 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
24045
6169e5fd
JM
240462002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
24047
24048 * c-decl.c (grokdeclarator): Handle type being a typedef for an
24049 invalid type.
24050
86f808dc
DB
240512002-01-30 David O'Brien <obrien@FreeBSD.org>
24052
24053 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
24054 * config/sparc/sparc_bi.h: Remove file.
24055 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
24056
5748ebeb
RH
240572002-01-30 Richard Henderson <rth@redhat.com>
24058
24059 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
24060
20d32cc2
ZW
240612002-01-30 Zack Weinberg <zack@codesourcery.com>
24062
24063 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
24064
b88c0704 240652002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
24066
24067 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
24068 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
24069 (reg_save): Use DW_CFA_offset_extended_sf instead.
24070
24071 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
24072
37060e78
JJ
240732002-01-29 Jakub Jelinek <jakub@redhat.com>
24074
24075 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
24076 in cselib_lookup.
24077
d18dba68
AH
240782002-01-29 Aldy Hernandez <aldyh@redhat.com>
24079
bebc7e8b
ZW
24080 * rs6000.md ("*call_value_local32"): Remove constraints.
24081 ("*call_value_local64"): Same.
24082 ("*call_value_indirect_nonlocal_aix32"): Same.
24083 ("*call_value_nonlocal_aix32"): Same.
24084 ("*call_value_indirect_nonlocal_aix64"): Same.
24085 ("*call_value_nonlocal_aix64"): Same.
24086 ("*call_value_nonlocal_sysv"): Same.
d18dba68 24087
80a8aac6
RH
240882002-01-29 Richard Henderson <rth@redhat.com>
24089
24090 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
24091
12beba6f
RH
240922002-01-29 Richard Henderson <rth@redhat.com>
24093
24094 * expr.c (force_operand): Ignore flag_pic for detecting pic
24095 address loads.
24096 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
24097 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
24098 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
24099 instead of open-coded loop.
24100 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
24101 be fixed when in use.
24102
2583081e
RH
241032002-01-29 Richard Henderson <rth@redhat.com>
24104
24105 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
24106 * sched-rgn.c (propagate_deps): Update them.
24107 * sched-deps.c (sched_analyze_insn): Update them. Flush the
24108 clobbers list when either gets too long.
24109
3b8d200e
JJ
241102002-01-29 Jakub Jelinek <jakub@redhat.com>
24111
24112 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
24113 and INDEX_REGS the same as GENERAL_REGS.
24114 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
24115
2d3115eb
NB
241162002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
24117
bebc7e8b 24118 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 24119
ecbe845e
UW
241202002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
24121
bebc7e8b 24122 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 24123 movstrsix_31): Remove, replace by ...
bebc7e8b 24124 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
24125 movstrsi_long): ... these. New.
24126 (movstrdi, movstrsi): Adapt.
24127
24128 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 24129 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
24130 Remove unnecessary CC clobber.
24131 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
24132 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
24133
24134 (divmoddi4): Don't partially initialize TImode register.
24135
0b32fca5
GK
241362002-01-29 Geoffrey Keating <geoffk@redhat.com>
24137
24138 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
24139
08ef5437
RH
241402002-01-29 Richard Henderson <rth@redhat.com>
24141
24142 * flow.c (print_rtl_and_abort): Remove.
24143 (print_rtl_and_abort_fcn): Remove.
24144 (verify_local_live_at_start): Use dump_bb instead.
24145 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
24146 (verify_wide_reg_1): Return 2 on mode test failure.
24147
8469e54e
NB
241482002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
24149
24150 PR c/3325, c/3326, c/2511, c/3347
24151 * c-decl.c (enum_decl_context): Remove BITFIELD.
24152 (grokdeclarator): Take bitfield width as an input.
24153 Ensure bitfields are given the correct type. Perform
24154 bitfield width validation with build_bitfield_integer_type
24155 rather than waiting for finish_struct.
24156 (grok_typename, grok_typename_in_parm_context, start_decl,
24157 push_parmdecl, grokfield, start_function): Update calls to
24158 grokdeclarator.
24159 (build_bitfield_integer_type): New function.
24160 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 24161 and build_bitfield_integer_type.
8469e54e
NB
24162 * tree.c (build_nonstandard_integer_type): New function.
24163 * tree.h (build_nonstandard_integer_type): New prototype.
24164objc:
24165 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
24166
ffdeea47
JJ
241672002-01-29 Jakub Jelinek <jakub@redhat.com>
24168
24169 PR other/1502:
24170 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
24171 don't ignore unrecognized -W* options.
24172 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
24173 * cpplib.h (cpp_handle_option): Adjust prototype.
24174 * c-decl.c (c_decode_options): Pass 0 as last argument to
24175 cpp_handle_option.
24176
24177 PR c/2896:
24178 * gcc.c (cpp_unique_options): Split from cpp_options.
24179 (cpp_options): Source cpp_unique_options.
24180 (default_compilers): Use cpp_unique_options instead of cpp_options
24181 when used together with cc1_options.
24182 (static_specs): Add cpp_unique_options.
24183 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
24184 when used together with cc1_options.
24185
1a275226
KH
241862002-01-29 Kazu Hirata <kazu@hxi.com>
24187
24188 * config/h8300/h8300-protos.h: Update the prototype of
24189 output_a_shift.
24190 * config/h8300/h8300.c (output_a_shift): Remove an unused
24191 argument 'insn'. Remove redundant code.
24192 * config/h8300/h8300.md: Adust to the new prototype of
24193 output_a_shift.
24194
a11d9dfc
KH
241952002-01-29 Kazu Hirata <kazu@hxi.com>
24196
24197 * config/h8300/h8300-protos.h: Update the prototypes of
24198 emit_a_rotate and expand_a_rotate.
24199 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
24200 first argument to 'enum rtx_code'.
24201 (expand_a_rotate): Likewise.
24202
871f73e3
KH
242032002-01-28 Kazu Hirata <kazu@hxi.com>
24204
24205 * config/h8300/h8300-protos.h: Update the prototype of
24206 output_simode_bld.
24207 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
24208 'log2'.
24209 * config/h8300/h8300.md: Adjust to the new prototype.
24210
5fc4b751
KH
242112002-01-28 Kazu Hirata <kazu@hxi.com>
24212
24213 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
24214 redundant code.
24215
2d67bd7b
JDA
242162002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
24217
24218 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
24219 is a fixed register before returning pic_offset_table_rtx.
24220 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
24221 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
24222
5a852b3e
JM
242232002-01-28 Jason Merrill <jason@redhat.com>
24224
6bb28965 24225 * dwarf2.h: Sync with src version.
5a852b3e 24226
3bca17dd
PK
242272002-01-28 Paul Koning <pkoning@equallogic.com>
24228
24229 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
24230 BT_FN_VOID_PTR_VAR.
24231 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
24232 * doc/extend.texi (__builtin_prefetch): Update documentation:
24233 first argument is now const void ptr.
24234
7dc3f8c0
KH
242352002-01-28 Kazu Hirata <kazu@hxi.com>
24236
24237 * config/h8300/h8300-protos.h: Remove an unused prototype.
24238
e83cb5f0
RZ
242392002-01-28 Roman Zippel <zippel@linux-m68k.org>
24240
24241 * toplev.c (lang_independent_init): Round up identifier size.
24242
5721cd84
RE
242432002-01-28 Richard Earnshaw <rearnsha@arm.com>
24244
24245 * config.gcc: Revert previous change.
24246
d534119e
AP
242472002-01-28 Andris Pavenis <pavenis@latnet.lv>
24248
24249 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
24250
5a721dab
RE
242512002-01-28 Richard Earnshaw <rearnsha@arm.com>
24252
24253 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
24254 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
24255 other non-elf netbsd config frags.
24256 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
24257 collect2 will does that.
24258 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
24259 shared-lib frobbing will work.
24260
da1775d6
KH
242612002-01-28 Kazu Hirata <kazu@hxi.com>
24262
24263 * config/h8300/h8300.h: Fix formatting.
24264 * config/h8300/h8300.md: Likewise.
24265
8f2e963b
LR
242662002-01-28 Loren J. Rittle <ljrittle@acm.org>
24267
24268 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
24269 the old, removed AAA_standards fix.
24270 * fixinc/fixincl.x: Rebuilt.
24271
fdae5767
HPN
242722002-01-28 Hans-Peter Nilsson <hp@axis.com>
24273
24274 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
24275 atexit call in crtbegin, hooked in after call to frame_dummy;
24276 register EH before registering __fini__start.
24277
2a2ecb63
AH
242782002-01-28 Aldy Hernandez <aldyh@redhat.com>
24279
24280 * config/rs6000/altivec.h: Remove spurious semicolons.
24281
8ed43adf
KH
242822002-01-27 Kazu Hirata <kazu@hxi.com>
24283
24284 * config/h8300/h8300.md: Replace dead bit extraction patterns
24285 with ones that work.
24286
917afb0c
RK
24287Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24288
24289 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
24290 if not STRICT_ALIGNMENT.
24291 * rtl.h (MEM_ALIGN): Likewise.
24292
f70a54cb
CR
242932002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
24294
24295 * doc/invoke.texi (-fdump-translation-unit): Revert this
24296 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
24297
d8fd4914
KH
242982002-01-27 Kazu Hirata <kazu@hxi.com>
24299
24300 * config/h8300/h8300.md (define_constants): New.
24301 (anonymous patterns) Use defined constants appropriately.
24302
15e0e275
KH
243032002-01-27 Kazu Hirata <kazu@hxi.com>
24304
24305 * config/h8300/h8300.c (function_arg): Remove redundant code.
24306
37a0f8a5
RH
243072002-01-26 Richard Henderson <rth@redhat.com>
24308
24309 * sched-deps.c (reg_pending_uses_head): New.
24310 (reg_pending_barrier): Rename from reg_pending_sets_all.
24311 (find_insn_list): Don't mark inline.
24312 (find_insn_mem_list): Remove.
24313 (add_dependence_list, add_dependence_list_and_free): New.
24314 (flush_pending_lists): Replace only_write param with separate
24315 for_read and for_write parameters. Update all callers. Use
24316 add_dependence_list_and_free.
24317 (sched_analyze_1): Do not add reg dependencies here; just set
24318 the pending bits. Use add_dependence_list.
24319 (sched_analyze_2): Likewise.
24320 (sched_analyze_insn): Replace schedule_barrier_found with
24321 reg_pending_barrier. Add all dependencies for pending reg
24322 uses, sets, and clobbers.
24323 (sched_analyze): Don't add reg dependencies for calls, just
24324 set pending bits. Use regs_invalidated_by_call. Treat
24325 sched_before_next_call as a normal list, not a fake insn.
24326 (init_deps): No funny init for sched_before_next_call.
24327 (free_deps): Free pending mems lists. Don't zero reg_last.
24328 (init_deps_global): Init reg_pending_uses.
24329 (finish_deps_global): Free it.
24330 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
24331 (find_insn_mem_list): Remove.
24332 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
24333 (propagate_deps): Use them. Zero temp mem lists.
24334
cea3bd3e
RH
243352002-01-26 Richard Henderson <rth@redhat.com>
24336
24337 * Makefile.in (CRTSTUFF_CFLAGS): New.
24338 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
24339 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
24340 crtstuff.c instead of alpha assembly version.
24341 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
24342 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
24343 not FORCE_{INIT,FINI}_SECTION_ALIGN.
24344 (__do_global_dtors_aux): Mark used.
24345 (frame_dummy, __do_global_ctors_aux): Mark used.
24346 (fini_dummy, init_dummy): Remove.
24347
24348 * config/alpha/crtbegin.asm: Remove file.
24349 * config/alpha/crtend.asm: Remove file.
24350 * config/alpha/t-crtbe: Remove file.
24351 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
24352 (LINK_EH_SPEC): New.
24353
24354 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
24355 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
24356 calling constructors.
24357 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
24358
24359 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
24360 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
24361 CRT_END_INIT_DUMMY hack.
24362 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
24363 FORCE_{INIT,FINI}_SECTION_ALIGN.
24364
24365 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
24366 FORCE_{INIT,FINI}_SECTION_ALIGN.
24367
24368 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
24369 invocation sequence.
24370 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
24371
24372 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
24373 (FORCE_CODE_SECTION_ALIGN): New.
24374
60ffa0e5
RH
243752002-01-26 Richard Henderson <rth@redhat.com>
24376
24377 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
24378
61334ebe
RH
243792002-01-26 Richard Henderson <rth@redhat.com>
24380
24381 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
24382 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
24383
1d788fb6
KH
243842002-01-26 Kazu Hirata <kazu@hxi.com>
24385
24386 * config/h8300/h8300.md: Remove bit extraction patterns that
24387 cannot be triggered.
24388 Restrict each bit extraction pattern to a variant on which the
24389 pattern is tested.
24390
87611f88
JM
243912002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
24392
24393 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
24394
cd74ec59
KH
243952002-01-26 Kazu Hirata <kazu@hxi.com>
24396
24397 * config/h8300/h8300.md: Remove bit test patterns that cannot
24398 be triggered.
24399 Restrict each bit test pattern to a variant on which the
24400 pattern is tested.
24401
93051e0f
KG
244022002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
24403
24404 * builtins.c (expand_builtin_strncat): Remove redundant check for
24405 INTEGER_CST.
24406
216c995f
DB
244072002-01-25 David O'Brien <obrien@FreeBSD.org>
24408
24409 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
24410 default setting.
24411 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
24412 existing setting.
24413
33c7f925
GK
244142002-01-25 Geoffrey Keating <geoffk@redhat.com>
24415
24416 * dbxout.c (dbxout_init): Use assemble_name rather than just
24417 stripping off the first character.
24418 (dbxout_source_file): Likewise.
24419
6cd444b4
DD
244202002-01-25 DJ Delorie <dj@redhat.com>
24421
24422 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
24423 using rtx_equal_p, not by comparing pointers.
24424
751551d5
SE
244252002-01-25 Steve Ellcey <sje@cup.hp.com>
24426
24427 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
24428 for PIC_OFFSET_TABLE_REGNUM.
24429 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
24430
e564e618
DB
244312002-01-25 David O'Brien <obrien@FreeBSD.org>
24432
24433 * config.gcc (x86_64-*-freebsd*): New target.
24434 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
24435 value.
24436 (i[34567]86-*-freebsd*): Don't include svr4.h.
24437 * config/i386/freebsd64.h: New file.
24438
ff3aaf17
DR
244392002-01-25 Douglas B Rupp <rupp@gnat.com>
24440
4857d29d
DR
24441 * config/alpha/x-vms (version): Make static.
24442
24443 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
24444 in previous checkin.
24445
ff3aaf17
DR
24446 * Makefile.in (install-headers-cp): New target.
24447 * config.gcc (alpha-dec-*vms*): Install headers with
24448 install-headers-cp
24449
48d79c43
JH
24450Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
24451
24452 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
24453 avoid it's copies.
24454
995b5904
RK
24455Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24456
24457 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
24458 of compare_tree_int.
24459 (expand_builtin_strncat): Likewise.
24460 * c-decl.c (finish_struct): Use tree_low_cst.
24461 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
24462 * tree.c (compare_tree_int): Likewise.
24463
75eefe3f
UW
244642002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
24465
24466 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
24467 adjustments even if they are implemented by more than two insns.
24468
5a133afd
JH
24469Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
24470
995b5904 24471 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
24472 * df.h (struct ref): Kill B.
24473 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
24474
24475 * basic-block.h (PROP_EQUAL_NOTES): New flag.
24476 * flow.c (propagate_one_insn): Use it.
24477 (mark_used_regs): Handle NIL.
24478
ead39bdf 244792002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
24480
24481 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
24482 to help folding.
24483
01a2ccd0
DE
244842002-01-25 David Edelsohn <edelsohn@gnu.org>
24485
24486 * rs6000.md (prefetch): Make address V4SI mode so that the address
24487 is restricted to legitimate form for instruction.
24488
fd29f6ea
BW
244892002-01-25 Bob Wilson <bob.wilson@acm.org>
24490
24491 * doc/install.texi (xtensa-*-elf): New target.
24492 (xtensa-*-linux*): New target.
24493 * doc/contrib.texi: Add myself.
24494
55492b32
NC
244952002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
24496
24497 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
24498 purpose register to hold an SImode (or smaller) value.
24499
72c7c913
JJ
245002002-01-25 Jakub Jelinek <jakub@redhat.com>
24501
24502 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
24503 registry only.
24504 * crtstuff.c: Likewise.
24505
c4df4ceb
KH
245062002-01-25 Kazu Hirata <kazu@hxi.com>
24507
24508 * config/h8300/h8300.md (negation patterns): Tighten
24509 predicates to register_operand.
24510
70e531f5
AH
245112002-01-24 Aldy Hernandez <aldyh@redhat.com>
24512
3bca17dd
PK
24513 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
24514 mode, not Pmode.
70e531f5 24515
3bca17dd 24516 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 24517
a4f76ef9
AO
245182002-01-24 Alexandre Oliva <aoliva@redhat.com>
24519
24520 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
24521 modes.
24522
9bf25b09
KH
245232002-01-24 Kazu Hirata <kazu@hxi.com>
24524
24525 * config/h8300/h8300.c (print_operand): Remove support for
24526 operand character 'A'.
24527 * config/h8300/h8300.md (three anonymous patterns): Replace
24528 operand character 'A' with either 'T' or 'S'.
24529
974af6a5
KH
245302002-01-24 Kazu Hirata <kazu@hxi.com>
24531
24532 * config/h8300/h8300.c (print_operand): Remove support for
24533 operand character 'U'.
24534
7a5bb7b8
AP
245352002-01-24 Andris Pavenis <pavenis@latnet.lv>
24536
3bca17dd 24537 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 24538
92a4639e
NC
245392002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
24540
24541 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
24542 values to be assigned to the stack pointer.
24543
467cb2da
HP
245442002-01-14 Hartmut Penner <hpenner@de.ibm.com>
24545
bebc7e8b 24546 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
24547 to const_double needs to be done right for big-endian systems.
24548
3b6cb920
JM
245492002-01-24 Jason Merrill <jason@redhat.com>
24550
b08dd119 24551 PR c++/2432
3b6cb920
JM
24552 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
24553 to can_throw_internal.
24554
f3077311
RH
245552002-01-23 Richard Henderson <rth@redhat.com>
24556
24557 * fold-const.c (fold): Change UINT_MAX test to check vs precision
24558 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
24559
e1d71275
AO
245602002-01-24 Alexandre Oliva <aoliva@redhat.com>
24561
24562 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
24563 (symGOT2reg): Use them, then set as GOT value as unchanging.
24564 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
24565 as a temporary, if possible.
24566 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
24567 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
24568
dc271dbe
KH
245692002-01-23 Kazu Hirata <kazu@hxi.com>
24570
24571 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
24572 accept to accept 0x80 as operands[2].
24573
1a9017f9
AO
245742002-01-24 Alexandre Oliva <aoliva@redhat.com>
24575
24576 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
24577
6932f033
RH
245782002-01-23 Richard Henderson <rth@redhat.com>
24579
24580 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
24581
709619d9
AH
245822002-01-23 Aldy Hernandez <aldyh@redhat.com>
24583
3bca17dd
PK
24584 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
24585 (parmlist_or_identifiers_1): Verify that only a parmlist follows
24586 an attribute.
709619d9 24587
3d709fd3
RH
245882002-01-23 Richard Henderson <rth@redhat.com>
24589
24590 * expr.c (move_by_pieces_1): Extend size before negation.
24591
88a446c0
RH
24592 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
24593 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
24594 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
24595 * config/m68k/t-m68kelf: Likewise.
24596
03984308
BW
245972002-01-23 Bob Wilson <bob.wilson@acm.org>
24598
24599 * config/xtensa/elf.h: New file.
24600 * config/xtensa/lib1funcs.asm: New file.
24601 * config/xtensa/lib2funcs.S: New file.
24602 * config/xtensa/linux.h: New file.
24603 * config/xtensa/t-xtensa: New file.
24604 * config/xtensa/xtensa-config.h: New file.
24605 * config/xtensa/xtensa-protos.h: New file.
24606 * config/xtensa/xtensa.c: New file.
24607 * config/xtensa/xtensa.h: New file.
24608 * config/xtensa/xtensa.md: New file.
24609 * config.gcc (xtensa-*-elf*): New target.
24610 (xtensa-*-linux*): New target.
24611 * cse.c (canon_hash): Compare rtx pointers instead of register
24612 numbers. This is required for the Xtensa port.
24613 * integrate.c (copy_insn_list): Handle case where the static
24614 chain is in memory and the memory address has to be copied to
24615 a register.
24616 * doc/invoke.texi (Option Summary): Add Xtensa options.
24617 (Xtensa Options): New node.
24618 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
24619
c3d5c3fa
ZW
246202002-01-23 Zack Weinberg <zack@codesourcery.com>
24621
a63bea75
ZW
24622 * diagnostic.c (internal_error): Do ICE suppression only
24623 when ENABLE_CHECKING is not defined.
24624
c3d5c3fa
ZW
24625 * c-typeck.c (require_complete_type): Return error_mark_node
24626 if type is error_mark_node.
24627
1398974c
JJ
246282002-01-23 Janis Johnson <janis187@us.ibm.com>
24629
24630 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
24631 -Os and issue a warning.
24632
807633e5
ZW
246332002-01-23 Zack Weinberg <zack@codesourcery.com>
24634
24635 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
24636 current (lack of) need for host configuration by hand.
24637
24638 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
24639 references. Documentation of some target macros moved from
24640 hostconfig.texi to tm.texi.
24641
cf8002d0
WC
246422002-01-23 Will Cohen <wcohen@redhat.com>
24643
24644 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
24645 defined.
24646
d1e76310
KH
246472002-01-23 Kazu Hirata <kazu@hxi.com>
24648
24649 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
24650 operand[3].
24651
b2115575
JM
246522002-01-23 Jason Merrill <jason@redhat.com>
24653
f893c16e
JM
24654 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
24655
b2115575
JM
24656 * function.c (assign_parms): Don't put args of inline functions
24657 into registers when not optimizing.
24658
6bacc7b0
NC
246592002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
24660
24661 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
24662 (prologue_use): New pattern.
24663 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
24664 preference to gen_rtx_USE.
24665 (thumb_expand_prologue): Use gen_prologue_use in preference to
24666 gen_rtx_USE.
24667 (thumb_expand_epilogue): Use gen_prologue_use in preference to
24668 gen_rtx_USE.
24669
a415f7bc
HPN
246702002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
24671
24672 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
24673
5372b3fb
NB
246742002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
24675
24676 PR c/3504
24677 * doc/extend.texi: Correct documentation of __alignof__.
24678
bd571ffc
ZW
246792002-01-22 Zack Weinberg <zack@codesourcery.com>
24680
24681 * params.h: Rename arguments of DEFPARAM so that it will be
24682 recognized as a translation keyword.
24683
333c8841
AH
246842002-01-22 Aldy Hernandez <aldyh@redhat.com>
24685
bd571ffc
ZW
24686 * extend.texi: Document altivec functions.
24687 Fix N-bit adjectives in X86 builtin documentation.
333c8841 24688
38979c65
AO
246892002-01-22 Alexandre Oliva <aoliva@redhat.com>
24690
24691 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
24692 auto_inc_dec values.
24693
7458a9f0
RE
246942002-01-22 Richard Earnshaw <rearnsha@arm.com>
24695
24696 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
24697 after backslash.
24698 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
24699
129bd0c4
AO
247002002-01-22 Alexandre Oliva <aoliva@redhat.com>
24701
24702 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
24703
8b9b74a9
RH
247042002-01-22 Richard Henderson <rth@redhat.com>
24705
24706 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
24707 copy_insn not copy_rtx.
24708
d0c9db30
AM
247092002-01-23 Alan Modra <amodra@bigpond.net.au>
24710
24711 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
24712 "nonzero" as that might add "1" bits. Ensure "constop" is
24713 properly sign extened.
24714 (force_to_mode): Tweak for sign extended constop.
24715
1e7e480e
RH
247162002-01-22 Richard Henderson <rth@redhat.com>
24717
24718 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
24719 for_each_rtx instead of assuming we're already looking at the MEM.
24720 (split_small_symbolic_mem_operand): Likewise.
24721 * config/alpha/alpha.h (PREDICATE_CODES): Update.
24722 * config/alpha/alpha.md (small symbolic memory splitters): Update.
24723
247242002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
24725
24726 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
24727 sequence number for the literal.
24728 (divmoddi_internal_er): Likewise.
24729
b7f2fb96
CR
247302002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
24731
24732 PR java/4972
24733 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
24734 in LIBICONV variable.
24735 * configure: Regenerated.
24736
f66a0046
KW
247372002-01-22 Krister Walfridsson <cato@df.lth.se>
24738
24739 * dependence.c (build_def_use): Remove array_idx.
24740
e3b0efd1
KW
24741 * dwarfout.c (last_filename): Remove.
24742 (output_compile_unit_die): Remove last_filename.
24743
d8086cbb
RS
247442002-01-22 Roger Sayle <roger@eyesopen.com>
24745 Richard Henderson <rth@redhat.com>
24746
24747 PR opt/3640
24748 * fold-const.c (fold): Optimize unsigned comparisons against
24749 UINT_MAX (and similar unsigned constants).
24750
e8d52ba0
JJ
247512002-01-22 Janis Johnson <janis187@us.ibm.com>
24752
d8086cbb 24753 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 24754 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 24755 against the predicate.
11303d15 24756
e8d52ba0
JJ
24757 PR target/5379
24758 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
24759 for the address operand.
24760
cc7b420e
RH
247612002-01-22 Richard Henderson <rth@redhat.com>
24762
24763 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
24764
816e265a
CR
247652002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
24766
24767 PR other/5450
cc7b420e
RH
24768 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
24769 preprocessor flags.
816e265a 24770
7c884404
JT
247712002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
24772
24773 * config.gcc (x86_64-*-netbsd*): New target.
24774 * config/i386/netbsd64.h: New file.
24775
2b672c08
AH
247762002-01-22 Aldy Hernandez <aldyh@redhat.com>
24777
d8086cbb 24778 * regrename.c (kill_value): Fix typo.
2b672c08
AH
24779
247802002-01-22 Aldy Hernandez <aldyh@redhat.com>
24781
d8086cbb 24782 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 24783
d8086cbb 24784 * config/rs6000/rs6000.h: Same.
2b672c08 24785
d8086cbb
RS
24786 * function.c (instantiate_virtual_regs): Remove
24787 STARTING_FRAME_PHASE.
24788 (assign_stack_local_1): Same.
24789 Calculate frame phase.
2b672c08 24790
4b02997f
NC
247912002-01-22 Nick Clifton <nickc@redhat.com>
24792
24793 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
24794 variable declaration to outer scope in order to simplify
24795 future extensions.
24796 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
24797 arm_hard_regno_mode_ok.
24798 * config/arm/arm-protos.h: Add a prototype for
24799 arm_hard_regno_mode_ok.
24800 * config/arm/arm.c (soft_df_operand): Remove now redundant
24801 check for DImode values using IP_REGNUM.
24802 (nonimmediate_soft_df_operand): Remove now redundant check for
24803 DImode values using IP_REGNUM.
24804 (arm_hard_regno_mode_ok): New function. New check: make sure
24805 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
24806
24807 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
24808 note with a USE.
24809 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
24810
8a827ab2
JM
248112002-01-22 Jason Merrill <jason@redhat.com>
24812
24813 * c-semantics.c (genrtl_compound_stmt): Only check nesting
24814 consistency if this COMPOUND_STMT is scoped.
24815
cf403648
KH
248162002-01-22 Kazu Hirata <kazu@hxi.com>
24817
24818 * predict.c: Fix formatting.
24819 * print-tree.c: Likewise.
24820 * protoize.c: Likewise.
24821 * real.h: Likewise.
24822 * rtl.h: Likewise.
24823 * sbitmap.h: Likewise.
24824 * scan.c: Likewise.
24825 * sched-deps.c: Likewise.
24826 * sched-vis.c: Likewise.
24827 * sdbout.c: Likewise.
24828 * sibcall.c: Likewise.
24829 * ssa.c: Likewise.
24830 * ssa-ccp.c: Likewise.
24831 * ssa-dce.c: Likewise.
24832 * stmt.c: Likewise.
24833 * stor-layout.c: Likewise.
24834 * system.h: Likewise.
24835
aea9695c
RK
24836Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24837
a8765ae7
RK
24838 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
24839 if fits in bounds of base type.
24840
aea9695c
RK
24841 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
24842 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
24843 (add_bound_info, default): If can't find a context, make a
24844 SAVE_EXPR.
24845 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
24846
58bf601b
HPN
248472002-01-22 Hans-Peter Nilsson <hp@axis.com>
24848
24849 * c-typeck.c (parser_build_binary_op): If result from
24850 build_binary_op is ERROR_MARK just return error_mark_node without
24851 further processing.
24852
f982f805
JT
248532002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
24854
24855 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
24856 Split a.out-specific bits into...
24857 * config/netbsd-aout.h: ...this.
24858 * config/netbsd-elf.h: New file.
24859 * config/alpha/netbsd-elf.h: Remove.
24860 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
24861 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 24862 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
24863 (ENDFILE_SPEC): Likewise.
24864 (LINK_SPEC): Likewise.
24865 (CPP_SPEC): Likewise.
24866 (ASM_SPEC): Likewise.
24867 (LIB_SPEC): Likewise.
24868 (SWITCH_TAKES_ARG): Likewise.
24869 (TARGET_MEM_FUNCTIONS): Likewise.
24870 (CPP_PREDEFINES): Redefine.
24871 (ASM_FINAL_SPEC): Remove redefinition.
24872 (ASM_COMMENT_START): Redefine.
24873 (FUNCTION_PROFILER): Define.
24874 (TARGET_VERSION): Redefine.
24875 Comment and formatting cleanup.
24876 * config/i386/netbsd.h: Include <netbsd-aout.h>.
24877 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
24878 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
24879 big- or little-endian.
24880 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
24881 * config.gcc (*-*-netbsd*): Add definitions common to all
24882 NetBSD configs.
24883 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
24884 gnu_ld definitions. Add netbsd-elf.h to and remove
24885 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
24886 tmake_file, and don't lose previous tmake_file contents.
24887 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
24888 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
24889 gnu_ld definitions. Add netbsd-elf.h to tm_file.
24890 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
24891 (mipsel-*-netbsd*): Rename this to...
24892 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
24893 mips/little.h to tm_file for mips*el-*.
24894 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
24895 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
24896 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
24897
2e396476
JDA
248982002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
24899
24900 * pa-protos.h (reg_before_reload_operand): New function prototype.
24901 * pa.c (reg_before_reload_operand): New function implementation.
24902 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
24903 contraints to "*m".
24904
3b5708e7
FS
249052002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
24906
24907 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
24908
85e79f96
JDA
249092002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
24910
24911 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
24912 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
24913 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
24914 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
24915 (ENDFILE_SPEC): Undefine.
24916 (STARTFILE_SPEC): Redefine for PA.
24917
38abadee
FS
249182002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
24919
24920 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
24921
94f1d97c
DJ
249222002-01-21 Daniel Jacobowitz <drow@mvista.com>
24923
24924 * config.gcc: Add entries to supported PowerPC --with-cpu
24925 types.
24926
0333394e
JJ
249272002-01-21 Jakub Jelinek <jakub@redhat.com>
24928
24929 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
24930 true for 64-bit mode only SSE registers in 32-bit mode.
24931
e9d1b155
KH
249322002-01-21 Kazu Hirata <kazu@hxi.com>
24933
24934 * unwind-dw2.c: Fix formatting.
24935 * unwind-dw2-fde.c: Likewise.
24936 * unwind-dw2-fde.h: Likewise.
24937 * unwind-pe.h: Likewise.
24938 * varasm.c: Likewise.
24939 * varray.h: Likewise.
24940
07338cf8
HPN
249412002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
24942
24943 Remove workaround for register stack overwrite bug in mmix.
24944 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
24945 support for TARGET_REG_STACK_FILL_BUG.
24946 * config/mmix/mmix.h: Remove member has_call_without_parameters.
24947 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
24948 Delete.
24949 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
24950 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
24951 -mno-reg-stack-fill-bug-workaround.
24952 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
24953 machine member has_call_without_parameters.
24954 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
24955 -mreg-stack-fill-bug-workaround and
24956 -mno-reg-stack-fill-bug-workaround.
24957 (MMIX Options): Ditto.
24958
7192cbf1
KH
249592002-01-21 Kazu Hirata <kazu@hxi.com>
24960
24961 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
24962 as appropriate.
24963 Remove redundant code.
24964
d1552d7b
JM
249652002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
24966
24967 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
24968 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
24969 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
24970 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
24971 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
24972 out target macro definitions and non-target-specific comments
24973 mostly taken from old versions of the manual.
24974
ed168e45
KH
249752002-01-20 Kazu Hirata <kazu@hxi.com>
24976
24977 * config/h8300/h8300.h: Fix comment formatting.
24978 * config/ia64/aix.h: Likewise.
24979 * config/ia64/ia64-protos.h: Likewise.
24980 * config/ia64/ia64.c: Likewise.
24981 * config/ia64/ia64.h: Likewise.
24982 * config/ia64/ia64intrin.h: Likewise.
24983 * config/ia64/linux.h: Likewise.
24984 * config/ia64/unwind-aix.c: Likewise.
24985 * config/ia64/unwind-ia64.c: Likewise.
24986
005e3e05
KH
249872002-01-20 Kazu Hirata <kazu@hxi.com>
24988
24989 * config/h8300/h8300.c: Revise comments about shift code.
24990
64bead4c
KH
249912002-01-20 Kazu Hirata <kazu@hxi.com>
24992
24993 * config/h8300/h8300.c (function_arg): Update a comment.
24994
ed863595
KH
249952002-01-20 Kazu Hirata <kazu@hxi.com>
24996
24997 * config/h8300/h8300.md: Update the comments at the beginning
24998 of the file.
24999
5904dc87
KH
250002002-01-20 Kazu Hirata <kazu@hxi.com>
25001
25002 * config/i370/i370.c: Fix comment formatting.
25003 * config/i370/i370.h: Likewise.
25004 * config/i370/i370.md: Likewise.
25005 * config/i370/linux.h: Likewise.
25006
9702143f
RK
25007Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25008
cbafacd1
RK
25009 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
25010
9702143f
RK
25011 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
25012 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
25013 in incomplete case.
25014
6b6996b8
GS
250152002-01-20 Graham Stott <grahams@redhat.com>
25016
25017 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
25018
eab854f6
JDA
250192002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
25020
25021 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
25022
5b029315
TR
250232002-01-19 Tom Rix <trix@redhat.com>
25024
25025 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
25026
1d690052
AH
250272002-01-18 Aldy Hernandez <aldyh@redhat.com>
25028
d8086cbb 25029 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 25030
d8086cbb
RS
25031 * function.c (assign_stack_local_1): Adjust x_frame_offset with
25032 STARTING_FRAME_PHASE.
25033 (STARTING_FRAME_PHASE): New.
25034 (instantiate_virtual_regs): Check saneness of
25035 STARTING_FRAME_PHASE.
1d690052 25036
d8086cbb 25037 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 25038
4dd8c093
AO
250392002-01-19 Alexandre Oliva <aoliva@redhat.com>
25040
25041 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
25042
6f2a28d7
CR
250432002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
25044
25045 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
25046 be used for bootstrapping GCC 3.0.
25047
8763a465
KH
250482002-01-18 Kazu Hirata <kazu@hxi.com>
25049
25050 * config/h8300/h8300.md: Fix an insn length.
25051
3ef42a0c
KH
250522002-01-18 Kazu Hirata <kazu@hxi.com>
25053
25054 * bitmap.h: Fix comment formatting.
25055 * combine.c: Likewise.
25056 * cppfiles.c: Likewise.
25057 * c-pragma.h: Likewise.
25058 * c-typeck.c: Likewise.
25059 * df.c: Likewise.
25060 * dwarf2out.c: Likewise.
25061 * function.c: Likewise.
25062 * gcc.c: Likewise.
25063 * genattrtab.c: Likewise.
25064 * gthr-win32.h: Likewise.
25065 * haifa-sched.c: Likewise.
25066 * predict.c: Likewise.
25067 * rtlanal.c: Likewise.
25068 * rtl.h: Likewise.
25069 * unwind-dw2-fde.h: Likewise.
25070 * unwind-pe.h: Likewise.
25071 * vmsdbgout.c: Likewise.
25072
dd4dc3cd
RK
25073Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25074
25075 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
25076 if type_required and passed decl.
25077
5fb4cf24
AH
250782002-01-17 Aldy Hernandez <aldyh@redhat.com>
25079
d8086cbb
RS
25080 * config.gcc (cpu_type): Include altivec.h in powerpc
25081 extra_headers.
25082 Same for darwin.
5fb4cf24 25083
d8086cbb 25084 * config/rs6000/altivec.h: New.
5fb4cf24 25085
2705baf5
DE
250862002-01-17 David Edelsohn <edelsohn@gnu.org>
25087
25088 * doc/install.texi (*-ibm-aix*): Update assembler and exception
25089 handling information.
25090 * doc/trouble.texi (Interoperation): Add libstdc++ information
25091 for AIX.
25092 (Misunderstandings): Add template instantiation and static template
25093 member information for AIX.
25094
dbd680e1
JM
250952002-01-17 Jason Merrill <jason@redhat.com>
25096
821adc5e
JM
25097 * dbxout.c (dbxout_type): Support const and volatile.
25098
dbd680e1
JM
25099 * except.c (add_partial_entry): Remove backwards compatibility code.
25100 (end_protect_partials): Likewise.
25101
d0e82870
JJ
251022002-01-17 Jakub Jelinek <jakub@redhat.com>
25103
25104 * config/ia64/ia64.md (prologue_use): New.
25105 * config/ia64/ia64.c (ia64_expand_prologue): Use
25106 gen_prologue_use instead of gen_rtx_USE.
25107 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
25108 as CODE_FOR_pred_rel_mutex.
25109 (ia64_sched_reorder2): Likewise.
25110
f9f45c65
EC
251112002-01-16 Eric Christopher <echristo@redhat.com>
25112
25113 * config/mips/r3900.h: Reformat.
25114 (SUBTARGET_CPP_SIZE_SPEC): Remove.
25115 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
25116 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
25117 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
25118 * config/mips/t-elf: Remove mips3 multilib.
25119
c66c8b0e
L
251202002-01-16 H.J. Lu <hjl@gnu.org>
25121
25122 * config/mips/linux.h: Include "mips/abi64.h".
25123
5f083b72
L
251242002-01-16 H.J. Lu <hjl@gnu.org>
25125
25126 * config/mips/t-linux: New.
25127
25128 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
25129
25130 * config/mips/linux.h: Don't include "gofast.h".
25131 (INIT_SUBTARGET_OPTABS): Removed.
25132
af3c90a6
KH
251332002-01-16 Kazu Hirata <kazu@hxi.com>
25134
25135 * config/h8300/h8300-protos.h: Replace emit_a_shift with
25136 output_a_shift.
25137 * config/h8300/h8300.c: Likewise.
25138 * config/h8300/h8300.md: Likewise.
25139
a1bf0a16
KH
251402002-01-16 Kazu Hirata <kazu@hxi.com>
25141
25142 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
25143 spaces after an opcode name.
25144 (pushqi1_h8300hs): Likewise.
25145 (pushhi1_h8300hs): Likewise.
25146
88ab0d1c
KH
251472002-01-16 Kazu Hirata <kazu@hxi.com>
25148
25149 * doc/extend.texi: Replace "option" with "attribute"
25150 appropriately.
25151
51c561e3
JJ
251522002-01-16 Jakub Jelinek <jakub@redhat.com>
25153
25154 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
25155 (and:DI () (const_int -8)).
25156 (split_small_symbolic_mem_operand): Split
25157 (mem (and:DI () (const_int -8)).
25158
b8c1a6b8
JJ
251592002-01-16 Jakub Jelinek <jakub@redhat.com>
25160
25161 PR target/5309:
d8086cbb 25162 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
25163 same way as TYPE_IMUL.
25164 (ultrasparc_sched_reorder): Likewise.
25165 * config/sparc/sparc.md (type): Add comment to update
25166 ultrasparc_sched_reorder when making changes.
25167
1e4e4df2
KH
251682002-01-16 Kazu Hirata <kazu@hxi.com>
25169
25170 * doc/invoke.texi: Change the dump file name of block
25171 reordering pass from 28.bbro to 29.bbro.
25172 Mention -dk option.
25173
14d920c0
JH
25174Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
25175
25176 * i386.md (minsf splitter): Fix pasto.
25177
2e99323f
NC
251782002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
25179
25180 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
25181 to frame pointer initialisation instruction.
25182 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
25183 initialisation instruction.
ab8081c1
NC
25184 (soft_df_operand): Do not accept the IP register.
25185 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 25186
c4031a04
JJ
251872002-01-16 Jakub Jelinek <jakub@redhat.com>
25188
25189 PR target/5357:
25190 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
25191 MASK_V8 being both set.
25192
44b8152b
UW
251932002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
25194
25195 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
25196 insn for GOT register; add REG_MAYBE_DEAD notes instead.
25197 config/s390/s390.md (call, call_value): Add GOT register to
25198 CALL_INSN_FUNCTION_USAGE where needed.
25199 (call_exp, call_value_exp): New.
25200
1d6e90ac
NC
252012002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
25202
25203 * config/arm/arm.c: General formatting tidy up.
25204
252052002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
25206
25207 * calls.c (try_to_integrate): Use "(size_t)" intermediate
25208 cast and when casting an integer literal to "rtx" pointer.
25209 (expand_call): Likewise.
25210 * flow.c (try_pre_increment): Likewise.
25211 (find_use_as_address): Likewise.
25212 * integrate.c (expand_iline_function): Likewise.
25213 * regmove.c (try_auto_increment): Likewise.
25214
1d6e90ac 252152002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
25216
25217 * sched-rgn.c (passed): Use sbitmap_free.
25218 (header): Likewise.
25219 (inner): Likewise.
25220 (in_queue): Likewise.
25221 (in_stack): Likewise.
25222
31fce3c4
EC
252232002-01-15 Eric Christopher <echristo@redhat.com>
25224
25225 * flow.c (propagate_one_insn): Change to use fatal_insn.
25226
c99d986a
KH
252272002-01-15 Kazu Hirata <kazu@hxi.com>
25228
25229 * expmed.c (extract_fixed_bit_field): Remove unused code.
25230 * system.h: Poison SLOW_ZERO_EXTEND.
25231 * doc/tm.texi: Remove.
25232 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
25233 * config/arm/arm.h: Likewise.
25234 * config/avr/avr.h: Likewise.
25235 * config/clipper/clipper.h: Likewise.
25236 * config/convex/convex.h: Likewise.
25237 * config/d30v/d30v.h: Likewise.
25238 * config/dsp16xx/dsp16xx.h: Likewise.
25239 * config/elxsi/elxsi.h: Likewise.
25240 * config/fr30/fr30.h: Likewise.
25241 * config/h8300/h8300.h: Likewise.
25242 * config/i370/i370.h: Likewise.
25243 * config/i386/i386.h: Likewise.
25244 * config/m68k/m68k.h: Likewise.
25245 * config/mips/mips.h: Likewise.
25246 * config/ns32k/ns32k.h: Likewise.
25247 * config/pdp11/pdp11.h: Likewise.
25248 * config/pj/pj.h: Likewise.
25249 * config/s390/s390.h: Likewise.
25250 * config/sh/sh.h: Likewise.
25251 * config/stormy16/stormy16.h: Likewise.
25252 * config/v850/v850.h: Likewise.
25253 * config/vax/vax.h: Likewise.
25254 * config/we32k/we32k.h: Likewise.
25255
acfab996
AH
252562002-01-15 Aldy Hernandez <aldyh@redhat.com>
25257
d8086cbb
RS
25258 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
25259 (altivec_lvsl): Change constraint to b.
25260 (altivec_lvsr): Same.
25261 (altivec_lvebx): Same.
25262 (altivec_lvehx): Same.
25263 (altivec_lvewx): Same.
25264 (altivec_lvxl): Same.
25265 (altivec_lvx): Same.
25266 (altivec_stvx): Add parallel.
25267 (altivec_stvxl): Same.
25268 (altivec_stvehx): Same.
25269 (altivec_stvebx): Same.
25270 (altivec_stvebx): Same.
acfab996 25271
5e505bc9
AH
252722002-01-15 Aldy Hernandez <aldyh@redhat.com>
25273
d8086cbb 25274 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 25275
d8086cbb 25276 * config/rs6000/altivec.h: Delete.
5e505bc9 25277
d8086cbb 25278 * config/rs6000/altivec-defs.h: Add.
5e505bc9 25279
5c41fdfb
JDA
252802002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
25281
25282 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
25283 and UMOD modes.
25284
25285 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
25286 less than or equal to eight bytes.
25287
25288 * vax.md (andsi3): Remove constraints and change SET destination
25289 operand type to nonimmediate_operand.
25290 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
25291 when it is a CONST_INT.
25292
de097a2d
JM
252932002-01-15 Jason Merrill <jason@redhat.com>
25294
25295 * c-common.def (FILE_STMT): New code.
25296 * c-common.c (statement_code_p): It's a statement.
25297 * c-common.h (stmt_tree_s): Add x_last_filename.
25298 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
25299 (last_expr_filename): New macro.
25300 * c-semantics.c (begin_stmt_tree): Initialize it.
25301 (add_stmt): If the filename changed, also insert a
25302 FILE_STMT.
25303 (expand_stmt): Handle seeing one.
25304
4a913dd6
EC
253052002-01-15 Eric Christopher <echristo@redhat.com>
25306
25307 * flow.c (propagate_one_insn): Add error message and print out
25308 insn for debugging.
25309
006946e4
JM
253102002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
25311
25312 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
25313 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
25314 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
25315 TRAMPOLINE_ALIGNMENT.
25316 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
25317 to be in bits.
25318 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
25319 PCC_BITFIELD_TYPE_MATTERS.
25320 * config/interix.h (STDC_VALUE): Remove. Use
25321 STDC_0_IN_SYSTEM_HEADERS.
25322 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
25323 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
25324 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
25325
751a1458
CR
253262002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
25327
25328 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
25329 not work on this platform currently.
25330
57771fe8
JM
253312002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
25332
25333 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
25334 readonly_warning in _().
25335
0e83ceb1 253362002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 25337
0e83ceb1 25338 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 25339
8e2e89f7
KH
253402002-01-15 Kazu Hirata <kazu@hxi.com>
25341
0e83ceb1
DR
25342 * config/h8300/h8300.c (print_operand): Remove support for
25343 unused operand characters.
25344
8e2e89f7
KH
25345 * read-rtl.c: Fix formatting.
25346 * real.c: Likewise.
25347 * recog.c: Likewise.
25348 * regclass.c: Likewise.
25349 * regmove.c: Likewise.
25350 * reg-stack.c: Likewise.
25351 * reload1.c: Likewise.
25352 * rtlanal.c: Likewise.
25353
b531087a
KH
253542002-01-15 Kazu Hirata <kazu@hxi.com>
25355
25356 * config/i386/i386.c: Fix formatting.
25357
7c94ce7f
JJ
253582002-01-15 Jakub Jelinek <jakub@redhat.com>
25359
25360 * c-typeck.c (process_init_element): Don't save_expr
25361 COMPOUND_LITERAL_EXPR if just its initializer will be used.
25362
6041bf2f
DE
253632002-01-15 David Edelsohn <edelsohn@gnu.org>
25364
25365 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
25366 emit optional traceback table if optimize_size or TARGET_ELF.
25367 * config/rs6000/rs6000.md (prefetch): New.
25368
8559c8c0
AJ
253692002-01-15 Andreas Jaeger <aj@suse.de>
25370
25371 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
25372
70f122f2
KH
253732002-01-15 Kazu Hirata <kazu@hxi.com>
25374
25375 * mips-tfile.c: Fix formatting.
25376
6a7b4ca6
JH
25377Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
25378
25379 * unroll.c (final_reg_note_copy): Fix previous commit.
25380
e7afe229
KH
253812002-01-14 Kazu Hirata <kazu@hxi.com>
25382
25383 * config/h8300/h8300-protos.h: Remove the prototype for
25384 eq_operator.
25385 * config/h8300/h8300.c (eq_operator): Remove.
25386
7d378549
RH
253872002-01-14 Richard Henderson <rth@redhat.com>
25388
25389 * config/i386/i386.md (prefetch): Tidy.
25390 (prefetch_3dnow): Fix locality operand.
25391
ab093b81
RH
253922002-01-14 Richard Henderson <rth@redhat.com>
25393
25394 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
25395 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
25396
d300f51f
HPN
253972002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
25398
25399 * reload1.c (reload_combine): Pass reg_sum replacement through
25400 copy_rtx in loop performing multiple changes.
25401
655dd289
JJ
254022002-01-14 Jakub Jelinek <jakub@redhat.com>
25403
25404 * except.c (remove_unreachable_regions): New.
25405 (free_eh_status): Clear exception_handler_labels.
25406 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
25407 (find_exception_handler_labels): Don't add the same label more than
25408 once.
25409 (remove_exception_handler_label): Don't die if
25410 find_exception_handler_labels hasn't been called for the current
25411 function yet.
25412
1fba46a7
JH
25413Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
25414
25415 * toplev.c (rest_of_compilation): Rebuild jump labels after
25416 gcse.
25417
0975678f
JM
254182002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
25419
25420 * doc/extend.texi: Move documentation of X86 built-in functions
25421 here.
25422 * doc/invoke.texi: From here.
25423 * doc/sourcebuild.texi: Document location of documentation for
25424 machine built-in functions.
25425
969815c7
CF
254262002-01-13 Christopher Faylor <cgf@redhat.com>
25427
25428 * cppfiles.c (TEST_THRESHOLD): New macro.
25429 (SHOULD_MMAP): Ditto.
25430 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
25431 be used.
25432
494c950b
JH
25433Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
25434
25435 * unroll.c (final_reg_note_copy): Properly handle
25436 REG_LABEL
25437 (unroll_loops): Fix LOOP_CONDITION heuristics.
25438
69a0611f
GK
254392002-01-14 Geoffrey Keating <geoffk@redhat.com>
25440
25441 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
25442 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
25443
b90e45ae
JH
25444Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
25445
25446 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
25447 threaded loop.
25448
8377288b
TR
254492002-01-14 Tom Rix <trix@redhat.com>
25450
25451 * config/rs6000/rs6000.md: Fix typo with sradi.
25452
9f37ccb1
UW
254532002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
25454
25455 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
25456 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
25457 (clrstrdi, clrstrsi): Adapt callers.
25458
25459 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
25460
8559c8c0 25461 (movti splitter): Never use register 0 as base register.
9f37ccb1 25462
6c2d03d0
HP
254632002-01-14 Hartmut Penner <hpenner@de.ibm.com>
25464
8559c8c0
AJ
25465 * combine.c (simplify_shift_const): Always generate new rtx
25466 for shift expression instead of reusing given expression.
6c2d03d0 25467
d3e98208
RK
25468Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25469
25470 * config/alpha/alpha.c (alpha_expand_mov): Don't call
25471 alpha_legitimize_address unless mode is Pmode.
25472
9f339dde
GK
254732002-01-13 Geoffrey Keating <geoffk@redhat.com>
25474
25475 * doc/md.texi (Modifiers): Document the '*' constraint for the
25476 user.
25477
25478 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
25479 * doc/extend.texi (Function Attributes): 'interrupt' is valid
25480 for xstormy16 too.
25481
02a10130
RH
254822002-01-13 Richard Henderson <rth@redhat.com>
25483
25484 * reload.c (find_reloads): Use a hard reg destination as reload reg
25485 for an input reload of the source.
25486
61d47787
GP
254872002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
25488
25489 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
25490 more generic.
25491
f0df8029
DR
25492Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
25493
25494 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
25495 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
25496
d2a37256
DR
25497 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
25498
a9e8a5ee
RK
25499Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25500
25501 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
25502
bc06712d
TR
255032002-01-12 Tom Rix <trix@redhat.com>
25504
8559c8c0 25505 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
25506 TARGET_POWERPC64.
25507
7cbe9bb7
RH
255082002-01-12 Richard Henderson <rth@redhat.com>
25509
38b29e64
RH
25510 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
25511
58605ba0
RH
25512 * doc/invoke.texi: Update Alpha options.
25513
7cbe9bb7
RH
25514 * doc/invoke.texi: Update i386 built-in function lists.
25515
9d560860
JH
25516Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
25517
25518 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
25519 referencing outside.
25520
bb93b973
RK
25521Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25522
25523 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
25524 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
25525 offsets, and change line folding.
25526 * optabs.c (expand_binop): Remove warnings.
25527 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 25528
f9f6b7df
GS
255292002-01-12 Graham Stott <grahams@redhat.com>
25530
25531 * attribs.c (handle_deprecated_attribute): constify WHAT.
25532 * diagnostic.c (warn_deprecated_use): Add braces, fixes
25533 dangling else warning and constify WHAT.
25534 * except.h (struct function, struct inline_remap): Move
25535 struct tag forward defs before all prototypes.
25536 (duplicate_eh_regions): Whitespace.
25537
4a692617
NC
255382002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
25539
25540 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
25541 MODE_BASE_REG_CLASS.
25542 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
25543
e37af218
RH
255442002-01-12 Richard Henderson <rth@redhat.com>
25545
25546 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
25547 (ix86_expand_vector_move): New.
25548 (bdesc_2arg): Remove andps, andnps, orps, xorps.
25549 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
25550 Remove old prefetch builtins. Special case the logicals removed above.
25551 (ix86_expand_builtin): Likewise.
25552 (safe_vector_operand): Use V4SFmode, not TImode.
25553 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
25554 (ix86_expand_timode_binop_builtin): New.
25555 * config/i386/i386-protos.h: Update.
25556 * config/i386/i386.h (enum ix86_builtins): Update.
25557 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
25558 Use ix86_expand_vector_move in vector move expanders.
25559 (movti_internal, movti_rex64): Add xorps alternative.
25560 (sse_clrv4sf): Rename and adjust from sse_clrti.
25561 (prefetch): Don't work so hard.
25562 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
25563 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
25564 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
25565
6f1a6c5b
RH
255662002-01-11 Richard Henderson <rth@redhat.com>
25567
25568 * config/i386/mmintrin.h: New file.
25569 * config/i386/xmmintrin.h: New file.
25570 * config.gcc (i?86-*-*): Add extra_headers.
25571 * simplify-rtx.c (simplify_unary_operation): Handle saturating
25572 truncation codes.
25573 (simplify_binary_operation): Handle saturating arithmetic codes.
25574 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
25575 not the lowpart subreg.
25576 (ix86_expand_builtin): Return a TImode dummy register instead of 0
25577 on error.
25578 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
25579
cdb574d3
MH
255802002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
25581
25582 * conflict.c (conflict_graph_compute): Free regsets when finished.
25583 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 25584
cf11ac55
HB
255852002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
25586
25587 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
25588 every where we allocate a register.
25589
76ac938b
MH
255902002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
25591
25592 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
25593 * lcm.c (compute_earliest, compute_farthest): Likewise.
25594
a84b4898
JJ
255952002-01-11 Janis Johnson <janis187@us.ibm.com>
25596
25597 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
25598
aaef1c12
JJ
255992002-01-11 Janis Johnson <janis187@us.ibm.com>
25600
25601 * doc/rtl.texi (Insns): Fix 2 typos.
25602
5d22c1a5
JM
256032002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
25604
25605 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
25606 options. Use @table @gcctabopt for MMIX options. Add index
25607 entries for MMIX options. Start new paragraph with first
25608 heading of the machine-dependent options.
25609
3e92902c
CR
256102002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
25611
25612 PR other/5299
25613 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
25614 * combine.c (force_to_mode): Same.
25615 * reload1.c (clear_reload_reg_in_use): Same.
25616
96ae8197
NC
256172002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
25618
25619 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
25620 and 'subtargets'.
25621
9b780582
AJ
256222002-01-11 Andreas Jaeger <aj@suse.de>,
25623 Brad Lucier <lucier@math.purdue.edu>
25624
25625 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
25626 mcpu.
25627
12300dad
DR
25628Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
25629
25630 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
25631 Protect with IN_LIBGCC.
25632 (LINK_EH_SPEC): Add required trailing space.
25633
27511a9a
NP
25634Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
25635
9b780582 25636 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
25637 under the filename which contains them.
25638 (check_identifier, finish_decl_top_level,
25639 lookup_name_current_level_global, shadow_record_fields): Remove.
25640
4daeab16
AJ
256412002-01-11 Andreas Jaeger <aj@suse.de>
25642
25643 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
25644 march.
25645
40571d67
RH
256462002-01-10 Richard Henderson <rth@redhat.com>
25647
25648 * config/alpha/alpha.c (print_operand): Add 'J'.
25649 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
25650 new operand with the sequence number for the lituse. When splitting
25651 the insns, use gen_movdi_er_high_g and generate a sequence number.
25652 (gen_movdi_er_high_g): Print the sequence number if non-zero.
25653
6525c0e7
AH
256542002-01-10 Aldy Hernandez <aldyh@redhat.com>
25655
d8086cbb
RS
25656 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
25657 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
25658 stvxl.
25659 (altivec_expand_builtin): Same.
25660 (altivec_expand_stv_builtin): New.
25661
25662 * config/rs6000/rs6000.h (rs6000_builtins): Same.
25663
25664 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
25665 ("altivec_lvehx"): New.
25666 ("altivec_lvewx"): New.
25667 ("altivec_lvxl"): New.
25668 ("altivec_lvx"): New.
25669 ("altivec_stvx"): New.
25670 ("altivec_stvebx"): New.
25671 ("altivec_stvehx"): New.
25672 ("altivec_stvewx"): New.
25673 ("altivec_stvxl"): New.
6525c0e7 25674
cda94cbb
RH
256752002-01-10 Richard Henderson <rth@redhat.com>
25676
25677 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
25678 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
25679 care not to delete instructions twice.
25680
df2c9a44
ZW
256812002-01-10 Zack Weinberg <zack@codesourcery.com>
25682
25683 * toplev.c: Don't declare environ (it's not used anywhere).
25684 * configure.in: Don't check for declaration of environ.
25685 * config/i386/xm-mingw32.h: Don't #define environ.
25686 * config.in, configure: Regenerate.
25687
5dd8a9b1
ZW
256882002-01-10 Zack Weinberg <zack@codesourcery.com>
25689
25690 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
25691 * configure: Regenerate.
25692
25693 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
25694 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
25695 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
25696 alpha/xm-vms.h.
25697 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
25698 LIMITS_H_TEST here, not in m68k/x-next.
25699 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
25700 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
25701
25702 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
25703 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
25704 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
25705
25706 * config/i386/x-djgpp: Renamed i386/t-djgpp.
25707 * config/m88k/x-dolph: Renamed m88k/t-dolph.
25708 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
25709 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
25710 replacement of quadlib.asm with quadlib.c.
25711
25712 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
25713 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
25714 config/rs6000/xm-beos.h: Delete file.
25715
25716 * config.gcc: Update to match above changes.
25717
d10dd44c
KH
257182002-01-10 Kazu Hirata <kazu@hxi.com>
25719
25720 * config/h8300/h8300.h: Fix comment typos.
25721 * config/h8300/h8300.md: Likewise.
25722 * config/h8300/lib1funcs.asm: Likewise.
25723
04894c5a
DJ
257242002-01-10 Dale Johannesen <dalej@apple.com>
25725
25726 PR optimization/5269
25727 * unroll.c (precondition_loop_p): Make *increment be the correct
25728 sign when n_iterations known, to avoid confusing caller.
25729
adc9fe67
KH
257302002-01-10 Kazu Hirata <kazu@hxi.com>
25731
25732 * doc/extend.texi (deprecated): Fix a typo.
25733
b446e5a2
JH
25734Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
25735
25736 * basic-block.h (update_br_prob_note): Declare.
25737 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
25738 (try_forward_edges): Care negative frequencies and update note.
25739 (outgoing_edges_match): Tweek conditional merging heuristics.
25740 (try_crossjump_to_edge): use update_br_prob_note.
25741 * cfglayout.c (fixup_reorder_chain): Likewise.
25742 * cfrtl.c (update_br_prob_note): New.
25743 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
25744
25745 * i386.c (ix86_decompose_address): Return -1 if address contains
25746 shift.
25747 (legitimate_address_p): Require ix86_decompose_address to return 1.
25748
25749 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
25750 (cprop_insn): Likewise.
25751
a01da83b
KH
257522002-01-10 Kazu Hirata <kazu@hxi.com>
25753
25754 * toplev.c: Fix formatting.
25755 * tree.c: Likewise.
25756 * tree-dump.c: Likewise.
25757 * unroll.c: Likewise.
25758 * unwind-dw2.c: Likewise.
25759 * unwind-dw2-fde.c: Likewise.
25760 * unwind-dw2-fde-glibc.c: Likewise.
25761 * unwind-sjlj.c: Likewise.
25762
9f85bca7
JM
257632002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
25764
25765 * doc/invoke.texi: Document PDP-11 options.
25766
f48f56b1
KH
257672002-01-10 Kazu Hirata <kazu@hxi.com>
25768
25769 * config/h8300/h8300.h: Fix formatting.
25770
ead39bdf 257712002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
25772
25773 Add __attribute__ ((deprecated)).
25774 * extend.texi: Document __attribute__ ((deprecated)).
25775 * invoke.texi: Document -Wno-deprecated-declarations.
25776 * testsuite/g++.dg/other/deprecated.C: New C++ test.
25777 * testsuite/gcc.dg/deprecated.c: New C test.
25778 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
25779 (c_common_attribute_table): Add "deprecated" entry.
25780 (handle_deprecated_attribute): New function.
25781 * c-decl.c (deprecated_states): New enum.
25782 deprecated_state: State of "deprecated" handling.
25783 (start_decl): Set deprecated_state based on attributes.
25784 (grokdeclarator): Test for deprecated uses, propagate attribute.
25785 * c-typeck.c (build_component_ref): Test for deprecated fields.
25786 (build_external_ref): Test for deprecated primaries.
25787 * diagnostic.c (warn_deprecated_use) New function to issue
25788 warnings about __attribute__ ((depricated)) references.
25789 * flags.h (warn_deprecated_decl): Extern declared for
25790 -W[no-]deprecated-declarations option.
25791 * print-tree.c (print_node): Show deprecated flag status.
25792 * toplev.c (warn_deprecated_decl): Defined.
25793 (W_options): Added "deprecated-declaration".
25794 * toplev.h (warn_deprecated_use): Extern declared.
25795 * tree.h (struct tree_common): Define deprecated_flag.
25796 (TREE_DEPRECATED): New macro to access flag.
25797 * cp/call.c (build_call): Test for deprecated calls.
25798 * cp/class.c (add_implicitly_declared_members): Set global
25799 flag to tell grokdeclarator to not issue deprecated warnings.
25800 * cp/cp-tree.h: Add extern for adding_implicit_members.
25801 * cp/decl.c (deprecated_states): New enum.
25802 (start_decl): Set deprecated_state based on attributes.
25803 (grokdeclarator): Test for deprecated uses, propagate attribute.
25804 * cp/lex.c (do_identifier): Test for deprecated primaries.
25805 * cp/typeck.c (build_component_ref): Test for deprecated fields.
25806
ead39bdf 258072002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
25808
25809 Fix to assign attributes to inline member functions.
25810 * cp/decl.c (start_method): Handle attrlist.
25811
47073a38
KH
258122002-01-10 Kazu Hirata <kazu@hxi.com>
25813
25814 * combine.c (expand_field_assignment): Use subreg_lsb().
25815
d288e53d
DE
258162002-01-10 David Edelsohn <edelsohn@gnu.org>
25817
25818 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
25819 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
25820 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
25821 Recurse for any operand of AND as long as constant is non-zero.
25822
08a02ffa
KH
258232002-01-10 Kazu Hirata <kazu@hxi.com>
25824
25825 * config/h8300/h8300.md: Remove constraints from expanders.
25826
c203e7fe
KH
258272002-01-10 Kazu Hirata <kazu@hxi.com>
25828
25829 * varasm.c: Fix formatting.
25830 * varray.c: Likewise.
25831 * vmsdbgout.c: Likewise.
25832 * xcoffout.c: Likewise.
25833
bcb3bc6d
JH
25834Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
25835
25836 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 25837 update edge probabilities to match.
bcb3bc6d 25838
0a553c7e
JM
258392002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
25840
25841 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
25842 dependencies.
25843 * doc/languages.texi, doc/sourcebuild.texi: New files.
25844 * doc/configfiles.texi: Make a subsubsection. Update.
25845 * doc/configterms.texi: Add @node. Remove warning that this isn't
25846 instructions for building GCC.
25847 * doc/makefile.texi: Make a subsection.
25848 * doc/gccint.texi: Update.
25849
adc7fcb8
JH
25850Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
25851
25852 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
25853
5a4dd0b3
NP
25854Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
25855
25856 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
25857
3987b9db
JH
25858Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
25859
25860 * optabs.c (expand_fix): Look for wider integer modes first.
25861
25862 * i386.md (mov?f): Avoid the fake const double trick for medium
25863 memory model.
25864 (min?f*/max?f*): Prohibit memory operands for i387 variant.
25865 (fop_df_4): Disable for SSE compilation.
25866
ceb15948 258672002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
25868
25869 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 25870 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 25871
e1623399
RH
258722002-01-10 Richard Henderson <rth@redhat.com>
25873
25874 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
25875
c4abb293
RH
258762002-01-10 Richard Henderson <rth@redhat.com>
25877
25878 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
25879 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
25880
d2604ae9
KH
258812002-01-10 Kazu Hirata <kazu@hxi.com>
25882
25883 * combine.c (can_combine_p): Fix a comment typo.
25884
766c7ad1
ZW
258852002-01-09 Zack Weinberg <zack@codesourcery.com>
25886
25887 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
25888 empty list correctly. Change loop index $t to $f for
25889 consistency with rest of Makefile.
25890
95385cbb
AH
258912002-01-08 Aldy Hernandez <aldyh@redhat.com>
25892
25893 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
25894 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
25895
25896 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
25897 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
25898 (altivec_init_builtins): Same.
25899 (altivec_expand_unop_builtin): Return NULL_RTX on error.
25900 (altivec_expand_binop_builtin): Same.
25901 (altivec_expand_ternop_builtin): Same.
25902 (bdesc_dst): New.
25903
25904 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
25905 ("altivec_vctuxs"): Fix typo.
25906 ("altivec_vnmsubfp"): Same.
25907 ("altivec_dssall"): New.
25908 ("altivec_mfvscr"): New.
25909 ("altivec_dss"): New.
25910 ("altivec_lvsl"): New.
25911 ("altivec_lvsr"): New.
25912 ("altivec_dstt"): New.
25913 ("altivec_dstst"): New.
25914 ("altivec_dststt"): New.
25915 ("altivec_dst"): New.
25916
25917 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
25918 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
25919
e4ac76b4
RH
259202002-01-09 Richard Henderson <rth@redhat.com>
25921
25922 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
25923
c893e4a4
HPN
259242002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
25925
25926 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
25927 function.
25928 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
25929 prototype.
7387c700 25930 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 25931
f4f4d0f8
KH
259322002-01-09 Kazu Hirata <kazu@hxi.com>
25933
25934 * read-rtl.c: Fix formatting.
25935 * real.c: Likewise.
25936 * regclass.c: Likewise.
25937 * regrename.c: Likewise.
25938 * reg-stack.c: Likewise.
25939 * reload1.c: Likewise.
25940 * reload.c: Likewise.
25941 * rtl.c: Likewise.
25942
cc863bea
KH
259432002-01-09 Kazu Hirata <kazu@hxi.com>
25944
25945 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
25946 to extract items in the expr_list chain.
25947
7b4dfe3d
RH
259482002-01-09 Richard Henderson <rth@redhat.com>
25949
25950 * config/vax/vax.c (vax_rtx_cost): Never abort.
25951
1d969638
RH
25952 * config/vax/vax.h (REAL_ARITHMETIC): Define.
25953
7d5ab30e
JH
259542002-01-09 Jan Hubicka <jh@suse.cz>
25955
25956 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
25957
9503f3d1
RH
259582002-01-09 Richard Henderson <rth@redhat.com>
25959
25960 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
25961 Unify code from various alternatives.
25962
42bd17b7
RH
259632002-01-09 Richard Henderson <rth@redhat.com>
25964
25965 * regrename.c (copy_value): Ignore the copy if the source register
25966 is present in the value chain with a narrower mode.
25967
bdca3c33
HB
259682002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
25969
cda94cbb
RH
25970 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
25971 for the c4x target. Also improve layout.
bdca3c33 25972
c73a5e94
RH
259732002-01-09 Richard Henderson <rth@redhat.com>
25974
25975 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
25976 * config/m32r/m32r.md (and ior xor splitters): Swap operands
25977 to match insn patterns.
25978
dd0a18c0
RH
259792002-01-09 Richard Henderson <rth@redhat.com>
25980
25981 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
25982 (copyprop_hardreg_forward_1): Likewise.
25983
1fd9ac1e
JDA
259842002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
25985
25986 * pa.md (decrement_and_branch_until_zero): Change predicate for
25987 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
25988
5cb265ec
BM
259892002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
25990
25991 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
25992 gets undefined. For Darwin.
25993
fcd8fa8b
HB
259942002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
25995
25996 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
25997
bd3ab23a
MH
259982002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
25999
26000 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
26001
21e16bd6
RH
260022002-01-08 Richard Henderson <rth@redhat.com>
26003
26004 * regrename.c (copy_value): Ignore overlapping copies.
26005
a5376276
RH
260062002-01-08 Richard Henderson <rth@redhat.com>
26007
26008 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
26009 as needed to avoid shared structure.
26010
18cf8dda
KH
260112002-01-08 Kazu Hirata <kazu@hxi.com>
26012
26013 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
26014 H8/300H and H8/S.
26015
16c484c7
JM
260162002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26017
26018 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
26019 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
26020 documentation of obsolete macros.
26021 * system.h: Poison these macros.
26022 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
26023 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
26024 config/c4x/c4x.h, config/clipper/clipper.h,
26025 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
26026 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
26027 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
26028 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
26029 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
26030 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
26031 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
26032 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
26033 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
26034 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
26035 config/sparc/sparc.h, config/stormy16/stormy16.h,
26036 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
26037 definitions and commented out definitions of obsolete macros.
26038 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
26039 of MAX_INT_TYPE_SIZE.
26040
14b3e8ef
UW
260412002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
26042
26043 * config/s390/s390.c (s390_preferred_reload_class): Never
26044 return ADDR_REGS if it isn't a subset of the given class.
26045 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
26046 FP_REGS, but all superclasses as well.
26047
26048 * config/s390/s390.c (s390_function_profiler): Fix thinko.
26049
26050 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
26051 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
26052 must not be a const_int.
26053
a693284d
RH
260542002-01-08 Richard Henderson <rth@redhat.com>
26055
26056 * Makefile.in (toplev.o): Depend on options.h.
26057 (gcc.o): Depend on specs.h.
26058
b3ca30df
JJ
260592002-01-08 Jakub Jelinek <jakub@redhat.com>
26060
26061 * expr.c (store_expr): Convert VOIDmode constants back to target's
26062 mode.
26063
24dbb440
GP
260642002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
26065
26066 * doc/invoke.texi: Markup gcc as @command. Refer to
26067 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
26068 of http://gcc.gnu.org/thanks.html.
26069
234e114c
DJ
260702002-01-08 Dale Johannesen <dalej@apple.com>
26071
26072 * config/rs6000/rs6000.md: Add missing int register
26073 target case to movdf_low.
26074
0d24f4d1
ZW
260752002-01-08 Zack Weinberg <zack@codesourcery.com>
26076
26077 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
26078 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
26079 (cppinit.o): Depend on except.h.
26080 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
26081 s-specs): New rules.
26082
26083 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
26084 Don't create specs.h/options.h/gencheck.h here. Remove
26085 unnecessary variable settings from last argument of AC_OUTPUT.
26086 * config.in, configure: Regenerate.
26087 * intl.c: Hardcode package name as "gcc".
26088
26089 * cppinit.c: Include except.h.
26090 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
26091 appropriate.
26092 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
26093 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
26094 (!)USING_SJLJ_EXCEPTIONS.
26095 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
26096
ed722f66
JM
260972002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26098
26099 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
26100 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
26101 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
26102 documentation of obsolete macros.
26103 * system.h: Poison these macros.
26104 * config/d30v/d30v.h, config/ns32k/encore.h,
26105 config/stormy16/stormy16.h: Remove definitions and commented out
26106 definitions of obsolete macros.
26107
31e5e29a
NP
26108Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
26109
26110 * objc/objc-act.c (handle_class_ref): Mark the declaration of
26111 %sobjc_class_ref_%s as used - to prevent unwanted compiler
26112 warnings.
26113
bc1fa59c
UW
261142002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
26115
26116 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
26117 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
26118 to insn adjusting stack/frame pointer.
0d24f4d1 26119 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
26120 accept operands that cause the insn to be non-splittable.
26121
a8086abf
GS
261222002-01-08 Graham Stott <grahams@redhat.com>
26123
26124 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
26125 (C_TYPE_FIELDS_VOLATILE): Likewise.
26126 (C_TYPE_BEING_DEFINED): Likewise.
26127 (C_IS_RESERVED_WORD): Likewise.
26128 (C_TYPE_VARIABLE_SIZE): Likewise.
26129 (C_DECL_VARIABLE_SIZE): Likewise.
26130 (C_MISSING_PROTOTYPE_WARNED): Likewise.
26131 (C_SET_EXP_ORIGINAL_CODE): Likewise.
26132 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
26133 parenthesis.
26134 (C_DECL_ANTICIPATED): Likewise.
26135 (c_build_type_variant): Add parenthesis.
26136
3f595aa1
JM
261372002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26138
26139 * gcc.c (option_map): Remove --version.
26140 (process_command): Handle -fversion following the GNU Coding
26141 Standards. Partially addresses PR other/704.
26142
5bc5a8f9
GS
261432002-01-08 Graham Stott <grahams@redhat.com>
26144
26145 * combine.c (combine_instructions): Fix typo.
26146
16ec4ebf
GS
261472002-01-08 Graham Stott <grahams@redhat.com>
26148
26149 * debug.h: Use "tree" and "rtx" throughout.
26150
26151 * debug.c: Likewise.
26152
4b69f385
NC
261532002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
26154
26155 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
26156 constant pool, use the pool's version of the symbol instead.
26157
57d1019b
RH
261582002-01-07 Richard Henderson <rth@redhat.com>
26159
26160 * regrename.c (find_oldest_value_reg): Ignore the value chain if
26161 the original register was copied in a mode with a fewer number of
26162 hard registers than the desired mode.
26163 (copyprop_hardreg_forward_1): Likewise.
26164 (debug_value_data): Fix loop test.
26165 * toplev.c (parse_options_and_default_flags): Reenable
26166 -fcprop-registers at -O1.
26167
261682002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 26169
0d24f4d1
ZW
26170 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
26171 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 26172
0d24f4d1
ZW
26173 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
26174 predicates.
fa066a23 26175
0d24f4d1 26176 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 26177
8f949e7e
JDA
261782002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
26179
26180 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
26181 (pa_output_function_prologue): Output local label at the beginning of
26182 the prologue when profiling.
26183 (hppa_profile_hook): Use the local label rather than the function label.
26184 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
26185
c62f2db5
AH
261862002-01-07 Aldy Hernandez <aldyh@redhat.com>
26187
0d24f4d1
ZW
26188 * config/rs6000/rs6000.c (print_operand): Remove extra space.
26189 (altivec_expand_unop_builtin): Fix thinko.
26190 (altivec_expand_binop_builtin): Same.
26191 (altivec_expand_ternop_builtin): Same.
26192 (altivec_expand_builtin): Same.
c62f2db5 26193
b5235ba7
RH
261942002-01-07 Richard Henderson <rth@redhat.com>
26195
26196 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
26197
7d8ac293
JM
261982002-01-07 Jason Merrill <jason@redhat.com>
26199
26200 * unwind-dw2.c (execute_cfa_program): Use < again.
26201
571a03b8
JJ
262022002-01-07 Jakub Jelinek <jakub@redhat.com>
26203
26204 * predict.c (combine_predictions_for_insn): Avoid division by zero.
26205
2e951384
JJ
262062002-01-07 Jakub Jelinek <jakub@redhat.com>
26207
26208 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
26209 Don't allow -1 - x -> ~x simplifications in the first pass.
26210
20e26713
AH
262112002-01-07 Aldy Hernandez <aldyh@redhat.com>
26212
0d24f4d1
ZW
26213 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
26214 arguments.
26215 (altivec_expand_binop_builtin): Same.
26216 (altivec_expand_unop_builtin): Same.
26217 (print_operand): Fix typo.
26218 (bdesc_1arg): Add vupk* variants.
20e26713 26219
0d24f4d1 26220 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 26221
0d24f4d1 26222 * rs6000.md: Add altivec_vupk* variants.
20e26713 26223
4dd57c18
JM
262242002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
26225
26226 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
26227 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
26228 and last update dates.
26229
0341c5d2
JJ
262302002-01-07 Janis Johnson <janis187@us.ibm.com>
26231
26232 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
26233
c7f3e0b0
MM
262342002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
26235
26236 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
26237 * config/avr/avr.h (CPP_SPEC): Likewise.
26238 (LINK_SPEC): Likewise.
26239 (CRT_BINUTILS_SPECS): Likewise.
26240 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
26241 * doc/invoke.texi (AVR Options): Document them.
26242
6ba4d630
JH
26243Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
26244
26245 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
26246 LABEL_NUSES.
26247
6253d571
GS
262482002-01-07 Graham Stott <grahams@redhat.com>
26249
0d24f4d1
ZW
26250 * config/i386/i386.h: Update copyright date.
26251 (HALF_PIC_PTR): Add parenthesis.
26252 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
26253 (CONSTANT_ALIGNMENT): Add parenthesis.
26254 (DATA_ALIGNMENT): Likewise.
26255 (LOCAL_ALIGNMENT): Likewise.
26256 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
26257 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
26258 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
26259 (HARD_REGNO_NREGS): Add paranethesis.
26260 (VALID_SSE_REG_MODE): Whitespace.
26261 (VALID_MMX_REG_MODE): Whitespace.
26262 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
26263 (ix86_hard_regno_mode_ok): Add parenthesis.
26264 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
26265 (RETURN_IN_MEMORY): Whitespace.
26266 (N_REG_CLASSES): Add parenthesis.
26267 (INTEGER_CLASS_P): Add parenthesis and wrap.
26268 (FLOAT_CLASS_P): Likewise.
26269 (SSE_CLASS_P): Likewise.
26270 (MMX_CLASS_P): Likewise.
26271 (MAYBE_INTEGER_CLASS_P): Likewise.
26272 (MAYBE_FLOAT_CLASS_P): Likewise.
26273 (MAYBE_SSE_CLASS_P): Likewise.
26274 (MAYBE_MMX_CLASS_P): Likewise.
26275 (Q_CLASS_P): Likewise.
26276 (GENERAL_REGNO_P): Uppercase macro parameter.
26277 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
26278 (FP_REGNO_P): Likewise.
26279 (ANY_FP_REGNO_P): Uppercase macro parameter.
26280 (SSE_REGNO_P): Likewise.
26281 (SSE_REGNO): Likewise.
26282 (SSE_REG_P): Likewise.
26283 (SSE_FLOAT_MODE_P): Likewise.
26284 (MMX_REGNO_P): Likewise.
26285 (MMX_REG_P):Likewise.
26286 (STACK_REG_P): Likewise.
26287 (NON_STACK_REG_P): Likewise.
26288 (STACK_TOP_P): Likewise.
26289 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
26290 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
26291 (SECONDARY_MEMORY_NEEDED): Likewise.
26292 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
26293 (MD_ASM_CLOBBERS): Whitespace and wrap.
26294 (MUST_PASS_IN_STACK): Whitespace and wrap.
26295 (RETURN_POPS_ARGS): Add parenthesis.
26296 (INIT_CUMULATIVE_ARGS): Likewise.
26297 (FUNCTION_ARG): Likewise.
26298 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
26299 (SETUP_INCOMING_VARARGS): Likewise.
26300 (BUILD_VA_LIST_TYPE): Add parenthesis.
26301 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
26302 parenthsis.
26303 (EXPAND_BUILTIN_VA_ARG): Likewise.
26304 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
26305 (INITIALIZE_TRAMPOLINE): Add parenthesis.
26306 (INITIAL_ELIMINATION_OFFSET): Likewise.
26307 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
26308 (REGNO_OK_FOR_BASE_P): Likewise.
26309 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
26310 (REGNO_OK_FOR_DIREG_P): Likewise.
26311 (REG_OK_FOR_INDEX_P): Whitespace.
26312 (REG_OK_FOR_BASE_P): Whitespace.
26313 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
26314 parenthesis.
26315 (FIND_BASE_TERM): Fix typo.
26316 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
26317 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
26318 (SYMBOLIC_CONST; Whitespace.
26319 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
26320 (ENCODE_SECTION_INFO): Whitespace.
26321 (FINALIZE_PIC): Remove do { ... } while (0).
26322 (PROMOTE_MODE): Wrap in do { ... } while (0).
26323 (CONST_COSTS): Whitespace.
26324 (RTX_COSTS): Add paramethesis, whitespace and wrap.
26325 (REGISTER_MOVE_COST): Add parenthesis.
26326 (MEMORY_MOVE_COST): Likewise.
26327 (EXTRA_CC_MODES): Whitespace.
26328 (SELECT_CC_MODE): Add parenthesis and whitespace.
26329 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
26330 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
26331 (ASM_OUTPUT_LABEL): Add paramethesis.
26332 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
26333 (ASM_OUTPUT_REG_POP): Likewise.
26334 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
26335 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 26336
07933f72
GS
26337 * config/i386/i386.c: Update copyright.
26338 (CHECK_STACK_LIMIT): Add parenthesis.
26339 (AT_BP): Uppercase macro parameter.
26340 (x86_64_int_parameter_registers): Constify.
26341 (x86_64_int_return_registers): Likewise.
26342 (ix86_compare_op0): Use rtx.
26343 (construct_container): Constify INTREG parameter.
26344 (function_arg): Use rtx.
26345
0b4d32c9
GS
26346 * diagnostic.h: Update copyright date.
26347 (output_buffer_state): Add parenthesis.
26348 (output_buffer_format_args): Likewise.
26349
6253d571
GS
26350 * combine.c (combine_instructions): Replace XEXP (links, 0)
26351 with link.
26352
68f3f6f1
L
263532002-01-06 H.J. Lu <hjl@gnu.org>
26354
26355 * cfgcleanup.c (thread_jump): Fix 2 typos.
26356
263572002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 26358
0d24f4d1 26359 * config.gcc: Add support for --enable-altivec.
480f7f3a 26360
13b8c631
CR
263612002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
26362
26363 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
26364
58ad89b1
JJ
263652002-01-06 Jakub Jelinek <jakub@redhat.com>
26366
26367 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
26368 __objc_class_name_*.
26369
e403b4bc
CR
263702002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
26371
26372 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
26373
e41c7831
RH
263742002-01-06 Richard Henderson <rth@redhat.com>
26375
26376 * reorg.c (emit_delay_sequence): Remove death notes, not merely
26377 nop them out. Increment label reference count for REG_LABEL.
26378 (fill_slots_from_thread): Frob label reference count around
26379 delete_related_insns.
26380
3b3b1e32
RH
263812002-01-05 Richard Henderson <rth@redhat.com>
26382
26383 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
26384 jump threading.
26385
c28abdf0
RH
263862002-01-05 Richard Henderson <rth@redhat.com>
26387
26388 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
26389 * integrate.c (output_inline_function): Likewise.
26390 * toplev.c (rest_of_compilation): Do it here instead. Move call
26391 to remove_unnecessary_notes after emitting abstract instance.
26392 Force an emitted nested function to have its parent emited as well.
26393 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
26394 for null.
26395 (rtl_for_decl_location): Do not look at reload data structures
26396 before reload has run.
26397
c4f2c499
KH
263982002-01-05 Kazu Hirata <kazu@hxi.com>
26399
26400 * cse.c: Fix formatting.
26401 * dwarf2asm.c: Likewise.
26402 * dwarf2out.c: Likewise.
26403 * explow.c: Likewise.
26404 * expmed.c: Likewise.
26405 * function.c: Likewise.
26406 * gcov.c: Likewise.
26407 * gencheck.c: Likewise.
26408 * genrecog.c: Likewise.
26409 * ggc-common.c: Likewise.
26410 * ggc-page.c: Likewise.
26411 * global.c: Likewise.
26412
cf0d9408
KH
264132002-01-05 Kazu Hirata <kazu@hxi.com>
26414
26415 * combine.c: Fix formatting.
26416
bedca03a
CR
264172002-01-05 Craig Rodrigues <crodrigu@bbn.com>
26418
26419 PR middle-end/1557
26420 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
26421
0134bf2d
DE
264222002-01-05 David Edelsohn <edelsohn@gnu.org>
26423
26424 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
26425 as 1 for __powerpc64__ as well.
26426
26427 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
26428
26429 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
26430 return it.
26431
9ca88d5a
DB
264322002-01-05 Daniel Berlin <dan@dberlin.org>
26433
26434 * lcm.c: Revert change, due to performance regression it causes on
26435 SPEC because it's slightly more conservative (sigh, I hate
26436 edge-based LCM).
0d24f4d1 26437
1c570418
JH
26438Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
26439
26440 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
26441
d83bb9f7
NB
264422002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
26443
26444 * doc/cppinternals.texi: Update.
26445
3e0f61ac
HPN
264462002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
26447
26448 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
26449 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
26450 negatives.
26451 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
26452 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
26453 kludge for pre-october-14th mmix versions to handle new-found bug
26454 with PUSHJ/PUSHGO and the register stack.
26455 * config/mmix/mmix.h (struct machine_function): Rename member
26456 has_call_value_without_parameters to has_call_without_parameters.
26457 All referers changed.
26458 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
26459 TARGET_MASK_BRANCH_PREDICT): New macros.
26460 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
26461 -mno-reg-stack-fill-bug-workaround.
26462 * config/mmix/mmix.md ("call"): Set struct machine member
26463 has_call_without_parameters.
26464
4deaa2f8
JH
26465Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
26466
26467 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
26468
9f16e871
JH
26469Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
26470
26471 * cfgcleanup.c: Include tm_p.h
26472 (mark_effect): Fix handling of hard register; fix handling of SET
26473
96eb1157
KH
264742002-01-04 Kazu Hirata <kazu@hxi.com>
26475
26476 * config/h8300/h8300.md (anonymous patterns): Check that
26477 operands are registers before using REGNO on them.
26478
48180d68
RM
264792002-01-03 Roland McGrath <roland@frob.com>
26480
26481 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
26482
b0832fe1
JJ
264832002-01-04 Jakub Jelinek <jakub@redhat.com>
26484
26485 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
26486 * c-common.h (genrtl_expr_stmt_value): Likewise.
26487 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
26488 (expand_expr_stmt_value): Add maybe_last argument.
26489 Don't warn about statement with no effect if it is the last statement
26490 in expression statement.
26491 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
26492 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
26493 expand_expr_stmt_value.
26494 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
26495 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
26496 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
26497 as maybe_last to expand_expr_stmt_value.
26498
c1e14513
JL
26499Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
26500
0d24f4d1
ZW
26501 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
26502 be passed in, do not build it.
26503 (c_begin_if_stmt): New function.
26504 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
26505 * c-common.h (c_expand_start_cond): Update prototype.
26506 (c_begin_if_stmt): Prototype new function.
26507 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
26508 * c-parse.in (if_prefix): Use c_begin_if_stmt,
26509 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 26510
b6ec437a
WC
265112002-01-04 William Cohen <wcohen@redhat.com>
26512
26513 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
26514 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
26515 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
26516 * config/pa/som.h (ASM_FILE_START): Likewise.
26517
ead39bdf 265182002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
26519
26520 * lcm.c: Include df.h.
26521 Add available_transfer_function prototype.
26522 (compute_available): Rework to use iterative dataflow framework.
26523 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
26524 with bb_info in df.h
26525 (available_transfer_function): New function.
26526
26527 * Makefile.in (lcm.o): add df.h to dependencies.
26528
551cc6fd
RH
265292002-01-04 Richard Henderson <rth@redhat.com>
26530
26531 * config/alpha/alpha.c (some_operand): Accept HIGH.
26532 (input_operand): Likewise; accept simple references to globals.
26533 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
26534 (alpha_const_double_ok_for_letter_p): Likewise.
26535 (alpha_extra_constraint): Likewise.
26536 (alpha_preferred_reload_class): Likewise. Do not force
26537 symbolic constants to memory.
26538 (alpha_legitimate_address_p): Accept simple references
26539 to small_symbolic_operand.
26540 (alpha_legitimize_address): New arg scratch. Be prepared to be
26541 called when no_new_pseudos. Emit simple symbolic references.
26542 Split integers into low, high, and rest.
26543 (alpha_expand_mov): Use alpha_legitimize_address.
26544 (some_small_symbolic_mem_operand): New.
26545 (split_small_symbolic_mem_operand): New.
26546 * config/alpha/alpha-protos.h: Update.
26547 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
26548 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
26549 (EXTRA_CONSTRAINT): Likewise.
26550 (PREFERRED_RELOAD_CLASS): Likewise.
26551 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
26552 (PREDICATE_CODES): Update.
26553 * config/alpha/alpha.md: New post-reload splitters to convert
26554 simplfied symbolic operands to the form that references $29.
26555 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
26556 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
26557
1eaea054
RH
265582002-01-03 Richard Henderson <rth@redhat.com>
26559
26560 * local-alloc.c (function_invariant_p): Update commentary.
26561
c4cc12b7
L
265622002-01-04 H.J. Lu <hjl@gnu.org>
26563
26564 * toplev.c (rest_of_compilation): Fix a typo when calling
26565 cleanup_cfg.
26566
173bf5be
KH
265672002-01-03 Kazu Hirata <kazu@hxi.com>
26568
26569 * c-common.c: Fix formatting.
26570 * diagnostic.c: Likewise.
26571 * doloop.c: Likewise.
26572 * dwarf2out.c: Likewise.
26573
187462ac
KH
265742002-01-03 Kazu Hirata <kazu@hxi.com>
26575
26576 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
26577 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
26578
5d8ebbd8
NB
265792002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
26580
26581 * cpperror.c: Update comments and copyright.
26582 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
26583 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
26584
518c1311
JDA
265852002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
26586
26587 * collect2.c (main): Use strcmp when testing for "-shared".
26588
d15a58c0
NB
265892002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
26590
26591 * cppmacro.c: Don't include intl.h. Update comments.
26592 (new_number_token): Allocate enough buffer for 64-bit unsigned
26593 integers; update prototype.
26594 * cppmain.c: Update comments.
26595
70f4f91c
WC
265962002-01-03 William Cohen <wcohen@redhat.com>
26597
26598 * function.h (struct function): Add profile.
26599 (current_function_profile): New.
26600 doc/extend.texi: Update documentation.
26601 * final.c (final_start_function): Use current_function_profile
26602 instead of profile_flag.
26603 (profile_after_prologue): Likewise.
26604 * function.c (expand_function_start): Likewise.
26605 (expand_function_start): Likewise.
c4cc12b7 26606 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
26607 (alpha_does_function_need_gp): Likewise.
26608 (alpha_expand_prologue): Likewise.
26609 * config/arm/arm.c (arm_expand_prologue): Likewise.
26610 thumb_expand_prologue: Likewise.
26611 * config/d30v/d30v.c (d30v_stack_info): Likewise.
26612 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
26613 (fr30_expand_prologue): Likewise.
26614 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
26615 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
26616 * config/i386/i386.h (FINALIZE_PIC): Likewise.
26617 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
26618 * config/i960/i960.c (i960_output_function_prologue): Likewise.
26619 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
26620 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
26621 (m32r_expand_prologue): Likewise.
26622 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
26623 (m88k_expand_prologue): Likewise.
26624 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
26625 * config/mips/mips.c (compute_frame_size): Likewise.
26626 (mips_expand_prologue): Likewise.
26627 (mips_can_use_return_insn): Likewise.
26628 * config/pa/elf.h (ASM_FILE_START): Likewise.
26629 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
26630 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
26631 * config/pa/som.h (ASM_FILE_START): Likewise.
26632 * config/romp/romp.c (romp_using_r14): Likewise.
26633 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
26634 (rs6000_stack_info): Likewise.
26635 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 26636 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
26637 * config/v850/v850.c (compute_register_save_size): Likewise.
26638
cb1ac742
JJ
266392002-01-03 Jakub Jelinek <jakub@redhat.com>
26640
26641 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
26642 gen_lowpart_common fails, use gen_lowpart_SUBREG.
26643
61d951df 266442002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 26645
61d951df
TC
26646 * darwin.c (machopic_output_possible_stub_label): Don't generate
26647 stub routines for pseudo-stubs which we've just defined.
26648
505ddab6
KH
266492002-01-03 Kazu Hirata <kazu@hxi.com>
26650
26651 * builtins.c: Fix formatting.
26652 * c-typeck.c: Likewise.
26653 * combine.c: Likewise.
26654 * expr.c: Likewise.
26655 * loop.c: Likewise.
26656
b7e30d8a
AS
266572002-01-03 Andreas Schwab <schwab@suse.de>
26658
26659 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
26660 and return true if _cpp_push_next_buffer pushed a new include
26661 file.
26662 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
26663 _cpp_pop_file_buffer did not push a new file.
26664 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
26665
ff81832f
EC
266662002-01-02 Eric Christopher <echristo@redhat.com>
26667
26668 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
26669 FIND_REG_INC_NOTE call. Update copyright.
26670 * loop.c (canonicalize_condition): Ditto.
26671 * reorg.c (delete_scheduled_jump): Ditto.
26672
8e42ace1
KH
266732002-01-03 Kazu Hirata <kazu@hxi.com>
26674
26675 * gcse.c: Fix formatting.
26676
fb2bf631
GS
266772002-01-03 Graham Stott <grahams@redhat.com>
26678
26679 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
26680 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 26681 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
26682
26683 * system.h: Move forward defs for struct tags rtx_def, union_tree,
26684 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 26685 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
26686
266872002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
26688
26689 * tree.h: Update copyright date.
26690 (IS_EXPR_CODE_CLASS): Add parenthesis.
26691 (TREE_SET_CODE): Add whitespace.
26692 (TREE_CHECK): Add parenthesis.
26693 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
26694 (CST_OR_CONSTRUCTOR_CHECK):
26695 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
26696 (TREE_SYMBOL_REFERENCED): Whitespace.
26697 (INT_CST_LT): Likewise.
26698 (INT_CST_LT_UNSIGNED): Likewise.
26699 (tree_real_cst): Unwrap comment.
26700 (tree_string): Likewise.
26701 (tree_complex): Likewise.
26702 (IDENTIFIER_POINTER): correct cast.
26703 (SAVE_EXPR_CONTEXT): Whitespace.
26704 (EXPR_WFL_FILENAME_NODE): Likewise.
26705 (EXPR_WFL_FILENAME): Remove parenthesis.
26706 (DECL_ORIGIN): Add parenthesis.
26707 (DECL_FROM_INLINE): Use NULL_TREE.
26708 (build_int_2): Whitespace.
26709 (build_type_variant): Add parenthesis.
26710
26711 * gcc/jcf-parse.c: Update copyright date.
26712 (yyparse): Constify resource_filename.
26713
f52eda29
GS
267142002-01-03 Graham Stott <grahams@redhat.com>
26715
26716 * rtl.h: Update copyright date.
26717 (RTL_CHECK1): Wrap long line.
26718 (RTL_CHECK2): Likewise.
26719 (RTL_CHECKC1): Wrap long line and whitespace.
26720 (RTL_CHECKC2): Likewise.
26721 (XWINT): Whitespace.
26722 (XINT): Likewise.
26723 (XSTR): Likewise.
26724 (XEXP): Likewise.
26725 (XVEC): Likewise.
26726 (XMODE): Likewise.
26727 (XBITMAP): Likewise.
26728 (XTREE): Likewise.
26729 (XBBDEF): Likewise.
26730 (XTMPL): Likewise.
26731 (X0WINT): Likewise.
26732 (X0INT):Likewise.
26733 (X0UINT): Likewise.
26734 (X0STR): Likewise.
26735 (X0EXP): Likewise.
26736 (X0VEC): Likewise.
26737 (X0MODE): Likewise.
26738 (X0BITMAP): Likewise.
26739 (X0TREE): Likewise.
26740 (X0BBDEF): Likewise.
26741 (X0ADVFLAGS): Likewise.
26742 (X0CSELIB): Likewise.
26743 (X0MEMATTR): Likewise.
26744 (XCWINT): Likewise.
26745 (XCINT): Likewise.
26746 (XCUINT): Likewise.
26747 (XCSTR): Likewise.
26748 (XCEXP): Likewise.
26749 (XCVEC): Likewise.
26750 (XCMODE): Likewise.
26751 (XCBITMAP): Likewise.
26752 (XCTREE): Likewise.
26753 (XCBBDEF): Likewise.
26754 (XCADVFLAGS): Likewise.
26755 (XCCSELIB): Likewise.
26756 (XC2EXP): Likewise.
26757 (INSN_UID): Likewise.
26758 (PREV_INSN): Likewise.
26759 (PATTERN): Likewise.
26760 (INSN_CODE): Likewise.
26761 (PUT_REG_NOTE_KIND): Likewise.
26762 (CODE_LABEL_NUMBER): Likewise.
26763 (NOTE_SOURCE_FILE): Likewise.
26764 (NOTE_BLOCK): Likewise.
26765 (NOTE_EH_HANDLER): Likewise.
26766 (NOTE_RANGE_INFO): Likewise.
26767 (NOTE_LIVE_INFO): Likewise.
26768 (NOTE_BASIC_BLOCK): Likewise.
26769 (NOTE_EXPECTED_VALUE): Likewise.
26770 (NOTE_LINE_NUMBER): Likewise.
26771 (LABEL_NAME): Likewise.
26772 (LABEL_NUSES): Likewise.
26773 (LABEL_ALTERNATE_NAME): Likewise.
26774 (ADDRESSOF_DECL): Likewise.
26775 (JUMP_LABEL): Likewise.
26776 (LABEL_NEXTREF): Likewise.
26777 (REGNO): Likewise.
26778 (ORIGINAL_REGNO: Likewise.
26779 (HARD_REGISTER_NUM_P): Add parenthesis.
26780 (SUBREG_REG): Whitespace.
26781 (SUBREG_BYTE): Likewise.
26782 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
26783 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
26784 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
26785 (ASM_OPERANDS_INPUT_VEC): Likewise.
26786 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
26787 (ASM_OPERANDS_INPUT): Likewise.
26788 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
26789 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
26790 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
26791 (ASM_OPERANDS_INPUT_MODE): Likewise.
26792 (ASM_OPERANDS_SOURCE_FILE): Likewise.
26793 (ASM_OPERANDS_SOURCE_LINE): Likewise.
26794 (MEM_SET_IN_STRUCT_P): Minor reformat.
26795 (TRAP_CONDITION): Whitespace.
26796 (TRAP_CODE): Likewise.
26797 (COND_EXEC_TEST): Likewise.
26798 (COND_EXEC_CODE): Likewise.
26799 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
26800 (PHI_NODE_P): Add parenthesis.
26801 (plus_constant): Whitespace and add parenthesis.
26802
e03f5d43
KH
268032002-01-03 Kazu Hirata <kazu@hxi.com>
26804
26805 * config/avr/avr.c: Fix comment typos.
26806 * config/c4x/c4x.md: Likewise.
26807 * config/dsp16xx/dsp16xx.h: Likewise.
26808 * config/dsp16xx/dsp16xx.md: Likewise.
26809 * config/i386/i386.md: Likewise.
26810 * config/ia64/ia64.c: Likewise.
26811 * config/m32r/m32r.h: Likewise.
26812 * config/m68hc11/m68hc11.md: Likewise.
26813 * config/mmix/mmix.c: Likewise.
26814 * config/mn10200/mn10200.c: Likewise.
26815 * config/romp/romp.c: Likewise.
26816 * config/sh/sh.c: Likewise.
26817 * config/stormy16/stormy16.c: Likewise.
26818 * config/stormy16/stormy16.h: Likewise.
26819 * config/stormy16/stormy16.md: Likewise.
26820
97e300e9
GS
268212002-01-03 Graham Stott <grahams@redhat.com>
26822
26823 * loop.h: Update copyright date.
0d24f4d1
ZW
26824 (LOOP_MOVABLES): Fix typo.
26825 (LOOP_REGS): Likewise.
26826 (LOOP_IVS): Likewise.
ff81832f 26827
745b26b3
GS
268282002-01-03 Graham Stott <grahams@redhat.com>
26829
26830 * cppinit.c: Update copyright date.
26831 Don't include output.h
26832 * Makefile.in: Update copyright date.
26833 Update dependency.
26834
0a379b7a
CR
268352002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
26836
26837 PR c/5226
26838 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
26839 (-pthread) Add to RS/6000 options.
26840
a8154559
KH
268412002-01-02 Kazu Hirata <kazu@hxi.com>
26842
26843 * except.c: Fix comment typos.
26844 * loop.c: Likewise.
26845 * varasm.c: Likewise.
26846 * doc/tm.texi: Fix a typo.
26847
e6ecc89b
JJ
268482002-01-02 Jakub Jelinek <jakub@redhat.com>
26849
26850 * c-typeck.c (output_init_element): Allow initializing static storage
26851 duration objects with compound literals.
26852
d1094b40
RH
268532002-01-02 Richard Henderson <rth@redhat.com>
26854
26855 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
26856 after abusing it.
26857
0c5d8c82
KG
268582002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
26859
5e65297b
KG
26860 * gcc.c (default_compilers): Const-ify.
26861 * mips-tdump.c (stab_names): Likewise.
26862 * mips-tfile.c (map_coff_types, map_coff_storage,
26863 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
26864 pseudo_ops_t, pseudo_ops): Likewise.
26865 * protoize.c (default_include): Likewise
26866
0c5d8c82
KG
26867 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
26868 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
26869 Add array size in declaration.
26870 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
26871 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
26872 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
26873 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
26874 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
26875 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
26876 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
26877 emtens, make_nan): Const-ify.
26878 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
26879 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
26880
817e13c4
JM
268812002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
26882
26883 * config.gcc (ia64-*-*): Set extra_headers.
26884 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
26885 * config/alpha/t-osf: Remove.
26886 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
26887
98095e2b
DE
268882002-01-02 David Edelsohn <edelsohn@gnu.org>
26889
26890 * config/rs6000/t-aix43: Revert previous change.
26891
a4200657
JM
268922002-01-02 Jason Merrill <jason@redhat.com>
26893
26894 * c-decl.c (c_expand_body): Call outlining_inline_function when
26895 emitting an inline function out of line.
26896
54ba1f0d
RH
268972002-01-02 Richard Henderson <rth@redhat.com>
26898
26899 * dwarf2out.c (limbo_die_node): Add created_for member.
26900 (new_die): New argument created_for. Update all callers.
26901 (mark_limbo_die_list): New.
26902 (dwarf2out_init): Register limbo_die_list as a root.
26903 (dwarf2out_finish): Force insert limbo dies into their function
26904 context.
26905
323728aa
NS
269062002-01-02 Nathan Sidwell <nathan@codesourcery.com>
26907
26908 PR c++/5089
26909 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
26910
aefc5826
KH
269112002-01-02 Kazu Hirata <kazu@hxi.com>
26912
26913 * config/h8300/fixunssfsi.c: Update copyright.
26914 Fix comment typos.
26915 Fix formatting.
26916 * config/h8300/h8300.c: Update copyright.
26917 Eliminate warnings.
26918
b1c9bc51
KH
269192002-01-02 Kazu Hirata <kazu@hxi.com>
26920
26921 * config/romp/romp.c: Fix comment formatting.
26922 * config/romp/romp.h: Likewise.
26923 * config/romp/romp.md: Likewise.
26924 * config/s390/s390.c: Likewise.
26925 * config/stormy16/stormy16.c: Likewise.
26926 * config/stormy16/stormy16.h: Likewise.
26927
1574ef13
AO
269282002-01-02 Alexandre Oliva <aoliva@redhat.com>
26929
26930 * c-common.h (genrtl_expr_stmt_value): Declare.
26931 * c-semantics.c (genrtl_goto_stmt): Redirect to...
26932 (genrtl_goto_stmt_value): ... this new function. Pass new
26933 argument down to expand_expr_stmt_value, taking
26934 TREE_ADDRESSABLE into account.
26935 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
26936 STMT_EXPR as addressable, i.e., one whose result we want.
26937 * expr.c (expand_expr): Don't save expression statement value
26938 of labeled_blocks or loop_exprs.
26939 * stmt.c (expand_expr_stmt): Redirect to...
26940 (expand_expr_stmt_value): ... this new function. Use new
26941 argument to tell whether to save expression value.
26942 (expand_end_stmt_expr): Reset last_expr_type and
26943 last_expr_value if we don't have either.
26944 * tree-inline.c (declare_return_variable): Mark its use
26945 statement as addressable.
26946 * tree.h: Document new use of TREE_ADDRESSABLE.
26947 (expand_expr_stmt_value): Declare.
26948
252b88f7
TR
269492002-01-01 Tom Rix <trix@redhat.com>
26950
26951 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
26952 rs6000_emit_allocate_stack.
26953
29f7a208
JM
269542002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
26955
26956 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
26957 ${srcdir}/ginclude/ to every entry in extra_headers.
26958 * configure: Regenerate.
26959 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
26960 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
26961 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
26962 * ginclude/proto.h: Rename to config/convex/proto.h.
26963
2cc2d4bb
RK
26964Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
26965
26966 * attribs.c (handle_vector_size_attribute): Use host_integerp
26967 and tree_int_cst; remove warnings.
26968 * caller-save.c (insert_restore): Add cast to get rid of warning.
26969 (insert_save): Likewise.
26970 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
26971 * regmove.c (find_matches): Add temporary var to kill a warning.
26972
f01c9bcd
DR
269732002-01-01 Douglas B Rupp <rupp@gnat.com>
26974
16b61764
DR
26975 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
26976 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
26977 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
26978 (vms-dwarf2eh.o): Add Makefile rule.
26979 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
26980 * config/alpha/vms-dwarf2eh.asm: New file.
26981
f01c9bcd
DR
26982 * gcc.c (delete_if_ordinary): Delete all versions.
26983
91312b81
HPN
269842002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
26985
26986 * config/mmix/mmix.md: Update FIXME to not mention
26987 define_constants.
26988 (MMIX_rJ_REGNUM): New define_constants constant.
26989 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
26990 "*movdicc_real"): Adjust contraints formatting.
26991 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
26992 for branch prediction.
26993 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
26994 output template.
26995 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
26996 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
26997 number. Delete related FIXMEs.
26998 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
26999 from number to MMIX_rJ_REGNUM.
27000 (TARGET_MASK_BRANCH_PREDICT): New.
27001 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
27002 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
27003 value. Add -mbranch-predict and -mno-branch-predict.
27004 (TARGET_VERSION): Drop date.
27005 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
27006 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
27007 for finding out global symbols.
27008 (mmix_asm_output_labelref): Revert condition for global symbol.
27009 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
27010 (mmix_print_operand_punct_valid_p): A '+' is valid.
27011
619acae7 27012See ChangeLog.6 for earlier changes.
This page took 3.737123 seconds and 5 git commands to generate.