]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
* gcc.dg/typeof-2.c: New test.
[gcc.git] / gcc / ChangeLog
CommitLineData
2cc9fb4c
DE
12002-09-03 David Edelsohn <edelsohn@gnu.org>
2
3 * varasm.c (default_section_type_flags): Append _1 to name with
4 shlib parameter. Use original name to call new function with
5 implicit flag_pic.
6 (decl_readonly_section): Likewise.
7 (default_elf_select_section): Likewise.
8 (default_unique_section): Likewise.
9 (default_bind_local_p): Likewise.
10 (categorize_decl_for_section): Add shlib parameter to use in place
11 of implicit flag_pic.
12 * output.h: Declare new functions with _1 and shlib argument.
13
7c19f816
JJ
142002-09-03 Janis Johnson <janis187@us.ibm.com>
15
8c085f6f
JJ
16 * doc/install.texi: Fix typos, formatting problems, and obvious
17 overfull/underfull boxes.
18
7c19f816
JJ
19 * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
20 * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
21 include its file, compat.texi.
22 * doc/compat.texi: New file with new chapter, Binary Compatibility.
23
79ba5e3b
NB
242002-09-03 Neil Booth <neil@daikokuya.co.uk>
25
26 Debian BTS Bug #157416
27 * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
28 * cpplib.c (destringize_and_run): Kludge around getting
29 tokens from in-progress macros.
30 (_cpp_do__Pragma): Simplify.
31
57016b47
SE
322002-09-03 Steve Ellcey <sje@cup.hp.com>
33
34 * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
35 (CPP_CPU_SPEC): Remove.
36 (TARGET_CPU_CPP_BUILTINS): New.
37 * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
38 (CPP_SPEC): Remove.
39 (TARGET_OS_CPP_BUILTINS): New.
40 * config/ia64/linux.h (CPP_PREDEFINES): Remove.
41 (TARGET_OS_CPP_BUILTINS): New.
42 * config/ia64/aix.h (CPP_SPEC): Move some stuff to
43 TARGET_OS_CPP_BUILTINS.
44 (CPP_PREDEFINES): Remove.
45 (CPLUSPLUS_CPP_SPEC): Remove.
46 (TARGET_OS_CPP_BUILTINS): New.
47
d57a4b98
RH
482002-09-03 Richard Henderson <rth@redhat.com>
49
50 * Makefile.in (USER_H): Add ginclude/float.h.
51 (FLOAT_H): Remove.
52 (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
53 (mostlyclean): Don't remove float.h intermediate files.
54 (distclean): Don't remove float.h.
55 * config.gcc: Remove all float_format references.
56 * configure.in (float_format, float_h_file): Remove.
57
58 * c-common.c: Include tree-inline.h.
59 (builtin_define_with_int_value): New.
60 (builtin_define_type_precision): Use it.
61 (builtin_define_float_constants): New.
62 (cb_register_builtins): Use it. Define __FLT_RADIX__ and
63 __FLT_EVAL_METHOD__.
64 * defaults.h (TARGET_FLT_EVAL_METHOD): New.
65 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
66 * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
67 * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
68 (TARGET_FLT_EVAL_METHOD): New.
69
70 * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
71 config/float-i386.h, config/float-i64.h, config/float-m68k.h,
72 config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
73 * ginclude/float.h: New.
74
527347f0
SS
752002-09-03 Stan Shebs <shebs@apple.com>
76
77 * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
78 (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
79 (PREFERRED_DEBUGGING_TYPE): Ditto.
80 (ASM_OUTPUT_IDENT): Remove empty definition.
81
34c1864f
SE
822002-09-03 Steve Ellcey <sje@cup.hp.com>
83
84 * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
85 cxx_target.
86 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
87 handling routine for builtin pragma.
88 * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
89 Registered pragma handling routine.
90 * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
91 (ia64_hpux_add_pragma_builtin) New subroutine used by above.
92 If builtin pragma seen for math routine and C89 conformance is
93 requested use different math function in order to set errno.
94 * t-ia64 (ia64-c.o): Add new rule for new file.
95
9b7c75b9
UW
962002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
97
98 * config/s390/s390.md ("movti"): Add Q->Q alternative.
99 ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
100 "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
101
102 ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
103 "*movsf_ss"): Remove.
104
710ba35f
JDA
1052002-09-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
106
107 * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
108 Delete macros.
109
ff970081
AD
1102002-09-03 Arati Dikey <aratid@kpit.com>
111
112 * h8300.c (asm_file_start): Corrected optimization comment.
113
b50d021d
SS
1142002-09-03 Stan Shebs <shebs@apple.com>
115
116 * c-lang.c (recognize_objc_keyword): Remove, no longer used.
117 * c-tree.h (recognize_objc_keyword): Remove decl.
118 * c-typeck.c (comp_target_types): Update a comment.
119
b808c04c
UW
1202002-09-03 Ulrich Weigand <uweigand@de.ibm.com>
121
122 * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
123 and register validity checks.
124 (general_s_operand): Adapt to s390_decompose_address interface change.
125 (q_constraint): Likewise.
126 (s390_expand_plus_operand): Likewise.
127 (legitimiate_address_p): Likewise.
128 (legitimate_la_operand_p): Likewise.
129 (legitimize_la_operand): Likewise.
130 (print_operand_address): Likewise.
131 (print_operand): Likewise.
132
ee453219
NP
133Tue Sep 3 11:32:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
134
135 PR objc/5956:
136 * objc/objc-act.c (build_typed_selector_reference): Fix typo which
137 was causing the new selector never to match the existing ones
138 (Patch by Alexander Malmberg <alexander@malmberg.org>).
139
d82283d5
GS
1402002-09-03 Graham Stott <graham.stott@btinternet.com>
141
142 * config/i386/i386.md ("femms"): Add "memory" attr "none".
143
1442002-09-03 Graham Stott <graham.stott@btinternet.com>
c7a009a2
GS
145
146 * expr.c (expand_expr): Remove extraneous comment and code.
147
98c0d8d1
RH
1482002-08-31 Richard Henderson <rth@redhat.com>
149
150 * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
151
a5f3f0ab
JDA
1522002-08-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
153
154 * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
155
38ec83b1
RH
1562002-08-30 Richard Henderson <rth@redhat.com>
157
c9989d09 158 PR opt/7515
38ec83b1
RH
159 * c-objc-common.c: Include target.h.
160 (c_cannot_inline_tree_fn): Don't auto-inline functions that
161 don't bind locally. Factor setting DECL_UNINLINABLE.
162 * Makefile.in (c-objc-common.o): Update.
163
4c64396e
JJ
1642002-08-30 Janis Johnson <janis187@us.ibm.com>
165
166 * doc/install.texi (Configuration, Building): Fix a typo and
167 some formatting directives.
168
4226378a
PK
1692002-08-30 Paul Koning <pkoning@equallogic.com>
170
171 * doc/c-tree.texi (RDIV_EXPR): Fix typo.
172 * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
173 implemented" note.
174 * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
175 for alphabetic order.
176 * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
177 VAX_FLOAT_FORMAT. Remove reference to HOST_FLOAT_FORMAT.
178 (VAX_HALFWORD_ORDER): Document.
179 (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
180 IEEE float format.
181 (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
182 (ASM_OUTPUT_LABEL_REF): Fix font.
183 (CASE_VECTOR_SHORTEN_MODE): Ditto.
184
b8074dbe
DC
1852002-08-30 Denis Chertykov <denisc@overta.ru>
186
187 * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
188 stuff.
189 (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
190 CONST_DOUBLE constants.
191
55f49e3d
JT
1922002-08-30 Jason Thorpe <thorpej@wasabisystems.com>
193
194 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
195 related defines to...
196 (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
197 * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
198 as a no-op.
199
e1944073
KW
2002002-08-30 Krister Walfridsson <cato@df.lth.se>
201
202 * config/arm/arm.c (arm_asm_output_labelref): New function.
203 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
204 * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
205
6e92b3a1
RB
2062002-08-29 Rodney Brown <rbrown64@csc.com.au>
207
208 * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
209 memory exhausted" workarounds.
210
9d533cb5
GDR
2112002-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
212
213 * diagnostic.c (fancy_abort): Don't repeat "internal error".
214 * toplev.c (crash_signal): Likewise.
215
1f676100
NP
216Fri Aug 30 00:33:37 2002 Nicola Pero <n.pero@mi.flashnet.it>
217
218 * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
219 * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
220 Extended, updated documentation.
221 (-Wundeclared-selector): Documented.
222
23532de9
JT
2232002-08-29 Jason Thorpe <thorpej@wasabisystems.com>
224
225 * config/chorus.h: Consistently define *_DEBUGGING_INFO with
226 the value 1. Do not undef before defining.
227 * config/darwin.h: Likewise.
228 * config/dbx.h: Likewise.
229 * config/dbxcoff.h: Likewise.
230 * config/dbxelf.h: Likewise.
231 * config/elfos.h: Likewise.
232 * config/interix.h: Likewise.
233 * config/lynx-ng.h: Likewise.
234 * config/lynx.h: Likewise.
235 * config/netware.h: Likewise.
236 * config/psos.h: Likewise.
237 * config/svr3.h: Likewise.
238 * config/alpha/alpha.h: Likewise.
239 * config/alpha/elf.h: Likewise.
240 * config/alpha/vms.h: Likewise.
241 * config/arc/arc.h: Likewise.
242 * config/arm/aout.h: Likewise.
243 * config/arm/coff.h: Likewise.
244 * config/c4x/c4x.h: Likewise.
245 * config/h8300/h8300.h: Likewise.
246 * config/i386/cygwin.h: Likewise.
247 * config/i386/djgpp.h: Likewise.
248 * config/i386/gas.h: Likewise.
249 * config/i386/gstabs.h: Likewise.
250 * config/i386/i386-coff.h: Likewise.
251 * config/i386/i386-interix.h: Likewise.
252 * config/i386/sco5.h: Likewise.
253 * config/i386/svr3dbx.h: Likewise.
254 * config/i386/sysv3.h: Likewise.
255 * config/i386/win32.h: Likewise.
256 * config/i386/x86-64.h: Likewise.
257 * config/i960/i960.h: Likewise.
258 * config/ia64/ia64.h: Likewise.
259 * config/ip2k/ip2k.h: Likewise.
260 * config/m32r/m32r.h: Likewise.
261 * config/m68k/3b1.h: Likewise.
262 * config/m68k/3b1g.h: Likewise.
263 * config/m68k/ccur-GAS.h: Likewise.
264 * config/m68k/coff.h: Likewise.
265 * config/m68k/hp2bsd.h: Likewise.
266 * config/m68k/hp310g.h: Likewise.
267 * config/m68k/hp320g.h: Likewise.
268 * config/m68k/hp3bsd.h: Likewise.
269 * config/m68k/hp3bsd44.h: Likewise.
270 * config/m68k/linux-aout.h: Likewise.
271 * config/m68k/m68k-aout.h: Likewise.
272 * config/m68k/mot3300.h: Likewise.
273 * config/m68k/netbsd.h: Likewise.
274 * config/m68k/openbsd.h: Likewise.
275 * config/m68k/pbb.h: Likewise.
276 * config/m68k/plexus.h: Likewise.
277 * config/m68k/sun2.h: Likewise.
278 * config/m68k/sun3.h: Likewise.
279 * config/m68k/tower-as.h: Likewise.
280 * config/m68k/vxm68k.h: Likewise.
281 * config/m88k/aout-dbx.h: Likewise.
282 * config/m88k/m88k-aout.h: Likewise.
283 * config/mcore/mcore-elf.h: Likewise.
284 * config/mcore/mcore-pe.h: Likewise.
285 * config/mips/elf.h: Likewise.
286 * config/mips/elf64.h: Likewise.
287 * config/mips/iris5gas.h: Likewise.
288 * config/mips/iris6.h: Likewise.
289 * config/mips/mips.h: Likewise.
290 * config/mips/sni-gas.h: Likewise.
291 * config/mmix/mmix.h: Likewise.
292 * config/ns32k/netbsd.h: Likewise.
293 * config/pa/pa64-hpux.h: Likewise.
294 * config/romp/romp.h: Likewise.
295 * config/rs6000/sysv4.h: Likewise.
296 * config/rs6000/xcoff.h: Likewise.
297 * config/sh/coff.h: Likewise.
298 * config/sh/elf.h: Likewise.
299 * config/sparc/linux64.h: Likewise.
300 * config/sparc/liteelf.h: Likewise.
301 * config/sparc/netbsd.h: Likewise.
302 * config/sparc/openbsd.h: Likewise.
303 * config/sparc/pbd.h: Likewise.
304 * config/sparc/sp64-elf.h: Likewise.
305 * config/sparc/sp86x-elf.h: Likewise.
306 * config/sparc/sparc.h: Likewise.
307 * config/vax/vax.h: Likewise.
308 * config/vax/vaxv.h: Likewise.
309
5e98fba2
DD
3102002-08-29 "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
311
312 * h8300.c (shift_alg_hi): Various tweaks to improve performance
313 of HImode shifts.
314 (get_shift_alg): Corresponding changes.
315
43852342
JDA
3162002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
317
318 * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
319
44bb111a
RH
3202002-08-29 Richard Henderson <rth@redhat.com>
321
322 * expr.h (enum block_op_methods): New.
323 (emit_block_move): Update prototype.
324 * expr.c (block_move_libcall_safe_for_call_parm): New.
325 (emit_block_move_via_loop): New.
326 (emit_block_move): Use them. New argument METHOD.
327 (emit_push_insn): Always respect the given alignment.
328 (expand_assignment): Update call to emit_block_move.
329 (store_expr, store_field, expand_expr): Likewise.
330 * builtins.c (expand_builtin_apply): Likewise.
331 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
332 * function.c (expand_function_end): Likewise.
333 * config/sh/sh.c (sh_initialize_trampoline): Likewise.
334 * config/sparc/sparc.c (sparc_va_arg): Likewise.
335 * calls.c (expand_call, emit_library_call_value_1): Likewise.
336 (save_fixed_argument_area): Use emit_block_move with
337 BLOCK_OP_CALL_PARM instead of move_by_pieces.
338 (restore_fixed_argument_area): Likewise.
339 (store_one_arg): Fix alignment parameter to emit_push_insn.
340
08b3d104
JDA
3412002-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
342
343 * install.texi (hppa64-hp-hpux11*): Document installation procedure.
344
ce4e9970 3452002-08-29 Catherine Moore <clm@redhat.com>
8376061d
CM
346
347 * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
348 NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
349 (PREDICATE_CODES): Include new predicates.
350 (RTX_COSTS): Handle UMOD and UDIV. Tune MULT for v850e.
351 (TARGET_SWITCHES): Add strict-align.
352 (TARGET_STRICT_ALIGN): New.
353 (MASK_DEFAULT, STRICT_ALIGNMENT): Redefine.
354 * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
355 Define.
356 (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
357 v850_muldi3.
358 * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
359 L_callt_save_r2_r31, L_return_r2_r31,
360 L_save_all_interrupt): Change addi to add.
361 (L_save_interrupt, L_return_interrupt): Rework.
362 (__return_r31): Correct .size directive.
363 (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
364 (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
365 New routines.
366 * config/v850/v850.c (expand_prologue): Call
367 gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
368 gen_callt_return_interrupt and gen_callt_save_all_interrupt.
369 (reg_or_int9_operand): New predicate.
370 (reg_or_const_operand): New routine.
371 * config/v850/v850.md (return_interrupt): Changed from
372 restore_interrupt.
373 (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
374 (callt_save_interrupt): Change save sequence.
375 (callt_return_interrupt): New.
376 (save_interrupt): Don't use runtime function for LONG_CALLS
377 and TARGET_PROLOG_FUNCTION.
378 (save_all_interrupt): Likewise.
379 (mulsi3): Use new predicate.
380 (moviscc): Disallow some combination of constants.
381 Fix define_split for sasf insns, so that it will not generate bad
382 code if operand0 and operand5 are the same.
383 * config/v850/v850-protos.h: Prototype new predicates.
384
585e661a
GDR
3852002-08-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
386
387 * c-common.c (builtin_define_type_precision): New function.
388 (cb_register_builtins): Use it. Define __WCHAR_UNSIGNED__ is
389 wchar_t is unsigned in C++.
390 * doc/cpp.texi (Common Predefined Macros): Document
391 __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
392 __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
393 __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
394
bd8f9aec
SP
3952002-08-28 Sylvain Pion <pion@cs.nyu.edu>
396
397 * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
398 section. Mention that it is enabled by -Wall.
399 (-Wall): Mention that there can be language-specific warnings as well.
400 (-Wctor-dtor-privacy): Mention that it is enabled by default.
401 (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
402
58ab7171
R
403Wed Aug 28 15:35:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
404
405 * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
406 if it is ever live.
407
408 * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
409 attribute for SHCOMPACT.
410
411 * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
412 appropriately.
413 (FUNCTION_BOUNDARY): Specify only the minimum alignment required
414 by the ABI.
415
416 * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
417
27f4b67e
JT
4182002-08-28 Jason Thorpe <thorpej@wasabisystems.com>
419
420 * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
421 "MASK_GAS|MASK_ABICALLS".
422 * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
423 (TARGET_DEFAULT): Remove.
424 (MACHINE_TYPE): Undefine before defining.
425 (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
426
eca7f13c
MM
4272002-08-27 Mark Mitchell <mark@codesourcery.com>
428
429 * c-common.c (warn_abi): New variable.
430 * c-common.h (warn_abi): Likewise.
431 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
432 (c_common_decode_option): Handle it.
7ee425e4 433 * doc/invoke.texi: Document -Wabi.
eca7f13c 434
ece4ce85
NP
435Tue Aug 27 23:03:52 2002 Nicola Pero <n.pero@mi.flashnet.it>
436
437 * c-common.c (warn_undeclared_selector): New variable.
438 * c-common.h (warn_undeclared_selector): Idem.
439 * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
440 to on when -Wundeclared-selector is found.
441 (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
442 * objc/objc-act.c (build_selector_expr): If
443 warn_undeclared_selector is set, check that the selector has
444 already been defined, and emit a warning if not.
445
b4378319
NC
4462002-08-27 Nick Clifton <nickc@redhat.com>
447 Catherine Moore <clm@redhat.com>
448 Jim Wilson <wilson@cygnus.com>
449
450 * config.gcc: Add v850e-*-* target.
451 Add --with-cpu= support for v850.
452 * config/v850/lib1funcs.asm: Add v850e callt functions.
453 * config/v850/v850.h: Add support for v850e target.
454 * config/v850/v850.c: Add functions to support v850e target.
455 * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
456 * config/v850/v850.md: Add patterns for v850e instructions.
457 * doc/invoke.texi: Document new v850e command line switches.
458
ef261fee
R
459Tue Aug 27 18:30:47 2002 J"orn Rennecke <joern.rennecke@superh.com>
460 Aldy Hernandez <aldyh at redhat dot com>
461
462 * doc/tm.texi: Applied numerous fixes to the automaton based
463 scheduler descrition.
464
c60ee6f5
JH
465Tue Aug 27 19:51:05 CEST 2002 Jan Hubicka <jh@suse.cz>
466
467 * i386.c (classify_argument): Handle variable sized objects.
468
1985ef90
JH
469Tue Aug 27 19:18:16 CEST 2002 Jan Hubicka <jh@suse.cz>
470
471 * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
472
7acc97e0
JH
473Tue Aug 27 18:01:45 CEST 2002 Jan Hubicka <jh@suse.cz>
474
475 * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
476
23327dae
JH
477Tue Aug 27 18:00:11 CEST 2002 Jan Hubicka <jh@suse.cz>
478
479 * i386.c (classify_argument): Properly compute word size of the analyzed object.
480
c49439f1
R
481Tue Aug 27 14:39:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
482
483 * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
484 mac_gp ftrc_s and cwb. Add / Adjust definitions in individual insn
485 accordingly.
486 (attribute insn_class): Provide default definitions based on type.
487 Remove all insn-specific settings.
488 (various function units): Remove old SH4 scheduling.
489 (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
490 New attributes. Set them where appropriate.
491 (cpu unit FS): Don't define / use.
492 (F3, load_store): New cpu units.
493 (F01): New reservation.
494 (all insn_reservations): Make dependent on sh4 pipeline model.
495 Fix latencies.
496 (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
497 (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
498 (mt insn_reservation): Use type mt_group.
499 (insn_reservation load_store): Split into sh4_load, sh4_load_si,
500 sh4_fload and sh4_store.
501 (insn_reservation branch_zero and branch): Replace with sh4_branch.
502 (insn_reservation branch_far): Replace with sh4_return.
503 (insn_reservation return_from_exp): Rename to:
504 (sh4_return_from_exp). Change to be just d_lock*5.
505 (insn_reservation lds_to_pr): Rename to:
506 (sh4_lds_to_pr). Change to be just d_lock*2.
507 (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
508 d_lock*2.
509 (insn_reservation prload_mem): Rename to:
510 (sh4_prstore_mem). Change to d_lock*2,nothing,memory.
511 (insn_reservation fpscr_store): Rename to:
512 (fpscr_load). Change to d_lock,nothing,F1*3.
513 (insn_reservation fpscr_store_mem): Rename to:
514 (fpscr_load_mem). Change to d_lock,nothing,(F1+memory),F1*2.
515 (insn_reservation multi): Change to
516 d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
517 (insn_reservation fp_arith): Change to issue,F01,F2.
518 (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
519 (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
520 (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
521 (insn_reservation fp_double_cmp): Change to
522 d_lock,(d_lock+F01),F1+F2,F2.
523 (insn_reservation dp_div): Change to
524 issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
525 * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
526 (sh_adjust_cost, SHcompact): Differentiate between different
527 kinds of dependencies. Drop factor of ten for superscalar.
528 Use new instruction types. Add new exception rules.
529
530 * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
531
532 * sh.md (mperm_w): Add DONE.
533
f34fc46e
DE
5342002-08-27 David Edelsohn <edelsohn@gnu.org>
535
536 * longlong.h: Import current PowerPC defintion from GMP-4.1.
537
538 * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
539
540 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
541
dcb44500
R
542Tue Aug 27 13:53:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
543
544 * sh.h (MAX_FIXED_MODE_SIZE): Define.
545
3ec07554
GDR
5462002-08-27 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
547
548 * doc/cpp.texi (Common Predefined Macros): Don't mess with table
549 delimiter.
550
35885eab
GDR
5512002-08-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
552
553 * c-common.c (cpp_define_data_format): New function.
554 (cb_register_builtins): Call it.
555
556 * doc/cpp.texi (Common Predefined Macros): Document
557 __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
558 __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
559 __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
560 __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
561 __TARGET_USES_VAX_H_FLOAT__.
562
d632dee9
ZL
5632002-08-26 Ziemowit Laski <zlaski@apple.com>
564
565 * objc/objc-act.c (get_super_receiver): If inside a class method
566 of a category, cast the receiver to 'id' before accessing the 'isa'
567 field so that <objc/objc-class.h> is not needed. For NeXT runtime.
568
c3cc6b78
UW
5692002-08-26 Ulrich Weigand <uweigand@de.ibm.com>
570
571 * config/s390/s390-protos.h (s390_function_prologue,
572 s390_function_epilogue): Remove.
573 config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
574 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
575
576 config/s390/s390.c (s390_machine_dependent_recorg): New function.
577 config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
578 config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
579 config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
580 to being called from MACHINE_DEPENDENT_REORG. Update regs_ever_live.
581
582 config/s390/s390.c (s390_frame_info): Inline save_fprs_p. Always
583 assume BASE_REGISTER and RETURN_REGNUM need to be saved.
584 (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
585 function is not a leaf function. Use save_gprs and restore_gprs.
586 (s390_emit_epilogue): Likewise.
587 (save_gprs, restore_gprs): New functions.
588 (struct s390_frame): Remove return_reg_saved_p member.
589 (save_fprs_p): Remove.
590 (s390_optimize_prolog): New function.
591 (s390_legitimate_reload_constant): Remove now unnecessary check.
592
593 (s390_function_count): Remove.
594 (s390_output_symbolic_const): Replace s390_function_count by
595 current_function_funcdef_no.
596 (s390_output_constant_pool): Likewise.
597
598 (legitimize_pic_address): Use regs_ever_live to track PIC register
599 instead of current_function_uses_pic_offset_table.
600 (s390_emit_prologue): Likewise.
601 config/s390/s390.md ("call", "call_value"): Likewise.
602
3f662186
NB
6032002-08-26 Neil Booth <neil@daikokuya.co.uk>
604
605 * c-opts.c (find_opt): Don't complain about wrong languages
606 here. Return exact matches even for wrong language.
607 (c_common_decode_option): Complain about wrong languages
608 here.
609
b6128b8c
SH
6102002-08-24 Stuart Hastings <stuart@apple.com>
611
612 * function.h (struct function): Add flag
613 all_throwers_are_sibcalls.
614 * except.c (set_nothrow_function_flags): Replaces
615 nothrow_function_p. Set new flag.
616 * except.h (set_nothrow_function_flags): Replaces
617 nothrow_function_p.
618 * dwarf2out.c (struct dw_fde_struct): Add flag
619 all_throwers_are_sibcalls.
620 (output_call_frame_info): Test it.
621 (dwarf2out_begin_prologue) Propagate it from cfun to
622 dw_fde_struct.
623 * toplev.c (rest_of_compilation): Update calls to
624 nothrow_function_p.
625
280cf02a
ZW
6262002-08-23 Zack Weinberg <zack@codesourcery.com>
627
628 * ggc-page.c (compute_inverse): Short circuit calculation for
629 object sizes larger than half a page.
630
c6664446
DE
6312002-08-23 David Edelsohn <edelsohn@gnu.org>
632
633 * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
634 DEFAULT_ABI == ABI_AIX like PIC. Test PIC & reloc for readonly
635 default.
636 (rs6000_elf_unique_section): Likewise.
637
da57d233
KG
6382002-08-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
639
640 * ns32k.c (ns32k_globalize_label): Delete.
641 * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
642
56a7189a
AM
6432002-08-23 Alan Modra <amodra@bigpond.net.au>
644
645 * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
646 for loading delta with num_insns_constant_wide. Calculate
647 delta_low, delta_high without using a conditional.
648
d65b1d77
JM
6492002-08-22 Jason Merrill <jason@redhat.com>
650
651 * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
652 * c-common.def: Adjust.
653 * c-dump.c (c_dump_tree): Adjust.
654 * c-semantics.c (genrtl_return_stmt): Adjust.
655 * c-pretty-print.c (pp_c_statement): Adjust.
656 * tree-inline.c (copy_body_r): Adjust.
657
8537ed68
ZW
6582002-08-22 Zack Weinberg <zack@codesourcery.com>
659
660 * ggc-page.c: Avoid division in ggc_set_mark.
661 (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
662 compute_inverse): New.
663 (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
664 (init_ggc): Initialize inverse_table.
665
8567c70f
TT
6662002-08-22 Tom Tromey <tromey@redhat.com>
667
668 * doc/install.texi (Configuration): Document --datadir.
669
fde59d4b
AO
6702002-08-22 Alexandre Oliva <aoliva@redhat.com>
671
672 * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
673
44ddc79a
HPN
6742002-08-22 Hans-Peter Nilsson <hp@bitrange.com>
675
676 * gengtype-lex.l (ID): Allow underscore as first character.
677
b275d088
DE
6782002-08-21 David Edelsohn <edelsohn@gnu.org>
679
680 * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
681 function.
682 (rs6000_xcoff_asm_named_section): Rename.
683 * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
684
57ce46bb
TT
6852002-08-21 Tom Tromey <tromey@redhat.com>
686
687 For PR java/6005 and PR java/7611:
688 * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
689 (fold): Likewise.
690 * langhooks.c (lhd_can_use_bit_fields_p): New function.
691 * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
692 (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
693 (LANG_HOOKS_INITIALIZER): Use it.
694 * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
695 field.
696
27d30956
SS
6972002-08-21 Stan Shebs <shebs@apple.com>
698
699 * tree.c (finish_vector_type): Fix a typo in a comment.
700 * Makefile.in: Fix "the the" stutters in comments.
701 * genautomata.c: Ditto.
702 * ifcvt.c: Ditto.
703 * regrename.c: Ditto.
704 * config/alpha/alpha.c: Ditto.
705 * config/alpha/vms-crt0-64.c: Ditto.
706 * config/alpha/vms-crt0.c: Ditto.
707 * config/alpha/vms-psxcrt0-64.c: Ditto.
708 * config/alpha/vms-psxcrt0.c: Ditto.
709 * config/d30v/d30v.h: Ditto.
710 * config/fr30/fr30.h: Ditto.
711 * config/rs6000/rs6000.c: Ditto.
712 * config/stormy16/stormy16.h: Ditto.
713 * doc/md.texi: Ditto.
8537ed68 714
d873d827
JDA
7152002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
716
717 * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
718
b462d4ab
JM
7192002-08-21 Joseph S. Myers <jsm@polyomino.org.uk>
720
721 * c-decl.c (grokdeclarator): Make invalid combinations with long,
722 short, signed or unsigned into hard errors. Fixes PR c/4319.
723 Also make duplicate modifiers such as "short short" into hard
724 errors.
725
b65d23aa 7262002-08-21 Andrew Pinski <pinskia@physics.uc.edu>
8537ed68 727 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
b65d23aa
AP
728
729 * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
730 to the actual end. Add '@end table' and '@table @code'.
8537ed68 731
3823f0b2
GK
7322002-08-20 Geoffrey Keating <geoffk@redhat.com>
733
8d25d915
GK
734 * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
735
3823f0b2
GK
736 * unroll.c (biv_total_increment): Don't try to compute the total
737 increment for FP BIVs.
738
5eb99654
KG
7392002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
740
741 * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
742 * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
743 ASM_OUTPUT_ALIGNED_BSS): Use target hook.
744 * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
745 * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
746 * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
747 (GLOBAL_ASM_OP): Define.
748 * arm.c (aof_globalize_label): New function.
749 (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
750 * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
751 * c4x.c (c4x_globalize_label): New function.
752 (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
753 * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
754 (GLOBAL_ASM_OP): Define.
755 * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
756 * darwin-protos.h (darwin_globalize_label): Declare.
757 * darwin.c (darwin_globalize_label): New function.
758 * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
759 (ASM_GLOBALIZE_LABEL): Delete.
760 (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
761 * dsp16xx.c (asm_output_common): Use target hook.
762 * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
763 * frv.h (ASM_GLOBALIZE_LABEL): Delete.
764 (GLOBAL_ASM_OP): Define.
765 * i370.c (i370_globalize_label): New function.
766 (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
767 * i370.h (ASM_GLOBALIZE_LABEL): Delete.
768 * i386.c (ix86_asm_file_end): Use target hook.
769 * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
770 (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
771 * ia64.c (ia64_asm_output_external): Likewise.
772 * ia64/sysv4.h: Update comment.
773 * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
774 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
775 * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
776 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
777 * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
778 * mmix-protos.h (mmix_asm_globalize_label): Delete.
779 * mmix.c (mmix_asm_globalize_label): Likewise.
780 * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
781 (GLOBAL_ASM_OP): Define.
782 * ns32k.c (ns32k_globalize_label): New function.
783 * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
784 (ASM_GLOBALIZE_LABEL): Delete.
785 * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
786 (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
787 * pa.c (pa_globalize_label): New function.
788 * pa.h (ASM_GLOBALIZE_LABEL): Delete.
789 (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
790 * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
791 (GLOBAL_ASM_OP): Define.
792 (TARGET_ASM_GLOBALIZE_LABEL): Undef.
793 * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
794 * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
795 (GLOBAL_ASM_OP): Define.
796 * v850.c (v850_output_aligned_bss): Use target hook.
797 * vax.c (vms_globalize_label): New function.
798 (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
799 * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
800 (GLOBAL_ASM_OP): Define.
801 * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
802 * doc/tm.texi: Update docs.
803 * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
804 target hook.
805 * final.c (output_alternate_entry_point): Likewise.
806 * hooks.c (hook_FILEptr_constcharptr_void): New function.
807 * hooks.h (hook_FILEptr_constcharptr_void): Declare.
808 * output.h (assemble_global): Delete.
809 (default_globalize_label): Declare.
810 * system.h (ASM_GLOBALIZE_LABEL): Poison.
811 * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
812 (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
813 * target.h (gcc_target): Add globalize_label member.
814 * varasm.c (asm_output_bss, asm_output_aligned_bss,
815 globalize_decl): Use target hook.
816 (assemble_global): Delete.
817 (default_globalize_label): New function.
818
f8f28a75
KG
8192002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
820
821 * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
822
92b5aacd
DP
8232002-08-20 Devang Patel <dpatel@apple.com>
824 * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
8537ed68 825
761c70aa
KG
8262002-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
827
828 * arc.c (output_shift): Use stdio instead of asm_fprintf.
829 * arm.c (thumb_output_function_prologue): Likewise.
830 * avr.c (print_operand): Likewise.
831 * c4x.c (c4x_print_operand): Likewise.
832 * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
833 ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
834 * cris.c (cris_target_asm_function_prologue,
835 cris_asm_output_mi_thunk): Likewise.
836 * h8300.c (print_operand): Likewise.
837 * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
838 * ip2k.c (print_operand): Likewise. Fix format specifier.
839 * m68hc11.c (asm_print_register, print_operand,
840 print_operand_address): Use stdio instead of asm_fprintf.
841 (print_operand_address): Fix format specifier.
842 * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
843 ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
844 asm_fprintf.
845 * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
846 * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
847 * m68k.c (m68k_output_function_prologue,
848 m68k_output_function_epilogue, print_operand): Likewise.
849 * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
850 Likewise. Fix format specifier.
851 * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
852 * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
853 * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
854
5ce6f47b
EC
8552002-08-15 Eric Christopher <echristo@redhat.com>
856 Jeff Knaggs <jknaggs@redhat.com>
857
858 * config.gcc (mipsisa64sr71k-elf): New target.
859 * config/mips/sr71k.md: New file.
860 * config/mips/mips.md: Use it.
861 (rot*): Add sr71k specifics.
862 * config/mips/t-sr71k: New file.
863 * config/mips/mips.h (sr71k): New cpu.
864 (TARGET_SR71K): Use it.
865 (TUNE_SR71K): Ditto.
866 (GENERATE_BRANCHLIKELY): Ditto.
867 (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
868 ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
869 * config/mips/mips.c (sr71k): New cpu.
870 (mips_use_dfa_pipeline_interface): Use.
871
8722002-08-15 Eric Christopher <echristo@redhat.com>
8537ed68 873 Richard Sandiford <rsandifo@redhat.com>
5ce6f47b
EC
874 Aldy Hernandez <aldyh@redhat.com>
875 Graham Stott <grahams@redhat.com>
876 Michael Meissner <meissner@redhat.com>
877 Gavin Romig-Koch <gavin@redhat.com>
878 Ken Raeburn <raeburn@cygnus.com>
879 Alexandre Oliva <aoliva@redhat.com>
880
881 * config.gcc (mips64vr-elf): New target.
882 * config/mips/5400.md: New file.
883 * config/mips/5500.md: Ditto.
884 * config/mips/mips.md: Use them.
885 (frsqrt): New.
886 * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
887 cpus.
888 (mips_issue_rate): Use them.
889 (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
890 (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
891 * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
892 cpus.
893 (TARGET_MIPSx): Use them.
894 (TUNE_MIPSx): Ditto.
895 (GETNATE_MULT3_SI): Ditto.
896 (ISA_HAS_BRANCHLIKELY): Ditto.
897 (ISA_HAS_CONDMOVE): Ditto.
898 (ISA_HAS_NMADD_NMSUB): Ditto.
899 (ISA_HAS_MULHI): New. Ditto.
900 (ISA_HAS_MULS): Ditto.
901 (ISA_HAS_MSAC): Ditto.
902 (ISA_HAS_MACC): Ditto.
903 (ISA_HAS_ROTR_SI): Ditto.
904 (ISA_HAS_ROTR_DI): Ditto.
905 (RTX_COSTS): Use.
906
48209ce5
JDA
9072002-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
908
909 * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
910 at head.
911 (remove_dup_nonsys_dirs): New function.
912 (remove_dup_dirs): Change argument head to head_ptr. Remove warnings.
913 (merge_include_chains): Remove non-system include directories from
914 quote and bracket include chains when they duplicate equivalent system
915 directories.
916 * doc/cpp.texi (-I): Update.
8537ed68
ZW
917 * doc/cppopts.texi (-I): Update.
918 * doc/install.texi (--with-local-prefix): Further document usage of
48209ce5
JDA
919 this option.
920 * doc/invoke.texi (-I): Update.
921
4ca79136
RH
9222002-08-20 Richard Henderson <rth@redhat.com>
923
924 * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
925 (emit_block_move): Split out subroutines.
926 (emit_block_move_via_movstr): New.
927 (emit_block_move_via_libcall): New. Emit bcopy via normal call also.
928 (emit_block_move_libcall_fn): New. Construct function prototype for
929 bcopy as well.
930 (clear_storage): Split out subroutines.
931 (clear_storage_via_clrstr): New.
932 (clear_storage_via_libcall): New. Emit bzero as a normal call also.
933 (clear_storage_libcall_fn): New. Construct function prototype for
934 bzero as well.
935 (emit_push_insn): Use emit_block_move.
936 (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
937 (store_constructor): Likewise.
938
9f05cef3
ZL
9392002-08-19 Ziemowit Laski <zlaski@apple.com>
940
941 * objc/objc-act.c (building_objc_message_expr): Rename to
942 current_objc_message_selector.
943
1bd5981b
ZL
9442002-08-19 Ziemowit Laski <zlaski@apple.com>
945
946 * objc/objc-act.c (build_ivar_chain): Remove.
947 (objc_copy_list): Likewise.
948 (get_class_ivars): Inline call to removed build_ivar_chain
949 function. Save off a clean copy of ivars in the CLASS_OWN_IVARS
950 slot; use that slot (rather than CLASS_IVARS) when accessing
951 ivars for base classes. Call copy_list and chainon instead of
952 objc_copy_list.
953 (build_private_template): Call get_class_ivars instead of
954 build_ivar_chain.
955 (start_class): Allocate room for the CLASS_OWN_IVARS slot.
5ce6f47b 956 (continue_class): Call get_class_ivars instead of
1bd5981b
ZL
957 build_ivar_chain.
958 (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
959 of DECL_BIT_FIELD (which may have been cleared).
960 * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
961
2bf087c0
KG
9622002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
963
964 * genautomata.c (output_translate_vect, output_state_ainsn_table,
965 output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
966 in output file.
967 (output_internal_min_issue_delay_func): Initialize variable in
968 output file.
969
3fcd079e
AO
9702002-08-19 Alexandre Oliva <aoliva@redhat.com>
971
972 * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
973 (stage2_build, stage3_build, stage4_build): Likewise, to CC.
974
71012d97
GK
9752002-08-19 Geoffrey Keating <geoffk@redhat.com>
976 Steve Ellcey <sje@cup.hp.com>
977
978 * machmode.h (SCALAR_INT_MODE_P): New macro to test for
979 scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
980 * explow.c (trunc_int_for_mode): Abort when the mode is not
981 a scaler integer mode.
982 * combine.c (expand_compound_operation): Don't expand Vector
983 or Complex modes into shifts.
984 (expand_field_assignment): Don't do bitwise arithmatic and
985 shifts on Vector or Complex modes.
986 (simplify_comparison): Don't call trunc_int_for_mode
987 for VOIDmode.
988 * recog.c (general_operand): Likewise.
989 (immediate_operand): Likewise.
990 (nonmemory_operand): Likewise.
991
af8cb5c5
DE
9922002-08-19 David Edelsohn <edelsohn@gnu.org>
993
994 * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
995 multi-instruction SImode constant. Add REG_EQUAL note.
996 * config/rs6000/rs6000.md (movsi splitter): Use
5ce6f47b 997 rs6000_emit_set_const.
af8cb5c5 998
9bc146b3
KG
9992002-08-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1000
1001 * tree-inline.c (initialize_inlined_parameters): Wrap variable in
1002 the macro test controlling its use.
1003
66df2ac2
L
10042002-08-18 H.J. Lu (hjl@gnu.org)
1005
1006 * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
1007 crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
1008 gnu_ld=yes.
1009 (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
1010 i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
1011 s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
1012 xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
1013 here.
1014 (cris-*-linux*): Remove setting thread_file here.
1015
463f1b2b
NB
10162002-08-18 Neil Booth <neil@daikokuya.co.uk>
1017
1018 PR preprocessor/7602
1019 * cppinit.c (path_include): Treat the system environment
1020 variables as being cxx_aware.
1021
2984fe64
JM
10222002-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
1023
1024 * c-decl.c (flexible_array_type_p): New function.
1025 (grokdeclarator, finish_struct): Use it.
1026 * doc/extend.texi: Document constraints on use of structures with
1027 flexible array members.
1028
fded6d78
RS
10292002-08-17 Richard Sandiford <rsandifo@redhat.com>
1030
1031 * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
1032 config/mips/t-r3900 (MULTILIB_MATCHES): Define.
1033 * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
1034
8aa5074e
SS
10352002-08-16 Stan Shebs <shebs@apple.com>
1036
1037 * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
1038 for ObjC with -fnext-runtime.
1039 * doc/cpp.texi: Document it.
1040
f97a5bda
JJ
10412002-08-16 Janis Johnson <janis187@us.ibm.com>
1042
1043 * doc/install.texi (Final installation): Replace links to individual
1044 build status pages with a link to a common page that lists them all.
1045
d3075b6c
SP
10462002-08-16 Sylvain Pion <pion@cs.nyu.edu>
1047
1048 * doc/invoke.texi: Fix typo.
1049
fdf68669
DE
10502002-08-16 David Edelsohn <edelsohn@gnu.org>
1051
1052 * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
1053
10542002-08-16 Andrew Haley <aph@redhat.com>
d436bff8
AH
1055
1056 * tree-inline.c: Add includes for Java inliner.
1057 (remap_decl): Don't handle anonymous types for Java.
1058 (remap_block): Add handling for Java trees.
1059 (copy_scope_stmt): Conditionalize for non-Java use only.
1060 (copy_body_r): Handle Java trees. Add handling for
1061 LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
1062 (initialize_inlined_parameters): Handle Java trees.
1063 (declare_return_variable): Likewise.
1064 (expand_call_inline): Handle Java trees.
1065 (walk_tree): Likewise.
1066 (copy_tree_r): Don't handle SCOPE_STMTs for Java.
1067 (add_stmt_to_compound): New function.
1068
204250d2
RH
10692002-08-15 Richard Henderson <rth@redhat.com>
1070
1071 * Makefile.in (LOOSE_WARN): Remove -fno-common.
1072 (NOCOMMON_FLAG): New substitution point.
1073 (GCC_WARN_CFLAGS): Include it.
1074 * configure.in (ac_checking): Set nocommon_flag.
1075 (nocommon_flag): New substitution point.
1076
25587e40
AO
10772002-08-15 Alexandre Oliva <aoliva@redhat.com>
1078
1079 * c-tree.h (skip_evaluation): Move declaration...
1080 * c-common.h: ... here.
1081 * c-typeck.c (build_external_ref): Don't assemble_external nor
1082 mark a tree as used if skip_evaluation is set.
1083 * c-parse.in (typeof): New non-terminal to set skip_evaluation
1084 around TYPEOF.
1085 (typespec_nonreserved_nonattr): Use it.
1086
702ada3d
DR
10872002-08-15 Douglas B Rupp <rupp@gnat.com>
1088
1089 * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
1090 (xcoff_debug_hooks): Update end_prologue.
1091 * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
1092 * debug.h (end_prologue): Add file arg.
1093 (end_epilogue): Add line and file args.
1094 (dwarf2out_end_epilogue): Add line and file args.
1095 (vmsdbgout_after_prologue): Remove.
1096 * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
1097 (dwarf2_debug_hooks): Update end_prologue.
1098 * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
1099 (dwarfout_end_prologue): Add file arg.
1100 * final.c (vmsdbgout_after_prologue): Remove
1101 (final_end_function): Update end_epilogue call.
1102 (final_scan_insn): Update end_prologue call.
1103 * sdbout.c (sdbout_end_epilogue): Add line and file args.
1104 (sdbout_end_prologue): Add file arg.
1105 (sdb_debug_hooks): Update end_prologue.
1106 (sdb_begin_prologue): Update sdbout_end_prologue call.
1107 * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
1108 vmsdbgout_end_function.
1109 (vmsdbgout_end_prologue): New function renamed from
1110 vmsdbgout_after_prologue. Call vmsdbgout_source_line.
1111 (vmsdbgout_end_function): New function.
1112 (vmsdbgout_end_epilogue): Add line and file args. Call
1113 vmsdbgout_source_line.
1114 (write_pclines): Write only valid line numbers.
1115 (write_srccorr): Don't write source correlation records if 0 lines.
1116 * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
1117
9ef30f83
SE
11182002-08-15 Steve Ellcey <sje@cup.hp.com>
1119
1120 * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
1121 (_Unwind_Internal_Ptr): 32 bit version for use in
1122 read_encoded_value_with_base.
1123 * gcc/unwind-pe.h (read_encoded_value_with_base): Use
1124 _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
1125 right size.
1126
f7043461
KG
11272002-08-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1128
1129 * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
1130 signed/unsigned warnings.
1131
1132 * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
1133 record_reg_classes): Likewise.
1134
1135 * reload.c (reload_inner_reg_of_subreg, push_reload,
1136 find_reloads_address_1): Likewise.
1137
b4d330e1
DE
11382002-08-15 David Edelsohn <edelsohn@gnu.org>
1139
1140 * rs6000.c (output_mi_thunk): Return to function section on
1141 TARGET_ELF.
1142
1143 * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
1144
61f02ff5
UW
11452002-08-15 Ulrich Weigand <uweigand@de.ibm.com>
1146
1147 * config/s390/s390.c (legitimize_address): Optimize loading
1148 of large displacements.
1149
1330f7d5
DR
11502002-08-14 Douglas B Rupp <rupp@gnat.com>
1151
1152 * config/alpha/alpha-protos.h: Update.
1153
1154 * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
1155 (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
1156 (alpha_linkage_symbol_p): New static function.
1157 (print_operand_address): Print linkage operand.
1158
1159 (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
1160 variables.
1161 (reloc_kind): New enum.
1162 (struct alpha_funcs): New struct.
1163 (struct alpha_links): Add reloc_kind field. Rename links_kind field.
1164
1165 (alpha_need_linkage): Rewrite.
1166 (alpha_use_linkage): New global function.
1167 (alpha_write_linkage): Rewrite and make static.
1168 (alpha_write_one_linkage): Rewrite
1169
1170 (alpha_start_function): Remove procedure descriptor output.
1171 (alpha_end_function): Write linkages at end of each function.
1172
1173 * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
1174 (call_vms_1, call_value_vms_1): Rewrite.
1175
1176 * config/alpha/vms.h (ASM_FILE_END): Remove.
1177
d1f1cc6a
RH
11782002-08-14 Richard Henderson <rth@redhat.com>
1179
1180 * ggc-page.c (RTL_SIZE): New.
1181 (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
1182 * rtl.def (BARRIER, NOTE): Pad to 9 slots.
1183
23626154
RH
11842002-08-14 Richard Henderson <rth@redhat.com>
1185
1186 * calls.c: Include target.h.
1187 * Makefile.in (calls.o): Update.
1188
1189 * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
1190 * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
1191
fd350d24
RH
11922002-08-14 Richard Henderson <rth@redhat.com>
1193
1194 * Makefile.in (LOOSE_WARN): Add -fno-common.
1195 * c-common.h (constant_string_class_name): Add missing extern.
1196
182d89a3
NB
11972002-08-15 Neil Booth <neil@daikokuya.co.uk>
1198
1199 PR preprocessor/7358
1200 * c-opts.c (check_deps_environment_vars): Ignore main file
1201 for SUNPRO_DEPENDENCIES.
1202 * cppfiles.c (stack_include_file): Ignore main file if
1203 appropriate.
1204 * cpplib.h (struct cpp_options): New member in deps.
1205 * doc/cppenv.texi: Update.
1206
8bfb1467
NB
12072002-08-14 Neil Booth <neil@daikokuya.co.uk>
1208
1209 PR preprocessor/7526
1210 * cpplib.c (run_directive): Kludge so _Pragma dependency works.
1211
41685063
NS
12122002-08-14 Nathan Sidwell <nathan@codesourcery.com>
1213
1214 * doc/invoke.texi (-a): Remove documentation.
1215 (-fprofile-arcs): Remove reference to -a, -ax options.
1216 * doc/gcov.texi (Gcov Data Files): Data might be merged.
1217
77893a23
GDR
12182002-08-14 Gabriel Dos Reis <gdr@nerim.net>
1219
1220 Fix PR/7566
1221 * c-semantics.c (genrtl_case_label): Don't (mis)use
5ce6f47b 1222 warning_with_decl.
77893a23 1223
260f91c2
DJ
12242002-08-14 Dale Johannesen <dalej@apple.com>
1225
8537ed68 1226 * explow.c (emit_stack_restore): Emit memory clobbers
260f91c2
DJ
1227 preceding the stack pop, to prevent the scheduler from
1228 moving refs to variable arrays below this pop.
1229 * reload1.c (reload): Preserve these clobbers for sched2.
1230 * doc/rtl.texi: Document clobber (mem:BLK (scratch)).
1231
cd79e210
NB
12322002-08-14 Neil Booth <neil@daikokuya.co.uk>
1233
1234 * c-opts.c (c_common_post_options): Correct test.
1235
3eb75a73
KG
12362002-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1237
1238 * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
1239 order in call to fprintf.
1240
be3a0ce2
RO
12412002-08-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1242
1243 * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
1244
ccfc6cc8
UW
12452002-08-14 Ulrich Weigand <uweigand@de.ibm.com>
1246
5ce6f47b 1247 * reload.c (find_reloads): Handle constraint letters marked by
ccfc6cc8
UW
1248 EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
1249 (alternative_allows_memconst): Likewise.
1250 * reload1.c (maybe_fix_stack_asms): Likewise.
5ce6f47b 1251 * recog.c (asm_operand_ok, preprocess_constraints,
ccfc6cc8
UW
1252 constrain_operands): Likewise.
1253 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
1254 * local-alloc.c (block_alloc, requires_inout): Likewise.
1255 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
1256
1257 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
1258 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
1259 * doc/tm.texi: Document these two new target macros.
1260
1261 * config/s390/s390.c (s390_expand_plus_operand): Accept already
1262 valid operands.
1263 (q_constraint): New function.
1264 config/s390/s390-protos.h (q_constraint): Declare it.
1265 config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
1266 (EXTRA_MEMORY_CONSTRAINT): New macro.
1267
1268 * config/s390/s390.md: Throughout the machine description,
1269 replace all instances of the constraint combinations 'Qo'
1270 or 'oQ' with simply 'Q'.
1271
d6ee9f6f
SC
12722002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1273
1274 * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
1275 * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
1276 (LIBGCC2_CFLAGS): Compile with -mrelax.
1277
8a0b86f5
SC
12782002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1279
1280 * doc/invoke.texi: Document -minmax for 68HC12.
1281
1282 * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
1283 ("uminqi3"): Likewise.
1284 ("uminhi3", "umaxhi3"): Likewise.
1285
1286 * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
1287 (TARGET_MIN_MAX): Define.
1288 (TARGET_SWITCHES): New option -minmax/-mnominmax.
1289
d6381f4e
SC
12902002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1291
1292 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
1293 (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
1294
1295 * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
1296 (ret, declare, farsym): New gas macros.
1297 (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
1298 ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
1299 and declare the symbol far when compiled with -mlong-calls.
5ce6f47b 1300 (__far_trampoline): New for 68HC12 trampoline code to invoke a
d6381f4e
SC
1301 far handler using jsr/bsr.
1302
1303 * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
1304 (jsr): New macro to transform a 'jsr' into a 'call'.
1305
058edcdb
SC
13062002-08-14 Stephane Carrez <stcarrez@nerim.fr>
1307
1308 * doc/invoke.texi: Document -mlong-calls for 68HC12.
1309
1310 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
1311 -mlong-calls is specified.
5ce6f47b 1312 (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
058edcdb
SC
1313 assembler directives.
1314 (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
1315 (TARGET_SWITCHES): Add -mlong-calls options.
1316 (current_function_far): Declare.
1317
1318 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
1319 into account the page register saved on the stack.
1320 (m68hc11_override_options): Take into account -mlong-calls option.
1321 (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
1322
1323 * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
1324 if the function is going to be in 68HC12 banked memory (-mlong-calls).
1325 ("*return_16bit"): Likewise.
1326 ("*return_void"): Likewise.
1327 ("call", "call_value"): Use call for a far function call.
1328
c79043f3
NB
13292002-08-14 Neil Booth <neil@daikokuya.co.uk>
1330
1331 * toplev.c (parse_options_and_default_flags): Don't call
1332 post_options here.
1333 (general_init): Initialize GC, pools and tree hash here,
1334 instead of lang_independent_init.
1335 (lang_independent_init): Rename backend_init.
1336 (do_compile): Call post_options hook; exit early if there
1337 have been errors after switch processing.
1338 (toplev_main): Update.
1339
6bf346d4
GDR
13402002-08-14 Gabriel Dos Reis <gdr@nerim.net>
1341
1342 * c-pretty-print.h: Guard against multiple inclusion.
1343 Robustify macros.
1344 (pp_c_attributes): Declare.
1345 * c-pretty-print.c (pp_c_attributes): New function.
1346
cbf2f479
KG
13472002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1348
1349 * m68k.c (m68k_output_function_prologue,
1350 m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
1351 and NEWS/MOTOROLA.
1352 * genattrtab.c: Remove dpx2 comment.
1353 * libgcc2.c (__enable_execute_stack): Delete versions for
1354 NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
1355 sony_news/SYSTYPE_BSD.
1356 * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
1357 __gmicro__, __i860__, __NeXT__ and __pyr__.
1358 * rtl.h: Remove convex comment.
1359 * varasm.c: Likewise.
1360
d3969c34
KG
13612002-08-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1362
1363 * c-opts.c (lang_flags): Const-ify.
1364 * ra-build.c (undef_table): Likewise.
1365 * ra.c (eliminables): Likewise.
1366
df89f8e7
GDR
13672002-08-14 Gabriel Dos Reis <gdr@nerim.net>
1368
1369 * tree.h: Guard against multiple inclusion.
1370
cf87d551
HPN
13712002-08-14 Hans-Peter Nilsson <hp@bitrange.com>
1372
1373 * reload1.c (reload_cse_simplify): Before checking
1374 REG_FUNCTION_VALUE_P, check REG_P.
1375
a43c8986
GK
13762002-08-13 Geoffrey Keating <geoffk@redhat.com>
1377
1378 * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
1379
29337351
NB
13802002-08-13 Neil Booth <neil@daikokuya.co.uk>
1381
1382 * c-opts.c (c_common_init_options): Extra braces needed.
1383
8202c8c4
R
1384Tue Aug 13 17:40:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
1385
1386 * sh.c (sh_init_builtins): Add PARAMS to declaration.
1387 (sh_media_init_builtins, sh_expand_builtin): Likewise.
1388 (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
1389 (sh_expand_binop_v2sf): Likewise.
1390 * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
1391 (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
1392 (sh_initialize_trampoline): Likewise.
1393
07893d4f
UW
13942002-08-13 Ulrich Weigand <uweigand@de.ibm.com>
1395
1396 * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
1397 new condition code modes.
1398 s390.c (s390_match_ccmode_set): Handle those new CC modes.
1399 (s390_select_ccmode): Likewise.
1400 (s390_branch_condition_mask): Likewise.
1401
1402 * s390-protos.h (s390_tm_ccmode): Declare.
1403 s390.c (s390_tm_ccmode): New function.
1404 (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
1405
1406 * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
1407 ("*cmpsi_tm2"): Rename to "*tmsi_ext".
1408 ("*cmpqi_tm2"): Rename to "*tmqi_ext".
1409
1410 ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
1411 "*cmphi_tm_sub","*cmphi_cct_0", "*cmpqi_tm", "*cmpqi_tm_sub",
1412 "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
1413 ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
1414 "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
1415
1416 ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
5ce6f47b 1417 "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
07893d4f
UW
1418 "*cmpqi_ccs_0"): Remove, replace by ...
1419 ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
5ce6f47b 1420 "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
07893d4f
UW
1421 "*tstqi", "*tstqi_cconly"): ... these new patterns.
1422
1423 ("*cmpsidi_ccs"): Remove, replace by ...
1424 ("*cmpsi_ccs_sign"): ... this new pattern.
1425 ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
1426
1427 ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
1428 ("*cli"): ... this new pattern.
1429
1430 ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
1431 "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
1432 New patterns.
1433 ("adddi3_64"): Rename to "*adddi3_64".
1434 ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
1435 ("adddi3"): Adapt expander.
1436
1437 ("*addsi3_cc"): Allow "general_operand" for operand 2.
5ce6f47b 1438 ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
07893d4f
UW
1439 "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
1440
1441 ("addhi3", "addqi3"): Remove, replace by ...
1442 ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
1443
1444 ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
1445 "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
1446 ("subdi3"): Replace by insn and splitter "*subdi3_31".
1447 ("subdi3"): New expander.
1448
1449 ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
1450
1451 ("subhi3", "subqi3"): Remove, replace by ...
1452 ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
1453
1454 ("*muldi3_sign"): New pattern.
1455 ("muldi3"): Do not clobber CC.
1456 ("mulsi3"): Likewise.
1457 ("mulsi_6432"): Likewise.
1458
db62867b
DC
14592002-08-13 Denis Chertykov <denisc@overta.ru>
1460
1461 * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
8537ed68 1462 which can change CC0.
db62867b 1463
8ba46434
R
1464Tue Aug 13 14:49:20 2002 J"orn Rennecke <joern.rennecke@superh.com>
1465
1466 * gcse.c (adjust_libcall_notes): New function.
1467 (do_local_cprop): Use it. Add fourth parameter. Changed caller.
1468
8733892f
NS
14692002-08-13 Nathan Sidwell <nathan@codesourcery.com>
1470
1471 * libgcc2.c (L_bb): Remove unneeded #includes.
1472 (__global_counters, __gthreads_active): Remove unused globals.
1473 (__bb_exit_func): Merge counts into files rather than appending.
1474 * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
1475 (ALL_CFLAGS): ... to here.
1476
f4769721
DC
14772002-08-13 Denis Chertykov <denisc@overta.ru>
1478
1479 * config/ip2k/ip2k.c (commands_in_file): Variable removed.
1480 (function_epilogue): Don't calculate function size.
1481 (ip2k_set_compare): Don't use lookup_const_double.
1482 (asm_file_start): Initialization of commands_in_file removed.
1483 (asm_file_end): Output of commands_in_file removed.
5ce6f47b 1484
f4769721
DC
1485 * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
1486 __INT_MAX__.
1487
c31cddfd
NB
14882002-08-13 Neil Booth <neil@daikokuya.co.uk>
1489
1490 * c-opts.c (c_common_init_options): Check option array is
1491 sorted if checking enabled.
1492
f076f0ce
GDR
14932002-08-13 Gabriel Dos Reis <gdr@nerim.net>
1494
1495 * c-pretty-print.c: #include "c-tree.h".
1496 (pp_c_simple_type_specifier): Tweak.
1497 (pp_c_storage_class_specifier): New.
1498 (pp_c_function_specifier): Likewise.
1499 (pp_c_declaration_specifiers): Likewise.
1500 (pp_c_init_declarator): Likewise.
1501 (pp_c_declaration): Likewise.
1502 (pp_c_direct_declarator): Stub.
1503 (pp_c_declarator): Likewise.
1504 (pp_c_parameter_declaration): Likewise.
1505
f4ff5a69
NB
15062002-08-13 Neil Booth <neil@daikokuya.co.uk>
1507
1508 * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
1509 handle_deferred_opts, sanitize_cpp_opts, defer_opt,
1510 struct deferred_opt): New.
1511 (COMMAND_LINE_OPTIONS): Add -M*.
1512 (missing_arg): Update.
1513 (c_common_decode_option): Handle -M*.
1514 (c_common_post_options): Handle -M*. Use sanitize_cpp_opts;
1515 don't call cpp_post_options.
1516 (c_common_finish, check_deps_environment_vars): Update.
1517 * cppfiles.c (stack_include_file, handle_missing_header): Update.
1518 * cpphash.h (CPP_PRINT_DEPS): Remove.
1519 * cppinit.c: Don't include version.h.
1520 (cpp_create_reader): Don't call deps_init. Initialize
1521 warn_long_long.
1522 (cpp_read_main_file): Init deps if necessary.
1523 (cpp_destroy): Conditionally free deps.
1524 (cpp_finish): Update.
1525 (no_tgt): Remove.
1526 (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
1527 (cpp_post_options): Rename post_options.
1528 * cpplib.h (struct cpp_options): Remove some dependency options;
1529 move others to a new structure.
1530 (cpp_post_options): Remove.
1531 (cpp_finish): Comment.
1532 * fix-header.c (read_scan_file): Don't call cpp_post_options.
1533
34116c2a
HPN
15342002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
1535
1536 * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
1537 ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
1538 MMIX_rR_REGNUM as clobbered.
1539 * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
1540
9b32718c
GDR
15412002-08-12 Gabriel Dos Reis <gdr@nerim.net>
1542
1543 * diagnostic.h (output_formatted_scalar): Rename from
5ce6f47b 1544 output_formatted_integer.
9b32718c
GDR
1545 * diagnostic.def: Add DK_DEBUG.
1546 * diagnostic.c (output_decimal): Adjust.
1547 (output_long_decimal): Likewise.
1548 (output_unsigned_decimal): Likewise.
1549 (output_octal): Likewise.
1550 (output_long_octal): Likewise.
1551 (output_hexadecimal): Likewise.
1552 (output_long_hexadecimal): Likewise.
1553 * c-pretty-print.c (pp_c_type_specifier): New function.
1554 (pp_c_specifier_qualifier_list): Likewise.
1555 (pp_c_abstract_declarator): Likewise.
1556 (pp_c_char): Replace pp_format_integer with pp_format_scalar.
1557
032613df
DE
15582002-08-12 David Edelsohn <edelsohn@gnu.org>
1559
1560 * doc/trouble.texi (Disappointments): Add static constructor and
1561 destructor dependency information for AIX.
1562
a3737481
NB
15632002-08-12 Neil Booth <neil@daikokuya.co.uk>
1564
1565 * cpphash.h (struct printer): New from cppmain.c.
1566 (cpp_reader): New member.
1567 * cppmain.c (struct printer): Move to cpphash.h.
1568 (options, print): Remove.
1569 (account_for_newlines, print_line, maybe_print_line,
1570 cpp_preprocess_file, setup_callbacks, scan_translation_unit,
1571 scan_translation_unit_trad, cb_line_change, cb_ident,
1572 cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
1573 cb_def_pragma): Make reentrant.
1574
d71f7700
KG
15752002-08-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1576
1577 * real.c (ieee_64): Always define.
1578 (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
1579 (dec_h): Not used yet, hide it.
1580 (emdnorm): Mark parameter in ATTRIBUTE_UNUSED. Guard label with
1581 macro controlling use.
1582 (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
1583
c16576e6
JH
1584Mon Aug 12 12:48:20 CEST 2002 Jan Hubicka <jh@suse.cz>
1585
1586 * i386.md (tablejump): Sign extend the operand.
1587 * i386.c (classify_argument): Fix missed case from previous patch.
1588
460bd0e3
NB
15892002-08-12 Neil Booth <neil@daikokuya.co.uk>
1590
1591 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
1592 to c-copts.c.
1593 (warn_multichar): Die.
1594 (cb_register_builtins): Export.
1595 * c-common.h (warn_multichar, preprocess_file): Remove.
1596 (cb_register_builtins): New.
1597 * c-lang.c (c_init): Remove.
1598 (LANG_HOOKS_INIT): Use c_objc_common_init.
1599 * c-lex.c (init_c_lex): Don't canonicalize filename.
1600 * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
1601 (preprocess_file): Make static. Update for cpplib.
1602 (c_common_decode_option): Remove warn_multichar. Use in_fname.
1603 (c_common_post_options): Set some cpp options here.
1604 (c_common_init): Move from c-common.c.
1605 * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
1606 * cpplib.h (struct cpp_options): Remove in_fname.
1607 (cpp_preprocess_file): Update.
1608 * cppmain.c (cpp_preprocess_file): Update for new prototypes.
1609
f3f268dd
KG
16102002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1611
1612 * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
1613
f0201fba
KG
16142002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1615
1616 * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
1617 backslash in comment preceeding macro definition.
1618 * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
1619 * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
1620 * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
1621
e56fc090
HPN
16222002-08-12 Hans-Peter Nilsson <hp@bitrange.com>
1623
1624 * expr.c (store_expr): In condition for checking if value is
1625 generated in TARGET, move call to expr_size last.
1626
76c3e73e
NB
16272002-08-11 Neil Booth <neil@daikokuya.co.uk>
1628
1629 * c-common.c (c_common_init): Call preprocess_file instead.
1630 (c_common_finish): Move to c-opts.c.
1631 * c-common.h (preprocess_file): new.
1632 * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
1633 check_deps_environment_vars, c_common_finish): New.
1634 (c_common_decode_option): Update for out_fname and dependencies.
1635 * cppinit.c (init_dependency_output, output_deps): Remove.
1636 (cpp_destroy): Update prototype.
1637 (cpp_add_dependency_target): New.
1638 (cpp_read_main_file): Don't overlay a buffer.
1639 (cpp_finish): Take a deps output stream and write deps to it.
1640 Return the error count.
1641 (cpp_post_options): Don't canonicalize out_fname, or do anything
1642 with dependencies.
1643 * cpplib.h (struct cpp_options): Remove out_fname and
1644 preprocess_only.
1645 (cpp_add_dependency_target): New.
1646 (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
1647 * cppmain.c (cpp_preprocess_file): Update prototype. Don't
1648 set preprocess_only. Don't handle the output stream directly.
1649
e0c32c62
KG
16502002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1651
1652 * dsp16xx.c (print_operand): Fix format specifier.
1653 * dsp16xx.md: Avoid automatic aggregate initialization.
1654 * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
1655 * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
1656 integer constant modifier.
1657 * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
1658 * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
1659 guards.
1660 * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
1661 * v850.c (v850_select_section): Mark parameter with
1662 ATTRIBUTE_UNUSED.
1663 * global.c (global_alloc): Const-ify.
1664 * ra-colorize.c (hardregset_to_string): Fix format specifier.
1665
7ae8cf75
KG
16662002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1667
1668 * darwin-c.c (darwin_pragma_options): Const-ify.
1669 * darwin.c (machopic_non_lazy_ptr_name,
1670 machopic_validate_stub_or_non_lazy_ptr): Likewise.
1671 (machopic_indirect_data_reference): Wrap variables in macros
1672 controlling their use.
1673 (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
1674 (machopic_select_section): Use parentheses around && within ||.
1675 * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
1676
8819cab5
KG
16772002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1678
1679 * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
1680 mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
1681 ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
1682 ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
1683 mdr_try_remove_redundant_insns, track_w_reload,
1684 mdr_try_wreg_elim): Make function static to match prototype.
1685 * mmix.c (mmix_target_asm_function_epilogue): Likewise. Mark
1686 parameter with ATTRIBUTE_UNUSED.
1687
ab2877a3
KG
16882002-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1689
1690 * arc.c (arc_init): Don't use ISO C style function definitions.
1691 * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
1692 arm_get_strip_length, arm_strip_name_encoding): Likewise.
1693 * avr.h (progmem_section): Likewise.
1694 * h8300.c h8300_asm_insn_count): Likewise.
1695 * m32r.c (init_idents): Likewise.
1696 * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
1697 * sh.c (sh_cfun_interrupt_handler_p): Likewise.
1698 * xtensa.c (xtensa_build_va_list): Likewise.
1699
08767a6f
NB
17002002-08-11 Neil Booth <neil@daikokuya.co.uk>
1701
1702 * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
1703 * c-opts.c (parse_option): Rename find_opt.
1704 (set_std_c99): New function.
1705 (COMMAND_LINE_OPTIONS): Handle -remap and -o. Remove OPT_std_bad.
1706 (missing_arg): Remove OPT_std_bad. Handle -o.
1707 (c_common_decode_option): Handle input and output file names,
1708 -o and -remap. Clean up -std= handling.
1709 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
1710 (cpp_handle_option): Similarly. Don't handle filenames.
1711
db01f480
JH
1712Sun Aug 11 14:43:17 CEST 2002 Jan Hubicka <jh@suse.cz>
1713
1714 * i386.c (classify_argument): Fix computing of field's offsets.
1715
a7701995
AJ
17162002-08-11 Andreas Jaeger <aj@suse.de>
1717
1718 PR target/7531:
1719 * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
1720
2516f236
ZL
17212002-08-10 Ziemowit Laski <zlaski@apple.com>
1722
1723 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
1724 reference to clk_objective_c with flag_objc.
1725 * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
1726 Likewise.
1727 * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
1728
f749a36b
NB
17292002-08-10 Neil Booth <neil@daikokuya.co.uk>
1730
1731 * c-opts.c (set_std_cxx98, set_std_c89): New.
1732 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
1733 (c_common_decode_option): Handle new switches from cppinit.c.
1734 Add -std=gnu++98.
1735 * cppinit.c (set_lang): Rename cpp_set_lang. Export.
1736 (no_arg, no_num): Remove.
1737 (COMMAND_LINE_OPTIONS): Move more to c-opts.c. Drop all lang-
1738 switches apart from -lang-objc and lang-asm.
1739 (cpp_handle_option): Similarly.
1740 * cpplib.h (cpp_set_lang): New.
1741 * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
1742 -std=gnu++98.
1743 * objc/lang-specs.h: Remove -ansi.
1744
77abb5d8
JH
1745Sat Aug 10 19:59:43 CEST 2002 Jan Hubicka <jh@suse.cz>
1746 Graham Stott
1747
1748 * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
1749 errors.
1750
fac37dc4
KG
17512002-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1752
d950dee3
KG
1753 * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
1754 emit_jump_insn): Fix uninitialized variable.
1755 * gcov.c (init_line_info): Likewise.
1756 * genautomata.c (transform_3): Add braces around ambiguous
1757 else.
1758 * ifcvt.c (cond_exec_process_insns): Mark parameter with
1759 ATTRIBUTE_UNUSED.
1760 * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
1761 * regrename.c (copyprop_hardreg_forward): Fix uninitialized
1762 variable.
1763
fac37dc4
KG
1764 * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
1765 warnings in output files.
1766
0f7866e7
ZL
17672002-08-09 Ziemowit Laski <zlaski@apple.com>
1768
1769 * c-common.c (flag_objc): New.
1770 * c-common.h (c_language_kind): Get rid of clk_objective_c
1771 enum value.
1772 (flag_objc): New extern declaration.
1773 * c-decl.c (implicitly_declare): Call objc_check_decl
1774 instead of maybe_objc_check_decl.
1775 (finish_decl): Likewise.
1776 (grokfield): Likewise.
1777 (finish_struct): Likewise.
1778 * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
1779 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 1780 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
1781 objc_message_selector.
1782 * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
1783 replace with flag_objc as needed.
1784 * c-opts.c (c_common_init_options): Likewise.
1785 (c_common_decode_option): Likewise.
1786 * c-parse.in (init_reswords): Likewise.
1787 * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
1788 (maybe_objc_comptypes): Rename to objc_comptypes.
a7701995 1789 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
1790 objc_message_selector.
1791 * c-typeck.c (comptypes): Call objc_comptypes instead of
1792 maybe_objc_comptypes, and/or objc_message_selector instead of
1793 maybe_building_objc_message_expr.
1794 (comp_target_types): Likewise.
1795 (convert_for_assignment): Likewise.
1796 (warn_for_assignment): Likewise.
1797 * cppinit.c (init_builtins): Set __OBJC__ manifest constant
1798 independently of those for other languages.
1799 * objc/objc-act.c (maybe_objc_comptypes): Delete.
1800 (maybe_objc_check_decl): Delete.
a7701995 1801 (maybe_building_objc_message_expr): Rename to
0f7866e7
ZL
1802 objc_message_selector.
1803 * objc/objc-lang.c (objc_init_options): Use clk_c instead of
1804 clk_objective_c; set flag_objc flag.
1805
c512fd7b
TM
18062002-08-09 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
1807
1808 * ifcvt.c (find_if_case_2): Test correct basic block for size.
1809
5e1bf043 18102002-08-09 Dale Johannesen <dalej@apple.com>
c512fd7b 1811
5e1bf043
DJ
1812 * config/rs6000/rs6000.md: Add sibcall patterns.
1813 * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL): Define.
1814 * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
1815 Rewritten to handle sibcalls.
1816 * config/rs6000/rs6000.c (function_ok_for_sibcall): New.
1817 * config/rs6000/rs6000-protos.h (function_ok_for_sibcall): New.
1818
2043c38e
NS
18192002-08-08 Nathan Sidwell <nathan@codesourcery.com>
1820
1821 * profile.c (da_file_name): New static var.
1822 (init_branch_prob): Initialize it.
1823 (end_branch_prob): Remove da file.
1824
1825 * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
41685063 1826 * configure.in (coverage_flags): Default to nothing.
2043c38e
NS
1827 * configure: Rebuilt.
1828
4b7091eb
NB
18292002-08-09 Neil Booth <neil@daikokuya.co.uk>
1830
1831 * Makefile.in (c-opts.o): Update
1832 * c-opts.c: Include intl.h.
1833 (print_help): Move from cppinit.c. Remove unused options.
1834 (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
1835 (missing_arg): Complain for switches without an argument.
1836 (c_common_decode_option): Reject missing joined arguments.
1837 Handle new switches from cppinit.c.
1838 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
1839 (cpp_handle_option): Similarly.
1840 (print_help): Moved to c-opts.c.
1841 * cpplib.h (struct cpp_options): Remove help_only.
1842 * gcc.c (cpp_unique_options): Remove -$.
1843 * doc/cppopts.texi: Undocument -h.
1844
9e20be0c
JJ
18452002-08-08 Jakub Jelinek <jakub@redhat.com>
1846
1847 * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
1848 legitimate constant.
1849 (legitimate_pic_operand_p): Neither pic operand.
1850 (legitimate_address_p): But legitimate address.
1851 (get_thread_pointer): Generate MEM/u instead of CONST around
1852 UNSPEC_TP.
1853 (print_operand): Remove printing of UNSPEC_TP.
1854 (print_operand_address): And print it here.
1855
7b9be5c7 18562002-08-08 Devang Patel <dpatel@apple.com>
9e20be0c 1857
a7701995
AJ
1858 * objc/objc-act.c (build_selector_translation_table): Issue warning,
1859 when -Wselector is used,if method for which selector is being
7b9be5c7 1860 created does not exist.
a7701995 1861
5615d8fd
SC
18622002-08-08 Stephen Clarke <stephen.clarke@superh.com>
1863
1864 * config/sh/sh.c (prepare_move_operands): Only call
1865 target_reg_operand if TARGET_SHMEDIA.
a7701995 1866
3b85fe5f
JJ
18672002-08-08 Jakub Jelinek <jakub@redhat.com>
1868
1869 * config/rs6000/rs6000.h, config/rs6000/aix.h,
1870 config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
1871 two patches.
1872 * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
1873
e10c79fe
LB
18742002-08-08 Lars Brinkhoff <lars@nocrew.org>
1875 Richard Henderson <rth@redhat.com>
1876
1877 * emit-rtl.c (gen_rtx_REG): After reload, only return
1878 frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
1879
aa2a83dc
JJ
18802002-08-08 Jakub Jelinek <jakub@redhat.com>
1881
1882 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
1883 * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
1884 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
1885 macro.
1886
aeaf4d25
AN
18872002-08-08 Adam Nemet <anemet@lnxw.com>
1888
1889 * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
1890 register.
1891 (thumb_expand_prologue): Likewise.
1892 (thumb_output_function_prologue): Likewise.
1893 * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
1894 the additional push of the PIC register.
1895
22aa533e
NS
18962002-08-08 Nathan Sidwell <nathan@codesourcery.com>
1897
1898 * configure.in (enable_coverage): New enable switch.
1899 * configure: Rebuilt.
1900 * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
1901 (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
1902 (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
1903 (mostlyclean): Remove coverage files.
1904 * doc/install.texi: Document enable_coverage.
1905
1906 * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
1907 * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
1908 * f/Make-lang.in (f.mostlyclean): Remove coverage files.
1909 * java/Make-lang.in (java.mostlyclean): Remove coverage files.
1910 * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
1911 * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
1912 files.
a7701995 1913
18bdccaa
NB
19142002-08-08 Neil Booth <neil@daikokuya.co.uk>
1915
1916 * c-opts.c (cpp_opts): New.
1917 (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
1918 (c_common_decode_options): Handle cpplib switches.
1919 (c_common_init_options): Set cpp_opts.
1920 * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
1921 (cpp_handle_option): Similarly.
1922
774b5662
DE
19232002-08-08 David Edelsohn <edelsohn@gnu.org>
1924
1925 * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
1926 (TARGET_ALTIVEC_ABI): Same.
1927 (TARGET_ALTIVEC_VRSAVE): Same.
1928
1929 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
1930 icode not CODE_FOR_nothing. Change switch to if.
1931
957e9e48
AM
19322002-08-08 Alan Modra <amodra@bigpond.net.au>
1933
1934 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
1935
daf06049
JJ
19362002-08-08 Jakub Jelinek <jakub@redhat.com>
1937
1938 * stor-layout.c (place_union_field): For bitfields if
1939 PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
1940 TYPE_USER_ALIGN.
1941
043d39a6
JDA
19422002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
1943
1944 * pa.c (struct deferred_plabel): Constify name field.
1945
34bb92e3
NB
19462002-08-07 Neil Booth <neil@daikokuya.co.uk>
1947
1948 * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
1949
3ec5d64d
JDA
19502002-08-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
1951
1952 * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
1953 local_prefix are the same.
1954 * configure: Rebuilt.
1955
ad9335eb
JJ
19562002-08-07 Jakub Jelinek <jakub@redhat.com>
1957 Richard Henderson <rth@redhat.com>
1958
1959 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
1960 to type_align when PCC_BITFIELD_TYPE_MATTERS. Only apply
1961 ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
1962 (place_field): Likewise.
1963 * config/i386/i386.c (x86_field_alignment): Don't check
1964 DECL_USER_ALIGN here.
1965 * config/rs6000/rs6000.c (rs6000_field_alignment): New.
1966 * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
1967 prototype.
1968 * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
1969 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
1970 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
1971 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
1972 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
1973 * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
1974
0b6f2917
NB
19752002-08-07 Neil Booth <neil@daikokuya.co.uk>
1976
1977 * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
1978 * c-common.c: Don't include tree-inline.h.
1979 (c_common_init_options, c_common_post_options): Move to c-opts.c.
1980 * c-common.h (c_common_decode_option): New.
1981 * c-decl.c (c_decode_option): Remove.
1982 * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
1983 * c-opts.c: New file.
1984 * c-tree.h (c_decode_option): Remove.
1985 * doc/passes.texi: Update.
1986 * objc/objc-act.c (objc_decode_option): Remove.
1987 * objc/objc-act.h (objc_decode_option): Remove.
1988 * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
1989 c_common_decode_option.
1990
e49ec17d
CD
19912002-08-07 Chris Demetriou <cgd@broadcom.com>
1992
1993 * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
1994 dependency on TARGET_DOUBLE_FLOAT.
1995
ac1ca451
SC
19962002-08-07 Stephen Clarke <stephen.clarke@superh.com>
1997
1998 * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
1999 overwrite callee-save registers. Fix comment.
2000
af34e51e
CD
20012002-08-06 Chris Demetriou <cgd@broadcom.com>
2002
2003 * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
2004 in target_flags based on ISA, if it was not set on the command
2005 line. Warn if MASK_BRANCHLIKLEY is set but the ISA does not
2006 support Branch Likely instructions.
2007 * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
2008 (TARGET_BRANCHLIKELY): Likewise.
2009 (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
2010 (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
2011 ISA_HAS_BRANCHLIKELY.
2012 (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
2013 * doc/invoke.texi: Document new MIPS -mbranch-likely and
2014 -mno-branch-likely options.
2015
2631af95
KG
20162002-08-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2017
f538618e
KG
2018 * ip2k.c (ip2k_set_compare): Add missing iteration variable.
2019
2631af95
KG
2020 * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
2021 $(GCONFIG_H).
2022
1ae0ccb6
AH
20232002-08-06 Aldy Hernandez <aldyh@redhat.com>
2024
8537ed68
ZW
2025 * c-decl.c (duplicate_decls): Error out for incompatible TLS
2026 declarations.
1ae0ccb6 2027
8537ed68 2028 * testsuite/gcc.dg/tls/diag-3.c: New.
1ae0ccb6 2029
f1a044c7
JM
20302002-08-06 Jason Merrill <jason@redhat.com>
2031
2032 * c-common.c (c_expand_expr) [STMT_EXPR]: If the last expression is
2033 a VAR_DECL with RTL that matches the target, just return that RTL.
2034
8d3e27d1
DJ
20352002-08-06 Dale Johannesen <dalej@apple.com>
2036 * c-common.c (fname_decl): Use line number 0 for
8537ed68 2037 __func__, to avoid confusing debuggers.
8d3e27d1 2038
8b219a76
NS
20392002-08-06 Nathan Sidwell <nathan@codesourcery.com>
2040
2041 * gcov.c: Tidy.
2042 (struct line_info, struct coverage): New structures.
2043 (gcov_file_name, gcov_file): Remove globals.
2044 (output_data): Take source file parameter. Fix memory leak. Break
2045 up into ...
2046 (init_line_info, output_line_info, make_gcov_file_name,
2047 accumulate_branch_counts): ... here.
2048 (calculate_branch_probs, function_summary): Adjust.
2049 (main): Adjust.
2050 (function_*): Remove global variables.
2051
317e98c0
NB
20522002-08-06 Neil Booth <neil@daikokuya.co.uk>
2053
2054 * dwarf2out.c: Remove unused macros.
2055
81d41e74
NB
20562002-08-06 Neil Booth <neil@daikokuya.co.uk>
2057
2058 * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
2059
58551c23
NB
20602002-08-06 Neil Booth <neil@daikokuya.co.uk>
2061
2062 * cppinit.c (struct lang_flags): Rename trigraphs std.
2063 (set_lang): Update.
2064 * cpplib.h (struct cpp_options): New member std.
2065 * cppmacro.c (_cpp_builtin_macro_text): Use std.
2066 (collect_args): Flag whether to swallow a possible future
2067 comma pasted with varargs.
2068 (replace_args): Use this flag.
2069 * doc/cpp.texi: Update varargs extension documentation.
2070
daeabcd0
JJ
20712002-08-06 Jakub Jelinek <jakub@redhat.com>
2072
2073 * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
2074
39e3a681
JJ
20752002-08-06 Jakub Jelinek <jakub@redhat.com>
2076
9812691e
JJ
2077 * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
2078 and MODE_CLASS_INT modes.
39e3a681 2079
609a87f3
JJ
20802002-08-06 Jakub Jelinek <jakub@redhat.com>
2081
2082 * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
2083 --{enable,disable}-threads is given to configure.
2084 (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
2085 x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
2086 powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
2087 s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
2088 Remove thread_file setting here.
2089
ff4c5e7b
DE
20902002-08-06 David Edelsohn <edelsohn@gnu.org>
2091
2092 * doc/install.texi (Binaries): Update Bull Freeware URL.
2093
54f3aa9e
GP
20942002-08-06 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2095
2096 * doc/gcc.texi (Top): Rename Index to Keyword Index.
2097
d19202ba
NS
20982002-08-05 Nathan Sidwell <nathan@codesourcery.com>
2099
2100 * gcov.c (output_data): Round to % to nearest, tweak formatting.
2101
1bed5ee3
JJ
21022002-08-05 Jakub Jelinek <jakub@redhat.com>
2103
2104 * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
2105 of the operands into MINUS_EXPR if code is PLUS_EXPR.
2106
84512347
DR
21072002-08-05 Douglas B Rupp <rupp@gnat.com>
2108
2109 * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
2110 * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
2111 drectve_section): Define.
2112 * config/i386/t-interix: Replace interix.o rule with winnt.o.
2113 * config/i386/interix.c: Remove.
2114
b835f6f1
GK
21152002-08-05 Geoffrey Keating <geoffk@redhat.com>
2116
2117 * attribs.c: Don't include obstack.h.
2118 * builtins.c: Likewise.
2119 * cfganal.c: Likewise.
2120 * cfgbuild.c: Likewise.
2121 * cfgcleanup.c: Likewise.
2122 * emit-rtl.c: Likewise.
2123 * loop.c: Likewise.
2124 * stmt.c: Likewise.
2125
2126 * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
2127
fd291392
GDR
21282002-08-05 Gabriel Dos Reis <gdr@nerim.net>
2129
2130 * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
2131
054b7507
CD
21322002-08-04 Chris Demetriou <cgd@broadcom.com>
2133
2134 * doc/invoke.texi: Remove duplicated paragraph describing
2135 TARGET_SWITCHES.
2136
6d9f628e
GK
21372002-08-04 Geoffrey Keating <geoffk@redhat.com>
2138
2139 * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
2140 * collect2.h (permanent_obstack): Delete declaration.
2141 * collect2.c (permanent_obstack): Delete definition.
2142 (main): Don't initialise permanent_obstack. Use xstrdup instead.
2143 * expr.c: Don't include obstack.h.
2144 (permanent_obstack): Delete declaration.
2145 * function.c: Don't include obstack.h.
2146 (permanent_obstack): Delete declaration.
2147 * integrate.c: Don't include obstack.h.
2148 (function_maybepermanent_obstack): Delete declaration.
2149 * print-tree.c (debug_tree): Use x*alloc not permalloc.
2150 * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
2151 * tlink.c (pfgets): Use xstrdup not permanent_obstack.
2152 * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
2153 * tree.h: Rename init_obstacks to init_ttree. Remove declarations
2154 of permalloc, expralloc, perm_calloc.
2155 * tree.c (permanent_obstack): Delete definition.
2156 (init_ttree): Rename from init_obstacks.
2157 (permalloc): Delete.
2158 (perm_calloc): Delete.
2159 (dump_tree_statistics): Don't print information about
2160 permanent_obstack.
2161 * varasm.c (assemble_start_function): Use xstrdup instead of
2162 permalloc/strcpy.
2163 (assemble_variable): Likewise.
2164 * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
2165 permalloc.
2166 (unicosmk_add_extern): Likewise.
2167 * config/c4x/c4x.c (c4x_external_ref): Likewise.
2168 (c4x_global_label): Likewise.
2169 * config/frv/frv.c (frv_encode_section_info): Likewise.
2170 * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
2171 (i386_pe_record_exported_symbol): Likewise.
2172 * config/mips/mips.c (mips_output_external): Likewise.
2173 (mips_output_external_libcall): Likewise.
2174 * config/pa/pa.c: (permanent_obstack): Delete declaration.
2175 (output_call): Use ggc_strdup instead of allocating on
2176 permanent_obstack.
2177 * config/romp/romp.c: Include ggc.h.
2178 (get_symref): Don't declare permanent_obstack, use ggc_strdup
2179 intead of permanent_obstack.
2180 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
2181 instead of permalloc.
2182 * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
2183 instead of permalloc
2184 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
2185 instead of permalloc.
2186 * config/vax/vax.c (vms_check_external): Use xmalloc instead of
2187 permalloc.
2188
36a05131
BS
21892002-08-04 Bernd Schmidt <bernds@redhat.com>
2190
2191 Contribute a port developed primarily by Michael Meissner,
2192 Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
2193 * config.gcc: Add frv-elf target.
2194 * config/frv/cmovd.c: New file.
2195 * config/frv/cmovh.c: New file.
2196 * config/frv/cmovw.c: New file.
2197 * config/frv/frv-abi.h: New file.
2198 * config/frv/frv-asm.h: New file.
2199 * config/frv/frv-modes.def: New file.
2200 * config/frv/frv-protos.h: New file.
2201 * config/frv/frv.c: New file.
2202 * config/frv/frv.h: New file.
2203 * config/frv/frv.md: New file.
2204 * config/frv/frvbegin.c: New file.
2205 * config/frv/frvend.c: New file.
2206 * config/frv/lib1funcs.asm: New file.
2207 * config/frv/media.h: New file.
2208 * config/frv/modi.c: New file.
2209 * config/frv/t-frv: New file.
2210 * config/frv/uitod.c: New file.
2211 * config/frv/uitof.c: New file.
2212 * config/frv/ulltod.c: New file.
2213 * config/frv/ulltof.c: New file.
2214 * config/frv/umodi.c: New file.
2215 * config/frv/xm-frv.h: New file.
86a0cbcb
BS
2216
2217 * config/frv/media.h: Removed again.
2218
37b8715b
NS
22192002-08-04 Nathan Sidwell <nathan@codesourcery.com>
2220
2221 * gcov.c (bb_file_time): New static variable.
2222 (object_directory): May also be object file.
2223 (preserve_paths): New static variable.
2224 (print_usage): Adjust.
2225 (options): Adjust.
2226 (process_args): Adjust.
2227 (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
2228 file. Find modification date on bb file.
2229 (read_profile): Don't rewind a NULL file.
2230 (format_hwint): New static function.
2231 (function_summary): Use format_hwint.
2232 (output_data): SOURCE_FILE_NAME is never relative to
2233 OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
2234 mangling. Adjust output format to make it more machine readable.
2235 * doc/gcov.texi: Document & clarify semantics.
a7701995 2236
d500c5d7
JM
22372002-08-04 Joseph S. Myers <jsm@polyomino.org.uk>
2238
2239 * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
2240
ea67fe71
NS
22412002-08-04 Nathan Sidwell <nathan@codesourcery.com>
2242
2243 * gcc.c (cc1_options): Pass output file as auxbase when
2244 appropriate.
2245 * profile.c (init_branch_prob): FILENAME has already had ending
2246 stripped.
2247 * final.c (end_final): Likewise.
2248 * toplev.c (aux_base_name): New global.
2249 (compile_file): Pass aux_base_name to init init_branch_prob and
2250 end_final.
2251 (independent_decode_option, case 'a'): New auxinfo options.
2252 (case 'd'): Protect against mising basename.
2253 (do_compile): Initialize aux_base_name.
2254 * toplev.h (aux_base_name): New global.
2255 * doc/invoke.texi: Adjust documentation.
2256
b23c054d
NS
22572002-08-04 Nathan Sidwell <nathan@codesourcery.com>
2258
2259 * config/i386/i386.c (x86_field_alignment): Remove duplicate test
2260 of TARGET_ALIGN_DOUBLE.
2261
04c1334c 22622002-08-04 Gabriel Dos Reis <gdr@nerim.net>
a7701995 2263
04c1334c
GDR
2264 * diagnostic.c (inform): New function.
2265 * diagnostic.h (inform): Declare.
a7701995 2266
e34eaae5
DE
22672002-08-03 David Edelsohn <edelsohn@gnu.org>
2268
2269 * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
2270 (movhi_internal): Same.
2271 (movqi_internal): Same.
2272 (movdi_internal64): Same.
2273
2274 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
2275
2276 * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
2277 (ASM_OUTPUT_SKIP): Use it. SIZE unsigned.
2278 (COMMON_ASM_OP): Define.
2279 (ASM_OUTPUT_ALIGNED_COMMON): Use it. SIZE unsigned.
2280 Use ALIGN parameter.
2281 (LOCAL_COMMON_ASM_OP): Define.
2282 (ASM_OUTPUT_LOCAL): Use it. SIZE unsigned.
2283
e7b489c8
RS
22842002-08-03 Roger Sayle <roger@eyesopen.com>
2285
2286 * builtins.def: Define new builtin functions exp, expf, expl,
2287 log, logf and logl (and their __builtin_* variants).
2288 * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
2289 Define exp_optab and log_optab.
2290 * optabs.c (init_optans): Initialize exp_optab and log_optab.
2291 * genopinit.c (optabs): Implement exp_optab and log_optab
2292 using exp?f2 and log?f2 patterns.
2293 * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
2294 and BUILT_IN_LOG* using exp_optab and log_optab respectively.
2295 (expand_builtin): Ignore the new builtins (and all cos and
2296 sin variants) when not optimizing. Expand new builtins via
2297 expand_builtin_mathfn when flag_unsafe_math_optimizations.
2298
2299 * doc/extend.texi: Document new exp and log builtins.
2300 * doc/md.texi: Document new exp?f2 and log?f2 patterns
2301 (and previously undocumented cos?f2 and sin?f2 patterns).
2302
de8920be
JM
23032002-08-03 Jason Merrill <jason@redhat.com>
2304
2305 * explow.c (int_expr_size): New fn.
2306 * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
2307 * expr.h: Declare it.
2308
ba462c8e
KW
23092002-08-02 Krister Walfridsson <cato@df.lth.se>
2310
2311 * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
2312 gengtype-* dependencies.
2313
2017ed61
EC
23142002-08-02 Eric Christopher <echristo@redhat.com>
2315
2316 * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
2317 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
2318 #ifndef to #undef.
2319 (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
2320
055dd007
DE
23212002-08-02 David Edelsohn <edelsohn@gnu.org>
2322
2323 PR optimize/7067
2324 * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
2325 small if optimizing for size.
2326
771a2a66
DJ
23272002-08-02 Daniel Jacobowitz <drow@mvista.com>
2328
2329 * configure.in (FORBUILD): Use $build_alias.
2330 * configure: Regenerated.
2331
ac8ab9fe
RS
23322002-08-02 Richard Sandiford <rsandifo@redhat.com>
2333
2334 * config.gcc: Don't include mips/abi64.h in $tm_file.
2335 * hard-reg-set.h (call_really_used_regs): Declare.
2336 * config/mips/abi64.h: Remove file.
2337 * config/mips/linux.h,
2338 * config/mips/iris6.h: Don't include it.
2339 * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
2340 * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
2341 (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
2342 FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
2343 FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
2344 Bring across definitions from abi64.h.
2345 (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
2346 (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
2347 (struct mips_args): Use it.
2348 * config/mips/mips.c (mips_conditional_register_usage): Define.
2349
a77a9a18
JM
23502002-08-02 Jason Merrill <jason@redhat.com>
2351
2352 * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
2353 * langhooks.c (lhd_expr_size): Define default.
2354 * langhooks.h (struct lang_hooks): Add expr_size.
2355 * explow.c (expr_size): Call it.
2356 * expr.c (store_expr): Don't copy an expression of size zero.
2357 (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
2358 to store.
2359 * Makefile.in (builtins.o): Depend on langhooks.h.
2360
a6be5aee
KG
23612002-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2362
2363 * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
2364 * ra-debug.c: Include "tm_p.h".
2365 * ra-rewrite.c (is_partly_live_1): Change return type to bool.
2366
e3e16ee3
TM
23672002-08-02 Toon Moene <toon@moene.indiv.nluug.nl>
2368
2369 * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
2370 when not honoring signalling NaNs.
2371 (simplify_ternary_operation): a == b has a definite value
2372 when not honoring NaNs.
2373
b9d8832d
JM
23742002-08-02 Jason Merrill <jason@redhat.com>
2375
2376 * gdbinit.in (pct): New macro.
2377
825abef4
SS
23782002-08-01 Stan Shebs <shebs@apple.com>
2379 Andreas Tobler <toa@pop.agri.ch>
2380
2381 * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
2382 plays nice with Darwin headers.
bf2e488f 2383 (_BSD_RUNE_T_DEFINED_): Likewise.
825abef4 2384
56da7207
ZW
23852002-08-01 Zack Weinberg <zack@codesourcery.com>
2386
2387 * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
2388 * cppinit.c (cpp_post_options): Likewise.
2389
2390 * cppexp.c (cpp_classify_number): Suppress -Wtraditional
2391 warning about 'LL' suffix (but not 'ULL' etc) when
2392 -Wno-long-long is in effect.
2393
2394 * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
2395 Check for failing time()/localtime(), issue a warning, and
2396 make __TIME__ and __DATE__ expand to fallback strings.
2397
2398 * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
2399 and __TIME__ when the date and time cannot be determined.
2400
f4857b9b
AM
24012002-08-02 Alan Modra <amodra@bigpond.net.au>
2402
2403 * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
2404
77ca7b2e
DJ
24052002-08-01 Daniel Jacobowitz <drow@mvista.com>
2406
2407 * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
2408
5b552f76
CD
24092002-08-01 Chris Demetriou <cgd@broadcom.com>
2410
2411 * config.gcc (mipsisa64sb1-*-elf*): New configuration.
2412 (mipsisa64sb1el-*-elf*): Likewise.
2413 * config/mips/mips.c (mips_cpu_info_table): Add sb1.
2414 * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
2415 (TARGET_SB1, TUNE_SB1): New macros.
2416 * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
2417 -mtune flags.
2418
54fbf6a1
DE
24192002-08-01 David Edelsohn <edelsohn@gnu.org>
2420
2421 * varasm.c (asm_emit_uninitialized): Return false if global BSS
2422 and ASM_EMIT_BSS not supported by target.
2423 (assemble_variable): Do not duplicate uninitialized logic.
2424 Fall through if asm_emit_uninitialized failed.
2425
3d16b407
CD
24262002-08-01 Chris Demetriou <cgd@broadcom.com>
2427
2428 * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
2429
fb52d8de
AM
24302002-08-02 Alan Modra <amodra@bigpond.net.au>
2431
80926cc1
AM
2432 * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
2433 (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
2434
fb52d8de
AM
2435 * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
2436 HOST_BITS_PER_WIDE_INT == 64.
2437
a4b5414c
KG
24382002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2439
2440 * df.c (df_insn_table_realloc): Change parameter to unsigned.
2441 * optabs.c (expand_binop): Make variable unsigned.
2442 * simplify-rtx.c (simplify_subreg): Likewise.
2443 * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
2444
a03e67c3
FS
24452002-08-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2446
2447 * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
2448
de273d3f
RH
24492002-08-01 Richard Henderson <rth@redhat.com>
2450
56da7207 2451 * toplev.c (parse_options_and_default_flags): Don't set
de273d3f
RH
2452 flag_reorder_blocks for -Os.
2453
2454 * config/avr/avr.c (avr_optimization_options): Remove.
2455 * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
2456 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
2457 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
2458
4e4d733e
L
24592002-08-01 H.J. Lu <hjl@gnu.org>
2460 Richard Henderson <rth@redhat.com>
2461
2462 * output.h (DECL_READONLY_SECTION): Remove.
2463 (decl_readonly_section): Declare.
2464 * varasm.c (decl_readonly_section): New.
2465 (default_section_type_flags, default_select_section): Use it.
2466 * config/arm/pe.c (arm_pe_unique_section): Likewise.
2467 * config/i386/interix.c (i386_pe_unique_section): Likewise.
2468 * config/i386/winnt.c (i386_pe_unique_section): Likewise.
2469 * config/mcore/mcore.c (mcore_unique_section): Likewise.
2470 * config/mips/mips.c (mips_unique_section): Likewise.
2471
32e9b960
RH
24722002-08-01 Richard Henderson <rth@redhat.com>
2473
2474 * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
2475 refers to a subroutine parameter.
2476
81e602b5
JJ
24772002-08-01 Jakub Jelinek <jakub@redhat.com>
2478
2479 * varasm.c (assemble_visibility): Strip name encoding.
2480
ac14c725
ID
24812002-08-01 Ian Dall <ian@sibyl.beware.dropbear.id.au>
2482
2483 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
2484 (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
2485 when there is no frame pointer.
2486 (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
2487 registers properly.
2488 * config/ns32k/__unorddf2.c: New file.
2489 * config/ns32k/__unordsf2.c: New file.
2490 * config/ns32k/t-ns32k: New file.
2491 * config.gcc (ns32k-*-netbsd*): Use it.
2492
17072732
AH
24932002-08-01 Aldy Hernandez <aldyh@redhat.com>
2494
2495 * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
2496
c288218a
NB
24972002-08-01 Neil Booth <neil@daikokuya.co.uk>
2498
2499 * c-common.c (__GXX_ABI_VERSION): Correct spelling.
2500
43bfc248
BK
25012002-08-01 Benjamin Kosnik <bkoz@redhat.com>
2502
2503 * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
2504
479f2cea
RS
25052002-08-01 Richard Sandiford <rsandifo@redhat.com>
2506
2507 * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
2508
02280659
ZD
25092002-08-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2510
2511 * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
2512 n_sets): Removed.
2513 (expr_hash_table, set_hash_table): Type changed to ...
2514 (struct hash_table): New type.
2515 (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
2516 insert_expr_in_table, insert_set_in_table, compute_hash_table,
2517 dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
2518 compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
2519 (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
2520 (alloc_hash_table): New.
2521 (free_set_hash_table, free_expr_hash_table): Merged to ...
2522 (free_hash_table): New.
2523 (compute_set_hash_table, compute_expr_hash_table): Merged to ...
2524 (compute_hash_table_work): New.
2525 (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
2526 find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
2527 pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
2528 one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
2529 hoist_code, one_code_hoisting_pass,
2530 trim_ld_motion_mems): Altered due to changed type of hash tables.
2531
905173eb
ZW
25322002-08-01 Zack Weinberg <zack@codesourcery.com>
2533
2534 * final.c (output_alternate_entry_point):
2535 If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
2536
83321d36
KG
25372002-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2538
ad0f1765
KG
2539 * objc/objc-act.c (encode_complete_bitfield): Add prototype and
2540 avoid ISO C style function definition.
2541
83321d36
KG
2542 * expr.c (expand_assignment): Delete unused variable.
2543
73e42cf3
TM
25442002-08-01 Toon Moene <toon@moene.indiv.nluug.nl>
2545
2546 * c-common.c (cb_register_builtins): Set
2547 __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
2548 is given, and to 0 otherwise.
2549 * combine.c (simplify_if_then_else): HONOR_NANS
2550 implies FLOAT_MODE_P.
2551
78df51fe
NB
25522002-08-01 Neil Booth <neil@daikokuya.co.uk>
2553
2554 * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
2555 (cpp_handle_option): Don't handle it.
2556 (print_help): Update.
2557 * doc/cppopts.texi: Update.
2558
abecfc8f
NB
25592002-08-01 Neil Booth <neil@daikokuya.co.uk>
2560
2561 * c-common.c (cb_register_builtins): If C++, define
2562 __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
2563 * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
2564cp:
2565 * lang-specs.h: Simplify in accordance with new code in
2566 c-common.c.
2567
4078b403
NB
25682002-08-01 Neil Booth <neil@daikokuya.co.uk>
2569
2570 * c-common.c: Define all C/ObjC/C++ warning and flag variables.
2571 * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
2572 * c-decl.c: Move all warning and flag variables to c-common.c.
2573 * c-format.c: Move all warning variables to c-common.c.
2574 * c-tree.h: Move all warning and flag declarations to c-common.h.
2575 * objc/objc-act.c: Move all warning variables to c-common.c.
2576 (flag_warn_protocol): Rename warn_protocol.
2577
692f5611
JDA
25782002-07-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
2579
2580 * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
2581
c7a009a2 25822002-07-31 Graham Stott <graham.stott@btinternet.com>
480e7ded 2583
905173eb 2584 * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
480e7ded
GS
2585 .section prefix.
2586
b069de3b
SS
25872002-07-31 Stan Shebs <shebs@apple.com>
2588
2589 * config.gcc (i[34567]86-*-darwin*): New configuration.
2590 * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
2591 defining.
2592 (TARGET_ENCODE_SECTION_INFO): Ditto.
2593 (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
2594 * config/darwin.c (machopic_indirect_data_reference): Remove
2595 setting of RTX_UNCHANGING_P.
2596 (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
2597 not to be applied to sums.
2598 * config/i386/t-darwin: New file.
2599 * config/i386/darwin.h: New file.
2600 * config/i386/i386.h (TARGET_MACHO): Add default definition.
2601 * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
2602 * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
2603 label and not the GOT add.
2604 (constant_address_p): For Mach-O, seeing a CONST is enough.
2605 (legitimate_pic_address_disp_p): Add a Mach-O case.
2606 (legitimate_address_p): Also test machopic_operand_p if Mach-O.
2607 (legitimize_pic_address): Use generic Mach-O code to legitimize.
2608 (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
2609 if outputting a difference.
2610 (ix86_output_addr_diff_elt): Add Mach-O case.
2611 (ix86_expand_move): Similarly.
2612 (ix86_expand_call): Similarly.
2613 (current_machopic_label_num): New global.
2614 (machopic_output_stub): New function.
2615 (ix86_value_regno): New function.
2616 (ix86_function_value): Use it instead of VALUE_REGNO.
2617 (ix86_libcall_value): Ditto.
2618 * config/i386/unix.h (VALUE_REGNO): Remove.
2619
1de4ecb6
GS
26202002-07-31 Graham Stott <grahas@btinternet.com>
2621
2622 * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
905173eb 2623 hash for LABEL_REF's.
1de4ecb6 2624
23368455
GS
26252002-07-31 Graham Stott <grahams@btinternet.com>
2626
2627 * config/rs6000/rs6000.c (spe_init_builtins,
2628 altivec_init_builtins, rs6000_common_init_builtins):
905173eb 2629 Replace ANSI with K&R function def.
23368455 2630
ad72b533
DE
26312002-07-31 David Edelsohn <edelsohn@gnu.org>
2632
2633 * rs6000.c (validate_condition_mode): Test flag_finite_math_only
2634 for CCFPmode.
2635
302359da
RS
26362002-07-31 Richard Sandiford <rsandifo@redhat.com>
2637
2638 * config/mips/crtn.asm: Don't use __mips16 to determine the
2639 return-address offset. Define RA to a suitable temporary
2640 register for the return address.
2641
ead0c1d5
RS
26422002-07-31 Richard Sandiford <rsandifo@redhat.com>
2643
2644 * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
2645 constraints to 'd'.
2646
3fb9d48a
CD
26472002-07-30 Chris Demetriou <cgd@broadcom.com>
2648
2649 * config/mips/elf.h (STARTFILE_SPEC): Define differently if
2650 default ABI is MEABI. (Undoes incorrect change in Eric Christopher's
2651 patch on 2002-07-29.)
2652 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
2653
072cdaed
KG
26542002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2655
506a61b1
KG
2656 * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
2657 fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
2658 ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
2659 openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
2660 s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
2661 (ASM_GLOBALIZE_LABEL): Delete.
2662 (GLOBAL_ASM_OP): Define.
2663
072cdaed 2664 * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
905173eb 2665
072cdaed
KG
2666 * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
2667 * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
2668
6fd14075
GK
26692002-07-30 Geoffrey Keating <geoffk@redhat.com>
2670
2671 * doc/extend.texi (Hints implementation): Document that GCC
2672 mostly ignores `register'.
2673
2e8f2e8f
TM
26742002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
2675
2676 * flags.h: Declare flag_finite_math_only.
2677 Use it in definition of HONOR_NANS and
2678 HONOR_INFINITIES.
2679 * c-common.c (cb_register_builtins): Emit
2680 __FINITE_MATH_ONLY__ when flag_finite_math_only
2681 is set.
2682 * combine.c (simplify_if_then_else): If
2683 flag_finite_math_only is set, a == b has a
2684 definite value.
2685 * toplev.c: Initialize flag_finite_math_only.
2686 (set_flags_fast_math): Set it on -ffast-math.
2687 (flag_fast_math_set_p): Test it.
2688 * doc/invoke.texi: Document -ffinite-math-only.
2689
a538e580
RH
26902002-07-30 Richard Henderson <rth@redhat.com>
2691
2692 * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
2693 (noce_process_if_block): Likewise.
2694
26e20555
BS
26952002-07-30 Bernd Schmidt <bernds@redhat.com>
2696
2697 * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
2698 Bail out early if false_expr is NULL and we'd crash due to this.
79cbc1f7
BS
2699 * genemit.c (gen_expand): Recognize return insns even if the return
2700 appears in a parallel.
d8088c6f
BS
2701 * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
2702 * config/fp-bit.c: Likewise.
2703 * doc/tm.texi: Document it.
905173eb 2704
0559cc77
DE
27052002-07-30 David Edelsohn <edelsohn@gnu.org>
2706 Zack Weinberg <zack@codesourcery.com>
2707
2708 * rs6000.c (rs6000_expand_unop_builtin): Check icode not
2709 CODE_FOR_nothing. Change switch to if.
2710 (rs6000_expand_binop_builtin): Same.
2711 (rs6000_expand_builtin): Expand builtin if target support enabled.
2712 (rs6000_init_builtins): Init builtin if target support enabled.
2713 (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
2714
60b8aa94
FS
27152002-07-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2716
2717 * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
2718
714fb710
RS
27192002-07-30 Richard Sandiford <rsandifo@redhat.com>
2720
2721 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
2722
c608a684
R
2723Tue Jul 30 18:31:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
2724
2725 * sh.md (cond_delay_slot): New attribute.
2726 (cbranch delay): Use it for anulled-true case.
2727 (stuff_delay_slot): New pattern.
2728 * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
2729 delay slot insn.
2730 (gen_far_branch): Emit stuff_delay_slot pattern.
2731
0a756401
R
2732Tue Jul 30 11:21:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
2733
2734 * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
2735
68e82b83
KH
27362002-07-30 Kazu Hirata <kazu@cs.umass.edu>
2737
2738 * fold-const.c: Fix comment typos.
2739 * gcse.c: Likewise.
2740 * reload1.c: Likewise.
2741
fe6b547a
AH
27422002-07-29 Aldy Hernandez <aldyh@redhat.com>
2743
2744 * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
2745 for TARGET_SPE.
2746
7ff4a7ef
GDR
27472002-07-30 Gabriel Dos Reis <gdr@nerim.net>
2748
2749 * c-pretty-print.h (pp_c_statement): Declare.
2750 * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
2751 (pp_c_statement): Define.
2752
4ad5e05d
KG
27532002-07-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2754
2755 * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
2756 darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
2757 ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
2758 mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
2759 rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
2760 v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
2761
2762 * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
2763 * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
2764
1e6a3e1e
GDR
27652002-07-30 Gabriel Dos Reis <gdr@nerim.net>
2766
2767 * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
2768 (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
2769 COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
2770 (pp_c_expression): Update.
2771
1dcd444b
KG
27722002-07-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2773
2774 * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
2775 concat in lieu of xmalloc/strcpy/memcpy/sprintf.
2776 * alpha/vms-ld.c (main): Likewise.
2777 * dsp16xx.c (double_reg_to_memory): Likewise.
2778 * mcore.c (mcore_expand_prolog): Likewise.
2779 * cppfiles.c (read_name_map): Likewise.
2780 * gensupport.c (process_rtx, identify_predicable_attribute,
2781 alter_test_for_insn): Likewise.
2782 * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
2783
e62f4abc
RS
27842002-07-29 Roger Sayle <roger@eyesopen.com>
2785
2786 * builtins.c (expand_builtin): Change the default behavior to
905173eb 2787 only issue an error if the builtin function doesn't have a
e62f4abc
RS
2788 fallback library call. Remove several cases handled by the
2789 new default.
2790
0cd2fb44
JDA
27912002-07-29 John David Anglin <dave@hiauly1.hia.nrc>
2792
2793 * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
2794 floating point format of the target is IEEE.
2795 * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
2796 format of the target is DEC.
2797
b642261e
RH
27982002-07-29 Richard Henderson <rth@redhat.com>
2799
2800 * unroll.c (verify_addresses): Remove.
2801 (find_splittable_givs): Never split DEST_ADDR givs.
2802
cba57c9d
GK
28032002-07-29 Geoffrey Keating <geoffk@redhat.com>
2804
2805 * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
2806 is exhaustive.
2807 (Files): Improve documentation on generated source files.
2808
2809 * doc/extend.texi (Translation implementation): Document what
2810 diagnostics look like.
2811 (Identifiers implementation): Document that there's normally no
2812 limit on identifier names.
2813 (Integers implementation): Document two's complement.
2814 (Hints implementation): Document that GCC honours 'inline', mostly.
2815 (Preprocessing directives implementation): Document that GCC
2816 requires the current time.
2817
76a8ecba
GDR
28182002-07-30 Gabriel Dos Reis <gdr@nerim.net>
2819
2820 * c-pretty-print.h (struct c_pretty_print_info): Add new member.
2821 (pp_initializer): New macro.
2822 (pp_c_initializer): Declare.
2823 * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
2824 (pp_c_initializer): Define.
2825 (pp_c_initializer_list): New function.
2826 (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
2827 VECTOR_CST, CONSTRUCTOR.
2828 (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
905173eb 2829 IMAGPART_EXPR.
76a8ecba
GDR
2830 (pp_c_cast_expression): Handle FLOAT_EXPR.
2831 (pp_c_assignment_expression): Handle INIT_EXPR.
2832 (pp_c_expression): Update.
2833
4307be72
NB
28342002-07-30 Neil Booth <neil@daikokuya.co.uk>
2835
2836 * objc/objc-act.c (objc_init): Return immediately if filename
2837 is NULL.
2838
6d439235
EC
28392002-07-29 Eric Christopher <echristo@redhat.com>
2840
905173eb
ZW
2841 * config/mips/elf.h: Remove ecoff.h and gofast includes.
2842 (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
2843 (SDB_DEBUGGING_INFO): Undefine.
2844 (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
6d439235
EC
2845 (PUT_SDB_SIZE): Remove.
2846 (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
905173eb
ZW
2847 (STARTFILE_SPEC): Add isa3264 define.
2848 * config/mips/elf64.h: Ditto. Move TARGET_MEM_FUNCTIONS from here...
2849 * config/mips/ecoff.h: Remove. and here...
2850 * config/mips/iris3.h: and here...
2851 * config/mips/sni-svr4.h: and here...
2852 * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
6d439235
EC
2853 Add assembler -mmdebug options for non-dwarf debugging.
2854 * config/mips/r3900.h: Remove debug info defines.
905173eb
ZW
2855 * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
2856 * config/mips/isa3264.h: Ditto.
2857 * config/mips/t-isa3264: Fix up for file removal and gofast configure
2858 change.
2859 * config/mips/t-elf: Ditto.
2860 * config/mips/t-ecoff: Ditto.
2861 * config/mips/t-r3900: Ditto.
2862 * config/mips/t-iris5-6: Ditto.
2863 * config/mips/t-isa3264: Ditto.
2864 * config/mips/t-linux: Remove.
2865 * config/mips/t-netbsd: Remove.
2866 * config/mips/t-mips: New file.
2867 * config/mips/t-gofast: Ditto.
2868 * config/mips/netbsd.h: Remove unnecessary undefines.
2869 * config/mips/linux.h: Remove #include of mips.h.
2870 * config.gcc: Add mips.h include for elf targets. Remove tm_file
2871 for ecoff. Add gofast configure option for mips.
6d439235 2872
4357a6c3
CD
28732002-07-29 Chris Demetriou <cgd@broadcom.com>
2874
2875 * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
2876 linker scripts use STARTUP directives consistently.
2877 * configure: Regenerate.
2878 * config.in: Regenerate.
2879 * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
2880 on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
2881 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
2882 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
2883 HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
2884 will be the same.
2885
9a5cd606
AH
28862002-07-29 Aldy Hernandez <aldyh@redhat.com>
2887
2888 * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
2889
a23acaa6
AH
28902002-07-29 Aldy Hernandez <aldyh@redhat.com>
2891
2892 * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
2893
10ed84db
AH
28942002-07-29 Aldy Hernandez <aldy@quesejoda.com>
2895
2896 * config/rs6000/rs6000.md: Move altivec patterns from here...
2897
2898 * config/rs6000/altivec.md: ...to here.
2899
c3021e5d
AH
29002002-07-29 Aldy Hernandez <aldyh@redhat.com>
2901
2902 * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
2903
6f1087be
RH
29042002-07-29 Richard Henderson <rth@redhat.com>
2905
2906 * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
2907 set_mem_attributes and add BITPOS argument. Subtract it from
2908 OFFSET when same is adjusted.
2909 (set_mem_attributes): New wrapper function.
2910 * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
2911 remove offset adjustment hack.
2912 * expr.h (set_mem_attributes_minus_bitpos): Declare.
2913
61ccbcfd
GDR
29142002-07-29 Gabriel Dos Reis <gdr@nerim.net>
2915
2916 * Makefile.in (C_OBJS): Include c-pretty-print.o
2917 (c-pretty-print.o): Add depency rule.
2918 * pretty-print.h: Add more macros.
2919 * c-pretty-print.c: New file.
2920 * c-pretty-print.h: Likewise.
2921
09101f56
AH
29222002-07-29 Aldy Hernandez <aldyh@redhat.com>
2923
2924 * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
2925 constants to __ev64_s32__.
2926 (__internal_ev_mwhgsmian): Same.
2927 (__internal_ev_mwhgsmfan): Same.
2928 (__internal_ev_mwhgssfan): Same.
2929 (__internal_ev_mwhgumiaa): Same.
2930 (__internal_ev_mwhgsmiaa): Same.
2931 (__internal_ev_mwhgsmfaa): Same.
2932 (__internal_ev_mwhgssfaa): Same.
2933
af673a52
DE
29342002-07-29 David Edelsohn <edelsohn@gnu.org>
2935
2936 * varasm.c (assemble_variable): Narrow test for uninitialized
2937 without BSS target support.
2938
6c208acd
NS
29392002-07-29 Nathan Sidwell <nathan@codesourcery.com>
2940
2941 * profile.c: Add file comment describing the overall algorithm and
2942 structures.
2943 (struct edge_info): Add comments.
2944 (struct bb_info): Add comments.
2945 * basic-block.h (EDGE_*): Add comments.
2946 * doc/gcov.texi (Gcov Data Files): Document bit flags.
2947
624f0d60
BW
29482002-07-29 Bob Wilson <bob.wilson@acm.org>
2949
2950 * config/xtensa/elf.h, config/xtensa/linux.h
2951 (TARGET_OS_CPP_BUILTINS): Define.
2952 (CPP_PREDEFINES): Remove.
2953 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
2954 (CPP_SPEC): Remove.
2955
2199e5fa
ZW
29562002-07-29 Zack Weinberg <zack@codesourcery.com>
2957
2958 * gensupport.c: Include hashtab.h.
2959 (insn_elision, condition_table, hash_c_test, cmp_c_test,
2960 maybe_eval_c_test): New routines and data structures to
2961 support insn elision.
2962 (init_md_reader): Read and initialize the condition_table.
2963 (read_md_rtx): Discard insn patterns whose C test is provably
2964 always false.
2965 * gensupport.h: Declare new functions and data structures.
2966
2967 * genconditions.c, dummy-conditions.c: New files.
2968 * Makefile.in: Build genconditions; run it to construct
2969 insn-conditions.c; build that and link it into most gen*
2970 programs.
2971 (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
2972 (GEN): Delete, unused.
2973 (STAGESTUFF): Update.
2974
2975 * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
2976 CODE_FOR_nothing for all elided patterns.
2977 (main): Tweaked to support this.
2978 * genflags.c (gen_proto): Emit a static inline generator
2979 function here for all elided patterns, which simply returns
2980 NULL_RTX.
2981 (gen_insn): Do not define HAVE_xxx for elided patterns.
2982 (main): Tweaked to support this. No need to forward-declare
2983 struct rtx_def.
2984 * genrecog.c: Do not bother emitting the C test if it's known
2985 to be true at compile time.
2986
6ab185d6
MS
29872002-07-29 Mike Stump <mrs@apple.com>
2988
6d439235 2989 * config.gcc (target_gtfiles): Initialize, as otherwise cross
2199e5fa 2990 compilers hosted on powerpc-apple-darwin6.0 won't even build.
6ab185d6 2991
72b075d1
RE
29922002-07-29 Richard Earnshaw <rearnsha@arm.com>
2993
2994 * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
2995 remove clobber of LR.
2996 (sibcall_insn, sibcall_value_insn): Update accordingly.
2997 (sibcall_epilogue): Remove debugging comment from assembler stream.
2998
f63c45ec
GDR
29992002-07-29 Gabriel Dos Reis <gdr@nerim.net>
3000
3001 * pretty-print.h: Define more macros.
3002 * diagnostic.h (output_formatted_integer): Moved from...
3003 * diagnostic.c: ... here.
3004
c27c15db
KG
30052002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3006
3007 * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
3008
99086d59
ZW
30092002-07-28 Zack Weinberg <zack@codesourcery.com>
3010
3011 * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
3012 arguments. Always use ".-symbol" as expression argument.
3013 * doc/tm.texi: Update to match. Document requirement for
3014 ".size symbol, .-symbol" to be acceptable to assembler.
3015
3016 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
3017 config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
3018 config/i386/freebsd-aout.h, config/i386/sco5.h,
3019 config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
3020 config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
3021
dd86aabf
KG
30222002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3023
6fd327e9
KG
3024 * Makefile.in (gengtype-lex.c): Fix error in last change.
3025
8155cedd
KG
3026 * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
3027 backslash.
3028
dd86aabf
KG
3029 * Makefile.in (vmsdbgout.o): Depend on function.h.
3030
3031 * vmsdbgout.c: Include function.h.
3032
d4348177
AM
30332002-07-28 Alan Modra <amodra@bigpond.net.au>
3034
3035 * prefix.c (update_path): Don't strip single `.' path components
3036 unless stripping a later `..' component. Exit loop as soon as
3037 a valid path is found.
3038
c2ef6d34
RS
30392002-07-27 Roger Sayle <roger@eyesopen.com>
3040
3041 * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
3042 argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
3043 BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
3044 floating point unordered comparisons (e.g. __builtin_isgreater)
3045 as const, and leave the remaining GCC_BUILTINs unchanged.
3046
3047 * c-decl.c (builtin_function): No need to explicitly mark
3048 BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
3049
52bfebf0
RS
30502002-07-27 Roger Sayle <roger@eyesopen.com>
3051
3052 * Makefile.in: rtlanal.o now depends upon real.h.
3053
3054 * flags.h [flag_signaling_nans]: New flag.
3055 [HONOR_SNANS]: New macro.
3056
3057 * toplev.c [flag_signaling_nans]: Initialize to false.
99086d59 3058 (f_options): Add processing for "-fsignaling-nans".
52bfebf0
RS
3059 (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
3060 (process_options): flag_signaling_nans implies flag_trapping_math.
3061
3062 * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
3063 when -fsignaling-nans. First step to implementing WG14's N965.
3064
3065 * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
3066 1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
3067 [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
3068
3069 * simplify-rtx.c (simplify_relational_operation): Conditionalize
3070 transforming abs(x) < 0.0 into false on !HONOR_SNANS.
3071
3072 * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
3073 required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
99086d59
ZW
3074 UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
3075 -fsignaling_nans. EQ and NE only trap for flag_signaling_nans
52bfebf0
RS
3076 not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
3077
3078 * doc/invoke.texi: Document new -fsignaling-nans compiler option.
3079
e66f55b8
KG
30802002-07-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3081
3082 * Makefile.in (gengtype-lex.c): Work around a bug in flex.
3083 * gengtype-lex.l (YY_USE_PROTOS): Undef.
3084 (YY_DECL): Define.
3085
a3926fe1
RS
30862002-07-27 Roger Sayle <roger@eyesopen.com>
3087
3088 * doc/invoke.texi: Document that both -fno-builtin-foo and
3089 -fno-builtin are supported by the g++ front-end.
3090
ef69da62
SS
30912002-07-27 Stan Shebs <shebs@apple.com>
3092
3093 * configure.in: Rename config_gtfiles to target_gtfiles.
3094 * configure: Regenerate.
3095 * doc/gty.texi: Update reference.
3096 * config.gcc (powerpc-*-darwin*): Set target_gtfiles
3097 instead of appending to it.
3098
a4b0320c
AH
30992002-07-25 Aldy Hernandez <aldyh@redhat.com>
3100
3101 * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
3102 vectors are split into two registers.
3103 (function_arg): Same.
3104
c427db5d
R
3105Thu Jul 26 23:00:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
3106
3107 * pa.md (extv): Check predicates before emitting extv_32.
3108
57ac7be9
AM
31092002-07-27 Alan Modra <amodra@bigpond.net.au>
3110
3111 * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
3112 (rs6000_traceback): New var.
3113 (rs6000_override_options): Set rs6000_traceback.
3114 (rs6000_output_function_epilogue): Implement traceback options.
3115 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
3116 (rs6000_traceback_name): Declare.
3117
3118 * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
3119 label reference when NO_PROFILE_COUNTERS.
3120
8e51619a
JM
31212002-07-26 Jason Merrill <jason@redhat.com>
3122
3123 * function.c (assign_parms): Handle frontend-directed pass by
3124 invisible reference.
3125
b41f25cf
NB
31262002-07-26 Neil Booth <neil@daikokuya.co.uk>
3127
3128 * doc/cppopts.texi: Update.
3129
c2734e05
NB
31302002-07-26 Neil Booth <neil@daikokuya.co.uk>
3131
3132 * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
3133 warnings on assertions.
3134
c372b0fa
NB
31352002-07-26 Neil Booth <neil@daikokuya.co.uk>
3136
3137 * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
3138 RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
3139 RID_COMPL): Remove.
3140 * c-parse.in (rid_to_yy): Similarly.
3141
558ee214
JM
31422002-07-26 Jason Merrill <jason@redhat.com>
3143
3144 * c-dump.c: Resurrect.
3145 * tree-dump.c: Move C-specific stuff to c-dump.c.
3146 * c-common.h: Declare c_dump_tree.
3147 * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
3148 * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
3149 (c-dump.o): New rule.
3150
ce71f754
AM
31512002-07-26 Alan Modra <amodra@bigpond.net.au>
3152
3153 * config/rs6000/rs6000.md: Enable patterns using rlwinm for
3154 PowerPC64. Replace "T" and "S" constraints with "n" when the
3155 predicate will do. Formatting fixes.
3156 (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
3157 as for extzvsi_internal1.
3158
e179e7d7
NB
31592002-07-25 Neil Booth <neil@daikokuya.co.uk>
3160
3161 * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
3162 DERIV_END_LABEL_FMT): Remove.
3163 (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
3164
a2056183
NB
31652002-07-25 Neil Booth <neil@daikokuya.co.uk>
3166
3167 * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
3168 Remove.
3169
308c142a
SS
31702002-07-25 Stan Shebs <shebs@apple.com>
3171
3172 * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
3173 local var dwarfp.
3174 (output_compiler_stub): Remove unused locals.
3175 (output_call): Always initialize line number.
3176
59324685
R
3177Thu Jul 25 20:34:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
3178
3179 * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
3180 * sh.md (truncdiqi2, movqi_media): Likewise.
3181
77bbd421
NB
31822002-07-25 Neil Booth <neil@daikokuya.co.uk>
3183
3184 * gcse.c (obstack_chunk_alloc): Remove.
3185 (gcse_alloc): Fix to count allocated bytes.
3186 * collect2.c (SYMBOL__MAIN): Remove.
3187
7bad45b0
NB
31882002-07-25 Neil Booth <neil@daikokuya.co.uk>
3189
3190 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
3191 HAVE_TARGET_EXECUTABLE_SUFFIX.
3192
184166b5
R
3193Thu Jul 25 18:57:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
3194
3195 * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
3196 SIZE, EXPR and OFFSET.
3197
40cb04f1
RH
31982002-07-25 Richard Henderson <rth@redhat.com>
3199
3200 * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
3201 in ARRAY_REF of DECL_P case.
3202
a27fb29b
RS
32032002-07-25 Richard Sandiford <rsandifo@redhat.com>
3204
3205 * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
3206 description. Document -mips32, -mips64, and the associated -march
3207 values. Describe the "mipsN" arguments to -march. Say that the
3208 -mipsN options are equivalent to -march. Reword the description
3209 of default type sizes.
3210 * toplev.h (target_flags_explicit): Declare.
3211 * toplev.c (target_flags_explicit): New var.
3212 (set_target_switch): Update target_flags_explicit.
3213 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
3214 * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
3215 * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
3216 * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
3217 * config/mips/mips.h (mips_cpu_info): New struct.
3218 (mips_cpu_string, mips_explicit_type_size_string): Remove.
3219 (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
3220 (MIPS_CPP_SET_PROCESSOR): New macro.
3221 (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
3222 Define _MIPS_ARCH and _MIPS_TUNE.
3223 (MIPS_ISA_DEFAULT): Don't provide a default value. Instead...
3224 (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
3225 MIPS_ISA_DEFAULT were already defined.
3226 (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
3227 (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
3228 (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
3229 (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
3230 (ABI_GAS_ASM_SPEC): Remove.
3231 (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
3232 (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
3233 Invoke %(asm_abi_default_spec) if no ABI was specified.
3234 (CC1_SPEC): Remove ISA -> register-size rules.
3235 (EXTRA_SPECS): Remove abi_gas_asm_spec. Add asm_abi_default_spec.
3236 * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
3237 (mips_cpu_string, mips_explicit_type_size_string): Remove.
3238 (mips_cpu_info_table): New array.
3239 (mips_set_architecture, mips_set_tune): New fns.
3240 (override_options): Rework to make -mipsN equivalent to -march.
3241 Detect more erroneous cases, including those removed from CC1_SPEC.
3242 Don't change the ABI based on architecture, or vice versa.
3243 Unify logic with GAS.
3244 (mips_asm_file_start): Get architecture name from mips_arch_info.
3245 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
3246 (mips_parse_cpu): Take the name of the option as argument. Handle
3247 'from-abi'. Raise an error if the option is wrong.
3248 (mips_cpu_info_from_isa): New fn.
3249
6bbdc759
RS
32502002-07-25 Richard Sandiford <rsandifo@redhat.com>
3251
3252 * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
3253 (tablejump_mips162): Likewise.
3254
80a62484
R
3255Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
3256
3257 * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
3258 int_mode_for_mode.
3259
ea793912
GDR
32602002-07-25 Gabriel Dos Reis <gdr@nerim.net>
3261
3262 * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
99086d59 3263 complaining.
ea793912
GDR
3264 * c-common.h (c_sizeof): Adjust definition.
3265 (c_alignof): Likewise.
3266 * c-tree.h (c_sizeof_nowarn): Now macro.
3267 * c-typeck.c (c_sizeof_nowarn): Remove definition.
3268
2d615444
NB
32692002-07-25 Neil Booth <neil@daikokuya.co.uk>
3270
3271 * c-decl.c (c_decode_option): No need to handle switches
3272 cpplib handles.
3273
2be2ac70
ZW
32742002-07-24 Zack Weinberg <zack@codesourcery.com>
3275
3276 * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
3277 ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
3278 * doc/tm.texi: Document them. Also document SIZE_ASM_OP,
3279 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
3280
3281 * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
3282 config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
3283 config/cris/aout.h, config/i386/freebsd-aout.h,
3284 config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
3285 config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
3286 config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
3287 config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
3288 config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
3289 config/xtensa/elf.h, config/xtensa/linux.h:
3290 Use the new macros.
3291 Where possible, remove redundant definitions of SIZE_ASM_OP,
3292 TYPE_ASM_OP, and TYPE_OPERAND_FMT.
3293
518878e1
AH
32942002-07-24 Aldy Hernandez <aldyh@redhat.com>
3295
3296 * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
3297 TARGET_ISEL, and TARGET_FPRS.
99086d59 3298
518878e1
AH
3299 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3300 -mabi=spe, -mabi=no-spe, and -misel=.
3301
3302 * config/rs6000/rs6000-protos.h: Add output_isel.
3303 Move vrsave_operation prototype here.
3304
3305 * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
3306 (smaxsi3): Same.
3307 (uminsi3): Same.
3308 (umaxsi3): Same.
3309 (abssi2_nopower): Disallow when TARGET_ISEL.
3310 (*ne0): Same.
3311 (negsf2): Change to expand and rename old pattern to *negsf2.
3312 (abssf2): Change to expand and rename old pattern to *abssf2.
99086d59 3313
518878e1
AH
3314 New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
3315 fixunssfsi2.
3316
3317 Change patterns that check for TARGET_HARD_FLOAT or
3318 TARGET_SOFT_FLOAT to also check TARGET_FPRS.
3319
3320 * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
3321 rs6000_isel, rs6000_fprs, rs6000_isel_string.
3322 (rs6000_override_options): Add 8540 case to
3323 processor_target_table.
3324 Set rs6000_isel for the 8540.
3325 Call rs6000_parse_isel_option.
3326 (enable_mask_for_builtins): New.
3327 (rs6000_parse_isel_option): New.
3328 (rs6000_parse_abi_options): Add spe and no-spe.
3329 (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
3330 (rs6000_legitimize_address): Check for TARGET_FPRS when checking
3331 for TARGET_HARD_FLOAT.
3332 Add case for SPE_VECTOR_MODE.
3333 (rs6000_legitimize_reload_address): Handle SPE vector modes.
3334 (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
3335 vector modes.
3336 Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
3337 (rs6000_emit_move): Check for TARGET_FPRS.
3338 Add cases for SPE vector modes.
3339 (function_arg_boundary): Return 64 for SPE vector modes.
3340 (function_arg_advance): Check for TARGET_FPRS and
3341 Handle SPE vectors.
3342 (function_arg): Same.
3343 (setup_incoming_varargs): Check for TARGET_FPRS.
3344 (rs6000_va_arg): Same.
3345 (struct builtin_description): Un-constify mask field. Move up in
3346 file.
3347 (bdesc_2arg): Un-constify and add SPE builtins.
3348 (bdesc_1arg): Same.
3349 (bdesc_spe_predicates): New.
3350 (bdesc_spe_evsel): New.
3351 (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
3352 (rs6000_expand_binop_builtin): Same.
3353 (bdesc_2arg_spe): New.
3354 (spe_expand_builtin): New.
3355 (spe_expand_predicate_builtin): New.
3356 (spe_expand_evsel_builtin): New.
3357 (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
3358 (rs6000_init_builtins): Initialize SPE builtins. Call
3359 rs6000_common_init_builtins.
3360 (altivec_init_builtins): Move all non-altivec builtin code to...
3361 (rs6000_common_init_builtins): ...here. New function.
3362 (branch_positive_comparison_operator): Allow NE code for SPE.
3363 (ccr_bit): Return correct ccr bit for SPE fp.
3364 (print_operand): Emit crnor in 'D' case for SPE.
3365 New case 't'.
3366 Add SPE code for 'y' case.
3367 (rs6000_generate_compare): Generate rtl for SPE fp.
3368 (output_cbranch): Handle SPE hard floats.
3369 (rs6000_emit_cmove): Handle isel.
3370 (rs6000_emit_int_cmove): New.
3371 (output_isel): New.
3372 (rs6000_stack_info): Adjust stack frame so GPRs are saved in
3373 64-bits for SPE.
3374 (debug_stack_info): Add SPE info.
3375 (gen_frame_mem_offset): New.
3376 (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
3377 Change mode of frame pointer, when saving it, to Pmode.
3378 (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
3379 Misc cleanups and use gen_frame_mem_offset when appropriate.
3380
3381 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
3382 (TARGET_SPE_ABI): New.
3383 (TARGET_SPE): New.
3384 (TARGET_ISEL): New.
3385 (TARGET_FPRS): New.
3386 (FIXED_SCRATCH): New.
3387 (RTX_COSTS): Add PROCESSOR_PPC8540.
3388 (ASM_CPU_SPEC): Add case for 8540.
3389 (TARGET_OPTIONS): Add isel= case.
3390 (rs6000_spe_abi): New.
3391 (rs6000_isel): New.
3392 (rs6000_fprs): New.
3393 (rs6000_isel_string): New.
3394 (UNITS_PER_SPE_WORD): New.
3395 (LOCAL_ALIGNMENT): Adjust for SPE.
3396 (HARD_REGNO_MODE_OK): Same.
3397 (DATA_ALIGNMENT): Same.
3398 (MEMBER_TYPE_FORCES_BLK): New.
3399 (FIRST_PSEUDO_REGISTER): Set to 113.
3400 (FIXED_REGISTERS): Add SPE registers.
3401 (reg_class): Same.
3402 (REG_CLASS_NAMES): Same.
3403 (REG_CLASS_CONTENTS): Same.
3404 (REGNO_REG_CLASS): Same.
3405 (REGISTER_NAMES): Same.
3406 (DEBUG_REGISTER_NAMES): Same.
3407 (ADDITIONAL_REGISTER_NAMES): Same.
3408 (CALL_USED_REGISTERS): Same.
3409 (CALL_REALLY_USED_REGISTERS): Same.
3410 (SPE_ACC_REGNO): New.
3411 (SPEFSCR_REGNO): New.
3412 (SPE_SIMD_REGNO_P): New.
3413 (HARD_REGNO_NREGS): Adjust for SPE.
3414 (VECTOR_MODE_SUPPORTED_P): Same.
3415 (REGNO_REG_CLASS): Same.
3416 (FUNCTION_VALUE): Same.
3417 (LIBCALL_VALUE): Same.
3418 (LEGITIMATE_OFFSET_ADDRESS_P): Same.
3419 (SPE_VECTOR_MODE): New.
3420 (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
3421 the GPRs. Set FIXED_SCRATCH fixed in SPE case.
3422 (rs6000_stack): Add spe_gp_size, spe_padding_size,
3423 spe_gp_save_offset.
3424 (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
3425 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
3426 (SPE_CONST_OFFSET_OK): New.
3427 (rs6000_builtins): Add SPE builtins.
3428
3429 * testsuite/gcc.dg/ppc-spe.c: New.
99086d59 3430
518878e1
AH
3431 * config/rs6000/eabispe.h: New.
3432
3433 * config/rs6000/spe.h: New.
3434
3435 * config/rs600/spe.md: New.
3436
3437 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
3438 __SIMD__ for TARGET_SPE.
3439
3440 * config.gcc: Add powerpc-*-eabispe* case.
3441 Add spe.h to user headers for powerpc.
3442
8d1b7ba1
CD
34432002-07-24 Chris Demetriou <cgd@broadcom.com>
3444
3445 * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
3446 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3447 * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
3448
8ad8135a
RH
34492002-07-24 Richard Henderson <rth@redhat.com>
3450
3451 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
3452 form when not optimizing.
3453
dc44a4d8
DM
34542002-07-24 David Mosberger <davidm@hpl.hp.com>
3455
3456 * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
3457 thread_pointer_rtx as unchanging.
3458
c5605318
MM
34592002-07-24 Michael Matz <matz@suse.de>
3460
3461 * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
3462 (free_reg): Use it.
3463
3ade30ea
RE
34642002-07-24 Richard Earnshaw <rearnsha@arm.com>
3465
3466 * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
3467 pattern.
3468 (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
3469 (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
3470
8a3ad737
CD
34712002-07-24 Chris Demetriou <cgd@broadcom.com>
3472
3473 * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
3474 * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
3475 * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
3476
7e51e626
JH
3477Wed Jul 24 17:59:12 CEST 2002 Jan Hubicka <jh@suse.cz>
3478
3479 * toplev.c (rest_of_compilation): Dump loops before clobbering
3480 the structure.
3481
5df533b3
JH
3482Wed Jul 24 17:23:16 CEST 2002 Jan Hubicka <jh@suse.cz>
3483
3484 * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
3485
79258dce
RS
34862002-07-24 Frank van der Linden <fvdl@wasabisystems.com>
3487
3488 PR optimization/7291
3489 * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
3490 problem on x86_64.
3491
26ff2117
GDR
34922002-07-24 Gabriel Dos Reis <gdr@nerim.net>
3493
3494 * pretty-print.h: Add macros from cp/error.c
3495
0ba1b2ff
AM
34962002-07-24 Alan Modra <amodra@bigpond.net.au>
3497
3498 * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
3499 (mask64_2_operand): Declare.
3500 (build_mask64_2_operands): Declare.
3501 (and64_2_operand): Declare.
3502 (extract_MB): Declare.
3503 (extract_ME): Declare.
3504 * config/rs6000/rs6000.c (mask64_operand): Allow all ones. Remove
3505 CONST_DOUBLE code.
3506 (mask_operand_wrap): New insn predicate.
3507 (mask64_2_operand): Likewise.
3508 (and64_2_operand): Likewise.
3509 (build_mask64_2_operands): New function.
3510 (extract_MB): New function.
3511 (extract_ME): New function.
3512 (print_operand <case m,M>): Use extract_MB and extract_ME.
3513 (print_operand <case S>): Allow all ones. Remove CONST_DOUBLE support.
3514 * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
3515 (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
3516 mask64_2_operand. Remove CONST_DOUBLE from mask64_operand.
3517 * config/rs6000/rs6000.md (andsi3_internal3): New
3518 (andsi3_internal3+1): Enable split for powerpc64.
3519 (andsi3_internal3+2): New split.
3520 (andsi3_internal4): Renamed old andsi3_internal3.
3521 (andsi3_internal5): New.
3522 (andsi3_internal5+1): Enable split for powerpc64.
3523 (andsi3_internal5+2): New split.
3524 (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
3525 (anddi3): Handle 't' constraint.
3526 (anddi3+1): New split.
3527 (anddi3_internal2): Handle 't' constraint.
3528 (anddi3_internal2+1): New split.
3529 (anddi3_internal3): Handle 't' constraint.
3530 (anddi3_internal3+1): New split.
3531
097657c3
AM
35322002-07-24 Alan Modra <amodra@bigpond.net.au>
3533
3534 * config/rs6000/rs6000.md: Remove scratch reg on insns using
3535 addze and similar (plus (comparison r1 r2) r3) insns. Add
3536 missing scratch reg in one case. Formatting fixes.
3537
a69cbaac
NB
35382002-07-24 Neil Booth <neil@daikokuya.co.uk>
3539
3540 * cppexp.c (parse_defined): Mark macro used.
3541 * cpphash.h (struct cpp_macro): New member "used".
3542 (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
3543 (struct cpp_reader): New member.
3544 * cppinit.c (cpp_finish_options): Set first_unused_line.
3545 (cpp_finish): Warn of unused macros if requested.
3546 (OPT_TABLE): New switches.
3547 (cpp_handle_option): Handle them.
3548 * cpplib.c (do_undef): Warn if macro unused.
3549 (do_ifdef, do_ifndef): Mark macro used.
3550 * cpplib.h (struct cpp_options): New member.
3551 * cppmacro.c (_cpp_warn_if_unused_macro): New.
3552 (enter_macro_context): Mark macro used.
3553 (_cpp_create_definition): Mark macro unused; warn if unused
3554 when redefined.
3555 * cpptrad.c (scan_out_logcial_line, push_replacement_text):
3556 Mark macros used.
3557 * doc/cppopts.texi: Update.
3558
c0667597
NB
35592002-07-23 Neil Booth <neil@daikokuya.co.uk>
3560
3561 * dwarf2out.c (SECTION_ASM_OP,
3562 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
3563 * system.h (SECTION_ASM_OP): Poison.
3564 * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
3565 * config/alpha/alpha-interix.h, config/mips/linux.h
3566 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
3567 * config/mmix/mmix-protos.h, config/mmix/mmix.c
3568 (mmix_asm_output_define_label_difference_symbol): Remove.
3569 * config/mmix/mmix.h
3570 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
b841421a 3571 * doc/tm.texi: Remove documentation.
c0667597 3572
bf7cd754
R
3573Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
3574
3575 * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
3576 (constrain_operands): Likewise.
3577 * regclass.c (record_reg_classes): Likewise.
3578 * reload.c (find_reloads): Likewise.
3579 * doc/md.texi: Likewise.
451f86fd
R
3580
3581 * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
3582 * simplify-rtx.c (simplify_subreg): When converting to a non-int
3583 mode, try to convert to an integer mode of matching size first.
1d5fa6b4
R
3584
3585 * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
3586 from individual subregs, check that each subreg has been generated
3587 sucessfully.
3588
10d6af32
NB
35892002-07-23 Neil Booth <neil@daikokuya.co.uk>
3590
3591 * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
3592 * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
3593 FOR_EACH_BB_IN_SBITMAP): Remove.
3594 * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
3595 * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
3596 LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
3597 * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
3598 PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
3599 * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
3600
6aaae39a
GDR
36012002-07-23 Gabriel Dos Reis <gdr@nerim.net>
3602
3603 * pretty-print.h: New file.
3604
45e574d0
JDA
36052002-07-23 Paul Koning <pkoning@equallogic.com>
3606
3607 * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
3608 (LARGEST_EXPONENT_IS_NORMAL): Ditto.
3609 (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
3610 (TARGET_G_FLOAT): Default to 0 if not defined.
99086d59 3611 (ieeetoe): New, common routine to convert target format floats
45e574d0
JDA
3612 to internal form.
3613 (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
3614 vs. others.
3615 (e113toe): Change to use ieeetoe.
3616
36172002-07-23 Roman Lechtchinsky <rl@cs.tu-berlin.de>
3618
3619 * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
3620 IBM.
3621 (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
3622 (e64toe): Remove special cases for DEC and IBM. Remove support for
3623 ARM_EXTENDED_IEEE_FORMAT.
3624 (e24toe): Remove special cases for DEC.
3625 (significand_size): Simplify. Indent.
3626 (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
3627 (etoieee, toieee): New.
3628 (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
3629 etoieee and toieee for IEEE arithmetic.
3630
3764f879
GDR
36312002-07-23 Gabriel Dos Reis <gdr@nerim.net>
3632
3633 * doc/extend.texi: Say ISO C90, not ISO C89.
3634 * doc/invoke.texi: Likewise.
3635 * doc/standards.texi: Likewise.
3636
aa0f70e6
SE
36372002-07-23 Steve Ellcey <sje@cup.hp.com>
3638
3639 * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
3640 Fix permutation of conversion and plus/mult.
3641 * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
3642 ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
3643 (expand_builtin_strncpy) Ditto.
3644 (expand_builtin_memset) Ditto.
3645
fa72b064
GDR
36462002-07-23 Gabriel Dos Reis <gdr@nerim.net>
3647
3648 Fix PR/7363:
3649 * c-common.c (c_sizeof_or_alignof_type): New function.
3650 (c_alignof): Remove definition.
3651 * c-common.h (c_sizeof, c_alignof): Define as macros.
3652 (c_sizeof_or_alignof_type): Declare.
3653 (my_friendly_assert): Moved from cp/cp-tree.h
3654 * c-typeck.c (c_sizeof): Remove definition.
3655
2b773ee2
JH
36562002-07-23 Jan Hubicka <jh@suse.cz>
3657
3658 * gcse.c (try_replace_reg): Use num_changes_pending.
3659 * recog.c (num_changes_pending): New function.
3660 (validate_replace_src): Use validate_repalce_src_group.
3661 (validate_replace_src_group): New.
3662 * recog.h (validate_repalce_src_group): New.
3663 (num_changes_pending): Likewise.
3664
a0dc500c
R
3665Tue Jul 23 12:16:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
3666
3667 * calls.c (emit_library_call_value_1): If
3668 FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
3669 libcall, const call nor pure call.
3670
d22eda7b
NB
36712002-07-23 Neil Booth <neil@daikokuya.co.uk>
3672
3673 * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
3674
b5e66e65
NB
36752002-07-23 Neil Booth <neil@daikokuya.co.uk>
3676
3677 * vmsdbgout.c (SECTION_ASM_OP): Remove.
3678
c3a600c0
NB
36792002-07-23 Neil Booth <neil@daikokuya.co.uk>
3680
3681 * config/i386/i386.c (AT_BP): Remove.
3682
4fa31c2a
NB
36832002-07-23 Neil Booth <neil@daikokuya.co.uk>
3684
3685 * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
3686 Default definition.
3687 * gcse.c: Don't define obstack_chunk_free.
3688 * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
3689 flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
3690 integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
3691 reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
3692 Don't define obstack macros.
3693
fd576c86
SC
36942002-07-22 Stephane Carrez <stcarrez@nerim.fr>
3695
3696 PR target/6744
3697 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
3698 ASM_OPERANDS instructions.
3699
b791ff31
SC
37002002-07-22 Stephane Carrez <stcarrez@nerim.fr>
3701
3702 PR target/7361
3703 * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
3704 constant addresses only on 68HC12.
3705
4a941115
NB
37062002-07-22 Neil Booth <neil@daikokuya.co.uk>
3707
3708 * cppfiles.c (stack_include_file): Correct test of whether
3709 a dependency should be output.
3710
7488cc6d
DE
37112002-07-22 David Edelsohn <edelsohn@gnu.org>
3712
3713 * collect2.c (is_ctor_dtor): Add other possible JOINER values.
3714
b41caf7c
RE
37152002-07-22 Richard Earnshaw <rearnsha@arm.com>
3716
3717 * arm.md (movqi): If optimizing and we can create pseudos, use
3718 a ZERO_EXTEND to load from memory, then copy the result into the
3719 target.
3720 (movhi): Likewise, but only for ARMv4.
3721
492e9934
NB
37222002-07-22 Neil Booth <neil@daikokuya.co.uk>
3723
3724 * ssa-ccp.c (PHI_PARMS): Remove.
3725
f01f01a6
RS
37262002-07-22 Richard Sandiford <rsandifo@redhat.com>
3727
3728 * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
3729 on big-endian targets.
3730
c2ae8aef
KG
37312002-07-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3732
3733 * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
3734 HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
3735 HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
3736 New formatting macros.
3737
3738 * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
3739
eab2120d
R
3740Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
3741
3742 * rtlanal.c (subreg_regno_offset): Return correct offset for
3743 big endian paradoxical subregs.
0d541696
R
3744
3745 * optabs.c (expand_vector_unop): Don't expand using sub_optab
3746 if we got the wrong mode.
bb9b3805
R
3747
3748 * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
3749 * genrecog.c (write_switch, write_cond): Use it.
3750 * genemit.c (gen_exp): Likewise.
3751
e96eb215
JJ
37522002-07-22 Jakub Jelinek <jakub@redhat.com>
3753
3754 * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
3755
cf3c4f56
JJ
37562002-07-22 Jakub Jelinek <jakub@redhat.com>
3757
3758 * c-decl.c (build_compound_literal): Defer compound literal decls
3759 until until file end to emit them only if they are actually used.
3760
533c4863
KG
37612002-07-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3762
3763 * ra-build.c (check_conflict_numbers): Hide unused function.
3764 (livethrough_conflicts_bb): Avoid automatic aggregate
3765 initialization.
3766 (parts_to_webs_1): Avoid `U' integer constant modifier.
3767 (conflicts_between_webs): Wrap a variable in the macro controlling
3768 its usage.
3769 * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
3770 (dump_igraph, dump_graph_cost): Avoid string concatenation
3771 (dump_static_insn_cost): Avoid automatic aggregate
3772 initialization.
3773 * ra-rewrite.c (insert_stores): Avoid automatic aggregate
3774 initialization.
3775 (dump_cost): Avoid string concatenation
3776
8943a0b4
RH
37772002-07-21 Richard Henderson <rth@redhat.com>
3778
3779 * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
3780 GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
3781
b1aef35b
RH
37822002-07-21 Richard Henderson <rth@redhat.com>
3783
3784 * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
3785 that are not unrolled completely.
3786
5e1afb11
RH
37872002-07-21 Richard Henderson <rth@redhat.com>
3788
3789 * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
3790 * loop.c (strength_reduce): Update.
3791 * toplev.c (rest_of_compilation): Do unrolling in the first
3792 loop pass, not the second.
3793
c67a1cf6
RH
37942002-07-21 Richard Henderson <rth@redhat.com>
3795
3796 * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
3797 when flag_argument_noalias == 2.
3798 * alias.c (nonoverlapping_memrefs_p): Handle that.
3799 * print-rtl.c (print_mem_expr): Likewise.
3800
b68daef4
HS
38012002-07-21 Hartmut Schirmer <hartmut.schirmer@arcor.de>
3802
3803 * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
3804 instead of __negdi2 directly.
3805
060a58c5
NB
38062002-07-21 Neil Booth <neil@daikokuya.co.uk>
3807
3808 * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
3809 * function.c (SYMBOL__MAIN): Remove definition.
3810 * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
99086d59 3811 * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
060a58c5
NB
3812 * profile.c (GCOV_INDEX_TO_BB): Remove.
3813 * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
3814 * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
3815
2f8dd115
NB
38162002-07-21 Neil Booth <neil@daikokuya.co.uk>
3817
3818 * c-lex.c (GET_ENVIRONMENT): Remove.
3819 * collect2.c (GET_ENV_PATH_LIST): Remove.
3820 (prefix_from_env): Use GET_ENVIRONMENT.
3821 * cppinit.c (GET_ENV_PATH_LIST): Remove.
3822 (init_standard_includes): Use GET_ENVIRONMENT.
3823 * defaults.h (GET_ENVIRONMENT): Define here if not already.
3824 * gcc.c (GET_ENV_PATH_LIST): Remove.
3825 (make_relative_prefix, process_command): Update.
3826 * protoize.c (GET_ENV_PATH_LIST): Remove.
3827 (do_processing): Update.
3828
56508306
GDR
38292002-07-21 Gabriel Dos Reis <gdr@nerim.net>
3830
3831 * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
3832 (grokdeclarator): Likewise.
3833 * c-format.c (C_STD_NAME): Likewise.
3834 * c-lex.c (interpret_integer): Likewise.
3835 * c-typeck.c (build_array_ref): Likewise.
3836 * cpplex.c (_cpp_lex_direct): Likewise.
3837 * toplev.c (documented_lang_options): Likewise.
3838
e2f62855
NB
38392002-07-21 Neil Booth <neil@daikokuya.co.uk>
3840
3841 * c-format.c (T99_I, T99_UI): Remove.
3842
c89d1dfd
NB
38432002-07-21 Neil Booth <neil@daikokuya.co.uk>
3844
3845 * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
3846
46690369
JH
3847Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
3848
3849 * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
3850 do_local_cprop.
3851
60ffc1b8
AJ
38522002-07-21 Andreas Jaeger <aj@suse.de>
3853
99086d59 3854 * reload1.c (fixup_abnormal_edges): Remove unused variable.
60ffc1b8 3855
c05ffc49
BS
38562002-07-21 Bernd Schmidt <bernds@redhat.com>
3857
3858 Improvements for the ifcvt pass from Michael Meissner, with patches
3859 by Richard Sandiford <rsandifo@redhat.com>
3860 * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
3861 * ifcvt.c (cond_exec_changed_p): New static variable.
3862 (last_active_insn): New function, renamed from last_active_insn_p
3863 and changed to return the last active insn in a basic block. All
3864 callers updated.
3865 (block_fallthru): New function.
3866 (cond_exec_process_insns): New argument CE_INFO. Pass it to
3867 IFCVT_MODIFY_INSN. All callers updated.
3868 Return false if START or END are NULL.
3869 Handle case where we're processing an insn that is already
3870 conditional.
3871
3872 (noce_process_if_block): CE_INFO argument rather than
3873 multiple args containing the involved basic blocks. All callers
3874 changed.
3875 (process_if_block, merge_if_block, find_if_block,
3876 cond_exec_process_if_block): Likewise.
3877
3878 (cond_exec_process_if_block): New arg DO_MULTIPLE_P. All callers
3879 changed.
3880 Use new function last_active_insn to simplify some code.
3881 New code to handle multiple tests.
3882 Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
3883 cond_exec_changed_p to TRUE.
3884
3885 (process_if_block): New code to handle multiple tests.
3886 (merge_if_block): Likewise.
3887 (find_if_header): New arg PASS. Changed to return the currently
3888 processed basic block or NULL instead of true/false. All callers
3889 changed.
3890 Call IFCVT_INIT_EXTRA_FIELDS.
3891 (block_jumps_and_fallthru_p): New function.
3892 (find_if_block): Discover opportunities to convert multiple tests.
3893 Add additional debugging output.
3894 Update the ce_info structure before returning.
3895
3896 (if_convert): Run multiple passes of if-conversion.
3897 * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
3898 IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
3899 IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
3900 these macros.
3901
ae860ff7
JH
3902Sun Jul 21 00:54:54 CEST 2002 Jan Hubicka <jh@suse.cz>
3903
3904 * gcse.c: Include cselib.h
3905 (constptop_register): Break out from ...
3906 (cprop_insn): ... here; kill basic_block argument.
3907 (do_local_cprop, local_cprop_pass): New functions.
3908 (one_cprop_pass): Call local_cprop_pass.
3909
0da65b89
RS
39102002-07-20 Roger Sayle <roger@eyesopen.com>
3911
3912 * simplify-rtx.c (simplify_relational_operation): Optimize
3913 abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
3914
47cc673a
MM
39152002-07-20 Michae Matz <matz@suse.de>
3916
3917 * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
3918
68e65275
NB
39192002-07-20 Neil Booth <neil@daikokuya.co.uk>
3920
3921 * cppexp.c (struct op): Add token pointer.
3922 (check_promotion, CHECK_PROMOTION): New.
3923 (optab): Update.
3924 (_cpp_parse_expr): Update, use token pointer of struct op.
3925 (reduce): Warn about change of sign owing to promotion.
3926 * cppinit.c (cpp_handle_option): New warning if -Wall.
3927 * cpplib.h (struct cpp_options): New member.
3928
e3485bbc
DE
39292002-07-19 David Edelsohn <edelsohn@gnu.org>
3930
3931 * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
3932 fpu list. Separate Power4 compare and delayed_compare. Correct
3933 Power4 fpcompare.
3934 (fix_truncdfsi2_internal): Restore FPR preference.
3935 * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
3936 mcpu?power4, mcpu?604e. Remove mpower, mpower2, mpowerpc.
3937
449655a6
MV
39382002-07-19 Momchil Velikov <velco@fadata.bg>
3939
3940 * reload1.c (reload_as_needed): Duplicate oldpat.
3941
8b583747
AM
39422002-07-20 Alan Modra <amodra@bigpond.net.au>
3943
3944 PR optimization/7130
3945 * loop.h (struct loop_info): Add "preconditioned".
3946 * unroll.c (unroll_loop): Set it.
3947 * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
3948
0dc36574
ZW
39492002-07-19 Zack Weinberg <zack@codesourcery.com>
3950
3951 * rtl.def (CODE_LABEL): Remove slot 8.
3952 * rtl.h (struct rtx_def): Document new uses of jump and call fields.
3953 (LABEL_ALTERNATE_NAME): Delete.
3954 (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
3955 * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
3956
3957 * final.c (output_alternate_entry_point): New.
3958 (final_scan_insn): Use it instead of
3959 ASM_OUTPUT_ALTERNATE_LABEL_NAME. Do not consider possibility
3960 of a case label being an alternate entry point.
3961
3962 * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
3963 * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
3964 Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
3965 (field deleted).
3966 * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
3967
3968 * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
3969 LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
3970 * doc/tm.texi: Delete documentation of
3971 ASM_OUTPUT_ALTERNATE_LABEL_NAME.
3972
59267987
RO
39732002-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3974
3975 * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
3976 (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
3977 (LINK_SPEC): Define.
3978 (STARTFILE_SPEC): Define.
3979 (ENDFILE_SPEC): Define.
3980
3981 * config/mips/iris6-o32.h (LINK_SPEC): Move ...
3982 * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
3983
3984 * config/mips/iris6-o32-gas.h: New file.
3985 * config.gcc (mips-sgi-irix6*o32): Use it.
3986
3987 * config/mips/t-iris5-gas: New file.
3988 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
3989
75aef48a
NB
39902002-07-19 Neil Booth <neil@daikokuya.co.uk>
3991
3992 * cppexp.c (ALWAYS_EVAL): Remove.
3993 (optab, reduce): Always evaluate.
3994 (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
3995 only if not skipping evaluation.
3996
72a5503d
MM
39972002-07-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
3998
3999 * config/avr/avr.c (debug_hard_reg_set): Remove.
4000
059ba716
CD
40012002-07-19 Chris Demetriou <cgd@broadcom.com>
4002
4003 * gcc.c (cpp_options): Include "%1" (cc1_spec).
4004
544823b6
RH
40052002-07-19 Richard Henderson <rth@redhat.com>
4006
4007 * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
4008
c35383cb
AM
40092002-07-19 Alan Modra <amodra@bigpond.net.au>
4010
4011 * prefix.c (update_path): Don't zap single `.' path components
4012 unless followed by another `.' and fix typo last patch.
4013
ad28cff7
NB
40142002-07-18 Neil Booth <neil@daikokuya.co.uk>
4015
4016 * cppexp.c (cpp_num_mul): Remove unused parameter.
4017 (UNARY, BINARY, OTHER, binary_handler): Remove.
4018 (ALWAYS_EVAL): New.
4019 (optab): Update.
4020 (reduce): Refactor to a large switch, don't use a function
4021 pointer.
4022
139b7f86
BT
40232002-07-18 Bo Thorsen <bo@berlioz.suse.de>
4024
4025 * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
4026
e69d1422
R
4027Thu Jul 18 19:39:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
4028
4029 * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
4030 (sh_expand_binop_v2sf): Likewise.
4031 * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
4032 (int_gpr_dest, trunc_hi_operand): New functions.
4033 * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
4034 trunc_hi_operand.
4035 (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
4036 * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
4037 (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
4038 (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
4039 (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
4040 (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
4041 (extendhisi2_media+1, extendqisi2_media+1): Likewise.
4042 (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
4043 (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
4044 (movsf_ie+1): Likewise.
4045 (loaddi_trunc): Use int_gpr_dest predicate.
4046 (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
4047 (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
4048 (casesi_worker_0+[12], casesi_worker): Likewise.
4049 (shcompact_preserve_incoming_args): Likewise.
4050 (mov_nop): Use any_register_operand predicate.
4051 (mperm_w0): Use trunc_hi_operand predicate.
4052
47a4976f
JDA
40532002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
4054
4055 * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
4056 * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
4057 numbering.
4058
f3a4e54e
JDA
40592002-07-18 John David Anglin <dave@hiauly1.hia.nrc.ca>
4060
4061 * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
4062
30484ccf
RH
40632002-07-18 Richard Henderson <rth@redhat.com>
4064
4065 PR optimization/7147
4066 * ifcvt.c (noce_get_condition): Make certain that the condition
4067 is valid at JUMP.
4068
d042370e
R
4069Thu Jul 18 13:44:51 2002 J"orn Rennecke <joern.rennecke@superh.com>
4070
4071 * sh.c (barrier_align, push): Shut up compiler warnings.
4072 (initial_elimination_offset,sh_media_init_builtins): Likewise.
4073 (reg_no_subreg_operand): Delete.
4074
61fee9b3
BT
40752002-07-17 Bo Thorsen <bo@suse.de>
4076
4077 * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
4078 (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
4079 (STARTFILE_SPEC): Remove hardcoded library paths.
4080 (ENDFILE_SPEC): Likewise.
4081
f305679f
JH
4082Thu Jul 18 09:38:59 CEST 2002 Jan Hubicka <jh@suse.cz>
4083
4084 * gcse.c (hoist_expr_reaches_here_p): Stop once expr_bb is reached.
4085
4086 * gcse.c (try_replace_reg): Do not return false positives.
4087
99bcb625
AM
40882002-07-18 Alan Modra <amodra@bigpond.net.au>
4089
f6f23ad2
AM
4090 * prefix.c: (update_path): Strip ".." components when prior dir
4091 doesn't exist. Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
4092
99bcb625
AM
4093 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
4094 (ASM_OUTPUT_REG_POP): Likewise.
4095
09eeeacb
AM
40962002-07-18 Alan Modra <amodra@bigpond.net.au>
4097
4098 * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
4099 adjustments to first_reg for profiling case.
4100 (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
4101 Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
4102 Save static chain reg to sp + 12 on ABI_AIX_NODESC.
4103 * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
4104 (ASM_OUTPUT_REG_POP): Define.
4105 * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
4106 (ASM_OUTPUT_REG_POP): Undef.
4107
74d06cf2
NB
41082002-07-17 Neil Booth <neil@daikokuya.co.uk>
4109
4110 * cpplib.c (do_sccs): Handle #sccs on all systems.
4111 * system.h (SCCS_DIRECTIVE): Poison.
4112 * config/darwin.h, config/freebsd.h, config/netbsd.h,
4113 config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
4114 config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
4115 config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
4116 config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
4117 config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
4118 config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
4119 config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
4120 Remove all references to SCCS_DIRECTIVE.
4121 * doc/cpp.texi, doc/tm.texi: Update.
4122
61dde664
R
4123Wed Jul 17 19:23:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
4124
4125 * regrename.c (maybe_mode_change): New function.
4126 (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
4127
97f51ac4
RB
41282002-07-17 Rodney Brown <rbrown64@csc.com.au>
4129
4130 * config/i386/i386.c (ix86_expand_int_movcc): In the general case
4131 suppress addition when either ct or cf are zero.
4132
f1a73cfe 41332002-06-17 Eric Botcazou <ebotcazou@multimania.com>
30484ccf 4134 Glen Nakamura <glen@imodulo.com>
f1a73cfe
EB
4135
4136 PR optimization/6713
4137 * loop.c (loop_givs_rescan): Explicitly delete the insn that
4138 sets a non-replaceable giv after issuing the new one.
4139
23ff0223
NB
41402002-07-17 Neil Booth <neil@daikokuya.co.uk>
4141
4142 * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
4143 eval_token): Clarify and correct use of "bool" variables.
4144 * cpplib.h (struct cpp_options): Similarly.
4145 * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
4146 * cpptrad.c (recursive_macro): Similarly.
4147
ac09192a
R
4148Wed Jul 17 17:08:06 2002 J"orn Rennecke <joern.rennecke@superh.com>
4149
d28586ab 4150 * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
ac09192a 4151 SHmedia code.
68cef009
R
4152
4153 * sh.md (cmpgtudi_media): Remove spurious @.
701e3726
R
4154
4155 * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
4156 * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
ca903bba
R
4157
4158 * config/sh/lib1funcs.asm (init_trampoline): New entry point.
4159 * sh-protos.h (sh_initialize_trampoline): Declare.
4160 * sh.c (sh_initialize_trampoline): New function.
4161 * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
4162 (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
4163 (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
4164 (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
4165 * sh.md (initialize_trampoline, double_shori): New patterns.
4166 (initialize_trampoline_compact): Likewise.
4167 (shmedia32_initialize_trampoline_big): Remove.
4168 (shmedia32_initialize_trampoline_little): Likewise.
0ac78517
R
4169
4170 * sh-protos.h (binary_float_operator): Remove declaration.
4171 (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
4172 * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
4173 (unary_float_operator, sh_expand_unop_v2sf): New functions.
4174 (sh_expand_binop_v2sf): Likewise.
4175 (zero_vec_operand): Delete.
4176 (SH_BLTIN_UDI): New builtin shared signature define. Renumbered
4177 all non-shared ones.
4178 (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
4179 Enable nsb and byterev.
4180 * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
4181 (HARD_REGNO_MODE_OK): Allow TImode in fp regs. Allow V2SFmode
4182 in general regs.
4183 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
4184 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. Remove clause for
4185 immediate operands.
4186 (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
4187 Add DF_HI_REGS.
4188 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
4189 lowpart fp regs - only for big endian for now.
4190 (LEGITIMATE_CONSTANT_P): Don't allow non-zero float vectors
4191 when FPU is in use.
4192 (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
4193 (LOAD_EXTEND_OP): NIL for SImode.
4194 (REGISTER_MOVE_COST): Add DF_HI_REGS. Const for moves between
4195 general and fp registers is 4.
4196 PREDICATE_CODES: Amend binary_float_operator entry.
4197 Remove zero_vec_operand. Add unary_float_operator.
4198 * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
4199 subreg SET_DEST.
4200 (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
4201 (truncdiqi2): Do sign extension.
4202 (movsi_media, movdi_media): Allow to use r63 to an fp register.
4203 (movdf_media, movsf_media): Likewise.
4204 (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
4205 Collapse to one define_insn_and_split. Allow immediate sources.
4206 (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
4207 (movv4sf_i): Allow immediate sources. Use simplify_gen_subreg.
4208 (movv4sf): Allow immediate sources.
4209 (movsf_media_nofpu+1): Don't split moves to FP registers.
4210 (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
4211 (movv8qi_i+3): Check against CONST0_RTX.
4212 (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
4213 for input and output operands. Fix argument 3 to gen_mextr_rl.
4214 (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
4215 (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
4216 (mshf0_w, fipr, ftrv): Likewise.
4217 (mshfhi_l_di): Now insn_and_split. Can handle FP regs.
4218
e9d7b180
JD
42192002-07-17 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4220
4221 * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
4222 NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively. All uses changed.
4223 * arm.c: Similarly.
4224
8214bf98
RS
42252002-07-17 Richard Sandiford <rsandifo@redhat.com>
4226
4227 * config/mips/mips-protos.h (mips_sign_extend): Declare.
4228 * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
4229 (TARGET_SWITCHES): Remove debugh.
4230 (ISA_HAS_TRUNC_W): New macro.
4231 (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
4232 (PREDICATE_CODES): Remove se_nonimmediate_operand.
4233 * config/mips/mips.c (movdi_operand): Allow sign-extensions of
4234 any SImode move_operand.
4235 (se_nonimmediate_operand): Remove.
4236 (mips_sign_extend): New.
4237 (mips_move_2words): Use it for sign-extended source operands.
4238 (override_options): Allow integers to be put into single FPRs.
4239 (mips_secondary_reload_class): Handle integers in float registers.
4240 * config/mips/mips.md (extendsidi2): Turn into a define_expand.
4241 (fix_truncsfsi2, fix_truncdfsi2): Likewise.
4242 (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
4243 (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
4244 (fix_truncdfdi2): Provide only a single alternative, in which the
4245 integer is in a float register. Depend on TARGET_FLOAT64 rather
4246 than TARGET_64BIT.
4247 (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
4248 (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
4249 (movdi_internal2): Don't allow the source operand to be sign-extended.
4250 Add alternatives for float registers.
4251 (*movdi_internal2_extend): New. Version of movdi_internal2 that
4252 allows sign-extension.
4253 (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
4254 (movsi_internal2): Rename to movsi_internal. Add alternatives for
4255 float registers. Remove TARGET_DEBUG_H_MODE test.
4256 (movhi_internal1): Rename to movhi_internal. Don't check
4257 TARGET_DEBUG_H_MODE. Fix transposed *d and *f source constraints.
4258 (movqi_internal1): Rename to movqi_internal and remove
4259 TARGET_DEBUG_H_MODE dependency.
4260 (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
4261
7ab0121e
JW
42622002-07-16 Jim Wilson <wilson@redhat.com>
4263
4264 * toplev.c (lang_dependent_init): Create function context for
4265 init_expr_once.
4266
349ccf2e
HPN
42672002-07-16 Hans-Peter Nilsson <hp@axis.com>
4268
4269 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
4270 --gc-sections if -r.
4271 * config/cris/cris.h: Ditto.
4272
06ec023f
RB
42732002-07-16 Rodney Brown <rbrown64@csc.com.au>
4274
4275 * config/i386/i386.c (ix86_expand_int_movcc): In the case where
4276 the comparison directly gives a mask suppress addition when cf is
4277 zero by complementing the mask.
4278
39cef914
NN
42792002-07-16 Nathanael Nerode <neroden@gcc.gnu.org>
4280
4281 * Makefile.in: Delete references to enquire.
4282 * enquire.c: Move to contrib.
4283
92c1a778
SS
42842002-07-16 Stan Shebs <shebs@apple.com>
4285
2aa9948d
SS
4286 * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
4287 config/rs6000/darwin.h.
4288 (ASM_OUTPUT_SKIP): Ditto.
4289 (TEXT_SECTION_ASM_OP): Ditto.
4290 (DATA_SECTION_ASM_OP): Ditto.
4291 (ASM_APP_ON): Define.
4292 (ASM_APP_OFF): Define.
4293 * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
4294 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
4295
4296 * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
92c1a778
SS
4297 (machopic_function_base_name): Declare result to be const.
4298 (machopic_non_lazy_ptr_name): Ditto.
4299 (machopic_stub_name): Ditto.
2aa9948d 4300 * config/darwin-protos.h: Ditto for the prototypes.
92c1a778 4301
daaab00a
JH
4302Wed Jul 17 00:22:39 CEST 2002 Jan Hubicka <jh@suse.cz>
4303
4304 * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
4305
63c574cc
JH
4306Wed Jul 17 00:20:48 CEST 2002 Jan Hubicka <jh@suse.cz>
4307
4308 * i386.md (prefetch): Fix for 64bit mode.
4309 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
4310
2a500b9e
JH
4311Wed Jul 17 00:19:20 CEST 2002 Jan Hubicka <jh@suse.cz>
4312
4313 * i386.h (MACHINE_DEPENDENT_REORG): New macro.
4314 * i386.c (x86_machine_dependent_reorg): New function.
4315 * i386-protos.h (x86_machine_dependent_reorg): Declare.
4316
e5faf155
ZW
43172002-07-16 Zack Weinberg <zack@codesourcery.com>
4318
4319 * builtins.c (std_expand_builtin_va_start): Remove unused
4320 first argument.
4321 (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
4322 std_expand_builtin_va_start with just two arguments.
4323 * expr.h: Update prototypes.
4324
4325 * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
4326 arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
4327 i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
4328 m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
4329 mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
4330 rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
4331 s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
4332 sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
4333 xtensa-protos.h, xtensa.h, xtensa.c: Remove unused first
4334 argument from all implementations of EXPAND_BUILTIN_VA_START
4335 and all uses of std_expand_builtin_va_start.
4336
dbf65c2f
R
4337Tue Jul 16 19:32:58 2002 J"orn Rennecke <joern.rennecke@superh.com>
4338
4339 * regrename.c (copy_value): Don't record high part copies.
4340
6acb6d3e 43412002-07-16 Steve Ellcey <sje@cup.hp.com>
99b823ca 4342
6acb6d3e
SE
4343 * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
4344 (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
4345 * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
4346
5d7c2819
ID
43472002-07-16 Ian Dall <ian@sibyl.beware.dropbear.id.au>
4348
4349 * doc/invoke.texi (NS32K Options): Document -mieee-compare option
4350
4351 * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
4352 into addsi3 using register class "x" and "y".
4353
4354 * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
4355 "earlyclobber" constraint modifier for some alternative.
e5faf155 4356
5d7c2819
ID
4357 * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
4358 (*ble, *blt): Flag to indicate bCOND and sCOND should check for
4359 unordered.
4360 config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
4361
4362 * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
4363 (TARGET_SWITCHES): Add -mieee-compare option.
4364 (OVERRIDE_OPTIONS): 32332 is a subset of
4365 32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
4366 (TARGET_SWITCHES): Fix description of bitfield option.
4367 * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
4368 -mieee-compare option. Remove 32332 flag.
4369
5da4f548 43702002-07-16 Steve Ellcey <sje@cup.hp.com>
5d7c2819
ID
4371
4372 * explow.c (convert_memory_address): Remove special handling
5da4f548 4373 when POINTERS_EXTEND_UNSIGNED < 0.
5d7c2819 4374 * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
5da4f548
SE
4375 (movedi_symbolic): Fix typo.
4376 (load_fptr): Remove mode restriction so it works for SI and DI.
4377 (load_fptr_internal1): Ditto.
4378 (load_gprel): Ditto.
4379 (load_symptr_internal1): Ditto.
4380 (call_pic): Ditto.
5d7c2819 4381 * config/ia64.c (call_operand): Modify mode check.
5da4f548
SE
4382 (ia64_expand_load_address): Handle DI and SI addresses and symbols.
4383 (ia64_expand_move): Ditto.
4384 (ia64_assemble_integer): Handle SImode function pointers.
4385 (ia64_expand_fetch_and_op): Handle SImode mem addresses.
4386 (ia64_expand_op_and_fetch): Ditto.
4387 (ia64_expand_compare_and_swap): Ditto.
4388 (ia64_expand_lock_test_and_set): Ditto.
4389 (ia64_expand_lock_release): Ditto.
4390
1575c31e
JD
43912002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4392
4393 * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
4394
43952002-07-16 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
4396 Richard Earnshaw <rearnsha@arm.com>
4397
e5faf155 4398 * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
1575c31e
JD
4399 CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF. Simplify logic.
4400
3894f59e
RE
44012002-07-16 Richard Earnshaw <rearnsha@arm.com>
4402
4403 * arm.md (stack_tie): New insn. Use an idiom that the alias code
4404 understands to be a memory clobber.
4405 * arm.c (arm_expand_prologue): Use it.
4406
e0b89be2 44072002-07-16 Daniel Berlin <dberlin@dberlin.org>
54b2a7f8
DB
4408
4409 * ra-rewrite.c: #include reload.h, insn-config.h
4410 * ra-build.c: #include reload.h
4411 * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
e5faf155 4412 depend on reload.h, insn-config.h.
54b2a7f8 4413
cffa2189
R
4414Tue Jul 16 11:57:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
4415
4416 * expr.c (emit_move_insn_1): Handle arbitrary moves that are
4417 the same size as a word.
4418
4419 * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
4420 BYTES_BIG_ENDIAN into account.
4421
052c96b1
JH
4422Tue Jul 16 12:22:44 CEST 2002 Jan Hubicka <jh@suse.cz>
4423
4424 * i386.md (prefetch): Fix for 64bit mode.
4425 (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
4426
4427 * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
4428
ae32926b
MM
44292002-07-16 Marek Michalkiewicz <marekm@amelek.gda.pl>
4430
4431 * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
4432
6c535c69
ZW
44332002-07-15 Zack Weinberg <zack@codesourcery.com>
4434
4435 * ginclude/varargs.h: Replace with stub which issues #error.
4436 * ginclude/stdarg.h: __builtin_stdarg_start is renamed
4437 __builtin_va_start.
4438
4439 * builtins.def (BUILT_IN_VARARGS_START): Delete.
4440 (BUILT_IN_VA_START): New.
4441 * builtins.c (expand_builtin_va_start): Eliminate first
4442 argument and code to implement pre-ISO varargs.
4443 (std_expand_builtin_va_start): Ignore first argument; it is
4444 always 1.
4445 (expand_builtin): Handle BUILT_IN_VA_START and
4446 BUILT_IN_STDARG_START identically. Delete
4447 BUILT_IN_VARARGS_START case.
4448
4449 * function.c (assign_parms): Delete hide_last_arg and all
4450 its uses.
4451 (mark_varargs): Delete function.
4452 * function.h (struct function): Delete 'varargs' bit.
4453 (current_function_varargs): Delete macro.
4454 * tree.h: Don't declare mark_varargs.
4455
4456 * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
4457 (c_expand_body): Don't call mark_varargs.
4458 * c-objc-common.c: Handle BUILT_IN_VA_START and
4459 BUILT_IN_STDARG_START identically. Delete
4460 BUILT_IN_VARARGS_START case.
4461 * c-tree.h: Don't declare c_mark_varargs.
4462 * c-parse.in: Remove grammar rules for '&...' (which has been
4463 commented out since before 2.7.2) and for '...' in K+R
4464 argument declarations.
4465
4466 * builtins.c, function.c, integrate.c, sibcall.c,
4467 config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
4468 config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
4469 config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
4470 config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
4471 config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
4472 config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
4473 config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
4474 config/stormy16/stormy16.c: Delete all references to
4475 current_function_varargs, and code predicated on that flag.
4476
4477 * config/alpha/alpha.c (alpha_va_start),
4478 config/arc/arc.c (arc_va_start),
4479 config/i386/i386.c (ix86_va_start),
4480 config/mips/mips.c (mips_va_start),
4481 config/mn10300/mn10300.c (mn10300_va_start),
4482 config/rs6000/rs6000.c (rs6000_va_start),
4483 config/s390/s390.c (s390_va_start),
4484 config/sh/sh.c (sh_va_start),
4485 Ignore first argument; it is always 1.
4486
4487 * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
4488 * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
4489 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
4490 Delete m68hc11_va_start.
4491 * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
4492 No need to define EXPAND_BUILTIN_VA_START.
4493
4494 * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
4495 doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
4496
6d80a854
EB
44972002-07-15 Eric Botcazou <ebotcazou@multimania.com>
4498
4499 PR optimization/7153
4500 * regmove.c (optimize_reg_copy_3): Don't optimize if the register
4501 dies in more than one insn.
4502
043cfcbe
JT
45032002-07-15 Jason Thorpe <thorpej@wasabisystems.com>
4504
4505 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
4506
ed8d2920 45072002-07-15 Michael Matz <matz@suse.de>,
6c535c69 4508 Daniel Berlin <dberlin@dberlin.org>,
ed8d2920
MM
4509 Denis Chertykov <denisc@overta.ru>
4510
4511 Add a new register allocator.
4512
4513 * ra.c: New file.
4514 * ra.h: New file.
4515 * ra-build.c: New file.
4516 * ra-colorize.c: New file.
4517 * ra-debug.c: New file.
4518 * ra-rewrite.c: New file.
4519
4520 * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
4521 (ra-rewrite.o): New .o files for libbackend.a.
4522 (GTFILES): Add basic-block.h.
4523
4524 * toplev.c (flag_new_regalloc): New.
4525 (f_options): New option "new-ra".
4526 (rest_of_compilation): Call initialize_uninitialized_subregs()
4527 only for the old allocator. If flag_new_regalloc is set, call
4528 new allocator, instead of local_alloc(), global_alloc() and
4529 friends.
4530
4531 * doc/invoke.texi: Document -fnew-ra.
4532 * basic-block.h (FOR_ALL_BB): New.
4533 * config/rs6000/rs6000.c (print_operand): Write small constants
4534 as @l+80.
4535
4536 * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
4537 (df_reg_table_realloc): Make size at least as large as max_reg_num().
4538 (df_insn_table_realloc): Size argument now is absolute, not relative.
4539 Changed all callers.
4540
4541 * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
4542 * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
4543
4544 2002-06-20 Michael Matz <matz@suse.de>
4545
4546 * df.h (struct ref.id): Make unsigned.
4547 * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
4548
4549 2002-06-13 Michael Matz <matz@suse.de>
4550
4551 * df.h (DF_REF_MODE_CHANGE): New flag.
4552 * df.c (df_def_record_1, df_uses_record): Set this flag for refs
4553 involving subregs with invalid mode changes, when
4554 CLASS_CANNOT_CHANGE_MODE is defined.
4555
4556 2002-05-07 Michael Matz <matz@suse.de>
4557
4558 * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
4559
4560 2002-05-03 Michael Matz <matz@suse.de>
4561
4562 * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
4563
4564 Sat Feb 2 18:58:07 2002 Denis Chertykov <denisc@overta.ru>
4565
4566 * regclass.c (regclass): Work with all regs which have sets or
4567 refs.
4568 (reg_scan_mark_refs): Count regs inside (clobber ...).
4569
4570 2002-01-04 Michael Matz <matzmich@cs.tu-berlin.de>
4571
4572 * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
4573 (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
4574 add new refs.
4575 (df_bb_refs_update): Don't clear insns_modified here, ...
4576 (df_analyse): ... but here.
4577
4578 * sbitmap.c (dump_sbitmap_file): New.
4579 (debug_sbitmap): Use it.
4580
4581 * sbitmap.h (dump_sbitmap_file): Add prototype.
4582
4583 2001-08-07 Daniel Berlin <dan@cgsoftware.com>
4584
4585 * df.c (df_insn_modify): Grow the UID table if necessary, rather
4586 than assume all emits go through df_insns_modify.
4587
4588 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
4589
4590 * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
4591 increase REG_N_REFS (like flow does), so that regclass doesn't
4592 think a reg is useless, and thus, not calculate a class, when it
4593 really should have.
4594
4595 2001-01-28 Daniel Berlin <dberlin@redhat.com>
4596
4597 * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
4598 dataflow analysis.
4599
794a292d
JJ
46002002-07-15 Jakub Jelinek <jakub@redhat.com>
4601
4602 PR middle-end/7245
4603 * config/i386/i386.c (const_int_1_31_operand): New.
4604 * config/i386/i386.h (PREDICATE_CODES): Add it.
4605 * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
4606 ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
4607 lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
4608
05d49501
AM
46092002-07-14 Alan Modra <amodra@bigpond.net.au>
4610
4611 PR target/7282
4612 * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
4613 (floatunssidf2): Likewise.
4614 (floatsidf_ppc64): New insn_and_split.
4615 (floatunssidf_ppc64): Likewise.
4616
e89617fe
AJ
46172002-07-14 Andreas Jaeger <aj@suse.de>
4618
4619 * config.gcc (sh64): Remove unused
4620 target_requires_64bit_host_wide_int.
4621
78762e3b
RS
46222002-07-12 Roger Sayle <roger@eyesopen.com>
4623
4624 * expr.c [CLEAR_RATIO]: New macro defining the maximum number
4625 of move instructions to use when clearing memory, c.f. MOVE_RATIO.
4626 [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
4627 whether clear_by_pieces should be used to clear storage.
4628 (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
4629
4630 * doc/tm.texi: Document these two new target macros.
4631
f7a454e9
SC
46322002-07-12 Stephane Carrez <stcarrez@nerim.fr>
4633
4634 * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
4635 the scratch register.
4636 ("*movhi2_push"): Accept Z_REG because a split pattern can make use
4637 of it, forbid reload to use it.
4638
26af4041
MM
46392002-07-12 Marek Michalkiewicz <marekm@amelek.gda.pl>
4640
4641 * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
4642 usage on 64-bit hosts, return value was truncated to 32 bits.
4643
226cfe61
R
4644Fri Jul 12 00:49:36 2002 J"orn Rennecke <joern.rennecke@superh.com>
4645
4646 * simplify-rtx.c (simplify_subreg): Handle floating point
4647 CONST_DOUBLEs. When an integer subreg of a smaller mode than
4648 the element mode is requested, compute a subreg with an
4649 integer mode of the same size as the element mode first.
4650
25c25947
R
4651Thu Jul 11 22:02:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
4652
4653 * combine.c (try_combine): When converting a paradoxical subreg
4654 to an extension, take LOAD_EXTEND_OP into account.
4655
789b7de5
RO
46562002-07-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4657
4658 * config.gcc (mips-sgi-irix6*o32): New configuration.
4659
4660 * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
4661 configurations.
4662 * configure: Regenerate.
4663
4664 * config/mips/iris6-o32-as.h: New file.
4665 * config/mips/iris6-o32.h: New file.
e89617fe 4666
789b7de5
RO
4667 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
4668 (NM_FLAGS): Define.
4669 (HAVE_AS_SHF_MERGE): Undefine.
4670
4671 * config/mips/t-iris5-as: New file.
4672 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
4673
4674 * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
4675 SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
4676 SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
4677 dp-bit.c, fp-bit.c): Move ...
4678 * config/mips/t-iris5-6: ... here.
4679 New file, shared by IRIX 5 and IRIX 6.
4680 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
4681 mips-sgi-irix5*): Use it.
4682
4683 * config/mips/iris6.h: Remove duplicate comment.
4684
4685 * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
4686 !TARGET_IRIX6]: Define.
4687 (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
4688
4689 * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
4690
a18c2c5f
JDA
46912002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
4692
4693 * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
4694 and delete code to force constant to register.
4695 * pa-protos.h (adddi3_operand): Add prototype.
4696 * pa.c (adddi3_operand): New function.
4697
e65a2d65
RS
46982002-07-11 Roger Sayle <roger@eyesopen.com>
4699
4700 * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
4701 non-ANSI builtin functions.
4702
a06e3c40
R
4703Thu Jul 11 11:31:12 2002 J"orn Rennecke <joern.rennecke@superh.com>
4704
4705 * rtl.h (gen_rtx_CONST_VECTOR): Declare.
4706 * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
4707 * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
4708 (gen_const_vector_0): Use it.
4709
47abc309
JDA
47102002-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
4711
4712 * pa.md (adddi3): For 32-bit targets, force constants to a register
4713 if they don't fit in an 11-bit immediate. Change insn predicate to
4714 arith11_operand. Remove comment.
4715 * pa.c (cint_ok_for_move): Fix comment.
4716 (emit_move_sequence): Don't directly split DImode constants on 32-bit
4717 targets.
4718
8ac9d31f
TJ
47192002-07-11 Tim Josling <tej@melbpc.org.au>
4720
e89617fe 4721 Remove front end hard coding from gengtype.c.
8ac9d31f
TJ
4722
4723 * Makefile.in
4724 (STAGESTUFF): add gtyp-gen.h
4725 (GTFILES): Remove front end specific files.
4726 (GTFILES_FILES_LANGS): New, from configure..
4727 (GTFILES_FILES_FILES): Likewise.
4728 (GTFILES_LANG_DIR_NAMES): Likewise.
4729 (GTFILES_SRCDIR): Likewise.
4730 (gtyp-gen.h): Build from configure information.
4731 (s-gtype): Remove command line parameters from gengtype.
4732 (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
4733 (mostlyclean): Delete files generated by and for gengtype.
4734
4735 * c-config-lang.in: New file.
4736
4737 * configure.in (all_gtfiles_files_langs): New. Accumulate files
4738 for each language.
4739 (all_gtfiles_files_files): New. Accumulate language for each file
4740 accumulated.
4741 (gtfiles): Pick up value for C.
4742 (srcdir): AC-SUBST this variable.
4743 (all_gtfiles_files_langs): AC-SUBST this variable.
4744 (all_gtfiles_files_files): AC-SUBST this variable.
e89617fe 4745
8ac9d31f 4746 * configure: Regenerate.
e89617fe 4747
8ac9d31f
TJ
4748 * gengtype-lex.l (parse_file): Make parameter const.
4749
4750 * gengtype.c (toplevel): include gtyp-gen.h.
4751 (BASE_FILE_<language> unnamed enum): Delete.
4752 (lang_names): Delete (replaced by gtyp-gen.h)
4753 (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
4754 all references.
4755 (NUM_GT_FILES): New.
4756 (NUM_LANG_FILES): New.
4757 (srcdir_len): New.
4758 (NUM_BASE_FILES): Change calculation.
4759 (open_base_files): Change prototype to avoid warning.
4760 (startswith): Delete.
4761 (get_file_basename): Iterate through generated language list not
4762 hard coded list.
4763 (get_base_file_bitmap): Use generated list of files and languages.
4764 (close_output_files): Add prototype to rmove warning.
4765 (main): Iterate through list of generated files from gtyp-gen.h
4766 rather than command line paramaters. Ignore duplicated file
e89617fe 4767 names.
8ac9d31f
TJ
4768
4769 * gengtype.h (parse_file): Amend prototype for const parameter.
e89617fe 4770
8ac9d31f
TJ
4771 * doc/sourcebuild.texi: Document gtfiles variable.
4772
4773 * doc/gty.texi: Document changes to gtfiles variable for front
4774 ends.
4775
4776 * objc/config-lang.in (gtfiles): Add files needed for objc front
4777 end.
4778
0e603223
RS
47792002-07-10 Roger Sayle <roger@eyesopen.com>
4780
4781 PR c/2454
4782 * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
4783 to SUBREGs of MEMs. (num_sign_bit_copies): Likewise.
4784
c5358a5d
RS
47852002-07-10 Roger Sayle <roger@eyesopen.com>
4786 Zack Weinberg <zack@codesourcery.com>
4787
4788 * builtins.def: Make the argument types of abort and exit
4789 independent of the front-end.
4790
a35f8b74
AM
47912002-07-11 Alan Modra <amodra@bigpond.net.au>
4792
4793 * config/rs6000/linux64.h (ASM_SPEC): Define.
4794
89e7058f
AH
47952002-07-10 Aldy Hernandez <aldyh@redhat.com>
4796
6c535c69
ZW
4797 * config/rs6000/rs6000.c (emit_frame_save): New.
4798 (rs6000_frame_related): Replace reg2 before reg.
4799 (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
4800 and eh_return registers.
89e7058f 4801
086bbd21
TM
48022002-07-10 Toon Moene <toon@moene.indiv.nluug.nl>
4803
4804 Revert all patches for optimization of Complex .op. Real.
4805 * complex_part_zero_p: Remove
4806 * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
4807 with x.
4808 * expand_cmplxdiv_wide: Ditto.
4809 * expand_binop: Ditto.
4810
126dbce0
MM
48112002-07-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
4812
4813 * config/avr/avr.md: Fix two 0x80000000 constants to make them
4814 negative also on 64-bit hosts.
4815
4816 Default to -fno-reorder-blocks when optimizing for size.
4817 * config/avr/avr-protos.h (avr_optimization_options): Declare.
4818 * config/avr/avr.c (avr_optimization_options): New function.
4819 * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
4820
4821 Optimize returning from simple functions.
4822 * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
4823 * config/avr/avr.c (avr_simple_epilogue): New function.
4824 * config/avr/avr.md (return): New insn.
4825
21c318ba
DR
48262002-07-10 Douglas B Rupp <rupp@gnat.com>
4827
4828 * config/i386/i386.c (ix86_svr3_asm_out_constructor): Add
4829 HAS_INIT_SECTION to protection.
4830
537834c8
MM
48312002-07-10 Mark Mitchell <mark@codesourcery.com>
4832
4833 * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
4834 deprecated.
4835
80ba02b1
R
4836Wed Jul 10 19:50:03 2002 J"orn Rennecke <joern.rennecke@superh.com>
4837
4838 * combine.c (gen_lowpart_for_combine): Handle vector modes.
4839 Supply non-VOID mode to simplify_gen_subreg.
4840
ae3aa00d
JH
4841Wed Jul 10 18:48:55 CEST 2002 Jan Hubicka <jh@suse.cz>
4842
4843 * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
4844
029f3983
JL
48452002-07-10 Jeffrey A Law <law@redhat.com>
4846
7a464913
JL
4847 * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
4848 as appropriate.
4849
6c535c69
ZW
4850 * mn10200.c (expand_epilogue): Fix test to determine which scratch
4851 register to use.
029f3983 4852
ff27a429
R
4853Wed Jul 10 16:06:00 2002 J"orn Rennecke <joern.rennecke@superh.com>
4854
4855 * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
4856 Get mode from dest.
4857 If simplify_gen_subreg fails, try next equivalent.
4858
e6986399
GDR
48592002-07-09 Gabriel Dos Reis <gdr@codesourcery.com>
4860
4861 * diagnostic.h: #include location.h
4862 (location_t): Move definition to..
4863 * location.h: ... here. New file.
4864 * tree.h: #include location.h
4865 (DECL_SOURCE_LOCATION): New macro.
4866 (DECL_SOURCE_FILE): Use.
4867 (DECL_SOURCE_LINE): Likewise.
4868 (struct tree_decl): REplace filename and linenum with locus.
4869 * Makefile.in (TREE_H): add location.h
4870 (diagnostic.o): Depends on gt-location.h
4871 (gt-location.h): Depends on s-gtype
4872
7990b46f
MK
48732002-07-09 Matt Kraai <kraai@alumni.cmu.edu>
4874
4875 * config/rs6000/aix.h: Convert CPP_PREDEFINES to
4876 TARGET_OS_CPP_BUILTINS.
4877 * config/rs6000/aix31.h: Likewise.
4878 * config/rs6000/aix41.h: Likewise.
4879 * config/rs6000/aix43.h: Likewise.
4880 * config/rs6000/aix51.h: Likewise.
4881 * config/rs6000/beos.h: Likewise.
4882 * config/rs6000/darwin.h: Likewise.
4883 * config/rs6000/eabi.h: Likewise.
4884 * config/rs6000/eabisim.h: Likewise.
4885 * config/rs6000/linux.h: Likewise.
4886 * config/rs6000/linux64.h: Likewise.
4887 * config/rs6000/lynx.h: Likewise.
4888 * config/rs6000/mach.h: Likewise.
4889 * config/rs6000/rtems.h: Likewise.
4890 * config/rs6000/sysv4.h: Likewise.
4891 * config/rs6000/vxppc.h: Likewise.
efa39e99
DP
4892
48932002-07-09 Devang Patel <dpatel@apple.com>
4894 * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
4895 Do not allow ObjC objects as a parameter type for Objective-C methods.
4896 My previous patch restricted 'struct' also.
e89617fe 4897
cd98faa1
NB
48982002-07-09 Neil Booth <neil@daikokuya.co.uk>
4899
4900 * cpperror.c (cpp_error): Default to directive_line within
4901 directives here.
4902 * cppexp.c (cpp_interpret_integer): Only use traditional
4903 number semantics in directives.
4904 * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
4905 (do_include_common): Similarly.
4906 * cpptrad.c (scan_out_logical_line): Implement accurate
4907 quoting of <> in #include.
4908 * doc/cpp.texi: Update.
4909
2ad65b0e 4910Tue Jul 9 22:37:44 2002 Stephen Clarke <stephen.clarke@superh.com>
6c535c69 4911 J"orn Rennecke <joern.rennecke@superh.com>
2ad65b0e
SC
4912
4913 * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
4914 * sh.md (attribute issues): Replace with:
4915 (attribute pipe_model). All users changed.
4916 (attribute type): Change pt / ptabs to pt_media / ptabs_media.
4917 All users changed.
4918 (function units sh5issue, sh5fds): New.
4919 (attribute is_mac_media): New.
4920 (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
4921 (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
4922 (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
4923 (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
4924 (call_media, call_value_media, sibcall_media): Likewise.
4925 (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
4926 (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
4927 (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
4928 (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
4929 (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
4930 (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
4931 (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
4932 (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
4933 (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
4934 (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
4935 (truncdfsf2_media): Likewise.
4936 (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
4937 (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
4938
b6d33983
R
4939Tue Jul 9 21:39:50 2002 J"orn Rennecke <joern.rennecke@superh.com>
4940
4941 * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
4942 * sh.c (general_extend_operand, inqhi_operand): New functions.
4943 * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
4944 alternatives using 'N' modifier. Add type.
4945 (adddi3z_media): Likewise. Enable generator function generation.
4946 (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
4947 exact predicates / constraints. Add type.
4948 (subsi3): Allow 0 for SHMEDIA.
4949 (udivsi3_i4_media): Use match_operand for input values
4950 rather than hard registers.
4951 (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
4952 unnecessarily through hard registers. Keep copies of pseudo
4953 registers outside of the libcall sequence.
4954 (mulsidi3_media, umulsidi3_media): Use more exact predicates. Add type.
4955 (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
4956 (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
4957 (extendhidi2, extendqidi2): Likewise.
4958 (andsi3_compact): Name.
4959 (andcdi3): Enable generator function generation.
4960 (zero_extendhisi2, zero_extendqisi2): Rename to
4961 (zero_extendhisi2_compact, zero_extendqisi2_compact).
4962 (extendhisi2, extendqisi2): Rename to
4963 (extendhisi2_compact, extendqisi2_compact).
4964 (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
4965 (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
4966 (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
4967 (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
4968 (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
4969 (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
4970 (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
4971 (shmedia32_initialize_trampoline_big): Likewise.
4972 (shmedia32_initialize_trampoline_little): Likewise.
4973 (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
4974 (negdi2): Remove spurious T clobber.
4975 (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
4976 (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
4977 (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
4978 (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
4979 (ic_invalidate_line_media): Write back data cache before invalidating
4980 instruction cache. Add type.
4981 (movsf_media): Sign-extend when the destination is a general
4982 purpose register. Add type.
4983 (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
4984 (casesi_worker_0+1): Only increment ref count for proper label.
4985 (casesi_worker_0+2): Likewise.
4986
7ca0873c
MM
49872002-07-09 Mark Mitchell <mark@codesourcery.com>
4988
4989 * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
4990
26b10ae0 49912002-07-09 Steve Ellcey <sje@cup.hp.com>
7ca0873c 4992
26b10ae0
SE
4993 * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
4994 from Pmode to ptr_mode.
4995 (get_exception_pointer): Ditto.
4996 (connect_post_landing_pads): Ditto.
4997 (dw2_build_landing_pads): Ditto.
4998
0c3a2ea0
SE
49992002-07-08 Steve Ellcey <sje@cup.hp.com>
5000 * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
5001 * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
5002 (handle_pragma_redefine_extname): Change to use new function.
5003
26c34780
RS
50042002-07-08 Roger Sayle <roger@eyesopen.com>
5005
5006 * combine.c (combine_simplify_rtx): Add an explicit cast
5007 to avoid signed/unsigned comparison warning.
5008 (simplify_if_then_else): Likewise.
5009 (extended_count): Likewise.
5010 (simplify_shift_const): Likewise.
5011 (simplify_comparison): Likewise.
5012
1d4047e0
RS
50132002-07-08 Richard Sandiford <rsandifo@redhat.com>
5014
5015 * config/mips/mips.md: Add imadd type. Update scheduler description
5016 to use imadd as well as imul.
5017 (*mul_acc_si, *madsi): Change imul alternatives to imadd.
5018 (*mul_acc_di, *mul_acc_64bit_di): Likewise.
5019 (*mul_sub_si): Likewise for first alternative. Change second
5020 alternative from imul to multi.
5021
5351f1ca
NB
50222002-07-07 Neil Booth <neil@daikokuya.co.uk>
5023
5024 * c-common.c (c_common_post_options): Update prototype;
5025 don't init backends if preprocessing only.
5026 * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
5027 * langhooks.h (struct lang_hooks): Update post_options to
5028 return a boolean.
5029 * toplev.c (parse_options_and_default_flags, do_compile,
5030 lang_independent_init): Update prototypes. Allow the
5031 front end to specify that there is no need to initialize
5032 the back end.
5033 (general_init): Move call to hex_init here...
5034 (toplev_main): ...from here. Pass flag for back end init
5035 suppression.
5036
c8cc4417
R
5037Sun Jul 7 20:38:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
5038
5039 * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
5040 (PREDICATE_CODES): Add entries for equality_comparison_operator,
5041 greater_comparison_operator and less_comparison_operator.
5042 * sh.c (print_operand): Add '\'' code. Make 'o' handle
5043 more operators.
5044 (equality_comparison_operator): New function.
5045 (greater_comparison_operator, less_comparison_operator): Likewise.
5046 * sh.md (beq_media_i): Disable generator function generation.
5047 Use match_operator to handle a whole class of comparisons. Add
5048 modifier in output template to provide branch prediction. Add type.
5049 (bgt_media_i, ble_media_i): Likewise. Allow zero operands.
5050 (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
5051 (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
5052 (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
5053
957ec0f9
HPN
50542002-07-07 Hans-Peter Nilsson <hp@bitrange.com>
5055
5056 Emit MMIX function prologue and epilogue as rtl.
5057 * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
5058 not unprototyped get_hard_reg_initial_val.
5059 ("call_value", "nonlocal_goto_receiver"): Ditto.
5060 ("return"): Make define_expand. Move real insn to...
5061 ("*expanded_return"): New pattern.
5062 ("prologue", "epilogue"): New define_expands.
5063 * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
5064 (struct machine_function): New member in_prologue.
5065 (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
5066 (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
5067 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
5068 (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
5069 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
5070 (LOCAL_REGNO): Define. Adjust comment.
5071 * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
5072 Consider regs_ever_live[MMIX_rJ_REGNUM], not just
5073 leaf_function_p.
5074 (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
5075 the prologue.
5076 (mmix_target_asm_function_prologue): Make static. Just mark that
5077 the prologue is being emitted. Move guts to...
5078 (mmix_expand_prologue): New function. Adjust for emitting
5079 prologue as rtl. For sizes, use HOST_WIDE_INT only.
5080 (mmix_target_asm_function_epilogue): Make static. Simply emit a
5081 \n. Move guts to...
5082 (mmix_expand_epilogue): New function. Adjust for emitting
5083 epilogue as rtl. For sizes, use HOST_WIDE_INT only.
5084 (mmix_target_asm_function_end_prologue): Mark that the prologue
5085 has ended.
5086 (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
5087 (mmix_conditional_register_usage): Improve comments.
5088 (mmix_local_regno): New function.
5089 (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
5090 * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
5091 (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
5092 (mmix_get_hard_reg_initial_val): Ditto.
5093
7ab5c789
AJ
50942002-07-06 Andreas Jaeger <aj@suse.de>
5095
5096 * toplev.c (set_fast_math_flags): Don't use ISO C style function
5097 definitions.
5098 * gengtype.c (open_base_files): Likewise.
5099 (close_output_files): Likewise.
5100 * tracer.c (find_best_predecessor): Likewise.
5101 (find_best_successor): Likewise.
5102 (ignore_bb_p): Likewise.
5103
df061a43
RS
51042002-07-05 Roger Sayle <roger@eyesopen.com>
5105
5106 PR c++/7099
5107 * builtin-attrs.def: Define new attribute lists for use in
5108 builtins.def.
5109 * builtins.def [DEF_BUILTIN]: Modify to take an additional
5110 ATTRS argument, an enumerated value defined in builtin-attrs.def
5111 that represents the attribute list for the builtins. Modify
5112 all builtin functions to pass an appropriate attribute list.
5113 Specify "abort", "exit", "_exit" and "_Exit" builtins here with
5114 their required noreturn attributes.
5115 * tree.h (enum_builtin_function): Ignore the additional parameter
5116 to DEF_BUILTIN.
5117 * builtins.c (built_in_names): Likewise.
5118 * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
5119 argument with a tree representing the functions attribute list.
5120 Pass this "attrs" argument to builtin_function. No longer handle
5121 the noreturn_p processing manually.
5122 (built_in_attributes): Move the definitions from builtin-attrs.def
5123 before c_common_nodes_and_builtins.
5124 (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
5125 DEF_BUILTIN, passing it to both builtin_function and the changed
5126 builtin_function_2.
5127
5128 * doc/extend.texi: Document __builtin_abort, __builtin_exit,
5129 __builtin__exit and __builtin__Exit.
5130
e5eb8de8
SC
51312002-07-05 Stephane Carrez <stcarrez@nerim.fr>
5132
5133 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
5134 QI mode registers in soft registers.
7ab5c789 5135 ("zero_extendqihi2"): Do not take into account soft registers
e5eb8de8
SC
5136 for register allocation (use '*' constraint).
5137
4c8aed14
SC
51382002-07-05 Stephane Carrez <stcarrez@nerim.fr>
5139
5140 * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
5141 it is dead.
5142 ("*ashrsi3"): Likewise.
5143 ("*lshrsi3"): Likewise.
5144
99ed68ea
VM
51452002-07-05 Vladimir Makarov <vmakarov@redhat.com>
5146
5147 * genautomata.c (output_max_insn_queue_index_def): Take latencies
5148 into account.
5149
4c8aed14 51502002-07-05 Stephane Carrez <stcarrez@nerim.fr>
581fd392
SC
5151
5152 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
5153 address computation and memory moves.
5154
9833f679
MM
51552002-07-03 Mark Mitchell <mark@codesourcery.com>
5156
5157 PR c++/6706
5158 * dwarfout.c (output_reg_number): Fix warning message.
5159 (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
5160 before using it.
7ab5c789 5161
81bca2f5
RO
51622002-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5163
5164 * gcc/gcc.c (asm_debug): Move initialization ...
5165 (init_spec): ... here.
5166
17f44f02
NS
51672002-07-05 Nathan Sidwell <nathan@codesourcery.com>
5168
5169 * c-parse.in (extdef): Append ';'.
5170 (old_style_parm_decls): Append ';'.
5171
da77408f
DJ
51722002-07-04 Daniel Jacobowitz <drow@mvista.com>
5173
5174 * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
5175 gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
5176 to gcc_cv_as_gstabs_flag.
5177 * configure: Rebuilt.
5178
ec52b446
GK
51792002-07-04 Geoffrey Keating <geoffk@redhat.com>
5180
5181 * ggc.h (ggc_add_root): Document as obsolete.
5182
8721e3df
R
5183Thu Jul 4 07:58:01 2002 J"orn Rennecke <joern.rennecke@superh.com>
5184
5185 * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
5186 (mshflo_w): Likewise.
5187
3767c0fd
R
5188Thu Jul 4 07:36:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
5189
5190 * simplify-rtx.c (simplify_subreg): Reduce problem of finding
5191 vector mode subregs of constants to finding integer mode
5192 subregs of constants.
5193 * cse.c (cse_insn): Use simplify_gen_subreg.
5194 * convert.c (convert_to_integer): Don't strip a NOP_EXPR
5195 From a vector mode expression of different size than the
5196 target mode.
5197
4e314d1f
EC
51982002-07-03 Eric Christopher <echristo@redhat.com>
5199
5200 * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
5201 * config/mips/mips.h: Remove deprecated -m<processor> options
5202 and cc1_cpu_spec associated.
5203 (CONSTANT_ADDRESS_P): Fix last patch.
5204 (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
5205 * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
5206 sunge_sf): Remove.
5207
6f0361e3
SS
52082002-07-03 Stan Shebs <shebs@apple.com>
5209
5210 * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
5211 (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
5212 (CPP_SPEC): Remove insertion of APPLE_CC definition.
5213
3129af4c
RS
52142002-07-03 Roger Sayle <roger@eyesopen.com>
5215
5216 * combine.c (struct_undo): Change types of recorded substitutions
5217 to be either "int" or "rtx", instead of "unsigned int" and "rtx".
5218 (do_SUBST_INT): Change types of the substitution from unsigned int
5219 to int, to avoid compilation warning from SUBST_INT's only caller.
5220
5221 (make_extraction): Add cast to avoid compilation warning.
5222 (force_to_mode): Remove cast to avoid compilation warning.
5223
c7375e61
EB
52242002-07-03 Eric Botcazou <ebotcazou@multimania.com>
5225 Jeff Law <law@redhat.com>
5226
5227 * i386.md (length_immediate attribute): Fix typo.
5228 (length_address attribute): Likewise.
5229 (modrm attribute): Set it to 0 for immediate call instructions.
5230 (jcc_1 pattern): Set modrm attribute to 0.
5231 (jcc_2 pattern ): Likewise.
5232 (jump pattern): Likewise.
5233 (doloop_end_internal pattern): Explicitly set length.
5234 (leave pattern): Fix typo.
5235 (leave_rex64 pattern): Likewise.
5236
61c07d3c
DE
52372002-07-03 David Edelsohn <edelsohn@gnu.org>
5238
5239 * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
5240 in FPR as preference.
5241 (fctiwz): Same.
5242 (floatdidf2, fix_truncdfdi2): Same.
5243 (floatdisf2, floatditf2, fix_trunctfdi2): Same.
5244 (floatditf2): Same.
5245 (floatsitf2, fix_trunctfsi2): SImode in GPR.
5246 (ctrdi): Remove FPR alternative and splitter.
5247
52482002-07-03 Will Cohen <wcohen@redhat.com>
77966be3
WC
5249
5250 * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
5251
34a80643
R
5252Wed Jul 3 10:24:16 2002 J"orn Rennecke <joern.rennecke@superh.com>
5253
5254 * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
5255 than UNITS_PER_WORD, unless this is little endian and the first unit
5256 in this word. Let extract_bit_field decide how to load an element.
5257 Force arguments to matching mode.
5258 (expand_vector_unop): Likewise.
5259
5260 * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
5261 consist of word_mode elements.
5262 * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
5263 BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
5264 (build_unary_op): Allow vector types for BIT_NOT_EPR.
5265 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
5266 CONST_VECTOR.
5267 * optabs.c (expand_vector_binop): Try to perform operation in
5268 smaller vector modes with same inner size. Add handling of AND, IOR
5269 and XOR. Reject expansion to inner-mode sized scalars when using
5270 OPTAB_DIRECT. Use simplify_gen_subreg on constants.
5271 (expand_vector_unop): Try to perform operation in smaller vector
5272 modes with same inner size. Add handling of one's complement.
5273 When there is no vector negate operation, try a vector subtract
5274 operation. Use simplify_gen_subreg on constants.
5275 * simplify-rtx.c (simplify_subreg): Add capability to convert vector
5276 constants into smaller vectors with same inner mode, and to
5277 integer CONST_DOUBLEs.
5278
622d3731
KG
52792002-07-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5280
5281 * c-parse.in (parsing_iso_function_signature): New variable.
5282 (extdef_1): New, copied from...
5283 (extdef): ... here. Reset parsing_iso_function_signature.
5284 (old_style_parm_decls): Reset parsing_iso_function_signature.
5285 (old_style_parm_decls_1): New, copied from old_style_parm_decls.
5286 Warn about ISO C style function definitions.
5287 (nested_function, notype_nested_function): Reset
5288 parsing_iso_function_signature.
5289 (parmlist_2): Set parsing_iso_function_signature.
5290
5291 * doc/invoke.texi (-Wtraditional): Document new behavior.
5292
9bb46191
CD
52932002-07-02 Chris Demetriou <cgd@broadcom.com>
5294
5295 * config.gcc (mips*el-*-*): Use tm_defines to set
5296 TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
5297 * config/mips/little.h: Remove.
5298
e1c2dd26 52992002-07-02 Devang Patel <dpatel@apple.com>
c40da518 5300
c40da518 5301 * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
31e25abd
CD
5302 object as parameter. Prevent something like 'NSObject' to be
5303 used as the type for a method argument.
c40da518 5304
0879540b
NB
53052002-07-03 Neil Booth <neil@daikokuya.co.uk>
5306
5307 * cpptrad.c: Update comment.
5308
b6fb43ab 53092002-07-02 Neil Booth <neil@daikokuya.co.uk>
4e314d1f 5310
b6fb43ab
NB
5311 * doc/cpp.texi: Update for traditional preprocessing changes.
5312 * goc/cppopts.texi: Similarly.
5313
c1c5187c
ZL
53142002-07-02 Ziemowit Laski <zlaski@apple.com>
5315
5316 * c-parse.in (designator): Enable designated initializers if ObjC.
5317 (objcmessageexpr): Remove references to objc_receiver_context.
5318 * objc/objc-act.h (objc_receiver_context): Remove decl.
5319 * objc/objc-act.c (objc_receiver_context): Remove.
5320 (lookup_objc_ivar): Test objc_method_context instead of
5321 objc_receiver_context.
5322
52702ae1
R
5323Tue Jul 2 18:45:45 2002 J"orn Rennecke <joern.rennecke@superh.com>
5324
5325 * sh.c (print_operand, case 'N'): Allow zero vector.
5326 (arith_reg_or_0_operand): Likewise.
5327 (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
4e314d1f 5328 * sh.h (CONST_COSTS): 0 has 0 cost. Check OUTER_CODE for
52702ae1
R
5329 IOR, XOR, PLUS and SET and take their respective constant
5330 ranges into account.
5331 (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
5332 * sh.md (subdi3, subdi3_media): Allow zero operand.
5333 (movv8qi_i+3): Only vector that is not split is the zero vector.
5334 Fix operand 3 to simplify_subreg.
5335 (movv2si_i): Split alternative 1.
5336 (mshfhi_l_di_rev+1): New splitter.
5337
49e7b251
NB
53382002-07-02 Neil Booth <neil@daikokuya.co.uk>
5339
ba57a9c0 5340 PR preprocessor/7029
49e7b251
NB
5341 * cppinit.c (cpp_handle_option): Suppress warnings with an
5342 implicit "-w" for "-M" and "-MM".
5343 * doc/cppopts.texi: Update.
5344
a3acdc0c
RS
53452002-07-01 Roger Sayle <roger@eyesopen.com>
5346
5347 * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
5348 identifier "bzero" to "memset". Pass extra NULL_TREE argument to
5349 builtin_function.
5350
0b558962
AM
53512002-07-02 Alan Modra <amodra@bigpond.net.au>
5352
5353 * README.Portability: Fix typos.
5354
9a81c5b7
HPN
53552002-07-01 Hans-Peter Nilsson <hp@axis.com>
5356
5357 PR target/7177
5358 * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
5359 of indirections for register inside sign-extended mem part.
5360
6a2dd09a
RS
53612002-07-01 Roger Sayle <roger@eyesopen.com>
5362
5363 * tree.h: Modify builtin_function interface to take an extra
5364 argument ATTRS, which is a tree representing an attribute list.
5365
5366 * c-decl.c (builtin_function): Accept additional parameter.
5367 * objc/objc-act.c (builtin_function): Likewise.
5368 * f/com.c (builtin_function): Likewise.
5369 * java/decl.c (builtin_function): Likewise.
5370 * ada/utils.c (builtin_function): Likewise.
5371 * cp/decl.c (builtin_function): Likewise.
5372 (builtin_function_1): Likewise.
5373
5374 * c-common.c (c_common_nodes_and_builtins): Pass an additional
5375 NULL_TREE argument to builtin_function. (builtin_function_2):
5376 Likewise.
5377 * cp/call.c (build_java_interface_fn_ref): Likewise.
5378 * objc/objc-act.c (synth_module_prologue): Likewise.
5379 * java/decl.c (java_init_decl_processing): Likewise.
5380 * f/com.c (ffe_com_init_0): Likewise.
5381
5382 * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
5383 NULL_TREE argument to builtin_function.
5384 * config/arm/arm.c (def_builtin): Likewise.
5385 * config/c4x/c4x.c (c4x_init_builtins): Likewise.
5386 * config/i386/i386.c (def_builtin): Likewise.
5387 * config/ia64/ia64.c (def_builtin): Likewise.
5388 * config/rs6000/rs6000.c (def_builtin): Likewise.
5389
e20569ae
ZW
53902002-07-01 Zack Weinberg <zack@codesourcery.com>
5391
5392 * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
5393 * config/mips/t-isa3264: Likewise.
5394 * config/mmix/t-mmix: Likewise.
5395
f1b690f1
JDA
53962002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
5397
5398 * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
5399
6bfa5aac
RS
54002002-07-01 Roger Sayle <roger@eyesopen.com>
5401
5402 PR opt/4046
5403 * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
5404 A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
5405 B are truth values.
5406
9a5c1b9d
NN
54072002-07-01 Nathanael Nerode <neroden@gcc.gnu.org>
5408
5409 * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
5410
d3fc4dbc
MK
54112002-07-01 Matt Kraai <kraai@alumni.cmu.edu>
5412
3b2124df
MK
5413 * README.Portability (Function prototypes): Give an example of
5414 declaring and defining a function with no arguments.
5415
d3fc4dbc
MK
5416 * README.Portability (Function prototypes): Document new
5417 variable-argument function macros.
5418
c1b92d09
R
5419Mon Jul 1 19:55:17 2002 J"orn Rennecke <joern.rennecke@superh.com>
5420
5421 * sh.c (langhooks.h): Include.
5422 (sh_init_builtins, sh_media_init_builtins): New functions.
5423 (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
5424 (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
5425 (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
5426 (builtin_description): New struct tag.
5427 (signature_args, bdesc): New arrays.
5428 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
5429 (print_operand): Add 'N' modifier.
5430 * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
5431 (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
5432 (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
5433 (CONST_COSTS): Add special case for SHmedia AND.
5434 (PREDICATE_CODES): Add and_operand, arith_reg_dest,
5435 extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
5436 sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
5437 target_operand can also be const or unspec.
5438 * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
5439 (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
5440 (attribute type): Add new types.
5441 (anddi3): Add splitter.
5442 (movdi_const_16bit+1): Add code to handle vector constants and
5443 bitmasks efficiently.
5444 (shori_media): Have generator function made.
5445 (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
5446 (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
5447 (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
5448 (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
5449 (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
5450 (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
5451 (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
5452 (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
5453 (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
5454 (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
5455 (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
5456 (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
5457 (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
5458 (mshflo_b, mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
5459 (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
5460 (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
5461 (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
5462 (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
5463 (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
5464 (ftrv): Likewise.
5465
5466 (fpu_switch+1, fpu_switch+2): Remove constraint.
5467
97ebc06f
AH
54682002-07-01 Aldy Hernandez <aldyh@redhat.com>
5469
6c535c69
ZW
5470 * tree.c (build_function_type_list): Update function comment.
5471 Rename first argument to return_type.
97ebc06f 5472
353a10d0
NB
54732002-07-01 Neil Booth <neil@daikokuya.co.uk>
5474
5475 * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
5476 tradcif.y and related files.
5477
e34cabb3
NB
54782002-07-01 Neil Booth <neil@daikokuya.co.uk>
5479
5480 * cpptrad.c (skip_whitespace): Pass pointer to prior char.
5481
8bf3ccbb
KG
54822002-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5483
5484 * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
5485
118f8dc1
DP
54862002-06-30 Devang Patel <dpatel@apple.com>
5487
5488 * objc/objc-act.c (finish_file): Avoid finish_objc() if
5489 -fsyntax-only.
5490
e3223ea2
DC
5491Fri Jun 28 17:22:37 2002 Denis Chertykov <denisc@overta.ru>
5492 Frank Ch. Eigler <fche@redhat.com>
6c535c69 5493 Matthew Green <mrg@redhat.com>
e3223ea2
DC
5494 Richard Henderson <rtl@redhat.com>
5495 Dave Hudson <dave.hudson@ubicom.com>
5496 Jeff Johnston <jjohnstn@redhat.com>
5497 Alan Lehotsky <apl@alum.mit.edu>
5498 Bernd Schmidt <bernds@redhat.com>
5499 Graham Stott <grahams@redhat.com>
4e314d1f 5500
e3223ea2
DC
5501 * doc/extend.texi: Add ip2k port to description of attribute
5502 naked.
5503 * doc/install.texi (Specific): Add ip2k description.
5504 * doc/install-old.texi (Configurations): Add ip2k to possible
5505 cpu types.
5506 * doc/md.texi: Document ip2k constraints.
5507 * config/ip2k/crt0.S: New file.
5508 * config/ip2k/ip2k-protos.h: New file.
5509 * config/ip2k/ip2k.c: New file.
5510 * config/ip2k/ip2k.h: New file.
5511 * config/ip2k/ip2k.md: New file.
5512 * config/ip2k/libgcc.S: New file.
5513 * config/ip2k/t-ip2k: New file.
5514
66b8c57f
HPN
55152002-06-30 Hans-Peter Nilsson <hp@bitrange.com>
5516
5517 * config/mmix/mmix.md ("return"): New pattern.
5518 * config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
5519 (TARGET_USE_RETURN_INSN): New macros.
5520 (TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
5521 (TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
5522 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
5523 (MMIX_POP_ARGUMENT): New macro.
5524 (mmix_target_asm_function_prologue): When no epilogue is executed,
5525 just emit a blank line. Use MMIX_POP_ARGUMENT with final POP insn.
5526 (mmix_print_operand) <case '.'>: New case.
5527 (mmix_print_operand_punct_valid_p): Match '.'.
5528 (mmix_use_simple_return): New function.
5529 * config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
5530 * doc/invoke.texi (Option Summary) <MMIX Summary>: Add
5531 -msingle-exit, -mno-single-exit.
5532 (MMIX Options): Ditto.
5533
e7a60f56
AH
55342002-06-30 Aldy Hernandez <aldyh@redhat.com>
5535
6c535c69 5536 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
e7a60f56 5537
1ef7d32b
KG
55382002-06-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5539
5540 * gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
5541
c8b64bf2
AM
55422002-06-30 Alan Modra <amodra@bigpond.net.au>
5543
5544 * unroll.c (loop_iterations): Handle EQ loops.
5545
35aba846
DE
55462002-06-29 David Edelsohn <edelsohn@gnu.org>
5547
5548 * config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
5549 constraint in define_expand, not splitter.
5550 Formatting.
5551
b4de2f7d
AH
55522002-06-29 Aldy Hernandez <aldyh@redhat.com>
5553
6c535c69
ZW
5554 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
5555 build_function_type_list instead of build_function_type.
b4de2f7d 5556
6c535c69 5557 * config/ia64/ia64.c (ia64_init_builtins): Same.
b4de2f7d 5558
6c535c69 5559 * config/alpha/alpha.c (alpha_init_builtins): Same.
b4de2f7d 5560
6c535c69 5561 * config/rs6000/rs6000.c (altivec_init_builtins): Same.
b4de2f7d 5562
6c535c69 5563 * config/arm/arm.c (arm_init_builtins): Same.
b4de2f7d 5564
6c535c69 5565 * tree.h: Add build_function_type_list prototype.
b4de2f7d 5566
6c535c69 5567 * tree.c (build_function_type_list): New.
b4de2f7d 5568
1691051f
KG
55692002-06-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5570
5571 * collect2.c (scan_prog_file): Fix typo in message.
5572
7bfb14f1
AL
55732002-06-28 Aaron Lehmann <aaronl@vitelus.com>
5574
6c535c69 5575 * fold-cont.c: Remove unused CHARMASK.
7bfb14f1 5576
38800fe8
NB
55772002-06-29 Neil Booth <neil@daikokuya.co.uk>
5578
5579 PR preprocessor/7150
5580 * cppmain.c (scan_translation_unit_trad): Simplify.
590e1987 5581 * cppmacro.c (cpp_scan_nooutput): Handle traditional case.
38800fe8 5582
f60ed6be
NB
55832002-06-29 Neil Booth <neil@daikokuya.demon.co.uk>
5584
5585 * config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
5586 Don't use CPP_PREDEFINES.
5587 * config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
5588 Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
5589 * config/i386/djgpp.h, config/i386/i386-coff.h,
5590 config/i386/i386-interix.h, config/i386/i386-interix3.h,
5591 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
5592 config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
5593 config/i386/uwin.h: Similarly.
5594
76118c11
HB
55952002-06-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
5596
6c535c69 5597 * c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
76118c11
HB
5598 flag_inline_trees to enable inlining.
5599
9137b119
PE
56002002-06-28 Phil Edwards <pme@gcc.gnu.org>
5601
5602 * configure.in (gcc_gxx_include_dir): Change to match versioned
5603 C++ headers if --enable-version-specific-runtime-libs is used.
5604 * configure: Regenerate.
5605
6bdb8dd6
JH
56062002-06-28 Jan Hubicka <jh@suse.cz>
5607
5608 * gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
5609
f1b1186f
SC
56102002-06-28 Stephen Clarke <stephen.clarke@superh.com>
5611
5612 * combine.c (combine_simplify_rtx): Pass the mode of the
5613 shift count, not the shift operation when trying to simplify
5614 a shift on a SHIFT_COUNT_TRUNCATED target.
5615
ae9bd481
SC
56162002-06-28 Stephane Carrez <stcarrez@nerim.fr>
5617
5618 * config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
5619 avoid the auto increment addressing modes.
5620 ("*subsi3"): Likewise.
4e314d1f 5621 (split for add/sub on address): For 68HC12 push the value on
ae9bd481
SC
5622 the stack and do the operation with a pop.
5623
1d63a28a
NB
56242002-06-28 Neil Booth <neil@daikokuya.co.uk>
5625
5626 * cpplib.c (_cpp_handle_directive): Move #define-specific
5627 code to the #define handler...
5628 (do_define): ...here.
5629 (lex_macro_node): No longer a need to check for comments here.
5630
4caff360
SC
56312002-06-28 Stephane Carrez <stcarrez@nerim.fr>
5632
5633 * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
5634 * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
5635 Declare.
5636 * config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
5637 do not reorder basic blocks at the end when optimizing for size.
5638
2cc21497
SC
56392002-06-28 Stephane Carrez <stcarrez@nerim.fr>
5640
5641 * config/m68hc11/m68hc11.c (autoinc_mode): New function.
5642 (m68hc11_make_autoinc_notes): New function.
5643 (m68hc11_split_move): Be very cautious when spliting a move with
5644 auto increment/decrement modes because this may result in incompatible
5645 directions; add REG_INC notes to the resulting insn for CSE reg.
5646
3cdd2821
SC
56472002-06-28 Stephane Carrez <Stephane.Carrez@nerim.fr>
5648
5649 * config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
5650 can be a valid address.
5651
e6a82e80
AH
56522002-06-28 Aldy Hernandez <aldyh@redhat.com>
5653
6c535c69
ZW
5654 * config/rs6000/rs6000.c: Remove unusued variables from last
5655 patch.
e6a82e80 5656
a7ae18e2
AH
56572002-06-27 Aldy Hernandez <aldyh@redhat.com>
5658
5659 Revert:
6c535c69
ZW
5660 * config/rs6000/rs6000.c (rs6000_override_options): Move
5661 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
a7ae18e2 5662
3a9b8c7e
AH
56632002-06-27 Aldy Hernandez <aldyh@redhat.com>
5664
6c535c69
ZW
5665 * config/rs6000/rs6000.c (altivec_expand_builtin): Move
5666 lvx/stv/dst builtins...
5667 (altivec_expand_ld_builtin): ...to here.
5668 (altivec_expand_st_builtin): ...here.
5669 (altivec_expand_dst_builtin): ...and here (respectively).
3a9b8c7e 5670
5f9dc214
BW
56712002-06-28 Bob Wilson <bob.wilson@acm.org>
5672
5673 * config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
5674
53501a19
BS
56752001-06-08 Bernd Schmidt <bernds@redhat.com>
5676
5677 * emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
5678 subregs.
5679 * recog.c (general_operand, register_operand): Disallow them.
5680
d1a58688
NB
56812002-06-28 Neil Booth <neil@daikokuya.co.uk>
5682
5683 PR preprocessor/7138
5684 * cpplib.c (_cpp_handle_directive): Do traditional
5685 preparation after setting state.angled_headers.
5686 * cpptrad.c (scan_out_logical_line): Fix potential
5687 quote bug.
5688
55c1c60d
AH
56892002-06-27 Aldy Hernandez <aldyh@redhat.com>
5690
6c535c69
ZW
5691 * config/rs6000/rs6000.c (rs6000_override_options): Move
5692 *SUBTARGET_OVERRIDE_OPTIONS before the -m options.
55c1c60d 5693
3219c65b
BW
56942002-06-27 Bob Wilson <bob.wilson@acm.org>
5695
5696 * config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
5697 (*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
5698 zero_cost_loop_end): Remove unnecessary "parallel" from insns.
5699
c8f863fc
RS
57002002-06-27 Roger Sayle <roger@eyesopen.com>
5701
5702 * config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
5703 * config/stormy16/stormy16.h: Likewise.
5704
5705 * config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
5706 with #define.
5707
8d5362b7
GP
57082002-06-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
5709
5710 * doc/install.texi (Binaries): Add Sinix/Reliant Unix. Move
5711 Hitachi entry. Make punctuation more consistent.
5712
57694e40
MK
57132002-06-27 Matt Kraai <kraai@alumni.cmu.edu>
5714
5715 * doc/install.texi: Change ` bit' to `-bit'.
5716 * doc/md.texi: Change `-bits' to `-bit'.
5717 * doc/tm.texi: Change `-bits' to ` bits'.
5718
c635a1ec
DB
57192002-06-27 Daniel Berlin <dberlin@dberlin.org>
5720
5721 * gcse.c (hoist_code): Rewrite to only get list of dominated
4e314d1f 5722 blocks once per BB. Also fix reversed test (by removing need for
c635a1ec
DB
5723 the test at all).
5724
951a0766
NB
57252002-06-27 Neil Booth <neil@daikokuya.co.uk>
5726
5727 * cpphash.h (_cpp_set_trad_context): Remove.
5728 * cpplib.c (prepare_directive_trad): Do nothing for #define.
5729 (cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
5730 * cpptrad.c: Update comments.
5731 (_cpp_read_logical_line_trad): Let scan_logical_line handle
5732 updating the current context.
5733 (scan_logical_line): Update the current context.
5734 (_cpp_create_trad_definition): Similarly.
5735 (_cpp_set_trad_context): Remove.
5736
06470238
NB
57372002-06-27 Neil Booth <neil@daikokuya.co.uk>
5738
5739 PR preprocessor/7070
5740 * c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
5741
0c14a54d
BW
57422002-06-26 Bob Wilson <bob.wilson@acm.org>
5743
5744 * config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
5745 config/xtensa/xtensa.c (xtensa_return_addr): New function.
5746 config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
5747 config/xtensa/xtensa.md (fix_return_addr): New pattern.
5748
e9873fd5
KG
57492002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5750
5751 * mips.c (coprocessor_operand, coprocessor2_operand,
5752 symbolic_operand): Move prototypes from here...
5753 * mips-protos.h (coprocessor_operand, coprocessor2_operand,
5754 symbolic_operand): ...to here.
5755
650e8d05
R
5756Wed Jun 26 16:32:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5757
5758 * config/sh/crt1.asm: remove _stack label definition
5759 and sentinel value.
5760
c7836bcd
KG
57612002-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5762
5763 * varasm.c: Include real.h before output.h.
5764
6e1f54e2
AH
57652002-06-26 Aldy Hernandez <aldyh@redhat.com>
5766
6c535c69
ZW
5767 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
5768 check for TARGET_ALTIVEC.
6e1f54e2 5769
18fbcbcf
NN
57702002-06-26 Nathanael Nerode <neroden@gcc.gnu.org>
5771
5772 * config.gcc (vax-*-vms*): Make obselete.
5773
09bed167
KG
57742002-06-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5775
5776 * gcc.c (warn_std): Delete.
5777
8254cb45
LR
57782002-06-25 Loren J. Rittle <ljrittle@acm.org>
5779
5780 * doc/extend.texi: Fix formatting of last checkin.
5781
f9ee10ab
RO
57822002-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5783
5784 * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
5785 underscore from __IEEE_FP and __IEEE_FP_INEXACT.
5786
90989b26
AH
57872002-06-25 Aldy Hernandez <aldyh@redhat.com>
5788
6c535c69
ZW
5789 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
5790 discrepancies from motorola's documentation.
90989b26 5791
9881adff
R
5792Tue Jun 25 21:51:13 2002 J"orn Rennecke <joern.rennecke@superh.com>
5793
5794 * optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
5795 GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
4de1b7a9 5796
4e314d1f 5797 * config/sh/lib1funcs.asm (udivdi3): Make first divide step
4de1b7a9
R
5798 produce a 32 bit result before normalization, then normalize with a
5799 left shift. Compute approximative error of 2nd reciprocal
5800 approximation in 2's complement. Fix mask generation from upper
5801 longword of second divide stage result.
5802 For large divisor, fix shift count used to truncate first stage
5803 divide result; make decision if to adjust upwards based on comparison
5804 of higher parts of normalized values.
5805 (udivdi): Likewise. Undo normalization of result for large divisor
5806 case.
5807
16b46035
DM
58082002-06-25 David S. Miller <davem@redhat.com>
5809
5810 * config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
5811
0c6db544
NB
58122002-06-25 Neil Booth <neil@daikokuya.co.uk>
5813
5814 * cpplib.c (do_include_common): Revert to correct line number
5815 if -traditional.
5816 * cpptrad.c (scan_out_logical_line): Treat null directive as
5817 white space. Invlidate MI optimization for non-whitespace
5818 text outside a directive.
5819
eef709c7
KG
58202002-06-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5821
b41e09a7
KG
5822 * Makefile.in (SHELL): Set to @SHELL@.
5823 * fixinc/Makefile.in (SHELL): Likewise.
5824
eef709c7
KG
5825 * mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
5826 fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
5827 initialization.
5828
b0ac73f8
JL
58292002-06-24 Jeff Law <law@redhat.com>
5830
5831 * flow.c (propagate_one_insn): When removing an insn
5832 with a REG_LIBCALL note but not the entire libcall sequence,
5833 delete the associated REG_RETVAL note.
5834
9e96203d
R
5835Mon Jun 24 21:05:09 2002 J"orn Rennecke <joern.rennecke@superh.com>
5836
5837 * lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
5838 (udivsi3): Likewise. Rewrite SH1 implementation.
5839 (udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
5840 * sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
5841 (udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
5842 * config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
5843 (_moddi3): Likewise.
5844
5845 * lib1funcs.asm (ic_invalidate): Add data cache line writeback.
87912be7
R
5846
5847 * sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
5848 arguments into account for stack_regs.
5849
0d893a63
MK
58502002-06-24 Matt Kraai <kraai@alumni.cmu.edu>
5851
5852 * doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
5853 in examples.
4e314d1f 5854
04a5176a
AH
58552002-06-24 Art Haas <ahaas@neosoft.com>
5856
5857 * doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
5858 * doc/tm.texi (Frame Layout): Likewise.
5859
cad61762 58602002-06-20 Steve Ellcey <sje@cup.hp.com>
ec52b446 5861
cad61762
SE
5862 * gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
5863 Set float_format to i128.
5864
556a56ac
DM
58652002-06-24 David S. Miller <davem@redhat.com>
5866
5867 * config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
5868 32-bit ABI libfuncs to NULL.
5869
563facba
DM
5870 * config/sparc/sparc.md: Use define_insn_and_split. Use braced
5871 strings instead of quoted strings for code blocks.
b776892b 5872
556a56ac
DM
5873 * expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
5874 optabs if op1 is const0_rtx.
5875
a8106207
DM
5876 * Makefile.in (GTFILES): Add basic-block.h
5877 * basic-block.h (label_value_list, tail_recursion_label_list):
5878 Mark with GTY.
5879
2c088b53
NB
58802002-06-24 Neil Booth <neil@daikokuya.co.uk>
5881
5882 * cpptrad.c (scan_out_logical_line): Check recursing only when
5883 we know we have a macro invocation in the function-like case.
5884 Only call _cpp_handle_directive if we know we have a good
5885 directive, or we want to reject a bad directive.
5886
0228d06b
AM
58872002-06-24 Alan Modra <amodra@bigpond.net.au>
5888
5889 * doloop.c (doloop_valid_p): Correct comment.
5890 (doloop_modify_runtime <abs_inc != 1>): Simplify.
5891 (doloop_modify_runtime <do-while>): Don't emit code when NE.
5892
2f9021d3
DC
5893Thu Jun 20 00:26:53 2002 Denis Chertykov <denisc@overta.ru>
5894
5895 * config.gcc: Add support for ip2k.
5896
bc9c2952 58972002-06-23 Jan Hubicka <jh@suse.cz>
f81a79ef
JH
5898 Jeff Law <law@redhat.com>
5899
5900 * function.h (struct emit_status): Clarify potential contents
5901 of regno_reg_rtx array.
5902 * integrate.c (copy_rtx_and_substitute): Update comments. Make
5903 sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
bc9c2952
AJ
5904
5905 * reg-stack.c (convert_regs_exit): Push the registers to stack in
5906 proper order.
5907
faa964e5
UW
59082002-06-22 Ulrich Weigand <uweigand@de.ibm.com>
5909
5910 PR middle-end/6963
5911 * function.c (assign_stack_temp_for_type): Do not return
5912 the same MEM rtx for multiple uses of a stack slot.
5913
7ae3e57c
DM
59142002-06-22 David S. Miller <davem@redhat.com>
5915
5916 PR target/6841 target/6770 target/6719
5917 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
5918 NO_REGS for constant X when CLASS is GENERAL_OR_FP_REGS or
5919 GENERAL_OR_EXTRA_FP_REGS.
5920
847c76c8
NB
59212002-06-22 Neil Booth <neil@daikokuya.co.uk>
5922
5923 * cpptrad.c (struct fun_macro): Add line number.
5924 (scan_out_logical_line): Set it, and use it to report unterminated
5925 macro invocations.
5926
813674e0
KG
59272002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5928
5929 * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
5930 VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
5931 DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
5932 DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
5933 REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
5934 REGEXP_ONEOF, check_name): Const-ify.
5935
23361093
MT
59362002-06-21 Matt Thomas <matt@3am-software.com>
5937
5938 * config/vax/vax.c (vax_output_function_prologue): Use
bc9c2952 5939 REGISTER_PREFIX. Fix some indentation.
23361093
MT
5940 * config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
5941 (VAX_ISTREAM_SYNC): Define.
5942 (INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC. Move the
bc9c2952
AJ
5943 i-stream sync to the end.
5944 (REGISTER_PREFIX): Define as "".
23361093
MT
5945 (ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
5946
1c655a0d
JT
59472002-06-21 Jason Thorpe <thorpej@wasabisystems.com>
5948
5949 * config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
5950 configurations.
5951
3e16bfe2
KG
59522002-06-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5953
5954 * tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
5955 tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
5956
6b0760fd
MT
59572002-06-21 Matt Thomas <matt@3am-software.com>
5958
5959 * config/vax/netbsd.h: Adjust a comment.
5960 (TARGET_DEFAULT): Redefine as 0.
5961
31a78298
RH
59622002-06-21 Richard Henderson <rth@redhat.com>
5963
5964 * bb-reorder.c (make_reorder_chain_1): Search harder for the
bc9c2952
AJ
5965 vax casesi fallthru edge.
5966 * cfglayout.c (cleanup_unconditional_jumps): Use
31a78298
RH
5967 redirect_edge_succ_nodup. Do not delete ADDR_VEC insns as dead.
5968 * cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
5969 block after ADDR_VEC.
5970
d8bf1785
RO
59712002-06-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5972
5973 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
5974
00b94a44
NB
59752002-06-21 Neil Booth <neil@daikokuya.co.uk>
5976
5977 * cpperror.c (cpp_error): For traditional CPP, default to
5978 diagnostics on pfile->line.
5979 * cpplib.c (prepare_directive_trad): Set line number for
5980 diagnostics for #define too.
5981 * cpptrad.c (skip_whitespace): Skip comments properly.
5982 (_cpp_expansions_different_trad): Initialize quote2.
5983
c583c5c3
HPN
59842002-06-21 Hans-Peter Nilsson <hp@bitrange.com>
5985
5986 * config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
5987 * config/mmix/mmix.h: Ditto.
5988 * config/mmix/mmix-protos.h: Ditto.
5989 * config/mmix/mmix.c: Ditto. Fix typo in comment.
5990 * config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
5991 comment. Comment extra CC modes.
5992
1292ec0c
JH
59932002-06-20 Jan Hubicka <jh@suse.cz>
5994
5995 * cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
5996 (scope_to_insns_finalize): Do not call set_block_levels; handle
5997 sequences.
5998 (choose_inner_scope): New.
5999 * rtl.h (choose_inner_scope): Declare.
6000
0f8e3849
JDA
60012002-06-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
6002
6003 * pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
6004 HOST_WIDE_INT.
6005 * pa.c (pa_asm_output_mi_thunk): Likewise.
6006 (n_deferred_plabels): Change type to size_t.
6007 (output_deferred_plabels, output_call): Use size_t instead of int.
6008
0655301f
RH
60092002-06-20 Richard Henderson <rth@redhat.com>
6010
6011 PR target/4041
6012 * config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
6013 pattern and adjust constraints for coldfire.
6014
2b3aadfc
RH
60152002-06-20 Richard Henderson <rth@redhat.com>
6016
6017 * explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
6018
5c44e275
CD
60192002-06-20 Chris Demetriou <cgd@broadcom.com>
6020
6021 * config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
6022
8fff5435
CD
60232002-06-20 Chris Demetriou <cgd@broadcom.com>
6024
6025 * config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
6026
8a67e083
SS
60272002-06-20 Stan Shebs <shebs@apple.com>
6028
6029 * dominance.c: Include errors.h instead of error.h.
6030
017acb41
NB
60312002-06-20 Neil Booth <neil@daikokuya.co.uk>
6032
6033 * cppexp.c (cpp_interpret_integer): Don't force traditional
6034 numbers to be unsigned.
6035 * cpplib.c (prepare_directive_trad): Set line number for
6036 diagnostics.
6037 * cpptrad.c (scan_out_logical_line): Continue scanning out
6038 at start of buffer.
6039 * gcc.c (trad_capable_cpp): Use cc1 always.
6040
0ed4a390
JL
60412002-06-20 Jeffrey Law <law@redhat.com>
6042
6043 * i386.h (TARGET_DEFAULT): Do not turn on frame pointer
6044 elimination in leaf functions by default yet.
6045
988ef418
RS
60462002-06-20 Richard Sandiford <rsandifo@redhat.com>
6047
6048 * combine.c (make_extraction): Reapply to the argument of an ASHIFT.
6049
0ab2e54b
RO
60502002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6051
6052 * config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
6053 multilibs.
6054 * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
d8bf1785 6055 Fixes PR other/6836.
0ab2e54b 6056
355be0dc
JH
6057Thu Jun 20 19:42:21 CEST 2002 Jan Hubicka <jh@suse.cz>
6058 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
6059
6060 Mon Jun 10 20:42:34 CEST 2002 Jan Hubicka <jh@suse.cz>
6061
6062 * basic-block.h: Do not include et-forest.h
6063 (dominance_info): Declare as struct dominance-info.
6064 * cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
6065 deleting block.
6066 * dominance.c (struct dominance_info): Define.
6067 (BB_NODE, SET_BB_NODE): New macros.
6068 (bb_hash_func, bb_eq_func): Kill.
6069 (calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
6070 nearest_common_dominator, dominated_by_p, recount_dominator,
6071 add_to_dominance_info, delete_from_dominance_info): update for new
6072 representation.
6073 (get_dominated_by, redirect_immediate_dominators): Rewrite using
6074 enumerate_sons.
6075 * ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
6076 find_if_case_1, find_if_case_2): Remove killed blocks from dominance
6077 structure.
6078
6079 * et-forest.h: Update copyright; revamp all function to operate on
6080 nodes
6081 (et_forest_value): Kill.
6082 (et_forest_enumerate_sons, et_forest_node_value): New.
6083 * et-forest.c: Update copyright.
6084 * et-forest.h: Update copyright; revamp all function to operate on
6085 nodes
6086 (et_forest_value): Kill.
6087 (et_forest_enumerate_sons, et_forest_node_value): New.
6088
6089 Thu Jun 6 22:43:43 CEST 2002 Jan Hubicka <jh@suse.cz>
6090
6091 * basic-block.h: Inlude et-forest.h
6092 (basic_block_def): Kill dominator.
6093 (dominance_info): New type.
6094 (loops): Use dominace_info.
6095 (dominace handling functions): Take dominace_info as argument
6096 instead of bitmaps.
6097 (create_preheader): Likewise.
6098 * cfg.c (entry_exit_blocks): Kill dominator.
6099 (dump_flow_info): Do not dump dominators.
6100 * cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
6101 dominators.
6102 * cfgloop.c (flow_pre_header_find): Use dominacne_info.
6103 (flow_loops_pre_header_scan, make_forwarder_block,
6104 canonicale_loop_headers, flow_loops_find): Likewise.
6105 * dominance.c: Include error.h
6106 (idoms_to_doms): Kill.
6107 (bb_hash_func, bb_eq_func): New static functions.
6108 (debug_dominace_info): New global function.
6109 (calculate_dominance_info): Use new et forest structure.
6110 (free_dominace_info, get_immediate_dominator, set_immediate_dominator,
6111 get_dominated_by, redirect_immediate_dominators,
6112 nearest_common_dominator, dominated_by_p, verify_dominators,
6113 recount_dominator, iterate_fix_dominators, add_to_dominace_info,
6114 delete_from_dominance_info): New global functions.
6115 * gcse.c (domnators): CHange to dominance_info.
6116 (alloc_hoist_mem): Do not alloc dominators
6117 (free_code_hoist_mem): Use free_dominance_info.
6118 (compute_code_hoist_data): Use dominance_info.
6119 (hoist_code): Likewise.
6120 * ifcvt.c (post_dominators): Likewise.
6121 (find_if_case_2, if_convert): Likewise.
6122 * predict.c (process_note_predictions, process_note_prediction,
6123 estimate-probability): Likewise.
6124 * sched-rgn.c (find_rgns, init_regions): Likewise.
6125 * ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
6126 find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
6127 * ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
6128 find_evaluations, convert_to_ssa): Likewise.
6129 * ssa.h (compute_dominance_frontiers): Likewise.
6130
6131 Thu Jun 6 22:57:34 CEST 2002 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
6132
6133 * Makefile.in (et-forest.c): Add.
6134 * et-forest.c: New file.
6135 * at-forest.h: New file.
6136
ef9772c8
KG
61372002-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6138
62c71f4b
KG
6139 * c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
6140 array size calculation.
6141 * gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
6142 Likewise.
6143
ef9772c8
KG
6144 * diagnostic.c (diagnostic_kind_text): Const-ify.
6145 * gengtype.c (lang_names): Likewise.
6146
b0dd4808
JH
6147Thu Jun 20 17:25:29 CEST 2002 JAn HUbicka <jh@suse.cz>
6148
6149 * combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
6150
8433a25e
RO
61512002-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6152
6153 * config/sol2.h: New file.
6154 * config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
6155 (sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
6156 (sparc-*-chorusos*): Likewise.
6157 (sparc-*-elf*): Likewise.
6158 (sparc-*-rtems*, sparc-*-rtemself*): Likewise.
6159 (sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
6160 (sparc-hal-solaris2*): Likewise.
6161 (sparc-*-solaris2*): Likewise.
6162 (sparclite-*-elf*): Likewise.
6163 (sparc86x-*-elf*): Likewise.
6164 (sparc64-*-elf*): Likewise.
bc9c2952 6165
8433a25e
RO
6166 * config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
6167 config/sol2.h.
6168 (ASM_SPEC): Override config/sol2.h version for now.
6169 Removed obsolete GAS_REJECTS_MINUS_S variant.
6170 (WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
6171 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
6172 (TARGET_OS_CPP_BUILTINS): Likewise.
6173 Assert system=unix.
6174 (CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
6175 (LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
6176 config/sol2.h.
6177 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
6178 (ASM_CPU_SPEC): Define.
6179 (SUBTARGET_EXTRA_SPECS): Define.
bc9c2952 6180
8433a25e
RO
6181 * config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
6182 in config/sparc/sol2.h.
6183 (ASM_SPEC): Moved to config/sol2.h.
6184 (CPP_CPU_SPEC): Simplified.
6185 (STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
6186 consistency.
6187 (STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
6188 (STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
6189 STARTFILE_ARCH64_SPEC.
6190 (STARTFILE_SPEC): Moved to config/sol2.h
6191 (SUBTARGET_EXTRA_SPECS): Add startfile_arch.
6192 (LINK_ARCH32_SPEC): Moved to config/sol2.h.
6193 (LINK_ARCH64_SPEC): Simplified.
6194 (LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
6195 (LINK_SPEC): Moved to config/sol2.h
bc9c2952 6196
8433a25e
RO
6197 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
6198 config/sol2.h.
6199 Use BITS_PER_WORD for size.
6200 (WINT_TYPE, WINT_TYPE_SIZE): Likewise.
6201 (HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
6202 (CPP_PREDEFINES): Removed OS-specific part handled by
6203 TARGET_OS_CPP_BUILTINS.
6204 (CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
6205 (CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
6206 (ASM_SPEC): Moved to config/sol2.h.
6207 (PREFERRED_DEBUGGING_TYPE): Likewise.
6208 (STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
6209 (SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
6210 (TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
6211 (TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
bc9c2952 6212
8433a25e
RO
6213 * config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
6214 * config/i386/sol2gas.h: Removed.
6215
b6bb1d56
JH
6216Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz>
6217
6218 * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
6219
e50b19ce 62202002-06-16 Aldy Hernandez <aldyh@redhat.com>
4e314d1f 6221
e50b19ce
AH
6222 * gcc.c-torture/execute/simd-1.c: New.
6223
6224 * gcc.dg/simd-1.c: New.
6225
6226 * doc/extend.texi (Vector Extensions): Document that we can
6227 specify simd types not specifically supported by the hardware.
6228 Document that simd types can be used as function arguments.
6229 Document that signness does make a difference in SIMD types.
6230 Misc cleanups and revisions to the vector extensions section.
6231
6232 * simplify-rtx.c (simplify_subreg): Simplify subregs of vector
6233 constants.
6234
6235 * expr.c (vector_mode_valid_p): New.
6236
6237 * expr.h: Add vector_mode_valid_p.
6238
6239 * defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
6240
6241 * c-common.c (type_for_mode): Always build vector nodes regardless
6242 of VECTOR_MODE_SUPPORTED_P.
6243 (handle_mode_attribute): Error if we can't emulate a nonexisting
6244 vector mode.
6245 (handle_vector_size_attribute): Same.
6246
6247 * optabs.c (expand_binop): Open-code vector operations.
6248 (expand_unop): Open-code vector unops.
6249 (expand_vector_binop): New.
6250 (expand_vector_unop): New.
4e314d1f 6251
e50b19ce
AH
6252 * c-typeck.c (build_binary_op): Allow vectors in binops.
6253 Allow vectors in conditional operatiors.
6254 (build_unary_op): Allow vectors in unary minus.
6255
6256 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
6257 TARGET_ALTIVEC.
6258
74d86f4f
RH
62592002-05-20 Richard Henderson <rth@redhat.com>
6260
6261 * c-common.c (c_common_get_alias_set): Correctly handle characters.
6262 Rearrange order of expressions; don't handle vectors here.
6263 * alias.c (get_alias_set): Let vectors match their components.
6264
1867b624
CD
62652002-06-19 Chris Demetriou <cgd@broadcom.com>
6266
6c535c69 6267 * config/mips/mips.c (mips_emit_prefetch): Use hints which
1867b624
CD
6268 match desired locality.
6269
2c1d2fcb
DD
62702002-06-19 Dhananjay R. Deshpande <dhananjayd@kpit.com>
6271
6272 * config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
6273 (h8300_insert_attributes): New.
6274
84d901be
AD
62752002-06-19 Akim Demaille <akim@epita.fr>
6276
6277 * c-parse.in (initelt: identifier ':' initval): Add an empty
6278 action to fix a type clash.
6279 (aliasdecl, classdef): Add the missing closing `;'.
6280 Whitespace changes.
6281 * gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
6282 $$ = $1 type clashes.
6283
8f2e3902
EC
62842002-06-19 Eric Christopher <echristo@redhat.com>
6285
6286 * config/mips/mips.c (symbol_operand): New function.
6287 (mips_emit_prefetch): Ditto.
6288 * config/mips/mips-protos.h: Define.
6289 * config/mips/mips.h (ISA_HAS_PREFETCH): Define.
6290 (CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
6291 (LEGITIMIZE_ADDRESS): Ditto.
6292 * config/mips/mips.md (prefetch, prefetch_si_address,
6293 prefetch_si, prefetch_di_address, prefetch_di): New patterns.
6294
c894819c
EC
62952002-06-19 Eric Christopher <echristo@redhat.com>
6296
6297 * config/fp-bit.h: Add unordered defines for gofast.
6298
4005971c
VM
62992002-06-19 Vladimir Makarov <vmakarov@redhat.com>
6300
6301 * genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
6302 DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
6303 DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
6304 REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
6305 checking and without it.
6306 (decl_name, decl_mode_check_failed, regexp_name,
6307 regexp_mode_check_failed): New functions.
6308 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
6309 gen_presence_set, gen_absence_set, gen_automaton,
6310 gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
6311 gen_regexp_sequence, gen_reserv, gen_insn_reserv,
6312 automaton_decl_hash, automaton_decl_eq_p): Use the macros.
6313 (find_automaton_decl): Ditto. Set up mode of work_automaton_decl.
6314 (insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
6315 (find_insn_decl): Ditto. Set up mode of work_insn_decl.
6316 (decl_hash, decl_eq_p): Use the macros.
6317 (find_decl): Ditto. Set up mode of work_decl.
6318 (process_excls, process_presence_absence, process_decls,
6319 check_automaton_usage, process_regexp, process_regexp_decls,
6320 check_usage, loop_in_regexp, check_loops_in_regexps,
6321 process_regexp_cycles, add_advance_cycle_insn_decl,
6322 initiate_states, initiate_excl_sets,
6323 initiate_presence_absence_sets, copy_insn_regexp, transform_1,
6324 transform_2): Use the macros.
6325 (transform_3): Ditto. Check mode before making transformations of
6326 ALLOF.
6327 (regexp_transform_func, transform_insn_regexps,
6328 process_unit_to_form_the_same_automaton_unit_lists,
6329 form_the_same_automaton_unit_lists_from_regexp,
6330 form_the_same_automaton_unit_lists,
6331 process_seq_for_forming_states, process_alts_for_forming_states,
6332 create_alt_states, form_ainsn_with_same_reservs, make_automaton,
6333 form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
6334 estimate_one_automaton_bound, compare_max_occ_cycle_nums,
6335 units_to_automata_heuristic_distr, create_ainsns,
6336 units_to_automata_distr, create_automata): Use the macros.
6337 (form_regexp): Ditto. Fix typo in access to fields of ALLOF.
6338 (longest_path_length, min_issue_delay_pass_states,
6339 output_dead_lock_vect, output_tables, output_insn_code_cases,
6340 output_internal_insn_latency_func, output_print_reservation_func,
6341 output_description, output_automaton_units, generate): Use the
6342 macros.
6343 (make_insn_alts_attr): Ditto. Check case when there are not
6344 alternatives in the reservation.
6345 (make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
6346 make_bypass_attr, form_important_insn_automata_lists,
6347 expand_automata): Use the macros.
c894819c 6348
015089dd
TJ
63492002-06-20 Tim Josling <tej@melbpc.org.au>
6350
6351 * Makefile.in: Clean up code to check for misspecified languages
6352 in enable-languages.
6353
7999462c
AP
63542002-06-19 Andrew Pinski <pinskia@physics.uc.edu>
6355
84d901be 6356 * cpptrad.c (_cpp_replacement_text_len): initialize len.
7999462c 6357
9c8d079c
JM
63582002-06-19 Jason Merrill <jason@redhat.com>
6359
6360 * Makefile.in (unstrap, restrap): New targets.
6361 (bootstrap): Mention restrap.
6362
d90a95fb
MK
63632002-06-19 Matt Kraai <kraai@alumni.cmu.edu>
6364
6365 * except.c (ehl_free): Remove.
6366
6367 * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
6368 builtin_define and builtin_define_std.
6369
f01a0d8d
ID
63702002-06-19 Ian Dall <ian@sibyl.beware.dropbear.id.au>
6371
6372 * config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
6373 (sCOND): Restrict operand class so that gcc knows how to reload them.
6374 (bitfield_set): Merge two unnamed insn's using alternatives.
6375 (call_value): Remove constraint on unused uperand.
6376 (udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
6377 (udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
c894819c 6378
f01a0d8d
ID
6379 * longlong.h (count_trailing_zeros): Escape newline and beautify.
6380
62363d99
MM
63812002-06-19 Mark Mitchell <mark@codesourcery.com>
6382
6383 * Makefile.in (QMTEST_DIR): Simplify definition.
6384
099bd656
NC
63852002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
6386
6387 * config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
6388 #define.
6389
278c4662
NB
63902002-06-19 Neil Booth <neil@daikokuya.co.uk>
6391
6392 * cpphash.h (struct cpp_reader): Make date and time strings.
6393 (_cpp_builtin_macro_text, _cpp_copy_replacement_text,
6394 _cpp_replacement_text_len): New.
6395 * cppinit.c (cpp_create_reader): Update.
6396 (init_builtins): Register appropriate builtins for -traditional-cpp.
6397 * cppmacro.c (new_number_token): Remove.
6398 (_cpp_builtin_macro_text): New.
6399 (builtin_macro): Use it.
6400 (cpp_macro_definition): Update to handle traditional macros.
6401 * cppmain.c (cb_line_change): Don't do column positioning for
6402 traditional output.
6403 * cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open. New
6404 state ls_fun_close.
6405 (skip_whitespace): Fix.
6406 (maybe_start_funlike): Don't set state.parsing_args.
6407 (scan_out_logical_line): Remove duplicate error. Use lex_state
6408 rather than state.parsing_args.
6409 (push_replacement_text): Handle builtins.
6410 (_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
6411
afd1930f 64122002-06-18 Hans-Peter Nilsson <hp@axis.com>
f01a0d8d 6413 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
afd1930f
HPN
6414
6415 * config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
6416 attribute __always_inline__.
6417
5ee924c2
BW
64182002-06-18 Bob Wilson <bob.wilson@acm.org>
6419
6420 * config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
6421 when generating the call to _mcount.
6422 (NO_PROFILE_COUNTERS): Define.
6423
32c36ac8
RH
64242002-06-18 Richard Henderson <rth@redhat.com>
6425
6426 * print-rtl.c (print_rtx): Adjust NOTE argument numbers for
6427 2002-06-02 change.
6428
c985dc5e
R
6429Tue Jun 18 20:53:32 2002 J"orn Rennecke <joern.rennecke@superh.com>
6430
6431 * t-sh (MULTILIB_EXCEPTIONS): Set to ml.
6432 config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
6433 * config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
6434 * config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
e3ba8d11
R
6435
6436 * sh-protos.h (sh_pr_interrupt): Declare.
6437 * sh.c (sh_pr_interrupt): New function.
6438 (print_operand, calc_live_regs, sh_expand_prologue): Use it.
6439 (sh_hard_regno_rename_ok): Likewise.
6440 * sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
6441
e3c8eb86
VM
64422002-06-18 Vladimir Makarov <vmakarov@redhat.com>
6443
6444 * rtl.def (DEFINE_AUTOMATON): Add description of new options
6445 `time' and `v'. Fix incorrect description of option `w'.
6446
6447 * doc/md.texi: Ditto.
6448
6449 * genautomata.c (TIME_OPTION, V_OPTION): New macros.
6450 (gen_automata_option): Process the new options.
6451 (transform_2, transform_3): Initialize some variables.
6452 (initiate_automaton_gen): Use the new macros.
c894819c 6453
b2471838
RS
64542002-06-18 Richard Sandiford <rsandifo@redhat.com>
6455
6456 * config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
6457 (mips_set_return_address, mips_restore_gp): Declare.
6458 * config/mips/mips.h (struct mips_frame_info): Move to mips.c
6459 (current_frame_info): Remove.
6460 (INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
6461 * config/mips/mips.c: Remove uses of current_frame_info.
6462 (struct mips_frame_info): Moved from mips.h. Remove 'insns_len'.
6463 (struct machine_function): Add 'frame' and 'insns_len'.
6464 (current_frame_info, zero_frame_info): Remove.
6465 (mips_restore_gp, mips_set_return_address): New.
6466 (mips_initial_elimination_offset): New.
6467 * config/mips/mips.md (exception_receiver): Use mips_restore_gp.
6468 (eh_return define_split): Use mips_set_return_address.
6469
d97371e0
NB
64702002-06-18 Neil Booth <neil@daikokuya.demon.co.uk>
6471
6472 * cpplib.c (dtable): Update.
6473 (end_directive): Decrement expansion prevention count.
6474 Clear state.in_expression.
6475 (prepare_directive_trad): Set state.in_expression.
6476 Increment expansion prevention count.
6477 * cpptrad.c (enum ls): New.
6478 (_cpp_overlay_buffer): Set overlaid_buffer.
6479 (_cpp_remove_overlay): Use overlaid_buffer.
6480 (_cpp_read_logcial_line_trad): Update buffer when it might
6481 have changed.
6482 (scan_out_logical_line): Handle state transitions for assertions
6483 and defined() in #if, and for funlike invocations including the
6484 directive case. Handle '<' and '>' as a quote mechanism in
6485 #include. Warn about unterminated macro invocations.
6486 * cpphash.h (struct lexer_state): New member in_expression.
6487 (struct cpp_reader): New member overlaid buffer.
6488
807b20b0
HPN
64892002-06-18 Hans-Peter Nilsson <hp@axis.com>
6490
6491 * config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
6492 __always_inline__.
6493
8a09a7e5
AM
64942002-06-18 Alan Modra <amodra@bigpond.net.au>
6495
147d5f6f
AM
6496 * config/ia64/ia64.md (doloop_end_internal): Correct rtl.
6497
8a09a7e5
AM
6498 * doloop.c (doloop_optimize): Extract pattern from insn.
6499
390de769
MK
65002002-06-17 Matt Kraai <kraai@alumni.cmu.edu>
6501
6502 * doc/extend.texi (Function Attributes): Remove `,...' from @var.
6503
0ed4a390 65042002-06-17 Jeff Law <law@redhat.com>
912ce297
JL
6505
6506 * libgcc2.c: Do not include symcat.h or machmode.h.
6507
5c45425b
RH
65082002-06-17 Richard Henderson <rth@redhat.com>
6509
6510 PR target/6922
6511 * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
6512
9aa497ae
TT
65132002-06-17 Tom Tromey <tromey@redhat.com>
6514
6515 * dwarfout.c: Include function.h.
6516
7f11f1f9
AS
65172002-06-17 Andreas Schwab <schwab@suse.de>
6518
6519 * print-rtl.c (print_rtx): Print space before vector, not after.
6520 (debug_rtx): Clear sawclose before printing.
6521 (debug_rtx_list): Print newline after each list element.
6522 (debug_rtx_range): Likewise.
6523
df696a75
RH
65242002-06-17 Richard Henderson <rth@redhat.com>
6525
6526 * function.h (struct function) [funcdef_no]: Rename profile_label_no.
6527 (current_function_funcdef_no): Similarly.
6528 * function.c (funcdef_no): Similarly.
6529 (prepare_function_start): Set current_function_funcdef_no.
6530 (expand_function_start): Don't set current_function_profile_label_no.
6531 * dwarf2out.h (current_funcdef_number): Remove.
6532 * dwarf2out.c (current_funcdef_number): Remove. Replace with
6533 current_function_funcdef_no throughout.
6534 * dwarfout.c, vmsdbgout.c: Similarly.
6535 * except.c (sjlj_funcdef_number): Remove.
6536 (sjlj_emit_function_enter): Use current_function_funcdef_no instead.
6537 (output_function_exception_table): Likewise.
6538 * final.c (profile_function): Use current_function_funcdef_no
6539 instead of current_function_profile_label_no.
6540
97272202
VM
65412002-06-17 Vladimir Makarov <vmakarov@redhat.com>
6542
6543 * sched-ebb.c (init_ready_list): Check INSN_P first.
6544
8bccce2d
R
6545Mon Jun 17 17:26:15 2002 J"orn Rennecke <joern.rennecke@superh.com>
6546
6547 * sh.md (divsi3): Update way how to find insns in a sequence.
dec0798e
R
6548
6549 * reload1.c (merge_assigned_reloads): Don't change reloads
6550 other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
6551 to RELOAD_OTHER when there are conflicting input reloads.
6552
0af5c896
RE
65532002-06-17 Richard Earnshaw (rearnsha@arm.com)
6554
6555 * function.c (epilogue_done): Correctly build a sequence of insns for
6556 a sibcall epilogue.
6557
9d0fa9d6
NC
65582002-06-17 Nick Clifton <nickc@cambridge.redhat.com>
6559
845b1456
NC
6560 * config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
6561 #define.
6562
9d0fa9d6
NC
6563 * config/m32r/m32r.md: Replace gen_sequence with get_insns.
6564
e83f3cff
RH
65652002-06-16 Richard Henderson <rth@redhat.com>
6566
6567 * config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
6568 of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
6569
caecc099
RH
65702002-06-16 Richard Henderson <rth@redhat.com>
6571
6572 PR opt/6722
6573 * regclass.c (globalize_reg): Update regs_invalidated_by_call.
6574
3d05b15f
NB
65752002-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
6576
caecc099
RH
6577 * config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
6578 * config/i386/i386-aout.h, config/i386/i386elf.h,
6579 config/i386/sysv4.h: Remove CPP_PREDEFINES.
6580 * config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
6581 config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
6582 config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
6583 config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
3d05b15f 6584 CPP_PREDEFINES and part of CPP_SPEC.
caecc099 6585 * config/i386/sysv4-cpp.h: New.
3d05b15f 6586
8370aa3a
RH
65872002-06-16 Richard Henderson <rth@redhat.com>
6588
65a90f3c 6589 PR c/7030
8370aa3a
RH
6590 * dwarf2out.c (modified_type_die): Don't assign the qualified die
6591 to the unqualified type.
6592
e932b21b
JH
6593Sun Jun 16 22:16:10 CEST 2002 Jan Hubicka <jh@suse.cz>
6594
6595 * i386-protos.h (x86_field_alignment): Declare.
6596 * i386.c (x86_field_alignment): Define.
6597 * i386.h (ADJUST_FIELD_ALIGNMENT): New.
6598 (BIGGEST_FIELD_ALIGNMENT): Kill.
6599
7ee02381
RH
66002002-06-16 Richard Henderson <rth@redhat.com>
6601
f01a0d8d 6602 * vax.md (casesi): Use emit_jump_insn. Tidy expander pattern.
7ee02381 6603
750491fc
RH
66042002-06-16 Richard Henderson <rth@redhat.com>
6605
6606 * c-common.c (flag_ms_extensions): Move from c++ front end.
6607 * c-common.h (flag_ms_extensions): Declare.
6608 * c-decl.c (c_decode_option): Add -fms-extensions.
6609 (grokfield): Don't accept anonymous structures in ISO C mode;
6610 accept only unnamed anonymous structures in GNU C mode; accept
6611 Plan 9 extensions in MS mode.
6612 * c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
6613 SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
6614 (extension): Clear flag_iso.
6615 * doc/invoke.texi (C Dialect Options): Add -fms-extensions.
6616
c134da6b
HPN
66172002-06-16 Hans-Peter Nilsson <hp@axis.com>
6618
6619 PR target/7042
6620 * reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
6621 early if current_function_epilogue_delay_list is non-empty.
6622 * config/cris/cris.md ("return"): Add sanity check asserting that
6623 current_function_epilogue_delay_list is empty.
6624
038c7976
JL
66252002-06-16 Jeff Law <law@redhat.com>
6626
006a94b0
JL
6627 * emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
6628 sharing of hard registers.
6629
6630 * toplev.c (rest_of_compilation): Remove redundant conditional.
6631
038c7976
JL
6632 * toplev.c (rest_of_compilation): Perform a simpler, less costly
6633 cleanup of the CFG when not optimizing.
6634
0797741a
AM
66352002-06-16 Alan Modra <amodra@bigpond.net.au>
6636
6637 * gcc.c (main): Correct startfile_prefix_spec check.
6638
a6e2e53e
GK
66392002-06-12 Geoffrey Keating <geoffk@redhat.com>
6640
6641 * config.gcc: Revert rth's patch of 2002-05-18. Instead,
6642 include both darwin.o and rs6000-c.o.
6643
129e0ee8
RS
66442002-06-15 Roger Sayle <roger@eyesopen.com>
6645
6646 * expr.c (compare_from_rtx): Call simplify_relational_operation
6647 on all comparisons, not just those between integer constants,
6648 with the correct (possibly unsigned) comparison code.
6649 (do_compare_rtx_and_jump): Likewise.
6650
d5355cb2
JDA
66512002-06-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
6652
6653 * Makefile.in (tm_defines): New configuration variable.
6654 (cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
6655 Pass tm_defines in TM_DEFINES.
6656 (cs-tm_p.h): Rename DEFINES to XM_DEFINES. Pass TM_DEFINES.
6657 * config.gcc (tm_defines): New configuration variable.
6658 (hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
6659 pa-7100.h headers. Change hppa1* scheduling default to 7100LC.
6660 * configure.in: Substitute tm_defines.
6661 * configure: Rebuilt.
6662 * mkconfig.sh: Rename DEFINES to XM_DEFINES. Output TM_DEFINES.
6663 * doc/install.texi: Update.
6664 * pa/pa-700.h: Delete file.
6665 * pa/pa-7100.h: Delete file.
6666
8dcb27ed
RS
66672002-06-15 Roger Sayle <roger@eyesopen.com>
6668
6669 * fold-const.c (comparison_to_compcode): New function to convert
6670 an comparison TREE CODE into a bit-based representation.
6671 (compcode_to_comparison): New function to convert from this bit
6672 based representation back to a comparison TREE CODE.
6673 (fold_truthop): Simplify (x<y) && (x==y) and related composite
6674 comparisons.
6675
182e515e
AH
66762002-06-15 Aldy Hernandez <aldyh@redhat.com>
6677
f01a0d8d 6678 * tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
182e515e 6679
f01a0d8d
ID
6680 * stor-layout.c (compute_record_mode): Remove check for
6681 FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
6682 MEMBER_TYPE_FORCES_BLK. Pass new mode field to
6683 MEMBER_TYPE_FORCES_BLK.
182e515e 6684
f01a0d8d 6685 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 6686
f01a0d8d 6687 * config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
182e515e 6688
8773135d
JS
66892002-06-14 Jeff Sturm <jsturm@one-point.com>
6690
6691 * config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
6692
893a047c
SE
66932002-06-14 Steve Ellcey <sje@cup.hp.com>
6694
6695 * configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
6696 USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
6697 * configure, config.in: Regenerate.
6698
045d7161
EB
66992002-06-14 Eric Botcazou <ebotcazou@multimania.com>
6700
6701 * loop.c (check_final_value): Use v->always_executed
6702 instead of v->always_computable.
6703 * unroll.c (final_giv_value): Don't calculate the final
6704 value as a function of the biv if the giv is not computed
6705 for every loop iteration.
6706
048c8616 67072002-06-14 Eric Botcazou <ebotcazou@multimania.com>
c894819c 6708
048c8616
EB
6709 * loop.c (for_each_insn_in_loop): Fix formatting and comments.
6710
43e4a9d8
EB
67112002-06-14 Eric Botcazou <ebotcazou@multimania.com>
6712
52689a98 6713 PR c/6677
43e4a9d8
EB
6714 * convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
6715 the truncation down when the target type is signed.
6716 [trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
6717 * fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
6718 the conversion if the target type is a smaller type.
6719
fa4a5557
RH
67202002-06-14 Richard Henderson <rth@redhat.com>
6721
6722 * fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
6723 earlier. Re-factor comparisons vs extrema.
6724
d95eb49f
RH
67252002-06-14 Richard Henderson <rth@redhat.com>
6726
6727 * config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
6728
be202ec2
FS
67292002-06-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6730
6731 * rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
6732 * sched-deps.c (add_dependence): Likewise.
6733 (group_leader): Likewise.
6734 * sched-rgn.c (init_ready_list): Likewise.
6735 * doc/rtl.texi: Adjust accordingly.
6736
e56c4463
JL
67372002-06-13 Jeffrey Law <law@redhat.com>
6738
99a15921
JL
6739 * gcse.c (delete_null_pointer_checks_1): Inform caller if any
6740 null pointer checks were eliminated. Update prototype.
6741 (delete_null_pointer_checks): Similarly.
6742 * rtl.h (delete_null_pointer_checks): Update prototype.
6743 * toplev.c (rest_of_compilation): Only run cleanup_cfg if
6744 delete_null_pointer_checks deletes one or more null
6745 pointer checks. Do not run cleanup_cfg before gcse, the
6746 CFG is accurate and optimized at that point..
6747
e56c4463
JL
6748 * rs6000.c (rs6000_frame_related): Avoid unwanted sharing
6749 of hard registers.
6750
556b821e
UW
67512002-06-14 Ulrich Weigand <uweigand@de.ibm.com>
6752
6753 * Makefile.in (libgcc.mk): Depend on specs.
6754
fa60f36d
R
6755Fri Jun 14 12:15:11 2002 J"orn Rennecke <joern.rennecke@superh.com>
6756
6757 * sh.md (mulsi3): Update way how to find insns in a sequence.
6758
03b8ec29
DD
6759Fri Jun 14 12:04:02 2002 Dhananjay R. Deshpande <dhananjayd@kpit.com>
6760
6761 * sh.h: Define HARD_REGNO_RENAME_OK
6762 * sh.c: sh_hard_regno_rename_ok: New. If current function has
6763 interrupt_handler attribute, only registers saved on stack are OK.
6764 * sh-protos.h: Declare sh_hard_regno_rename_ok.
6765
8e831557
KK
67662002-06-14 Kaz Kojima <kkojima@gcc.gnu.org>
6767
6768 * config/sh/sh.md (jump): Emit jump insn.
6769 (call_pcrel): Get pattern of the result of gen_call_site.
6770 (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
6771
bf9d5852
NB
67722002-06-14 Neil Booth <neil@daikokuya.demon.co.uk>
6773
6774 * cpphash.h (struct cpp_buffer): Remove saved_line_base.
6775 * cpptrad.c: Update comments.
6776 (skip_whitespace, copy_comment): Take a new parameter.
6777 (skip_escaped_newlines): Don't duplicate escaped newline test.
6778 (copy_comment): Different location for CUR, decide here how
6779 to copy / replace the comment.
6780 (skip_whitespace): Copy whitespace.
6781 (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
6782 (scan_out_logical_line): Let copy comment handle keeping or
6783 replacing comments.
6784 (scan_parameters, _cpp_create_trad_definition): Update.
6785
57292ec3
AL
67862002-06-13 Alan Lehotsky <apl@alum.mit.edu>
6787
6788 * reload.c (get_secondary_mem,find_reloads_address,
6789 find_reloads_address_1): Pass reference to MEM to find_reloads_address
6790 so that LEGITIMIZE_RELOAD_ADDRESS will be called.
c894819c 6791
a6f5e048
RH
67922002-06-13 Jessica Han <jessica@cup.hp.com>
6793
6794 * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
6795 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
6796 * doc/tm.texi: Document them.
6797 * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
6798 (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
6799 (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
6800 (ASM_OUTPUT_FDESC): Likewise.
6801
3aafa0bb
EC
68022002-06-13 Eric Christopher <echristo@redhat.com>
6803
6804 * diagnostic.c (output_format): Fix thinko.
6805
8e581963
R
6806Thu Jun 13 22:34:33 2002 J"orn Rennecke <joern.rennecke@superh.com>
6807
6808 * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
6809 (DWARF2_UNWIND_INFO): Define to 0.
9d7ed806
R
6810
6811 * config/sh/sh.c (calc_live_regs): Don't use initial_value
6812 optimization for PR_MEDIA_REG.
6813
b66377c1
NB
68142002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
6815
6816 * cpphash.h (_cpp_lex_identifier_trad): Remove.
6817 * cpplib.c (end_directive): Don't skip, always remove overlay
6818 apart from #define.
6819 (prepare_directive_trad): Handle NULL pfile->directive.
6820 (_cpp_handle_directive): Always call prepare_directive_trad
6821 if traditional.
6822 * cppmain.c (check_multiline_token): Rename account_for_newlines,
6823 generalize inputs.
6824 (scan_translation_unit_trad): Use it.
6825 * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
6826 output, get escaped newline in comment close correct.
6827 (check_output_buffer, skip_whitespace): Update.
6828 (_cpp_lex_identifier_trad): Remove.
6829 (scan_out_logical_line): Handle -C and comments in directives
6830 properly.
6831
8bc6e101
R
6832Thu Jun 13 20:18:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
6833
6834 * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
6835 * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
6836 * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
6837 (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
6838 (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
6839 (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
6840 (SELECT_SH5_COMPACT_NOFPU): Likewise.
6841 (TARGET_SWITCHES): Use them.
6842 (TARGET_CPU_DEFAULT): Define if not already defined.
6843 (TARGET_DEFAULT): Use it.
6844 (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
6845 * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
6846 * config/sh/t-monolib: New file.
6847
2181005d
RS
68482002-06-13 Roger Sayle <roger@eyesopen.com>
6849
6850 * toplev.c (rest_of_compilation): Simplify (and correct) the
6851 logic of the first delete-null-pointer-checks pass.
6852
aaae0bb9
JH
6853Thu Jun 13 18:24:17 CEST 2002 Jan Hubicka <jh@suse.cz>
6854
6855 * i386.c (ix86_expand_movstr): Fix pasto.
6856
6857Thu Jun 13 18:18:17 CEST 2002 Jan Hubicka <jh@suse.cz>
b80cb6e2
JH
6858
6859 * reload.c (find_valid_class): Fix thinko in my previous patch.
6860
dd3fbd93
UW
68612002-06-13 Ulrich Weigand <uweigand@de.ibm.com>
6862
6863 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
6864 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
6865 (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
6866 (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
6867
0d0f605c
GDR
68682002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
6869
6870 * tree-inline.c (expand_call_inline): Don' mess with _DECL
3aafa0bb 6871 fields.
0d0f605c 6872
c92bcccb
GDR
68732002-06-13 Gabriel Dos Reis <gdr@codesourcery.com>
6874
6875 * diagnostic.c (output_format): Recognize "%H" as a format
6876 specifier for a location_t.
6877 (text_specifies_location): New function.
6878 (diagnostic_set_info): Use it.
6879
7f243674
JL
68802002-06-13 Jeffrey Law <law@redhat.com>
6881
6cde4876
JL
6882 * emit-rtl.c (static_regno_reg_rtx): Define.
6883 (init_emit_once): Initialize static_regno_reg_rtx.
6884 (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
6885 of building new hard reg objects once per function.
6886 (gen_rtx_REG): Try to share hard regs.
6887 * regclass.c (init_fake_stack_mems): New function broken out from
6888 init_regs.
6889 * rtl.h (init_fake_stack_mems): Declare.
6890 * toplev.c (lang_independent_init): Call init_regs before
6891 init_emit_once. Call init_fake_stack_mems after init_emit_once.
6892
110b3faa
JL
6893 * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
6894
7f243674
JL
6895 * alias.c (argument_registers): Remove.
6896 (init_alias_once): Initialize static_reg_base_value here. Remove
6897 initialization of argument_registers.
6898 (init_alias_once_per_function): Remove.
6899 (init_alias_analysis): Copy all the entries from static_reg_base_value
6900 into new_reg_base_value all at once.
6901 * rtl.h (init_alias_once_per_function): Remove declaration.
6902 * function.c (prepare_function_start): Do not call
6903 init_alias_once_per_function.
6904
6905 * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
6906 starting a sequence and emitting an INSN.
6907
a336f2e5
RS
69082002-06-13 Richard Sandiford <rsandifo@redhat.com>
6909
6910 * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
6911
2acf0fa9
DM
69122002-06-13 David S. Miller <davem@redhat.com>
6913
6914 * expmed.c (init_expmed): Remove duplicate init of 'reg'.
6915
974c43f1
NB
69162002-06-13 Neil Booth <neil@daikokuya.demon.co.uk>
6917
6918 * cpplib.c (end_directive): Handle line skipping. Only remove
6919 the rest of the line if the directive was valid.
6920 * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
6921 expanding a traditional macro.
6922 * cpptrad.c (recursive_macro): New.
6923 (read_logical_line_trad): Handle skipping.
6924 (scan_out_logical_line): Continue after a successful directive.
6925 Don't expand macros whilst skipping, or if recursing.
6926 (_cpp_create_trad_definition): scan_out_logical_line now sets
6927 the output current position.
6928
12bf26b6
EC
69292002-06-12 Eric Christopher <echristo@redhat.com>
6930
6931 From Chris Demetriou <cgd@broadcom.com>
6932 * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
6933 comment.
6934 (ISA_HAS_MADD_MSUB): Ditto.
6935 (ISA_HAS_NMADD_NMSUB): Ditto.
6936
be95b8a5
EC
69372002-06-12 Eric Christopher <echristo@redhat.com>
6938
6939 * config.gcc: Consolidate little endian handling and
6940 little/big endian targets.
6941 * config/mips/elfl.h: Remove file.
6942 * config/mips/elfl64.h: Ditto.
6943 * config/mips/ecoffl.h: Ditto.
6944 * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
6945
e03856fe
GK
69462002-06-12 Geoffrey Keating <geoffk@redhat.com>
6947
6948 * gengtype.h (xvasprintf): New prototype.
6949 (xasprintf): New prototype.
6950 (struct outf): New.
6951 (get_output_file): Return an outf_p.
6952 (header_file): Is now an outf_p.
6953 (base_files): Now are outf_p.
6954 (oprintf): New.
6955 * gengtype.c: Replace all output FILE * with outf_p; use oprintf
6956 rather than stdio operations. Use xasprintf in a few places,
6957 when appropriate.
6958 (xvasprintf): New.
6959 (xasprintf): New.
6960 (struct filemap): Delete.
6961 (files): Delete.
6962 (output_files): New.
6963 (oprintf): New.
6964 (create_file): Create an outf_p. Add parameter to indicate output
6965 file name, change all callers.
6966 (open_base_files): Create gtype-desc.c here.
6967 (get_output_file_with_visibility): Rewrite.
6968 (get_output_file_name): Just look at 'name' field in struct outf.
6969 (close_output_files): Rewrite.
6970
ec01703c
JT
69712002-06-12 Jason Thorpe <thorpej@wasabisystems.com>
6972
6973 * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
be95b8a5 6974 (MASK_G_FLOAT): Define.
ec01703c
JT
6975 (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
6976 (TARGET_SWITCHES): Likewise.
6977 (TARGET_DEFAULT): Likewise.
6978
8b0397a6
DJ
69792002-06-12 Daniel Jacobowitz <drow@mvista.com>
6980
6981 * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
6982 * config/mips/mips.c (mips_output_filename): Don't print a
6983 ".file" directive if we are using DWARF-2.
6984 (mips_output_function_prologue): Do not emit source file
6985 name for TARGET_GAS.
6986
495333a6
JH
6987Wed Jun 12 16:45:13 CEST 2002 Jan Hubicka <jh@suse.cz>
6988
6989 * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
6990 decide whether emit the short opcode.
6991 * i386.h (x86_shift1): Declare.
6992 (TARGET_SHIFT1): New macro.
6993 * i386.c (x86_shift1): New global variable.
6994
8b0397a6
DJ
6995 * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
6996 unconditionally; make loop to rebuild CFG; kill unnecesary
6997 find_basic_block calls; kill compute_bb_for_insn call.
495333a6
JH
6998 * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
6999 * haifa-sched.c (sched_init): Likewise.
7000 * ssa-ccp.c (ssa_const_prop): Likewise.
7001 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
7002
d11cea13
DM
70032002-06-11 David S. Miller <davem@redhat.com>
7004
7005 * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
7006 active_insn_p.
7007
676997cf
RH
70082002-06-11 Richard Henderson <rth@redhat.com>
7009
7010 * c-common.c (builtin_define_type_max): New.
7011 (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
7012 __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
7013
7014 From Joseph S. Myers:
7015 * glimits.h: Rewrite to expect the double underscore definitions
7016 from the compiler.
7017
7018 * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
7019 config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
7020 config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
7021 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
7022 config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
7023 config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
7024 config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
7025 __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
7026
116b7a5e
RH
70272002-06-11 Richard Henderson <rth@redhat.com>
7028
7029 * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
7030 (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
7031 (code_for_builtns): Update.
7032 (alpha_init_builtins): Add __builtin_thread_pointer and
7033 __builtin_set_thread_pointer.
7034 (alpha_expand_builtin): Handle void builtins.
7035 * doc/extend.texi (Alpha Built-in Functions): Update.
7036
0cec6af1
HPN
70372002-06-11 Hans-Peter Nilsson <hp@axis.com>
7038
7039 PR target/6997
7040 * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
7041
1c0ca89d
ZW
70422002-06-11 Zack Weinberg <zack@codesourcery.com>
7043
7044 * config.gcc: Make the name of the extra-modes file adjustable
7045 by target stanzas.
7046 (s390x, strongarm, xscale stanzas): Use this facility.
7047 * configure.in: Update to match.
7048 * configure: Regenerate.
7049
5dc8d536
AH
70502002-06-11 Aldy Hernandez <aldyh@redhat.com>
7051
1c0ca89d
ZW
7052 * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
7053 max/mins as unsigned GE compares.
5dc8d536 7054
169274cd
JT
70552002-06-11 Jason Thorpe <thorpej@wasabisystems.com>
7056
1c0ca89d 7057 * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
169274cd
JT
7058 * config/vax/bsd.h: New file.
7059 * config/vax/netbsd.h: Add missing notice.
1c0ca89d
ZW
7060 (CPP_PREDEFINES): Remove.
7061 (TARGET_OS_CPP_BUILTINS): Define.
7062 (CPP_SPEC): Use NETBSD_CPP_SPEC.
169274cd
JT
7063 * config/vax/openbsd.h: Update copyright years.
7064 (CPP_PREDEFINES): Remove.
7065 (TARGET_OS_CPP_BUILTINS): Define.
7066 * config/vax/ultrix.h: Likewise.
7067 * config/vax/vaxv.h: Likewise.
7068 * config/vax/vms.h: Likewise.
7069 * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
7070 (CPP_PREDEFINES, CPP_SPEC): Remove.
7071
2f41793e
JH
7072Wed Jun 12 01:50:28 CEST 2002 Jan Hubicka <jh@suse.cz>
7073
7074 * i386.md (addqi_1_slp, subqi_1_slp
7075 (andqi_ext0, testqi_ext0): Remove unnecesary check.
7076 (addhi*, addqi*): Simplify "dec" condition.
7077 (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
7078 (and, or, xor to QImode splitters): New.
7079 (iorqi_ext*): New.
7080 (xorqi_ext_0): New.
7081 (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
7082 (andqi_ext_1_rex64): New.
7083 (ashrqi*_slp): New.
7084 (ashlqi*_slp): New.
7085 (lshlqi*_slp): New.
7086 (rotrqi3*_slp): New.
7087 (rotlqi3*_slp): New.
7088
fc5c400a
GK
70892002-06-11 Geoffrey Keating <geoffk@redhat.com>
7090
4c4eb375
GK
7091 * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
7092 softfloat.h.
7093 * config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
7094 (CPP_ENDIAN_LITTLE_SPEC): Delete.
7095 * config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
7096 * config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
7097 __LONG_DOUBLE_128__ setting, _CALL_* setting.
7098 (CPP_DEFAULT_SPEC): Delete.
7099 (CPP_FLOAT_DEFAULT_SPEC): Delete.
7100 (CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
7101 (CPP_SYSV_DEFAULT_SPEC): Delete.
7102 (CPP_ENDIAN_BIG_SPEC): Delete.
7103 (CPP_ENDIAN_LITTLE_SPEC): Delete.
7104 (CPP_ENDIAN_SPEC): Delete.
7105 (CPP_SPEC): Don't include cpp_endian, cpp_cpu.
7106 (SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
7107 cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
7108 cpp_longdouble_default.
7109 * config/rs6000/softfloat.h: Delete.
7110 * config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
7111 (EXTRA_SPECS): Delete cpp_cpu.
7112 (TARGET_CPU_CPP_BUILTINS): New.
7113 * config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
7114 prototype.
7115 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
7116 * config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
7117 (CPP_DEFAULT_SPEC): Delete.
7118 * config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
7119 * config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
7120 * config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
7121 (CPP_DEFAULT_SPEC): Delete.
7122 * config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
7123 (CPLUSPLUS_CPP_SPEC): Likewise.
7124 (CPP_CPU_SPEC): Delete.
7125 (CPP_DEFAULT_SPEC): Delete.
7126 * config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
7127 (CPLUSPLUS_CPP_SPEC): Likewise.
7128 (CPP_CPU_SPEC): Delete.
7129 (CPP_DEFAULT_SPEC): Delete.
7130 * config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
7131 (CPP_DEFAULT_SPEC): Delete.
7132 * config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
7133 (CPP_DEFAULT_SPEC): Delete.
7134
fc5c400a
GK
7135 * doc/gty.texi: Small updates.
7136
13f0d49c
GDR
71372002-06-12 Gabriel Dos Reis <gdr@codesourcery.com>
7138
7139 * objc/objc-act.c (warn_with_ivar): Adjust calls to
7140 diagnostic_count_error.
7141 (warn_with_method): Likewise.
7142
7143 * diagnostic.h (warnings_are_errors_message): New field of
7144 diagnostic_context.
7145 (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
7146 match semantics.
7147 * diagnostic.c: Adjust calls to diagnostic_count_error through out.
7148 (diagnostic_count_diagnostic): Make aware of other kinds of
1c0ca89d 7149 diagnostics.
13f0d49c
GDR
7150 (diagnostic_initialize): Initialize warnings_are_errors_message field.
7151
0797e472
TT
71522002-06-11 Tom Tromey <tromey@redhat.com>
7153
7154 For PR java/6520:
7155 * fold-const.c (fold_convert): Don't modify existing tree's type.
7156
f288d4aa
GK
71572002-06-11 Geoffrey Keating <geoffk@redhat.com>
7158
7159 * config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
7160
d27bab4c
RH
71612002-06-11 Richard Henderson <rth@redhat.com>
7162
7163 * caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
7164
bc2a8f08
RH
71652002-06-11 Richard Henderson <rth@redhat.com>
7166
1c0ca89d 7167 * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
bc2a8f08
RH
7168 DWARF2_UNWIND_INFO is false.
7169
b217ec1b
BW
71702002-06-11 Bob Wilson <bob.wilson@acm.org>
7171
7172 * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
7173
11819f80
UW
7174 * config/s390/s390.c (emit_prologue): gen_store_multiple
7175 returns an insn now, not a pattern.
7176
c2727579
RO
71772002-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7178
7179 * Makefile.in (gccinstall.dvi): Pass absolute pathnames to
7180 $(TEXI2DVI) -o.
7181
285464d0
JH
7182Tue Jun 11 21:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
7183
7184 * i386.c (x86_promote_QImode): Set for Athlon
7185 (x86_fast_prefix): New global variable.
7186 (x86_arch_always_fancy_math_387): Fix formating.
7187 * i386.h (x86_fast_prefix): Declare
7188 (TARGET_FAST_PREFIX): define.
7189 * i386.md (and to strict_low_part, HI to SI
7190 promoting splitter): Use new macro.
7191
7192 * i386.h (RTX_COSTS): float_extend is not for free for SSE.
7193
1bb1f121
ZW
71942002-06-11 Zack Weinberg <zack@codesourcery.com>
7195
7196 * Makefile.in (distclean): Delete junk left in testsuite
7197 directory, too.
7198
88c65786
JL
71992002-06-11 Jeffrey Law <law@redhat.com>
7200
c6a3fcf0
JL
7201 * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
7202 last insn created by the splitter.
7203
0db79a6b
JL
7204 * caller-save.c (init_caller_save): Move creation of SAVEINSN
7205 and RESTINSN into into the scope of the sequence.
7206
47eb2ca8
JL
7207 * mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
7208 RETURN insns.
7209
603b4b92
JL
7210 * loop.c (loop_regs_scan): Avoid useless generation of REG objects.
7211
88c65786
JL
7212 * mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
7213 not the pattern. So extract the pattern from the insn.
882c7223
JL
7214
7215 * mips.c (embedded_pic_fnaddr_reg): Fix typo.
7216
df14489a
UW
72172002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
7218
7219 * config/s390/s390.md (movsi): Only use floating point
7220 register alternatives when operands are already fprs.
7221 (movdi_31, movdi_64): Likewise.
7222
6f9703af
DM
72232002-06-11 David S. Miller <davem@redhat.com>
7224
7225 * emit-rtl.c (try_split): Do not abort on non-INSN_P.
7226 Only run RTX equality checks on INSN_P rtl.
7227
b2ccb744
UW
72282002-06-11 Ulrich Weigand <uweigand@de.ibm.com>
7229
7230 * config/s390/s390.md (reload_base, ltorg): Remove.
1c0ca89d 7231 * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744 7232 s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
1c0ca89d 7233 * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
b2ccb744
UW
7234 s390_asm_output_pool_prologue): Likewise.
7235 * s390.h (s390_pool_start_insn): Likewise.
7236
1c0ca89d 7237 * s390.c (s390_output_symbolic_const): Remove support for
b2ccb744
UW
7238 old-style pool chunks.
7239 (s390_function_epilogue): Likewise.
1c0ca89d 7240 (s390_output_constant_pool): Likewise. Also, fix incorrect
b2ccb744
UW
7241 alignment for 64-bit literal pools.
7242 (print_operand_address): Remove 'y' and 'Y' format flags.
1c0ca89d 7243 * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
b2ccb744
UW
7244 old-style pool chunks.
7245 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
7246 (ASM_OUTPUT_POOL_EPILOGUE): Remove.
7247 (S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
7248
7249 * s390.c (consttable_operand): New function.
7250 * s390-protos.h (consttable_operand): Declare it.
7251 * s390.h (PREDICATE_CODES): Add consttable_operand.
1c0ca89d
ZW
7252 * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
7253 consttable_sf, consttable_df, pool_start_31, pool_end_31,
b2ccb744
UW
7254 pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
7255 * s390.c (struct constant, struct constant_pool): New data types.
7256 (constant_modes, gen_consttable): New variables.
1c0ca89d 7257 (s390_start_pool, s390_end_pool, s390_add_pool,
b2ccb744 7258 s390_dump_pool, s390_free_pool): New functions.
1c0ca89d 7259 (s390_chunkify_pool): Completely reimplement literal pool
b2ccb744
UW
7260 overflow handling.
7261
7262 * s390.c (s390_pool_overflow): New variable.
7263 * s390.h (s390_pool_overflow): Declare it.
1c0ca89d 7264 * s390.md (cjump, icjump): Use it to adapt length for out-of-range
b2ccb744
UW
7265 jumps in literal pool overflow situations.
7266
7267 * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
1c0ca89d 7268 (s390_frame_info): Account for possible use of RETURN_REGNUM
b2ccb744
UW
7269 by new literal pool overflow code.
7270 (s390_emit_prologue): Likewise.
7271
2f937369
DM
72722002-06-05 David S. Miller <davem@redhat.com>
7273
7274 Delete SEQUENCE rtl usage outside of reorg and ssa passes.
7275 * rtl.h (gen_sequence, emit_insns, emit_insns_before,
7276 emit_insns_before_scope, emit_insns_after,
7277 emit_insns_after_scope): Delete declaration.
7278 * ada/misc.c (insert_code_for): Use emit_insn* instead of
7279 emit_insns_foo.
7280 * config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
7281 (alpha_set_memflags): Fix comment.
7282 (set_frame_related_p): Use get_insns instead of gen_sequence.
7283 * config/alpha/alpha.md (setjmp receiver splitter): Avoid
7284 emitting no insns.
7285 * config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
7286 gen_sequence.
7287 (arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
7288 * config/fr30/fr30.c (fr30_move_double): Likewise.
7289 * config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
7290 Likewise.
7291 * config/ia64/ia64.c (spill_restore_mem): Likewise.
7292 * config/ia64/ia64.md (conditional move spliiter): Avoid emitting
7293 no insns.
7294 * config/m32r/m32r.c (gen_split_move_double): Use get_insns
7295 instead of gen_sequence.
7296 * config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
7297 (mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
7298 * config/sh/sh.c (sh_need_epilogue): Likewise.
7299 * config/sparc/sparc.md (current_function_calls_alloca, flat): New
7300 attributes.
7301 (setjmp pattern and split): Use them to avoid splitter which emits
7302 no RTL.
7303 * genattrtab.c (main): Emit include of function.h
7304 * config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
7305 get_insns instead of gen_sequence.
7306 * config/cris/cris.c (cris_split_movdx): Likewise.
7307 * emit-rtl.c (emit_insns*): Kill.
7308 (try_split): Expect insn list instead of SEQUENCE.
7309 (make_jump_insn_raw, make_call_insn_raw): Fix comments.
7310 (emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
7311 Make them abort if a SEQUENCE is given and RTL checking is
7312 enabled.
7313 (emit_*_scope): Don't forget to set scope on final insn.
7314 (gen_sequence): Move from here...
7315 * ssa.c (gen_sequence): To here as private function.
7316 * builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
7317 comments.
7318 (expand_builtin_return, expand_builtin_mathfn): Likewise.
7319 (expand_builtin_strlen): Use get_insns instead of gen_sequence.
7320 (expand_builtin_saveregs): Use emit_insn_foo, fix comments.
7321 (expand_builtin_expect_jump): Use get_insns and fix comments.
7322 * calls.c (try_to_integrate): Use emit_insn_foo.
7323 (expand_call, emit_library_call_value_1): Likewise.
7324 * expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
7325 (emit_move_insn_1): Use get_insns instead of gen_sequence.
7326 (expand_expr): Use emit_insn_foo.
7327 * cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
7328 * except.c (build_post_landing_pads): Likewise.
7329 * flow.c (attempt_auto_inc): Likewise.
7330 * stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
7331 expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
7332 * function.c (fixup_var_refs_insn): Use get_insns instead of
7333 gen_sequence.
7334 (fixup_var_refs_1): Likewise and expect insn list from gen_foo.
7335 (fixup_memory_subreg): Use get_insns instead of gen_sequence.
7336 (fixup_stack_1, purge_addressof_1, expand_main_function,
7337 get_arg_pointer_save_area): Likewise.
7338 (optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
7339 expand_function_end): Use emit_insn_foo.
7340 (record_insns, keep_stack_depressed): Work with insn list instead
7341 of SEQUENCE, fix comments.
7342 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
7343 noce_try_store_flag_constants, noce_try_store_flag_inc,
7344 noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
7345 noce_try_minmax, noce_try_abs): Use emit_insn_foo.
7346 (noce_process_if_block): Use get_insns instead of gen_sequence.
7347 * optabs.c (add_equal_note): Work with insn list, fix comments.
7348 (expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
7349 (expand_unop, expand_complex_abs, expand_unop_insn,
7350 expand_no_conflict_block): Likewise.
7351 (gen_move_insn): Use get_insns instead of gen_sequence.
7352 (gen_cond_trap): Likewise.
7353 * integrate.c (copy_rtx_and_substitute): Likewise.
7354 (emit_initial_value_sets): Use emit_insn_foo.
7355 * reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
7356 (fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
7357 now that RTL generators give insn lists.
7358 * sibcall.c (replace_call_placeholder): Use emit_insn_foo.
7359 * doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
7360 instead of gen_sequence.
7361 (doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
7362 * explow.c (emit_stack_save, emit_stack_restore): Use get_insns
7363 instead of gen_sequence.
7364 * loop.c (move_movables, emit_prefetch_instructions,
7365 gen_add_mult, check_dbra_loop, gen_load_of_final_value):
7366 Likewise.
7367 (loop_regs_update): Work with insn list instead of SEQUENCE rtl.
7368 (product_cheap_p): Likewise, and add commentary about RTL wastage
7369 here.
7370 * lcm.c (optimize_mode_switching): Use get_insns instead of
7371 gen_sequence.
7372 * profile.c (gen_edge_profiler): Likewise.
7373 * regmove.c (copy_src_to_dest): Likewise.
7374 * reg-stack.c (compensate_edge): Likewise and fix comment.
7375 * gcse.c (process_insert_insn): Likewise.
7376 (insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
7377 * jump.c (delete_prior_computation): Update comment.
7378 * genemit.c (gen_expand, gen_split, main): Use get_insns instead
7379 of gen_sequence, update comments to match.
7380 * recog.c (peephole2_optimize): Work with insn lists instead of
7381 SEQUENCE rtl.
7382 * sched-vis.c (print_pattern): Abort on SEQUENCE.
7383 * unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
7384 Use get_insns instead of gen_sequence.
7385 (copy_loop_body): Likewise and don't emit dummy NOTE.
7386 * genrecog.c: Don't mention SEQUENCE rtl in comments.
7387 * combine.c (try_combine): Expect insn lists from split generator.
7388 * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
7389 hand.
1c0ca89d 7390
43cf10b5
RS
73912002-06-11 Roger Sayle <roger@eyesopen.com>
7392 Andreas Jaeger <aj@suse.de>
7393
7394 * cfgbuild.c: Update copyright years.
7395
1062f15a
AS
73962002-06-11 Andreas Schwab <schwab@suse.de>
7397
1c0ca89d 7398 * config/m68k/m68k.h (PREDICATE_CODES): Define.
1062f15a 7399
ce3649d2
EC
74002002-06-11 Eric Christopher <echristo@redhat.com>
7401
7402 * doc/tm.texi (Run-time Target): Add comment about flag_iso
7403 and strict ANSI.
7404 * config/mips/ecoff.h (CPP_PREDEFINES): Remove.
7405 * config/mips/ecoffl.h: Ditto.
7406 * config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
7407 (CPP_PREDEFINES): Ditto.
7408 * config/mips/elfl64.h: Ditto.
7409 * config/mips/elfl.h: Ditto.
7410 * config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
7411 out until irix header consolidation.
7412 * config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
7413 with SUBTARGET_OS_CPP_BUILTINS.
7414 * config/mips/iris6.h: Ditto.
7415 (CPLUSPLUS_CPP_SPEC): Remove.
7416 * config/mips/linux.h: Ditto.
7417 * config/mips/netbsd.h: Ditto.
7418 * config/mips/openbsd.h: Ditto.
7419 * config/mips/rtems.h: Ditto.
7420 * config/mips/rtems64.h: Ditto.
7421 * config/mips/sni-svr4.h: Ditto.
7422 * config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
7423 ISA_MIPS32, ISA_MIPS64): New defines.
7424 (GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
7425 ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
7426 ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
7427 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
7428 (TARGET_CPU_CPP_BUILTINS): Define.
7429 (CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
7430 * config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
7431 (movdicc): Remove check for ISA_MIPS32.
7432 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
7433 sunordered_df, sunordered_sf, sordered_df, sordered_sf,
7434 sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
7435 sunge_sf, sunle_df, sunle_sf): New patterns.
7436
bc3437ba
NB
74372002-06-11 Neil Booth <neil@daikokuya.demon.co.uk>
7438
7439 * Makefile.in: Update cppmain.o.
7440 * cpphash.h (struct cpp_reader): Move some members to a
7441 nested structure.
7442 (trad_line): Rename saved_line.
7443 (_cpp_read_logical_line_trad): Update.
7444 (_cpp_remove_overlay): New.
7445 * cppinit.c (cpp_create_reader): No need to set saved_line.
7446 (cpp_destroy): Update.
7447 (cpp_read_main_file): Only overlay if compiling.
7448 * cpplex.c (continue_after_nul): Return false if in directive.
7449 * cpplib.c (EXPAND): New.
7450 (directive_table, SEEN_EOL): Update.
7451 (end_directive): Remove overlay if traditional; don't skip
7452 line in traditional #define.
7453 (prepare_directive_trad): New.
7454 (_cpp_handle_directive, run_directive): Update for traditional
7455 directives.
7456 (lex_macro_node): Simplify, don't use lex_identifier_trad.
7457 * cpplib.h (struct options): Add preprocess_only.
7458 * cppmain.c: Don't include intl.h.
7459 (cpp_preprocess_file): Set options->preprocess_only.
7460 (scan_translation_unit_trad): Fix, and print line numbers.
7461 * cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
7462 maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
7463 save_replacement_text, _cpp_create_trad_definition): Update for
7464 variable renaming.
7465 (_cpp_overlay_buffer): Save line number.
7466 (_cpp_remove_overlay): Rename from restore_buff, restore line.
7467 (_cpp_read_logical_line_trad): Don't handle overlays here.
7468 (scan_out_logical_line): Process directives.
7469
b25bb36a
DS
74702002-06-11 Danny Smith <dannysmith@users.sourforge.net>
7471
7472 * gthr-win32.h: Wrap functions in extern "C".
7473 (__gthread_key_t): Typedef as unsigned long,
7474 not win32 DWORD.
7475 (__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
7476 (__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
7477 (__gthr_win32_once, __gthr_win32_key_create,
7478 __gthr_win32_key_delete, __gthr_win32_getspecific,
7479 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
7480 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
7481 __gthr_win32_mutex_unlock): Declare.
7482 (__gthread_once,__gthread_key_create,
7483 __gthread_key_delete, __gthread_getspecific,
7484 __gthread_setspecific, __gthread_mutex_init_function,
7485 __gthread_mutex_lock,__gthread_mutex_trylock,
7486 __gthread_mutex_unlock): Call corresponding
7487 __gthr_win32_* extern implementations if #defined
7488 __GTHREAD_HIDE_WIN32API.
7489 * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
ce3649d2 7490 $(srcdir)/config/i386/gthr-win32.c
b25bb36a
DS
7491 * config/i386/gthr-win32.c: New implementation file.
7492 (__gthr_win32_once, __gthr_win32_key_create,
7493 __gthr_win32_key_delete, __gthr_win32_getspecific,
7494 __gthr_win32_setspecific, __gthr_win32_mutex_init_function,
7495 __gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
7496 __gthr_win32_mutex_unlock): New functions, based on
7497 static inlines in gthr-win32.h.
7498
a69c385e
BW
74992002-06-10 Bob Wilson <bob.wilson@acm.org>
7500
7501 * config/xtensa/xtensa.c (override_options): Don't warn about
7502 using -fpic or -fPIC when PIC is enabled by default.
7503
e654730d
RS
75042002-06-10 Roger Sayle <roger@eyesopen.com>
7505
7506 * toplev.c (rest_of_compilation): Revert flag_if_conversion change.
7507
a5381466
ZW
75082002-06-10 Zack Weinberg <zack@codesourcery.com>
7509
7510 * Makefile.in (MACHMODE_H): Add @extra_modes_file@.
ce3649d2 7511 * configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
a5381466
ZW
7512 exists, substitute its pathname as @extra_modes_file@, define
7513 EXTRA_MODES_FILE to be an appropriate string to #include it
7514 with, and define EXTRA_CC_MODES to 1.
7515
7516 * machmode.def: Update comments. Include EXTRA_MODES_FILE if
7517 it's defined. Get rid of redundancy in calling sequence for
7518 CC; don't use it to define CCmode, to avoid a warning.
7519 * libgcc2.c: Include symcat.h for the sake of machmode.def.
7520
7521 * arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
7522 i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
7523 pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
7524 New files.
7525 * arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
7526 pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
7527
7528 * doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
7529 defining extra CC modes.
7530
852c6ec7
RS
75312002-06-10 Roger Sayle <roger@eyesopen.com>
7532 Andreas Jaeger <aj@suse.de>
7533
7534 * cfgrtl.c (create_basic_block_structure): Remove index argument
7535 and use last_basic_block++ instead. (create_basic_block): Update.
7536 * cfgbuild.c (find_basic_blocks_1): Likewise.
7537
7538 * cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
7539 * haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
7540 * sched-ebb.c (schedule_ebbs): Likewise.
7541 * sched-rgn.c (schedule_insns): Likewise.
7542 * ssa-ccp.c (ssa_const_prop): Likewise.
7543 * ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
7544 * toplev.c (rest_of_compilation): Likewise.
7545 * config/ia64/ia64.c (ia64_reorg): Likewise.
7546
60c86d4e
RS
75472002-06-10 Roger Sayle <roger@eyesopen.com>
7548
7549 * simplify-rtx.c (simplify_replace_rtx): Allow replacement
7550 of matching registers.
7551
9543a9d2
RS
75522002-06-10 Roger Sayle <roger@eyesopen.com>
7553
7554 * toplev.c (rest_of_compilation): Disable early if-conversion pass.
7555 * gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
7556
38e18619
HPN
75572002-06-10 Hans-Peter Nilsson <hp@bitrange.com>
7558
7559 * config/mmix/mmix.h: Improve comments.
7560 (CPP_SPEC, CPP_PREDEFINES): Don't define.
7561 (TARGET_CPU_CPP_BUILTINS): Define.
7562 (CANONICALIZE_COMPARISON): Don't define, replace with comment.
7563 (PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
7564 unused predicate.
7565 * config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
7566 compiler warning.
7567 (mmix_constant_address_p): Remove another
7568 redundant test before case.
7569 (mmix_canonicalize_comparison): Remove unused function.
7570 (mmix_print_operand_address): Don't test and adjust for operand in
7571 non-canonical format.
7572 (mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
7573 (mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
7574
ac17cd8f
ZW
75752002-06-10 Zack Weinberg <zack@codesourcery.com>
7576
7577 * config/m32r/m32r.h: Don't define SELECT_CC_MODE.
7578 * config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
7579 * config/m32r/m32r.c: Don't define m32r_select_cc_mode.
7580 (gen_compare): Use CCmode unconditionally.
7581
7b668f9e
JJ
75822002-06-10 Jakub Jelinek <jakub@redhat.com>
7583
7584 PR optimization/6759
7585 * cse.c (cse_insn): Fold src_eqv just once, store it folded back into
7586 the REQ_EQUAL note.
7587
85d49058
JJ
75882002-06-10 Jakub Jelinek <jakub@redhat.com>
7589
7590 PR c/6660
7591 * c-decl.c (grokfield): Allow user defined types if they declare
7592 structs or unions for unnamed fields.
7593
50f30e6b
JJ
75942002-06-10 Jakub Jelinek <jakub@redhat.com>
7595
7596 PR c/6809
7597 * print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
7598
156755ac
JJ
75992002-06-10 Jakub Jelinek <jakub@redhat.com>
7600
7601 PR optimization/6842
7602 * combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
7603 operand subreg cannot be simplified.
7604
5d056e9b
JJ
76052002-06-10 Jakub Jelinek <jakub@redhat.com>
7606
7607 * varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
7608 (compare_constant): Likewise.
7609 (output_addressed_constants): Likewise.
7610
2bf87216
JJ
76112002-06-10 Jakub Jelinek <jakub@redhat.com>
7612
7613 * cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
7614 merge bb with itself.
7615
135fd2d8
RH
76162002-06-10 Richard Henderson <rth@redhat.com>
7617
7618 * config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
7619 (builtin_zapnot): Likewise.
7620
7621 * config/alpha/ev5.md: Don't combine shift and mvi insns in one
7622 reservation.
7623
fce5a9f2
EC
76242002-06-10 Eric Christopher <echristo@redhat.com>
7625
7626 * config/i386/i386.c (ix86_osf_output_function_prologue): Remove
7627 prototype and function.
7628 (TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
7629 (call_insn_operand): Remove half pic references.
7630 (legitimate_address_p): Ditto.
7631 * config/i386/i386.h: Remove half pic defines.
7632
95b1627e
EC
76332002-06-10 Eric Christopher <echristo@redhat.com>
7634
7635 * doc/extend.texi (Return Address): Add note explaining the side-
7636 effects of inlining on __builtin_return_address.
7637
aea185b3
TT
76382002-06-10 Tom Tromey <tromey@redhat.com>
7639
7640 * Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
7641 (c-common.o): Depend on langhooks.h.
7642
afb03408
NB
76432002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
7644
7645 * cpphash.h (_cpp_read_logical_line_trad,
7646 _cpp_expansions_different_trad): Update prototypes.
7647 * cpplex.c (continue_after_nul): New.
7648 * cppmain.c: Include cpphash.h.
7649 (scan_translation_unit_trad): New.
7650 (cpp_preprocess_file): Call it.
7651 * cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
7652 overlay.
7653 (_cpp_expansions_different_trad): Update prototype.
7654
2754d3c5
R
7655Mon Jun 10 18:02:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
7656
7657 Fix cfi generation for SH[1-4]:
7658
7659 * sh.c (frame_insn): New function.
7660 (output_stack_adjust): Add parameter emit_fn. All callers changed.
7661 (push): Now returns rtx. Use frame_insn.
7662 (sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
7663 of a DF register.
7664 * sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
7665
ad854f24
ZW
76662002-06-10 Zack Weinberg <zack@codesourcery.com>
7667
7668 * Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
7669 and gtype-desc.c.
7670 (mostlyclean): Delete specs.h, options.h, gencheck.h here...
7671 (distclean): ... not here. But do delete all testsuite/*.log,
7672 testsuite/*.sum files here. Delete mkheaders. Delete
7673 po/*.gmo and the testsuite directory in a split tree build.
7674
bf1660a6
JL
76752002-06-10 Jeffrey Law <law@redhat.com>
7676
7677 * alias.c (static_reg_base_value): New to hold RTL for
7678 items allocated once per function for the aliasing code.
7679 (init_alias_once_per_function): Initialize static_reg_base_value.
7680 (init_alias_analysis): Avoid throw-away allocations of RTL by
7681 using pre-computed values in static_reg_base_value.
7682 * function.c (prepare_function_start): Call
7683 init_alias_once_per_function appropriately.
7684 * rtl.h (init_alias_once_per_function): Declare.
7685 * caller-save (init_caller_save): Restructure slightly to
7686 avoid lots of silly RTL generation.
7687 * expr.c (init_expr_once): Likewise.
7688 * reload1.c (reload_cse_regs_1): Allocate throw-away register
7689 RTL object here. Pass it into children.
7690 (reload_cse_simplify_operands): Use passed-in register RTL
7691 object.
7692 (reload_cse_simplify): Pass through throw-away register
7693 RTL object.
7694
8dc58484 76952002-06-10 Daniel Berlin <dberlin@dberlin.org>
ad854f24 7696
8dc58484
DB
7697 * Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
7698
ea16b5ee
RS
76992002-06-10 Richard Sandiford <rsandifo@redhat.com>
7700
7701 * gcc.c (process_command): Avoid assignment to read-only location.
7702 Fix sizeof calculation.
7703
6618c5d4
NB
77042002-06-10 Neil Booth <neil@daikokuya.demon.co.uk>
7705
7706 * cpphash.h (struct cpp_macro): Put comments on their own lines.
7707 (_cpp_expansions_different_trad): New.
7708 * cppmacro.c (warn_of_redefinition): Fix for traditional case.
7709 * cpptrad.c (canonicalize_text): New.
7710 (scan_out_logical_line): Handle no arguments correctly.
7711 (save_replacement_text): Commit memory when finished.
7712 (_cpp_expansions_different_trad): New.
7713
96e3ac4f
TJ
77142002-06-10 Tim Josling <tej@melbpc.org.au>
7715
7716 * gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
7717 TREELANG and COBOL.
7718 (lang_names): Add treelang and cobol.
7719 (get_file_basename): Add code to support treelang and cobol as
7720 4th and 5th users of c-common.c.
7721
37a4aa31
GK
77222002-06-09 Geoffrey Keating <geoffk@redhat.com>
7723
7724 * Makefile.in (install-driver): Install driver as
7725 $(target_alias)-gcc-$(version).
7726 * gcc.c (spec_version): Make const.
7727 (process_command): Handle -V and -b by using exec.
7728 * doc/invoke.texi (Target Options): Restore -V option,
7729 update docs for -b option.
7730
02ef40d9
TJ
77312002-06-10 Tim Josling <tej@melbpc.org.au>
7732
ad854f24
ZW
7733 * configure.in (remaining_languages_check):
7734 Added check that all languages specified were found.
02ef40d9
TJ
7735 Exit if not found. Previous behaviour was silent failure.
7736 * configure: Regenerated.
7737
b38b97c4 77382002-06-10 Tim Josling <tej@melbpc.org.au>
ad854f24 7739
1c0ca89d 7740 First steps to making treelang documentation compliant, based on
b38b97c4
TJ
7741 instructions in sourcebuild.texi. Also add to gcc.c list of
7742 default languages.
ad854f24 7743
b38b97c4
TJ
7744 * doc/contrib.texi: Add self as contributor of treelang.
7745
7746 * doc/frontends.texi: Add mention of treelang.
7747
7748 * doc/invoke.texi (Overall Options): Add mention of treelang.
7749
7750 * doc/standards.texi: Add mention of treelang.
7751
ae9dbf1f
HPN
77522002-06-09 Hans-Peter Nilsson <hp@axis.com>
7753
7754 * config/cris/cris.c: Include ggc.h
7755
1ce676a0
NB
77562002-06-09 Neil Booth <neil@daikokuya.demon.co.uk>
7757
7758 * cpphash.h (_cpp_push_text_context): Update.
7759 (_cpp_arguments_ok): New.
7760 * cppmacro.c (_cpp_arguments_ok): New, split out from...
7761 (collect_args): ...here.
7762 (_cpp_push_text_context): Change inputs.
7763 * cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
7764 replace_args_and_push): New.
7765 (lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
7766 Don't use IS macros directly.
7767 (scan_out_logical_line): Handle function-like macro argument
7768 collection.
7769 (push_replacement_text): Update.
7770 (replacement_length): Remove.
7771 (_cpp_create_trad_definition): Don't skip whitespace before
7772 checking for '('.
7773
25f2e176
MM
77742002-06-09 Marek Michalkiewicz <marekm@amelek.gda.pl>
7775
7776 * config/avr/avr.c (avr_mcu_types): Update for new devices.
7777 * config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
7778 (LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
7779 * config/avr/avr.md ("type" and "length" attributes): New type
7780 "xcall", length 1 or 2 if AVR_MEGA. Use in all patterns that
7781 output a single "call" or "rcall" insn depending on device size.
7782 * config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
7783
309323c2
DE
77842002-06-09 David Edelsohn <edelsohn@gnu.org>
7785
7786 * config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
7787 synonym for 630. Add power4. Remove embedded processors. Use -m604
7788 assembler option.
7789 (CPP_CPU_SPEC): Add power3 and power4.
7790 (PROCESSOR_DEFAULT): Change to 604e.
7791 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
7792 (CPP_CPU_SPEC): Similar additions.
7793 (enum process_type): Add POWER4.
7794 (RTX_COSTS): Add POWER4.
7795 (CPP_CPU_SPEC): Similar additions.
7796 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
6ef0903d 7797 (PROCESSOR_DEFAULT64): Define.
309323c2
DE
7798 * config/rs6000/rs6000.c (rs6000_override_options): Add power4.
7799 (rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
7800 branch adjustment.
7801 (rs6000_issue_rate): Add Power4.
7802 * config/rs6000/rs6000.md (cpu attr): Add power4.
7803 (iu compare): Remove 604, 604e, 620, 630.
7804 Add basic Power4 scheduling information.
7805 (mfcr/mtcrf): Change type attribute to cr_logical.
7806
1f8e4682
KG
78072002-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7808
57d80297
KG
7809 * gengtype.h (error_at_line): Use PARAMS, not VPARAMS. Add
7810 ATTRIBUTE_PRINTF_2.
7811 * gengtype-lex.l: Fix format specifier warning.
7812
1f8e4682
KG
7813 * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,
7814 not isspace.
7815 * gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
7816 lieu of isspace/IDchar.
7817 * gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
7818 * read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
7819 ISSPACE.
7820
5a9ee623
ZW
78212002-06-08 Zack Weinberg <zack@codesourcery.com>
7822
7823 * Makefile.in (LIBCPP_OBJS): Take out version.o.
7824 * cpphash.h (cpp_reader): Take out print_version member.
7825 * cppinit.c: (cpp_handle_option): Don't do anything with
7826 -version. Just set help_only for --version, --target-help.
7827 Just set verbose option for -v.
7828 (cpp_post_options): Don't print a version string.
7829
c16e5a35
MM
78302002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
7831
7832 * config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
7833 (avr_section_type_flags): New, handle .noinit* sections.
7834
79bc889e
JT
78352002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7836
7837 * config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
7838 and include netbsd_entry_point.
7839 (SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
7840 (NETBSD_ENTRY_POINT): Define.
7841
6a79bb0a
JT
78422002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7843
7844 * config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
5a9ee623 7845 if not already defined.
6a79bb0a
JT
7846 (EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
7847
e52b6b63
MM
78482002-06-08 Marek Michalkiewicz <marekm@amelek.gda.pl>
7849
7850 * config/avr/avr.c (avr_regs_to_save): No need to save any registers
7851 in a noreturn function.
7852 (avr_output_function_prologue, avr_output_function_epilogue):
7853 Correct function size calculation. Do not crash on empty function.
7854 (avr_output_function_epilogue): No need for epilogue after a BARRIER.
7855
1569d670
JT
78562002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7857
7858 * config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
7859 netbsd_link_spec and netbsd_entry_point.
7860 (LINK_SPEC): Use %(netbsd_link_spec).
7861 (NETBSD_ENTRY_POINT): Define.
7862
cfb06024
JT
78632002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7864
7865 * config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
7866 linker emulation.
7867 (LINK_ARCH64_SPEC): Likewise.
7868 (LINK_SPEC, NETBSD_ENTRY_POINT): Define.
7869 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
7870
5a9ee623
ZW
78712002-06-08 Marc Espie <espie@openbsd.org>
7872
7873 * lists.c (free_list): Fix typo in comment.
e3623158 7874
272cdf58
AJ
78752002-06-08 Andreas Jaeger <aj@suse.de>
7876
7877 * lcm.c (optimize_mode_switching): Add unused attribute for
7878 variable.
7879
7880 * sched-deps.c (sched_analyze): Remove unused variable.
7881
bf3f2a12
GDR
78822002-06-08 Gabriel Dos Reis <gdr@codesourcery.com>
7883
7884 * diagnostic.def: Don't capitalize diagnostict descriptors.
7885
523a5f2f
JT
78862002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7887
7888 * config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
7889 (LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
7890 (NETBSD_ENTRY_POINT): Define.
7891
a3e944f9
JT
78922002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7893
7894 * config/i386/netbsd-elf.h (LINK_SPEC): Define as
7895 NETBSD_LINK_SPEC_ELF.
7896 (SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
7897 (NETBSD_ENTRY_POINT): Define.
7898 * config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
7899 (SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
7900 netbsd_entry_point.
7901 (NETBSD_ENTRY_POINT): Define.
7902
854928a0
JT
79032002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7904
7905 * config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
7906 netbsd_link_spec and netbsd_entry_point.
7907 (LINK_SPEC): Use %(netbsd_link_spec).
7908 (NETBSD_ENTRY_POINT): Define.
7909
6bb5d2e7
JT
79102002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
7911
7912 * config/netbsd-elf.h (LINK_SPEC): Rename to...
7913 (NETBSD_LINK_SPEC_ELF): ...this. Use %(netbsd_entry_point)
7914 to specify program entry point.
7915
e50126e8
JL
79162002-06-07 Jeff Law <law@redhat.com
7917
7918 * emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
272cdf58 7919 * combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
e50126e8
JL
7920 than creating a new register.
7921 (distribute_notes): Likewise.
7922 * df.c (df_reg_use_gen): Likewise.
7923 (df_reg_clobber_gen): Likewise.
7924 (df_ref_record): Likewise.
7925 * expr.c (use_regs): Likewise.
7926 * flow.c (propagate_one_insn): Likewise.
7927 (mark_set_1): Likewise.
7928 (mark_used_reg): Likewise.
7929 * reload.c (emit_reload_insns): Likewise.
7930
bc9c18c3
RS
79312002-06-07 Roger Sayle <roger@eyesopen.com>
7932
7933 * simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
7934 (ne (comp x y) 0) into (comp x y) where comp is a comparison code.
7935 Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
7936 comparison code comp can be reversed.
7937
437f1df1
RS
79382002-06-07 Roger Sayle <roger@eyesopen.com>
7939
7940 * fold-const.c (fold) [EQ_EXPR]: Place both integer and real
7941 constants last in comparisons. Optimize (x+1.0)>0.0 into the
7942 equivalent x > -1.0 when -ffast-math.
7943
cd24b8a4
JT
79442002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
7945
7946 * config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
7947 * config/mips/t-netbsd: New file.
7948
09e77dee
ZW
79492002-06-07 Zack Weinberg <zack@codesourcery.com>
7950
7951 * cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
7952 options their own entries.
7953 (parse_option): Clarify comment.
7954 (cpp_handle_option): Remove 'ignore' parameter and OPT_W
7955 special case. Replace if/strcmp chain for -W options with
7956 use of new OPT_* entries for them.
7957 (cpp_handle_options): Update to match.
7958 * cpplib.h: Remove last parameter to cpp_handle_option from prototype.
7959 * c-decl.c: Update call to cpp_handle_option.
7960
942030dc
AD
79612002-06-07 Akim Demaille <akim@epita.fr>
7962
7963 * gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
7964 Whitespace changes.
7965
f2846820
JL
79662002-06-07 Jeffrey Law <law@redhat.com>
7967
7968 * sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
7969 on empty lists.
7970
4bafaa6f
L
79712002-06-07 H.J. Lu (hjl@gnu.org)
7972
7973 * configure.in: Add --enable-__cxa_atexit.
7974 * configure: Regenerated.
7975 * config.in: Likewise.
7976
7977 * defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
7978 not defined.
7979
caef5b46
GDR
79802002-06-07 Gabriel Dos Reis <gdr@merlin.nerim.net>
7981
7982 * diagnostic.c (diagnostic_build_prefix): Fix initialization.
7983
ac64a17c
JT
79842002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
7985
7986 * config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
7987
97459791
JM
79882002-06-07 Jason Merrill <jason@redhat.com>
7989
7990 * cppexp.c (num_equality_op): Use a temporary variable to work
7991 around gcc 3.0.4 bug.
7992
4b1d52c7
GDR
79932002-06-07 Gabriel Dos Reis <gdr@codesourcery.com>
7994
7995 * diagnostic.c (diagnostic_build_prefix): Tidy.
7996
c70f6ed3
NB
79972002-06-07 Neil Booth <neil@daikokuya.demon.co.uk>
7998
7999 * cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
8000 scan_parameters, save_replacement_text, replacement_length): New.
8001 (scan_out_logical_line): Take a macro and save parameters if
8002 non-NULL.
8003 (_cpp_logical_line_trad): Update.
8004 (_cpp_create_trad_definition): Update to handle function-like
8005 macros.
8006 * cpplex.c (new_buff): Update.
8007 (struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
8008 * cpphash.h: ...here.
8009 (CPP_ALIGN2, _cpp_save_parameter): New.
8010 * cppmacro.c (save_parameter): Rename, export.
8011 (parse_params): Update.
8012
aec2ac46
AJ
80132002-06-07 Andreas Jaeger <aj@suse.de>
8014
8015 * config/mmix/mmix.c: Remove extra broken prototype for
8016 mmix_init_machine_status.
8017
9f313342
GK
80182002-06-06 Geoffrey Keating <geoffk@redhat.com>
8019
8020 * gengtype.c: Add comments before all the routines.
8021
3fa1b448
JT
80222002-06-07 Jason Thorpe <thorpej@wasabisystems.com>
8023
8024 * config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
8025 from and add t-sh64 to ${tmake_file}.
8026 (sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
8027 * config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
8028 * config/sh/t-netbsd-sh5-32: Remove.
8029 * config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
8030 MULTILIB_ENDIAN.
8031 (MULTILIB_DIRNAMES): Define.
8032
0d682900
JH
8033Thu Jun 6 23:14:46 CEST 2002 Jan Hubicka <jh@suse.cz>
8034
8035 * i386.md (and promoting splitters): Disable QI to SImode promoting
8036 when doing so changes immediate to be 32bit.
8037
8038 * rtl.h (emit_*_scope): Declare.
8039 * emit-rtl.c (emit_*_scope): New global functions.
8040 (try_split): Copy scope.
8041 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
8042 noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
8043 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
8044 noce_process_if_block, find_cond_trap): Copy scopes.
8045 * recog.c (peephole2_optimize): likewise.
8046
c991649c
JL
80472002-06-06 Jeffrey Law <law@redhat.com>
8048
8049 * h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
8050
8a5d66c4
R
8051Thu Jun 6 21:06:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
8052
8053 * gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
8054
d7f8491b
RO
80552002-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8056
8057 * Makefile.in (TEXI_GCCINSTALL_FILES): Define.
8058 ($(docdir)/gccinstall.info): New target.
8059 (info): Depend on it.
8060 (gccinstall.dvi): New target.
8061 (dvi): Depend on it.
8062 * doc/.cvsignore: Ignore new info files.
8063 * doc/install.texi (@setfilename): Reflect new info filename.
8064
eaeb7de8
R
8065Thu Jun 6 15:57:23 2002 J"orn Rennecke <joern.rennecke@superh.com>
8066
8067 * sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
8068 on an UNSPEC.
8069
0c7aeb88
NP
8070Thu Jun 6 07:17:43 2002 Nicola Pero <n.pero@mi.flashnet.it>
8071
8072 PR objc/6834
8073 * objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
8074 c_common_get_alias_set.
aec2ac46 8075 (LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
0c7aeb88 8076
2a496e8b
JDA
80772002-06-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
8078
8079 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
8080 functions.
8081 * rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
8082 * avr/avr.c (avr_output_function_epilogue): Use above to determine
8083 function size.
8084 * pa/pa.c (pa_output_function_prologue): Likewise.
8085
2ff581c3
DM
80862002-06-05 David S. Miller <davem@redhat.com>
8087
8088 * integrate.c (subst_constants): Handle 'B' RTL format.
8089
b2e2d0cc
EC
80902002-06-05 Eric Christopher <echristo@redhat.com>
8091
8092 * varasm.c (make_decl_rtl): Fix comment for removed
8093 halfpic.c.
8094
0f81faf6
EC
80952002-06-05 Eric Christopher <echristo@redhat.com>
8096
8097 * Makefile.in: Remove missed halfpic bits.
8098
33005162
EC
80992002-06-05 Eric Christopher <echristo@redhat.com>
8100
8101 * toplev.c: Remove half-pic.
8102 * config/mips/mips.c: Ditto.
8103 * config/mips/mips.h: Ditto. Remove unused defines.
8104 * config/mips/openbsd.h: Update comment to reflect above.
8105 * config/mips/mips.md: Remove half-pic constraints.
8106 * halfpic.h: Delete.
8107 * halfpic.c: Ditto.
8108
80081028
JL
81092002-06-05 Jeffrey Law <law@redhat.com>
8110
5a9ee623
ZW
8111 * pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
8112 rejects (mem (lo_sum (reg) (unspec))), but will allow
8113 (mem (lo_sum (reg) (symbol_ref)) for PA2.0.
80081028 8114
cbc69f84
NB
81152002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
8116
8117 * cpphash.h (_cpp_create_definition): Update prototype.
8118 (_cpp_push_text_context, _cpp_create_trad_definition): New.
8119 ( cpp_lex_identifier_trad): New.
8120 (_cpp_set_trad_context): New.
8121 * cppinit.c (cpp_finish_options): Don't conditionalize builtins.
8122 * cpplib.c (SEEN_EOL): Update.
8123 (lex_macro_node): Update for -traditional.
8124 (cpp_push_buffer, _cpp_pop_buffer): Similarly.
8125 * cppmacro.c (_cpp_create_definition): Split into
8126 create_iso_definition() and _cpp_create_trad_definition().
8127 (warn_of_redefinition): Update prototype; handle traditional
8128 macros.
8129 (_cpp_push_text_context): New.
8130 * cpptrad.c (skip_whitespace, push_replacement_text): New.
8131 (lex_identifier): Call ht_lookup with correct start.
8132 (_cpp_lex_identifier_tradm _cpp_create_trad_definition,
8133 _cpp_set_trad_context): New.
8134 (scan_out_logical_line): Update to handle changing contexts.
8135
dbf87f32
R
8136Wed Jun 5 20:42:31 2002 J"orn Rennecke <joern.rennecke@superh.com>
8137
8138 * config.gcc (sh-*-elf*, sh64*-*-elf*): Unify.
8139 (shl*-*-elf*): Add.
8140 * config/sh/t-be (MULTILIB_ENDIAN): Set.
8141 * config/sh/t-le (MULTILIB_ENDIAN): Likewise.
8142 * t-sh (MULTILIB_ENDIAN): Set.
8143 (MULTILIB_OPTIONS): Use it.
8144 * t-sh64 (MULTILIB_OPTIONS): Likewise.
8145 (MULTILIB_DIRNAMES): Likewise.
8146
47b69537
GDR
81472002-06-05 Gabriel Dos Reis <gdr@codesourcery.com>
8148
8149 * toplev.h (report_error_function): Remove.
8150
8151 * diagnostic.h (location_t): New datatype.
8152 (text_info): Likewise.
8153 (diagnostic_info): Likewise.
8154 (output_prefix): New macro.
8155 (diagnostic_last_function_changed): Likewise.
8156 (diagnostic_set_last_function): Likewise.
8157 (diagnostic_last_module_changed): Likewise.
8158 (diagnostic_set_last_module): Likewise.
8159 (report_diagnostic): Now macro.
8160 (diagnostic_set_info): Declare.
8161
8162 * diagnostic.c (report_problematic_module): Rename to
33005162 8163 diagnostic_repor_current_module.
47b69537
GDR
8164 (set_diagnostic_context): Remove.
8165 (count_error): Rename to diagnostic_error_count.
8166 (error_function_changed): Remove.
8167 (record_last_error_function): Likewise.
8168 (error_module_changed): Likewise.
8169 (record_last_error_module): Likewise.
8170 (context_as_prefix): Rename to diagnostic_build_prefix.
8171 (flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
8172 (diagnostic_set_info): New function.
8173
8174 * objc/objc-act.c: #include diagnostic.h
8175 (error_with_ivar): Adjust call to count_error.
8176 (warn_with_method): Likewise.
8177 * objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
8178
540eaea8
BW
81792002-06-05 Bob Wilson <bob.wilson@acm.org>
8180
8181 * config/xtensa/xtensa.c (xtensa_build_va_list): Use
8182 lang_hooks.types.make_type instead of make_node; set up
8183 __va_list_tag type decl.
8184 (xtensa_builtin_saveregs): Remove broken use of
8185 RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
8186 for saved registers; add varargs alias set.
8187
f23a084d
NB
81882002-06-05 Neil Booth <neil@daikokuya.demon.co.uk>
8189
8190config:
8191 * alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
8192 * i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
8193 CPP_PREDEFINES and part of CPP_SPEC.
8194 i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
8195 i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
8196
3fe3a596
JH
8197Wed Jun 5 15:20:58 CEST 2002 Jan Hubicka <jh@suse.cz>
8198
8199 * reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
8200
1fd9ba59
AM
82012002-06-05 Alan Modra <amodra@bigpond.net.au>
8202
8203 * config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
8204
cea554e0
ZW
82052002-06-04 Zack Weinberg <zack@codesourcery.com>
8206
8207 * gengtype-yacc.y: Make sure all rules end with a semicolon.
8208
07232638
BW
82092002-06-04 Bob Wilson <bob.wilson@acm.org>
8210
8211 * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
8212 typo in function prototype and include "ggc.h" header.
8213
c4b50f1a
RH
82142002-06-04 Richard Henderson <rth@redhat.com>
8215
8216 * config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
8217 (print_operand) ['U']: Likewise.
8218 (alpha_expand_unaligned_store): Correct constants for 32-bit cross.
8219 (alpha_expand_unaligned_store_words): Likewise.
8220 (alpha_expand_builtin_vector_binop): Fix typo.
8221 (enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
8222 umulh, and cix insns.
8223 (one_arg_builtins): Add cix builtins.
8224 (two_arg_builtins): Add ext, ins, msk, umulh builtins.
8225 (alpha_expand_builtin): Fix typo in arity.
8226 * config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
8227 (builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
8228 builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
8229 builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
8230 builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
8231 builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
8232 builtin_ctlz, builtin_ctpop): New.
8233 * doc/extend.texi (Alpha Built-in Functions): Update.
8234
aaab35ae
GK
82352002-06-04 Geoffrey Keating <geoffk@redhat.com>
8236
afb0f770
GK
8237 * gengtype.c (write_gc_root): Don't unnecessarily prevent
8238 global variable-length arrays being roots.
8239
aaab35ae
GK
8240 * config.gcc (powerpc-*-darwin*): Set config_gtfiles.
8241 * configure.in (config_gtfiles): New variable.
8242 (all_gtfiles): Initialise from config_gtfiles.
8243 * configure: Regenerate.
8244
1ba7b414
NB
82452002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
8246
8247config/i386:
8248 * beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
8249 i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
8250 mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
8251 sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
8252 win32.h (CPP_SPEC): Remove cpp_cpu.
8253 * i386.h (TARGET_CPU_CPP_BUILTINS): Use.
8254 (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
8255
135ca7b2
JJ
82562002-06-04 Janis Johnson <janis187@us.ibm.com>
8257
8258 * config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
8259
85d69216 82602002-06-04 Jeff Law <law@redhat.com.
5a9ee623
ZW
8261 David Edelsohn <edelsohn@gnu.org>
8262 Michael Matz <matz@kde.org>
85d69216
JL
8263
8264 * sched-int.h (struct deps): New field libcall_block_tail_insn.
8265 * sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
8266 * sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
8267 is set, then mark the current insn as being part of a libcall
8268 scheduling group.
8269 (sched_analyze): Set and clear libcall_block_tail_insn appropriately.
8270
8271 * haifa-sched.c (schedule_block): Do not count USE or CLOBBER
8272 insns against the issue rate.
8273
63f4a88e
JH
8274Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz>
8275
8276 * cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
8277 * final.c (final_scan_insn): Likewise.
8278 * ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
8279 NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
8280 * haifa-sched.c (unlink_other_notes): Likeewise.
8281 (reemit_notes): Likewise.
8282 * print-rtl.c (print_rtx): Likewise.
8283 * sched-deps (sched-analyze): Likewise.
8284 * rtl.c (note_insn_name): Likewise.
8285 * rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
8286 (enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
8287 (RANGE_*): Kill.
8288
a5d1f75b
JT
82892002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
8290
8291 * varasm.c (mark_constants): Handle RTX format 'B'.
8292
82eda77e
NB
82932002-06-04 Neil Booth <neil@daikokuya.demon.co.uk>
8294
8295 * cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
8296 (struct cpp_context): Add traditional fields.
8297 * cppmacro.c (paste_all_tokens, push_ptoken_context,
8298 push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
8299 * cpptrad.c (skip_comment, lex_identifier,
8300 _cpp_read_logical_line_trad, scan_out_logical_line): Update.
8301
589005ff
KH
83022002-06-04 Kazu Hirata <kazu@cs.umass.edu>
8303
8304 * gbl-ctors.h: Fix formatting.
8305 * gcc.c: Likewise.
8306 * gccspec.c: Likewise.
8307 * gcov.c: Likewise.
8308 * gcov-io.h: Likewise.
8309 * gcse.c: Likewise.
8310 * ggc-common.c: Likewise.
8311 * ggc.h: Likewise.
8312 * ggc-page.c: Likewise.
8313 * ggc-simple.c: Likewise.
8314 * global.c: Likewise.
8315 * graph.h: Likewise.
8316 * gthr-dce.h: Likewise.
8317 * gthr.h: Likewise.
8318 * gthr-posix.h: Likewise.
8319 * gthr-rtems.h: Likewise.
8320 * gthr-solaris.h: Likewise.
8321 * gthr-win32.h: Likewise.
8322
e2500fed
GK
83232002-06-03 Geoffrey Keating <geoffk@redhat.com>
8324
8325 Merge from pch-branch:
33005162 8326
e2500fed
GK
8327 * gengtype.h (UNION_OR_STRUCT_P): New macro.
8328 * gengtype.c (write_gc_structure_fields): Use it.
8329 (write_gc_root): Use it here too.
8330
8331 * gengtype.c (write_gc_structure_fields): Assume that lengths
8332 of typenames fit into an 'int'; don't pass a size_t to "%d" in
8333 printf.
8334 (write_gc_marker_routine_for_structure): Likewise.
8335 (write_gc_types): Likewise.
8336 (write_gc_root): Likewise.
8337
8338 * varray.h (VARRAY_CLEAR): New.
8339 (varray_clear): Prototype.
8340 * varray.c (varray_clear): New.
8341 * cselib.c (reg_values_old): New.
8342 (used_regs_old): New.
8343 (cselib_init): Use cached varrays if available to avoid
8344 generating large amounts of garbage.
8345 (cselib_finish): Don't throw away old varrays.
8346
8347 * final.c (insn_addresses_): Move out of ifdef.
8348
8349 * varray.c (uses_ggc): Make more varray kinds GCable.
8350 * varray.h (union varray_data_tag): Let gengtype see
8351 fields 'generic' and 'te'.
8352 * reg-stack.c: Include gt-reg-stack.h, ggc.h.
8353 (stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
8354 (reg_to_stack): Don't call VARRAY_FREE.
8355 * insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
8356 (insn_addresses_): Use gengtype to mark.
8357 * gengtype.c (write_gc_structure_fields): Handle arrays of generic
8358 pointers; handle generic pointers in unused union fields.
8359 (get_output_file_with_visibility): Include cselib.h,
8360 insn-addr.h in gtype-desc.c.
8361 * function.c (prologue): Use gengtype to mark.
8362 (epilogue): Likewise.
8363 (sibcall_epilogue): Likewise.
8364 * dependence.c: Include gt-dependence.h, ggc.h.
8365 (struct def_use): Use gengtype to mark.
8366 (struct loop): Likewise.
8367 (struct induction): Likewise.
8368 (struct dependence): Likewise.
8369 (def_use_chain): Likewise.
8370 (dep_chain): Likewise.
8371 (loop_chain): Likewise.
8372 (induction_chain): Likewise.
8373 (init_dependence_analysis): Don't free anything, just clear pointers.
8374 (build_def_use): Use GGC to allocate def_use.
8375 (add_loop): Use GGC to allocate loop.
8376 (find_induction_variable): Use GGC to allocate induction.
8377 (check_node_dependence): Use GGC to allocate induction, dependence.
8378 (dump_node_dependence): Don't free varrays.
8379 (end_dependence_analysis): Likewise.
8380 * cselib.h (struct cselib_val_struct): Use gengtype to mark.
8381 (struct elt_loc_list): Likewise.
8382 (struct elt_list): Likewise.
8383 * cselib.c: Don't include obstack.h.
8384 (hash_table): Use gengtype to mark.
8385 (reg_values): Use gengtype to mark.
8386 (used_regs): Use gengtype to mark.
8387 (cselib_obstack): Delete.
8388 (cselib_startobj): Delete.
8389 (empty_vals): Mark as deletable.
8390 (empty_elt_lists): Mark as deletable.
8391 (empty_elt_loc_lists): Mark as deletable.
8392 (new_elt_list): Use GGC to allocate struct elt_list.
8393 (new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
8394 (clear_table): Don't delete obstack; don't unnecessarily clear
8395 deletable variables.
8396 (new_cselib_val): Use GGC to allocate struct cselib_val.
8397 (cselib_init): Don't set up obstacks. Use GGC to allocate
8398 hash table.
8399 (cselib_finish): Just clear variables, don't free anything.
8400 * Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
8401 (reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
8402 (dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
8403 (GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
8404 (gt-reg-stack.h): New rule.
8405 (gt-dependence.h): New rule.
8406 (gtype-desc.o): Add cselib.h, insn-addr.h.
8407
8408 * varray.c: Use only necessary headers.
8409 (element_size): New.
8410 (uses_ggc): New.
8411 (varray_init): Take type, not size. Use GGC if appropriate.
8412 (varray_grow): Update for change to struct varray_head_tag.
8413 Use GGC if appropriate.
8414 * varray.h (struct const_equiv_data): Use gengtype.
8415 (enum varray_data_enum): New.
8416 (union varray_data_tag): Use gengtype.
8417 (struct varray_head_tag): Use gengtype. Replace size field with
8418 enum varray_data_enum.
8419 (varray_init): Update prototype.
8420 (VARRAY_SCHED_INIT): Delete.
8421 (VARRAY_*_INIT): Update for change to varray_init.
8422 (VARRAY_SCHED): Delete.
8423 (VARRAY_PUSH_SCHED): Delete.
8424 (VARRAY_TOP_SCHED): Delete.
8425 * tree.h: Update for change to length specifier.
8426 * tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
8427 (clone_body): Likewise.
8428 * ssa.h (ssa_definition): Use gengtype to mark.
8429 * ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
8430 * ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
8431 * rtl.h (struct rtvec_def): Update for change to length specifier.
8432 * integrate.c (expand_inline_function): Don't use VARRAY_FREE.
8433 (struct initial_value_struct): Update for change to length specifier.
8434 * ggc.h (ggc_add_rtx_varray_root): Delete prototype.
8435 (ggc_add_tree_varray_root): Delete prototype.
8436 (ggc_mark_rtx_varray): Delete prototype.
8437 (ggc_mark_tree_varray): Delete prototype.
8438 * ggc-common.c (ggc_add_rtx_varray_root): Delete.
8439 (ggc_add_tree_varray_root): Delete.
8440 (ggc_mark_rtx_varray): Delete.
8441 (ggc_mark_tree_varray): Delete.
8442 (ggc_mark_rtx_varray_ptr): Delete.
8443 (ggc_mark_tree_varray_ptr): Delete.
8444 * gengtype.h (enum typekind): Remove TYPE_VARRAY.
8445 (create_varray): Delete prototype.
8446 * gengtype.c (varrays): Delete.
8447 (create_varray): Delete.
8448 (adjust_field_type): Detect array of string pointers.
8449 (process_gc_options): Remove code to handle varray_type option.
8450 (set_gc_used_type): Remove TYPE_VARRAY case.
8451 (output_escaped_param): New.
8452 (write_gc_structure_fields): Use output_escaped_param on all
8453 parameters. Handle 'skip' with 'use_param' option. Handle
8454 arrays of strings. Remove TYPE_VARRAY handling.
8455 (write_gc_roots): Use boolean to detect 'length' option.
8456 * gengtype-yacc.y (VARRAY_TYPE): Delete token.
8457 (struct_fields): Call adjust_field_type on array fields.
8458 (type): Remove VARRAY_TYPE case.
8459 (type_option): Likewise.
8460 * gengtype-lex.l: Don't consider varray_type a keyword.
8461 * function.h: Update for change to length specifier.
8462 (free_eh_status): Delete prototype.
8463 * function.c (free_after_compilation): Don't call free_eh_status.
8464 (reorder_blocks): Don't use VARRAY_FREE.
8465 * except.c (struct eh_status): Update for change to length specifier.
8466 remove varray_type specifier.
8467 (free_eh_status): Delete.
8468 * dwarf2out.c: Include gt-dwarf2out.h.
8469 (used_rtx_varray): Use gengtype to mark, move
8470 outside ifdefs.
8471 (incomplete_types): Likewise.
8472 (decl_scope_table): Likewise.
33005162 8473 (dwarf2out_init): Don't call ggc_add_tree_varray_root.
e2500fed
GK
8474 * cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
8475 * c-tree.h (struct lang_type): Update for change to length specifier.
8476 * c-parse.in (yylexstring): Don't use VARRAY_FREE.
8477 * c-objc-common.c: Include gt-c-objc-common.h.
8478 (deferred_fns): Mark for gengtype.
8479 (c_objc_common_init): Don't call ggc_add_tree_varray_root.
8480 (expand_deferred_fns): Just set deferred_fns to 0 to free it.
8481 * Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
8482 (gtype-desc.o): Update dependencies.
8483 (dwarf2out.o): Add gt-dwarf2out.h.
8484 (varray.o): Update dependencies.
8485 (GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
8486 (gt-c-objc-common.h): New rule.
8487 (gt-dwarf2out.h): New rule.
8488 * objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
8489
8490 * doc/gty.texi (GTY Options): Correct spelling.
8491 (GGC Roots): Likewise.
8492 * Makefile.in (TEXI_CPP_FILES): New.
8493 (TEXI_GCC_FILES): New.
8494 (TEXI_GCCINT_FILES): New.
8495 (TEXI_CPPINT_FILES): New.
8496 ($(docdir)/cpp.info): Use new macros.
8497 ($(docdir)/gcc.info): Likewise.
8498 ($(docdir)/gccint.info): Likewise.
8499 ($(docdir)/cppinternals.info): Likewise.
8500 (cpp.dvi): Likewise.
8501 (gcc.dvi): Likewise.
8502 (gccint.dvi): Likewise.
8503 (cppinternals.dvi): Likewise.
8504
8505 * Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
8506 * doc/gccint.texi (Top): Include gty.texi.
8507 * doc/gty.texi: New file.
8508
8509 * bitmap.c: Include ggc.h, gt-bitmap.h.
8510 (bitmap_ggc_free): New.
8511 (bitmap_elem_to_freelist): New.
8512 (bitmap_element_free): Use bitmap_elem_to_freelist.
8513 (bitmap_element_allocate): Allow use of GGC.
8514 (bitmap_clear): Use bitmap_elem_to_freelist.
8515 (bitmap_copy): Update for change to bitmap_element_allocate.
8516 (bitmap_set_bit): Likewise.
8517 (bitmap_operation): Update for changes elsewhere.
8518 (bitmap_initialize): Allow to create bitmaps that will use GGC.
8519 * bitmap.h (struct bitmap_element_def): Use gengtype.
8520 (struct bitmap_head_def): Likewise. Also add 'using_obstack' field.
8521 (bitmap_initialize): Add extra parameter.
8522 (BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
8523 (BITMAP_ALLOCA): Delete.
8524 (BITMAP_XMALLOC): Update for change to bitmap_initialize.
8525 (BITMAP_GGC_ALLOC): New.
8526 * Makefile.in (gtype-desc.o): Add bitmap.h.
8527 (bitmap.o): Add gt-bitmap.h, $(GGC_H).
8528 (GTFILES): Add bitmap.c.
8529 (gt-bitmap.h): New rule.
8530 ($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
8531 * basic-block.h: Update for changes to bitmap_initialize.
8532 * except.c (exception_handler_label_map): Move into...
8533 (struct eh_status): Here.
8534 (struct eh_region): Make 'aka' GCable.
8535 (free_eh_status): Don't need to specially handle
8536 exception_handler_label_map.
8537 (add_ehl_entry): Update for changes to exception_handler_label_map.
8538 (find_exception_handler_labels): Likewise.
8539 (remove_exception_handler_label): Likewise.
8540 (maybe_remove_eh_handler): Likewise.
8541 (for_each_eh_label): Likewise.
8542 (remove_eh_handler): Allocate 'aka' using GGC.
8543 * gengtype.c (get_output_file_with_visibility): Add bitmap.h
8544 to list of includes.
8545
8546 * gengtype.c (write_gc_marker_routine_for_structure): Name
33005162 8547 the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
e2500fed
GK
8548 (write_gc_types): Arrange for the tests with NULL to be inlined.
8549 (write_gc_roots): Update uses of procedure pointers.
8550 * ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
8551
8552 * Makefile.in (explow.o): Add dependency on gt-explow.h.
8553 (sdbout.o): Add dependency on gt-sdbout.h.
8554
8555 * emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
8556 (mem_attrs_htab): Likewise.
8557 (init_emit_once): Don't call ggc_add_deletable_htab.
8558 * fold-const.c (size_htab): Use gengtype to clear unused entries.
8559 (size_int_type_wide): Don't call ggc_add_deletable_htab.
8560 * gengtype.c (finish_root_table): Add LASTNAME and TNAME
8561 parameters, use them, change callers.
8562 (write_gc_root): Add IF_MARKED parameter, use it, change callers.
8563 (write_gc_roots): Handle 'if_marked' option.
8564 (main): Don't need to call set_gc_used_type any more.
8565 * ggc.h (ggc_htab_marked_p): Delete.
8566 (ggc_htab_mark): Delete.
8567 (struct ggc_cache_tab): New.
8568 (gt_ggc_cache_rtab): New declaration.
8569 * ggc-common.c (struct d_htab_root): Delete.
8570 (d_htab_roots): Delete.
8571 (ggc_add_deletable_htab): Delete.
8572 (ggc_htab_delete): Handle new htab-deleting mechanism.
8573 (ggc_mark_roots): Use new htab-deleting mechanism.
8574 * tree.c (type_hash_table): Use gengtype to clear unused entries.
8575 Make static.
8576 (init_obstacks): Don't call ggc_add_deletable_htab.
8577
8578 * objc/objc-act.h (struct hashed_attribute): Use gengtype.
8579 (struct hashed_entry): Likewise.
8580 (nst_method_hash_list): Likewise.
8581 (cls_method_hash_list): Likewise.
8582 (HASH_ALLOC_LIST_SIZE): Delete.
8583 (ATTR_ALLOC_LIST_SIZE): Delete.
8584 * objc/objc-act.c (hash_init): Use ggc to allocate
8585 nst_method_hash_list, cls_method_hash_list.
8586 (hash_enter): Use ggc to allocate; allocate one entry at a time.
8587 (hash_add_attr): Likewise.
8588 (ggc_mark_hash_table): Delete.
8589 (objc_act_parse_init): Delete.
8590 (objc_init): Delete reference to objc_act_parse_init.
8591 * tlink.c: Replace hash.h with hashtab.h. Explicitly include
8592 obstack.h. Replace references to 'struct hash_table' with htab_t.
8593 (struct symbol_hash_entry): Replace hash header with key field.
8594 (struct file_hash_entry): Replace hash header with key field.
8595 (struct demangled_hash_entry): Replace hash header with key field.
8596 (hash_string_eq): New.
8597 (hash_string_hash): New.
8598 (symbol_hash_newfunc): Delete.
8599 (symbol_hash_lookup): Modify to use htab_t.
8600 (file_hash_newfunc): Delete.
8601 (file_hash_lookup): Modify to use htab_t.
8602 (demangled_hash_newfunc): Delete.
8603 (demangled_hash_lookup): Modify to use htab_t.
8604 (tlink_init): Modify to use htab_t.
8605 * hash.h: Delete.
8606 * hash.c: Delete.
8607 * ggc.h: Delete forward structure declarations.
8608 Delete prototypes for deleted functions.
8609 * ggc-common.c: Don't include hash.h.
8610 (ggc_add_tree_hash_table_root): Delete.
8611 (ggc_mark_tree_hash_table_entry): Delete.
8612 (ggc_mark_tree_hash_table): Delete.
8613 (ggc_mark_tree_hash_table_ptr): Delete.
8614 * gengtype.c (write_gc_structure_fields): Allow param_is option.
8615 (write_gc_marker_routine_for_structure): Use visibility of
8616 the parameter if there is one.
8617 * function.c: Replace hash.h with hashtab.h. Replace references
8618 to 'struct hash_table *' with htab_t.
8619 (struct insns_for_mem_entry): Include a plain key.
8620 (fixup_var_refs_insns_with_hash): Update to use htab_t.
8621 (insns_for_mem_newfunc): Delete.
8622 (insns_for_mem_hash): Update to use htab_t.
8623 (insns_for_mem_comp): Likewise.
8624 (insns_for_mem_walk): Likewise.
8625 * c-lang.c: Include ggc.h.
8626 * Makefile.in (OBJS): Remove hash.o.
8627 (c-lang.o): Add GGC_H.
8628 (COLLECT2_OBJS): Remove hash.o.
8629 (tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
8630 (ggc-common.o): Remove hash.h.
8631 (function.o): Remove hash.h, add HASHTAB_H.
8632 (genautomata.o): Remove hash.h, add HASHTAB_H.
8633
8634 * varasm.c (mark_const_str_htab_1): Delete.
8635 (mark_const_str_htab): Delete.
8636 (const_str_htab_del): Delete.
8637 (const_str_htab): Use gengtype to mark.
8638 (init_varasm_once): Use gengtype to mark hashtables. Use GC to
8639 allocate them.
8640 * tree.c (mark_tree_hashtable_entry): Delete.
8641 (mark_tree_hashtable): Delete.
8642 * tree.h (mark_tree_hashtable): Delete prototype.
8643 * ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
8644 (ggc_mark): Likewise.
8645 (ggc_calloc): New.
8646 (htab_create_ggc): New.
8647 * ggc-common.c (ggc_calloc): New.
8648 * gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
8649 (struct type): Add param_struct structure.
8650 * gengtype.c (param_structs): New.
8651 (adjust_field_type): Handle param_is option.
8652 (set_gc_used_type): Handle TYPE_PARAM_STRUCT.
8653 (get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
8654 (write_gc_structure_fields): Add new PARAM parameter. Update
8655 callers. Handle use_param option. Handle TYPE_PARAM_STRUCT.
8656 (write_gc_marker_routine_for_structure): Add new PARAM parameter.
8657 Use it to generate function name. Update callers.
8658 (write_gc_types): Add new PARAM_STRUCTS parameter. Update callers.
8659 Process them.
8660 (write_gc_roots): Handle TYPE_PARAM_STRUCT. Allow param_is
8661 option.
8662 (main): Define PTR as pointer-to-scalar. Don't specially
8663 mark deferred_string or ehl_map_entry.
8664 * gengtype-yacc.y (PARAM_IS): Add new token.
8665 (externstatic): Use adjust_field_type.
8666 (type_option): Add PARAM_IS.
8667 * gengtype-lex.l: Add rule for typedef of function pointers.
8668 Add rule for PARAM_IS.
8669 (IWORD): Add size_t.
8670 * except.c (exception_handler_label_map): Use gengtype to mark.
8671 (type_to_runtime_map): Likewise.
8672 (mark_ehl_map_entry): Delete.
8673 (mark_ehl_map): Delete.
8674 (init_eh): Use gengtype for roots; use GC to allocate hash tables.
8675 (t2r_mark_1): Delete.
8676 (t2r_mark): Delete.
8677 * Makefile.in (gtype-desc.o): Correct dependencies.
8678 (GTFILES): Add hashtab.h.
8679 (genautomata.o): Actually uses hashtab.h.
8680
8681 * Makefile.in (stringpool.o): Add $(GGC_H).
8682 (dwarf2asm.o): Likewise.
8683 (GTFILES): Add hashtable.h.
8684 * c-common.h (struct c_common_identifier): Use gengtype.
8685 * c-decl.h (c_mark_tree): Delete.
8686 * c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
8687 * c-tree.h (struct lang_identifier): Use gengtype.
8688 (union lang_tree_node): New.
8689 (c_mark_tree): Delete prototype.
33005162 8690 * dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
e2500fed
GK
8691 dwarf2_debug_hooks.
8692 * gengtype-lex.l (IWORD): Allow 'bool'.
8693 (ptr_alias): Match.
8694 * gengtype-yacc.y (ALIAS): New token.
8695 (type_option): New rule.
8696 (option): Use type_option.
8697 * gengtype.c (process_gc_options): New.
8698 (set_gc_used_type): Use it.
8699 (write_gc_structure_fields): Add 'bitmap' parameter, change callers.
8700 Add new variable 't' to hold the type of the field being processed.
8701 Add more error checking. Use UNION_P when looking at 'desc' option.
8702 Handle language-specific structures containing other
8703 language-specific structures.
8704 (write_gc_types): Handle 'ptr_alias' option.
8705 (main): Don't need to specially output lang_type, lang_decl, lang_id2.
8706 * ggc-common.c (ggc_pending_trees): Delete.
8707 (ggc_mark_roots): Don't manipulate ggc_pending_trees.
8708 (ggc_mark_trees): Delete.
8709 (gt_ggc_m_tree_node): Delete.
8710 * ggc.h (ggc_pending_trees): Delete.
8711 (ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
8712 * hashtable.h (ht_identifier): Use gengtype.
8713 * langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
8714 * langhooks.h (struct lang_hooks): Delete mark_tree.
8715 * sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
8716 anyway.
8717 * system.h: Poison LANG_HOOKS_MARK_TREE.
8718 * tree.c (tree_node_structure): New.
8719 * tree.h (struct tree_common): Use gengtype.
8720 (struct tree_int_cst): Likewise.
8721 (struct tree_real_cst): Likewise.
8722 (struct tree_string): Likewise.
8723 (struct tree_complex): Likewise.
8724 (struct tree_vector): Likewise.
8725 (struct tree_identifier): Likewise.
8726 (struct tree_list): Likewise.
8727 (struct tree_vec): Likewise.
8728 (struct tree_exp): Likewise.
8729 (struct tree_block): Likewise.
8730 (struct tree_type): Likewise.
8731 (struct tree_decl): Likewise.
8732 (enum tree_structure_enum): New.
8733 (union tree_node): Use gengtype, with an alias.
8734 (tree_node_structure): Prototype.
8735 * objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
8736
8737 Merge to tag pch-merge-20020430. The LANG_HOOKS_FUNCTION_MARK
8738 macro was deleted. The LANG_HOOKS_FUNCTION_FREE macro was renamed
8739 to LANG_HOOKS_FUNCTION_FINAL.
8740 * Makefile.in (GTFILES): Add bitmap.h.
8741 * except.c (struct eh_region): Mark field 'aka' to be skipped.
8742
8743 * config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
8744 (alpha_init_machine_status): Give proper type.
8745 * Makefile.in (c-lang.o): Depend on gtype-c.h.
8746 (optabs.o): Depend on gt-optabs.h.
8747 (GTFILES): Add optabs.o.
8748 (gt-optabs.h): Add rule.
8749 * optabs.c: Include gt-optabs.h.
8750
8751 * gengtype.c (set_gc_used_type): Correct some errors in last change.
8752 (write_gc_structure_fields): If a field which should be NULL is
8753 not, abort.
8754 * c-pragma.c: Move struct align_stack and variable alignment_stack
8755 out from the ifdef.
8756
8757 * config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
8758 * config/xtensa/xtensa.c: Include gt-cris.h.
8759 (struct machine_function): Use gengtype to mark.
8760 * config/mmix/mmix.h (struct machine_function): Use gengtype
8761 to mark.
8762 * config/cris/t-cris: Add dependencies for gt-cris.h.
8763 * config/cris/cris.c: Include gt-cris.h.
8764 (struct machine_function): Use gengtype to mark.
8765 * config/rs6000/rs6000.h (struct machine_function): Use gengtype
8766 to mark.
8767 * doc/tm.texi (Per-Function Data): Delete references to
8768 mark_machine_status.
8769 * config/ia64/ia64.c (ia64_override_options): Don't set
8770 mark_machine_status.
8771 * config/i386/i386.c (override_options): Likewise.
8772 * config/d30v/d30v.c (d30v_init_expanders): Likewise.
8773 * config/arm/arm.c (arm_init_expanders): Likewise.
8774 * config/alpha/alpha.c (override_options): Likewise.
33005162 8775 * gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
e2500fed
GK
8776 * gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
8777 (write_gc_structure_fields): Don't handle 'really' option.
8778 Handle 'maybe_null' option.
8779 (write_gc_types): Handle 'maybe_null' option.
8780 * function.h (struct function): Don't use "really".
8781 (mark_machine_status): Delete declaration.
8782 (mark_lang_status): Delete declaration.
8783 (gt_ggc_mr_machine_function): Delete prototype.
8784 (gt_ggc_mr_language_function): Delete prototype.
8785 * function.c (mark_machine_status): Delete.
8786 (mark_lang_status): Delete.
8787 (gt_ggc_mr_machine_function): Delete.
8788 (gt_ggc_mr_language_function): Delete.
8789 * c-tree.h (mark_c_function_context): Delete prototype.
8790 * c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
8791 * c-decl.c (struct language_function): Rename from struct
8792 c_language_function. Update uses. Use gengtype to mark.
8793 (mark_c_function_context): Delete.
8794 * c-common.h (struct c_language_function): Rename from struct
8795 language_function.
8796 (mark_stmt_tree): Delete prototype.
8797 (c_mark_lang_decl): Delete prototype.
8798 (mark_c_language_function): Delete prototype.
8799 * c-common.c (mark_stmt_tree): Delete.
8800 (c_mark_lang_decl): Delete.
8801 (mark_c_language_function): Delete.
8802
8803 * gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
8804 (lang_bitmap): New typedef. Use where appropriate.
8805 (struct type): Add gc_used field, lang_struct field.
8806 (UNION_P): New macro.
8807 (new_structure): New prototype.
8808 (find_structure): Remove 'pos' parameter. Change all callers.
8809 * gengtype-lex.l: Update for changes to find_structure.
8810 * gengtype-yacc.y (typedef_struct): Use new_structure.
8811 (yacc_ids): Suppress warning.
8812 (type): Use new_structure.
8813 * gengtype.c (string_type): Update for changes to struct type.
8814 (find_structure): Just find a structure, don't worry about
8815 creating one.
8816 (new_structure): New.
8817 (note_yacc_type): Use new_structure.
8818 (set_gc_used_type): New.
8819 (set_gc_used): New.
8820 (write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
8821 (write_gc_types): Handle TYPE_LANG_STRUCT.
8822 (write_gc_marker_routine_for_structure): New.
8823 (main): Call set_gc_used. Add some calls to set_gc_used_type
8824 for places where GCC doesn't use gengtype properly yet.
8825 * ggc.h (gt_ggc_m_rtx_def): Don't prototype.
8826 (gt_ggc_m_tree_node): Likewise.
8827
8828 * varasm.c (copy_constant): Call expand_constant if we hit
8829 something we can't recognise.
8830
8831 * ggc-common.c (ggc_mark_rtvec_children): Delete.
8832 (ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
8833 (lang_mark_false_label_stack): Delete.
8834 * rtl.h (struct rtvec_def): Use gengtype to mark.
8835 * ggc.h (ggc_mark_rtvec): Delete.
8836 (gt_ggc_m_rtvec_def): Delete.
8837 (ggc_mark_nonnull_tree): Delete.
8838 (ggc_mark_rtvec_children): Delete prototype.
8839 (lang_mark_false_label_stack): Delete declaration.
8840
8841 * gengtype.h (note_yacc_type): Add prototype.
8842 * gengtype.c (note_yacc_type): New function.
8843 * gengtype-lex.l: Add lexer support for yacc files.
8844 * gengtype-yacc.y (start): Extract union from yacc files.
8845 (yacc_union): New rule.
8846 (yacc_typematch): New rule.
8847 (yacc_ids): New rule.
8848 (enum_items): Tweak for efficiency.
8849 (optionseq): Likewise.
8850
8851 * c-common.h (struct language_function): Use gengtype.
8852 (struct c_lang_decl): Likewise.
8853 * c-tree.h (struct lang_decl): Likewise.
8854 (struct lang_type): Likewise.
8855 * c-decl.c (lang_mark_tree): Use generated marker routines to mark
8856 tree language substructures.
8857
8858 * stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
8859 ggc_mark_tree.
8860 * dwarf2asm.c (mark_indirect_pool_entry): Likewise.
8861
8862 * varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
8863
8864 * stmt.c (struct nesting): Add discriminator. Use gengtype to
8865 mark. Remove 'data.block.cleanup_ptr' field.
8866 (struct stmt_status): Use usual technique to mark struct nesting.
8867 (gt_ggc_mr_nesting_cond): Delete.
8868 (gt_ggc_mr_nesting_loop): Delete.
8869 (gt_ggc_mr_nesting_block): Delete.
8870 (gt_ggc_mr_nesting_case_stmt): Delete.
8871 (expand_start_cond): Set discriminator.
8872 (expand_start_loop): Likewise.
8873 (expand_start_null_loop): Likewise.
8874 (expand_start_bindings_and_block): Set discriminator. Don't set
8875 deleted fields.
8876 (expand_decl_cleanup): Replace 'cleanup_ptr' with
8877 &thisblock->data.block.cleanups.
8878 (expand_start_case): Set discriminator.
8879 (expand_start_case_dummy): Set discriminator.
8880
8881 * ggc-callbacks.c: Remove.
8882
8883 * gengtype.h (struct type): Add 'u.s.bitmap' field.
8884 (find_structure): Add 'pos' parameter.
8885 * gengtype-lex.l: Update callers to find_structure.
8886 * gengtype-yacc.y: Likewise.
8887 * gengtype.c (find_structure): Allow for structures to be defined
8888 in multiple language backends.
8889 (get_output_file_with_visibility): Include debug.h in gtype-desc.c.
8890 (counter): Rename to gc_counter.
8891 (write_gc_structure_fields): Fail when writing out fields for
8892 an incomplete structure. Ignore arrays of scalars. Handle
8893 'tree_vec' special.
8894 (write_gc_types): Reset counter for each procedure written.
8895
8896 * stmt.c (add_case_node): Use GGC to allocate struct case_node.
8897 (free_case_nodes): Delete.
8898 (expand_end_case_type): Delete call to free_case_nodes.
8899
8900 * Makefile.in (cselib.o): Include gt-<filename>.h.
8901 (gcse.o): Likewise.
8902 (profile.o): Likewise.
8903 (alias.o): Likewise.
8904 (GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
8905 alphabetize backend files.
8906 (gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
8907 * alias.c: Use gengtype for roots.
8908 * c-common.h (struct stmt_tree_s): Use gengtype.
8909 * c-decl.c: Use gengtype for roots.
8910 * cselib.c: Use gengtype for roots.
8911 * expr.c: Use gengtype for roots.
8912 * fold-const.c: Use gengtype for roots.
8913 * gcse.c: Use gengtype for roots.
8914 * gengtype-lex.l: Handle typedefs of function types.
8915 Allow for empty array bounds.
8916 Allow processing to stop on initialisers.
8917 * gengtype-yacc.y (externstatic): Stop processing on initialisers.
8918 (semiequal): New rule.
8919 * gengtype.c (create_file): Tidy output files.
8920 (get_output_file_with_visibility): Fix paren warning. Fix bug
8921 involving multiple input files mapping to one output file.
8922 (write_gc_structure_fields): Skip arrays of scalars.
8923 (write_gc_types): Tidy output files.
8924 (write_gc_root): New function.
8925 (write_gc_roots): Fix bugs, add support for roots that are
8926 structures.
8927 * ggc-common.c (ggc_mark_rtx_ptr): Delete.
8928 (ggc_mark_tree_ptr): Delete.
8929 (ggc_add_rtx_root): Delete.
8930 (ggc_add_tree_root): Delete.
8931 (ggc_del_root): Delete.
8932 * integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
8933 allocate struct initial_value_struct.
8934 * profile.c: Use gengtype for roots.
8935 * sdbout.c: Use gengtype for roots.
8936 * varasm.c (mark_weak_decls): Delete unused prototype.
8937 (mark_const_hash_entry): Delete unused function.
8938 * config/darwin-protos.h: Use gengtype for roots.
8939 (machopic_add_gc_roots): Delete.
8940 * config/arm/arm.c: Use gengtype for roots.
8941 * config/arm/arm.h: Use gengtype for roots.
8942 * config/c4x/c4x-protos.h: Use gengtype for roots.
8943 * config/c4x/c4x.c (c4x_add_gc_roots): Delete.
8944 * config/d30v/d30v-protos.h: Use gengtype for roots.
8945 * config/d30v/d30v.c (d30v_add_gc_roots): Delete.
8946 * config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
8947 * config/dsp16xx/dsp16xx.h: Use gengtype for roots.
8948 * config/ia64/ia64-protos.h: Use gengtype for roots.
8949 * config/ia64/ia64.c (ia64_add_gc_roots): Delete.
8950 * config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
8951 * config/m68hc11/m68hc11.c (z_reg): Make global.
8952 (z_reg_qi): Make global.
8953 (m68hc11_add_gc_roots): Delete.
8954 * config/mcore/mcore-protos.h: Use gengtype for roots.
8955 * config/mcore/mcore.c (mcore_add_gc_roots): Delete.
8956 * config/mips/mips.c (mips_add_gc_roots): Delete.
8957 * config/mips/mips.h: Use gengtype for roots.
8958 * config/mmix/mmix.c (override_options): Use gengtype for roots.
8959 * config/mmix/mmix.h: Use gengtype for roots.
8960 * config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
8961 * config/mn10200/mn10200.h: Use gengtype for roots.
8962 * config/pa/pa.c: Use gengtype for roots, marking.
8963 (struct deferred_plabel): Use GGC, gengtype.
8964 (pa_add_gc_roots): Delete.
8965 (mark_deferred_plabels): Delete.
8966 * config/pj/pj-protos.h: Use gengtype for roots.
8967 * config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
8968 * config/rs6000/rs6000.c: Use gengtype for roots. Don't call
8969 machopic_add_gc_roots.
8970 * config/rs6000/rs6000.h: Use gengtype for roots.
8971 * config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
8972 (gt-darwin.h): Add rule.
8973 * config/sh/sh.c: Use gengtype for roots.
8974 * config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
8975 (gt-sh.h): Add rule.
8976 * config/sparc/sparc.c: Use gengtype for roots.
8977 (sparc_add_gc_roots): Delete.
8978 (struct ultrasparc_pipeline_state): Use GGC, gengtype.
8979 (mark_ultrasparc_pipeline_state): Delete.
8980 * config/sparc/sparc.h: Use gengtype for roots.
8981
8982 * Makefile.in (c-parse.o): Update dependencies.
8983 (c-common.o): Likewise.
8984 (GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
8985 Add dependencies for the files they generate.
8986 * c-common.c: Replace ggc_add_* uses with GTY annotations.
8987 * c-common.h: Likewise.
8988 * c-decl.c: Likewise.
8989 (gt_ggc_mp_binding_level): Delete.
8990 * c-lang.c: Include gtype-c.h.
8991 * c-parse.in: Replace ggc_add_* uses with GTY annotations. Include
8992 gt-c-parse.h.
8993 * c-pragma.h: Replace ggc_add_* uses with GTY annotations.
8994 (gt_ggc_mp_align_stack): Delete.
8995 * c-tree.h: Replace ggc_add_* uses with GTY annotations.
8996 * function.c: Replace ggc_add_* uses with GTY annotations.
8997 (gt_ggc_mp_function): Delete.
8998 * function.h: Replace ggc_add_* uses with GTY annotations.
8999 * gengtype.c (lang_names): New.
9000 (NUM_BASE_FILES): New.
9001 (open_base_files): Create language base files.
9002 (startswith): New.
9003 (get_file_basename): New.
9004 (get_base_file_bitmap): New.
9005 (get_output_file_with_visibility): Rename from get_output_file.
9006 Add more mappings for various C/Objc filenames.
9007 (finish_root_table): New.
9008 (write_gc_roots): Handle dependencies and scoping properly.
9009 * gengtype.h: Add prototypes for new functions.
9010 * ggc-common.c (struct deletable_root): Delete.
9011 (deletables): Delete.
9012 (ggc_add_deletable_root): Delete.
9013 (ggc_mark_roots): No need to deal with deleted functionality.
9014 * ggc.h (ggc_add_deletable_root): Delete prototype.
9015 * objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
9016 (gtype-objc.h): Add rule to create.
9017 * objc/config-lang.in (gtfiles): New.
9018 * objc/objc-act.c: Allocate imp_list using GGC. Replace uses of
9019 ggc_add_* with GTY markers. Include gtype-objc.h.
9020 (ggc_mark_imp_list): Delete.
9021 * objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
9022 * objc/objc-lang.c: Random Whitespace Change.
9023
9024 * except.h (exception_handler_labels): Delete.
9025 (get_exception_handler_labels): New.
9026 * except.c (exception_handler_labels): Delete.
9027 (struct eh_status): Add exception_handler_labels field.
9028 (doing_eh): Don't add exception_handler_labels as root.
9029 (free_eh_status): Don't need to free exception_handler_labels.
9030 (get_exception_handler_labels): New.
9031 (find_exception_handler_labels): Update for move of
9032 exception_handler_labels.
9033 (remove_exception_handler_label): Likewise.
9034 * cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
9035 * jump.c (rebuild_jump_labels): Likewise.
9036 * loop.c (find_and_verify_loops): Likewise.
9037 * sched-rgn.c (is_cfg_nonregular): Likewise.
9038
9039 * gengtype.c (write_gc_structure_fields): Handle variable-length
9040 TYPE_ARRAYs.
9041
9042 * varasm.c (struct weak_syms): Use GGC, gengtype.
9043 (mark_weak_decls): Delete.
9044 (weak_decls): Likewise.
9045 (add_weak): Likewise.
9046 (remove_from_pending_weak_list): Likewise.
9047 (init_varasm_once): Likewise.
9048
9049 * Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
9050 (GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
9051 stor-layout.c, regclass.c, and lists.c.
9052 Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
9053 gt-regclass.h and gt-lists.h on s-gtype.
9054 * emit-rtl.c: Use gengtype for roots. Include gt-emit-rtl.h.
9055 * except.c: Use gengtype for roots.
9056 * explow.c: Use gengtype for roots. Include gt-explow.h.
9057 * expr.h (init_stor_layout_once): Delete prototype.
9058 * function.c: Use gengtype for roots.
9059 * gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
9060 * gengtype-yacc.y (start): Can also be an externstatic.
9061 (externstatic): New production.
9062 (struct_fields): Correct array bounds inversion for 2-d arrays.
9063 * gengtype.c (variables): New variable.
9064 (note_variable): New function.
9065 (get_output_file): Include libfuncs.h into gtype-desc.c.
9066 (get_output_file_name): New function.
9067 (write_gc_structure_fields): Suppress warnings.
9068 (write_gc_types): Make static.
9069 (put_mangled_filename): New function.
9070 (write_gc_roots): New function.
9071 (main): Call write_gc_roots.
9072 * gengtype.h (note_variable): Prototype.
9073 (get_output_file_name): Prototype.
9074 (write_gc_types): Delete prototype.
9075 * ggc.h: Clean up unnecessary structure predefinitions.
9076 (struct ggc_root_tab): Define.
9077 (gt_ggc_m_rtx_def): Make function, not macro.
9078 (gt_ggc_m_tree_node): Likewise.
9079 * libfuncs.h: Use gengtype for roots.
9080 * lists.c: Use gengtype for roots. Include gt-lists.h.
9081 (init_EXPR_INSN_LIST_cache): Delete.
9082 * optabs.c: Use gengtype for roots.
9083 (gt_ggc_mp_optab): Delete.
9084 * optabs.h: Use gengtype for roots.
9085 * regclass.c: Use gengtype for roots. Include gt-regclass.h.
9086 * rtl.h: Use gengtype for roots.
9087 (init_EXPR_INSN_LIST_cache): Delete prototype.
9088 * stor-layout.c: Use gengtype for roots.
9089 Include gt-stor-layout.h.
9090 (init_stor_layout_once): Delete.
9091 * toplev.c: Use gengtype for roots. Delete calls to deleted
9092 routines.
9093 * tree.c: Use gengtype for roots.
9094 * tree.h: Use gengtype for roots.
9095 * varasm.c: Use gengtype for roots.
33005162 9096
e2500fed
GK
9097 * Makefile.in (GTFILES): Add @all_gtfiles@.
9098 * configure: Regenerate.
9099 * configure.in: Construct all_gtfiles from the gtfiles definitions
9100 in config-lang.in.
9101 * gengtype-yacc.y (type): Warn about duplicate structure names.
9102 * gengtype.c (get_output_file): Handle .c files in language
9103 subdirectories.
9104
9105 * Makefile.in (GTFILES): Run gengtype on all the config files
9106 and on the target .c file.
9107 * except.c (mark_eh_region): Delete.
9108 (init_eh_for_function): Use GGC on struct eh_status.
9109 (mark_eh_status): Delete.
9110 (free_eh_status): Use GGC.
9111 (expand_eh_region_start): Use GGC to
9112 (collect_eh_region_array): Allocate last_region_number using GGC.
9113 (duplicate_eh_region_1): Use GGC to allocate struct eh_region.
9114 (remove_eh_handler): Let GGC free struct eh_region.
9115 (add_call_site): Use GGC to reallocate call_site_record array.
9116 * function.c (init_machine_status): Update calling sequence.
9117 (mark_machine_status): Likewise.
9118 (mark_lang_status): Likewise.
9119 (prepare_function_start): Update init_machine_status call.
9120 (mark_function_status): Delete.
9121 (maybe_mark_struct_function): Delete.
9122 (ggc_mark_struct_function): Delete.
9123 (gt_ggc_mp_function): New.
9124 (gt_ggc_mr_machine_function): New.
9125 (gt_ggc_mr_language_function): New.
9126 (init_function_once): Use canonical names.
9127 * function.h (struct function): Use gengtype.
9128 (init_machine_status): Return the structure.
9129 (mark_machine_status): Take a 'void *'.
9130 (mark_lang_status): Likewise.
9131 * ggc-common.c (ggc_mark_trees): Use canonical name for
9132 ggc_mark_struct_function.
9133 * tree.h (ggc_mark_struct_function): Delete prototype.
9134 * config/alpha/alpha.c (alpha_mark_machine_status): Delete.
9135 (alpha_init_machine_status): Likewise.
9136 (override_options): Use canonical name for alpha_mark_machine_status.
9137 * config/alpha/unicosmk.h (struct machine_function): Use gengtype.
9138 * config/arm/arm.h (struct machine_function): Use gengtype.
9139 * config/arm/arm.c (arm_mark_machine_status): Delete.
9140 (arm_init_machine_status): Update calling sequence.
9141 (arm_init_expanders): Use canonical name for arm_mark_machine_status.
33005162 9142 * config/cris/cris.c (cris_init_machine_status): Update
e2500fed
GK
9143 calling sequence.
9144 * config/d30v/d30v.h (struct machine_function): Use gengtype.
33005162 9145 * config/d30v/d30v.c (d30v_init_machine_status): Update
e2500fed
GK
9146 calling sequence.
9147 (d30v_mark_machine_status): Delete.
9148 * config/i386/i386.c: Include gt-i386.h.
9149 (struct machine_function): Use gengtype.
9150 (ix86_init_machine_status): Update calling sequence.
9151 (ix86_mark_machine_status): Delete.
9152 (override_options): Use canonical namke for ix86_mark_machine_status.
9153 * config/ia64/ia64.h (struct machine_function): Use gengtype.
33005162 9154 * config/ia64/ia64.c (ia64_init_machine_status): Update calling
e2500fed
GK
9155 sequence.
9156 (ia64_mark_machine_status): Delete.
33005162 9157 (ia64_override_options): Use canonical name for
e2500fed 9158 ia64_mark_machine_status.
33005162 9159 * config/mmix/mmix.c (mmix_init_machine_status): Update calling
e2500fed
GK
9160 sequence.
9161 * config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
9162 * config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
9163 * gengtype.c (get_output_file): Fix warning.
9164 (main): Add prototype to suppress warning.
9165 * tree.c: Remove tree_hash_mark prototype.
9166
9167 * tree.h (init_stmt): Delete prototype.
9168 * toplev.c (lang_independent_init): Don't call init_stmt.
9169 * stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
9170 (stmt_obstack): Delete.
9171 (POPSTACK): No need to free 'struct nesting'.
9172 (gt_ggc_mr_nesting_cond): Use canonical names.
9173 (gt_ggc_mr_nesting_loop): Use canonical names.
9174 (gt_ggc_mr_nesting_block): Use canonical names.
9175 (gt_ggc_mr_nesting_case_stmt): Use canonical names.
9176 (mark_stmt_status): Delete.
9177 (init_stmt): Delete.
9178 (clear_last_expr): Clear both last_expr_type and last_expr_value.
9179 Use it everywhere that last_expr_type was cleared.
9180 * lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
9181 (zap_lists): Delete.
9182 * ggc.h (ggc_add_deletable_root): Prototype.
9183 (mark_stmt_status): Remove prototype.
9184 * ggc-common.c (ggc_add_deletable_root): New.
9185 (ggc_mark_roots): Handle deletable roots.
9186 * function.c (ggc_mark_struct_function): Use canonical name
9187 for mark_stmt_status.
9188 * emit-rtl.c (free_sequence_stack): New.
9189 (start_sequence): Use a freelist for sequences.
9190 (end_sequence): Likewise.
9191 (init_emit_once): Add free_sequence_stack as a deleteable root.
9192 * c-pragma.c Include gt-c-pragma.h.
9193 (struct align_stack): Use gengtype.
9194 (push_alignment): Use GGC for struct align_stack.
9195 (mark_align_stack): Delete.
9196 (gt_ggc_mp_align_stack): New.
9197 (init_pragma): Use canonical name for mark_align_stack.
9198 * c-decl.c: Include gt-c-decl.h.
9199 (struct binding_level): Use gengtype.
9200 (make_binding_level): Use GGC; handle the freelist here.
9201 (pop_binding_level): New.
9202 (pushlevel): Move code into make_binding_level.
9203 (push_label_level): Likewise.
9204 (poplevel): Move code into pop_binding_level.
9205 (pop_label_level): Likewise.
9206 (mark_binding_level): Delete.
9207 (gt_ggc_mp_binding_level): New.
9208 (c_init_decl_processing): Use canonical name for mark_binding_level.
9209 Add free_binding_level as deletable root.
9210 (mark_c_function_context): Use canonical name for mark_binding_level.
9211 * Makefile.in (c-decl.o): Add gt-c-decl.h.
9212 (c-pragma.o): Add gt-c-pragma.h.
9213 (GTFILES): Add c-decl.c and c-pragma.c.
9214 (gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
9215
9216 * tree.c (struct type_hash): Use gengtype.
9217 (init_obstacks): Use canonical name for type_hash_mark.
9218 (type_hash_mark): Delete.
9219 Include gt-tree.h.
9220 * rtl.h (struct mem_attrs): Use gengtype.
9221 * optabs.h (struct optab): Use gengtype.
9222 * optabs.c (expand_binop): Squish signed/unsigned warning.
9223 (mark_optab): Make local, use canonical name, use autogenerated
9224 marker procedure.
9225 (init_optabs): Use canonical name for mark_optab.
9226 (new_optab): Use GGC to allocate optabs.
9227 * ggc.h: Delete mark_optab prototype.
9228 * ggc-common.c (ggc_mark_rtx_children): Use canonical name for
9229 mem_attrs marker procedure.
9230 * gengtype.c (get_output_file): Include headers in gtype-desc.c
9231 explicitly rather than deducing them from file names.
9232 (write_gc_structure_fields): Handle arrays of structures.
9233 (main): Return non-zero exit code if errors occur during output.
9234 * emit-rtl.c (mem_attrs_mark): Delete.
9235 (init_emit_once): Use canonical name for mem_attrs marker procedure.
9236 * Makefile.in (gtype-desc.o): Explicitly name dependencies.
9237 (tree.o): Depend on gt-tree.h.
9238 (GTFILES): Add rtl.h, optabs.h, tree.c.
9239 (gt-tree.h): Add it to s-gtype rule.
9240
9241 * .cvsignore: Ignore gengtype flex/bison generated files.
9242 * Makefile.in (GGC_H): Add gtype-desc.h.
9243 (OBJS): Add gtype-desc.o.
9244 (GEN): Add gengtype.
9245 (STAGESTUFF): Add gengtype.
9246 (varasm.o): Add gt-varasm.h.
9247 (stmt.o): Add gt-stmt.h.
9248 (except.o): Add gt-except.h.
9249 (integrate.o): Add gt-integrate.h.
9250 (GTFILES): New.
9251 Add new rules for new files.
9252 * configure: Regenerate.
9253 * configure.in: Correct defaults.h paths.
9254 * emit-rtl.c (mark_sequence_stack): Delete.
9255 (mark_emit_status): Delete.
9256 (start_sequence): Allocate sequence structures using GGC.
9257 (end_sequence): Allocate sequence structures using GGC.
9258 * except.c: Use gengtype for various structures. Include
9259 gt-except.h.
9260 * expr.c (mark_expr_status): Delete.
9261 * function.c: Use gengtype for various structures. Include
9262 gt-function.h.
9263 (mark_function_status): Use standard gt_ggc names for marker functions.
9264 (ggc_mark_struct_function): Likewise.
9265 * function.h: Use gengtype for various structures.
9266 * gengtype-lex.l: New file.
9267 * gengtype-yacc.y: New file.
9268 * gengtype.c: New file.
9269 * gengtype.h: New file.
9270 * ggc.h: Include gtype-desc.h. Alias some marker procedures to
9271 the standard names. Remove some now-unnecessary prototypes.
9272 * integrate.c: Use gengtype for various structures. Include
9273 gt-integrate.h.
9274 (mark_hard_reg_initial_vals): Delete.
9275 * integrate.h (mark_hard_reg_initial_vals): Delete.
9276 * stmt.c: Use gengtype for various structures. Include
9277 gt-stmt.h.
9278 (mark_case_node): Delete.
9279 (mark_goto_fixup): Delete.
9280 (mark_stmt_status): Use standard gt_ggc names for marker functions.
9281 * system.h: Define GTY to empty. In flex/bison files,
9282 don't poison malloc or realloc, instead just define them to
9283 xmalloc and xrealloc.
9284 * varasm.c: Use gengtype for various structures. Include
9285 gt-varasm.h. Use standard gt_ggc names for marker functions.
9286 (mark_pool_constant): Delete.
9287 (mark_varasm_status): Delete.
9288 (decode_rtx_const): #if 0 out non-typesafe hack.
9289
9290 * function.h (free_lang_status): Mark as obsolete.
9291 * function.c (free_lang_status): Mark as obsolete.
9292 * c-decl.c (push_c_function_context): Use GC to allocate and free
9293 struct language_function.
9294 (pop_c_function_context): Likewise.
9295 * c-common.c (mark_c_language_function): Mark struct
9296 language_function.
9297
9298 * doc/tm.texi (Per-Function Data): Don't document free_machine_status.
9299 Document that the machine_function structures must be allocated
9300 using GC. Update mark_machine_status documentation.
9301 * function.h: Don't declare free_machine_status.
33005162 9302 * function.c (free_machine_status): Don't define.
e2500fed
GK
9303 (free_after_compilation): Don't call free_machine_status.
9304 (ggc_mark_struct_function): Mark f->machine. Call
9305 mark_machine_status only on non-NULL pointers.
9306 * system.h: Poison free_machine_status.
9307 * config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
9308 struct machine_function.
9309 (xtensa_free_machine_status): Delete.
9310 (override_options): Don't set free_machine_status.
9311 * config/rs6000/rs6000.c (rs6000_override_options): Don't set
9312 free_machine_status.
9313 (rs6000_init_machine_status): Use GC on struct machine_function.
9314 (rs6000_free_machine_status): Delete.
9315 * config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
9316 machine_function.
9317 (ia64_mark_machine_status): Likewise.
9318 (ia64_free_machine_status): Delete.
9319 (ia64_override_options): Don't set free_machine_status.
9320 * config/i386/i386.c (override_options): Don't set
9321 free_machine_status.
9322 (ix86_init_machine_status): Use GC on struct machine_function.
9323 (ix86_mark_machine_status): Likewise.
9324 (ix86_free_machine_status): Delete.
9325 * config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
9326 machine_function.
9327 (d30v_mark_machine_status): Likewise.
9328 (d30v_free_machine_status): Delete.
9329 (d30v_init_expanders): Don't set free_machine_status.
9330 * config/arm/arm.c (arm_mark_machine_status): Use GC on struct
9331 machine_function.
9332 (arm_init_machine_status): Likewise.
9333 (arm_free_machine_status): Delete.
9334 (arm_init_expanders): Don't set free_machine_status.
9335 * config/alpha/alpha.c (override_options): Don't set
9336 free_machine_status.
9337 (alpha_init_machine_status): Use GC on struct machine_function.
9338 (alpha_mark_machine_status): Likewise.
9339 (alpha_free_machine_status): Delete.
9340
9341 * varasm.c (compare_constant): Fix typo.
9342
9343 * varasm.c: Don't include obstack.h.
9344 (struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
9345 (struct rtx_const): Give substructures names, improve formatting.
9346 (struct constant_descriptor): Delete.
9347 (struct constant_descriptor_tree): New, based on constant_descriptor.
9348 (const_hash_table): Is a hash table of trees.
9349 (mark_const_hash_entry): Is used for hashes of trees. Mark
9350 constant_descriptor_tree structure.
9351 (mark_const_str_htab_1): Mark deferred_string structure.
9352 (compare_constant): Rewrite to compare trees.
9353 (compare_constant_1): Delete.
9354 (record_constant): Delete.
9355 (record_constant_1): Delete.
9356 (output_constant_def): Use struct constant_descriptor_tree.
9357 Don't duplicate trees twice.
9358 (struct constant_descriptor_rtx): New.
9359 (struct pool_constant): Used for rtx constants.
9360 (init_varasm_status): Update for change to struct varasm_status.
9361 (mark_varasm_status): Likewise.
9362 (free_varasm_status): Delete.
9363 (compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
9364 (record_constant_rtx): Likewise.
9365 (mem_for_const_double): Update to use struct constant_descriptor_rtx.
9366 (force_const_mem): Likewise.
9367 * Makefile.in (varasm.o): Doesn't depend on obstack.h.
9368 * function.c (free_after_compilation): Don't use free_varasm_status.
9369 * function.h: Don't prototype free_varasm_status.
9370
9371 * ggc-common.c (ggc_realloc): Handle X being NULL.
9372
9373 * ggc-common.c (ggc_realloc): New function.
9374 * ggc.h: Prototype it.
9375 * emit-rtl.c (free_emit_status): Delete.
9376 (init_emit): Allocate emit subarrays using GC.
9377 (gen_reg_rtx): Reallocate subarrays using GC.
9378 (init_emit): Use GC to allocate 'struct emit_status' and its
9379 subarrays.
9380 (mark_emit_status): Mark structure and its subarrays.
9381 * stmt.c (free_stmt_status): Delete.
9382 * expr.c (free_expr_status): Delete.
9383 * function.h: Remove prototypes for deleted functions.
9384 * function.c (free_after_compilation): Don't use deleted functions.
9385 Don't call free() on x_parm_reg_stack_loc.
9386 (free_after_parsing): Don't use free_stmt_status.
9387 (assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
9388 (mark_function_status): Mark x_parm_reg_stack_loc.
9389
9390 * varasm.c (init_varasm_status): Use GC to allocate
9391 'struct varasm_status' and its fields x_const_rtx_hash_table
9392 and x_const_rtx_sym_hash_table.
9393 (mark_varasm_status): Mark them.
9394 (free_varasm_status): Use GC to free them.
9395 * expr.c (init_expr): Use GC to allocate 'struct expr_status'.
9396 (mark_expr_status): Mark the structure itself.
9397 (free_expr_status): Use GC to free the structure.
9398 * stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
9399 (mark_stmt_status): Mark the 'struct stmt_status' itself.
9400 (init_stmt_for_function): Allocate the structure for GC.
9401
9402 * dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
9403 (equate_type_number_to_die): Likewise.
9404 * tree.h (TYPE_SYMTAB_DIE): New macro.
9405 (struct die_struct): Predeclare.
9406 (struct tree_type): Add field symtab.die. Add a tag
9407 to the union type of field symtab.
9408
9409 * varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
9410 'struct rtvec_def *', not 'struct rtvec_def'.
9411
9412 * function.h (original_arg_vector): Make a real rtvec.
9413 * function.c (ggc_mark_struct_function): Adjust.
9414 * integrate.c (expand_inline_function): Adjust.
9415
b655555e
JT
94162002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
9417
9418 * config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
9419 (sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
9420 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
9421 (TARGET_VERSION_CPU): Define according to the
9422 default target.
9423 (TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
9424 TARGET_VERSION_CPU.
9425 (TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
9426 if TARGET_SHMEDIA64.
9427 (LINK_DEFAULT_CPU_EMUL): Define according to the
9428 default target.
9429 (SUBTARGET_LINK_EMUL_SUFFIX): Define.
9430 (SUBTARGET_LINK_SPEC): Define.
9431 (LINK_SPEC): Use SH_LINK_SPEC.
9432 (ASM_SPEC): Remove.
9433 (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
9434 (FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
9435 and TARGET_SHMEDIA64 which abort, for now.
9436 * config/sh/t-netbsd-sh5: New file.
9437 * config/sh/t-netbsd-sh5-32: New file.
9438 * config/sh/t-netbsd-sh5-64: New file.
9439
6d8fd7bb
RH
94402002-06-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
9441 Richard Henderson <rth@redhat.com>
9442
9443 * config/alpha/alpha.c (reg_or_const_int_operand): New.
9444 (some_operand, input_operand): Accept CONST_VECTOR.
9445 (alpha_extra_constraint): Add 'W'.
9446 (alpha_expand_zap_mask): New.
9447 (alpha_expand_builtin_vector_binop): New.
9448 (enum alpha_builtin): New.
9449 (zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
9450 (alpha_init_builtins, alpha_expand_builtin): New.
9451 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
9452 * config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
9453 (PREDICATE_CODES): Update.
9454 * config/alpha/alpha-protos.h: Update.
9455 * config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
9456 UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
9457 (movv8qi, movv8qi_fix, movv8qi_nofix): New.
9458 (movv4hi, movv4hi_fix, movv4hi_nofix): New.
9459 (movv2si, movv2si_fix, movv2si_nofix): New.
9460 (uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
9461 (umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
9462 (builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
9463 builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
9464 builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
9465 builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
9466 builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
9467 pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
9468 builtin_unpkbw, unpkbw): New.
9469 * doc/extend.texi (Alpha Built-in Functions): New.
9470
618939de
RH
94712002-06-03 Richard Henderson <rth@redhat.com>
9472
9473 * crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
9474 USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
9475
73db7137
RH
94762002-06-03 Richard Henderson <rth@redhat.com>
9477
6933647a
RH
9478 * config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
9479
73db7137
RH
9480 * config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
9481 (const0_operand): New.
9482 (reg_or_fp0_operand, fp0_operand): Remove.
9483 * config/alpha/alpha.h (PREDICATE_CODES): Update.
9484 * config/alpha/alpha-protos.h: Update.
9485 * config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
9486 and fp0_operand with reg_or_0_operand and const0_operand.
9487
a6f7c915
DN
94882002-06-03 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
9489
9490 * alias.c (nonoverlapping_memrefs_p): Fix off by one error.
9491
b2f02503
RS
94922002-06-03 Roger Sayle <roger@eyesopen.com>
9493
9494 * gcse.c (cprop_jump): Use single_set to get the pattern
9495 from the setcc argument.
9496
4fcc2065
GDR
94972002-06-03 Gabriel Dos Reis <gdr@codesourcery.com>
9498
33005162 9499 * diagnostic.h (diagnostic_count): Move from output_buffer to
4fcc2065
GDR
9500 diagnostic_context.
9501 (diagnostic_kind_count): Adjust definition.
9502
5204d665
JH
9503Mon Jun 3 19:11:53 CEST 2002 Jan Hubicka <jh@suse.cz>
9504
9505 * except.c (except.c): Do not rebuild CFG.
9506 * toplev.c (rest_of_compilation): Recompute CFG after sibcall
9507 optimization.
9508
0478a14c
JH
9509Mon Jun 3 11:53:01 CEST 2002 Jan Hubicka <jh@suse.cz>
9510
9511 * integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
9512 * toplev.c: Include cfglahout.h
9513 * Makefile.in (toplev.c): Add dependnecy.
9514
30efe578
NB
95152002-06-03 Neil Booth <neil@daikokuya.demon.co.uk>
9516
9517 * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
9518 (CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
9519 (CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
9520
a782515b
JT
95212002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
9522
9523 * config/ns32k/netbsd.h: Update copyright years.
9524 (TARGET_OS_CPP_BUILTINS): Define.
9525 (CPP_PREDEFINES): Remove.
9526 * config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
9527 (TARGET_CPU_CPP_BUILTINS): Define.
9528
0fb7aeda
KH
95292002-06-02 Kazu Hirata <kazu@cs.umass.edu>
9530
589005ff 9531 * emit-rtl.c: Fix formatting.
0fb7aeda
KH
9532 * errors.h: Likewise.
9533 * except.c: Likewise.
9534 * explow.c: Likewise.
9535 * expmed.c: Likewise.
9536 * expr.c: Likewise.
9537 * expr.h: Likewise.
9538
1c8ec18b
KH
95392002-06-02 Kazu Hirata <kazu@cs.umass.edu>
9540
9541 * config/h8300/elf.h: Fix formatting.
9542 * config/h8300/rtems.h: Likewise.
9543
86cb04f6
JT
95442002-06-03 Jason Thorpe <thorpej@wasabisystems.com>
9545
9546 * config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
9547
5d83269d
TT
95482002-06-02 Tom Tromey <tromey@redhat.com>
9549
9550 * fixinc/fixincl.x: Rebuilt.
9551 * fixinc/inclhack.def (thread_keyword): Match `*__thread'.
9552
62f6a494
NB
95532002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9554
9555config/i370:
9556 * i370.h (TARGET_CPU_CPP_BUILTINS): Use.
9557 * linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
9558 * mvs.h: Similarly.
9559 * oe.h: Similarly.
9560
0acb0203
JH
9561Mon Jun 3 00:18:20 CEST 2002 Jan Hubicka <jh@suse.cz>
9562
9563 * final.c (final): Allow notes to not have computed addresses;
9564 kill no longer needed STACK_REGS ifdef.
9565
ada8d98a
RH
95662002-06-02 Richard Henderson <rth@redhat.com>
9567
9568 * gcse.c (bypass_conditional_jumps): Fix typo last change.
9569
ba4f7968
JH
9570Sun Jun 2 23:02:11 CEST 2002 Jan Hubicka <jh@suse.cz>
9571
ada8d98a
RH
9572 * loop.c (emit_prefetch_instructions): Properly place the address
9573 computation.
ba4f7968
JH
9574
9575Sun Jun 2 22:56:48 CEST 2002 Jan Hubicka <jh@suse.cz>
9576
9577 * basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
9578 (set_block_for_insn): Turn into macro.
9579 * cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
9580 * cfglayout.c (insn_scopes): Kill.
9581 (scope_to_insns_initialize): Do not use insn_scopes.
9582 (scope_to_insns_finalize): Likewise.
9583 (duplicate_insn_chain): Likewise.
9584 (cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
9585 * cfgrtl.c (basic_block_for_insn): Kill.
9586 (delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
9587 (create_basic_block_structure): Use reorder_insns.
9588 (compute_bb_for_insn): Do not use basic_block_for_insn.
9589 (merge_blocks_nomove): Likewise.
9590 (update_bb_for_insn): Likewise.
9591 (verify_flow_info): Likewise.
9592 (set_block_for_insn): Kill.
9593 * combine.c (try_combine): Update gen_rtx_INSN call.
9594 * emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
9595 (mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
9596 scopes and BBs.
9597 (add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
9598 (emit_note_before, emit_note_after, emit_line_note_after, emit_note):
9599 Clear BB.
9600 (emit_insns_after): Simplify.
9601 (emit_copy_of_insn_after): Copy scope.
9602 * final.c (final_start_function): Lower scopes.
9603 * flow.c (check_function_return_warnings): Do not rely on deleted insn.
9604 * integrate.c (copy_insn_list): Cope scopes.
9605 * jump.c (duplicate_loop_exit_test): LIkewise; simplify.
9606 * loop.c (loop_optimize): Do not care block notes.
9607 * print-rtl.c (print_rtx): Print BB.
9608 * recog.c (apply_change_group): Simplify.
9609 * rtl.c (copy_rtx): Handle 'B'.
9610 * rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
9611 * rtl.h (Field accessors): Update indexes.
9612 * sched-ebb.c (schedule_ebbs): Do not lower notes.
9613 * sched-rgn.c (schedule_insns): Likewise.
9614 * toplev.c (rest_of_compilation): Lower notes.
9615 * unroll.c (unroll_loop): Do not care scoping notes.
9616 (copy_loop_body): Copy scopes.
9617
537fc532
NB
96182002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9619
9620config/h8300:
9621 * elf.h: Use TARGET_OS_CPP_BUILTINS rather than
9622 SUBTARGET_SPEC.
9623 * rtems.h: Similarly.
9624 * h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
9625 EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
9626 (TARGET_CPU_CPP_BUILTINS): Use.
9627
ab780373
RH
96282002-06-02 Richard Henderson <rth@redhat.com>
9629
9630 * alias.c: Include target.h.
9631 (mark_constant_function): Use targetm.binds_local_p instead
9632 of checking TREE_PUBLIC ourselves.
9633 * Makefile.in (alias.o): Add TARGET_H.
9634
b9305c66
NB
96352002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9636
9637 * c-lex.c: Update copyright and file description.
9638
0ac3e0c4
NB
96392002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9640
9641 * config/fr30/fr30.h: Update to new CPP macros.
9642
be3a1d46
NB
96432002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9644
9645 * config/dsp16xx/dsp16xx.h: Update to new CPP macros.
9646
ceeedfc1 96472002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
a8fd5963 9648 Zack Weinberg <zack@codesourcery.com>
ceeedfc1
NB
9649
9650 * c-common.c (c_common_init): Override cpplib's default
9651 warn_long_long setting.
9652 * c-lex.c (lex_number): Replace with interpret_integer,
9653 interpret_float, narrowest_unsigned_type and
9654 narrowest_signed_type, taking advantage of the new
9655 cpplib functionality.
9656 * cpperror.c (_cpp_begin_message): If a warning is turned
9657 into an error, avoid printing "warning:".
9658 * cppexp.c (cpp_num_sign_extend): New.
9659 * cppinit.c: Update comment.
9660 * cpplib.h (cpp_num_sign_extend): New.
9661 * tree.h: Update comment.
9662
27e511e0
GDR
96632002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
9664
9665 * diagnostic.h (struct diagnostic_context): Add new member
33005162 9666 internal_error.
27e511e0
GDR
9667 (internal_error_function): Remove declaration.
9668 * diagnostic.c (internal_error_function): Remove definition..
9669 (internal_error): Adjust use.
9670
818b6b7f
RH
96712002-06-02 Richard Henderson <rth@redhat.com>
9672
9673 * rtl.h (CC0_P): New.
9674 * gcse.c (cprop_jump): Use it with single_set. Tweak dump text.
9675 (cprop_insn): Allow any mode register; use CC0_P. CSE out single_set.
9676 (bypass_block): Save old dest block for dump text.
9677 (bypass_conditional_jumps): Allow any mode register; use CC0_P.
9678 Allow only true SET insns, not single_set.
9679
167143a0
GDR
96802002-06-02 Gabriel Dos Reis <gdr@codesourcery.com>
9681
9682 * diagnostic.c (diagnostic_finish): Rename to output_flush.
9683 (clear_disgnostic_info): Rename to output_clear_data. Use false
9684 instead of 0 for boolean value.
9685 Adjust function call throughout.
9686
eae4bc56
JH
9687Sun Jun 2 19:15:27 CEST 2002 Jan Hubicka <jh@suse.cz>
9688
9689 * cfgrtl.c (commit_one_edge_insertion): Fix warning.
9690 * gcse.c (bypass_conditional_jumps): CSE out single_set call.
9691
9eb404a0
NB
96922002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9693
9694 * d30v.h (CPP_PREDEFINES): Replace with
9695 (TARGET_CPU_CPP_BUILTINS): New.
9696
53e8b0b8
RS
96972002-06-02 Roger Sayle <roger@eyesopen.com>
9698
9699 * config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
9700
92e34b67
JH
9701Sun Jun 2 12:11:52 CEST 2002 Jan Hubicka <jh@suse.cz>
9702
9703 * gcse.c (bypass_conditional_jumps): Use single set to obtain set.
9704
e7e9d242
RH
97052002-06-02 Richard Henderson <rth@redhat.com>
9706
9707 * rtlanal.c (volatile_refs_p): Not automatically true for CALL.
9708
9af145ae
MM
97092002-06-02 Marek Michalkiewicz <marekm@amelek.gda.pl>
9710
9711 Support for C++ constructors/destructors.
9712 * config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
9713 instead of looping if main() returns.
9714 (asm_file_start): Output global symbols that cause .data and .bss
9715 initialization code to be linked in, unconditionally for now.
9716 (avr_asm_out_ctor, avr_asm_out_dtor): New functions.
9717 * config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
9718 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9719 (LIBSTDCXX): New.
9720 * config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
9721 (__tablejump__): New.
9722 (__do_copy_data, __do_clear_bss): New.
9723 (__do_global_ctors, __do_global_dtors): New.
9724 * config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
9725 _ctors, _dtors.
9726
0d66ad57
NB
97272002-06-02 Neil Booth <neil@daikokuya.demon.co.uk>
9728
9729 * c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
9730 (CPP_SPEC, CPP_PREDEFINES): Kill.
9731 * c4x/rtems.h (CPP_PREDEFINES): Kill.
9732 (TARGET_OS_CPP_BUILTINS): New.
9733
5c856b23
JH
9734Sat Jun 1 23:29:51 CEST 2002 Jan Hubicka <jh@suse.cz>
9735
9736 * Makefile.in (tracer.o): New.
9737 * params.def (TRACER_*): New options.
9738 * rtl.h (tracer): Declare.
9739 * timevar.def (TV_TRACER): New.
9740 * toplev.c (dump_file_index): Add DFI_tracer.
9741 (dump_file_info): Add tracer.
9742 (flag_tracer): New.
9743 (lang_indepdenent_options): Add tracer.
9744 (rest_of_compilation): Call tracer.
9745 * tracer.c: New file.
9746 * invoke.texi (-ftracer): Document.
9747 (--param tracer-*): Document.
9748
e2405951
DB
97492002-06-01 Daniel Berlin <dberlin@dberlin.org>
9750
9751 * tree-inline.c (expand_call_inline): Make the statement
33005162 9752 expression we generate have a COMPOUND_STMT.
e2405951 9753
0e3f0221
RS
97542002-06-01 Roger Sayle <roger@eyesopen.com>
9755
9756 * gcse.c (cprop_cc0_jump): Function deleted.
9757 (cprop_jump): Take an additional argument which is the possibly
9758 NULL cc setting insn immediately before the conditional jump.
9759 When a MODE_CC set is present, substitute it into the JUMP_INSN
9760 before attempting the constant propagation.
9761 (cprop_insn): Recognize cc setters followed by conditional jumps
9762 as a special case. Use cprop_jump instead of cprop_cc0_jump.
9763 (cprop_one_pass): Call bypass_conditional_jumps if altering jumps.
9764 (find_bypass_set): New function based upon find_avail_set used by
9765 cprop, but finds constant expressions available at the end of
9766 basic blocks.
9767 (bypass_block): New function. Given a basic block that begins
9768 with a conditional jump and multiple incoming edges, perform
9769 the jump bypass optimization.
9770 (bypass_conditional_jumps): New function. Call bypass_block with
9771 each suitable basic block in the CFG using a simple single pass.
9772
378393da
RS
97732002-06-01 Roger Sayle <roger@eyesopen.com>
9774
9775 * tree.c (real_minus_onep): New function to test for -1.0.
9776 * fold-const.c (fold) [MULT_EXPR]: Optimize -1.0*x into -x.
9777
01c58f26
RS
97782002-06-01 Roger Sayle <roger@eyesopen.com>
9779
9780 * fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
9781 and "!p && !q" into "(p|q) == 0" under suitable conditions.
9782
91b12472
AJ
97832002-06-01 Andreas Jaeger <aj@suse.de>
9784
9785 * cppexp.c (cpp_classify_number): Cast precission to int for
9786 correct printf format.
9787
01e9ae86
MM
97882002-06-01 Marek Michalkiewicz <marekm@amelek.gda.pl>
9789
9790 * config/avr/avr.c (avr_mcu_types): Remove devices that were once
9791 expected, but don't really exist: atmega83, atmega85, attiny10.
9792 * config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
9793 emulations for all devices.
9794 (CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
9795 * config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
9796
be1e06df
KH
97972002-06-01 Kazu Hirata <kazu@cs.umass.edu>
9798
9799 * config/h8300/h8300-protos.h: Add a prototype for
9800 h8300_shift_needs_scratch_p.
9801 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
9802 * config/h8300/h8300.h (OK_FOR_R): New.
9803 (OK_FOR_S): Likewise.
9804 (OK_FOR_T): Likewise.
9805 (EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
9806 * config/h8300/h8300.md (anonymous shift patterns): Use
9807 constraints R, S, and T.
9808
2ecfd709
ZD
9809Sat Jun 1 11:23:22 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9810
9811 * basic-block.h (struct basic_block_def): New field loop_father.
9812 (BB_VISITED): New flag.
9813 (struct loop): New field pred, removed field shared.
9814 (struct loops): New field parray.
9815 (LOOP_EXITS_DOMS): Removed.
9816 (flow_loop_tree_node_add, flow_loop_tree_node_remove,
9817 flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
9818 dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
9819 add_bb_to_loop, remove_bb_from_loops, find_common_loop,
9820 verify_loop_structure): Declare.
9821 * cfg.c (entry_exit_blocks): Initialize loop_father field.
9822 * cfganal.c (dfs_enumerate_from): New function.
9823 * cfgloop.c (HEAVY_EDGE_RATIO): New constant.
9824 (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
9825 flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
9826 flow_loop_dump, flow_loops_dump, flow_loops_free,
9827 flow_loop_tree_node_add, flow_loop_level_compute,
9828 flow_loops_level_compute, flow_loop_scan, flow_loops_update,
9829 flow_loop_outside_edge_p): Modified for new infrastructure.
9830 (make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
9831 redirect_edge_with_latch_update, flow_loop_free): New static functions.
9832 (flow_loop_tree_node_remove, flow_bb_inside_loop_p,
9833 get_loop_body, add_bb_to_loop, remove_bb_from_loops,
9834 find_common_loop, verify_loop_structure, loop_latch_edge,
9835 loop_preheader_edge): New functions.
9836 (flow_loops_cfg_dump): Do not show dominators, as this information
9837 does not remain up to date long.
9838 (flow_loops_find): Store results in new format.
9839 * predict.c (propagate_freq, estimate_probability,
9840 estimate_loops_at_level, estimate_bb_frequencies): Use new loop
9841 infrastructure.
9842
d9763749 98432002-06-01 Alan Lehotsky <apl@alum.mit.edu>
91b12472 9844
d9763749
AL
9845 * except.c (nothrow_function_p): Walk epilogue delay list
9846 checking the insn, not the chain for potential throws.
91b12472 9847
1e730c5c
ZW
98482002-05-31 Zack Weinberg <zack@codesourcery.com>
9849
9850 * Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
9851 (install): Refer to install-cpp directly.
9852 (uninstall-cpp): Folded into uninstall rule.
9853 * configure.in: Delete all code relating to --disable-cpp.
9854 * configure: Regenerate.
9855 * config/t-install-cpp: Delete.
9856
6f9b006d
RH
98572002-05-31 Richard Henderson <rth@redhat.com>
9858
9859 * configure.in (HAVE_AS_TLS): Add alpha tests.
9860 * configure: Rebuild.
9861 * config/alpha/alpha.c (TARGET_AS_TLS): New.
9862 (alpha_tls_size, alpha_tls_size_string): New.
9863 (overide_options): Set it. Always install machine_status hooks.
9864 (input_operand): Accept got tls predicates.
9865 (local_symbol_p): Merge into ...
9866 (local_symbolic_operand): ... here. Reject tls symbols.
9867 (global_symbolic_operand): Likewise.
9868 (tls_symbolic_operand_1, dtp16_symbolic_operand): New.
9869 (dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
9870 (tp16_symbolic_operand, tp32_symbolic_operand): New.
9871 (gottp_symbolic_operand, tls_symbolic_operand_type): New.
9872 (alpha_encode_section_info): Handle TLS symbols.
9873 (alpha_strip_name_encoding): Likewise.
9874 (alpha_legitimate_address_p): Likewise.
9875 (alpha_legitimize_address): Likewise.
9876 (alpha_expand_mov): Early exit to avoid nop moves.
9877 (struct machine_function): Move from unicosmk.h. Add some_ld_name.
9878 (alpha_init_machine_status, alpha_mark_machine_status,
9879 alpha_free_machine_status): Always define.
9880 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
9881 (print_operand, print_operand_address): Add TLS relocs.
9882 * config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
9883 (MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
9884 (TARGET_SWITCHES): Add -mtls-kernel.
9885 (alpha_tls_size, alpha_tls_size_string): New.
9886 (TARGET_OPTIONS): Add -mtls-size=.
9887 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
9888 REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
9889 (ASM_OUTPUT_LABELREF): Skip %.
9890 (PRINT_OPERAND_PUNCT_VALID_P): Add &.
9891 (PREDICATE_CODES): Update.
9892 * config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
9893 UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
9894 UNSPEC_TP, UNSPECV_SET_TP): New.
9895 (adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
9896 adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
9897 set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
9898 movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
9899 (call_value_osf_2_er): Accept anything as op4.
9900 * config/alpha/alpha-protos.h: Update.
9901 * config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
9902
39e5db1a
ZW
99032002-05-31 Zack Weinberg <zack@codesourcery.com>
9904
9905 * cppinit.c (append_include_chain): Always pay attention to
9906 cxx_aware when setting new->sysp. Remove ATTRIBUTE_UNUSED
9907 marker on argument.
9908
41077ce4
KH
99092002-05-31 Kazu Hirata <kazu@cs.umass.edu>
9910
9911 * target.h: Fix formatting.
9912 * timevar.h: Likewise.
9913 * tlink.c: Likewise.
9914 * toplev.c: Likewise.
9915 * toplev.h: Likewise.
9916 * tree.c: Likewise.
9917 * tree-dump.h: Likewise.
9918 * tree.h: Likewise.
9919 * tree-inline.h: Likewise.
9920 * unroll.c: Likewise.
9921 * unwind-dw2.c: Likewise.
9922 * unwind-dw2-fde.c: Likewise.
9923 * unwind-dw2-fde-glibc.c: Likewise.
9924 * unwind-dw2-fde.h: Likewise.
9925 * unwind.h: Likewise.
9926 * unwind-sjlj.c: Likewise.
9927 * varasm.c: Likewise.
9928 * varray.h: Likewise.
9929 * vmsdbg.h: Likewise.
9930 * vmsdbgout.c: Likewise.
9931 * xcoffout.h: Likewise.
9932
b2e426a0
IS
99332002-05-31 Igor Shevlyakov <igor@microunity.com>
9934
1e730c5c 9935 * expr.c (compare_from_rtx): Generate comparison between op0 and op1
b2e426a0
IS
9936 rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
9937
8b968bd1
MW
99382002-05-31 Matthew Woodcraft <mattheww@chiark.greenend.org.uk>
9939
9940 * gcc.c (cpp_unique_options): Remove "-d" options.
9941 (cpp_debug_options): New spec string.
9942 (default_compilers): Use it.
9943 * objc/lang-specs.h: Likewise.
9944
5c35940c
NN
99452002-05-31 Nathanael Nerode <neroden@twcny.rr.com>
9946
1e730c5c 9947 * gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
5c35940c
NN
9948 BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
9949 * gcc/mklibgcc.in: Likewise.
9950 * gcc/config/arc/t-arc: Likewise.
9951 * gcc/configure.in: Likewise.
9952 * gcc/configure: Regenerate.
9953
8b496ceb
SS
99542002-05-31 Stan Shebs <shebs@apple.com>
9955 Turly O'Connor <turly@apple.com>
9956
9957 * c-decl.c (struct binding_level): Change int field n_incomplete
9958 to tree list incomplete_list.
9959 (clear_binding_level): Init field with NULL.
9960 (pushdecl): Add incomplete type to list.
9961 (mark_binding_level): Mark the incomplete list.
9962 (finish_struct): Scan the incomplete list for types instead
9963 of all decls in the current binding level.
9964
4722213d
JDA
99652002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
9966
9967 * pa.c (output_millicode_call): Add missing '%' characters.
9968 (output_call): Likewise.
9969
1086fcb1
DE
99702002-05-31 David Edelsohn <edelsohn@gnu.org>
9971
9972 * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
9973 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
9974
afdfb380 99752002-05-31 Alan Lehotsky <apl@alum.mit.edu>
91b12472 9976
afdfb380
AL
9977 * varasm.c (mark_constant_pool): Walk epilogue delay list
9978 checking the insn, not the chain for potential constants.
1e730c5c 9979
f2df45f6
R
9980Fri May 31 12:38:43 2002 J"orn Rennecke <joern.rennecke@superh.com>
9981
9982 * config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
9983
91ea38f9
JH
9984Fri May 31 13:50:19 CEST 2002 Jan Hubicka <jh@suse.cz>
9985
9986 * i386.c (classify_argument): Properly handle base types.
9987
9988 * dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
9989 Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
9990 registers.
9991
10d1bb36
JH
9992Fri May 31 13:37:54 CEST 2002 Jan Hubicka <jh@suse.cz>
9993
9994 * gcse.c (gcse_emit_move_after): New.
9995 (pre_delete, hoist_store): Use it.
9996
9997 * reload1.c (emit_input_reload_insns): Use constrain_operands
9998 instead of constraint_accepts_reg_p to verify optimization.
9999 (constraint_accepts_reg_p): Kill
10000
10001 * reload1.c (reload_cse_delete_noop_set): Kill.
10002 (reload_cse_simplify): use delte_insn_and_edges.
10003
8a72fb76
ZD
100042002-05-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10005
10006 * cfgloop.c (flow_loops_find): Initialize first and last fields
10007 correctly.
10008
a9da2e5b
NB
100092002-05-31 Neil Booth <neil@daikokuya.demon.co.uk>
10010
10011 * c-common.c (builtin_define_std): Correct logic.
10012
6248c4dd
JDA
100132002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
10014
10015 * pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
10016 (output_call): Likewise.
10017
d499455b
JDA
100182002-05-31 John David Anglin <dave@hiauly1.hia.nrc.ca>
10019
10020 * pa.c: Move output.h include after tree.h include.
10021 (pa_asm_output_mi_thunk): Constify identifier lab.
10022
2eb2901a
JT
100232002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10024
10025 * config/ns32k/ns32k.h: Define named constants for the
10026 bits in target_flags and use them.
10027 * config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
10028
806bf413
JDA
100292002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
10030
10031 * config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
10032 architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
10033 * pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
10034 default scheduling model.
10035 * pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
10036 * pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
10037 * pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
10038 * doc/install.texi (hppa*-*-*): Document default scheduling.
10039
6d8d2bbc
JDA
100402002-05-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
10041
10042 * pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
10043
c8eb9785
JT
100442002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10045
10046 * config.gcc (ns32k-*-netbsd*): Set tm_file to
10047 "${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
10048 * config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
10049 netbsd.h, or netbsd-aout.h.
10050
6e2e5b6a
JT
100512002-05-31 Jason Thorpe <thorpej@wasabisystems.com>
10052
10053 * longlong.h (count_trailing_zeros): Add missing \, and clean up
10054 whitespace in __ns32000__ case.
10055
00182e1e
AH
100562002-05-31 Aldy Hernandez <aldyh@redhat.com>
10057
1e730c5c
ZW
10058 * expr.c (expand_expr): Output partially zeroed out vectors with
10059 output_constant_def.
00182e1e 10060
b4eb03fe
JT
100612002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
10062
10063 * config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
10064 (sh-*-netbsdelf*)
10065 (shl*-*-netbsdelf*): New targets.
10066 * config/sh/netbsd-elf.h: New file.
8fd0df91 10067 * config/sh/t-netbsd: New file.
b4eb03fe 10068
261376e7
RH
100692002-05-30 Richard Henderson <rth@redhat.com>
10070 Eric Botcazou <ebotcazou@multimania.com>
10071
10072 PR optimization/6822
10073 * config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
10074 to unsigned int for op1 comparisons. Use gen_int_mode.
10075
ce60bf25
EB
100762002-05-30 Eric Botcazou <ebotcazou@multimania.com>
10077
10078 * expmed.c (const_mult_add_overflow_p): New.
10079 * expr.h: Declare it.
10080 * loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
10081 Don't eliminate the biv if the giv has a constant multiplier and
10082 the rhs argument of the comparison does satisfy the predicate.
10083 Use expand_mult_add to compute the replacement constant.
10084
d18b1ed8
OS
100852002-05-30 Osku Salerma <osku@iki.fi>
10086
10087 * c-common.c (c_common_attribute_table): Add "may_alias" entry.
10088 (c_common_get_alias_set): Handle it.
10089 * doc/extend.texi: Document it.
10090
a7943381
RH
100912002-05-30 Richard Henderson <rth@redhat.com>
10092
10093 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
10094 * toplev.c (process_options): Don't check it.
10095 * doc/tm.texi: Don't document it.
10096 * config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
10097 (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
10098 * config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
10099 frame pointer optimization if current_function_profile.
10100
e11e816e
KH
101012002-05-30 Kazu Hirata <kazu@cs.umass.edu>
10102
10103 * langhooks.c: Fix formatting.
10104 * langhooks.h: Likewise.
10105 * lcm.c: Likewise.
10106 * libgcc2.c: Likewise.
10107 * lists.c: Likewise.
10108 * local-alloc.c: Likewise.
10109 * loop.c: Likewise.
10110 * loop.h: Likewise.
10111
101122002-05-30 Marc Espie <espie@openbsd.org>
10113
10114 * config.gcc (sparc64-*-openbsd*): New.
10115 * config/sparc/openbsd1-64.h: New.
10116 * config/sparc/openbsd64.h: New.
91f0fcee 10117
d35dfca9
JL
101182002-05-30 Jeff Law <law@redhat.com>
10119
10120 * flow.c (propagate_one_insn): Revise yesterday's patch. Delete
10121 a dead insn with a REG_RETVAL note when the entire libcall is not
10122 dead and remove the associated REG_LIBCALL note at the same time.
10123
81b40b72
R
10124Thu May 30 19:54:30 2002 J"orn Rennecke <joern.rennecke@superh.com>
10125
10126 * lcm.c (output.h): #include.
10127 (compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
10128 as an ordinary block.
10129 (optimize_mode_switching): Don't pretend that the exit block is
10130 an ordinary block, or handle sucessors of entry block specially.
10131 Instead, split edges from entry block and to exit block, and
10132 put a computing definition on the thus gained post-entry-block,
10133 and a need on the pre-exit-block.
10134
c8ea9a0f
JH
10135Thu May 30 20:28:01 CEST 2002 Jan Hubicka <jh@suse.cz>
10136
10137 * gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
10138 * rtl.texi: Document 'B'
10139
348f0869
JT
101402002-05-30 Jason Thorpe <thorpej@wasabisystems.com>
10141
10142 * config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
10143 at run-time.
10144 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
10145
9a171fcd
AH
101462002-05-30 Aldy Hernandez <aldyh@redhat.com>
10147
1e730c5c
ZW
10148 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
10149 const0_rtx instead of NULL_RTX when in error.
10150 (altivec_expand_abs_builtin): Same.
10151 (rs6000_expand_binop_builtin): Same.
10152 (altivec_expand_predicate_builtin): Same.
10153 (altivec_expand_stv_builtin): Same.
10154 (rs6000_expand_ternop_builtin): Same.
10155 (altivec_expand_builtin): Same.
9a171fcd 10156
62a35e60
DM
101572002-05-29 David S. Miller <davem@redhat.com>
10158
10159 * rtl.h (clear_emit_caches): Delete.
10160 * integrate.c (output_inline_function): Don't call it.
10161 * emit-rtl.c (restore_emit_status, init_emit): Likewise.
10162 (clear_emit_caches): Delete definition.
10163 (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
10164
cbc39da8
HPN
101652002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
10166
10167 * config/mmix/mmix.c: Include real.h.
10168 (mmix_constant_address_p): Remove redundant test before switch.
10169
50efa737
JT
101702002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10171
10172 * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
10173 only if not already defined.
10174
2e760b15
KH
101752002-05-29 Kazu Hirata <kazu@cs.umass.edu>
10176
10177 * config/h8300/h8300-protos.h: Remove prototypes for
10178 ok_for_bclr and small_power_of_two.
10179 * config/h8300/h8300.c (small_power_of_two): Remove.
10180 (ok_for_blcr): Likewise.
10181 (fix_bit_operand): Make WHAT deal with an integer instead of a
10182 constraint character.
10183 * config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
10184 (CONST_OK_FOR_P): Likewise.
10185 (CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
10186 CONST_OK_FOR_P any more.
10187 * config/h8300/h8300.md (andqi3): Adjust to the new prototype
10188 of fix_bit_operand.
10189 (iorqi3): Likewise.
10190 (xorqi3): Likewise.
10191
e1c293ae
JT
101922002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10193
10194 * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10195 (CPP_PREDEFINES): Make sure this is undefined.
10196 (CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
10197 since it is no longer in CPP_PREDEFINES. Don't -U__MIPSEL__
10198 or -U__MIPSEB__ before defining one or the other. Instead,
10199 use %(subtarget_endian_default) if neither -EB nor -EL are
10200 specified.
10201 (SUBTARGET_EXTRA_SPECS): Define.
10202 (SUBTARGET_CPP_SPEC): Remove __LONG64 handling. Use
10203 %(netbsd_cpp_spec).
10204
fde6d81f
HPN
102052002-05-29 Hans-Peter Nilsson <hp@axis.com>
10206
10207 * doc/md.texi (Patterns): Note pattern condition pitfall
10208 for unnamed insn.
10209
92898235
AH
102102002-05-29 Aldy Hernandez <aldyh@redhat.com>
10211
1e730c5c
ZW
10212 * rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
10213 when TARGET_ALTIVEC. Move handling of generic unary, binary, and
10214 ternary operations from here...
10215 (rs6000_expand_builtin): ...to here.
10216 New argument expandedp.
10217 Change all instances of altivec_expand_binop_builtin to
10218 rs6000_expand_binop_builtin.
10219 (altivec_expand_unop_builtin): Rename to
10220 rs6000_expand_unop_builtin.
10221 (altivec_expand_binop_builtin): Rename to
10222 rs6000_expand_binop_builtin.
10223 (altivec_expand_ternop_builtin): Rename to
10224 rs6000_expand_ternop_builtin.
92898235 10225
67adf6a9
RH
102262002-05-29 Richard Henderson <rth@redhat.com>
10227
10228 * config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
10229 (TARGET_BI_ARCH): Likewise.
10230 * config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
10231 (TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
10232 (TARGET_64BIT_DEFAULT): Default to 0.
10233 (TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
10234
145aacc2
RH
102352002-05-29 Richard Henderson <rth@redhat.com>
10236
10237 * config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
10238 (get_pc_thunk_name): New.
10239 (output_set_got): Use it.
10240 (ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
10241 into linkonce sections.
10242
a5b49bbc
JT
102432002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10244
10245 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
10246 (CPP_PREDEFINES): Make sure this is undefined.
10247 (CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
10248 (CPP_SUBTARGET_SPEC): Don't provide different versions for
10249 default-32 and default-64. Just always use %(netbsd_cpp_spec).
10250 (SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
10251 cpp_subtarget_spec64. Add netbsd_cpp_spec.
10252 * config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10253 (CPP_PREDEFINES): Make sure this is undefined.
10254 (SUBTARGET_EXTRA_SPECS): Define.
10255 (CPP_SPEC): Use %(netbsd_cpp_spec).
10256
54374491
JL
102572002-05-29 Jeff Law <law@redhat.com>
10258
ae02eae8
JL
10259 * pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
10260
b862c2aa
JL
10261 * flow.c (propagate_one_insn): Do not remove a dead insn if it
10262 contains a REG_RETVAL note.
10263
d10791ba
JL
10264 * haifa-sched (sched_analyze): Remove another useless clearing
10265 of SCHED_GROUP_P I missed yesterday.
10266
54374491
JL
10267 * pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
10268 * pa.c (pa_asm_output_mi_thunk): New function.
10269 * pa-protos.h (pa_asm_output_mi_thunk): Declare.
10270
92c392e6
NB
102712002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
10272 Marek Michalkiewicz <marekm@amelek.gda.pl>
10273
10274 * config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
10275 (avr_asm_only_p): Make non-static.
10276 (enum avr_arch): Remove.
10277 (avr_arch_types): New.
10278 (avr_mcu_types): Update.
10279 (avr_override_options): Use avr_arch_types table instead of switch.
10280 * avr.h (CPP_PREDEFINES): Die.
10281 (avr_base_arch_macro, avr_extra_arch_macro): New.
10282 (TARGET_CPU_CPP_BUILTINS): New.
10283 (CPP_SPEC, EXTRA_SPECS): Simplify.
10284 (CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
10285 CPP_AVR5_SPEC): Die.
10286
4528173e
JT
102872002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10288
10289 * config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
10290 NETBSD_OS_CPP_BUILTINS_AOUT.
10291 (SUBTARGET_EXTRA_SPECS): Define.
10292 (CPP_SPEC): Use %(netbsd_cpp_spec).
10293
bd09bdeb
RH
102942002-05-29 Richard Henderson <rth@redhat.com>
10295
10296 * config/i386/i386.c (ix86_output_function_epilogue): New.
10297 (TARGET_ASM_FUNCTION_EPILOGUE): New.
10298 (pic_label_name): Remove.
10299 (pic_labels_used): New.
10300 (ix86_asm_file_end): Emit one pc load stub for each register used.
10301 (output_set_got): Generate deep pc load to any register.
10302 (ix86_select_alt_pic_regnum): New.
10303 (ix86_save_reg): Don't save pic register if we can find a valid
10304 call-clobbered replacement.
10305 (ix86_expand_prologue): If we found a valid replacement, renumber
10306 pic_offset_table_rtx.
10307 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
10308 pic_offset_table_rtx after reload.
10309 (REAL_PIC_OFFSET_TABLE_REGNUM): New.
10310 * config/i386/i386.md (set_got): Make insn, not expander.
10311 (set_got_nopic, set_got_deep, set_got_nodeep): Remove.
10312
002ff5bc
RH
103132002-05-29 Richard Henderson <rth@redhat.com>
10314
10315 * config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
10316 alignment for alloca.
10317
edfe8595
RH
103182002-05-29 Richard Henderson <rth@redhat.com>
10319
10320 * config/i386/i386.c (output_pic_addr_const): Lowercase rip.
10321 (print_operand_address): Only add rip for symbolic addresses
10322 for which we do not have another relocation type.
10323
cd7714ee
JT
103242002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10325
10326 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
10327 (EXTRA_SPECS): Add netbsd_cpp_spec.
10328 (CPP_SPEC): Use %(netbsd_cpp_spec).
10329 (CPP_PREDEFINES): Remove.
10330 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10331 (EXTRA_SPECS): Define.
10332 (CPP_SPEC): Use %(netbsd_cpp_spec).
10333 (CPP_PREDEFINES): Remove.
10334
8dc901de
NB
103352002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
10336
10337 PR preprocessor/6844
10338 * cppmacro.c (cpp_macro_definition): Reserve space for terminating
10339 NUL.
10340
2274b31a
EC
103412002-05-29 Eric Christopher <echristo@redhat.com>
10342
10343 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
10344 mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
10345
5c7666c1
NC
103462002-05-29 Nick Clifton <nickc@cambridge.redhat.com>
10347
10348 * config/fr30/fr30.md: Remove previous restriction on splits.
10349 Enforce conformance through gen_lowpart and cont_int_operand.
1e730c5c 10350 * config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
5c7666c1
NC
10351 as the assembler does not support ".bss".
10352
45beef47
JT
103532002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10354
10355 * config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
10356 (CPP_PREDEFINES): Remove.
10357 (SUBTARGET_EXTRA_SPECS): Define.
10358 (CPP_SPEC): Use %(netbsd_cpp_spec).
10359 * config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
10360 (CPP_PREDEFINES): Remove.
10361 (SUBTARGET_EXTRA_SPECS): Define.
10362 (CPP_SPEC): Use %(netbsd_cpp_spec).
10363 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
10364 (CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
10365 (SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
10366 Add netbsd_cpp_spec.
10367 (CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
10368
cd7ab83f
NB
103692002-05-29 Neil Booth <neil@daikokuya.demon.co.uk>
10370 Zack Weinberg <zack@codesourcery.com>
10371
10372 * cppexp.c (cpp_num): Move to cpplib.h.
10373 (CPP_ERROR): Remove.
10374 (interpret_float_suffix, interpret_int_suffix): New.
10375 (struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
10376 (cpp_classify_number, cpp_interpret_integer): New.
10377 (interpret_number): Remove.
10378 (eval_token): Update to use new routines.
10379 * cpphash.h (cpp_num_part): Move to cpplib.h.
10380 * cppinit.c (cpp_post_options): Set warn_long_long.
10381 * cpplib.h (struct cpp_options): Add warn_long_long.
10382 (cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
10383 CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
10384 CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
10385 CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
10386 cpp_interpret_integer): New.
10387
61a8515c
JS
103882002-05-29 Joel Sherrill <joel@OARcorp.com>
10389
10390 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
10391
53a428b5
JT
103922002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
10393
10394 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
2274b31a
EC
10395 NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
10396 (CPP_SUBTARGET_SPEC): Define.
10397 (SUBTARGET_EXTRA_SPECS): Define.
53a428b5
JT
10398 (CPP_SPEC): Remove.
10399
45b1f7c7
CL
104002002-05-29 Chris Lattner <sabre@nondot.org>
10401
1e730c5c
ZW
10402 * ssa.c (rename_insn_1): Rename uses of undefined registers to
10403 prevent confusion if/when the register is defined.
45b1f7c7 10404
049746c2
HPN
104052002-05-29 Hans-Peter Nilsson <hp@axis.com>
10406
10407 PR target/6838
10408 * config/cris/cris.md: Fix typos and thinkos in comments.
10409 ("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
10410 second alternative.
10411 ("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
10412 ("*mov_sideqi_mem"): Similar, but for operand 3.
10413 ("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
10414 (splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
10415 Remove spurious mode specifier on operand 2.
10416
4d4d89e2
KH
104172002-05-29 Kazu Hirata <kazu@cs.umass.edu>
10418
10419 * config/h8300/h8300-protos.h: Remove the prototype for
10420 o_operand.
10421 Add prototypes for single_one_operand and single_zero_operand.
10422 * config/h8300/h8300.c (o_operand): Remove.
10423 (single_one_operand): New.
10424 (single_zero_operand): Likewise.
10425 (print_operand): For 'V' operand, and the operand with 0xff.
10426 For 'V' and 'W' operands, do not and the bit position with 7.
10427 * config/h8300/h8300.md (various anonymous patterns): Replace
10428 use of exact_log2 with single_one_operand/single_zero_operand.
10429
abd6ddec
UW
104302002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
10431
10432 * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
10433
da06d85a
UW
104342002-05-29 Ulrich Weigand <uweigand@de.ibm.com>
10435
10436 * config/s390/s390.c (legitimate_pic_operand_p): Do not
10437 accept symbolic LARL operands.
2274b31a 10438 (s390_emit_epilogue): Do not set FRAME_RELATED_P on
da06d85a 10439 epilogue insns.
2274b31a 10440
f8766020
HP
104412002-05-29 Hartmut Penner <hpenner@de.ibm.com>
10442
10443 * config/s390/s390.md (cmpstr_64/31): Mark whole
2274b31a 10444 input registers as used.
f8766020 10445
66edd3b4
RH
104462002-05-28 Richard Henderson <rth@redhat.com>
10447
10448 * config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
10449 not current_function_uses_pic_offset_table and
10450 current_function_uses_const_pool; examine current_function_profile.
10451 (ix86_expand_prologue): Likewise. Add pic_offset_table_rtx as
10452 input to blockage if needed.
10453 (ix86_expand_call): Do not set current_function_uses_pic_offset_table.
10454 (legitimize_pic_address): Likewise. Set regs_ever_live for
10455 pic_offset_table_rtx when invoked during reload.
10456 * config/i386/i386.h (FINALIZE_PIC): Remove.
10457 * config/i386/i386.md (tablejump): Reformat. Do not set
10458 current_function_uses_pic_offset_table.
10459 (tls_global_dynamic, tls_local_dynamic_base): Likewise.
10460 (blockage): Accept anything as operand 0.
10461
52f4fff6
JT
104622002-05-28 Jason Thorpe <thorpej@wasabisystems.com>
10463
10464 * config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
10465 common CPP built-ins for all NetBSD a.out targets.
10466 * config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
10467 common CPP built-ins for all NetBSD ELF targets.
10468 * config/netbsd.h: Add missing notice.
10469 (NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
10470 for all NetBSD targets.
10471 (NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
10472 for all NetBSD targets using an LP64 code model.
10473 (NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
10474 NetBSD targets.
10475
e0e577a2
RH
104762002-05-28 Richard Henderson <rth@redhat.com>
10477
10478 * flow.c (update_life_info_in_dirty_blocks): Only do a partial
10479 update if UPDATE_LIFE_LOCAL.
10480
104812002-05-28 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
62526ec3
TM
10482
10483 * config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
10484
f1a58d92 10485Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
1e730c5c 10486 Jason R. Thorpe <thorpej@wasabisystems.com>
f1a58d92
R
10487
10488 config/sh reorganization to factor out endianness and coff:
10489
10490 * config/sh/little.h: New file.
1e730c5c
ZW
10491 * config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
10492 defined, define to 0 to select big-endian.
f1a58d92 10493 (SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
1e730c5c
ZW
10494 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
10495 * config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
10496 * config/sh/t-be: New file.
10497 * config/sh/t-le: New file.
f1a58d92
R
10498
10499 * sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
10500 (SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
10501 (TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
10502 (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
10503 (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
10504 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
10505 (ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
10506 (CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
10507 (SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
10508 (EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
10509 CPP_DEFAULT_CPU_SPEC. Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
10510 SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
10511 (LINK_SPEC): Define to SH_LINK_SPEC.
10512 (TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
10513 (LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
10514 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
10515 (CPP_SPEC): Reduce to %(subtarget_cpp_spec).
10516 (TARGET_ENDIAN_DEFAULT): Define if not already defined.
10517 * config/sh/coff.h: New file.
10518 (TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
10519 (TARGET_OBJFMT_CPP_BUILTINS): Define.
10520 * config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
10521 (ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
10522 (DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
10523 (ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
10524 (PTRDIFF_TYPE): Likewise.
10525 ("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
10526 (CPP_PREDEFINES): Don't define.
10527 (TARGET_OBJFMT_CPP_BUILTINS): Define.
10528 (LINK_SPEC): Define to SH_LINK_SPEC.
10529 (LINK_EMUL_PREFIX): Redefine.
10530 * config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
10531 (SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
10532 (CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
10533 (CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
10534 (TARGET_OS_CPP_BUILTINS): Define.
10535 (TARGET_DEFAULT): Redefine.
10536 (SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
10537 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
10538 (LINK_SPEC): Don't redefine.
10539 (LINK_DEFAULT_CPU_EMUL): Redefine.
10540 (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
10541 * sh.c (sh_asm_named_section): Don't declare / define.
10542 * t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
10543 * config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
10544 (sh64-*-elf* tm_file): Likewise.
10545 (sh-*-rtemself* tm_file): Likewise.
10546 (sh-*-linux* tm_file): Likewise. Add sh/little.h.
10547 (sh-*-linux* tmake_file): Add sh/t-le.
10548 (sh-*-rtems* tm_file): Add sh/coff.h
10549 (sh-*-* tm_file): Likewise.
10550
10551Tue May 28 21:16:18 2002 J"orn Rennecke <joern.rennecke@superh.com>
10552
10553 * sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
10554 CONSTANT_POOL_ADDRESS_P.
10555
10556 * coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
10557
d10791ba 105582002-05-28 David Edelsohn <edelsohn@gnu.org>
33a3dfc4
DE
10559 Jeff Law <law@redhat.com>
10560
64de6c0a
DE
10561 * optabs.c (expand_binop): Fix nwords sign warnings.
10562 generate pseudo for add_optab.
10563
33a3dfc4
DE
10564 * sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
10565 * haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
10566
972957ba 105672002-05-28 Marc Espie <espie@openbsd.org>
33a3dfc4 10568
2274b31a 10569 * config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN): Remove,
972957ba
ME
10570 inherited from gas.h.
10571 (ASM_QUAD): Undef. OpenBSD does not support it.
10572
cc92b8ab
DS
105732002-05-28 Danny Smith <dannysmith@users.sourceforge.net>
10574
10575 * doc/install.texi (binaries): Change mingw binaries
10576 link to www.mingw.org.
10577
f8088d55
ZD
105782002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10579
10580 * cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
10581
0b7ae565
RH
105822002-05-28 Richard Henderson <rth@redhat.com>
10583
10584 * config/i386/i386.c (ix86_compute_frame_layout): Do not add
10585 bottom alignment for leaf functions.
10586
16069d69
ZW
105872002-05-28 Zack Weinberg <zack@codesourcery.com>
10588
10589 * config/pa/milli32.S, config/pa/lib1funcs.asm,
10590 config/sparc/sol2-g1.asm: Delete unused files.
10591
04653686
RH
105922002-05-28 Richard Henderson <rth@redhat.com>
10593
10594 * cfg.c (dump_flow_info): Print bb->index, not i, for block number.
10595
f3ea5f6a
RH
10596 * flow.c (calculate_global_regs_live): Rename call_used to
10597 invalidated_by_call. Initialize from regs_invalidated_by_call
10598 instead of call_used_regs.
10599
923c7cdf
RH
10600 * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
10601 DECL_EXTERNAL.
10602
11ad4784
ZW
106032002-05-28 Zack Weinberg <zack@codesourcery.com>
10604
8abbd76a
ZW
10605 * tree.h: Don't include real.h.
10606 Forward-declare struct realvaluetype.
11ad4784
ZW
10607 (struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
10608 contain it.
10609 (TREE_REAL_CST_PTR): New accessor.
10610 (TREE_REAL_CST): Update.
10611 * real.h: Include machmode.h.
2274b31a 10612 (realvaluetype): Make it struct realvaluetype, not a typedef.
11ad4784
ZW
10613 (build_real): Prototype here.
10614
10615 * tree.c: Include real.h.
2274b31a
EC
10616 (build_real): Allocate the REAL_VALUE_TYPE as a separate
10617 object in GC memory, set TREE_REAL_CST_PTR to point to it.
11ad4784
ZW
10618 (build_real_from_int_cst): Use build_real.
10619 * ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
10620 REAL_CST.
10621
10622 * builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
10623 fold-const.c, print-tree.c, real.c: Include real.h.
10624 * Makefile.in: Update dependency lists.
10625
bf77398c
ZD
106262002-05-28 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10627
10628 * basic-block.h (last_basic_block): Declare.
10629 (expunge_block_nocompact): Declaration removed.
10630 (compact_blocks): Declare.
10631 * cfg.c (last_basic_block): New variable.
10632 (expunge_block_nocompact): Removed.
10633 (expunge_block): Do not compact basic blocks.
10634 (compact_blocks): New.
10635 * cfganal.c (flow_call_edges_add): Use the fact that bb indices no
10636 longer change.
10637 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
10638 last_basic_block.
10639 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
10640 real positions of blocks.
10641 (delete_unreachable_blocks): Simplified -- quadratic behavior now
10642 cannot occur.
10643 (cleanup_cfg): Compact blocks.
10644 * cfgrtl.c (create_basic_block): Insert basic blocks to the end of
10645 basic_block_info varray.
10646 (flow_delete_block): Comment update.
10647 (back_edge_of_syntactic_loop_p): Modify position check code.
10648 (verify_flow_info): Update checking.
10649 * flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
10650 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
10651 (find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
10652 indices no longer change.
10653 * lcm.c (optimize_mode_switching): Replace n_basic_blocks with
10654 last_basic_block.
10655 * predict.c (estimate_bb_frequencies): Remove unneccessary code.
10656 * profile.c (branch_prob): Compact blocks.
10657 * sched-rgn.c (find_rgns): Replace n_basic_blocks with
10658 last_basic_block.
10659
ae12a094
KH
106602002-05-28 Kazu Hirata <kazu@cs.umass.edu>
10661
10662 * config/h8300/h8300.md (two anonymous patterns): New.
10663
c6172f14
DM
106642002-05-28 David S. Miller <davem@redhat.com>
10665
10666 * config/sparc/sparc.md (cpu): Tidy.
10667 (type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
10668 'trap'.
10669 (in_call_delay): Delete reference to 'return' type.
10670 (eligible_for_return_delay, in_return_delay, define_delay
10671 referencing those): Delete.
10672 (rest of file): Use new type attributes as appropriate.
10673 * config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
10674 * config/sparc/sparc.c (eligible_for_return_delay): Likewise.
10675 * config/sparc/ultra1_2.md (us1_single): New reservation.
10676 (us1_ialuX): Likewise.
10677 * config/sparc/ultra3.md (us3_single): Likewise.
10678 (us3_ialuX): Likewise.
10679 (us3_imul, us3_idiv): Tweak.
2274b31a 10680
34a6c2ec
RH
106812002-05-28 Richard Henderson <rth@redhat.com>
10682
10683 * config/alpha/alpha.c (alpha_in_small_data_p): Return false for
10684 STRING_CST.
10685
9c075570
RH
106862002-05-28 Richard Henderson <rth@redhat.com>
10687
10688 * config.gcc: Obsolete mn10200.
10689
359b0bec
NB
106902002-05-28 Neil Booth <neil@daikokuya.demon.co.uk>
10691
10692 * cppexp.c (interpret_number): Optimize for single-digit
10693 and less-than-half-precision cases.
10694 (num_trim, num_positive, num_div_op): Cast constants.
10695
4075db8f
BT
106962002-05-27 Bo Thorsen <bo@suse.de>
10697
10698 * config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
10699 3.1 branch. The file was made by Jakub Jelinek.
10700 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
10701 support so multilib doesn't break. And don't define this at all
10702 when -Dinhibit_libc is used.
10703 (MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
10704 * config/i386/t-linux64: Implement full multilib support. Patch
10705 originally done by Andreas Jaeger and Jakub Jelinek.
10706
39f2f3c8
RS
107072002-05-27 Roger Sayle <roger@eyesopen.com>
10708
10709 * c-common.c: Add support for __attribute__((nothrow)) to specify
10710 that a function cannot throw an exception (using TREE_NOTHROW).
10711 (handle_nothrow_attribute): New function to process this attribute.
10712
10713 * doc/extend.texi: Document the new nothrow function attribute.
10714
d51b0053
L
107152002-05-27 H.J. Lu (hjl@gnu.org)
10716
10717 * cppexp.c (num_trim): Use 1UL instead of 1 for long int.
10718 (num_positive): Likewise.
10719 (num_div_op): Likewise.
10720
630363b4
NB
107212002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
10722
10723 * c-common.c (c_common_init): Always use intmax_t.
10724
d94cde01
NB
107252002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
10726
10727 * c-common.c (c_common_init): Use intmax_t for now.
10728
57f851a3
AH
107292002-05-24 Andrew Haley <aph@redhat.com>
10730
10731 * fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
10732 if T is a boolean type.
10733
d55bc081
ZD
107342002-05-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10735
10736 * basic-block.h (last_basic_block): Defined as synonym for
10737 n_basic_blocks.
10738 * cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
10739 flow_depth_first_order_compute, flow_preorder_transversal_compute,
10740 flow_dfs_compute_reverse_init): Replaced relevant occurences of
10741 n_basic_blocks with last_basic_block.
10742 * cfgbuild.c (make_edges): Likewise.
10743 * cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
10744 * cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
10745 * combine.c (combine_instructions): Likewise.
10746 * df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
10747 iterative_dataflow_bitmap): Likewise.
10748 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
10749 calc_idoms, idoms_to_doms): Likewise.
10750 * flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
10751 Likewise.
10752 * gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
10753 compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
10754 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
10755 one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
10756 delete_null_pointer_checks, compute_code_hoist_vbeinout,
10757 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
10758 compute_store_table, build_store_vectors): Likewise.
10759 * haifa-sched.c (sched_init): Likewise.
10760 * ifcvt.c (if_convert): Likewise.
10761 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
10762 pre_edge_lcm, compute_available, compute_nearerout,
10763 compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
10764 Likewise.
10765 * predict.c (estimate_probability, process_note_prediction,
10766 note_prediction_to_br_prob): Likewise.
10767 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
10768 * recog.c (split_all_insns, peephole2_optimize): Likewise.
10769 * regrename.c (copyprop_hardreg_forward): Likewise.
10770 * resource.c (init_resource_info): Likewise.
10771 * sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
10772 init_regions, schedule_insns): Likewise.
10773 * ssa-ccp.c (ssa_const_prop): Likewise.
10774 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
10775 * ssa.c (compute_dominance_frontiers,
10776 compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
10777
10778 * df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
10779 * gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
10780 sizes consistently.
10781
71d2c5bd
JH
10782Mon May 27 14:28:12 CEST 2002 Jan Hubicka <jh@suse.cz>
10783
10784 * basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
10785 new.
10786 * rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
10787 hoist_insn_after, hoist_insn_to_edge): New.
10788
5149f070
JH
10789Mon May 27 12:14:02 CEST 2002 Jan Hubicka <jh@suse.cz>
10790
10791 * basic-block.h (PEOP_SCAN_DEAD_STORES): New.
10792 (PROP_FINAL): Include.
10793 * flow.c (life_analysis, update_life_info,
10794 init_propagate_block_info, mark_set_1, mark_used_rgs):
10795 Support SCAN_DEAD_STORE.
10796
c9220e3a
NB
107972002-05-27 Neil Booth <neil@daikokuya.demon.co.uk>
10798
10799 * c-common.c (c_common_init): Set CPP arithmetic precision.
10800 * cppexp.c (cpp_num_part): Move typedef ...
10801 * cpphash.h: ...here; make unsigned HOST_WIDE_INT.
10802 * cppinit.c (cpp_create_reader): Default to host long arithmetic.
10803 (sanity_checks): Update.
10804
e34a3d31
GK
108052002-05-26 Geoffrey Keating <geoffk@redhat.com>
10806
10807 * Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
10808 (mkheaders): New rule.
10809 (install-mkheaders): New rule.
10810 * configure.in (all_outputs): Add mkheaders.
10811 * configure: Regenerate.
10812 * mkheaders.in: New file.
10813
9059e33c
JJ
108142002-05-26 Jakub Jelinek <jakub@redhat.com>
10815
10816 * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
10817
291cc0fe
AJ
108182002-05-26 Andreas Jaeger <aj@suse.de>
10819
10820 * cfg.c (dump_flow_info): Remove extra argument to fprintf.
10821
91318908
NB
108222002-05-26 Neil Booth <neil@daikokuya.demon.co.uk>
10823
10824 * cppexp.c (possible_sum_sign, integer_overflow, left_shift,
10825 right_shift): Remove.
10826 (cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
10827 HIGH_PART): New.
10828 (struct op): Use cpp_num.
10829 (num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
10830 num_part_mul, num_unary_op, num_binary_op, num_negate,
10831 num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
10832 num_div_op, num_lshift, num_rshift, append_digit): New.
10833 (interpret_number, parse_defined, eval_token, reduce): Update
10834 for two-integer arithmetic.
10835 (binary_handler): New typedef.
10836 (optab): Update.
10837 (COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
10838 (_cpp_parse_expr, reduce): Update to handle two-integers.
10839 * cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
10840
331ca350
MM
108412002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
10842
10843 * config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
10844 * config/avr/avr.c (jump_over_one_insn_p): Take length of the
10845 branch insn into account, do not assume 1.
10846 (avr_out_sbxx_branch): New function. Optimize cases of skipping
10847 over single word insn. Handle upper half of I/O space too.
10848 * config/avr/avr.md (*sbrx_branch): Use it.
10849 (*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
10850 (*sbix_branch, *sbix_branch_bit7): Likewise.
10851 (*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
10852 Use RTL peepholes to optimize register operand sign tests.
10853
bcb6a2be
MM
108542002-05-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
10855
10856 * config/avr/avr.c (avr_asm_only_p): New variable.
10857 (avr_override_options): Set it here if AVR1.
10858 (asm_file_start): Test it here, report an error if set.
10859
ca7fd9cd
KH
108602002-05-26 Kazu Hirata <kazu@cs.umass.edu>
10861
10862 * alias.c: Fix formatting.
10863 * attribs.c: Likewise.
10864 * bb-reorder.c: Likewise.
10865 * bitmap.c: Likewise.
10866 * bitmap.h: Likewise.
10867 * builtins.c: Likewise.
10868
a65dc37d
JH
10869Sun May 26 14:00:44 CEST 2002 Jan Hubicka <jh@suse.cz>
10870
10871 * reload.c (find_valid_class): Accept new argument DEST,
10872 choose class accordingly.
10873 (push_reload): Update callers.
10874
9b89393b
AJ
108752002-05-26 Andreas Jaeger <aj@suse.de>
10876
10877 * combine.c (combine_instructions): Do not indent #if for
10878 traditional C.
10879
b53bb376
RH
108802002-05-25 Richard Henderson <rth@redhat.com>
10881
10882 * c-pragma.c (apply_pragma_weak): Convert value identifier to
10883 string for decl_attributes.
10884 (handle_pragma_weak): Call assemble_alias if we're modifying
10885 an existing decl.
10886
e133041b
RH
108872002-05-25 Richard Henderson <rth@redhat.com>
10888
10889 PR target/6788
10890 * config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
10891 using rtl instead of fprintf.
10892 * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
10893 * config/sparc/sparc-protos.h: Update.
10894
81a75f0f
NB
108952002-05-25 Neil Booth <neil@daikokuya.demon.co.uk>
10896
10897 * Makefile.in (C_COMMON_H): Fix.
10898 Update other targets.
10899 * c-common.c: Don't include c-lex.h.
10900 (builtin_define_with_value): Make static and prototype.
10901 (builtin_define_std): Move from c-lex.h.
10902 * c-common.h (init_c_lex): Move from c-lex.h.
10903 * c-decl.c: Don't include c-lex.h.
10904 (make_pointer_declarator): Move from c-parse.in.
10905 * c-lex.c: Don't include c-lex.h.
10906 * c-lex.h: Remove.
10907 * c-parse.in: Don't include c-lex.h; include c-pragma.h.
10908 (make_pointer_declarator): Move to c-decl.c.
10909 * c-pragma.c: Don't include c-lex.h.
10910 * c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
10911 * c-tree.h (make_pointer_declarator): New.
10912doc:
10913 * passes.texi, tm.texi: Update.
10914objc:
10915 * Make-lang.in: Update and correct.
10916 * objc-act.c: Don't include c-lex.h or cpplib.h.
10917treelang:
10918 * treetree.c: Don't include c-lex.h.
10919config:
10920 * darwin-c.c: Don't include c-lex.h.
10921 * c4x/c4x-c.c: Don't include c-lex.h.
10922 * c4x/t-c4x: Update.
10923 * i370/i370-c.c: Don't include c-lex.h.
10924 * i370/t-i370: Update.
10925 * i960/i960-c.c: Don't include c-lex.h.
10926 * i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
10927 * i960/t-960bare: Update.
10928 * i960/t-vxworks: Update.
10929 * rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
10930 * rs6000/t-darwin: Update.
10931 * rs6000/t-rs6000-c-rule: Update.
10932 * v850/v850-c.c: Don't include c-lex.h.
10933 * v850/v850.c: Don't include c-lex.h or cpplib.h.
10934
10935
04d2be8e
KH
109362002-05-25 Kazu Hirata <kazu@cs.umass.edu>
10937
10938 * tree.def: Fix typos.
10939 * doc/install.texi: Likewise.
10940
7b6e506e
RH
109412002-05-25 Richard Henderson <rth@redhat.com>
10942
10943 * configure.in (HAVE_AS_TLS): Add ia64 test.
10944 * configure: Rebuild.
10945 * config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
10946 (override_options): Set it.
10947 (TARGET_HAVE_TLS): New.
10948 (sdata_symbolic_operand): Look for 's'.
10949 (tls_symbolic_operand): New.
10950 (ia64_expand_load_address): Abort for tls symbols.
10951 (gen_tls_get_addr): New.
10952 (gen_thread_pointer): New.
10953 (ia64_expand_move): Split out from movdi. Handle tls symbols.
10954 (rtx_needs_barrier): Add new unspecs.
10955 (ia64_encode_section_info): Handle tls symbols.
10956 (ia64_strip_name_encoding): Strip two encoding chars.
10957 * config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
10958 (TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
10959 (TARGET_OPTIONS): Add tls-size.
10960 (ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
10961 * config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
10962 UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
10963 (movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
10964 (movsf, movdf): Likewise.
10965 (movdi_symbolic): Use match_scratch. Don't split if we won't
10966 have a scratch availiable.
10967 (load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
10968 add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
10969 load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
10970 * config/ia64/ia64-protos.h: Update.
10971 * config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
10972 sdata_symbolic_operand.
10973 (ASM_OUTPUT_LABELREF): Strip two characters.
10974
8c1d52a3
KH
109752002-05-25 Kazu Hirata <kazu@cs.umass.edu>
10976
10977 * combine.c (simplify_set): Remove an unnecessary subreg.
10978
b47cae3d
MM
109792002-05-25 Marek Michalkiewicz <marekm@amelek.gda.pl>
10980
10981 * config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
10982
10983 * config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
10984
ce9e3a6d
GDR
109852002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
10986
10987 * toplev.c (output_clean_symbol_name): Fix another thinko. Gosh.
10988
fb2c6841
RS
109892002-05-25 Roger Sayle <roger@eyesopen.com>
10990
10991 * simplify-rtx.c (simplify_gen_relational): Simplify the RTX
10992 (cond (compare x y) 0) into the equivalent (cond x y).
10993
da7ac8f1
GDR
109942002-05-25 Gabriel Dos Reis <gdr@codesourcery.com>
10995
10996 * toplev.c (output_clean_symbol_name): Use xstrdup. Fix thinko.
10997
c7bdf0a6
ZW
109982002-05-24 Zack Weinberg <zack@codesourcery.com>
10999
11000 * config.gcc: Remove all stanzas for previously obsoleted
11001 systems. Where necessary, add explicit error stanzas to
11002 prevent removed systems from being misidentified as something
11003 else. Begin a fresh obsoletions list, with the systems that
11004 were reprieved last round.
11005 * doc/install.texi: Remove all mention of dead targets.
11006 * fixinc/mkfixinc.sh: Likewise.
11007
11008 * config/arm/arm.h: Bit 31 of target_flags is no longer
11009 reserved.
11010
11011 * config/1750a/1750a-protos.h, config/1750a/1750a.c,
11012 config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
11013 config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
11014 config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
11015 config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
11016 config/alpha/osf12.h, config/alpha/osf2or3.h,
11017 config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
11018 config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
11019 config/clipper/clipper-protos.h, config/clipper/clipper.c,
11020 config/clipper/clipper.h, config/clipper/clipper.md,
11021 config/clipper/clix.h, config/convex/convex-protos.h,
11022 config/convex/convex.c, config/convex/convex.h,
11023 config/convex/convex.md, config/convex/fixinc.convex,
11024 config/convex/proto.h, config/elxsi/elxsi-protos.h,
11025 config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
11026 config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
11027 config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
11028 config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
11029 config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
11030 config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
11031 config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
11032 config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
11033 config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
11034 config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
11035 config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
11036 config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
11037 config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
11038 config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
11039 config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
11040 config/m68k/altos3068.h, config/m68k/apollo68.h,
11041 config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
11042 config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
11043 config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
11044 config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
11045 config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
11046 config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
11047 config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
11048 config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
11049 config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
11050 config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
11051 config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
11052 config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
11053 config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
11054 config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
11055 config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
11056 config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
11057 config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
11058 config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
11059 config/mips/dec-osf1.h, config/mips/elflorion.h,
11060 config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
11061 config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
11062 config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
11063 config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
11064 config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
11065 config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
11066 config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
11067 config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
11068 config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
11069 config/ns32k/pc532-min.h, config/ns32k/pc532.h,
11070 config/ns32k/sequent.h, config/ns32k/tek6000.h,
11071 config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
11072 config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
11073 config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
11074 config/sparc/rtems.h, config/we32k/we32k-protos.h,
11075 config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
11076 Delete file.
11077
755ac5d4
RH
110782002-05-24 Richard Henderson <rth@redhat.com>
11079
11080 * flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
11081 * toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
11082 * config/i386/i386.c (tls_model_chars): Add leading space.
11083 (tls_symbolic_operand): Don't bias by 1.
11084 (legitimize_address): Don't unbias by 1.
11085
c429f12e
TM
110862002-05-24 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
11087
11088 * lcm.c (optimize_mode_switching): Change bb used as indices
11089 to bb->index.
11090
8beda321
RH
110912002-05-24 Richard Henderson <rth@redhat.com>
11092
11093 * config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
11094 of update_life_info_in_dirty_blocks.
11095
90442291
JJ
110962002-05-24 Jakub Jelinek <jakub@redhat.com>
11097
11098 PR other/6782
11099 * final.c (get_mem_expr_from_op): Return 0 if op is NULL.
11100
3620711b
NB
111012002-05-24 Neil Booth <neil@daikokuya.demon.co.uk>
11102
11103 PR preprocessor/6780
11104 * cppmacro.c (enter_macro_context): Clear state.angled_headers.
11105
2f8d482e
JB
111062002-05-24 Jim Blandy <jimb@redhat.com>
11107
11108 * dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
11109 entry with a type code of zero, marking the end of the compilation
11110 unit's macro info.
11111
95bfe95f
RH
111122002-05-24 Richard Henderson <rth@redhat.com>
11113
c7bdf0a6
ZW
11114 * varasm.c (asm_output_bss): Always output one byte.
11115 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
95bfe95f 11116
7efda054
BM
111172002-05-24 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
11118
11119 * tree.c (decl_type_context): Return NULL_TREE if decl's context is a
11120 namespace.
11121
8a951190
AJ
111222002-05-24 Andreas Jaeger <aj@suse.de>
11123
11124 * ggc-page.c (alloc_page): Cast variables of type size_t to
11125 unsigned long, adjust printf format string.
11126 (ggc_alloc): Likewise.
11127 (ggc_print_statistics): Likewise.
11128 (ggc_print_statistics): Correct printf format string for SCALE to
11129 use unsigned long.
11130
f29e2ec0
DS
111312002-05-24 Danny Smith <dannysmith@users.sourceforge.net>
11132
11133 * config/i386/mingw32.h (CPP_SPEC): Remove -remap.
11134
211a0cbe 111352002-05-23 Gabriel Dos Reis <gdr@codesourcery.com>
c7bdf0a6 11136 Zack Weinberg <zack@codesourcery.com>
211a0cbe
GDR
11137
11138 * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
11139 quoted strings.
11140 * dwarf2out.c (lookup_filename): Properly quote filename in .file
8a951190 11141 directive in assembly file.
211a0cbe
GDR
11142 * config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
11143 * config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
11144 * config/pj/pj.h (ASM_FILE_START): Likewise.
11145 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
11146 * config/avr/avr.c (asm_file_end): Likewise.
11147 * toplev.c (output_quoted_string): Handle possibly signed plain
8a951190 11148 char.
211a0cbe
GDR
11149 * toplev.h (output_clean_symbol_name): Declare
11150 * toplev.c (output_clean_symbol_name): Define.
11151 * config/alpha/alpha.c (unicosmk_output_module_name): Use it.
11152 * config/1750a/1750a.h (ASM_FILE_START): Likewise.
11153
2f0552b6
AM
111542002-05-24 Alan Modra <amodra@bigpond.net.au>
11155
11156 * config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
11157
b326b2c1
VM
111582002-05-23 Vladimir Makarov <vmakarov@redhat.com>
11159
11160 * genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
11161 of size of unsigned.
11162
f996902d
RH
111632002-05-23 Richard Henderson <rth@redhat.com>
11164
11165 * configure.in (HAVE_AS_TLS): New test.
11166 * config.in, configure: Rebuild.
11167 * config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
11168 (ix86_tls_dialect_string, ix86_tls_dialect): New.
11169 (override_options): Set it.
11170 (tls_model_chars, tls_symbolic_operand): New.
11171 (tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
11172 (local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
11173 (local_exec_symbolic_operand): New.
11174 (get_pic_label_name): Merge into output_set_got.
11175 (ix86_asm_file_end): Emit pic_label_name if defined.
11176 (legitimate_constant_p, constant_address_p): New.
11177 (legitimate_pic_operand_p): New.
11178 (legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
11179 (legitimate_address_p): Likewise.
11180 (ix86_encode_section_info): Rename from i386_; handle tls decls.
11181 (ix86_strip_name_encoding): New.
11182 (get_thread_pointer): New.
11183 (legitimize_address): Handle tls symbols.
11184 (output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
11185 Remove UNSPEC_PLT.
11186 (struct machine_function): Add some_ld_name.
11187 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
11188 (print_operand) [&]: Use it. Handle UNSPEC_TP.
11189 (output_addr_const_extra): New.
11190 (maybe_get_pool_constant): New.
11191 (ix86_split_to_parts): Use it.
11192 (ix86_expand_move): Handle tls symbols.
11193 (ix86_tls_get_addr): New.
11194 * config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
11195 (TARGET_OPTIONS): Add tls-dialect.
11196 (CONSTANT_ADDRESS_P): Use new out-of-line function.
11197 (LEGITIMATE_CONSTANT_P): Likewise.
11198 (LEGITIMATE_PIC_OPERAND_P): Likewise.
11199 (TARGET_STRIP_NAME_ENCODING): New.
11200 (ASM_OUTPUT_LABELREF): New.
11201 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
11202 (OUTPUT_ADDR_CONST_EXTRA): New.
11203 (PREDICATE_CODES): Update.
11204 (ix86_tls_dialect, ix86_tls_dialect_string): New.
11205 * config/i386/i386.md: Regroup and renumber unspec constants.
11206 (tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
11207 (tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
11208 (tls_global_dynamic, tls_local_dynamic_base): New.
11209 (tls_local_dynamic_once): New.
11210 * config/i386/i386-protos.h: Update.
11211
821e35ba
RH
112122002-05-23 Richard Henderson <rth@redhat.com>
11213
11214 * genemit.c (gen_insn): Print file:lineno comment before function.
11215 (main): likewise.
11216 * gensupport.c (struct queue_elem): Add filename member.
11217 (queue_pattern): Initialize it; update all callers.
11218 (process_include): Don't free filename.
11219 (read_md_rtx): Set read_rtx_filename.
11220
0f1ffa23 112212002-05-23 Hans Boehm <Hans_Boehm@hp.com>
821e35ba
RH
11222
11223 * config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
0f1ffa23 11224
8e9fadc3
RH
112252002-05-23 Richard Henderson <rth@redhat.com>
11226
11227 * config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
11228
244c2241
RH
112292002-05-23 Richard Henderson <rth@redhat.com>
11230
11231 * doc/extend.texi (C++98 Thread-Local Edits): Update with
11232 commentary from Mark.
11233
e0082a72
ZD
112342002-05-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11235
11236 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
11237 Use FOR_EACH_BB macros to iterate over basic block chain.
11238 * cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
11239 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
11240 Likewise.
11241 * cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
11242 find_unreachable_blocks, create_edge_list, verify_edge_list,
11243 remove_fake_edges, add_noreturn_fake_exit_edges,
11244 flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
11245 Likewise.
11246 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
11247 find_sub_basic_blocks): Likewise.
11248 * cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
11249 Likewise.
11250 * cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
11251 Likewise.
11252 * cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
11253 Likewise.
11254 * cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
11255 commit_edge_insertions, commit_edge_insertions_watch_calls,
11256 print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
11257 * combine.c (combine_instructions, reg_dead_at_p): Likewise.
11258 * conflict.c (conflict_graph_compute): Likewise.
11259 * df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
11260 df_modified_p, df_refs_unlink, df_dump): Likewise.
11261 * dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
11262 * final.c (compute_alignments): Likewise.
11263 * flow.c (update_life_info, update_life_info_in_dirty_blocks,
11264 delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
11265 count_or_remove_death_notes): Likewise.
11266 * gcse.c (oprs_unchanged_p, record_last_reg_set_info,
11267 compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
11268 classic_gcse, compute_transp, cprop, compute_pre_data,
11269 compute_transpout, invalidate_nonnull_info,
11270 delete_null_pointer_checks_1, delete_null_pointer_checks,
11271 compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
11272 compute_store_table, build_store_vectors, store_motion): Likewise.
11273 * global.c (global_conflicts, mark_elimination): Likewise.
11274 * graph.c (print_rtl_graph_with_bb): Likewise.
11275 * haifa-sched.c (sched_init): Likewise.
11276 * ifcvt.c (if_convert): Likewise.
11277 * lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
11278 compute_available, compute_nearerout, compute_rev_insert_delete,
11279 optimize_mode_switching): Likewise.
11280 * local-alloc.c (local_alloc, update_equiv_regs): Likewise.
11281 * predict.c (estimate_probability, note_prediction_to_br_prob,
11282 propagate_freq, counts_to_freqs, expensive_function_p,
11283 estimate_bb_frequencies): Likewise.
11284 * profile.c (instrument_edges, get_exec_counts,
11285 compute_branch_probabilities, compute_checksum, branch_prob,
11286 find_spanning_tree): Likewise.
11287 * recog.c (split_all_insns, peephole2_optimize): Likewise.
11288 * reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
11289 Likewise.
11290 * regclass.c (scan_one_insn, regclass): Likewise.
11291 * regmove.c (mark_flags_life_zones, regmove_optimize,
11292 record_stack_memrefs): Likewise.
11293 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
11294 * reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
11295 * resource.c (find_basic_block): Likewise.
11296 * sched-ebb.c (schedule_ebbs): Likewise.
11297 * sched-rgn.c (is_cfg_nonregular, build_control_flow,
11298 find_single_block_region, find_rgns, schedule_insns)
11299 * sibcall.c (optimize_sibling_and_tail_recursive_call)
11300 * ssa-ccp.c (optimize_unexecutable_edges,
11301 ssa_ccp_df_delete_unreachable_insns): Likewise.
11302 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
11303 * ssa.c (find_evaluations, compute_dominance_frontiers_1,
11304 rename_block, convert_to_ssa, compute_conservative_reg_partition,
11305 compute_coalesced_reg_partition, rename_equivalent_regs,
11306 convert_from_ssa): Likewise.
11307 * config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
11308 process_for_unwind_directive): Likewise.
11309
11310 * df.c (FOR_ALL_BBS): Removed.
11311 * gcse.c (struct null_pointer_info): Type of current_block field
11312 changed.
11313 (struct reg_avail_info): Type of last_bb field changed.
11314 * config/ia64/ia64.c (block_num): Removed.
11315 (need_copy_state): Type changed.
11316 (last_block): New.
11317
17645b15
NB
113182002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
11319
11320 * cppinit.c (mark_named_operators): Split out from init_builtins.
11321 (cpp_finish_options): Call it from here instead.
11322
79ed7328
JT
113232002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
11324
11325 * builtin-attrs.def: Update copyright years.
11326 (ATTR_NONNULL): New attribute identifier.
11327 (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
11328 attribute tree lists.
11329 (DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
11330 format operand.
11331 (ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
11332 (DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
11333 attribute lists. Chain the appropriate nonnull attribute.
11334 * c-format.c (check_format_arg): Remove null format string
11335 warning.
11336 * testsuite/gcc.dg/format/null-1.c: New test.
11337
7d600178
RO
113382002-05-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11339
11340 * Makefile.in (ADAC): Define.
11341 (SYSLIBS): Define.
11342 (.SUFFIXES): Move before language makefile fragments.
11343 (STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
11344
5ff225fc
MM
113452002-05-23 Mark Mitchell <mark@codesourcery.com>
11346
11347 * varasm.c (make_decl_rtl): Don't allow weak variables to be
11348 placed in common.
11349
0f72964f
JH
11350Thu May 23 19:43:41 CEST 2002 Jan Hubicka <jh@suse.cz>
11351
11352 * cfg.c (dump_flow_info): Print results of
11353 maybe_hot/probably_never_executed predicates.
11354 * toplev.c (open_dump_file): Print function frequency.
11355
c863f8c2
DM
113562002-05-23 David S. Miller <davem@redhat.com>
11357
11358 * cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
11359 regsets.
11360
b34c7881
JT
113612002-05-23 Jason Thorpe <thorpej@wasabisystems.com>
11362
11363 * c-common.c (warn_nonnull): Declare.
11364 (c_common_attribute_table): Add "nonnull" attribute.
11365 (handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
11366 check_nonnull_arg, get_nonnull_operand, check_function_arguments,
11367 check_function_arguments_recurse): New functions.
11368 * c-common.h (warn_nonnull): Declare extern.
11369 (check_function_arguments, check_function_arguments_recurse): New
11370 prototypes.
11371 * c-decl.c (c_decode_option): Add -Wnonnull option.
11372 * c-format.c (set_Wformat): Set warn_nonnull if enabling
11373 format checking.
11374 (format_check_context): New structure.
11375 (check_format_info_recurse): Remove recursion and rename to...
11376 (check_format_arg): ...this. Update comment.
11377 (check_format_info): Use check_function_arguments_recurse.
11378 * c-typeck.c (build_function_call): Call check_function_arguments
11379 instead of check_function_format.
11380 * doc/extend.texi: Document "nonnull" attribute.
11381 * doc/invoke.texi: Docuemnt -Wnonnull option.
11382 * testsuite/gcc.dg/nonnull-1.c: New test.
11383 * testsuite/gcc.dg/nonnull-2.c: New test.
11384
95479831
DM
113852002-05-23 David S. Miller <davem@redhat.com>
11386
11387 * basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
11388 * cfgcleanup.c (cleanup_cfg): If it is set do not
11389 attempt to delete trivially dead insns.
11390 * except.c (finish_eh_generation): Pass it to cleanup_cfg.
11391 * toplev.c (rest_of_compilation): Document non-trivial aspect
11392 the RTL before optimize_save_area_alloca is run.
11393
a97d1398
NB
113942002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
11395
11396 * c-lex.c (indent_level): Remove.
11397 (cb_file_change, c_lex): Remove indent level handling.
11398 * c-lex.h (indent_level): Remove.
11399 * input.h (struct file_stack): Remove indent_level.
11400 * toplev.c (push_srcloc): Remove indent_level handling.
11401
66b408f2
JJ
114022002-05-23 Jakub Jelinek <jakub@redhat.com>
11403
11404 PR target/6753
11405 * config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
11406 of x in constraints for clarity.
11407 (sse_mov?fcc split): abort if op2 == op3.
11408 (sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
11409 sse_movsfcc_const0_4): Add earlyclobber.
11410 (sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
11411 sse_movdfcc_const0_4): Likewise. Use DFmode, not SFmode.
11412 Use Y instead of x in constraints.
11413
5bf0ebab
RH
114142002-05-23 Richard Henderson <rth@redhat.com>
11415
9217ef40
RH
11416 * doc/extend.texi (C99 Thread-Local Edits): New subsection.
11417 (C++98 Thread-Local Edits): New subsection.
11418
5bf0ebab
RH
11419 * config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
11420 (ix86_arch): Set type to enum processor_type.
11421
8a951190 11422 * config/i386/i386.md (movsi_1, movdi_1_rex64): Use
5bf0ebab
RH
11423 LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
11424
4832c9e1
JJ
114252002-05-23 Jakub Jelinek <jakub@redhat.com>
11426
11427 * configure.in: Fix as version test for binutils 2.12.1 releases
11428 (without dates).
11429 * configure: Rebuilt.
11430
c8c03509
RH
114312002-05-23 Richard Henderson <rth@redhat.com>
11432
11433 * config/i386/i386.c (get_pic_label_name): New.
11434 (load_pic_register): Remove.
11435 (output_set_got): New.
11436 (ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
11437 * config/i386/i386.md (UNSPEC_SET_GOT): New.
11438 (UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
11439 (prologue_set_got, prologue_get_pc): Remove.
11440 (set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
11441 (builtin_setjmp_receiver): Use gen_set_got.
11442 * config/i386/i386-protos.h: Update.
11443
d51f3632
JH
11444Thu May 23 09:22:23 CEST 2002 Jan Hubicka <jh@suse.cz>
11445
11446 * gcse.c (hash_expr): Do not use alias set for hashing.
11447
b0a93386
KB
114482002-05-22 Kevin Buettner <kevinb@redhat.com>
11449
11450 * dbxout.c (dbxout_class_name_qualifiers): New function.
11451 (dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
11452
bdee42b1
NB
114532002-05-23 Neil Booth <neil@daikokuya.demon.co.uk>
11454
11455 * cpperror.c (_cpp_begin_message): No special casing
11456 of CPP_FATAL_LIMIT.
11457 * cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
11458 (output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
11459 * cpplib.c (do_include_common): Use DL_ERROR.
11460 * cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
11461 (DL_ICE): Renumber.
11462 * fix-header.c (read_scan_file): Update.
11463
0e07aff3
RH
114642002-05-22 Richard Henderson <rth@redhat.com>
11465
11466 * config/i386/i386.c (ix86_expand_call): New function, extracted
11467 from md call patterns. Add pic_offset_table_rtx to
11468 CALL_INSN_FUNCTION_USAGE when needed.
11469 * config/i386/i386.md (call_pop, call): Use ix86_expand_call.
11470 (call_value_pop, call_value, untyped_call): Likewise.
11471 (call_exp, call_value_exp): Remove.
11472 * config/i386/i386-protos.h: Update.
11473
6f001fdf
RH
114742002-05-22 Richard Henderson <rth@redhat.com>
11475
11476 * varasm.c (default_section_type_flags): Check for VAR_DECL
11477 before using DECL_THREAD_LOCAL.
11478
cbaaba19
DE
114792002-05-22 David Edelsohn <edelsohn@gnu.org>
11480
11481 * config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
11482 (STARTFILE_SPEC): Delete PE crt0.o.
11483 * config/rs6000/aix51.h: Same.
11484 * config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
11485 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
11486 function descriptor symbol. Use RS6000_OUTPUT_BASENAME.
11487 (ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
11488 * config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
11489
c711ba8e
RH
114902002-05-22 Richard Henderson <rth@redhat.com>
11491
11492 * varasm.c (default_section_type_flags): Handle tls data and
11493 default sections.
11494 (default_unique_section): Handle tls sections.
11495
343f59d9
AM
114962002-05-23 Alan Modra <amodra@bigpond.net.au>
11497
11498 * configure.in (CROSS): Define NATIVE_CROSS.
11499 * configure: Regenerate.
11500 * gcc.c (STARTFILE_PREFIX_SPEC): Define.
11501 (startfile_prefix_spec): New var.
11502 (static_specs): Add startfile_prefix_spec.
11503 (do_spec_2): Split out from..
11504 (do_spec): ..here.
11505 (main): Process startfile_prefix_spec.
11506 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
11507 dynamic linker.
11508 (STARTFILE_PREFIX_SPEC): Define.
11509 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
c7bdf0a6 11510 absolute paths.
343f59d9 11511
df383483
KH
115122002-05-22 Kazu Hirata <kazu@cs.umass.edu>
11513
11514 * cpperror.c: Fix formatting.
11515 * cppexp.c: Likewise.
11516 * cppfiles.c: Likewise.
11517 * cpphash.c: Likewise.
11518 * cpphash.h: Likewise.
11519 * cppinit.c: Likewise.
11520 * cpplex.c: Likewise.
11521 * cpplib.c: Likewise.
11522 * cppmacro.c: Likewise.
11523 * cppmain.c: Likewise.
11524 * cppspec.c: Likewise.
11525
2dd36f90
JJ
115262002-05-22 Jakub Jelinek <jakub@redhat.com>
11527
11528 * combine.c (force_to_mode): Use gen_int_mode.
11529 Don't clear CONST_INT bits outside of mode.
11530
8dc02d7f
RH
115312002-05-22 Richard Henderson <rth@redhat.com>
11532
11533 * fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
11534 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
11535
45f79783
JJ
115362002-05-22 Jakub Jelinek <jakub@redhat.com>
11537
11538 PR c/6643
11539 * emit-rtl.c (widen_memory_access): Only call compare_tree_int
11540 if DECL_SIZE_UNIT is INTEGER_CST.
11541
19f71cd7
RH
115422002-05-22 Richard Henderson <rth@redhat.com>
11543
11544 * flow.c (life_analysis): Delete broken reg_label check.
11545
d5bcfcce
RH
115462002-05-22 Richard Henderson <rth@redhat.com>
11547
11548 * fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
11549 * fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
11550
985d311b 11551Wed May 22 18:39:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
5ff94354
R
11552
11553 * t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
11554 (embed-bb.c): New rule.
985d311b 11555 * t-sh64 (LIB2FUNCS_EXTRA): Don't change.
5ff94354
R
11556 * config/sh/embed_bb.c: Delete.
11557
985d311b
R
11558Wed May 22 18:25:29 2002 J"orn Rennecke <joern.rennecke@superh.com>
11559
11560 * c-common.c (cb_register_builtins): Don't indent '#' of #define.
11561
f6d45746
KH
115622002-05-22 Kazu Hirata <kazu@cs.umass.edu>
11563
11564 * config/h8300/h8300.md (*andorqi3): New.
11565
e5f3b786
NB
115662002-05-22 Neil Booth <neil@daikokuya.demon.co.uk>
11567
11568 PR preprocessor/6517
11569 * Makefile.in: Update.
11570 * c-common.c (c_common_post_options): Add preprocessor
11571 errors to the error count.
11572 * c-lang.c (c_post_options): Kill.
11573 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
11574 * hooks.h: Add header guards.
11575 * langhooks-def.h: Include hooks.h.
11576 (LANG_HOOKS_POST_OPTIONS): Update.
11577 * langhooks.h (struct lang_hooks): Update post_options.
11578 * toplev.c (parse_options_and_default_flags): Update.
11579objc:
11580 * objc-lang.c (objc_post_options): Kill.
11581 (LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
11582
4c526be3
BK
115832002-05-21 Bruce Korb <bkorb@gnu.org>
11584
11585 * fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
021c1f34
BK
11586 * fixinc/inclhack.def(thread_keyword): use c_fix = format.
11587 * fixinc/fixincl.x: regen.
4c526be3 11588
f87c27b4
KH
115892002-05-21 Kazu Hirata <kazu@cs.umass.edu>
11590
11591 * cfgbuild.c: Fix formatting.
11592 * cfg.c: Likewise.
11593 * cfgcleanup.c: Likewise.
11594 * cfglayout.c: Likewise.
11595 * cfgloop.c: Likewise.
11596 * cfgrtl.c: Likewise.
11597
3d78f2e9
RH
115982002-05-21 Richard Henderson <rth@redhat.com>
11599
11600 * c-common.h (enum rid): Add RID_THREAD.
11601 * c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
11602 (grokdeclarator): Grok __thread.
11603 * c-parse.in (reswords): Add __thread.
11604 (rid_to_yy): Add RID_THREAD.
11605
11606 * tree.h (DECL_THREAD_LOCAL): New.
11607 (struct tree_decl): Add thread_local_flag.
11608 * print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
11609 * tree.c (staticp): TLS variables are not static.
11610
11611 * target-def.h (TARGET_HAVE_TLS): New.
11612 * target.h (have_tls): New.
11613 * output.h (SECTION_TLS): New.
11614 * varasm.c (assemble_variable): TLS variables can't be common for now.
11615 (default_section_type_flags): Handle .tdata and .tbss.
11616 (default_elf_asm_named_section): Handle SECTION_TLS.
11617 (categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
11618
11619 * flags.h (flag_tls_default): Declare.
11620 * toplev.c (flag_tls_default): Define.
11621 (display_help): Display help for it.
11622 (decode_f_option): Set it.
11623
11624 * doc/extend.texi (Thread-Local): New node describing language-level
11625 thread-local storage.
11626 * doc/invoke.texi (-ftls-model): Document.
11627
11628 * fixinc/inclhack.def (thread_keyword): New.
11629 * fixinc/fixincl.x: Rebuild.
11630
a151daf0
JL
116312002-05-21 Jeffrey A Law <law@redhat.com>
11632
8a951190 11633 * optabs.c (expand_binop): For double-word integer multiplies,
c7539aa0
JL
11634 do not compute intermediate results into something that is
11635 not a register (such as a SUBREG or MEM).
11636
a151daf0
JL
11637 * i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
11638 (ix86_sched_reorder): Make sure to initialize scheduling
11639 data even when there's only one insn in the ready queue.
11640
96b1f73b
VM
116412002-05-21 Vladimir Makarov <vmakarov@redhat.com>
11642
11643 * genautomata.c (reserv_sets_hash_value): Fix a typo.
11644
dceb2b75
VM
116452002-05-21 Vladimir Makarov <vmakarov@redhat.com>
11646
11647 * genautomata.c (reserv_sets_hash_value): Define hash_value as
11648 set_el_t. Transform the hash value into unsigned.
11649 (output_cycle_reservs): Fix bug with output of repeated `nothing'.
11650 (transform_3): Add code to process `(A,B)+(D,E)'.
11651
159d5964
NY
116522002-05-21 NIIBE Yutaka <gniibe@m17n.org>
11653
11654 * reload1.c (do_output_reload): Run delete_output_reload
11655 only if optimizing.
11656
cf5124f6
RS
116572002-05-21 Roger Sayle <roger@eyesopen.com>
11658
11659 PR middle-end/6600
11660 * expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
11661 larger than INTEGER_CST. (store_by_pieces_1): Use it here...
11662 (can_store_by_pieces): ... and here to limit the largest mode used.
11663 Add a comment to document this function.
11664
380e6ade
RH
116652002-05-21 Richard Henderson <rth@redhat.com>
11666
11667 * flow.c (life_analysis): Fix test for deleted label.
11668
1f95326c
NB
116692002-05-21 Neil Booth <neil@daikokuya.demon.co.uk>
11670
11671 * doc/tm.texi: Fix typo.
11672
2a1dc0d8
ZW
116732002-05-21 Zack Weinberg <zack@codesourcery.com>
11674
11675 * c-common.c (c_common_init): Set options->unsigned_char from
11676 flag_signed_char.
11677 (cb_register_builtins): Define __STRICT_ANSI__ and
11678 __CHAR_UNSIGNED__ here...
11679 * cppinit.c (init_builtins): Not here.
11680 (cpp_create_reader): unsigned_char option defaults to 0, not
11681 !DEFAULT_SIGNED_CHAR.
11682 (COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
11683 and -funsigned-char.
11684
11685 * cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
11686 * cpphash.c (_cpp_init_hashtable): Don't set it.
11687 * cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
11688 directly. Clarify comment.
11689
d29146f2 116902002-05-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2a1dc0d8 11691
f5eb2fc8
ZD
11692 * bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
11693 neighbouring basic blocks. Use ENTRY_BLOCK_PTR->next_bb instead of
11694 BASIC_BLOCK (0). Use EXIT_BLOCK_PTR->prev_bb instead of
11695 BASIC_BLOCK (n_basic_blocks - 1).
d29146f2 11696 * cfganal.c (can_fallthru, flow_call_edges_add,
f5eb2fc8 11697 flow_preorder_transversal_compute): Too.
d29146f2 11698 * cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
f5eb2fc8
ZD
11699 find_sub_basic_blocks): Too.
11700 * cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
d29146f2 11701 * cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
f5eb2fc8
ZD
11702 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
11703 * cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
d29146f2
ZD
11704 * combine.c (this_basic_block): Type changed to basic_block.
11705 (combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
11706 nonzero_bits, num_sign_bit_copies, get_last_value_validate,
f5eb2fc8
ZD
11707 get_last_value, distribute_notes, distribute_links): Too.
11708 * final.c (compute_alignments): Too.
11709 * flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
11710 * function.c (thread_prologue_and_epilogue_insns): Too.
11711 * gcse.c (compute_code_hoist_vbeinout): Too.
11712 * global.c (build_insn_chain): Too.
11713 * ifcvt.c (find_if_block, find_cond_trap): Too.
11714 * predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
11715 * regmove.c (regmove_optimize): Too.
11716 * resource.c (find_basic_block): Too.
11717 * sched-ebb.c (schedule_ebbs): Too.
11718 * ssa-dce.c (find_control_dependence, find_pdom): Too.
d29146f2 11719
68bd6dd6
AJ
117202002-05-21 Andreas Jaeger <aj@suse.de>
11721
11722 * cppinit.c (sanity_checks): Avoid printf mismatch warnings.
11723
35a76aac
RH
117242002-05-21 Richard Henderson <rth@redhat.com>
11725
11726 * reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
11727 unspec names, not numbers.
11728
2870428f
JM
117292002-05-21 Joseph S. Myers <jsm28@cam.ac.uk>
11730
11731 * doc/sourcebuild.texi: Mention snapshot-README and
11732 snapshot-index.html as needing updating for new front ends.
11733
b0ad77d5
KG
117342002-05-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11735
11736 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
11737 disabling checking, and avoid multiple evaluation of RTX.
11738
279be7c8
RE
117392002-05-21 Richard Earnshaw <rearnsha@arm.com>
11740
11741 * bitmap.c (bitmap_find_bit): Return early if we have the correct
11742 element cached.
11743
193a563a
JH
11744Tue May 21 10:51:54 CEST 2002 Jan Hubicka <jh@suse.cz>
11745
11746 * profile.c (gen_edge_profiler): Set alias set before the memory is
11747 used.
11748
31825e57
DM
117492002-05-20 David S. Miller <davem@redhat.com>
11750
11751 * cselib.c (max_value_regs): New.
11752 (cselib_lookup, cselib_invalidate_regno): Initialize it when
11753 adding new entries to the REG_VALUES table and we are dealing with
11754 a hard register.
11755 (clear_table): Initialize it.
11756 (cselib_invalidate_regno): Use it to determine which hard
11757 registers to scan when mode is not VOIDmode.
11758
68bd6dd6 117592002-05-20 Duraid Madina <duraid@fl.net.au>
29d83d60
DM
11760
11761 * tradcpp.c (fixup_newlines): Use old-style function header.
11762
e0a09fda
KW
117632002-05-20 Krister Walfridsson <cato@df.lth.se>
11764
11765 * reload1.c (reload_cse_simplify): Fix typo in rtx code check.
11766
e0c13c70
L
117672002-05-20 H.J. Lu (hjl@gnu.org)
11768
11769 Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
11770
11771 * config/mips/mips.h (DFMODE_NAN): Defined.
11772 (SFMODE_NAN): Likewise.
11773
4c11675d 117742002-05-20 Dale Johannesen <dalej@apple.com>
e0c13c70 11775
2a1dc0d8
ZW
11776 * combine.c (cant_combine_insn_p): Back out my
11777 previous patch.
4c11675d 11778
6a4d6760
KH
117792002-05-20 Kazu Hirata <kazu@cs.umass.edu>
11780
11781 * params.c: Fix formatting.
11782 * params.h: Likewise.
11783 * predict.c: Likewise.
11784 * prefix.c: Likewise.
11785 * print-rtl.c: Likewise.
11786 * print-tree.c: Likewise.
11787 * profile.c: Likewise.
11788
5715ca64
L
117892002-05-20 H.J. Lu (hjl@gnu.org)
11790
11791 * gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
11792
00b89f01
NC
117932002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
11794
11795 * config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
11796 switches straight on to the assembler, do not abbreviate them.
11797 * config/arm/elf.h (ASM_SPEC): As above.
11798 * config/arm/semi.h (ASM_SPEC): As above.
11799 * config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
11800 * config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
11801 -mcpu=xscale on to the assembler by default.
11802 * config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
11803
1441374b
RH
118042002-05-20 Richard Henderson <rth@redhat.com>
11805
11806 * cse.c (canon_hash): Reorder do_not_record test. Always
11807 allow pic_offset_table_rtx.
11808
c0fe508e
TM
118092002-05-19 Toon Moene <toon@moene.indiv.nluug.nl>
11810
11811 * optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
11812 (expand_binop): Ditto (3 times).
11813
f362c762
MM
118142002-05-19 Mark Mitchell <mitchell@doubledemon.codesourcery.com>
11815
11816 * Makefile.in (distclean): Remove QMTest stuff.
11817 (QMTEST_PATH): New variable.
11818 (QMTESTFLAGS): Likewise.
11819 (QMTESTRUNFLAGS): Likewise.
11820 (QMTEST): Likewise.
11821 (QMTEST_GPP_TESTS): Likewise.
11822 (QMTEST_DIR): Likewise.
11823 (QMTEST_DIR/context): New target.
11824 (qmtest-g++): Likeise.
11825 (qmtest-gui): Likewise.
11826 (QMTEST_DIR/gpp-expected.qmr): Likewise.
11827
16861f33
AH
118282002-05-19 Aldy Hernandez <aldyh@redhat.com>
11829
2a1dc0d8
ZW
11830 * config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
11831 an altivec register if TARGET_ALTIVEC.
16861f33 11832
2a1dc0d8
ZW
11833 * config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
11834 to ALTIVEC_VECTOR_MODE.
11835 (rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
11836 (rs6000_va_arg): Vectors may go in registers if they are not
11837 altivec vectors.
16861f33 11838
23459e15
KH
118392002-05-19 Kazu Hirata <kazu@cs.umass.edu>
11840
11841 * protoize.c: Fix formatting.
11842
174cc7d1
RH
118432002-05-19 Richard Henderson <rth@redhat.com>
11844
11845 * gensupport.c (init_include_reader): Merge into ...
11846 (process_include): ... here. Simplify composite path creation.
11847 Plug memory leaks. Fix file/line number tracking. Do not
11848 process_define_cond_exec. Return void.
11849 (process_rtx): Don't check process_include return value.
11850
918ed612
ZD
118512002-05-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11852
11853 * basic_block.h (struct basic_block_def): Added prev_bb and next_bb
11854 fields.
11855 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
11856 traversing basic block chain.
11857 (create_basic_block_structure, create_basic_block): Declaration changed.
11858 (link_block, unlink_block): Declare.
11859 * cfg.c (entry_exit_blocks): Initialize new fields.
11860 (link_block, unlink_block): New.
11861 (expunge_block_nocompact): Unlink basic block.
11862 (dump_flow_info): Print prev_bb/next_bb fields.
11863 * cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
11864 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
11865 * cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
11866 * cfgrtl.c (create_basic_block_structure, create_basic_block,
11867 split_block, force_nonfallthru_and_redirect, split_edge): Modified.
11868 (verify_flow_info): Check that list agrees with numbering.
11869
e0322d5c
NB
118702002-05-19 Neil Booth <neil@daikokuya.demon.co.uk>
11871
11872 * c-common.c (preprocessing_asm): New macro.
11873 * c-lex.h (builtin_define, builtin_assert): Use pfile.
11874doc:
11875 * tm.texi: Update.
11876config/alpha:
11877 * alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
11878 (CPP_SPEC): Simplify.
11879 (TARGET_CPU_CPP_BUILTINS): Update.
11880 * freebsd.h (TARGET_OS_CPP_BUILTINS): New.
11881 (CPP_SPEC): Simplify.
11882 * linux.h (CPLUSPLUS_CPP_SPEC): Remove.
11883 (TARGET_OS_CPP_BUILTINS): Update.
11884 * osf.h (CPP_XFLOAT_SPEC): Kill.
11885 (TARGET_OS_CPP_BUILTINS): Update.
11886 (CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
11887 * osf5.h (CPP_XFLOAT_SPEC): Kill.
11888 * vms.h (CPP_SUBTARGET_SPEC): Kill.
11889 (TARGET_OS_CPP_BUILTINS): Update.
11890
121f5c2c
RH
118912002-05-19 Richard Henderson <rth@redhat.com>
11892
11893 * varasm.c (default_binds_local_p): Fix typo.
11894
651c5ed9
MM
118952002-05-19 Marek Michalkiewicz <marekm@amelek.gda.pl>
11896
11897 * config/avr/avr.c (machine_dependent_reorg): Sign extend the
11898 CONST_INT operand to the correct mode after adding 1 to it.
11899
bce0deb2
MM
119002002-05-19 Mark Mitchell <mark@codesourcery.com>
11901
11902 * config.gcc (powerpc-wrs-windiss*): New target.
11903
4aa74a4f
FS
119042002-05-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
11905
11906 * config/rs6000/rs6000.md (ashrdi3_no_power): New.
11907 (ashrdi3): Use it.
11908
a15135c9
MM
119092002-05-18 Mark Mitchell <mark@codesourcery.com>
11910
11911 * configure.in (AC_CHECK_FUNCS): Add checks for scandir and
11912 alphasort.
11913 * config.in: Regenerated.
11914 * configure: Regenerated.
11915
47754fd5
RH
119162002-05-19 Richard Henderson <rth@redhat.com>
11917
11918 * target-def.h (TARGET_BINDS_LOCAL_P): New.
11919 * target.h (struct gcc_target): Move boolean fields to the end.
11920 Add binds_local_p.
11921 * varasm.c (default_binds_local_p): New.
11922 * output.h: Declare it.
11923
11924 * config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
11925 * config/cris/cris.c (cris_encode_section_info): Likewise.
11926 * config/i386/i386.c (i386_encode_section_info): Likewise.
11927 * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
11928 * config/sh/sh.c (sh_encode_section_info): Likewise.
11929
11930 * doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
11931 (TARGET_BINDS_LOCAL_P): New.
11932
fc881338
RH
119332002-05-19 Richard Henderson <rth@redhat.com>
11934
11935 * system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
11936 FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
11937 MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
11938
11939 * toplev.c (display_help): Kill -a -ax help.
11940
68bd6dd6 11941 * config/1750a/1750a.h, config/alpha/alpha.h,
fc881338
RH
11942 config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
11943 config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
11944 config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
11945 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
11946
11947 * libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
11948 * config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
11949
11950 * config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
11951 (ix86_output_function_block_profiler): Kill.
11952 * config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
11953 (m68hc11_function_block_profiler): Kill.
11954 * config/m68hc11/m68hc11-protos.h: Update.
11955 * config/m88k/m88k.c (output_block_profiler): Kill.
11956 (output_function_block_profiler): Kill.
11957 * config/m88k/m88k-protos.h: Update.
11958
772c5265
RH
119592002-05-19 Richard Henderson <rth@redhat.com>
11960
11961 * system.h (STRIP_NAME_ENCODING): Poison it.
11962 * output.h (STRIP_NAME_ENCODING): Remove.
11963 (default_strip_name_encoding): Declare.
11964 * target-def.h (TARGET_STRIP_NAME_ENCODING): New.
11965 * target.h (strip_name_encoding): New.
11966 * varasm.c (default_strip_name_encoding): New.
11967
11968 * dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
11969 config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
11970 config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
11971 config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
11972 config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
11973 config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
11974 config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
11975 config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
11976 config/v850/v850.h: Use the hook, not the macro.
11977
11978 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
11979 config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
11980 config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
11981 config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
11982 config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
11983 config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
68bd6dd6 11984 config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
772c5265
RH
11985 config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
11986 config/v850/v850.c, config/v850/v850.h:
11987 Move STRIP_NAME_ENCODING to out-of-line function and add
11988 TARGET_STRIP_NAME_ENCODING.
11989
11990 * config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
11991 config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
11992 with TARGET_STRIP_NAME_ENCODING referencing existing function;
11993 make function static.
11994
11995 * xcoffout.c: Include target.h
11996 * Makefile.in (xcoffout.o): Update.
11997
11998 * config/avr/avr.c (avr_encode_section_info): Correct prototype.
11999 * config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
12000 * config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
12001 reloc argument unused.
12002 * config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
12003
12004 * doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
12005 STRIP_NAME_ENCODING docs.
12006
8f9eb495
AJ
120072002-05-19 Andreas Jaeger <aj@suse.de>
12008
12009 * gengenrtl.c: Add prototype for excluded_rtx.
12010
12011 * real.h: Add prototype for exact_real_truncate.
12012
fb49053f
RH
120132002-05-18 Richard Henderson <rth@redhat.com>
12014
12015 * system.h (ENCODE_SECTION_INFO): Poison it.
12016 * target-def.h (TARGET_ENCODE_SECTION_INFO): New.
12017 * target.h (encode_section_info): New.
12018 * varasm.c (make_decl_rtl, output_constant_def): Use it.
12019 * hooks.c (hook_tree_int_void): New.
12020 * hooks.h: Declare it.
12021
12022 * config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
12023 config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
12024 config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
12025 config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
12026 config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
12027 config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
12028 config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
12029 config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
12030 config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
12031 config/mcore/mcore-protos.h, config/mcore/mcore.c,
12032 config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
12033 config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
12034 config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
12035 config/stormy16/stormy16.c, config/stormy16/stormy16.h:
12036 Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
12037 referencing existing function. Make function static.
12038
12039 * config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
8f9eb495 12040 config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
fb49053f
RH
12041 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
12042 config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
12043 config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
8f9eb495 12044 config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
fb49053f
RH
12045 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
12046 config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
12047 config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
12048 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
8f9eb495 12049 config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
fb49053f
RH
12050 config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
12051 config/xtensa/xtensa.c, config/xtensa/xtensa.h:
12052 Move ENCODE_SECTION_INFO to out-of-line function and add
12053 TARGET_ENCODE_SECTION_INFO.
12054
12055 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
12056 (ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
12057
12058 * config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
12059 from SUBTARGET_*
12060 (switch_to_section): Replace in_rdata case with in_readonly_data.
12061
12062 * config/h8300/h8300.c (h8300_encode_label): Make static.
12063 * config/h8300/h8300-protos.h: Update.
12064
12065 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
12066 from rs6000_encode_section_info; make static.
12067 (rs6000_xcoff_encode_section_info): New.
12068
12069 * config/v850/v850.c (v850_encode_data_area): Make static.
12070 * config/v850/v850-protos.h: Update.
12071
12072 * config/vax/vax.c: Include flags.h.
12073 (vms_select_section): Fix typo.
12074
12075 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
12076 ENCODE_SECTION_INFO docs.
12077
9fe08fd0
RH
120782002-05-18 Richard Henderson <rth@redhat.com>
12079
12080 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
12081 REGISTER_TARGET_PRAGMAS.
12082 * config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
12083
410b770f
RH
12084 * config.gcc: Do not use rs6000-c.c on powerpc-darwin.
12085
b64a1b53
RH
120862002-05-18 Richard Henderson <rth@redhat.com>
12087
12088 * system.h (SELECT_RTX_SECTION): Poison.
12089 * target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
12090 * target.h (select_rtx_section): New.
12091 * varasm.c (output_constant_pool): Use it.
12092 (default_select_rtx_section, default_elf_select_rtx_section): New.
12093 * output.h: Declare them.
12094
12095 * config/darwin.h (SELECT_RTX_SECTION): Move ...
12096 * config/darwin.c (machopic_select_rtx_section): ... here.
12097 * config/darwin-protos.h: Update.
12098
12099 * config/nextstep.h (SELECT_RTX_SECTION): Move ...
12100 * config/nextstep.c (machopic_select_rtx_section): ... here.
12101 (nextstep_select_section): Rename variable to avoid macro clash.
12102 * config/nextstep-protos.h: Update.
12103
12104 * config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
12105 config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
12106 config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
8f9eb495 12107 config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
b64a1b53
RH
12108 config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
12109 config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
8f9eb495 12110 config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
b64a1b53
RH
12111 config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
12112 config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
12113 (SELECT_RTX_SECTION): Remove.
12114
12115 * config/darwin.h, config/elfos.h, config/nextstep.h,
12116 config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
12117 config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
12118 config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
12119 config/sparc/lynx.h, config/xtensa/xtensa.c
12120 (TARGET_ASM_SELECT_RTX_SECTION): New.
12121
12122 * config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
12123 * config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
12124 * config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
12125 * config/ia64/ia64.c (ia64_select_rtx_section): ... here.
12126 (ia64_aix_select_rtx_section): New.
12127 * config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
12128 redefining.
12129 * config/mips/mips.c (mips_select_rtx_section): Make static.
8f9eb495 12130 Support ELF SHF_MERGE features.
b64a1b53
RH
12131 * config/mips/mips-protos.h: Update.
12132 * config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
12133 * config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
12134 (rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
12135 make static, fall back to default_elf_select_rtx_section.
12136 * config/rs6000/rs6000-protos.h: Update.
12137 * config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
12138 * config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
12139 * config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
12140 * config/romp/romp.c (romp_select_rtx_section): New.
12141 * config/s390/s390.c (s390_select_rtx_section): New.
12142 * config/xtensa/xtensa.c: Include output.h. Shuffle local function
12143 declarations before target macro definition.
12144 (xtensa_emit_call): Use static buffer.
12145 (xtensa_select_rtx_section): New.
12146 * config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
12147 (IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
12148 (ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
12149
12150 * doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
12151 SELECT_RTX_SECTION docs.
12152
12153Sun May 19 00:24:23 CEST 2002 Jan Hubicka <jh@suse.cz>
5f90a099
JH
12154
12155 * i386.md (movsi/movdi): Fix template.
12156 (sse2 patterns): Set attributes consistently.
12157
12158 * i386.md (pushqi2, ashrqi_*): Fix constraint.
12159
6835a09c
TM
121602002-05-18 Toon Moene <toon@moene.indiv.nluug.nl>
12161
12162 * optabs.c (complex_part_zero_p): New.
12163 * (expand_cmplxdiv_straight): Use it.
12164 * (expand_cmplxdiv_wide): Ditto.
12165 * (expand_binop): Ditto.
12166
d48bc59a
RH
121672002-05-18 Richard Henderson <rth@redhat.com>
12168
12169 * final.c (HAVE_READONLY_DATA_SECTION): New.
12170 (shorten_branches): Use it instead of ifdefs.
12171 * varasm.c (enum in_section): Add in_readonly_data.
12172 (text_section, data_section): Tidy.
12173 (readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
12174
12175 * config/darwin.h, config/nextstep.h, config/h8300/elf.h,
12176 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
12177 (READONLY_DATA_SECTION): Don't undef.
12178
12179 * config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
12180 config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
12181 config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
12182
12183 * config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
12184 config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
12185 config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
12186 config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
12187
12188 * config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
12189 config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
12190 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
12191 config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
12192 config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
12193 config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
12194 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
12195 config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
12196 CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
12197
12198 * config/elfos.h, config/netware.h, config/1750a/1750a.h,
12199 config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
12200 config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
12201 config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
12202 config/pa/pa64-hpux.h, config/sparc/litecoff.h
12203 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
12204
12205 * config/elfos.h, config/netware.h, config/svr3.h,
12206 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
12207 config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
12208 config/h8300/h8300.h, config/i386/i386-interix.h,
12209 config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
12210 config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
12211
12212 * config/elfos.h, config/netware.h, config/svr3.h,
12213 config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
12214 config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
12215 config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
12216 config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
12217
12218 * config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
12219 config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
12220 config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
12221 config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
12222 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
12223 config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
12224 config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
12225 config/rs6000/sysv4.h, config/v850/v850.h
12226 (EXTRA_SECTIONS): Remove in_const/in_rdata.
12227 (EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
12228
12229 * config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
12230 config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
12231 config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
12232 config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
12233 * config/alpha/alpha.c (alpha_start_function): Likewise.
12234 (alpha_write_linkage): Likewise.
12235 * config/m32r/m32r.c (m32r_select_section): Likewise.
12236 * config/m88k/m88k.c (m88k_select_section): Likewise.
12237 * config/mips/mips.c (mips_select_rtx_section): Likewise.
12238 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
12239 (rs6000_elf_select_section): Likewise.
12240 * config/v850/v850.c (v850_select_section): Likewise.
12241
12242 * config/1750a/1750a.h, config/i860/sysv3.h
12243 (READONLY_DATA_SECTION_ASM_OP): New.
12244 READONLY_DATA_SECTION_ASM_OP.
12245 * config/i386/interix.c, config/i386/winnt.c
12246 (i386_pe_unique_section): Always use .rdata prefix.
12247 * config/pa/som.h (readonly_data): Always switch to read-only section.
12248 (READONLY_DATA_SECTION): Predicate on flag_pic.
12249 * config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
12250 * doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
12251 (READONLY_DATA_SECTION): Update.
12252
e964a556
JT
122532002-05-18 Jason Thorpe <thorpej@wasabisystems.com>
12254
12255 * c-common.c (c_common_post_options): Warn if -Wformat-zero-length
8f9eb495 12256 is used without -Wformat.
e964a556
JT
12257 * c-common.h (warn_format_zero_length): Declare extern.
12258 * c-decl.c (warn_options): Add "format-zero-length".
12259 * c-format.c (warn_format_zero_length): Declare.
12260 (set_Wformat): Set warn_format_zero_length for -Wformat.
12261 (check_format_info): Only warn about zero-length formats if
12262 warn_format_zero_length is true. Include the format type
12263 name in the warning message.
12264 * doc/invoke.texi: Document -Wformat-zero-length.
12265 * testsuite/gcc.dg/format/zero-length-1.c: New test.
12266
d92b4486
KH
122672002-05-18 Kazu Hirata <kazu@cs.umass.edu>
12268
12269 * timevar.c: Fix formatting.
12270 * tlink.c: Likewise.
12271 * toplev.c: Likewise.
12272 * tree-dump.c: Likewise.
12273 * tree-inline.c: Likewise.
12274
43612ffb
NB
122752002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
12276
12277 * cppinit.c (cpp_post_options): If preprocessed, turn off
12278 traditional. If traditional, turn off column numbers.
12279 * cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
12280 * cpptrad.c (handle_newline): Update line_base.
12281 (skip_comment): Handle -Wcomment.
12282
f24a153a
ZW
122832002-05-17 Zack Weinberg <zack@codesourcery.com>
12284
12285 * cppinit.c (struct builtin): Remove unused fields.
12286 (CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
12287 (operator_array): New - was second half of builtin_array.
12288 (init_builtins): Simplify loop over builtin_array/operator_array.
12289
12403335
NB
122902002-05-18 Neil Booth <neil@daikokuya.demon.co.uk>
12291
12292 * defaults.h (UNIQUE_SECTION): Remove.
12293 * system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
12294
1f8c3c5b
RH
122952002-05-17 Richard Henderson <rth@redhat.com>
12296
12297 * expr.c (init_expr_once): Don't use start/end_sequence.
12298 Use rtx_alloc instead of emit_insn.
12299 * toplev.c (lang_dependent_init): Run init_expr_once here ...
12300 (lang_independent_init): ... not here.
12301
4664f4c4
JT
123022002-05-17 Jason Thorpe <thorpej@wasabisystems.com>
12303
12304 * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
12305
93febe68
MM
123062002-05-17 Marek Michalkiewicz <marekm@amelek.gda.pl>
12307
12308 * config/avr/avr.c (avr_regs_to_save): New function. Also check
12309 for fixed registers, possibly used for global register variables.
12310 (initial_elimination_offset, avr_output_function_prologue,
12311 avr_output_function_epilogue): Move common code to avr_regs_to_save.
12312
004cb263
NB
123132002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
12314
12315 * Makefile.in: Update for cpptrad.c.
12316 * cpphash.h (struct cpp_buffer): New members for buffer
12317 overlays.
12318 (struct cpp_reader): New members for traditional output.
12319 (_cpp_read_logical_line, _cpp_overlay_buffer): New.
12320 * cppinit.c (cpp_create_reader): Set trad_line.
12321 (cpp_destroy): Free trad_out_base if used.
12322 (cpp_read_main_file): Overlay an empty buffer if traditional.
12323 (cpp_finish_options): Don't do builtins.
12324 (COMMAND_LINE_OPTIONS): Add -traditional-cpp.
12325 (cpp_handle_option): Handle it.
12326 * cpplex.c (continue_after_nul): New.
12327 (_cpp_lex_direct): Use handle_nul.
12328 * cpplib.h (struct cpp_options): New traditional option.
12329 * cpptrad.c: New file.
12330
bdcae02b
NB
123312002-05-17 Neil Booth <neil@daikokuya.demon.co.uk>
12332
12333 * c-common.c (c_common_init_options): Use C89 for Objective-C,
12334 and set the options flag.
12335 * cppinit.c (lang_flags): Remove objc.
12336 (lang_defaults): Remove OBJC and OBJCXX.
12337 (set_lang): Update.
12338 (COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
12339 (cpp_handle_option): Remove -+ and -lang-objc++.
12340 For ObjC, just set a flag.
12341 (print_help): Update.
12342 * cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
12343
0fca60ab
RO
123442002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12345
12346 * doc/install.texi (Specific, mips-sgi-irix6): Document need to
12347 bootstrap with -mips3.
12348
dd3f0101
KH
123492002-05-17 Kazu Hirata <kazu@cs.umass.edu>
12350
12351 * final.c: Fix formatting.
12352 * fix-header.c: Likewise.
12353 * flow.c: Likewise.
12354 * fold-const.c: Likewise.
12355 * function.c: Likewise.
12356
5ca9299f
DM
123572002-05-17 David S. Miller <davem@redhat.com>
12358
12359 PR c/6689, PR optimization/6615
12360 * local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
12361 and make it a pointer to rtx. Update comments.
12362 (update_equiv_regs): When scanning for equivalences, record
12363 address of SET_SRC (set) in reg_equiv[].src_p. Dereference
12364 it while making the equiv replacements.
12365
508bc172
RO
123662002-05-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12367
12368 * config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
12369
5cd983a6
KK
123702002-05-17 kaz Kojima <kkojima@rr.iij4u.or.jp>
12371
12372 * config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
12373 when encoding visibility into SYMBOL_REF_FLAG.
12374
ce0f3925
RS
123752002-05-17 Richard Sandiford <rsandifo@redhat.com>
12376
12377 * expr.c (force_operand): Fix reversed move.
12378
06809951
GP
123792002-05-17 Kurt Wall <kwall@kurtwerks.com>
12380
12381 * doc/install.texi (Testing): Mention two common DejaGnu warnings
12382 that can be ignored.
12383
123842002-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12385
12386 * doc/install.texi (Final install): Recommend to install into a
12387 "clean" target directory.
12388
1d5d7a21
RH
123892002-05-17 Richard Henderson <rth@redhat.com>
12390
12391 * config/ia64/ia64.md: Use braced strings instead of quoted strings
12392 for code blocks. Tidy whitespace.
12393
ae46c4e0
RH
123942002-05-17 Richard Henderson <rth@redhat.com>
12395
12396 * hooks.c (hook_tree_bool_false): New.
12397 * hooks.h: Declare it.
12398 * target-def.h (TARGET_ASM_SELECT_SECTION): New.
12399 (TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
12400 * target.h (select_section, unique_section): New.
12401 (in_small_data_p): New.
12402 * varasm.c (resolve_unique_section): Use hooks instead of macros.
12403 (variable_section, output_constant_def_contents): Likewise.
12404 (default_select_section, default_unique_section): New.
12405 (categorize_decl_for_section, default_elf_select_section): New.
12406 * output.h: Declare them.
12407
12408 * config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
12409 (TARGET_ASM_SELECT_SECTION): New.
12410 (SELECT_SECTION): Move ...
12411 * config/darwin.c (machopic_select_section): ... here.
12412 * config/darwin-protos.h: Update.
12413
12414 * config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
12415 (SELECT_SECTION): Move ...
12416 * config/nextstep.c (nextstep_select_section): ... here.
12417 * config/nextstep-protos.h: Update.
12418
12419 * config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
12420 (TARGET_ASM_SELECT_SECTION): New.
12421 * config/svr3.h (SELECT_SECTION): Remove.
12422
12423 * config/alpha/alpha.c (unicosmk_unique_section): Make static.
12424 (TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
12425 (TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
12426 (alpha_encode_section_info): Use it.
12427 * config/alpha/alpha-protos.h: Update.
12428 * config/alpha/elf.h (DO_SELECT_SECTION): Remove.
12429 (SELECT_SECTION, UNIQUE_SECTION): Remove.
12430 (TARGET_ASM_SELECT_SECTION): New.
12431 * config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
12432
12433 * config/arm/pe.h (UNIQUE_SECTION): Remove.
12434 (TARGET_ASM_UNIQUE_SECTION): New.
12435
12436 * config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
12437 (avr_unique_section): Rename from unique_section; make static.
12438 * config/avr/avr-protos.h: Update.
12439 * config/avr/avr.h (UNIQUE_SECTION): Remove.
12440
12441 * config/c4x/c4x.h (SELECT_SECTION): Remove.
12442
12443 * config/i386/cygwin.h (UNIQUE_SECTION): Remove.
12444 (TARGET_ASM_UNIQUE_SECTION): New.
12445 * config/i386/i386-interix.h: Likewise.
12446 * config/i386/win32.h: Likewise.
12447 * config/i386/djgpp.h (UNIQUE_SECTION): Remove.
12448 * config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
12449 * config/i386/sco5.h (SELECT_SECTION): Remove.
12450 (TARGET_ASM_SELECT_SECTION): New.
12451 * config/i386/svr3gas.h (SELECT_SECTION): Remove.
12452
12453 * config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
12454 instead of SELECT_SECTION.
12455 * config/m68k/dpx2.h: Likewise.
12456 * config/rs6000/lynx.h: Likewise.
12457
12458 * config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
12459 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
12460 * config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
12461 (ia64_in_small_data_p): New.
12462 (ia64_encode_section_info): Use it. Reorganize overlarge conditional.
12463 (ia64_aix_select_section, ia64_aix_unique_section): New.
12464 * config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
12465 (SELECT_SECTION, UNIQUE_SECTION): Remove.
12466
12467 * config/m32r/m32r.h (SELECT_SECTION): Remove.
12468 (TARGET_ASM_SELECT_SECTION): New.
12469 * config/m32r/m32r.c (m32r_select_section): Take align argument.
12470 * config/m32r/m32r-protos.h: Update.
12471
12472 * config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
12473 (SELECT_SECTION): Move ...
12474 * config/m88k/m88k.c (m88k_select_section): ... here.
12475
12476 * config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
12477 * config/mcore/mcore.h (UNIQUE_SECTION): Remove.
12478 * config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
12479 (mcore_unique_section): Make static.
12480 * config/mcore/mcore-protos.h: Update.
12481
12482 * config/mips/elf.h (UNIQUE_SECTION): Remove.
12483 (TARGET_ASM_UNIQUE_SECTION): New.
12484 * config/mips/elf64.h: Likewise.
12485 * config/mips/iris6gld.h: Likewise.
12486 * config/mips/linux.h: Likewise.
12487 * config/mips/mips-protos.h: Update.
12488 * config/mips/mips.c (mips_select_section): Add align argument.
12489 * config/mips/mips.h (SELECT_SECTION): Remove.
12490 (TARGET_ASM_SELECT_SECTION): New.
12491
12492 * config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
12493 * config/mmix/mmix.c (mmix_select_section): Remove.
12494 (mmix_unique_section): Remove.
12495 * config/mmix/mmix-protos.h: Update.
12496
12497 * config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
12498 (SELECT_SECTION): Move ...
12499 * config/pa/pa.c (pa_select_section): ... here.
12500 * config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
12501
12502 * config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
12503 from rs6000_select_section and make static.
12504 (rs6000_elf_unique_section): Similarly.
12505 (rs6000_xcoff_select_section): From xcoff.h.
12506 (rs6000_xcoff_unique_section): Likewise.
12507 * config/rs6000/rs6000-protos.h: Update.
12508 * config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
12509 (TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
12510 * config/rs6000/xcoff.h: Likewise.
12511
12512 * config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
12513 (SELECT_SECTION): Move ...
12514 * config/sparc/sparc.c (sparc_aout_select_section): ... here.
12515
12516 * config/v850/v850.h (SELECT_SECTION): Move ...
12517 * config/v850/v850.c (v850_select_section): ... here.
12518 (TARGET_ASM_SELECT_SECTION): New.
12519
12520 * config/vax/vms.h (SELECT_SECTION): Move ...
12521 * config/vax/vax.c (vms_select_section): ... here.
12522 (TARGET_ASM_SELECT_SECTION): New.
12523
12524 * doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
12525 for the target hooks.
12526
eaeb23a7
NC
125272002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
12528
12529 * config/arm/arm.c (emit_multi_reg_push): Do not set
12530 RTX_FRAME_RELATED_P on the SEQUENCE.
12531
a00fe19f
RH
125322002-05-16 Richard Henderson <rth@redhat.com>
12533
12534 * config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
12535 splitting. Use split_all_insns; update_life_info_in_dirty_blocks.
12536
5ccff482
RH
125372002-05-16 Richard Henderson <rth@redhat.com>
12538
12539 * config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
12540
068d7739
RH
12541 * config/ia64/ia64.c (saveable_obstack): Do not declare.
12542
0b17ab2f
RH
125432002-05-16 Richard Henderson <rth@redhat.com>
12544
12545 * basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
12546 cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
12547 conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
12548 gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
12549 local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
12550 recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
12551 reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
12552 sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
12553 Revert "Basic block renumbering removal", and two followup patches.
12554
8ae86b3c
JT
125552002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
12556
12557 * lcm.c (optimize_mode_switching): Revert previous change.
12558
4e9f27af
ZD
125592002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12560
12561 * sched-rgn.c (schedule_insns): Initialize large_region_blocks
12562 with only extant block numbers.
12563
3cdc1dbc
JT
125642002-05-16 Jason Thorpe <thorpej@wasabisystems.com>
12565
12566 * lcm.c (optimize_mode_switching): Fix typo.
12567
fbfb3b09
ZD
125682002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12569
12570 * flow.c (calculate_global_regs_live): Queue blocks in program order.
12571
b4b0fb02
RO
125722002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12573
12574 * doc/install.texi (Configuration): Document PWDCMD.
12575
63b827c5
DJ
125762002-05-16 Dale Johannesen <dalej@apple.com>
12577
12578 * combine.c (cant_combine_insn_p): Reenable combinations
12579 involving hard regs unless CLASS_LIKELY_SPILLED_P.
12580
748d29c1
NB
125812002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
12582
12583 * c-common.c (cb_register_builtins): Handle more built-ins
12584 here rather than in gcc.c specs.
12585 * gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
12586 (cpp_options): Pass -O flags even when only preprocessing.
12587 * toplev.c (set_fast_math_flags): New prototype.
12588 (fast_math_flags_set_p): New.
12589 (set_no_fast_math_flags): Remove.
12590 (decode_f_option): Update.
12591 * toplev.h (set_fast_math_flags): Update.
12592 (fast_math_flags_set_p): New.
12593 (set_no_fast_math_flags): Remove.
12594config:
12595 * c4x/c4x.c (c4x_override_options): Update.
12596
5279d739
ZW
125972002-05-16 Zack Weinberg <zack@codesourcery.com>
12598
12599 * c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
12600 Default-define here.
12601 (builtin_define_with_value): Can now wrap the expansion in
12602 quotation marks if such is wanted.
a00fe19f 12603 (cb_register_builtins): Update calls to builtin_define_with_value.
5279d739
ZW
12604 Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
12605 here.
12606 (c_common_init): Set options->stdc_0_in_system_headers.
12607 * c-lex.h: Update prototype of builtin_define_with_value.
12608 * cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
12609 and REGISTER_PREFIX.
12610
12611 * cppinit.c (VERS, ULP, C, X): Kill.
12612 (builtin_array): Remove entries for __VERSION__,
12613 __USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
12614 __HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
12615 a constant.
12616 (init_builtins): Kill off a bunch of now-dead code.
12617 (COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
12618 -fno-leading-underscore.
12619 (cpp_handle_option): Remove code to set user_label_prefix.
12620 (cpp_post_options): Likewise.
12621
12622 * cpplib.h (struct cpp_options): Remove user_label_prefix.
12623 (stdc_0_in_system_headers): New.
12624 * cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
12625 stdc_0_in_system_headers) too to decide the value of __STDC__.
12626
12627 * tradcpp.c (user_label_prefix): Kill.
a00fe19f 12628 (main): Remove code handling -f(no-)leading-underscore.
5279d739
ZW
12629 (initialize_builtins): Don't define __REGISTER_PREFIX__
12630 or __USER_LABEL_PREFIX__.
12631 (install_value): Wrap compound statement in dummy loop so the
12632 macro works properly in an if statement.
12633
12634
62e6ca55
JJ
126352002-05-16 Janis Johnson <janis187@us.ibm.com>
12636
12637 * loop.h (struct loop_info): Add member has_prefetch.
12638 * loop.c (PREFETCH_CONDITIONAL): Change default to 1.
12639 (prescan_loop): Initialize has_prefetch.
12640 (struct prefetch_info): Change prefetch_in_loop and
12641 prefetch_before_loop from bit fields to ints.
12642 (emit_prefetch_instructions): Several small fixes.
12643 (check_dbra_loop): Don't reverse loop that uses prefetch.
12644
1e6347d8
RO
126452002-05-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12646
12647 * Makefile.in: Allow for PWDCMD to override hardcoded pwd.
12648 * configure.in: Likewise.
12649 * fixinc/check.tpl: Likewise.
12650 * fixinc/fixinc.dgux: Likewise.
12651 * fixinc/fixinc.svr4: Likewise.
12652 * fixinc/fixinc.winnt: Likewise.
12653 * fixinc/fixincl.sh: Likewise.
12654 * fixproto: Likewise.
12655 * configure: Regenerate.
12656
355e4ec4
ZD
126572002-05-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12658
12659 Basic block renumbering removal:
12660 * basic_block.h (struct basic_block_def): Renamed index to sindex,
12661 added prev_bb and next_bb fields.
12662 (n_basic_blocks): Renamed to num_basic_blocks.
12663 (last_basic_block): New, index of last basic block.
12664 (FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
12665 traversing basic block chain.
12666 (BLOCK_NUM): index -> sindex.
12667 (create_basic_block_structure, create_basic_block): Declaration changed.
12668 (debug_num2bb): Declare.
12669 (expunge_block_nocompact): Declaration removed.
12670 (link_block, unlink_block, compact_blocks): Declare.
12671 * bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
12672 * cfg.c (entry_exit_blocks): Initialize new fields.
12673 (clear_edges, alloc_block, expunge_block, cached_make_edge,
12674 redirect_edge_pred, dump_flow_info, dump_edge_info,
12675 alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
12676 free_aux_for_edges): Modified.
12677 (link_block, unlink_block, compact_blocks, debug_num2bb): New.
12678 (expunge_block_nocompact): Removed.
12679 * cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
12680 find_unreachable_blocks, create_edge_list, print_edge_list,
12681 verify_edge_list, flow_edge_list_print, remove_fake_successors,
12682 remove_fake_edges, flow_reverse_top_sort_order_compute,
12683 flow_depth_first_order_compute, flow_preorder_transversal_compute,
12684 flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
12685 flow_dfs_compute_reverse_execute): Modified.
12686 * cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
12687 find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
12688 Modified.
12689 * cfgcleanup.c (try_simplify_condjump, try_forward_edges,
12690 merge_blocks_move_predecessor_nojumps,
12691 merge_blocks_move_successor_nojumps, merge_blocks,
12692 outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
12693 try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
12694 * cfglayout.c (skip_insns_after_block, label_for_bb,
12695 record_effective_endpoints, scope_to_insns_finalize,
12696 fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
12697 fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
12698 cfg_layout_duplicate_bb): Modified.
12699 * cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
12700 flow_loop_entry_edges_find, flow_loop_exit_edges_find,
12701 flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
12702 flow_loops_find, flow_loop_outside_edge_p): Modified.
12703 * cfgrtl.c (create_basic_block_structure, create_basic_block,
12704 flow_delete_block, compute_bb_for_insn, split_block,
12705 try_redirect_by_replacing_jump, redirect_edge_and_branch,
12706 force_nonfallthru_and_redirect, tidy_fallthru_edge,
12707 back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
12708 commit_edge_insertions, commit_edge_insertions_watch_calls,
12709 dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
12710 purge_all_dead_edges): Modified.
12711 * combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
12712 try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
12713 get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
12714 Modified.
12715 * conflict.c (conflict_graph_compute): Modified.
12716 * df.c (FOR_ALL_BBS): Removed.
12717 (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
12718 df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
12719 df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
12720 * df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
12721 * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
12722 calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
12723 * final.c (compute_alignments, final_scan_insn): Modified.
12724 * flow.c (verify_local_live_at_start, update_life_info,
12725 update_life_info_in_dirty_blocks, free_basic_block_vars,
12726 delete_noop_moves, calculate_global_regs_live,
12727 initialize_uninitialized_subregs, allocate_bb_life_data,
12728 regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
12729 mark_used_reg, count_or_remove_death_notes): Modified.
12730 * function.c (thread_prologue_and_epilogue_insns): Modified.
12731 * gcse.c (struct null_pointer_info): Change typo of current_block
12732 to basic_block.
12733 (gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
12734 oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
12735 compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
12736 alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
12737 expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
12738 classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
12739 one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
12740 pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
12741 pre_delete, one_pre_gcse_pass, compute_transpout,
12742 invalidate_nonnull_info, delete_null_pointer_checks_1,
12743 free_code_hoist_mem, compute_code_hoist_vbeinout,
12744 hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
12745 compute_ld_motion_mems, store_ops_ok, find_moveable_store,
12746 compute_store_table, build_store_vectors, insert_insn_start_bb,
12747 insert_store, replace_store_insn, free_store_memory, store_motion):
12748 Modified.
12749 * global.c (global_alloc, global_conflicts, mark_elimination,
12750 build_insn_chain): Modified.
12751 * graph.c (print_rtl_graph_with_bb): Modified.
12752 * haifa-sched.c (sched_init): Modified.
12753 * ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
12754 (find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
12755 if_convert): Modified.
12756 * lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
12757 compute_insert_delete, pre_edge_lcm, compute_available,
12758 compute_farthest, compute_nearerout, compute_rev_insert_delete,
12759 pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
12760 Modified.
12761 * local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
12762 * loop.c (loop_dump_aux): Modified.
12763 * predict.c (combine_predictions_for_insn, estimate_probability,
12764 last_basic_block_p, process_note_prediction, process_note_predictions,
12765 note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
12766 expensive_function_p, estimate_bb_frequencies,
12767 compute_function_frequency): Modified.
12768 * print-rtl.c (print_rtx): Modified.
12769 * profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
12770 get_exec_counts, compute_branch_probabilities, compute_checksum,
12771 branch_prob, find_spanning_tree): Modified.
12772 * recog.c (split_all_insns, peephole2_optimize): Modified.
12773 * reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
12774 convert_regs_1, convert_regs_2, convert_regs): Modified.
12775 * regclass.c (scan_one_insn, regclass): Modified.
12776 * regmove.c (mark_flags_life_zones, regmove_optimize,
12777 combine_stack_adjustments): Modified.
12778 * regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
12779 * reload1.c (reload, reload_combine, copy_eh_notes): Modified.
12780 * reorg.c (dbr_schedule): Modified.
12781 * resource.c (find_basic_block, init_resource_info): Modified.
12782 * sbitmap.c (sbitmap_intersection_of_succs,
12783 sbitmap_intersection_of_preds, sbitmap_union_of_succs,
12784 sbitmap_union_of_preds): Modified.
12785 * sched-deps.c (init_dependency_caches): Modified.
12786 * sched-ebb.c (schedule_ebbs): Modified.
12787 * sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
12788 find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
12789 * sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
12790 * ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
12791 ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
12792 ssa_const_prop): Modified.
12793 * ssa-dce.c (set_control_dependent_block_to_edge_map_,
12794 find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
12795 * ssa.c (remove_phi_alternative, find_evaluations,
12796 compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
12797 insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
12798 make_regs_equivalent_over_bad_edges,
12799 make_equivalent_phi_alternatives_equival,
12800 compute_conservative_reg_partition,
12801 coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
12802 rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
12803 Modified.
12804
5a566bed
MM
128052002-05-16 Mark Mitchell <mark@codesourcery.com>
12806
12807 * cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
12808
48f6efae
NC
128092002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
12810
12811 * config/arm/arm.c (arm_rtx_costs): Check for RTX being a
12812 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
12813 (arm_adjust_cost): Check for RTX being a SYMBOL_REF before
12814 calling CONSTANT_POOL_ADDRESS_P.
12815 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
12816 to decide whether to define __arm__ or __thumb.
355e4ec4 12817 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
48f6efae
NC
12818 SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
12819
b166fadd
NB
128202002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
12821
12822 * config/arc/arc.h (CPP_PREDEFINES): Remove.
12823 (CPP_SPEC): Update.
12824 (TARGET_CPU_CPP_BUILTINS): New.
12825
601328bb
NB
128262002-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
12827
12828 * cpphash.h (cpp_macro): Move here, and make expansion a union.
12829 * cppmacro.c (cpp_macro): Remove.
12830 (enter_macro_context, replace_args, warn_of_redefinition,
12831 _cpp_create_definition, cpp_macro_definition): Update.
12832
ff48be5c
JM
128332002-05-16 Jason Merrill <jason@redhat.com>
12834
12835 * config/mips/mips.c (mips_output_external): Don't do sdata
12836 optimization for a variable with DECL_COMDAT set.
12837
805c42ba
AH
128382002-05-15 Aldy Hernandez <aldyh@redhat.com>
12839
355e4ec4
ZD
12840 * config/rs6000/altivec.h: Cleanups for tighter typechecking.
12841 Cleanups for accepting modifiers on pointers.
12842 Fix predicate typos.
12843 Allow long pointers as well as int pointers.
805c42ba 12844
34fb9ba5
RH
128452002-05-15 Richard Henderson <rth@redhat.com>
12846
12847 * varasm.c (merge_weak): Remove special case for extern and common.
12848
62e118f5
MH
128492002-05-15 Matt Hiller <hiller@redhat.com>
12850
12851 * testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
355e4ec4 12852 XFAILing.
62e118f5
MH
12853 * testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
12854 * testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
12855 * testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
12856 * testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
12857 * testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
12858 * testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
12859
fefac463
AH
128602002-05-15 Aldy Hernandez <aldyh@redhat.com>
12861
355e4ec4 12862 * reload1.c (forget_old_reloads_1): Do not use subreg offset.
fefac463 12863
5f004351
AH
128642002-05-15 Aldy Hernandez <aldyh@redhat.com>
12865
355e4ec4
ZD
12866 * config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
12867 ("altivec_mfvscr"): Read from VSCR.
12868
12869 Add vscr sets for the following insns: altivec_vctuxs,
12870 altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
12871 altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
12872 altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
12873 altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
12874 altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
12875 altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
12876 altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
12877 altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
12878 altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
12879 altivec_vsum2sws, altivec_vsumsws.
12880
12881 * config/rs6000/rs6000.h: Add VSCR fixed register.
12882 (CALL_REALLY_USED_REGISTERS): Add vscr.
12883 (CALL_USED_REGISTERS): Same.
12884 (FIXED_REGISTERS): Same.
12885 (REG_ALLOC_ORDER): Same.
12886 (reg_class): Add VSCR_REGS.
12887 (REG_CLASS_NAMES): Same.
12888 (REG_CLASS_CONTENTS): Same.
12889 (VSCR_REGNO): New.
12890 (REGISTER_NAMES): Add vscr.
12891 (DEBUG_REGISTER_NAMES): Same.
12892 (ADDITIONAL_REGISTER_NAMES): Same.
12893 (FIRST_PSEUDO_REGISTER): Increment.
12894 (CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
5f004351 12895
033afd11
RH
128962002-05-15 Jakub Jelinek <jakub@redhat.com>
12897
12898 * fold-const.c (fold): Fix a typo.
12899
129002002-05-15 Eric Botcazou <ebotcazou@multimania.com>
12901
12902 * fold-const.c (fold) [LT_EXPR]: Move the transformation of a
12903 comparison against the highest or lowest integer value before
12904 the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
12905 transformation and that of an unsigned comparison against 0
12906 right after.
12907
14285ace
RH
129082002-05-15 Richard Henderson <rth@redhat.com>
12909
12910 * varasm.c (merge_weak): Error for any weakening after definition.
12911 Adjust weakening after use warning to catch more cases.
12912 (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
12913 * config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
12914
194734e9
JH
12915Wed May 15 10:38:27 CEST 2002 Jan Hubicka <jh@suse.cz>
12916
12917 * invoke.texi (-malign-double): Re-add lost warning.
12918
12919 * i386-protos.h (x86_output_mi_thunk): Declare.
12920 * unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
12921 * i386.c (x86_output_mi_thunk): ... here; handle 64bits.
12922
12923 * dwarf2out.c (output_call_frame_info): Do not skip unwind info
12924 when flag_asynchronous_unwind_tables is set.
12925
12926 * flags.h (flag_reorder_functions): Declare.
12927 * function.c (prepare_function_start): Initialize frequnecy.
14285ace 12928 * params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
194734e9
JH
12929 * Makefile.in (predict.o): Add dependency on target.h and params.h
12930 * defaults.h (HOT_TEXT_SECTION_NAME,
12931 UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
12932 * predict.c (choose_function_section): New function.
12933 (estimate_bb_frequencies): Use it.
12934 * toplev.c (flag_reorder_functions): New global variable.
12935 (lang_independent_options): New.
12936 (parse_options_and_default_flags): Set.
12937 * varasm.c (assemble_start_function): Bypass functdion alignment
12938 for never executed functions.
12939 * invoke.texi (-freorder-blocks, -freorder-functions): Document.
12940 (param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
12941 * tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
12942 Document.
12943
12944 Thu Jan 3 21:52:09 CET 2002 Jan Hubicka <jh@suse.cz>
12945
12946 * predict.c: Inlude profile.h
12947 (MIN_COUNT): Rename to MIN_COUNT_FRACTION
12948 (maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
12949 Use the information about maximal counter in the program.
12950
12951 Thu Dec 20 22:14:00 CET 2001 Jan Hubicka <jh@suse.cz>
12952
12953 * basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
12954 probably_never_executed_bb_p): New functions.
12955 * cfgcleanup.c (outgoing_edges_match): Use them.
12956 * predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
12957 (maybe_hot_bb_p, probably_cold_bb_p,
12958 probably_never_executed_bb_p): New functions.
12959
12960 * function.h (function): Add new field function_frequency.
12961 * predict.c (compute_function_frequency): New function.
12962 (estimate_probability): Call it.
12963
61ad9a34
JJ
129642002-03-09 Jakub Jelinek <jakub@redhat.com>
12965
12966 PR optimization/5172, optimization/5200
12967 * gcse.c (gcse_main): Disable store_motion.
12968
a11eba95
ZW
129692002-05-14 Zack Weinberg <zack@codesourcery.com>
12970
12971 * c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
12972 (c_common_nodes_and_builtins): Use it.
12973 (builtin_define_with_value): New function.
12974 (cb_register_builtins): Define __SIZE_TYPE__,
12975 __PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
12976 using builtin_define_with_value. Use consistent notation when
12977 defining __GXX_WEAK__.
12978 (WCHAR_TYPE_SIZE): Don't redefine.
12979 (combine_strings): Don't use WCHAR_TYPE_SIZE.
12980
12981 * cppdefault.h: Don't provide defaults for SIZE_TYPE,
12982 PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
12983 * cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
12984 * tradcpp.c (initialize_builtins): Likewise.
12985 * gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
12986
12987 * c-lex.h (builtin_define_with_value): Prototype.
12988 * system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
12989 NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
12990 * doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
12991
12992 * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
12993 config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
12994 config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
12995 config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
12996 config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
12997 config/sparc/linux64.h, config/sparc/netbsd-elf.h,
12998 config/sparc/sol2-bi.h, config/sparc/sparc.h:
12999 Do not define NO_BUILTIN_SIZE_TYPE etc. Remove all references
13000 to __SIZE_TYPE__ etc from all spec strings. When this makes
13001 extra specs empty, delete them.
13002
1c31ecf6
JDA
130032002-05-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
13004
13005 * pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
13006 for PA8000 or generating dwarf2 call frame information.
13007 (output_call): Remove DO_FRAME_NOTES check from return pointer
13008 optimization.
13009 (following_call): Return 0 when scheduling for PA8000 or generating
13010 dwarf2 call frame information. Revise comment.
13011
ac9cfada
NB
130122002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13013
13014config/alpha:
13015 * alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
13016 and __IEEE_FP_INEXACT as appropriate.
13017 (CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
13018 (CPP_SPEC): Remove ieee defines.
13019 * freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
13020
9b690711
RH
130212002-05-14 Richard Henderson <rth@redhat.com>
13022
13023 * config/i386/i386.c (ix86_save_reg): Make regno unsigned.
13024 (ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
13025
e6471be6
NB
130262002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13027
e6471be6
NB
13028 * arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
13029 (CPP_SPEC): Update.
13030 (CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
13031 CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
13032 CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
13033 CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
13034 (EXTRA_SPECS): Update.
13035 * arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
13036 arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
13037 arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
13038 define TARGET_OS_CPP_BUILTINS if necessary.
13039
e5f5feea
NB
130402002-05-14 Neil Booth <neil@daikokuya.demon.co.uk>
13041
13042 * gcc.c (cpp_options): Must pass -m* and -f* options
13043 to the front end even when only preprocessing.
13044 (cc1_options): Remove redundant -lang-c.
13045 * tradcpp.c (main): Ignore -m options.
13046objc:
13047 * lang-specs.h: Similarly.
13048
317638a8
VM
130492002-05-14 Vladimir Makarov <vmakarov@redhat.com>
13050
13051 * genautomata.c (transform_3): Add code for transformation
13052 `(A,B,...)+C -> A+C,B,...'.
13053
4d604303
JH
13054Tue May 14 12:48:22 CEST 2002 Jan Hubicka <jh@suse.cz>
13055
13056 * final.c (end_final): Do not output profile_arcs constructor, when
13057 no functions are instrumented.
13058
b18b06ed
JH
13059Tue May 14 12:38:30 CEST 2002 Jan Hubicka <jh@suse.cz>
13060
13061 * i386.md (testsi to testqi_zext_1 splitter): Fix typo.
13062
a12f97f0
GP
130632002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13064
13065 * doc/install.texi: Remove special markup originally required for
13066 HTML generation with texi2html.
13067
c1ae3eb4
AS
130682002-05-14 Andreas Schwab <schwab@suse.de>
13069
13070 * config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
13071 SELECT_SECTION.
13072 (UNIQUE_SECTION): Define to get small data correctly.
1b18fc2c
AS
13073
13074 * varasm.c (resolve_unique_section): Add third parameter
13075 flag_function_or_data_sections and use it instead of
13076 flag_function_sections.
13077 (assemble_start_function): Pass flag_function_sections.
13078 (asm_emit_uninitialised): Pass flag_data_sections.
13079 (assemble_variable): Likewise.
13080
8ee41eaf
RH
130812002-05-14 Richard Henderson <rth@redhat.com>
13082
13083 * config/i386/i386.md: Use define_constants for unspec numbers.
13084 * config/i386/i386.c: Likewise.
13085
e6471be6
NB
130862002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13087
13088 * doc/contrib.texi: Update my entry.
13089
c297b764
MM
130902002-05-13 Mark Mitchell <mark@codesourcery.com>
13091
13092 * fixinc/inclhack.def (winidss_valist): Limit applicability.
13093 * fixinc/fixincl.x: Regenerated.
13094 * fixinc/tests/base/math.h: Update.
13095 * fixinc/tests/base/testing.h: Likewise.
13096
0b42c8f8
ZW
130972002-05-13 Zack Weinberg <zack@codesourcery.com>
13098
13099 * genattr.c (gen_attr): Don't emit a comma after the last
13100 enumerator.
13101
546c093e
RH
131022002-05-13 Richard Henderson <rth@redhat.com>
13103
13104 * cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
13105 by non-local gotos.
13106 * recog.c (peephole2_optimize): Likewise.
13107
85be8c2d
AP
131082002-05-13 Andris Pavenis <pavenis@lanet.lv>
13109
13110 * cppfiles.c (open_file): Change mode (DJGPP only) of redirected
13111 input to O_BINARY.
13112
765b8f90
JL
131132002-05-13 Jeffrey A Law (law@redhat.com)
13114
fe4b3c79
JL
13115 * flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
13116 Update prototype and callers.
13117 (propagate_one_insn): Stack pointer adjustments kill MEMs on
13118 the mem_set_list which reference the stack pointer, as do
13119 calls to constant functions as they may clobber outgoing
13120 argument space.
13121
16133d00
JL
13122 * i386.c (ia32_multipass_dfa_lookahead): Prototype.
13123
765b8f90
JL
13124 * i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
13125 (ia32_multipass_dfa_lookahead): New function.
13126
63826d5b
NB
131272002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13128
13129 * gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
13130 (translate_options): Remove 'V'.
13131 (process_command): Similarly.
13132doc:
13133 * invoke.texi: Remove documentation of 'V'.
13134
dcb41ced
UW
131352002-05-13 Ulrich Weigand <uweigand@de.ibm.com>
13136
13137 * config/s390/linux.h: Revert 2002-04-22 changes.
13138
8dfea428
SM
131392002-05-13 Scott Marks <SMarks@mobile-mind.com>
13140
13141 * config/fr30/fr30.md: Only allow splits of immediate loads
13142 if the destination is a register.
13143
12a41c22
NB
131442002-05-13 Neil Booth <neil@daikokuya.demon.co.uk>
13145
13146 * Makefile.in (c-common.o, cppinit.o): Update.
13147 * c-common.c: Include except.h.
13148 (cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
13149 Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
13150 * cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
13151 * defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
13152 CPP_PREDEFINES): Handle here.
13153config:
13154 * alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
13155 alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
13156 alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
13157 TARGET_OS_CPP_BUILTINS.
13158 * alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
13159 (CPP_SPEC, EXTRA_SPECS): Update.
13160 (CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
13161 CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
13162 CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
13163 CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
13164 CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
13165doc:
13166 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
13167 (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
13168
5692c7bc
ZW
131692002-05-12 Zack Weinberg <zack@codesourcery.com>
13170
13171 * emit-rtl.c (global_rtl): Update comment.
13172 (const_double_htab, const_double_htab_hash,
13173 const_double_htab_hash, lookup_const_double): New.
13174 (const_int_htab_hash, const_int_htab_eq): Remove const
13175 qualifiers, which cause tons of warnings with RTL checking on.
13176 (gen_rtx_CONST_DOUBLE): Deleted.
13177 (const_double_from_real_value): New function - bears some
13178 resemblance to the former immed_real_const_1.
13179 (immed_double_const): Moved here from varasm.c and
13180 simplified.
13181 (gen_rtx_REG): Make REGNO unsigned to squelch warnings.
13182 (gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
13183 (gen_rtx): Use immed_double_const.
13184 (init_emit_once): Initialize the const_double_htab. Use
13185 REAL_VALUE_FROM_INT where possible. Can now use
13186 CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
13187 * varasm.c (struct varasm_status): Remove x_const_double_chain.
13188 (const_double_chain, immed_real_const, clear_const_double_mem): Delete.
13189 (immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
13190 (init_varasm_status, mark_varasm_status): Don't touch
13191 x_const_double_chain.
13192
13193 * output.h: Delete prototype for clear_const_double_mem.
13194 * real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
13195 '0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
13196 const_double_from_real_value, not immed_real_const_1, and use
13197 it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
13198 CONST_DOUBLE_ATOF.
13199 * rtl.h (CONST_DOUBLE_CHAIN): Kill.
13200 (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
13201 (gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
13202 (gen_rtx_REG): Second arg is unsigned.
13203
13204 * gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
13205 (excluded_rtx): New, return true for CONST_DOUBLE.
13206 (genmacro): Write nothing for excluded codes.
13207 * combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
13208 * expr.c (expand_expr): Likewise.
13209 * ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
13210 CONST_DOUBLE_CHAIN.
13211 * toplev.c (rest_of_compilation): Don't call
13212 clear_const_double_mem.
13213
13214 * config/rs6000/rs6000.c (rs6000_float_const): Delete.
13215 (rs6000_hash_constant): Remove CONST_DOUBLE special case.
13216 (toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
13217 * config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
13218 * config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
13219 * config/dsp16xx/dsp16xx.md, config/mips/mips.md,
13220 config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
13221 * config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
13222
31397a7b
KG
132232002-05-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13224
13225 * mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
13226
1b70d38a
TT
132272002-05-12 Tom Tromey <tromey@redhat.com>
13228
13229 * tree.h (copy_node): Don't mention TREE_PERMANENT.
13230
9a5834ae
ZW
132312002-05-12 Zack Weinberg <zack@codesourcery.com>
13232
13233 * gensupport.c (n_comma_elts): Moved here from genattrtab.c.
13234 (scan_comma_elt): New function. Accepts whitespace in comma lists.
13235 * gensupport.h: Prototype new routines.
13236 * genattr.c (gen_attr): Use scan_comma_elt. Avoid unnecessary
13237 use of printf.
13238 * genattrtab.c (n_comma_elts): Moved to gensupport.c.
13239 (next_comma_elt): Use scan_comma_elt.
13240
13241 * config/i386/i386.md: Use new attribute notation to break up
13242 long lines in define_attr forms.
13243
51286de6
RH
132442002-05-12 Richard Henderson <rth@redhat.com>
13245
13246 * expr.c (compress_float_constant): New.
13247 (emit_move_insn): Use it.
13248 (float_extend_from_mem): New.
13249 (init_expr_once): Initialize it.
13250 * real.c (exact_real_truncate): New.
13251
13252 * config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
13253 dropped into memory; penalize for size.
13254 (RTX_COSTS): FLOAT_EXTEND is free.
13255 * config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
13256 extenddfxf2, extenddftf2): Accept constants and drop them to memory.
13257
6412341e
RH
132582002-05-12 Richard Henderson <rth@redhat.com>
13259
13260 * profile.h (profile_info): Add missing extern to declaration.
13261 * profile.c (profile_info): Define it.
13262
12877f09
JDA
132632002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13264
13265 * pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
13266 used for DImode and TImode.
13267
387f9e32
NB
132682002-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
13269
13270 * cpplex.c (_cpp_lex_direct): When in a directive at EOF
13271 fake a newline.
13272
e1a0f69c
ZW
132732002-05-11 Zack Weinberg <zack@codesourcery.com>
13274
13275 * config/rs6000/rs6000.c (rs6000_default_long_calls,
13276 rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
13277 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
13278 (rs6000_override_options): Handle -m(no-)longcall.
13279 (init_cumulative_args, output_mi_thunk): Check for both
13280 longcall and shortcall attributes on the function.
13281 (rs6000_attribute_table): Add "shortcall".
13282 (rs6000_handle_longcall_attribute): Update comment.
13283 (altivec_expand_unop_builtin, altivec_expand_binop_builtin,
13284 altivec_expand_ternop_builtin): Add default clauses to switches
13285 to silence warnings.
13286
13287 * config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
13288 rs6000_default_long_calls. Define REGISTER_TARGET_PRAGMAS.
13289 (TARGET_OPTIONS): Add longcall and no-longcall.
13290
13291 * config/rs6000/rs6000.md (call_nonlocal_sysv,
13292 call_value_nonlocal_sysv): Split by alternatives. One pair
13293 accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
13294 the call cookie. The other pair accepts only LR/CTR and has
13295 no restriction.
13296
13297 * config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
13298 Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
13299 tmake_file.
13300 * config/rs6000/rs6000-c.c: New file.
13301 * config/rs6000/t-rs6000-c-rule: New file.
13302 * config/rs6000/rs6000-protos.c: Add multiple-include guard.
13303 Prototype rs6000_pragma_longcall.
13304
13305 * doc/extend.texi: Document shortcall attribute.
13306 * doc/invoke.texi: Document -mlongcall, -mno-longcall.
13307
9c64026d
JDA
133082002-05-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13309
13310 * reorg.c (dbr_schedule): Remove unnecessary test.
13311
6c81a490
JH
13312Sat May 11 14:34:35 CEST 2002 Jan Hubicka <jh@suse.cz>
13313
13314 * i386.md (testsi to testqi spliters): New.
13315
13316 2002-01-14 Josef Zlomek <zlomek@matfyz.cz>
13317
13318 cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
13319
13320 Wed Jan 9 2002 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
13321
13322 * basic-block.h: New flag EDGE_CAN_FALLTHRU
13323 * cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
13324 that can be made fallthru.
13325
13326 Mon Nov 12 16:25:53 CET 2001 Jan Hubicka <jh@suse.cz>
13327
13328 * cfglayout.c (cleanup_unconditional_jumps): New static function.
13329 (cfg_layout_initialize): Use it.
4c476cf3 13330
e4447d94
MM
133312002-05-11 Marek Michalkiewicz <marekm@amelek.gda.pl>
13332
13333 * config/avr/avr.c (avr_mcu_types): Update supported devices.
13334 * config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
13335 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
13336
3a538a66
KH
133372002-05-11 Kazu Hirata <kazu@cs.umass.edu>
13338
13339 * dbxout.c: Fix formatting.
13340 * dependence.c: Likewise.
13341 * df.c: Likewise.
13342 * diagnostic.c: Likewise.
13343 * doloop.c: Likewise.
13344 * dominance.c: Likewise.
13345 * doschk.c: Likewise.
13346 * dwarf2asm.c: Likewise.
13347 * dwarf2out.c: Likewise.
13348 * dwarfout.c: Likewise.
13349
2292e8fc
RH
133502002-05-10 Richard Henderson <rth@redhat.com>
13351
13352 * final.c (end_final): Tidy whitespace. Don't honor flag_pack_struct.
13353 Convert integers constants as needed. Replace "nwords" field with
13354 "sizeof_bb".
13355 (final): Save profile data if cfun->arc_profile, not profile_arc_flag.
13356 * function.h: Fix typo in comment.
13357 * libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
13358
dbfb1116
RS
133592002-05-10 Roger Sayle <roger@eyesopen.com>
13360
13361 * fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
13362 into the equivalent (signed char)c > 0.
13363
79a497cd
JJ
133642002-05-10 Janis Johnson <janis187@us.ibm.com>
13365
13366 * loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
13367 (PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
13368 (struct prefetch_info): Fix spelling of member bytes_accessed.
13369 (emit_prefetch_instructions): Make dump messages more regular;
13370 restructure code to add more dump messages; use new macros for
13371 heuristics. (There are no code generation changes in any of this).
13372
6c45cb0d
DM
133732002-05-10 David S. Miller <davem@redhat.com>
13374
7440af14
DM
13375 * rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
13376 (struct rtx_def): Update unchanging flag comment.
13377 * doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
13378 * reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
13379 to be handled to INSN too.
13380 (dbr_schedule): Likewise.
13381 * resource.c (next_insn_no_annul): Likewise.
13382
6c45cb0d
DM
13383 * cse.c (rtx_cost): Remove multiplication by power of 2 special
13384 casing.
13385
29f21e4f
GP
133862002-05-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13387
13388 * doc/install.texi (Specific, *-*-solaris2*): Update passus on
13389 setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
13390 (possibly) work around broken /bin/sh.
13391
e4ba88da
RO
133922002-05-10 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13393
13394 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
13395 . as N64/N32 libgcc_s.so subdirs.
13396
4f4778ee
DM
133972002-05-10 David S. Miller <davem@redhat.com>
13398
13399 * config/sparc/sparc.md: Use define_constants for unspec numbers.
cf40ea15
DM
13400
13401 * rtl.h (struct rtx_def): Document unchanging and in_struct flags
13402 more accurately.
13403 (INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
13404 comment.
13405 (INSN_FROM_TARGET_P): Valid also for CALL_INSN.
13406 * doc/rtl.texi: Document these macros more accurately.
13407 * recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
13408 JUMP_INSNs and CALL_INSNs.
13409 * resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
13410 or INSN_FROM_TARGET_P if the code is appropriate.
13411
1a499b92
MM
134122002-05-10 Marek Michalkiewicz <marekm@amelek.gda.pl>
13413
13414 * config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
13415 before using SYMBOL_REF_FLAG (addr).
13416
13417 * config/avr/avr-protos.h (avr_io_address_p): Declare.
13418 * config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
13419 Make non-static. Update all callers.
13420 * config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
13421 New insns to clear/set/test a single bit in I/O address space.
13422
65212b66
KG
134232002-05-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13424
13425 * rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
13426
3df89291
NB
134272002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13428
13429 * Makefile.in: Update.
13430 * c-common.c (flag_iso, flag_undef, cb_register_builtins,
13431 builtin_define_std): New.
13432 (c_common_init): Register CPP builtins callback.
13433 * c-common.h (flag_iso, flag_undef): New.
13434 * c-decl.c (c_decode_option): Set flag_iso and flag_undef.
13435 * c-lex.c: Don't include target.h.
13436 (cb_register_builtins): Move to c-common.c.
13437 (init_c_lex): Don't register hook here.
13438 * c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
13439 (cpp_define, cpp_assert): Remove.
13440 * gcc.c (cc1_options): Pass -undef to front end.
13441 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
13442 (TARGET_INITIALIZER): Update.
13443 * target.h (struct cpp_reader): Don't predeclare.
13444 (struct gcc_target): Remove cpp builtin hook.
13445 * tree.c (default_register_cpp_builtins): Remove.
13446doc:
13447 * tm.texi: Update.
13448
32fa4565
NB
134492002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13450
13451 * cppexp.c (_cpp_expand_op_stack): Set op_limit.
13452
23357c55
RO
134532002-05-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13454
13455 * config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
13456 (SHLIB_LINK, SHLIB_INSTALL): Adjust.
13457
5aa26af0
JJ
134582002-05-09 Jakub Jelinek <jakub@redhat.com>
13459
13460 * config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
13461 * config/sparc/libgcc-sparc-glibc.ver: New file.
13462 * config/cris/t-linux (SHLIB_MAPFILES): Remove.
13463 * mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
13464
2937267b
JJ
134652002-05-09 Jakub Jelinek <jakub@redhat.com>
13466
13467 PR target/6429
13468 * Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
13469 * mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
13470 shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
13471 base multilibs.
13472 * config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
13473 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
13474 * config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
13475 * config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
13476
086c0f96
RH
134772002-05-09 Richard Henderson <rth@redhat.com>
13478
13479 * config/ia64/ia64.md: Use define_constants for unspec numbers.
13480 * config/ia64/ia64.c: Likewise.
13481
a8b4881f
RS
134822002-05-09 Richard Sandiford <rsandifo@redhat.com>
13483
13484 * config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
13485 (save_restore_insns): Likewise.
13486 (mips_expand_prologue, mips_expand_epilogue): Update callers.
13487 (highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
13488
243e5500 13489Thu May 9 11:50:09 2002 Jeffrey A Law (law@redhat.com)
890d52e8 13490
af2728a4
JL
13491 * athlon.md, k6.md, pentium.md, ppro.md): New files.
13492 * i386.md: Move scheduling information into new files.
13493
890d52e8
JL
13494 * i386.md (type attribute): Add "rotate" for rotate insns.
13495 (rotate insns): Set type to "rotate".
13496 (various attributes and function units): Treat rotate like shift.
13497 (pent_pair attribute): Only rotates by one bit position are
13498 pairable.
13499 (sbb insns): Explicitly set pent_pair attribute on a couple
13500 that were missing it.
13501
f78ec36a
R
13502Thu May 9 18:29:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
13503
13504 * sh.c (sh_builtin_saveregs): If starting with an odd fp register,
13505 make sure that buffer starts on odd word address.
13506 (sh_va_arg): Skip odd fp registers when reading a double precision
13507 value.
13508
ff431459
NB
135092002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13510
13511 * tree.h (preserve_data, object_permanent_p, type_precision):
13512 Remove.
13513
c3bf3e6e
NB
135142002-05-09 Neil Booth <neil@daikokuya.demon.co.uk>
13515
13516 * cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
13517 * cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
13518doc:
13519 * cpp.texi: Update for removal of obsolete features.
13520
02263a8a
JH
13521Thu May 9 07:46:18 2002 Jan Hubicka <jh@suse.cz>
13522 Jeffrey A Law (law@redhat.com)
13523
13524 * i386.c (ia32_use_dfa_pipeline_interface): New function. Use
13525 the DFA interface for Pentium processors.
13526 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
13527 (attr_pent_pair, ix86_pent_find_pair): Remove.
13528 (ix86_sched_reorder_pentium): Remove.
13529 (ix86_sched_reorder): Remove reordering for Pentium.
13530 * i386.md (Pentium scheduling): Rewrite using DFA description.
13531
3e638a90
JH
13532Thu May 9 14:55:39 CEST 2002 Jan Hubicka <jh@suse.cz>
13533
13534 * cfganal.c (can_fallthru): Fix fast path.
13535 * cfgrtl.c (verify_flow_info): Avoid crash on conditionals
13536 with edges to the next block.
13537
b7c9bf28
JH
13538Thu May 9 14:52:45 CEST 2002 Jan Hubicka <jh@suse.cz>
13539 Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
13540
13541 * final.c (end_final): Use C trees to output data structures for profiling.
13542
13543 * Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
5692c7bc
ZW
13544 (profile.o): New dependency profile.h
13545 (final.o): New dependency profile.h
13546 * profile.h: New file. New global structure profile_info.
13547 * final.h (count_edges_instrumented_now): Declare.
13548 (current_function_cfg_checksum): Declare.
13549 (function_list): New structure.
13550 (functions_head, functions_tail): New static variables.
13551 (end_final): Emits more data, removed some -ax stuff.
13552 (final): Stores function names and chcksums.
13553 * gcov-io.h (__write_gcov_string): New function.
13554 (__read_gcov_string): New function.
13555 * gcov.c (read_profile): New function.
13556 (create_program_flow_graph): Uses read_profile instead of reading
b7c9bf28 13557 da_file.
5692c7bc
ZW
13558 (read_files): Removed da_file checking, it's done by read_profile now.
13559 * libgcc2.c (bb_function_info): New structure.
13560 (bb): New field in structure, removed some -ax stuff.
13561 (__bb_exit_func): Changed structure of da_file.
13562 * profile.c (count_edges_instrumented_now): New global variable.
13563 (current_function_cfg_checksum): New global variable.
13564 (max_counter_in_program): New global variable.
13565 (get_exec_counts): New function.
13566 (compute_checksum): New function.
13567 (instrument_edges): Sets count_edges_instrumented_now.
13568 (compute_branch_probabilities): Uses get_exec_counts instead of
b7c9bf28 13569 reading da_file.
5692c7bc
ZW
13570 (branch_prob): Calls compute_checksum and writes extra data to bbg_file.
13571 (init_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 13572 now.
5692c7bc 13573 (end_branch_prob): Removed da_file checking, done in get_exec_counts
b7c9bf28 13574 now.
5692c7bc 13575 * gcov.texi: Updated information about gcov file format.
b7c9bf28 13576
786de7eb
KH
135772002-05-09 Kazu Hirata <kazu@cs.umass.edu>
13578
13579 * sbitmap.c: Fix formatting.
13580 * scan.c: Likewise.
13581 * scan-decls.c: Likewise.
13582 * sched-deps.c: Likewise.
13583 * sched-ebb.c: Likewise.
13584 * sched-rgn.c: Likewise.
13585 * sched-vis.c: Likewise.
13586 * sdbout.c: Likewise.
13587 * sibcall.c: Likewise.
13588 * simplify-rtx.c: Likewise.
13589 * ssa.c: Likewise.
13590 * ssa-ccp.c: Likewise.
13591 * ssa-dce.c: Likewise.
13592 * stmt.c: Likewise.
13593 * stor-layout.c: Likewise.
13594 * stringpool.c: Likewise.
13595
b7764693
DM
135962002-05-09 David S. Miller <davem@redhat.com>
13597
13598 * config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
13599
4e7d5d27
DM
136002002-05-07 David S. Miller <davem@redhat.com>
13601
13602 * config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
13603 * config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
13604 * config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
13605 library implementation clobbers the output before the inputs
13606 are fully consumed, use stack temporary for the output.
13607
f979570e
JT
136082002-05-09 Jason Thorpe <thorpej@wasabisystems.com>
13609
13610 * config/netbsd.h (CPP_SPEC): Remove.
13611 * config/i386/netbsd-elf.h (CPP_SPEC): Define.
13612 * config/i386/netbsd.h (CPP_SPEC): Define.
13613 * config/ns32k/netbsd.h (CPP_SPEC): Define.
13614 * config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
13615 * config/sparc/netbsd.h (CPP_SPEC): Define.
13616 * config/vax/netbsd.h (CPP_SPEC): Define.
13617
a6a2274a
KH
136182002-05-08 Kazu Hirata <kazu@cs.umass.edu>
13619
13620 * read-rtl.c: Fix formatting.
13621 * real.c: Likewise.
13622 * recog.c: Likewise.
13623 * regclass.c: Likewise.
13624 * regmove.c: Likewise.
13625 * reg-stack.c: Likewise.
13626 * reload1.c: Likewise.
13627 * reload.c: Likewise.
13628 * resource.c: Likewise.
13629 * rtlanal.c: Likewise.
13630 * rtl.c: Likewise.
13631 * rtl-error.c: Likewise.
13632
461b48d5
JDA
136332002-05-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
13634
13635 * pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
13636 * pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
13637
95d075ff
BS
136382002-05-08 Bernd Schmidt <bernds@redhat.com>
13639
13640 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
13641 use __SSE2__ macro instead.
13642 * config/i386/xmmintrin.h: Likewise.
13643
2d4cc6a7
JJ
136442002-05-08 Janis Johnson <janis187@us.ibm.com>
13645
13646 * rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
13647 and use it in all invocations of these macros. Clean up comments.
13648 * rtl.c (rtl_check_failed_flag): Add an argument for the name
13649 of the flag access macro whose check failed.
13650 * doc/rtl.texi (Flags): Document additional flag uses.
13651
3f8ffc7c
RS
136522002-05-08 Robert Spier <rspier@pobox.com>
13653 Neil Booth <neil@daikokuya.demon.co.uk>
13654
13655 PR preprocessor/6521
13656 * cppfiles.c (handle_missing_header): Don't do anything
13657 different for <> includes.
13658doc:
13659 * cppopts.texi: Update documentation for -MG.
13660
b9e2d17b
NB
136612002-05-08 Neil Booth <neil@daikokuya.demon.co.uk>
13662
13663 * cpplex.c (cpp_interpret_charconst): Truncate as well as
13664 sign-extend.
13665doc:
13666 * cpp.texi: Clarify multichar charconst valuation.
13667
8d8269fa
MM
136682002-05-08 Mark Mitchell <mark@codesourcery.com>
13669
13670 * doc/invoke.texi: Document -mwindiss option.
13671
29b91443
JM
136722002-05-08 Jason Merrill <jason@redhat.com>
13673
13674 * dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
13675
13676 * dwarf2out.c (gen_type_die): Abort on broken recursion.
13677
13678 PR c++/6381
13679 * dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
13680 REAL_CST.
13681
6c76b950
NC
136822002-05-08 Nick Clifton <nickc@cambridge.redhat.com>
13683
13684 * config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
13685 little-endian multilibs to override arm/thumb multilibs.
a5c76ee6 13686 Do not build hardware floating point multilibs, nor apcs-26
6c76b950
NC
13687 multilibs for the Thumb.
13688
f90bf7ca
MM
136892002-05-08 Mark Mitchell <mark@codesourcery.com>
13690
13691 PR c/6569.
13692 * varasm.c (mark_weak): New function.
13693 (merge_weak): Use it. Do not call declare_weak.
13694 (declare_weak): Use merge_weak.
13695
1e150f2c
JH
13696Wed May 8 13:12:11 CEST 2002 Jan Hubicka <jh@suse.cz>
13697
13698 * cse.c (dead_libcall_p): Update counts.
13699 (delete_trivially_dead_insns): Update call of dead_libcall_p.
13700
969d70ca
JH
13701Wed May 8 11:08:50 CEST 2002 Jan Hubicka <jh@suse.cz>
13702
13703 * cfglayout.c (function_tail_eff_head): Rename to ...
13704 (function_footer): ... this one.
13705 (unlink_insn_chain): New functions.
13706 (label_for_bb): Only call block_label and emit debug message.
13707 (record_effective_endpoints): Actually unlink the headers and footers.
13708 (fixup_reorder_cahin): Re-insert the unlinked sequences.
13709 (cfg_layout_duplicate_bb): Use duplicate_insn_chain.
13710 * cfglayout.h (struct reorder_block_def): New fields footer/header;
13711 remove eff_head/eff_end.
13712 * rtl.h (set_first_insn): Declare.
13713 * emit-rtl.c (set_first_insn): New function.
13714
13715 * cfglayout.c (fixup_reorder_chain): Dump duplicated
13716 (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
13717 cfg_layout_duplicate_bb): New global function.
13718 (duplicate_insn_chain): New static function.
13719 * cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
13720 cfg_layout_duplicate_bb): Declare.
13721 (struct reorder_block_def): Add "original" field.
13722 * emit-rtl.c (emit_copy_of_insn_after): New function.
13723 * rtl.h (emit_copy_of_insn_after): Declare.
13724
13725 * cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
13726 (fixup_reorder_chain): properly handle edges to exit block.
13727
13728Wed May 8 11:10:31 CEST 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13729 Jan Hubicka <jh@suse.cz>
13730
13731 * basic-block.h (note_prediction_to_br_prob): declare.
13732 * c-semantics.c: Inlucde predit.h
13733 (expand_stmt): predict GOTO_STMT as not taken.
13734 * cfgcleanup.c: (delete_unreachable_blocks): Make global.
13735 (cleanup_cfg): Do not free tail_recursion_list.
13736 * cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
13737 (flow_delete_block): Kill predictions past end of basic block.
13738 * output.h (delete_unreachable_blocks): Declare.
13739 * predict.c (predicted_by_p, process_note_predictions,
13740 process_note_prediction, last_block_p): New function.
13741 (estimate_probability): Bypass loop on PRED_CONTINUE;
13742 do not handle noreturn heuristics; kill PRED_RETURN; add
13743 PRED_EARLY_RETURN.
13744 * predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
13745 PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
13746 * predict.h (IS_TAKEN): New constant.
13747 * print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
13748 * rtl.c (NOTE_INSN_PREDICTION): New.
13749 * rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
13750 New macro.
13751 (insn_note): add NOTE_INSN_PREDICTION.
13752 * sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
13753 CFG; free tail_recursion_label_list.
13754 * stmt.c: Include predict.h;
13755 (return_prediction): New.
13756 (expand_value_return): Use it.
13757 * toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
13758
41f8d041
RS
137592002-05-08 Richard Sandiford <rsandifo@redhat.com>
13760
13761 * config/mips/mips.md: Name the unspecs with define_constant.
13762 (*HILO_delay): Rename to 'hilo_delay' (no star).
13763 (reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
13764 (reload_outdi, reload_outsi): Likewise.
13765
9cabb1d8
KH
137662002-05-07 Kazu Hirata <kazu@cs.umass.edu>
13767
13768 * toplev.c: Fix formatting.
13769
4c76f856
JJ
137702002-05-07 Janis Johnson <janis187@us.ibm.com>
13771
13772 * config.in (ENABLE_RTL_FLAG_CHECKING): New.
13773 * configure.in (ac_rtlflag_checking): New.
13774 * doc/install.texi (--enable-checking): Document RTL flag checking.
13775
44a147ad
NB
137762002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
13777
13778 * c-common.c (c_common_init): Set options->unsigned_wchar.
13779 * cppinit.c (cpp_create_reader): Default unsigned_wchar,
13780 group target dependencies.
13781 (init_builtins, cpp_handle_option): Update.
13782 * cpplex.c (cpp_interpret_charconst): Update.
13783 * cpplib.h (struct cpp_options): Add unsigned_wchar, rename
13784 signed_char to unsigned_char, group target dependencies.
13785 * defaults.h (WCHAR_UNSIGNED): Remove.
13786 * system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
13787config:
13788 * freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
13789 i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
13790 i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
13791 i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
13792 sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
13793doc:
13794 * tm.texi: Remove MAX_CHAR_TYPE_SIZE.
13795
cace4f93
MM
137962002-05-07 Mark Mitchell <mark@codesourcery.com>
13797
13798 * fixinc/inclhack.def (windiss_math1): New fix.
13799 (windiss_math2): Likewise.
13800 (windiss_valist): Likewise.
13801 * fixinc/fixincl.x: Regenerated.
13802
e2ff6cee
AJ
138032002-05-07 Andreas Jaeger <aj@suse.de>
13804
13805 * genautomata.c (output_internal_min_issue_delay_func): Add
13806 ATTRIBUTE_UNUSED to avoid warning with empty dfa.
13807 (output_internal_trans_func): Likewise.
13808
bdad4be5
JL
13809Tue May 7 10:06:22 2002 Jeffrey A Law (law@redhat.com)
13810
13811 * pa.c (hppa_profile_hook): Use force_reg to get the address
13812 of the profile hook into an appropriate pseudo register.
13813
a1ffecd9
MM
138142002-05-07 Mark Mitchell <mark@codesourcery.com>
13815
13816 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
13817 (LINK_START_SPEC): Handle it.
13818 (LINK_OS_SPEC): Likewise.
13819 (CPP_SPEC): Likewise.
13820 (STARTFILE_SPEC): Likewise.
13821 (LIB_SPEC): Likewise.
13822 (ENDFILE_SPEC): Likewise. Do not assume crtsavres.o is used on
13823 all platforms.
13824 (CRTSAVRES_DEFAULT_SPEC): New macro.
13825 (LIB_WINDISS_SPEC): New macro.
13826 (CPP_OS_WINDISS_SPEC): Likewise.
13827 (STARTFILE_WINDISS_SPEC): Likewise.
13828 (ENDFILE_WINDISS_SPEC): Likewise.
13829 (LINK_START_WINDISS_SPEC): Likewise.
13830 (LINK_OS_WINDISS_SPEC): Likewise.
13831 * config/rs6000/windiss.h: New file.
e2ff6cee 13832
df966bff
AH
138332002-05-07 Aldy Hernandez <aldyh@redhat.com>
13834
a5c76ee6 13835 * config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
df966bff 13836
db84f1bd
DM
138372002-05-06 David S. Miller <davem@redhat.com>
13838
13839 * config/sparc/sparc.md (shift insns): Do not mask off
13840 second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
13841 take care of it.
13842
818c0c94
RH
138432002-05-06 Richard Henderson <rth@redhat.com>
13844
13845 PR c++/6212
13846 * expr.c (highest_pow2_factor_for_type): New.
13847 (expand_assignment): Use it.
13848
61e0b50f
AH
138492002-05-06 Aldy Hernandez <aldyh@redhat.com>
13850
818c0c94
RH
13851 * config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
13852 unspec_volatile.
13853 ("altivec_mfvscr"): Same.
61e0b50f 13854
5a63e069
JJ
138552002-05-06 Janis Johnson <janis187@us.ibm.com>
13856
13857 * rtl.h (struct rtx_def): Update comments.
13858 (RTL_FLAG_CHECK[12345678]): New. (rtl_check_failed_flag): Declare.
13859 (RTL_FLAG): New. (CLEAR_RTX_FLAGS): New. (flag access macros): Use
13860 RTL_FLAG_CHECK macros with list of expected RTL codes.
13861 * rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
13862 (rtl_check_failed_flag): New.
13863 * reload1.c (reload): Use REG macro before changing rtx to MEM.
13864 (reload_cse_noop_set_p): Check rtx code before using access macro.
13865 * config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
13866 before using access macro.
13867
4afe3952
JJ
138682002-05-06 Janis Johnson <janis187@us.ibm.com>
13869
13870 * doc/rtl.texi (Flags): Update to reflect current usage.
13871
1f77b5da
RS
138722002-05-06 Roger Sayle <roger@eyesopen.com>
13873
13874 PR opt/3995
13875 * fold-const.c (sign_bit_p): New function.
13876 (fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
818c0c94 13877 (A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
1f77b5da
RS
13878 Reapply fold when converting (A & C) == C into (A & C) != 0.
13879 (fold_binary_op_with_conditional_arg): Fix typo in comment.
13880
a5a49440
NB
138812002-05-07 Neil Booth <neil@daikokuya.demon.co.uk>
13882
13883 * c-common.c (warn_multichar): New.
13884 (c_common_init): Set CPP's warn_multichar.
13885 * c-common.h (warn_multichar): New.
13886 * c-decl.c (warn_multichar): Remove.
13887 * c-lex.c (lex_charconst): Update.
13888 * c-tree.h (warn_multichar): Remove.
13889 * cppexp.c (eval_token): Sign-extend charconst value.
13890 * cppinit.c (cpp_create_reader): Set warn_multichar.
13891 * cpplex.c (cpp_interpret_charconst): Don't sign-extend
13892 each character. Update prototype. Sign-extend the result.
13893 * cpplib.h: Fix conditions.
13894 (struct cpp_options): Add new warning flag.
13895 (cpp_interpret_charconst): Update prototype.
13896doc:
13897 * cpp.texi: Update documentation.
13898
83e0be55
VM
138992002-05-06 Vladimir Makarov <vmakarov@redhat.com>
13900
13901 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
13902 Fix typo in usage of allof instead of unit.
13903
688ec718
RH
139042002-05-06 Richard Henderson <rth@redhat.com>
13905
13906 * recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
13907 and any jump or call for IN.
13908
f6536266
BS
139092002-05-06 Bernd Schmidt <bernds@redhat.com>
13910
e2ff6cee 13911 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
f6536266
BS
13912 -msse2.
13913 * config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
e2ff6cee 13914
0316d49b
RS
139152002-05-06 Roger Sayle <roger@eyesopen.com>
13916
13917 * fold-const.c (lshift-double): Cast the high word to an unsigned
13918 HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
13919 (div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
13920 avoid compiler warning. (fold): Remove redundant code from
13921 BIT_AND_EXPR as integer operands are canonicalized to be arg1.
13922
5d50fab3
JL
139232002-05-06 Jeff Law <law@redhat.com>
13924
13925 * pa-protos.h (hppa_fpstore_bypass_p): Declare.
13926 * pa.c (pa_adjust_cost): Remove all true dependency cost
13927 adjustments. Also remove support for non-DFA scheduling.
13928 * pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
13929 to adjust true dependency costs. Update various comments.
13930 (7100lc, 7200, 7300 scheduling): Simplify by combining the
13931 FP ALU & MPY units into a single unit.
13932
a17a104c
CM
139332002-05-06 Catherine Moore <clm@redhat.com>
13934
13935 * config/v850/v850.c (compute_register_save_size): Make sure
818c0c94 13936 to count all of the registers that will be saved.
a17a104c 13937
7799175f
JH
13938Mon May 6 18:03:11 CEST 2002 Jan Hubicka <jh@suse.cz>
13939
13940 * i386.c (q_regs_operand): Use ANY_QI_REGS_P.
13941
0ac941a0
DM
139422002-05-06 David S. Miller <davem@redhat.com>
13943
13944 * config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
13945 allow result to overlap input operands in memory.
13946
95ff5d3f
NB
139472002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
13948
13949doc:
13950 * cpp.texi: Update multichar charconst docs.
13951
639e8b0c
NB
139522002-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
13953
13954 * cpplex.c (cpp_interpret_charconst): Sign-extend each
13955 character. Don't ignore excess characters. Treat
13956 multicharacter character constants as signed.
13957 (cpp_parse_escape): Clarify diagnostic.
13958
84ea5bc1
JJ
139592002-05-05 Jakub Jelinek <jakub@redhat.com>
13960
13961 * config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
13962 use add instead of shift.
13963 (ashldi3_sp64): Likewise.
13964 (ashlsi3_const1, ashldi3_const1): Remove.
13965 * config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
13966 * config/sparc/sparc.c (const1_operand): New.
13967
40cd22f2
JT
139682002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
13969
13970 * config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
13971
cac01076
JJ
139722002-05-05 Jakub Jelinek <jakub@redhat.com>
13973
13974 PR target/6561
13975 * config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
13976
98791e3a
RH
139772002-05-05 Richard Henderson <rth@redhat.com>
13978
13979 * config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
13980 memory latency adjustments.
13981 (alpha_variable_issue): Remove.
13982 (alpha_use_dfa_pipeline_interface): New.
13983 (alpha_multipass_dfa_lookahead): New.
13984 * config/alpha/alpha.md: Remove define_function_unit scheduling;
13985 include new dfa scheduling.
13986 (attr type): Add none.
13987 (blockage): Use it.
13988 * config/alpha/ev4.md: New.
13989 * config/alpha/ev5.md: New.
13990 * config/alpha/ev6.md: New.
13991
309527ce
DM
139922002-05-05 David S. Miller <davem@redhat.com>
13993
13994 * recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
13995
68252e27
KH
139962002-05-05 Kazu Hirata <kazu@cs.umass.edu>
13997
13998 * cse.c: Fix formatting.
13999 * emit-rtl.c: Likewise.
14000
30cc9d00
VM
140012002-05-05 Vladimir Makarov <vmakarov@redhat.com>
14002
14003 * genautomata.c (initiate_states): Add additional guard to
14004 initialize `units_array'.
14005
deb09eff
VM
140062002-05-05 Vladimir Makarov <vmakarov@redhat.com>
14007
14008 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
14009 process_unit_to_form_the_same_automaton_unit_lists,
14010 form_the_same_automaton_unit_lists
14011 check_unit_distributions_to_automata): New prototypes and
14012 functions.
14013 (check_automata): Rename it into `check_automata_insn_issues'.
14014 (unit_decl): New fields `the_same_automaton_unit' and
14015 `the_same_automaton_message_reported_p'.
14016 (unit_decl_t): New typedef.
14017 (the_same_automaton_lists): New gloval variable.
14018 (unit_regexp, unit_set_el, units_array, units_cmp,
14019 output_get_cpu_unit_code_func): Use the typedef.
14020 (evaluate_max_reserv_cycles): Increment
14021 `description->max_insn_reserv_cycles'.
14022 (initiate_states): Don't increment `max_cycles_num'.
14023 (transform_insn_regexps): Move code around transformation of
14024 regexps from `generate'.
14025 (generate): Remove call of `transform_insn_regexps'.
14026 (expand_automata): Call `transform_insn_regexps' and
14027 `check_unit_distributions_to_automata'. Check errors before
14028 `generate'.
14029
14030 * config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
14031 automaton `ultrasparc3_1'.
e2ff6cee 14032
2443d4e1
NB
140332002-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
14034
14035 * c-common.c (c_common_init): Set up CPP arithmetic.
14036 * cppinit.c (cpp_create_reader): Default CPP arithmetic to
14037 something reasonable for the host.
14038 (sanity_checks): Add checks.
14039 (cpp_read_main_file): Call sanity_checks() from here...
14040 (cpp_post_options): ... not here.
14041 * cpplex.c (cpp_interpret_charconst): Get max_chars right.
14042 * cpplib.h (struct cpp_options): New member int_precision.
14043
791a949f
FS
140442002-05-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14045
14046 * doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
14047
091fb516
DM
140482002-05-04 David S. Miller <davem@redhat.com>
14049
f60ebeb7
DM
14050 * config/sparc/linux.h, config/sparc/linux64.h
14051 (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
14052
214c6394
DM
14053 * config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
14054 more RTX codes.
14055 * config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
14056
091fb516
DM
14057 * recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
14058 of SETs.
14059
f2fdc802
TJ
140602002-05-05 Tim Josling <tej@melbpc.org.au>
14061
e2ff6cee 14062 * treelang; New directory for new sample language treelang.
f2fdc802 14063
3d90d290
NB
140642002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14065
14066 * Makefile.in (c-lex.o): Update.
14067 * c-lex.c: Include target.h.
14068 (cb_register_builtins): New.
14069 (init_c_lex): Set builtins callback.
14070 * c-lex.h (cpp_define, cpp_assert): New prototypes.
14071 * cppinit.c (init_builtins): Use callback, including for
14072 GXX_WEAK.
14073 * cpplib.h (struct cpp_callbacks): New member.
14074 * target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
14075 (TARGET_INITIALIZER): Update.
14076 * target.h (struct gcc_target): New hook.
14077 * tree.c (default_register_cpp_builtins): New.
14078 * tree.h (default_register_cpp_builtins): New.
14079doc:
14080 * tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
14081
625458d0
NB
140822002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14083
14084 * cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
14085 (cpp_post_options): Move sanity checks to...
14086 (sanity_checks): New.
14087 * cpplex.c (maybe_read_ucs): Fix prototype.
14088 (parse_string, cpp_parse_escape): Cast for %c format specifier.
14089 * cpplib.h (cppchar_t): Use unsigned long or unsigned long long
14090 if necessary.
14091
916b60b7
BS
140922002-05-04 Bernd Schmidt <bernds@redhat.com>
14093
14094 * config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
14095 builtins. Use V2DI patterns instead of TI for logical operations.
14096 (ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
14097 Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
14098 (ix86_expand_builtins): Change the pattern used for movntdq.
14099 * config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
14100 sse2_nandv2di3): New patterns.
14101 (sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
14102 on operands.
14103 (sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
14104 (cvtdq2pd): Correct mode on operand 1.
14105 (sse2_umulsidi3): Describe without unspec.
14106 (sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
14107 machine modes.
14108 (lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
14109 (ashlv2di3): Likewise, from sse2_ashlv2di3.
14110 (ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
14111 ashlv4si3, ashlv2di3): Use SImode for shift count.
14112 (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
14113 lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
14114 New patterns.
14115 * config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
14116 New typedefs.
14117 (__m128i, __m128d): New macros.
14118 (_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
14119 _mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
14120 _mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
14121 _mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
14122 _mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
e2ff6cee 14123 _mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
916b60b7
BS
14124 _mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
14125 _mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
e2ff6cee 14126 _mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
916b60b7
BS
14127 _mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
14128 _mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
14129 _mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
14130 _mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
14131 _mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
14132 _mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
14133 _mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
14134 _mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
14135 _mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
14136 _mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
14137 _mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
14138 _mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
14139 _mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
14140 _mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
14141 _mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
14142 _mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
14143 _mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
14144 _mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
14145 _mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
14146 _mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
14147 _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
14148 _mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
14149 _mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
14150 _mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
14151 _mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
14152 _mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
14153 _mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
14154 _mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
14155 functions.
e2ff6cee 14156 (_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
916b60b7
BS
14157 _mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
14158
c26fbbca
KH
141592002-05-04 Kazu Hirata <kazu@cs.umass.edu>
14160
14161 * dwarf2out.c: Fix formatting.
14162 * varasm.c: Likewise.
14163
0387639b
DE
141642002-05-04 David Edelsohn <edelsohn@gnu.org>
14165
14166 PR c/6543
14167 * config/rs6000/rs6000.md (sCC pattern and splitter): Remove
14168 clobber and use result as temporary value.
14169
8a28dbcc
JH
14170Sat May 4 13:20:54 CEST 2002 Jan Hubicka <jh@suse.cz>
14171
14172 * expr.c (force_operand): Use expand_simple_* to handle more
14173 cases.
14174
4268e8bb
NB
141752002-05-04 Neil Booth <neil@daikokuya.demon.co.uk>
14176
14177 * c-lex.c (lex_string): Let cpp_parse_escape handles truncation
14178 and sign-extension.
14179 (lex_charconst): Update for change in prototype of
14180 cpp_interpret_charconst. Extend from cppchar_t to HOST_WIDE_INT
14181 appropriately.
14182 * cpphash.h (BITS_PER_CPPCHAR_T): New.
14183 * cppinit.c (cpp_create_reader): Initialize them for no
14184 change in semantics.
14185 (cpp_post_options): Add sanity checks.
14186 * cpplex.c (cpp_parse_escape): Handle precision, sign-extension
14187 and truncation issues. Calculate in type cppchar_t.
14188 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
14189 (cpp_interpret_charconst): Calculate in type cppchar_t. Handle
14190 run-time dependent precision correctly. Return whether the
14191 result is signed or not.
14192 * cpplib.c (dequote_string): Use cppchar_t; update.
14193 * cpplib.h (cppchar_signed_t): New.
14194 struct cpp_options): New precision members.
14195 (cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
ae1a07e0 14196 * cppexp.c (eval_token): Update.
4268e8bb 14197
af54350e
DM
141982002-05-03 David S. Miller <davem@redhat.com>
14199
2ce04b6b
DM
14200 * config/sparc/sparc-protos.h (sparc_rtx_costs): New.
14201 * config/sparc/sparc.c (sparc_rtx_costs): New function
14202 implementing RTX_COSTS and CONST_COSTS.
14203 * config/sparc/sparc.h (CONST_COSTS): Delete.
14204 (RTX_COSTS_CASES): Define.
14205 (RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
14206 the work.
14207
a1d9bd0c
DM
14208 * config/sparc/sparc.md (DFA schedulers): Split out...
14209 * config/sparc/cypress.md, config/sparc/hypersparc.md,
14210 config/sparc/sparclet.md, config/sparc/supersparc.md,
14211 config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
14212
e87bb82e
DM
14213 * config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
14214 checks on it, always defined for Sparc.
14215
af54350e
DM
14216 * config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
14217 Tweak, and add more detailed comments.
14218
935bfb44
ZW
142192002-05-03 Zack Weinberg <zack@codesourcery.com>
14220
14221 * Re-apply patch accidentally reverted with
14222 DFA scheduler merge: remove all rules and variables to slurp
14223 source files out of libiberty and rebuild them with HOST_CC.
14224 ($(HOST_PREFIX_1)varray.o): New rule.
14225 (genattrtab rule): Word wrap.
14226
fa7a0712
JT
142272002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
14228
14229 * config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
14230 (CPP_SUBTARGET_SPEC): Define.
14231 (SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
14232 cpp_subtarget specs.
14233 (CPP_SPEC): Redefine to include %(cpp_subtarget).
14234
14c93978
DM
142352002-05-03 David S. Miller <davem@redhat.com>
14236
14237 * target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
14238 * target.h (struct gcc_target): Delete cycle_display member.
14239
14d118d6
DM
14240 * config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
14241 (rtx_needs_barrier): Delete reference to cycle_display unspec.
14242 (ia64_sched_reorder2): Mention need for cycle display handling
14243 once such notes exist.
935bfb44 14244
b3ae1ccd
RH
142452002-05-03 Richard Henderson <rth@redhat.com>
14246
14247 * real.c (etoasc): Strip most trailing zeros for clarity.
14248 * sched-vis.c: Include real.h.
14249 (print_value): Use REAL_VALUE_TO_DECIMAL as needed.
14250 * Makefile.in (sched-vis.o): Add real.h.
14251
8f39865a
DM
142522002-05-03 David S. Miller <davem@redhat.com>
14253
14254 * haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
14255 no longer needed.
14256
b44140e7
AH
142572002-05-03 Aldy Hernandez <aldyh@redhat.com>
14258
935bfb44
ZW
14259 * config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
14260 when we get an out of range literal.
14261 (altivec_expand_ternop_builtin): Same.
14262 (altivec_expand_unop_builtin): Same.
14263 (altivec_expand_builtin): Same, for dss.
14264 (altivec_expand_builtin): Use trees instead of rtl when
14265 determining literal argument validity.
b44140e7 14266
aaaed752
DM
142672002-05-03 David S. Miller <davem@redhat.com>
14268
14269 Delete cycle display scheduling hook.
14270 * config/ia64/ia64.c (ia64_cycle_display,
14271 TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
14272 (ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
14273 and use emit_insn_before instead of ia64_emit_insn_before.
14274 * config/ia64/ia64.md (unspec usage): Delete cycle display.
14275 (cycle_display): Delete insn pattern.
14276 * config/sparc/sparc.md (unspec usage): Delete cycle display.
14277 (cycle_display): Delete insn pattern.
14278 * config/sparc/sparc.c (sparc_cycle_display,
14279 TARGET_SCHED_CYCLE_DISPLAY): Delete.
14280 * doc/md.texi (cycle_display): Don't mention.
14281 * doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
935bfb44 14282
b37c2614
RH
142832002-05-03 Richard Henderson <rth@redhat.com>
14284
14285 * recog.c (store_data_bypass_p, if_test_bypass_p): New.
14286 * recog.h: Declare them.
14287
14288 * config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
14289 * config/sparc/sparc.md: Use store_data_bypass_p instead.
14290 * config/sparc/sparc-protos.h: Update.
935bfb44 14291
e1c1132e
JT
142922002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
14293
14294 * config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
14295 -D__arch64__. Add -D_LP64.
14296 (CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
14297 from sparc.h.
14298 (CPP_ARCH64_SPEC): Likewise.
14299 (NO_BUILTIN_PTRDIFF_TYPE): Undef.
14300 (NO_BUILTIN_SIZE_TYPE): Undef.
14301
0b2fb0d7
VM
143022002-05-03 Vladimir Makarov <vmakarov@redhat.com>
14303
14304 * genautomata.c (min_issue_delay_pass_states): Change return type
14305 in the prototype.
14306 (min_issue_delay_pass_states): Change the algorithm.
14307 (min_issue_delay): Set up min_insn_issue_delay for the state.
14308 (output_min_issue_delay_table): Interchange the nested loops and
14309 and initiate min_insn_issue_delay for states.
935bfb44 14310
3d4ce12a
JH
14311Fri May 3 22:59:15 CEST 2002 Jan Hubicka <jh@suse.cz>
14312
14313 * cfgcleanup.c (try_optimize_cfg): Call merge_block only when
14314 jump is simplejump.
14315
14316Fri May 3 22:53:37 CEST 2002 Jan Hubicka <jh@suse.cz>
37ad04a5
JH
14317
14318 * i386.c (expand_movstr, expand_clrstr): Fix inline-all-stringops
14319 sequence.
14320
b5482208
RH
143212002-05-03 Richard Henderson <rth@redhat.com>
14322
14323 PR opt/6534
14324 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
14325 noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
14326 noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
14327 code before JUMP, not EARLIEST.
14328
5a3085c5
JM
143292002-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
14330
14331 * c-format.c (check_format_info_main): Don't check for presence of
14332 parameter for * width until after operand number has been read,
14333 and only check for it if format parameters are available.
14334 Fixes PR c/6547.
14335
40039424
JT
143362002-05-03 Jason Thorpe <thorpej@wasabisystems.com>
14337
14338 * config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
14339 (LINK_SPEC): Undef before defining.
14340
8157303b
JJ
143412002-05-03 Jakub Jelinek <jakub@redhat.com>
14342
14343 PR preprocessor/6489
14344 * tradcpp.c (fixup_newlines): New.
14345 (main, finclude): Use it.
14346
66319f5c
RS
143472002-05-03 Richard Sandiford <rsandifo@redhat.com>
14348
14349 * config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
14350 * config/mips/mips.c (mips_unique_section): Strip encoding from
14351 decl name.
14352
ce8076ad
JJ
143532002-05-03 Jakub Jelinek <jakub@redhat.com>
14354
14355 * config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
14356 mode.
14357
975c6e4e
RO
143582002-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14359
14360 * doc/install.texi (Installing): Mention GCC 3.1 buildstats.
14361 (Specific): Removed buildstats references.
14362 (Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
14363 (Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
14364 Accomodate Solaris versions beyond 8.
14365 (Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
14366 (Specific, *-*-solaris2.8): Removed, obsolete.
14367
d70e94ec
JJ
143682002-05-03 Jakub Jelinek <jakub@redhat.com>
14369
14370 PR target/6542
14371 * config/sparc/sparc.h (leaf_reg_remap): Remove const.
14372 (CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
14373 fill leaf_reg_remap with identity.
14374 * config/sparc/sparc.c (leaf_reg_remap): Remove const.
14375
6b148bd9
KH
143762002-05-03 Kazu Hirata <kazu@cs.umass.edu>
14377
14378 * config/h8300/crti.asm: Remove trailing spaces.
14379 * config/h8300/h8300.c: Likewise.
14380 * config/h8300/lib1funcs.asm: Likewise.
14381
609688f3
JM
143822002-05-02 Jason Merrill <jason@redhat.com>
14383
14384 * defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
14385 * c-decl.c (c_init_decl_processing): Use it.
14386 * config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
14387 * config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
14388 * config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
14389
3b03c671
KH
143902002-05-03 Kazu Hirata <kazu@cs.umass.edu>
14391
14392 * regrename.c: Fix formatting.
14393 * tree.c: Likewise.
14394
3b4961bd
JH
14395Fri May 3 13:34:43 CEST 2002 Jan Hubicka <jh@suse.cz>
14396
14397 * i386.md (attribute memory): Handle compares properly.
14398
19cba4a0
JH
14399Fri May 3 10:51:38 CEST 2002 Jan Hubicka <jh@suse.cz>
14400
3b4961bd 14401 * i386.md (sse_clrsf, sse_clrsi): Set memory attribute
19cba4a0
JH
14402 to none.
14403
797a6ac1
KH
144042002-05-02 Kazu Hirata <kazu@cs.umass.edu>
14405
14406 * function.c: Fix formatting.
14407
6d0de005
JH
144082002-05-02 Jan Hubicka <jh@suse.cz>
14409
14410 * haifa-sched.c (schedule_insn): Print table of instructions and
14411 reservations.
14412 (sched_block): Do not print ready list at verbosity level 1.
14413 * sched-vis.c (print_insn): Make global.
14414 * sched-ebb.c (ebb_print_insn): Rename from...
14415 (print_insn): ... this one.
14416 * sched-int.h (print_insn): Declare
14417
0bfb9a69
RH
144182002-05-02 Richard Henderson <rth@redhat.com>
14419
14420 * haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
14421 emitted by cycle_display.
14422
6b976d99
LR
144232002-05-02 Loren J. Rittle <ljrittle@acm.org>
14424
14425 * doc/install.texi (*-*-freebsd*): Update to latest status.
14426
0a295052
JJ
144272002-05-02 Jakub Jelinek <jakub@redhat.com>
14428
14429 PR target/6540
14430 * config.gcc (sparc*-*-solaris2*): Set float_format to i128.
14431 * config/float-sparc.h: Assume 128-bit long double if
14432 __LONG_DOUBLE_128__ is defined.
14433
842d5d6c
VM
144342002-05-02 Vladimir Makarov <vmakarov@redhat.com>
14435
14436 * genattrtab.c (write_function_unit_info): Add a dummy element
14437 when num_units == 0.
14438
3d7a6309
HB
144392002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
14440
14441 * predict.c: (propagate_freq, estimate_bb_frequencies): Use
14442 TYPE_MODE (double_type_node) instead of DFmode.
14443
1b6763cf
JH
14444Thu May 2 19:50:04 CEST 2002 Jan Hubicka <jh@suse.cz>
14445
14446 * cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
14447 jumps post reload.
14448 * toplev.c (rest_of_compilation): Revert Richard's patch.
14449
b303008e
JDA
144502001-05-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
14451
14452 * pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
14453
6ed7412a
CM
144542002-05-02 Catherine Moore <clm@redhat.com>
14455
14456 * config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
14457
e0a2f705
KH
144582002-05-02 Kazu Hirata <kazu@hxi.com>
14459
b32d6163 14460 * combine.c: Fix comment typos.
e0a2f705
KH
14461 * expr.c: Likewise.
14462 * genautomata.c: Likewise.
14463 * stmt.c: Likewise.
14464 * tree.h: Likewise.
14465
38e23049
JM
144662002-05-02 Joseph S. Myers <jsm28@cam.ac.uk>
14467
14468 * doc/install.texi: State GNAT version requirements.
14469
40f4a97d
NC
144702002-05-02 Nick Clifton <nickc@cambridge.redhat.com>
14471
14472 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
14473 of the frame pointer or arg pointer register which strict register
14474 checking is not enabled.
14475
0d6d6892
AH
144762002-05-02 Aldy Hernandez <aldyh@redhat.com>
14477
b5482208 14478 * gcc.dg/altivec-8.c: New.
0d6d6892 14479
b5482208
RH
14480 * config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
14481 PRE_INC and PRE_DEC for altivec modes.
0d6d6892 14482
abaa8559
BK
144832002-05-01 Bruce Korb <bkorb@gnu.org>
14484
14485 * fixinc/check.tpl(set-writable): make sure the function exists first
14486 * fixinc/inclhack.def(alpha_assert): fix test_text
14487 * fixinc/tests/base/assert.h: add in missing result
14488
ecab2143
JL
144892002-05-01 Jeff Law <law@redhat.com>
14490
14491 * pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
14492 'T' constraint.
14493
ea619b46
JB
144942002-05-01 Joel Brobecker <brobecker@gnat.com>
14495
14496 * dbxout.c (dbxout_type): Emit size information for range types,
14497 as well, but only when using GDB extensions.
14498
c72931a6
RH
144992002-05-01 Richard Henderson <rth@redhat.com>
14500
14501 * configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
14502 target-independent gnu binutils date test.
14503
2150ad33
RH
145042002-05-01 Richard Henderson <rth@redhat.com>
14505
14506 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
14507 info before expunging the block.
14508
1651cc96
JJ
145092002-05-01 Jakub Jelinek <jakub@redhat.com>
14510
14511 * cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
14512 (cpp_post_options): ...but here. Disable -dD, -dN and -dI when
14513 -M -or -MM is in effect.
14514
8998d5bf
ZW
145152002-05-01 Zack Weinberg <zack@codesourcery.com>
14516
14517 * config.gcc: Correct test of --enable-obsolete. Obsolete all
14518 A29k configurations.
14519 * doc/install.texi: Update to match.
14520
a81eed10
FS
145212002-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14522
14523 PR bootstrap/6514
14524 * varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
14525 for duplicates. Always loop over whole list.
14526
8d53318f
RK
14527Wed May 1 10:32:37 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14528
14529 * reload.c (find_reloads, case 'p'): Set BADOP to 0.
14530
4109b118
JS
145312002-05-01 Joel Sherrill <joel@OARcorp.com>
14532
14533 * config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
14534 support routines.
14535
c4a9c570
JS
145362002-05-01 Joel Sherrill <joel@OARcorp.com>
14537
14538 * config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
14539
ea112fc4
DE
145402002-05-01 David Edelsohn <edelsohn@gnu.org>
14541
14542 * rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
14543 (nabs_nopower): Same.
14544 (floatdisf2): New pattern.
14545 (absdi2): Convert to define_insn_and_split.
14546 (nabsdi2): Same.
14547 (trunctfsf2): Same.
14548 (floatditf2): Same.
14549 (floatsitf2): Same.
14550 (fix_trunctfdi2): Same.
14551 (fix_trunctfsi2): Same.
14552
dda78254
JM
145532002-05-01 Joseph S. Myers <jsm28@cam.ac.uk>
14554
14555 * doc/install.texi: Update Texinfo version requirement
14556 documentation.
14557
26aeede4
JJ
145582002-05-01 Jakub Jelinek <jakub@redhat.com>
14559
14560 PR target/6512, PR target/5628
14561 * config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
14562 when memory is not aligned.
14563 (movdf_insn_v9only_vis): Likewise.
14564 * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
14565 temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
14566 (SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
14567
9b7bc465
AH
145682002-05-01 Aldy Hernandez <aldyh@redhat.com>
14569
8998d5bf 14570 * gcc.dg/altivec-7.c: New.
9b7bc465 14571
8998d5bf 14572 * config/rs6000/altivec.h: Cleanup.
9b7bc465 14573
08b57fb3
AH
145742002-04-30 Aldy Hernandez <aldyh@redhat.com>
14575
8998d5bf
ZW
14576 * doc/invoke.texi (Option Summary): Add -mvrsave=.
14577 (RS/6000 and PowerPC Options): Document -mvrsave=.
08b57fb3 14578
8998d5bf
ZW
14579 * config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
14580 (rs6000_altivec_vrsave_string): Same.
14581 (rs6000_override_options): Call rs6000_parse_vrsave_option.
14582 (rs6000_parse_vrsave_option): New.
14583 (rs6000_stack_info): Only generate vrsave instructions when
14584 TARGET_ALTIVEC_VRSAVE.
08b57fb3 14585
8998d5bf
ZW
14586 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
14587 (rs6000_altivec_vrsave_string): Define extern.
14588 (rs6000_altivec_vrsave): Same.
14589 (TARGET_ALTIVEC_VRSAVE): New.
08b57fb3 14590
8e8c38cd
RH
145912002-04-30 Richard Henderson <rth@redhat.com>
14592
14593 PR opt/6516
14594 * toplev.c (rest_of_compilation): Don't run cross-jump before
14595 bb-reorder.
14596
4be9e9cb
TR
145972002-04-30 Tom Rix <trix@redhat.com>
14598
8998d5bf 14599 * regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
4be9e9cb
TR
14600 check which_alternative.
14601
1eeeb6a4
KH
146022002-04-30 Kazu Hirata <kazu@hxi.com>
14603
14604 * cpplex.c: Fix comment formatting.
14605 * function.c: Likewise.
14606 * integrate.c: Likewise.
14607 * regrename.c: Likewise.
14608 * sibcall.c: Likewise.
14609 * simplify-rtx.c: Likewise.
14610 * tree-inline.c: Likewise.
14611
ed9d6ff9
JDA
146122002-04-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
14613
14614 * config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
14615 hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
14616 hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
14617 hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
14618 * pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
14619 * pa/x-ada: New file. Define ADA_CFLAGS.
14620
1f2641b6
HPN
146212002-04-30 Hans-Peter Nilsson <hp@bitrange.com>
14622
14623 * config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
14624 from MMIX_LAST_REGISTER_FILE_REGNUM.
14625 (NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
14626 (struct machine_function): New member highest_saved_stack_register
14627 previously static variable in mmix.c.
14628 (MACHINE_DEPENDENT_REORG): Define.
14629 * config/mmix/mmix.c (highest_saved_stack_register): Deleted.
14630 (MMIX_OUTPUT_REGNO): New.
14631 (mmix_target_asm_function_prologue): Move calculation of last used
14632 saved-stack-register into...
14633 (mmix_machine_dependent_reorg): New function. Update to also handle
14634 !TARGET_ABI_GNU.
14635 (mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
14636 register names, simplify somewhat by new variable regno.
14637 <case 'p'>: Remove fixed FIXME. Always emit highest used saved
14638 register.
14639 (mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
14640 emitting register names.
14641 (mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
14642 (mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
14643 Remove fixed FIXME.
14644 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
14645 Declare.
14646
14647 * config/mmix/mmix.md ("divmoddi4"): Update head comment.
14648
73985940
RH
146492002-04-30 Richard Henderson <rth@redhat.com>
14650
14651 * config/sparc/sparc.c (emit_soft_tfmode_libcall,
14652 emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
14653 emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
14654 emit_tfmode_cvt): New.
14655 * config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
14656 trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
14657 fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
14658 addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
14659 * config/sparc/sparc-protos.h: Update.
14660
2b46bc67
JJ
146612002-04-30 Janis Johnson <janis187@us.ibm.com>
14662
14663 * install.texi (Final install): Add to the list of info to include
14664 in a report of a successful bootstrap, and add link to 3.1 list.
14665
3d34cd91
JH
14666Tue Apr 30 19:15:36 CEST 2002 Jan Hubicka <jh@suse.cz>
14667
14668 * i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
14669 (mode): Add vector modes
14670 (i387): Kill attribute.
14671 (unit): New attribute.
14672 (length_immediate): Grok new types.
14673 (prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
14674 (modrm): Use "unit".
14675 (memory): Handle MMX/SSE properly.
14676 (scheduling descriptions): Kill uses of fop1.
14677 (sse, mmx, fp patterns): Set type and mode properly.
14678
243e5500 14679Tue Apr 30 09:31:59 2002 Jeffrey A Law (law@redhat.com)
3193c415 14680
30482eb0
JL
14681 * pa.c (override_options): Default to PA8000 scheduling.
14682 * doc/invoke.texi (HP-PA options): Mention newly added 7300
14683 scheduling parameter.
14684
3193c415
JL
14685 * pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
14686 handling of double precision multiplies.
14687
14688 * pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
14689 fpdiv and fpsqrt instructions.
14690 (7200 & 7300 scheduling): Fix typo in handling of
14691 store-load and store-store penalties.
14692
c0a34cb7
GP
146932002-04-30 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14694
14695 * doc/contrib.texi (Contributors): Use MIPS instead of Mips and
14696 mips. Add two missing commas.
14697
8bce0628
PC
146982002-04-30 Paolo Carlini <pcarlini@unitus.it>
14699
14700 * doc/contrib.texi (Contributors): Update Paolo Carlini's
14701 and Benjamin Kosnik's entries.
14702
84643cbf
DM
147032002-04-29 David S. Miller <davem@redhat.com>
14704
14705 * config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
14706 SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
14707 * config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
14708 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
14709
da6886f6
FS
147102002-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
14711
14712 * combine.c (find_split_point): Use gen_int_mode.
14713
fae15c93
VM
147142002-04-29 Vladimir Makarov <vmakarov@redhat.com>
14715
14716 Merging code from dfa-branch:
8998d5bf 14717
fae15c93
VM
14718 2002-04-24 Vladimir Makarov <vmakarov@redhat.com>
14719
14720 * genautomata.c (output_reserv_sets): Fix typo.
14721
14722 2002-04-23 Vladimir Makarov <vmakarov@redhat.com>
14723
14724 * genautomata.c (output_reserv_sets): Remove
14725 next_cycle_output_flag.
14726
14727 Thu Apr 18 08:57:06 2002 Jeffrey A Law (law@redhat.com)
14728
8998d5bf
ZW
14729 * sched-rgn.c (init_ready_list): Make the DFA code handle
14730 USE/CLOBBER insns in the same way as the traditional
14731 scheduler.
14732 (new_ready): Similarly..
fae15c93
VM
14733
14734 2002-04-17 Vladimir Makarov <vmakarov@redhat.com>
14735
14736 * haifa-sched.c (schedule_block): Change the DFA state only after
14737 issuing insn.
14738
14739 Wed Apr 17 15:38:36 2002 Jeffrey A Law (law@redhat.com)
14740
14741 * pa.c (hppa_use_dfa_pipeline_interface): New function.
14742 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
14743 (override_options): Add PA7300 scheduling support.
14744 (pa_adjust_cost): Update various comments. Properly
14745 handle anti and output dependencies when using the
14746 DFA scheduler.
14747 (pa_issue_rate): Add PA7300 scheduling support.
14748 (pa_can_combine_p): Call extract_insn before calling
14749 constrain_operands (taken from mainline tree).
14750 * pa.h (enum processor_type): Add PROCESSOR_PA7300.
14751 * pa.md (cpu attr): Add 7300. Rewrite pipeline
14752 descriptions using DFA descriptions. Add PA7300
14753 scheduling support.
14754
14755 2002-03-30 David S. Miller <davem@redhat.com>
14756
14757 Add UltraSPARC-III DFA scheduling support.
14758 * config/sparc/sparc.md (define_attr type): Add fpcrmove.
14759 Update FP conditional move on register insn patterns to use it, as
14760 appropriate.
14761 (define_attr cpu): Add ultrasparc3.
14762 (define_attr us3load_type): New, update integer load patterns to
14763 set it, as appropriate.
14764 (define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
14765 (rest): Add UltraSPARC3 scheduling description.
14766 * config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
14767 (PROCESSOR_ULTRASPARC3): New.
14768 ({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
14769 ({ASM,CPP}_CPU_SPEC): Likewise.
14770 (REGISTER_MOVE_COST): Likewise.
14771 (RTX_COSTS): Likewise.
14772 * config/sparc/sparc.c (sparc_override_options,
14773 sparc_initialize_trampoline, sparc64_initialize_trampoline,
14774 sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
14775 sparc_issue_rate): Likewise.
14776 * config/sparc/sol2.h: Likewise.
14777 * config/sparc/sol2-sld-64.h: Likewise.
14778 * config/sparc/linux64.h: Likewise.
8998d5bf 14779
fae15c93
VM
14780 2002-03-22 Vladimir Makarov <vmakarov@redhat.com>
14781
14782 * doc/md.texi: Add comments about usage the latency time for the
14783 different dependencies and about case when two or more conditions
14784 in different define_insn_reservations returns TRUE for an insn.
14785
14786 * doc/md.texi: Add reference for automaton based pipeline
14787 description.
8998d5bf 14788
fae15c93
VM
14789 2002-03-04 Vladimir Makarov <vmakarov@redhat.com>
14790
14791 * doc/passes.texi: Add missed information about genattrtab.
14792
14793 2002-03-01 Vladimir Makarov <vmakarov@redhat.com>
14794
14795 * genautomata.c (output_automata_list_transition_code): Check
14796 automata_list on NULL.
14797
14798 2002-02-28 Vladimir Makarov <vmakarov@redhat.com>
14799
14800 * genautomata.c (output_insn_code_cases,
14801 output_automata_list_min_issue_delay_code,
14802 output_automata_list_transition_code,
14803 output_automata_list_state_alts_code): Comment the functions.
14804
14805 2002-02-22 Vladimir Makarov <vmakarov@redhat.com>
14806
14807 * genautomata.c (automata_list_el_t): New typedef.
14808 (get_free_automata_list_el,free_automata_list_el,
14809 free_automata_list, automata_list_hash, automata_list_eq_p,
14810 initiate_automata_lists, automata_list_start, automata_list_add,
14811 automata_list_finish, finish_automata_lists,
14812 output_insn_code_cases, output_automata_list_min_issue_delay_code,
14813 output_automata_list_transition_code,
14814 output_automata_list_state_alts_code, add_automaton_state,
14815 form_important_insn_automata_lists): New functions and prototypes.
14816 (insn_reserv_decl): Add members important_automata_list and
14817 processed_p.
14818 (ainsn): Add members important_p.
14819 (automata_list_el): New structure.
14820 (first_free_automata_list_el, current_automata_list,
14821 automata_list_table): New global variables.
14822 (create_ainsns): Initiate member important_p.
14823 (output_internal_min_issue_delay_func): Generate the switch and
14824 call output_insn_code_cases.
14825 (output_internal_trans_func, output_internal_state_alts_func):
14826 Ditto.
14827 (generate): Call initiate_automata_lists.
14828 (automaton_states): New global variable.
14829 (expand_automata): Call form_important_insn_automata_lists.
14830 (write_automata): Call finish_automata_lists.
8998d5bf 14831
fae15c93
VM
14832 2002-02-21 Vladimir Makarov <vmakarov@redhat.com>
14833
14834 * genautomata.c (add_excls, add_presence_absence): Check that
8998d5bf 14835 cpu units in the sets belong the same automaton.
fae15c93
VM
14836
14837 * rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
14838 about that cpu units in the sets belong the same automaton.
14839
14840 * doc/md.texi: Ditto.
8998d5bf 14841
2799d721
VM
14842 2001-12-20 Naveen Sharma <naveens@noida.hcltech.com>
14843 Nitin Gupta <niting@noida.hcltech.com>
8998d5bf 14844
fae15c93
VM
14845 * config/sh/sh.c (sh_use_dfa_interface): New function.
14846
14847 (sh_issue_rate): New Function.
14848 TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
14849 TARGET_SCHED_ISSUE_RATE: define.
14850
14851 * config/sh/sh.md: Add DFA based pipeline description for SH4.
14852
8998d5bf
ZW
14853 (define_attr insn_class): New attribute used for DFA
14854 scheduling.
fae15c93
VM
14855 (define_insn cmpgtsi_t): Set attribute insn_class mt_group.
14856 (cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
14857 cmpeqdi_t): Likewise.
14858
14859 (add,addc1,addsi3,subc,subc1,*subsi3_internal,
8998d5bf 14860 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
fae15c93
VM
14861 ex_group.
14862 (iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
8998d5bf 14863
fae15c93
VM
14864 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
14865
14866 * haifa-sched.c (queue_to_ready): Remove unnecessary condition for
14867 break.
14868
14869 2001-10-03 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
14870
14871 * genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
14872 (output_dfa_insn_code_func): Expand dfa_insn_codes if it is
14873 necessary.
14874 (output_dfa_start_func): Initiate new variable insn_codes_length,
14875 (write_automata): Output definition of the new variable.
8998d5bf 14876
fae15c93
VM
14877 2001-10-02 David S. Miller <davem@redhat.com>
14878
14879 * haifa-sched.c (advance_one_cycle): New function.
14880 (schedule_block): Use it.
14881 (queue_to_ready): Use it, and also make sure to advance the DFA
14882 state on all stall cycles, not just those where insn_queue links
14883 are found.
14884
14885 2001-10-02 Richard Sandiford <rsandifo@redhat.com>
14886
14887 * haifa-sched.c (max_issue): Remove last_p argument. Only return
14888 non-zero if the highest-priority instruction could be scheduled.
14889 (choose_ready): Remove last argument from max_issue call.
14890
14891 2001-09-28 David S. Miller <davem@redhat.com>
14892
14893 * config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
14894 ultrasparc and 3 for other multi-issue sparcs.
14895
14896 2001-09-27 David S. Miller <davem@redhat.com>
14897
14898 * config/sparc/sparc.md (cycle_display): New pattern.
14899 * config/sparc/sparc.c (sparc_cycle_display): New.
14900 (TARGET_SCHED_CYCLE_DISPLAY): Set it.
14901
14902 2001-09-25 David S. Miller <davem@redhat.com>
14903
14904 Convert all of Sparc scheduling to DFA
14905 * config/sparc/sparc.md: Kill all define_function_unit
14906 directives and replace with DFA equivalent.
14907 * config/sparc/sparc.c (ultrasparc_adjust_cost,
14908 mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
14909 ultra_fpmode_conflict_exists, ultra_find_type,
14910 ultra_build_types_avail, ultra_flush_pipeline,
14911 ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
14912 ultrasparc_variable_issue, ultrasparc_sched_init,
14913 sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
14914 ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
14915 ultra_cur_hist, ultra_cycles_elapsed): Kill.
14916 (sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
14917 ultrasparc_store_bypass_p): New.
14918 * config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
14919 Declare.
14920
14921 2001-09-24 David S. Miller <davem@redhat.com>
14922
14923 * haifa-sched.c (ready_remove): Fix thinko, we want to copy around
14924 ready->vec[foo] not ready[foo].
14925
14926 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
14927
14928 * doc/md.texi: Correct examples for define_insn_reservations
14929 `mult' and `div'.
14930
14931 2001-09-07 Vladimir Makarov <vmakarov@redhat.com>
14932
14933 * genautomata.c (create_automata): Print message about creation of
14934 each automaton.
14935 (generate): Remove printing meease about creation of
14936 automata.
14937
14938 2001-09-05 David S. Miller <davem@redhat.com>
14939
14940 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
14941 * config/sparc/linux64.h: Likewise.
14942
14943 2001-08-31 Vladimir Makarov <vmakarov@redhat.com>
14944
14945 * haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
14946 schedule_block, sched_init, sched_finish): Add missed calls of
14947 use_dfa_pipeline_interface.
14948
14949 * sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
14950 Ditto.
14951
14952 * sched-vis.c (get_visual_tbl_length): Ditto.
8998d5bf 14953
fae15c93
VM
14954 2001-08-27 Richard Henderson <rth@redhat.com>
14955
14956 * genattr.c (main): Emit state_t even when not doing scheduling.
14957
14958 2001-08-27 Richard Henderson <rth@redhat.com>
14959
14960 * genautomata.c (expand_automata): Always create a description.
14961
14962 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
14963
8998d5bf 14964 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
fae15c93
VM
14965 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
14966 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
14967 RTL constructions.
14968
14969 * genattr.c (main): New variable num_insn_reservations. Increase
14970 it if there is DEFINE_INSN_RESERVATION. Output automaton based
14971 pipeline hazard recognizer interface.
14972
14973 * genattrtab.h: New file.
14974
14975 * genattrtab.c: Include genattrtab.h.
14976 (attr_printf, check_attr_test, make_internal_attr,
14977 make_numeric_value): Move protypes into genattrtab.h. Define them
14978 as external.
14979 (num_dfa_decls): New global variable.
14980 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
14981 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
14982 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
14983 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
14984
14985 * genautomata.c: New file.
14986
14987 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
14988
8998d5bf 14989 * sched-int.h: (curr_state): Add the external definition for
fae15c93
VM
14990 automaton pipeline interface.
14991 (haifa_insn_data): Add comments for members blockage and units.
14992
14993 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
14994 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
14995 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
14996 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
14997 TARGET_SCHED_DFA_POST_CYCLE_INSN,
14998 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
14999 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
15000 macros.
15001 (TARGET_SCHED): Use the new macros.
15002
15003 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
15004 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
15005 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
15006 dfa_bubble): New members in gcc_target.sched.
15007
8998d5bf 15008 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
fae15c93
VM
15009 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
15010 (insn_queue): Redefine it as pointer to array.
15011 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
15012 INSN_QUEUE_SIZE.
15013 (max_insn_queue_index_macro_value): New variable.
15014 (curr_state, dfa_state_size, ready_try): New varaibles for
15015 automaton interface.
15016 (ready_element, ready_remove, max_issue): New function prototypes
15017 for automaton interface.
15018 (choose_ready): New function prototype.
15019 (insn_unit, blockage_range): Add comments.
15020 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
15021 FUNCTION_UNITS_SIZE == 0.
15022 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
15023 actual_hazard, potential_hazard): Add comments.
15024 (insn_cost): Use cost -1 as undefined value. Remove
15025 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
15026 pipeline interface.
15027 (ready_element, ready_remove): New functions for automaton
15028 interface.
15029 (schedule_insn): Add new code for automaton pipeline interface.
15030 (queue_to_ready): Add new code for automaton pipeline interface.
15031 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
15032 (debug_ready_list): Print newline when the queue is empty.
15033 (max_issue): New function for automaton pipeline interface.
15034 (choose_ready): New function.
15035 (schedule_block): Add new code for automaton pipeline interface.
15036 Print ready list before scheduling each insn.
15037 (sched_init): Add new code for automaton pipeline interface.
15038 Initiate insn cost by -1.
15039 (sched_finish): Free the current automaton state and finalize
15040 automaton pipeline interface.
15041
15042 * sched-rgn.c: Include target.h.
15043 (init_ready_list, new_ready, debug_dependencies): Add new code for
15044 automaton pipeline interface.
15045
15046 * sched-vis.c: Include target.h.
15047 (get_visual_tbl_length): Add code for automaton interface.
15048 (target_units, print_block_visualization): Add comments.
15049
8998d5bf 15050 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
fae15c93
VM
15051 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
15052 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
15053 (getruntime.o, genautomata.o): New entries.
15054 (genattrtab.o): Add new dependency file genattrtab.h.
15055 (genattrtab): Add new dependencies. Link it with `libm.a'.
15056 (getruntime.o, hashtab.o): New entries for canadian cross.
15057
15058 * doc/md.texi: Description of automaton based model.
15059
15060 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
15061 Add comments.
15062 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
15063 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
15064 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
15065 TARGET_SCHED_DFA_POST_CYCLE_INSN,
15066 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
15067 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
15068 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
15069 hook descriptions.
15070 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
15071 MAX_DFA_ISSUE_RATE): New macro descriptions.
15072
15073 * doc/contrib.texi: Add dfa based scheduler contribution.
15074
15075 * doc/gcc.texi: Add more information about genattrtab.
15076
a2ff290c
RK
15077Mon Apr 29 17:19:10 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15078
15079 * reload1.c (eliminate_regs, case SUBREG): Fix typo in
15080 adjust_address_nv call.
15081
f97903cc
JJ
150822002-04-29 Janis Johnson <janis187@us.ibm.com>
15083
15084 * doc/install.texi (Testing): Provide additional information, and
15085 a stronger encouragement, for running the testsuites.
15086
f41a6bf1
DD
150872002-04-29 DJ Delorie <dj@redhat.com>
15088
15089 * config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
15090 given in upper case.
15091
d8af0868
RO
150922002-04-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15093
15094 * fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
15095 Solaris 2 <widec.h> if missing.
15096 * fixinc/fixincl.x: Regenerate.
15097 * fixinc/tests/base/widec.h: New file.
15098
1034407f
NC
150992002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
15100
15101 * toplev.c (f_options): Add "profile" switch so that
15102 -fno-profile can be used to disable -p.
15103
fbe5eb6d
BS
151042002-04-29 Bernd Schmidt <bernds@redhat.com>
15105
15106 * c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
15107 UV2DImode.
15108 * tree.c (build_common_tree_nodes_2): Likewise.
15109 * tree.h (enum tree_index): Likewise.
15110 (V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
15111
15112 * config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
15113 entries.
15114 (init_mmx_sse_builtins): Initialize SSE2 builtins.
15115 (ix86_expand_builtin): Add support for SSE2 builtins.
15116 * config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
15117 (VALID_SSE_REG_MODE): Use it.
15118 (VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
15119 (enum ix86_builtins): Add SSE2 builtins.
15120 * config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
15121 movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
15122 addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
15123 divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
15124 sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
15125 vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
15126 vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
15127 sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
15128 cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
15129 cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
15130 cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
15131 ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
15132 subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
15133 mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
15134 sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
15135 sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
15136 sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
15137 gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
15138 ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
15139 ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
15140 sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
15141 sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
15142 sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
15143 sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
15144 sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
15145 sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
15146 lfence_insn): New patterns.
15147 (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
15148 sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
15149
44aefada
JH
15150Mon Apr 29 17:03:24 CEST 2002 Jan Hubicka <jh@suse.cz>
15151
15152 * i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
15153
d5482cdc
GP
151542002-04-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
15155
15156 * doc/contrib.texi (Contributors): Add Paolo Carlini and
15157 Janis Johnson.
15158 Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
15159 Refer to Objective-C instead of ObjC, SPARC instead of sparc,
15160 and CPU instead of cpu.
15161
2c4b77f3
JH
15162Mon Apr 29 13:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
15163
15164 * toplev.c (flag_if_conversion, flag_if_conversion2): New static
15165 variables.
15166 (lang_independent_options): Add -fif-conversion, -fif-conversion2
15167 (rest_of_compilation): Do if conversion only when asked for.
15168 (parse_options_and_default_flags): Set new variables to 1 for -O1
15169 * invoke.texi (-fif-conversion, -fif-conversion2): Document.
15170
3de72741
JH
15171Mon Apr 29 13:02:50 CEST 2002 Jan Hubicka <jh@suse.cz>
15172
15173 * i386.c (dbx64_register_map): Fix typo.
15174
8aa18a7d
JH
15175Mon Apr 29 12:18:35 CEST 2002 Jan Hubicka <jh@suse.cz>
15176
15177 * predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
15178 real_one_half, real_bb_freq_max): New static variables.
15179 (debug_profile_bbauxs): Kill.
15180 (process_note_predictions): Kill unused variable.
15181 (block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
15182 volatile double.
15183 (propagate_freq): Use REAL_ARITHMETICS.
15184 (estimate_bb_frequencies): Likevise; init new static variables.
15185 * Makefile.in (predict.o): Add dependency on real.h
15186
1bbad4c6
DM
151872002-04-28 David S. Miller <davem@redhat.com>
15188
15189 PR target/6500
15190 * config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
15191 64-bit TARGET_V9. Do not use prefetch page, use prefetch for
15192 several {reads,writes} instead.
15193 * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
15194 Define.
15195
3ef3f384
DM
151962002-04-27 David S. Miller <davem@redhat.com>
15197
15198 PR target/6494
15199 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
15200 of the stack bias.
15201
15202 * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
15203 including signal.h and sys/ucontext.h, not needed.
15204
ec493bcb
HPN
152052002-04-29 Hans-Peter Nilsson <hp@bitrange.com>
15206
15207 * varasm.c (output_constant_def): Correct test for not calling
15208 ENCODE_SECTION_INFO for INTEGER_CST.
15209
60284a59
NB
152102002-04-29 Neil Booth <neil@daikokuya.demon.co.uk>
15211
15212 * cppexp.c (lex): Move some code to _cpp_parse_expr, but
15213 keep most cases as function eval_token.
15214 (eval_token): New function.
15215 (_cpp_parse_expr): Read token here for improved diagnostics.
15216 Don't use op_as_text. Detect bad ':' here.
15217 (reduce): Don't detect bad ':' here.
15218 (op_as_text): Remove.
15219 * cpphash.h (_cpp_test_assertion): Change prototype.
15220 * cpplib.c (_cpp_test_assertion): Change prototype.
15221
349a4b40
RH
152222002-04-28 Richard Henderson <rth@redhat.com>
15223
15224 PR c/5154
8998d5bf 15225 * ggc-common.c (ggc_mark_rtx_children_1): Rename from...
349a4b40
RH
15226 (ggc_mark_rtx_children): New.
15227
7a03f82f
JJ
152282002-04-28 Jakub Jelinek <jakub@redhat.com>
15229
15230 PR target/6496
15231 * config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
15232 after call peepholes for UltraSPARC.
15233 (call + jump 64-bit peepholes): Remove.
15234
80103f96
FS
152352002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15236
15237 PR c/6497
15238 * config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
15239 result as temporary value.
15240
06990986
JJ
152412002-04-28 Jakub Jelinek <jakub@redhat.com>
15242
15243 PR c++/6396
15244 * toplev.c (rest_of_compilation): Only run regrename and copy
15245 propagation if optimizing.
15246
a20fd5ac
JJ
152472002-04-28 Jakub Jelinek <jakub@redhat.com>
15248
15249 PR optimization/6475
15250 * reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
15251 register of REGNO_DECL (i).
15252 * Makefile.in (reload1.o): Add $(TREE_H).
15253
87ed109f
NB
152542002-04-28 Neil Booth <neil@daikokuya.demon.co.uk>
15255
15256 * cppexp.c (lex): Update to use state.skip_eval.
15257 (struct op): Remove prio and flags members.
15258 (FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
15259 SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
15260 (LEFT_ASSOC): New macro.
15261 (optab): New table of operator priorities and flags.
15262 (SHIFT): Update.
15263 (_cpp_parse_expr): Clean up logic. Return bool. Use a
15264 malloc-ed parser stack.
15265 (reduce): New; reduce the operator stack.
15266 (_cpp_expand_op_stack): Expand the operator stack as necessary.
15267 * cpphash.h (struct op): Predeclare.
15268 (struct cpp_reader): New members op_stack, op_limit.
15269 (struct lexer_state): New member skip_eval.
15270 (_cpp_parse_expr): Update.
15271 (_cpp_expand_op_stack): New.
15272 * cpplib.c (do_if): Update.
15273 * cppinit.c (cpp_create_reader): Create op stack.
15274 (cpp_destroy): And destroy it.
15275 * cpplib.h (CPP_LAST_CPP_OP): Correct.
15276 (TTYPE_TABLE): Correct.
15277
45806a3f
FS
152782002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15279
15280 PR c/6343
15281 * c-decl.c (duplicate_decls): Call merge_weak.
15282 * c-pragma.c (apply_pragma_weak): Warn about misuse.
15283 * output.h (merge_weak): Prototype merge_weak.
15284 * varasm.c (merge_weak): New function.
15285 (declare_weak): Make sure we don't give an error on VAR_DECLs.
15286 Mark RTL with SYMBOL_REF_WEAK.
15287
a6227154
KG
152882002-04-27 Kurt Garloff <garloff@suse.de>
15289
15290 * tree-inline.c (inlinable_function_p): Improve heuristics
15291 by using a smoother function to cut down allowable inlinable size.
15292 * param.def: Add parameters max-inline-insns-single,
15293 max-inline-slope, min-inline-insns that determine the exact
15294 shape of the above function.
15295 * param.h: Likewise.
15296
94a50397
RH
152972002-04-26 Richard Henderson <rth@redhat.com>
15298
15299 * c-parse.in (malloced_yyss, malloced_yyvs): New.
15300 (yyoverflow): Re-add. Set them.
15301 (free_parser_stacks): New.
15302 * c-common.h: Declare it.
15303 * c-lex.c (c_common_parse_file): Call it.
15304
9c0a0632
RH
153052002-04-26 Richard Henderson <rth@redhat.com>
15306
15307 * cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
15308 for fallthru search.
15309
b875d2ee
EC
153102002-04-26 Eric Christopher <echristo@redhat.com>
15311
15312 PR optimization/3700
15313 * config/mips/mips.c (mips_issue_rate): Define. New function.
15314 (TARGET_SCHED_ISSUE_RATE): Use.
15315
1db828df
DM
153162002-04-25 David S. Miller <davem@redhat.com>
15317
15318 PR target/6422
15319 * reorg.c (optimize_skip): Do not allow exception causing
15320 instructions to be considered for delay slots.
15321 (fill_simply_delay_slots, fill_slots_from_thread): Likewise.
15322 (relax_delay_slots): Do not try to consider exception causing
15323 instructions as redundant.
15324
ae5d234e
RH
153252002-04-26 Richard Henderson <rth@redhat.com>
15326
15327 PR c/5225
15328 * c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
15329
7d793e9b
MM
153302002-04-26 Mark Mitchell <mark@codesourcery.com>
15331
15332 PR bootstrap/6445
15333 * config/i386/i386.md (untyped_call): Return the value in a float
15334 register if TARGET_FLOAT_RETURNS_IN_80387, not just if
15335 TARGET_80387.
15336
b13ab42c
AO
153372002-04-26 Alexandre Oliva <aoliva@redhat.com>
15338
15339 * tree.c (tree_int_cst_lt): Compare constants whose types differ
15340 in unsigned-ness correctly.
15341
5e56f909
JDA
153422002-04-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
15343
15344 * pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
15345 portable runtime model.
15346
bde3c0c0
RH
153472002-04-26 Richard Henderson <rth@redhat.com>
15348
a6227154 15349 * c-parse.in (yyoverflow): Revert.
bde3c0c0 15350
5276df18
DE
153512002-04-26 David Edelsohn <edelsohn@gnu.org>
15352 Richard Henderson <rth@redhat.com>
15353
15354 * config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
15355 result as temporary value.
15356
b84a3874
RH
153572002-04-26 Richard Henderson <rth@redhat.com>
15358
15359 PR c/3581
15360 * c-common.c (fix_string_type): Split out of ...
15361 (combine_strings): ... here. Take a varray, not a tree list.
15362 (c_expand_builtin_printf): Use fix_string_type.
15363 * c-common.h: Update decls.
15364 * c-parse.in (string): Remove. Update all uses to use STRING
15365 instead, and not call combine_strings.
15366 (yylexstring): New.
15367 (_yylex): Use it.
15368 * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
15369 (build_asm_stmt): Likewise.
15370 * objc/objc-act.c (my_build_string): Use fix_string_type.
15371 (build_objc_string_object): Build varray for combine_strings.
15372
d8ae8cd4
BT
153732002-04-26 Bo Thorsen <bo@suse.co.uk>
15374
15375 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
15376 x86-64.
15377
f8b954fc
NB
153782002-04-26 Neil Booth <neil@daikokuya.demon.co.uk>
15379
15380 * cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
15381 (HAVE_NO_R_OPERAND): Remove.
15382 (HAVE_VALUE): Remove.
15383 (op_to_prio): Update.
15384 (UNARY): Don't alter flags.
15385 (_cpp_parse_expr): want_value used to indicate whether
15386 a number or unary operator is expected next. Distinguish
15387 unary and binary +/-.
15388 (op_as_text): Update for unary operators.
15389
6052bef0
RH
153902002-04-25 Richard Henderson <rth@redhat.com>
15391
15392 PR c/2161
15393 * c-parse.in (yyoverflow): New.
15394
5c5b2283
RH
153952002-04-25 Richard Henderson <rth@redhat.com>
15396
15397 PR c/2098
15398 * c-common.c (shorten_compare): Simplfy conditions leading to
15399 the generation of a warning.
15400
28ce94d4
RH
154012002-04-25 Richard Henderson <rth@redhat.com>
15402
15403 PR c/2035
15404 * expmed.c (extract_bit_field): Fall through to generic code rather
15405 than aborting on subreg special case.
15406
6bfd0c63
DM
154072002-04-25 David S. Miller <davem@redhat.com>
15408
15409 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
15410 for DECL being NULL.
15411
7a430e3b
SC
154122002-04-25 Steve Christiansen <smc@us.ibm.com>
15413
15414 * doc/md.texi (Machine Constraints): Add IA-64 constraints.
15415
45c42d7d
EB
154162002-04-25 Eric Botcazou <ebotcazou@multimania.com>
15417
15418 * c-decl.c (grokdeclarator): Remove outdated ??? note
15419 on invalid declaration of flexible array members.
15420
eb7715a4
RH
154212002-04-25 Richard Henderson <rth@redhat.com>
15422
15423 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
15424
cf5ee720
UW
154252002-04-25 Ulrich Weigand <uweigand@de.ibm.com>
15426
15427 * config/s390/s390.c (s390_emit_epilogue): Always restore registers
15428 needed by the compiler, even if they are used as global regs.
15429
d604bca3
MH
154302002-04-25 Matt Hiller <hiller@redhat.com>
15431
15432 * mips.c (mips_class_max_nregs, mips_register_move_cost): New
15433 functions.
15434 * mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
15435 of the corresponding functions.
15436 * mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
15437 New prototypes.
b875d2ee 15438
d604bca3
MH
154392002-04-25 Matt Hiller <hiller@redhat.com>
15440
15441 * config/mips/mips.h (mips_sw_reg_names): Declare as extern.
15442
15443 (ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
15444 (FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
15445 registers, adjust comment accordingly.
15446 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
15447 reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
15448 DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
15449 for coprocessor registers.
15450 (ADDITIONAL_REGISTER_NAMES): Include
15451 ALL_COP_ADDITIONAL_REGISTER_NAMES.
b875d2ee 15452
d604bca3
MH
15453 (COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
15454 COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
15455 COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
15456 COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
15457 COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
15458
15459 (mips_char_to_class): Adjust comment to include coprocessor
15460 constraint letters.
15461
15462 * config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
15463 New functions.
15464 (mips_reg_names, mips_regno_to_class): Include coprocessor
15465 information.
15466 (mips_sw_reg_names): Ditto, make non-static.
15467 (mips_move_1word): Handle moves to and from coprocessor registers.
15468 (mips_move_2words): Handle moves to and from coprocessor
15469 registers.
15470 (mips_class_max_nregs, mips_register_move_cost): Handle
15471 coprocessor register classes.
15472 (override_options): Initialize mips_char_to_class and
15473 mips_hard_regno_mode_ok properly for coprocessor registers.
15474
15475 * config/mips/mips.md (movdi_internal, movdi_internal2,
15476 movsi_internal1, movsi_internal2): Add constraint-sets for
15477 coprocessor registers.
15478 * testsuite/gcc.c-torture/mipscop-1.c: New testcase.
15479 * testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
15480 isn't mips.
15481 * testsuite/gcc.c-torture/mipscop-2.c: New testcase.
15482 * testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
15483 isn't mips.
15484 * testsuite/gcc.c-torture/mipscop-3.c: New testcase.
15485 * testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
15486 isn't mips.
15487 * testsuite/gcc.c-torture/mipscop-4.c: New testcase.
15488 * testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
15489 isn't mips.
b875d2ee 15490
d604bca3
MH
15491 * doc/tm.texi: Document feature.
15492
b9a26d09
NB
154932002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
15494
15495 * integrate.c (function_attribute_inlinable_p): Simplify.
15496 Check the table pointer is not NULL.
15497
ab5973b7
SB
154982002-04-25 Steven Bosscher <S.Bosscher@student.tudelft.nl>
15499
15500 * doc/c-tree.texi: Fix typo in introduction.
15501
ff45c01e
NB
155022002-04-25 Neil Booth <neil@daikokuya.demon.co.uk>
15503
15504 * c-common.h (c_common_parse_file): Update.
15505 * c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
15506 * c-lex.c (YYDEBUG): Get from c-lex.h.
15507 (c_common_parse_file): Update.
15508 * c-lex.h (YYDEBUG, yydebug): New.
15509 * c-parse.in (YYDEBUG): Get from c-lex.h.
15510 (c_set_yydebug): Remove.
15511 * c-tree.h (c_set_yydebug): Remove.
15512 * langhooks-def.h (lhd_do_nothing_i): New.
15513 (lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
15514 (LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
15515 * langhooks.c (lhd_do_nothing_i): New.
15516 (lhd_set_yydebug): Remove.
15517 * langhooks.h (struct lang_hooks): Update.
15518 * toplev.c (set_yydebug): New.
15519 (compile_file): Update call to parse_file hook.
15520 (decode_d_option): Update.
15521objc:
15522 * objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
15523
fcae219a
R
15524Wed Apr 24 23:45:37 2002 J"orn Rennecke <joern.rennecke@superh.com>
15525
15526 * loop.c (load_mems): Don't change the interface of called functions.
15527
15528 * calls.c (expand_call): Take current_function_pretend_args_size
15529 into account when setting argblock for sibcalls.
15530
d0fea45a
MH
155312002-04-24 Matt Hiller <hiller@redhat.com>
15532
15533 * cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
15534 * c-lex.c: Ditto.
15535
15536 * cpplex.c (skip_line_comment): Process comment one multibyte
15537 character at a time rather than one char at a time, if
15538 appropriate.
15539 (parse_string): Process string one multibyte character at a time
15540 rather than one char at a time, if appropriate.
15541 * c-lex.c (lex_string): Lex and copy multibyte strings
15542 appropriately.
15543 * cpplib.h (cppchar_t): Change to unsigned.
15544
2d1b5436
RH
155452002-04-24 Richard Henderson <rth@redhat.com>
15546
15547 PR c/3467
15548 * c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
15549 for c99.
15550
5e039e6b
R
15551Wed Apr 24 21:51:54 2002 J"orn Rennecke <joern.rennecke@superh.com>
15552
15553 * sh.c (sh_va_arg): If argument was passed by reference,
15554 dereference the pointer.
309d8365
R
15555
15556 * sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
51214775
R
15557
15558 * sh.md (divsi3_i4_media): Use match_operand for input values
15559 rather than hard registers.
15560 (divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
15561 unnecessarily through hard registers. Keep copies of pseudo
15562 registers outside of the libcall sequence.
15563
15564 * sh.md (casesi_shift_media): Add modes.
b700634a
R
15565
15566 * sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
15567 values in memory.
15568
349ae713
NB
155692002-04-24 Neil Booth <neil@daikokuya.demon.co.uk>
15570
15571 * attribs.c (c_common_attribute_table): Move table and handlers
15572 to c-common.c.
15573 (format_attribute_table, lang_attribute_table,
15574 lang_attribute_common): Remove.
15575 (init_attributes): Replace NULL pointers with pointers to the
15576 empty table.
15577 (handle_packed_attribute, handle_nocommon_attribute,
15578 handle_common_attribute, handle_noreturn_attribute,
15579 handle_noinline_attribute, handle_always_inline_attribute,
15580 handle_used_attribute, handle_unused_attribute,
15581 handle_const_attribute, handle_transparent_union_attribute,
15582 handle_constructor_attribute, handle_destructor_attribute,
15583 handle_mode_attribute, handle_section_attribute,
15584 handle_aligned_attribute, handle_weak_attribute,
15585 handle_alias_attribute, handle_visibility_attribute,
15586 handle_no_instrument_function_attribute, handle_malloc_attribute,
15587 handle_no_limit_stack_attribute, handle_pure_attribute,
15588 handle_deprecated_attribute, handle_vector_size_attribute,
15589 vector_size_helper): Move to c-common.c.
15590 * c-common.c (c_common_attribute_table,
15591 handle_packed_attribute, handle_nocommon_attribute,
15592 handle_common_attribute, handle_noreturn_attribute,
15593 handle_noinline_attribute, handle_always_inline_attribute,
15594 handle_used_attribute, handle_unused_attribute,
15595 handle_const_attribute, handle_transparent_union_attribute,
15596 handle_constructor_attribute, handle_destructor_attribute,
15597 handle_mode_attribute, handle_section_attribute,
15598 handle_aligned_attribute, handle_weak_attribute,
15599 handle_alias_attribute, handle_visibility_attribute,
15600 handle_no_instrument_function_attribute, handle_malloc_attribute,
15601 handle_no_limit_stack_attribute, handle_pure_attribute,
15602 handle_deprecated_attribute, handle_vector_size_attribute,
15603 vector_size_helper): Move from attribs.c.
15604 * c-common.h (c_common_attribute_table,
15605 c_common_format_attribute_table): New.
15606 * c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
15607 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
15608 * langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
15609 LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
15610 (LANG_HOOKS_INITIALIZER): Update.
15611 * langhooks.h (struct lang_hooks): 3 new attribute hooks.
15612 * target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
15613 * target.h: Update comment.
15614 * tree.c (default_target_attribute_table): Remove.
15615 * tree.h (default_target_attribute_table, format_attribute_table,
15616 lang_attribute_table, lang_attribute_common): Remove.
15617objc:
15618 * objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
15619 LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
15620
84f0ace0
JM
156212002-04-24 Jason Merrill <jason@redhat.com>
15622
15623 * dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
15624 * dwarf2out.c (dwarf_attr_name): Support it.
15625 (gen_array_type_die): Emit it.
15626 (lookup_type_die): No special handling for VECTOR_TYPE.
15627 (gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
15628
120eaf28
RH
156292002-04-24 Richard Henderson <rth@redhat.com>
15630
15631 * config/mips/mips.md (movdi_usd): Renumber.
15632
e732178c
DM
156332002-04-24 David S. Miller <davem@redhat.com>
15634
15635 PR target/6420
15636 * config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
15637 32-bit Sparc and current_function_returns_struct is true.
15638
e879eb2f
JH
15639Wed Apr 24 13:48:25 CEST 2002 Jan Hubicka <jh@suse.cz>
15640
15641 * loop.c (canonicalize_condition): Use gen_int_mode.
15642
4287a893
AH
156432002-04-24 Aldy Hernandez <aldyh@redhat.com>
15644
15645 * config/rs6000/altivec.h: Cleanup file. Add non individual
15646 variants.
15647 (vec_vaddubm): New.
15648 (vec_vadduhm): New.
15649 (vec_vadduwm): New.
15650 (vec_vaddfp): New.
15651 (vec_vaddcuw): New.
15652 (vec_vaddubs): New.
15653 (vec_vaddsbs): New.
15654 (vec_vadduhs): New.
15655 (vec_vadduws): New.
15656 (vec_vaddsws): New.
15657 (vec_vand): New.
15658 (vec_vandc): New.
15659 (vec_vavgub): New.
15660 (vec_vavgsb): New.
15661 (vec_vavguh): New.
15662 (vec_vavgsh): New.
15663 (vec_vavguw): New.
15664 (vec_vavgsw): New.
15665 (vec_vrfip): New.
15666 (vec_vcmpbfp): New.
15667 (vec_vcmpequb): New.
15668 (vec_vcmpequh): New.
15669 (vec_vcmpequw): New.
15670 (vec_vcmpeqfp): New.
15671 (vec_vcmpgefp): New.
15672 (vec_vcmpgtub): New.
15673 (vec_vcmpgtsb): New.
15674 (vec_vcmpgtuh): New.
15675 (vec_vcmpgtsh): New.
15676 (vec_vcmpgtuw): New.
15677 (vec_vcmpgtsw): New.
15678 (vec_vcmpgtfp): New.
15679 (vec_vcmpgefp): New.
15680 (vec_vcfux): New.
15681 (vec_vcfsx): New.
15682 (vec_vctsxs): New.
15683 (vec_vctuxs): New.
15684 (vec_vexptefp): New.
15685 (vec_vrfim): New.
15686 (vec_lvx): New.
15687 (vec_lvebx): New.
15688 (vec_lvehx): New.
15689 (vec_lde): Add vector float variant.
15690 (vec_lvewx): New.
15691 (vec_lvxl): New.
15692 (vec_vlogefp): New.
15693 (vec_vmaddfp): New.
15694 (vec_vmhaddshs): New.
15695 (vec_vmaxub): New.
15696 (vec_vmaxsb): New.
15697 (vec_vmaxuh): New.
15698 (vec_vmaxsh): New.
15699 (vec_vmaxuw): New.
15700 (vec_vmaxsw): New.
15701 (vec_vmaxsw): New.
15702 (vec_vmaxfp): New.
15703 (vec_vmrghb): New.
15704 (vec_vmrghh): New.
15705 (vec_vmrghw): New.
15706 (vec_vmrglb): New.
15707 (vec_vmrglh): New.
15708 (vec_vmrglw): New.
15709 (vec_vminub): New.
15710 (vec_vminsb): New.
15711 (vec_vminuh): New.
15712 (vec_vminsh): New.
15713 (vec_vminuw): New.
15714 (vec_vminsw): New.
15715 (vec_vminfp): New.
15716 (vec_vmladduhm): New.
15717 (vec_vmhraddshs): New.
15718 (vec_msumubm): New.
15719 (vec_vmsummbm): New.
15720 (vec_vmsumuhm): New.
15721 (vec_vmsumshm): New.
15722 (vec_vmsumuhs): New.
15723 (vec_vmsumshs): New.
15724 (vec_vmuleub): New.
15725 (vec_vmulesb): New.
15726 (vec_vmuleuh): New.
15727 (vec_vmulesh): New.
15728 (vec_vmuloub): New.
15729 (vec_mulosb): New.
15730 (vec_vmulouh): New.
15731 (vec_vmulosh): New.
15732 (vec_vnmsubfp): New.
15733 (vec_vnor): New.
15734 (vec_vor): New.
15735 (vec_vpkuhum): New.
15736 (vec_vpkuwum): New.
15737 (vec_vpkpx): New.
15738 (vec_vpkuhus): New.
15739 (vec_vpkshss): New.
15740 (vec_vpkuwus): New.
15741 (vec_vpkswss): New.
15742 (vec_vpkshus): New.
15743 (vec_vpkswus): New.
15744 (vec_vperm): New.
15745 (vec_vrefp): New.
15746 (vec_vrlb): New.
15747 (vec_vrlh): New.
15748 (vec_vrlw): New.
15749 (vec_vrfin): New.
15750 (vec_vrsqrtefp): New.
15751 (vec_vsel): New.
15752 (vec_vslb): New.
15753 (vec_vslh): New.
15754 (vec_vslw): New.
15755 (vec_vsldoi): New.
15756 (vec_vsl): New.
15757 (vec_vslo): New.
15758 (vec_vspltb): New.
15759 (vec_vsplth): New.
15760 (vec_vspltw): New.
15761 (vec_vspltisb): New.
15762 (vec_vspltish): New.
15763 (vec_vspltisw): New.
15764 (vec_vsrb): New.
15765 (vec_vsrh): New.
15766 (vec_vsrw): New.
15767 (vec_vsrab): New.
15768 (vec_vsrah): New.
15769 (vec_vsraw): New.
15770 (vec_vsr): New.
15771 (vec_vsro): New.
15772 (vec_stvx): New.
15773 (vec_stvebx): New.
15774 (vec_stvehx): New.
15775 (vec_stvewx): New.
15776 (vec_stvxl): New.
15777 (vec_vsububm): New.
15778 (vec_vsubuhm): New.
15779 (vec_vsubuwm): New.
15780 (vec_vsubfp): New.
15781 (vec_vsubcuw): New.
15782 (vec_vsububs): New.
15783 (vec_vsubsbs): New.
15784 (vec_vsubuhs): New.
15785 (vec_vsubshs): New.
15786 (vec_vsubuws): New.
15787 (vec_vsubsws): New.
15788 (vec_vsum4ubs): New.
15789 (vec_vsum4sbs): New.
15790 (vec_vsum4shs): New.
15791 (vec_vsum2sws): New.
15792 (vec_vsumsws): New.
15793 (vec_vrfiz): New.
15794 (vec_vupkhsb): New.
15795 (vec_vupkhpx): New.
15796 (vec_vupkhsh): New.
15797 (vec_vupklsb): New.
15798 (vec_vupklpx): New.
15799 (vec_vupklsh): New.
15800 (vec_vxor): New.
15801
cff27795
EB
158022002-04-23 Eric Botcazou <ebotcazou@multimania.com>
15803
15804 PR c/5430
15805 * fold-const.c (split_tree): Add MINUS_LITP parameter; separate
15806 added literals from substracted literals.
15807 (associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
15808 (fold) [associate]: Preserve MINUS_EXPR if needed.
15809
952bca84
ZW
158102002-04-23 Zack Weinberg <zack@codesourcery.com>
15811
15812 * doc/install.texi: Clarify which versions of alpha*-dec-osf*
15813 are obsoleted.
15814
50cb2154
TT
158152002-04-23 Tom Tromey <tromey@redhat.com>
15816
15817 * gcc.c: Added --resource. For PR java/6314.
15818
271f61fb
DB
158192002-04-23 David O'Brien <obrien@FreeBSD.org>
15820
9566d1e9 15821 * cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
271f61fb
DB
15822 * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
15823 these libraries.
15824
bdabbc80
DB
158252002-04-23 David O'Brien <obrien@FreeBSD.org>
15826
15827 * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
15828
74411039
JH
15829Tue Apr 23 14:24:25 CEST 2002 Jan Hubicka <jh@suse.cz>
15830
15831 * i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
15832 workaround.
15833 (ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
15834 (ix86_expand_clrstr): Fix typo.
15835 * loop.c (gen_load_of_final_value): New.
15836 (loop_givs_rescan, strength_reduce, check_dbra_loop):
15837 Use it.
15838
1a887f86
RS
158392002-04-23 Roger Sayle <roger@eyesopen.com>
15840
15841 * builtins.c (builtin_memset_gen_str): New function.
15842 (expand_builtin_memset): Optimize the case of constant length, but
15843 unknown value.
15844
8d3441e0
AH
158452002-04-23 Aldy Hernandez <aldyh@redhat.com>
15846
cff27795
EB
15847 * config/rs6000/altivec.h (vec_step): Remove extraneous
15848 parentheses.
15849 (vec_ctu): Cast return.
8d3441e0 15850
f6f315fe
AM
158512002-04-23 Alan Modra <amodra@bigpond.net.au>
15852
15853 PR target/6413
15854 * function.h: (struct function): Add profile_label_no field.
15855 (current_function_profile_label_no): Define.
15856 * function.c: (profile_label_no): New static var.
15857 (expand_function_start): Increment it, and copy to
15858 current_function_profile_label_no.
15859 * output.h (profile_label_no): Delete.
15860 * final.c (profile_label_no): Delete.
15861 (profile_function): Use current_function_profile_label_no.
15862 (final_end_function): Don't increment profile_label_no here.
15863 * config/i386/i386.c (ix86_osf_output_function_prologue): Replace
15864 profile_label_no with current_function_profile_label_no.
15865 * config/pa/pa.c (current_function_number): Delete.
15866 (pa_output_function_prologue): Don't output profile label here.
15867 (hppa_profile_hook): Use label_no param rather than
15868 current_function_number.
15869 (FUNC_BEGIN_PROLOG_LABEL): Move to ..
15870 * config/pa/pa.h: .. here.
15871 (FUNCTION_PROFILER): Output profile label here.
15872
d239cdc0
EC
158732002-04-22 Eric Christopher <echristo@redhat.com>
15874
15875 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
15876 patch of 2002-04-09 due to binutils issues.
15877 (FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
15878
04428ad4
AH
158792002-04-22 Aldy Hernandez <aldyh@redhat.com>
15880
cff27795
EB
15881 * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
15882 constraint to 'o' for m=r and r=m alternatives.
15883 ("*movv8hi_internal1"): Same.
15884 ("*movv16qi_internal1"): Same.
15885 ("*movv4sf_internal1"): Same.
04428ad4 15886
2adc7f12
JJ
158872002-04-22 Janis Johnson <janis187@us.ibm.com>
15888
15889 * rtl.h (RTX_FLAG): New macro.
15890 * emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
15891 * final.c (alter_subreg): Use macro to access rtx flag.
15892 * integrate.c (copy_rtx_and_substitute): Use new access macro.
15893 * print-rtl.c (print_rtx): Use new access macro.
15894
15895 * cse.c (insert): Check rtx code before accessing flag.
15896
15897 * genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
15898 ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
15899 (attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
15900 convert_const_symbol_ref, make_canonical, make_alternative_compare,
15901 evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
15902 simplify_test_exp, optimize_attrs, simplify_by_exploding,
15903 find_and_mark_used_attributes, unmark_used_attributes,
15904 add_values_to_cover, simplify_with_current_value,
15905 simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
15906 copy_rtx_unchanging, main): Use new access macros.
15907
b7c89afe
TR
159082002-04-22 Tom Rix <trix@redhat.com>
15909
15910 * expmed.c (init_expmed): Generate shifted constant once.
15911
9340544b
ZW
159122002-04-22 Zack Weinberg <zack@codesourcery.com>
15913
15914 * c-lex.c (lex_charconst): Call convert to get constant in
15915 proper type; don't just smash the type field.
15916 Fixes PR c/6300.
15917
15918 * config.gcc: Add list of obsolete configurations. Disallow
15919 building these without --enable-obsolete.
15920 * doc/install.texi: Document --enable-obsolete and obsoletion
15921 policy. Mention obsoletion of individual targets in
15922 appropriate places.
15923
f942d7a5
RH
159242002-04-22 Richard Henderson <rth@redhat.com>
15925
15926 * config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
15927
159282002-04-22 Mark Mitchell <mark@codesourcery.com>
8ed8f731
MM
15929
15930 PR f/6138.
15931 * function.c (fixup_memory_subreg): Add promoted_mode parameter.
15932 (walk_fixup_memory_subreg): Likewise.
15933 (fixup_var_refs_insn): Adjust accordingly.
15934 (fixup_var_refs_1): Likewise.
15935
232b0b45
UW
159362002-04-22 Ulrich Weigand <uweigand@de.ibm.com>
15937
15938 * config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
15939 LIBPATH_ARCH64_SPEC): Define.
15940 (EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
15941 (STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
15942 (LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
15943 (LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
15944
1b61552b
JS
159452002-04-22 Joel Sherrill <joel@OARcorp.com>
15946
15947 * gthr-rtems.h: Correct prototypes to remove warnings.
15948
0fe854a7
RH
159492002-04-22 Richard Henderson <rth@redhat.com>
15950
15951 PR c/6344
15952 * alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
15953
15954 * gcse.c (free_insn_expr_list_list): New.
15955 (clear_modify_mem_tables): Use it. Fix bit set usage.
15956 (canon_list_insert): Use EXPR_LISTs for expressions.
15957 (record_last_mem_set_info): Factor BLOCK_NUM (insn).
15958
af0d16cd
NB
159592002-04-22 Neil Booth <neil@daikokuya.demon.co.uk>
15960
15961 * cppfiles.c (_cpp_pop_file_buffer): Return void. Move
15962 file change and include code to _cpp_pop_buffer.
15963 * cpphash.h (struct pending_option): Predeclare.
15964 (struct cpp_reader): New member next_include_file.
15965 (_cpp_pop_file_buffer): Update.
15966 (_cpp_push_next_buffer): Update, rename.
15967 * cppinit.c (cpp_destroy): Free include chain and pending here.
15968 (cpp_finish_options): Simplify.
15969 (_cpp_push_next_buffer): Rename and clean up.
15970 * cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
15971 Clarify.
15972 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
15973
0d918572
AH
159742002-04-22 Aldy Hernandez <aldyh@redhat.com>
15975
0fe854a7
RH
15976 * config/rs6000/altivec.h (vec_xor): Add variant for both args
15977 being vector signed int.
15978 (vec_andc): Same.
15979 (vec_xor): Add variant for both args being vector signed char.
15980 Remove redundant variant.
15981 (vec_andc): Same.
0d918572 15982
77e2c290
DM
159832002-04-21 David S. Miller <davem@redhat.com>
15984
15985 * config/sparc/sparc.md (set then compare DI mode peephole2): Fix
15986 compare mode in output RTL.
15987
ee2ca2a2
DE
159882002-04-22 David Edelsohn <edelsohn@gnu.org>
15989
15990 * config/rs6000/rs6000.c (rs6000_override_options): Correct
15991 style and formatting of previous patch.
15992
894bdff6
AM
159932002-04-22 Alan Modra <amodra@bigpond.net.au>
15994
15995 * config/rs6000/rs6000.c (rs6000_override_options): Always clear
15996 flag_pic for ABI_AIX.
15997
562a5c27
NB
159982002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
15999
16000 * cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
16001 * cppfiles.c (read_include_file): Similarly.
16002 * cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
16003 uxstrdup ustrchr, ufputs): Similarly.
16004 * cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
16005 * cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
16006 cpp_ideq, parse_identifier, parse_number): Similarly.
16007 * cpplib.c (struct directive, dequote_string, D, run_directive,
16008 cpp_push_buffer): Similarly.
16009 * cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
16010 _cpp_create_definition, check_trad_stringification,
16011 cpp_macro_definition): Similarly.
16012
9ac3b1be
NB
160132002-04-21 Neil Booth <neil@daikokuya.demon.co.uk>
16014
16015 * cppmacro.c (funlike_invocation_p): Don't step back
16016 over CPP_EOF.
16017
9dda4cc8
DE
160182002-04-21 David Edelsohn <edelsohn@gnu.org>
16019
16020 * config/rs6000/rs6000.c (output_profile_hook): Do not increment
16021 labelno.
16022
20764052
JM
160232002-04-20 Joseph S. Myers <jsm28@cam.ac.uk>
16024
16025 * doc/invoke.texi: Remove Chill references.
16026 * doc/gcc.texi: Update last modified date.
16027
26b29884
KH
160282002-04-20 Kazu Hirata <kazu@hxi.com>
16029
16030 * config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
16031 push and pop. Replace add.l with add.w.
16032
59184677
TM
160332002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
16034
16035 * config/h8300/lib1funcs.asm (___mulsi3): Use hardware
16036 multiply instructions for H8/300H case.
16037
b1113e0a
TM
160382002-04-20 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
16039
16040 * config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
16041 Bum three instructions from each routine.
16042
b03e38e1
NB
160432002-04-20 Neil Booth <neil@daikokuya.demon.co.uk>
16044
16045 * Makefile.in: Update.
16046 * decl.c (push_c_function_context, pop_c_function_context,
16047 mark_c_function_context): Rename for consistency.
16048 * c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
16049 * c-tree.h (push_c_function_context, pop_c_function_context,
16050 mark_c_function_context): Rename for consistency.
16051 * c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
16052 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
16053 * function.c (init_lang_status, save_lang_status,
16054 restore_lang_status, mark_lang_status, free_lang_status):
16055 Move to langhooks.h.
16056 (push_function_context_to, pop_function_context_from,
16057 free_after_parsing, prepare_function_start, ggc_mark_struct_function):
16058 Update.
16059 * function.h (init_lang_status, save_lang_status,
16060 restore_lang_status, mark_lang_status, free_lang_status):
16061 Move to langhooks.h.
16062 * langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
16063 LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
16064 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
16065 LANG_HOOKS_FUNCTION_INITIALIZER): New.
16066 (LANG_HOOKS_INITIALIZER): Update.
16067 (lhd_do_nothing_f): New.
16068 * langhooks.h (struct lang_hooks_for_functions): New.
16069 (struct lang_hooks): New hooks.
16070 * langhooks.c (lhd_do_nothing_f): New.
16071objc:
16072 * objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
16073 LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
16074
db430d26
DM
160752002-04-19 David S. Miller <davem@redhat.com>
16076
16077 * config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
16078 * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
16079
0f2a3457
JJ
160802002-04-19 Jakub Jelinek <jakub@redhat.com>
16081
16082 PR optimization/3756
16083 * config/i386/i386.c (ix86_expand_int_movcc): Optimize
16084 x = ((int) y < 0) ? cst1 : cst2.
16085
ce5e43d0
JJ
160862002-04-19 Jakub Jelinek <jakub@redhat.com>
16087
16088 PR c/6358
16089 * function.c: Reapply patch for c/6358.
16090 (expand_function_end): Copy decl_rtl's mode, not
16091 current_function_return_rtx mode.
16092
160932002-04-19 Joel Sherrill <joel@OARcorp.com>
9eb83f6c
JS
16094
16095 * config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
16096 targets.
16097
40e7f8ea
TT
160982002-04-19 Tom Tromey <tromey@redhat.com>
16099
16100 * doc/install.texi (Specific): Update status of Solaris 2.8.
16101 For PR libgcj/6158.
16102
62a12b27
AS
161032002-04-19 Andreas Schwab <schwab@suse.de>
16104
16105 * real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
16106 (PUT_REAL): Restore old definition.
16107
1405141b
DN
161082002-04-19 Dan Nicolaescu <dann@godzilla.ics.uci.edu>
16109 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16110
16111 * doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
16112 binutils 2.11.2 and higher generate smaller binaries than Sun's
16113 native tools.
16114
303a3927
MM
161152002-04-19 Mark Mitchell <mark@codesourcery.com>
16116
16117 PR c++/6352
16118 * toplev.c (rest_of_compilation): Do not defer functions for which
16119 TREE_SYMBOL_REFERENCED has already been set.
16120
de80110b
JH
16121Fri Apr 19 15:53:03 CEST 2002 Jan Hubicka <jh@suse.cz>
16122
16123 * i386.md (movsi_1, movhi_1): Force reload to use more flexible
16124 alternative.
16125
ab393bf1
NB
161262002-04-19 Neil Booth <neil@daikokuya.demon.co.uk>
16127
16128 * builtins.c: Include langhooks.h.
16129 (lang_type_promotes_to): Remove.
16130 (expand_builtin_va_arg): Use new hook.
16131 * c-common.c (c_common_nodes_and_builtins): Don't set hook.
16132 (simple_type_promotes_to): Move to c-typeck.c.
16133 * c-common.h (simple_type_promotes_to): Remove.
16134 * c-decl.c (duplicate_decls, grokdeclarator): Update.
16135 * c-format.c: Include langhooks.h.
16136 (check_format_types): Update.
16137 * c-tree.h (c_type_promotes_to): New.
16138 * c-typeck.c (c_type_promotes_to): Move from c-common.c.
16139 (type_lists_compatible_p): Update.
16140 * langhooks-def.h (lhd_type_promotes_to): New.
16141 (LANG_HOOKS_TYPE_PROMOTES_TO): New.
16142 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
16143 * langhooks.c (lhd_type_promotes_to): New.
16144 * langhooks.h (struct lang_hooks_for_types): New hook.
16145 * tree.h (lang_type_promotes_to): Remove.
16146objc:
16147 * objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
16148
0cd3301b
RH
161492002-04-18 Richard Henderson <rth@redhat.com>
16150
58533fa2 16151 * function.c: Revert patch for c/6358.
0cd3301b
RH
16152
161532002-04-18 Richard Henderson <rth@redhat.com>
16154
58533fa2
RH
16155 * ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
16156 blocks. Handle multiple references to the TRAP block. Handle
16157 non-adjacent THEN and OTHER blocks.
0cd3301b 16158
58533fa2
RH
161592002-04-18 Richard Henderson <rth@redhat.com>
16160
16161 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
16162 crash with no type for by-mode libcalls.
16163
16164 * config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
0cd3301b 16165
57174693
BW
161662002-04-18 Bob Wilson <bob.wilson@acm.org>
16167
16168 * config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
16169 __xtensa_nonlocal_goto): Use a syscall instructions to flush
16170 the register windows.
16171
46468cd9
ZW
161722002-04-18 Zack Weinberg <zack@codesourcery.com>
16173
16174 * real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
16175 appropriate. Document need for extended precision even when
16176 MAX_LONG_DOUBLE_TYPE_SIZE is smaller. Define REAL_WIDTH here,
16177 based on REAL_VALUE_TYPE_SIZE. Use REAL_WIDTH to size
16178 REAL_VALUE_TYPE. Define CONST_DOUBLE_FORMAT here. Use #error
16179 instead of relying on later syntax error when REAL_WIDTH > 5.
16180 * real.c: Define NE based only on whether or not we have a
16181 full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
16182 Require sizeof(REAL_VALUE_TYPE) == 2*NE. Unconditionally
16183 define GET_REAL and PUT_REAL as simple memcpy operations; no
16184 need to byteswap or round.
16185 Use #error instead of #ifdef-ing out the entire file, for
16186 prompt error detection.
16187
16188 * rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
16189
2f82dbf8
DM
161902002-04-18 David S. Miller <davem@redhat.com>
16191
16192 * config/sparc/sparc.h (BRANCH_COST): Define.
16193
16194 * fold-const.c (BRANCH_COST): Don't provide default here, expr.h
16195 does it.
16196
566576e7
HPN
161972002-04-18 Hans-Peter Nilsson <hp@bitrange.com>
16198
16199 * flow.c (update_life_info): Ignore return value of cleanup_cfg.
16200 Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
16201 propagate_block calls after relaxation loop using new variable
16202 stabilized_prop_flags.
16203
51dcde6f
RH
162042002-04-18 Richard Henderson <rth@redhat.com>
16205
16206 * config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
16207 (ia64_va_arg): Expect variable sized types by reference.
16208 * config/ia64/ia64-protos.h: Update.
46468cd9 16209 * config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
51dcde6f
RH
16210 ia64_function_arg_pass_by_reference.
16211
26406018
RH
162122002-04-18 Richard Henderson <rth@redhat.com>
16213
46468cd9
ZW
16214 * ifcvt.c: Include except.h.
16215 (block_has_only_trap): Break out from find_cond_trap.
16216 (find_cond_trap): Use it. Always delete the trap block.
16217 (merge_if_block): Allow then block null. Be less simplistic about
16218 what insns can end a block.
16219 * Makefile.in (ifcvt.o): Depend on except.h.
96b453dc 16220
26406018
RH
16221 * config/ia64/ia64.md (trap, conditional_trap): New.
16222
a3acf46d
JJ
162232002-04-18 Jakub Jelinek <jakub@redhat.com>
16224
16225 PR c/6358
16226 * function.c (assign_parms): Assign hard current_function_return_rtx
16227 register here...
16228 (expand_function_end): ...not here.
16229
7a228918
NB
162302002-04-18 Neil Booth <neil@daikokuya.demon.co.uk>
16231
16232 * c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
16233 * c-tree.h (c_incomplete_type_error): New.
16234 * c-typeck.c (require_complete_type, build_component_ref): Update.
16235 (incomplete_type_error): Rename.
16236 * langhooks-def.h (lhd_incomplete_type_error): New.
16237 (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
16238 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
16239 * langhooks.c (lhd_incomplete_type_error): New.
16240 * langhooks.h (struct lang_hooks_for_types): New hook.
16241 * tree.c (size_in_bytes): Use new hook.
16242 * tree.h (incomplete_type_error): Remove.
16243objc:
16244 * objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
16245
f18664c1
ZW
162462002-04-18 Zack Weinberg <zack@codesourcery.com>
16247
16248 * config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
16249 TARGET_FLOAT_FORMAT blocks.
16250
8ecab453
GP
162512002-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16252
16253 * doc/install.texi (Downloading the source): Do not mention Chill
16254 any longer, but mention Ada.
16255 (Configuration): Do not mention Chill any longer.
16256
528d8489
HPN
162572002-04-18 Hans-Peter Nilsson <hp@axis.com>
16258
16259 * config/cris/cris.h (TARGET_VERSION): Remove local version number.
16260
91da27c5
JH
16261Thu Apr 18 17:14:08 CEST 2002 Jan Hubicka <jh@suse.cz>
16262
16263 * i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
16264 in last patch.
16265
a32db605
JJ
162662002-04-18 Jakub Jelinek <jakub@redhat.com>
16267
16268 * fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
16269 instead of unsigned_type.
16270
5a28d8cc
JH
16271Thu Apr 18 15:49:12 CEST 2002 Jan Hubicka <jh@suse.cz>
16272
16273 * i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
16274 * i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
16275 later.
16276
3d980b9f
BS
162772002-04-18 Bernd Schmidt <bernds@redhat.com>
16278
16279 * attribs.c (vector_type_node_list): New static variable.
16280 (handle_vector_size_attribute): Use it to avoid generating a
16281 new type node each time we are called.
16282
2e676d78
BS
16283 * combine.c (subst): Avoid trying to make a vector mode subreg of
16284 an integer constant.
16285 (gen_lowpart_for_combine): Likewise.
46468cd9 16286
58c2956c
RS
162872002-04-18 Roger Sayle <roger@eyesopen.com>
16288 Jakub Jelinek <jakub@redhat.com>
16289
16290 * fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
16291 for integer constant c (if x has unsigned type or sign bit is not
16292 set in c). This folds the zero/sign extension into the bit-wise and
16293 operation.
16294
692efa8e
JJ
162952002-04-18 Jakub Jelinek <jakub@redhat.com>
16296
16297 PR middle-end/6205
16298 * config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
16299 otherwise xorps.
16300
1372d4ce
NY
163012002-04-17 NIIBE Yutaka <gniibe@m17n.org>
16302
16303 * config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
16304
169ce44d
NC
163052002-04-17 Nick Clifton <nickc@cambridge.redhat.com>
16306
16307 * gcc.c (read_specs): Detect and fail if an attempt is made to
16308 rename a spec string to an already existing string.
16309
b30d2115
UW
163102002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
16311
16312 * config/s390/s390.c (legitimize_pic_address): Do not generate
16313 illegal address constant without CONST.
16314
d6964c30
KG
163152002-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16316
16317 * sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
16318 * sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
16319
7c82a1ed
UW
163202002-04-17 Ulrich Weigand <uweigand@de.ibm.com>
16321
16322 PR optimization/6305
16323 * config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
16324 to make sure previous reloads are taken into account. Generate
16325 better code if one operand is an in-range immediate constant.
16326
58db9d1a
AH
163272002-04-16 Andrew Haley <aph@cambridge.redhat.com>
16328
16329 * doc/install.texi (Building): libgcj requires GNU make.
16330
2a732575
JJ
163312002-04-17 Jakub Jelinek <jakub@redhat.com>
16332
16333 PR bootstrap/6315
16334 * config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
16335 even if hard quad and register is not floating.
16336 (movtf reg<-mem split): Disallow splitting if hard quad and
16337 register is floating.
16338 (movtf mem<-reg split): Likewise.
16339 * config/sparc/sparc.c (fp_register_operand): New predicate.
16340 * config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
16341
75a65e46
ZW
163422002-04-17 Zack Weinberg <zack@codesourcery.com>
16343
16344 * Makefile.in (PROTO_OBJS): Add cppdefault.o.
16345 (protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
16346 (unprotoize.o): Ditto. Build from protoize.c. Define
16347 UNPROTOIZE on command line.
16348 * protoize.c: Include cppdefault.h. Delete include_defaults.
16349 (in_system_include_dir): Use cpp_include_defaults (defined in
16350 cppdefault.o).
16351 * unprotoize.c: Delete file.
16352
650f0e97
AH
163532002-04-17 Aldy Hernandez <aldyh@redhat.com>
16354
46468cd9
ZW
16355 * config/rs6000/altivec.h (vec_ld): Add array variants.
16356 (vec_lde): Same.
16357 (vec_ldl): Same.
650f0e97 16358
71a0ab0c 163592002-04-17 Alan Matsuoka <alanm@redhat.com>
46468cd9 16360 Aldy Hernandez <aldyh@redhat.com>
71a0ab0c 16361
46468cd9
ZW
16362 * config/rs6000/altivec.h: Define __ALTIVEC__.
16363 (bool): New.
16364 (__pixel): New.
16365 (pixel): New.
16366 (vec_cfux): New.
16367 (vec_vmaddfp): New.
16368 (vec_vsldoi): New.
16369 Add parentheses to all macro arguments.
71a0ab0c 16370
ff2c46ac
RH
163712002-04-16 Richard Henderson <rth@redhat.com>
16372
16373 PR c++/6320
16374 * except.c (remove_eh_handler): Insert inner regions at beginning
16375 of sibling chain. Refactor expressions.
16376
f1ba94dd
RH
163772002-04-16 Richard Henderson <rth@redhat.com>
16378
f0871dfe
RH
16379 * config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
16380 * config/sparc/sol2-gas-bi.h: New file.
16381 * config.gcc (sparc*-solaris): Add it as needed.
16382 * configure.in (AS_SPARC64_FLAG): Remove check.
16383 * config.in, configure: Regenerate.
16384
16385 * config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
16386
163872002-04-16 Richard Henderson <rth@redhat.com>
16388
16389 * config/mips/mips.c (override_options): Don't override N32 for
16390 a 64-bit ISA.
409d3c60 16391
f1ba94dd
RH
16392 PR 6202
16393 * config/mips/mips.md (can_delay): Split out of existing define_delays.
16394 (HILO_delay): Set can_delay false.
16395
178c3eff
DJ
163962002-04-16 Dale Johannesen <dalej@apple.com>
16397
16398 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
16399 instruction addresses.
16400 (rs6000_output_function_epilogue): Likewise.
16401
7d6f6369
PC
164022002-04-16 Paolo Carlini <pcarlini@unitus.it>
16403
16404 * c-parse.in (poplevel, compstmt_start,
16405 compstmt_primary_start): Add ending ';', in accordance
16406 with POSIX.
16407
8947df0c
RH
164082002-04-16 Richard Henderson <rth@redhat.com>
16409
16410 * config.gcc (sparcv9-solaris): Configure for 64-bit default.
16411 Adjust tm_file order to get TARGET_DEFAULT set properly.
16412 (sparc-solaris): Configure 2.[78] for 64-bit multilibs.
16413 * doc/install.texi (sparc-solaris): Update.
16414
3148ad6d
DJ
164152002-04-16 Dale Johannesen <dalej@apple.com>
16416
16417 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
16418 comparison operands do not match each other or if modes of
16419 conditions do not match result.
16420
014cb9b6 164212002-04-16 Hartmut Penner <hpenner@de.ibm.com>
562a69be 16422
014cb9b6
HP
16423 PR target/6305
16424 * config/s390/s390.md (mulsidi3): Set both subregs of the
46468cd9 16425 multiword register.
562a69be 16426
014cb9b6 164272002-04-16 Aldy Hernandez <aldyh@redhat.com>
4c8c0dec 16428
8947df0c 16429 * config/rs6000/altivec.h (vec_addc): Type check.
4c8c0dec 16430
a9772b60
JJ
164312002-04-16 Jakub Jelinek <jakub@redhat.com>
16432
16433 PR middle-end/6279
16434 * expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
16435
16436 * expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
16437
861829ed
RH
164382002-04-15 Richard Henderson <rth@redhat.com>
16439
16440 * config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
16441 call_really_used_regs too.
16442
bcf2fe9c
RH
164432002-04-15 Richard Henderson <rth@redhat.com>
16444
16445 * config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
16446
629111c7
DM
164472002-04-15 David S. Miller <davem@redhat.com>
16448
16449 * rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
16450 as being CLOBBERed.
16451
98ef3137
JJ
164522002-04-16 Jakub Jelinek <jakub@redhat.com>
16453
16454 PR c/6290
16455 * config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
16456 CONST_VECTOR is { 0, ... 0 }.
16457
0aa911c5
LR
164582002-04-15 Loren J. Rittle <ljrittle@acm.org>
16459
16460 * doc/install.texi (Installing GCC: Configuration): Clarify
16461 the only supported ways to configure gcc.
16462
83248d49 164632002-04-15 Roland McGrath <roland@frob.com>
46468cd9 16464
83248d49
RM
16465 * config.gcc (alpha*-*-gnu*): New target configuration.
16466 * config/alpha/gnu.h: New file for it.
16467 * config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
16468
b2123dc0
MM
164692002-04-16 Mark Mitchell <mark@codesourcery.com>
16470
16471 * c-common.h (STMT_EXPR_NO_SCOPE): New macro.
16472 * c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
16473 * tree.h (expand_start_stmt_expr): Update prototype.
16474 * stmt.c (expand_start_stmt_expr): Add has_scope parameter.
16475 * tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
16476 on the STMT_EXPR created for the inline function.
46468cd9 16477
8fe2d853
RH
164782002-04-15 Richard Henderson <rth@redhat.com>
16479
16480 * config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
16481 config/i386/linux-aout.h, config/i386/linux-oldld.h,
16482 config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
16483 config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
16484 config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
16485 config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
16486 config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
16487 Define __gnu_linux__, not gnu_linux.
16488 * config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
16489
07cdae91
MM
164902002-04-15 Mark Mitchell <mark@codesourcery.com>
16491
16492 Remove Chill front end.
16493 * gcc.c (default_compilers): Remove Chill entries.
16494 * ch: Remove directory.
16495 * doc/frontends.texi: Remove information about Chill.
16496 * doc/sourcebuild.texi: Likewise.
16497 * doc/standards.texi: Likewise.
16498
41823c5e
DR
164992002-04-15 Douglas B Rupp <rupp@gnat.com>
16500
16501 * config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
16502 (LONGLONG_STANDALONE): Define.
16503
eb29ddb6
DM
165042002-04-15 David S. Miller <davem@redhat.com>
16505
16506 * config/sparc/sparc.c (sparc_emit_float_lib_cmp):
16507 Call emit_library_call with LCT_NORMAL.
16508 (sparc_initialize_trampoline): Use LCT_foo instead of
16509 magic constant in emit_library_call invocations.
16510 (sparc64_initialize_trampoline): Likewise.
16511 (sparc_profile_hook): Likewise.
16512 * config/sparc/sparc.md: Likewise.
16513
16514 * config/sparc/sparc.c (sparc_extra_constraint_check):
16515 Fix type of argument 'c'.
16516 * config/sparc/sparc-protos.h (sparc_extra_constraint_check):
16517 Likewise.
16518
bd6bec6b
GDR
165192002-04-15 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
16520
16521 * diagnostic.h (output_buffer_state): Redefine.
16522 (output_format_decoder): New macro.
16523 (output_prefixing_rule): Likewise.
16524 (output_line_cutoff): Likewise.
16525 (diagnostic_format_decoder): Adjust.
16526 (diagnostic_prefixing_rule): Likewise.
16527 (diagnostic_line_cutoff): Likewise.
16528 (diagnostic_state): Likewise.
16529 (diagnostic_kind_count): Likewise.
16530 (diagnostic_buffer): Now a macro.
16531
16532 * diagnostic.c (diagnostic_buffer): Remove definition.
16533 (output_is_line_wrapping): Adjust.
16534 (set_real_maximum_length): Likewise.
16535 (output_set_maximum_length): Likewise.
16536 (init_output_buffer): Likewise.
16537 (lhd_print_error_function): Likewise.
16538 (output_do_verbatim): Likewise.
16539
ebef4e8c
NB
165402002-04-14 Neil Booth <neil@daikokuya.demon.co.uk>
16541
16542 * cpperror.c (print_location): Don't print include chain
16543 if line == 0.
16544 (cpp_begin_message): Update to use DL_ macros.
16545 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
16546 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
16547 cpp_notice, cpp_notice_from_errno): Remove.
16548 (cpp_error, cpp_error_with_line): Update to take a diagnostic
16549 level.
16550 (cpp_errno): New.
16551 * cppexp.c (CPP_ICE): Remove.
16552 (SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
16553 lex, integer_overflow, _cpp_parse_expr): Update.
16554 * cppfiles.c (read_include_file, find_include_file,
16555 handle_missing_header, _cpp_read_file, remap_filename): Update.
16556 * cpphash.h (enum error_type): Remove.
16557 (_cpp_begin_message): Update.
16558 * cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
16559 cpp_handle_option, cpp_post_options): Update.
16560 * cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
16561 skip_whitespace, parse_identifier, parse_slow, parse_string,
16562 _cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
16563 cpp_interpret_charconst): Update.
16564 * cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
16565 lex_macro_node, do_undef, glue_header_name, parse_include,
16566 do_include_common, read_flag, do_line, do_linemarker, do_ident,
16567 cpp_register_pragma, do_pragma_once, do_pragma_system_header,
16568 do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
16569 do_elif, do_endif, parse_answer, parse_assertion, do_assert,
16570 _cpp_pop_buffer, do_diagnostic): Update.
16571 * cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
16572 DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
16573 (cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
16574 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
16575 cpp_notice, cpp_notice_from_errno): Remove.
16576 (cpp_error, cpp_error_with_line): Update to take a diagnostic
16577 level.
16578 (cpp_errno): New.
16579 * cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
16580 collect_args, enter_macro_context, save_parameter, parse_params,
16581 _cpp_create_definition, check_trad_stringification,
16582 cpp_macro_definition): Update.
16583 * cppmain.c (cpp_preprocess_file): Update.
16584 * fix-header.c (read_scan_file): Update.
16585
c19a3859
AS
165862002-04-14 Andreas Schwab <schwab@suse.de>
16587
16588 * config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
16589
10fdbed6
JD
165902002-04-14 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
16591
16592 * config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
16593
77660a9a
MM
165942002-04-13 Mark Mitchell <mark@codesourcery.com>
16595
16596 * config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
16597 not gnu_hurd.
16598
e0ff1ded
HPN
165992002-04-13 Hans-Peter Nilsson <hp@axis.com>
16600
16601 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
16602
2341c7ea
JS
166032002-04-13 Joel Sherrill <joel@OARcorp.com>
16604
16605 * config/sparc/t-elf: Enable v8 multilibs. Impacts
16606 sparc-elf and sparc-rtems targets.
16607
d29350c0
MM
166082002-04-13 Mark Mitchell <mark@codesourcery.com>
16609
16610 * alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
16611 defined, and __gnu_hurd__ wherever __GNU__ is defined.
16612 * arm/linux-elf.h: Likewise.
16613 * cris/aout.h: Likewise.
16614 * cris/linux.h: Likewise.
16615 * i370/linux.h: Likewise.
16616 * i386/gnu.h: Likewise.
16617 * i386/linux-aout.h: Likewise.
16618 * i386/linux-oldld.h: Likewise.
16619 * i386/linux.h: Likewise.
16620 * i386/linux64.h: Likewise.
16621 * ia64/linux.h: Likewise.
16622 * m68k/linux-aout.h: Likewise.
16623 * m68k/linux.h: Likewise.
16624 * mips/linux.h: Likewise.
16625 * pa/pa-linux.h: Likewise.
16626 * pj/linux.h: Likewise.
16627 * rs6000/sysv4.h: Likewise.
16628 * s390/linux.h: Likewise.
16629 * sh/linux.h: Likewise.
16630 * sparc/linux-aout.h: Likewise.
16631 * sparc/linux.h: Likewise.
16632 * sparc/linux64.h: Likewise.
16633 * xtensa/linux.h: Likewise.
16634
fc552851
RS
166352002-04-13 Richard Sandiford <rsandifo@redhat.com>
16636
16637 * stmt.c (check_unique_operand_names): Expect operand names to
16638 be strings rather than identifiers. Use simple_cst_equal to
16639 compare them.
16640 (resolve_operand_name_1): Make same identifier to string change here.
16641 * c-parse.in (asm_operand): Convert a named operand into a string.
16642 * cp/parse.y (asm_operand): Likewise.
16643
1d405c5e
AS
166442002-04-13 Andreas Schwab <schwab@suse.de>
16645
16646 * config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
16647
c740732f
MM
166482002-04-12 Mark Mitchell <mark@codesourcery.com>
16649
16650 Revert these changes:
16651
16652 2002-04-06 Mark Mitchell <mark@codesourcery.com>
16653
16654 PR c++/5571
16655 * stor-layout.c (layout_decl): Reset the RTL for the decl.
16656
3fc602a0
RH
166572002-04-12 Richard Henderson <rth@redhat.com>
16658
16659 * config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
16660 (sparc*-*-solaris): Clean up header files.
16661 * configure.in (AS_SPARC64_FLAG): Error out if can't find it
16662 and plan on generating 64-bit code.
16663 * toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
16664 * config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
16665 * config/sparc/sol2-sld-64.h: Rename ...
16666 * config/sparc/sol2-bi.h: ... here. Remove the bits that checked
16667 for AS_SPARC64_FLAG not defined.
16668 * config/sparc/sol2-gld-bi.h: New.
16669 * config/sparc/sol2-sld.h: Remove.
16670 * config/sparc/sol26-sld.h: New.
16671 * config/sparc/sol2.h: Tidy comments.
16672 * doc/install.texi: Document sparc-solaris configury changes.
16673
2f15e255
RH
166742002-04-12 Richard Henderson <rth@redhat.com>
16675
16676 * recog.c (offsettable_address_p): Match the logic in adjust_address.
16677
16678 * config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
16679 in 64-bit mode only. Use only for 32-bit or MEDLOW.
16680
cc8475cb
RO
166812002-04-12 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16682
16683 * config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
16684
6f133a4a
JL
16685Fri Apr 12 15:42:59 2002 Jeffrey A Law (law@redhat.com)
16686
ef1b8858 16687 * pa.c (pa_can_combine_p): Call extract_insn before calling
6f133a4a
JL
16688 constrain_operands.
16689
1329e600
DR
166902002-04-12 Douglas B Rupp <rupp@gnat.com>
16691
16692 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
16693 (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
16694 (DEFAULT_PCC_STRUCT_RETURN): Define as 0.
2d424b9f 16695 (CPP_PREDEFINES): Handle __declspec.
1329e600
DR
16696 * config/i386/t-interix (USER_H): Remove.
16697
0339d239
DD
166982002-04-12 DJ Delorie <dj@redhat.com>
16699
16700 * integrate.c (compare_blocks): Make comparisons safe for when
16701 sizeof(int) < sizeof(char *).
16702 (find_block): Likewise.
16703
cc4d5fec
JH
167042002-04-12 Jan Hubicka <jh@suse.cz>
16705 David Edelsohn <edelsohn@gnu.org>
16706
16707 * config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
16708 registers.
16709 (symbol_ref_operand): New.
16710 * config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
16711 * config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
16712
93215a1b
AS
167132002-04-12 Andreas Schwab <schwab@suse.de>
16714
16715 * config/ia64/ia64.h (ASM_SPEC): Moved from here ...
16716 * config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
16717 overrides the definition in config/svr4.h.
46468cd9 16718
1d80248e
EN
167192002-04-12 Eric Norum <eric.norum@usask.ca>
16720
16721 * config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
16722 config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
16723 config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
16724 config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
16725 config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
16726 config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
16727 config/v850/rtems.h (*-rtems*): Cleanup pass to move common
16728 definitions to config/rtems.h and make the targets more similar.
16729
fa1591cb
RK
16730Fri Apr 12 08:06:54 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16731
fa06ab5c
RK
16732 * expr.c (expand_assigment): Remove duplicate conversions #ifdef
16733 POINTERS_EXTEND_UNSIGNED.
16734 (store_constructor, expand_expr, case COMPONENT_REF): Likewise.
16735 (store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
16736
fa1591cb
RK
16737 * emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
16738 not specified.
16739
12e85a0e
R
16740Fri Apr 12 12:11:26 2002 J"orn Rennecke <joern.rennecke@superh.com>
16741
16742 * sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
16743 depends on TARGET_SHMEDIA, not TARGET_SH5.
16744
1ab3e58a
HPN
167452002-04-12 Hans-Peter Nilsson <hp@bitrange.com>
16746
16747 * function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
16748 For paradoxical (subreg VAR), replace VAR, don't try the subreg.
16749
18778292
R
16750Fri Apr 12 10:51:38 2002 J"orn Rennecke <joern.rennecke@superh.com>
16751
16752 * sh.c (broken_move): Constant 0. / 1. load is OK if there is
16753 no r0 clobber.
16754
9002507c
AS
167552002-04-12 Andreas Schwab <schwab@suse.de>
16756
16757 * config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
16758
9be40833
RH
167592002-04-12 Richard Henderson <rth@redhat.com>
16760
16761 PR bootstrap/4191
16762 * config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
16763
16764 * flow.c (mark_used_reg): Manage reg_cond_dead properly for
16765 modes spanning multiple hard regs.
46468cd9 16766
9be40833
RH
16767 * recog.c (peephole2_optimize): Rebuild jump labels as needed.
16768
3d9268b6
JDA
167692002-04-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
16770
16771 * pa.c (pa_output_function_prologue): Don't accumulate the total
16772 number of code bytes when using TARGET_64BIT, or gas, SOM and not
16773 the portable runtime.
16774 (output_deferred_plabels): Handle 64bit plabels.
16775 (output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
16776 generating pic code using the GAS assembler for object formats that
16777 are not SOM (ie., ELF32 and ELF64).
16778 (output_millicode_call): Check attribute type if attribute length is 28.
16779 Likewise use $PIC_pcrel$0. Only call get_attr_length and
16780 dbr_sequence_length once.
16781 (output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
16782 dbr_sequence_length once.
16783 * pa.h (TARGET_SOM): Define if not defined.
16784 * pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
16785 with GAS and not SOM.
16786 (jump, call_internal_reg, call_value_internal_reg): Likewise.
16787 * som.h (OBJ_SOM): Rename to TARGET_SOM. Undefine before defining.
16788
d360fd18
DB
167892002-04-11 David O'Brien <obrien@FreeBSD.org>
16790
16791 * config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
16792 (DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
16793 (USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
16794 DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
16795 elfos.h and dbxelf.h values are fine now.
16796 * config/i386/freebsd.h, config/alpha/freebsd.h
16797 (DEFAULT_PCC_STRUCT_RETURN): Define to 0.
16798
5b8fcab6
DB
167992002-04-11 David O'Brien <obrien@FreeBSD.org>
16800
16801 * config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
16802 or set Acpu or Amachine. Reformat.
16803 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
16804 define.
16805 (LINK_SPEC): Do not need to undef.
16806 * config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
16807 * config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
16808 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
16809 define.
16810 * config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
16811 (ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
16812 (LINK_SPEC): Do not need to undef.
16813 (DONT_USE_BUILTIN_SETJMP): Do not define.
16814 * config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
16815 (CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine. Remove -Dia64.
16816 (DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
16817 Remove trailing spaces.
16818 * config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
16819 __ELF__, or set Acpu or Amachine. Reformat.
16820 (ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
16821 define.
16822
fee42cc1
DB
168232002-04-11 David O'Brien <obrien@FreeBSD.org>
16824
16825 * config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
16826 all other *-*-freebsd* targets.
16827
77a403e4
RH
168282002-04-11 Richard Henderson <rth@redhat.com>
16829
16830 * config.gcc (alpha*-*-linux*ecoff): Detect and reject.
16831
cf0005c6
DB
168322002-04-11 David O'Brien <obrien@FreeBSD.org>
16833
16834 * config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
16835 Include {cpu}/{cpu}.h thru tm_file.
16836 (alpha*-*-linux*ecoff): Remove target.
16837 * config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
16838 (LINK_SPEC): Remove, is not OS independent.
16839 * config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
16840 (LINK_SPEC): Do not need to #undef any longer.
16841 * config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
16842 any longer.
16843 * config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
16844 __ELF__.
16845 (LINK_SPEC): Moved here from alpha/elf.h.
16846 * config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
16847 SUB_CPP_PREDEFINES.
16848 * config/alpha/linux-ecoff.h: Remove.
16849 * config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
16850 (CPP_SPEC): Define _POSIX_SOURCE as needed.
16851 (CPP_SUBTARGET_SPEC): Do not define.
16852 (LINK_SPEC): Do not need to #undef any longer.
16853 * config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
16854 * config/alpha/vms.h: Likewise.
16855
9be40833 168562002-04-11 Richard Sandiford <rsandifo@redhat.com>
7825d1cf
RS
16857
16858 * doc/extend.texi: Remove old claim that typedefs cannot have
16859 an alignment attribute.
16860
010f87c4
JJ
168612002-04-11 Jakub Jelinek <jakub@redhat.com>
16862
16863 PR optimization/6177
16864 * expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
16865 bitpos is 0 and bitsize CONCAT size.
16866
578fc63d
JJ
168672002-04-11 Jakub Jelinek <jakub@redhat.com>
16868
16869 PR c/6223
16870 * combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
16871
bf9b85ce
DB
168722002-04-10 David O'Brien <obrien@FreeBSD.org>
16873
16874 * config/alpha/freebsd.h: Minor reformatting.
16875 (CPP_SPEC): Define ELF and add cpp_subtarget.
16876 (ASM_SPEC): No longer needed.
16877
7425707d
RH
168782002-04-11 Richard Henderson <rth@redhat.com>
16879
16880 * config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
16881 (movdi_insn_sp32_v9): Likewise. Only allow stx with aligned memory.
16882 (dimode mem/zero splitter): New.
16883
1a05e874
HPN
168842002-04-11 Hans-Peter Nilsson <hp@axis.com>
16885
16886 * config/cris/cris.c (cris_override_options): Tweak error message
16887 for PIC not implemented.
16888
16889 * config/cris/cris.h: Tweak comments related to parameter-passing.
16890
16891 * t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
16892
6f3d0447
RH
168932002-04-10 Richard Henderson <rth@redhat.com>
16894
16895 * except.c (add_ehl_entry): Allow duplicates after landing pad
16896 creation.
16897
174bf2b1
DE
168982002-04-10 David Edelsohn <edelsohn@gnu.org>
16899
16900 * config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
16901
03f10472
TM
169022002-04-10 Toon Moene <toon@moene.indiv.nluug.nl>
16903
16904 * c-decl.c (c_init_decl_processing): Move generation of
16905 decls for g77_integer_type_node and friends from here ...
16906 * c-common.c (c_common_nodes_and_builtins): ... to here.
16907
2f460a0a
UW
169082002-04-10 Ulrich Weigand <uweigand@de.ibm.com>
16909
16910 * reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
16911 is only used as frame pointer when frame_pointer_needed is true.
16912
0be5cf85
RE
169132002-04-10 Richard Earnshaw <rearnsha@arm.com>
16914
16915 PR target/817
16916 * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
16917 for the fact that the pool entry uses two words.
16918 (movdf_hard_insn): Similarly. Also, ADR instruction can span
16919 1k bytes.
16920 (movdf_soft_insn): Similarly.
16921 (movxf_hard_insn): Adjust neg_pool_range attribute to allow
16922 for the fact that the pool entry uses three words.
16923
bf6d4777
RS
169242002-04-10 Richard Sandiford <rsandifo@redhat.com>
16925
16926 * config/mips/mips.c (mips_va_arg): When using the struct version
16927 of the EABI va_list, allow arguments in the register save area to
16928 take up less room than a stack argument.
16929
c2e9dc85
RH
169302002-04-10 Richard Henderson <rth@redhat.com>
16931
16932 * expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
16933 if EXPAND_INITIALIZER.
16934
bc8e8e97
RH
169352002-04-09 Richard Henderson <rth@redhat.com>
16936
16937 * config/alpha/alpha.md (movdi_er_maybe_g): New.
16938 * config/alpha/alpha.c (alpha_expand_mov): Use it.
16939
a6a063b8
AM
169402002-04-10 Alan Modra <amodra@bigpond.net.au>
16941
16942 PR optimization/6233
16943 * rtlanal.c (pure_call_p): New function.
16944 * rtl.h (pure_call_p): Declare.
16945 * loop.c (prescan_loop): Use it to set has_nonconst_call.
16946 * gcse.c (store_killed_in_insn): Use pure_call_p here too.
16947
7b2e1077
EC
169482002-04-09 Eric Christopher <echristo@redhat.com>
16949
16950 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
16951 information to .comm directive.
16952
d8a50944
RH
169532002-04-09 Richard Henderson <rth@redhat.com>
16954
16955 PR c/5078
16956 * expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
16957
6a58eee9
RH
169582002-04-09 Richard Henderson <rth@redhat.com>
16959
16960 * basic-block.h (flow_delete_block_noexpunge): Declare.
16961 (expunge_block_nocompact): Declare.
16962 * cfg.c (expunge_block_nocompact): Split out from ...
16963 (expunge_block): ... here.
16964 * cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
16965 (flow_delete_block_noexpunge): Split out from ...
16966 (flow_delete_block): ... here.
16967 * cfgcleanup.c (delete_unreachable_blocks): Compact while
16968 removing dead blocks.
16969 * except.c (exception_handler_labels): Remove.
16970 (exception_handler_label_map): New.
16971 (struct eh_region): Add aka member.
16972 (mark_ehl_map_entry, mark_ehl_map, free_region): New.
16973 (ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
16974 (for_each_eh_label, for_each_eh_label_1): New.
16975 (init_eh): Register exception_handler_label_map.
16976 (free_eh_status): Use free_region.
16977 (find_exception_handler_labels): Use the map, not the list.
16978 (remove_exception_handler_label): Likewise.
16979 (maybe_remove_eh_handler): Likewise.
16980 (remove_eh_handler): Use the region aka bitmap.
16981 * except.h (exception_handler_labels): Remove.
16982 (for_each_eh_label): Declare.
16983 * jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
16984 * loop.c (invalidate_loops_containing_label): New.
16985 (find_and_verify_loops): Use it. Use for_each_eh_label.
16986 * sched-rgn.c (is_cfg_nonregular): Use
16987 current_function_has_exception_handlers.
16988
b47374fa
RH
169892002-04-09 Richard Henderson <rth@redhat.com>
16990
16991 * sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
16992 sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
16993 Do not return changed status.
16994 (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
16995 sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
16996 New functions that do return changed status.
16997 * sbitmap.h: Update decls.
16998 * gcse.c, lcm.c: Use _cg functions as needed.
16999
1951818c
R
17000Tue Apr 9 19:15:57 2002 J"orn Rennecke <joern.rennecke@superh.com>
17001
17002 * config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
17003 (sh64-*-elf*, sh-*-rtemself*): Likewise.
17004 * config/sh/embed_bb.c: New file.
17005 * config/sh/embed-elf.h: New file.
17006 * sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
17007 if -m[12345]* option is given. Don't use subtarget_cpp_ptr_spec.
17008 (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
17009 __PTRDIFF_TYPE__ .
17010 (SUBTARGET_CPP_PTR_SPEC): Don't define.
17011 (EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
17012 Add subtarget_asm_endian_spec.
17013 (ASM_SPEC): Use subtarget_asm_endian_spec.
17014 (SUBTARGET_ASM_ENDIAN_SPEC): Define.
17015 (RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
17016 (WCHAR_UNSIGNED): Define.
17017 (SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
17018 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
17019 (ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
17020 Fix value.
17021 * sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
17022 (sh_adjust_cost): Likewise.
17023 sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
17024 __PTRDIFF_TYPE__ .
17025 (SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
17026 (WCHAR_TYPE_SIZE): Likewise.
17027 (ASM_SPEC): Use subtarget_asm_endian_spec.
17028 (SH_ELF_WCHAR_TYPE): #undef/ #define.
17029 (MAX_WCHAR_TYPE_SIZE): Don't #undef.
17030 * config/sh/elf.h (WCHAR_UNSIGNED): #undef .
17031 (MAX_WCHAR_TYPE_SIZE): Don't #define .
17032 (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
17033 (USER_LABEL_PREFIX): Don't #undef /#define .
17034 (DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
17035 * config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
17036 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
17037 (ASM_SPEC): Likewise.
17038 (SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
17039 (CC1_SPEC): don't supply -m3 for -m4*, -m5*.
17040 * t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
17041 (LIB2FUNCS_EXTRA): Define.
17042 * t-sh64 (LIB2FUNCS_EXTRA): Define.
17043 * config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
17044 (LIB1ASMFUNCS_CACHE): Define.
17045 (LIB2FUNCS_EXTRA): Redefine empty.
17046
34295799
RH
170472002-04-08 Richard Henderson <rth@redhat.com>
17048
17049 * reorg.c (get_branch_condition): Use reversed_comparison_code.
17050
e8766a39
SC
170512002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17052
17053 * config/m68hc11/larith.asm (__map_data_section): Fix condition
17054 and optimize for size.
17055 (__do_global_ctors): Fix pointer comparison.
17056 (__do_global_dtors): Likewise.
17057
f451b552
DM
170582002-04-09 David S. Miller <davem@redhat.com>
17059
17060 * config/sparc/sparc.c (sparc_extra_constraint_check): New
17061 function, implementing EXTRA_CONSTRAINTS. For memory constraints,
17062 allow reloading pseudos.
17063 * config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
17064 * config/sparc/sparc-protos.h: Declare it.
17065
17066 * config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
17067 unsigned comparison warning.
17068 (output_restore_regs): Mark leaf_function as unused.
17069
1ce7f3c2
RK
17070Tue Apr 9 09:35:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17071
17072 * expr.c (is_aligning_offset): New function.
17073 (expand_expr, case COMPONENT_EXPR): Call it.
17074
7a31a340
DM
170752002-04-08 David S. Miller <davem@redhat.com>
17076
17077 PR target/6082
17078 * config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
17079
17080 Make init_priority work on Sparc when using GNU ld.
17081 * config/sparc/linux.h, config/sparc/linux64.h,
17082 config/sparc/netbsd-elf.h, config/sparc/freebsd.h
17083 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
17084 * config/sparc/sol2-gld.h: New file to do the same.
17085 * config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
17086 sparc/sol2-gld.h to tm_file.
17087
17088 PR optimization/4328
17089 * config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
17090 * doc/md.texi: Document it.
17091 * config/sparc/sparc.md (movdi_insn_sp64_novis,
17092 movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
17093 movdf_insn_v9only_vis, movdf_insn_sp64_novis,
17094 movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
17095 * config/sparc/sparc.c (mem_min_alignment): Fix comment.
17096
11579f33
AJ
170972002-04-08 Andreas Jaeger <aj@suse.de>
17098
17099 * stmt.c (expand_asm_operands): Revert last patch from Richard
17100 Henderson.
17101
b57215d9
GP
171022002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17103
17104 * doc/contrib.texi (Contributors): Add John David Anglin and Loren
17105 J. Rittle (the latter also to Testers). Update David O'Brien's entry.
17106
171072002-04-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17108
17109 * doc/contrib.texi (Contributors): Add David O'Brien.
17110
534d0cc0
AM
171112002-04-08 Alan Modra <amodra@bigpond.net.au>
17112
17113 * configure.in (auto-build.h): Use target_alias and build_alias
17114 when running configure.
17115 (gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
17116 (gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
17117 * configure: Regenerate.
17118
19fe522a
DM
171192002-04-07 David S. Miller <davem@redhat.com>
17120
17121 * config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
17122
bf2d0b8e
JDA
171232002-04-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
17124
17125 PR 5933
17126 * pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
17127 generating 32-bit pic code.
17128
477cdac7
JT
171292002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
17130
17131 * cppinit.c (cpp_create_reader): Initialize
17132 discard_comments_in_macro_exp.
17133 (COMMAND_LINE_OPTIONS): Add "-CC" option.
17134 (cpp_handle_option): Handle "-CC" option.
17135 * cpplex.c (save_comment): If saving a C++ comment in
17136 a directive, convert it to a C comment.
17137 (_cpp_lex_direct): Pass second comment start character to
17138 save_comment to indicate comment type.
17139 * cpplib.c (_cpp_handle_directive): If processing
17140 a "#define" directive and discard_comments_in_macro_exp
17141 is false, re-enable saving of comments.
17142 (lex_macro_node): If discard_comments_in_macro_exp is false,
17143 discard any comments before the macro identifier.
17144 * cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
17145 member.
17146 * cppmacro.c (cpp_get_token): If expanding a macro while
17147 processing a directive, discard any comments we might encounter.
17148 (parse_params): If discard_comments_in_macro_exp is false,
17149 ignore comments in the macro parameter list.
17150 * gcc.c (cpp_unique_options): Add "-CC" option.
17151 (option_map): Map "--comments-in-macros" to "-CC".
17152 * doc/cppopts.texi: Document "-CC" option.
17153 * f/lang-specs.h: Add "-CC" option.
17154 * testsuite/gcc.dg/cpp/maccom1.c: New test.
17155 * testsuite/gcc.dg/cpp/maccom2.c: New test.
17156 * testsuite/gcc.dg/cpp/maccom3.c: New test.
17157 * testsuite/gcc.dg/cpp/maccom4.c: New test.
17158 * testsuite/gcc.dg/cpp/maccom5.c: New test.
17159 * testsuite/gcc.dg/cpp/maccom6.c: New test.
17160
f1526122
JDA
171612002-04-06 John David Anglin <dave@hiauly1.hia.nrc.ca>
17162
17163 PR middle-end/6180
17164 * reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
17165
b1896e61
MM
171662002-04-06 Mark Mitchell <mark@codesourcery.com>
17167
0154eaa8
MM
17168 PR c++/5571
17169 * stor-layout.c (layout_decl): Reset the RTL for the decl.
17170
b1896e61
MM
17171 PR opt/5120
17172 * sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
17173 RTX_UNCHANGING_P for the functions arguments when a tail call
17174 is made.
17175
b0148884
JM
171762002-04-06 Jason Merrill <jason@redhat.com>
17177
17178 * toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
17179 (parse_options_and_default_flags): Set them appropriately.
17180 * c-common.c (c_common_post_options): Don't set flag_really_no_inline.
17181
392fc5b0
HPN
171822002-04-06 Hans-Peter Nilsson <hp@bitrange.com>
17183
17184 * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
17185 here.
17186
17187 * config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
17188 semicolon.
17189
17190 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
17191 types come in by-reference. Fix typo in comment.
17192
2d69e3cb
DM
171932002-04-05 David S. Miller <davem@redhat.com>
17194
17195 * config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
17196 * config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
17197 sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
17198 {sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
17199
172002002-04-05 David S. Miller <davem@redhat.com>
17201
17202 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
17203 are not going to emit return instructions, emit at least a nop
17204 for the sake of sane backtraces.
17205
5f9fb0e3
RH
172062002-04-05 Richard Henderson <rth@redhat.com>
17207
17208 * doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
17209
49f37a0d
JJ
172102002-04-05 Jakub Jeilnek <jakub@redhat.com>
17211
17212 * mklibgcc.in: Use $tmpmapfile, not tmp-$@.
17213
974a3101
AO
172142002-04-05 Alexandre Oliva <aoliva@redhat.com>
17215
17216 * config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
17217 ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
17218 ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
17219
2e04a694
AS
172202002-04-05 Andreas Schwab <schwab@suse.de>
17221
a40179bd 17222 * c-convert.c: Include c-common.h.
2e04a694
AS
17223 * Makefile.in (c-convert.o): Updated.
17224
1f785b7c
JJ
172252002-04-05 Jakub Jelinek <jakub@redhat.com>
17226
17227 * mklibgcc.in: Use separate libgcc.map for each multilib.
17228 * Makefile.in (distclean): Don't remove libgcc.map here.
17229
4d2fb38b
JJ
172302002-04-05 Jakub Jelinek <jakub@redhat.com>
17231
17232 * Makefile.in (s-mlib): Handle --disable-multilib by separate
17233 genmultilib invocation.
17234
bb63e5a0
RS
172352002-04-04 Richard Sandiford <rsandifo@redhat.com>
17236
17237 * config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
17238 to avoid clash with Irix header file sys/ucontext.h. Rename gp_regs
17239 to num_gprs for symmetry.
17240 * config/mips/mips.c: Adjust accordingly.
17241
8ab80eaa
NB
172422002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
17243
17244 * c-common.c (truthvalue_conversion): Rename, update.
17245 * c-common.h (c_common_truthvalue_conversion): New.
17246 * c-convert.c (convert): Update.
17247 * c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
17248 * c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
17249 * c-typeck.c (build_binary_op, build_unary_op,
17250 build_conditional_expr): Update.
17251 * fold-const.c (constant_boolean_node, fold): Use langhook.
17252 * langhooks-def.h (LANGHOOK_INITIALIZER): Update.
17253 * langhooks.h (struct lang_hooks): New hook.
17254 * stmt.c (expand_decl_cleanup): Use langhook.
17255 * tree.h (truthvalue_conversion): Remove.
17256objc:
17257 * objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
17258
a2e9374a
AM
172592002-04-05 Alan Modra <amodra@bigpond.net.au>
17260
17261 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
17262 Add rules to make null object file.
17263
64d08263
JB
172642002-04-04 Jim Blandy <jimb@redhat.com>
17265
17266 * cppmacro.c (cpp_macro_definition): Do not emit spaces after
17267 macro formal parameter names.
17268
aa7634dd
DM
172692002-04-04 David S. Miller <davem@redhat.com>
17270
17271 * calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
17272
ecc114f7
RH
172732002-04-04 Richard Henderson <rth@redhat.com>
17274
17275 PR middle-end/5099
17276 * stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
17277 Support copies into and out of memory. Don't accept allows_reg
17278 and allows_mem as gospel.
17279
c4484b8f
RH
172802002-04-04 Richard Henderson <rth@redhat.com>
17281
17282 PR opt/6165
17283 * alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
17284 (write_dependence_p): Likewise.
17285
39002160
RH
172862002-04-04 Richard Henderson <rth@redhat.com>
17287
17288 * predict.c (estimate_bb_frequencies): Do frequency calculation
17289 with a volatile temporary.
17290
f53ebe71
UW
172912002-04-04 Ulrich Weigand <uweigand@de.ibm.com>
17292
17293 * config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
17294
15e0ecab
JJ
172952002-04-04 Jakub Jelinek <jakub@redhat.com>
17296
17297 PR c++/6119
17298 * final.c (final_start_function): Don't bump profile_label_no here...
17299 (final_end_function): ...but here.
17300
ffd386b0
JJ
173012002-04-04 Jakub Jelinek <jakub@redhat.com>
17302
17303 * config/sparc/sparc.md (pic): New attribute.
17304 (do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
17305 into stack slots.
17306 (split after do_builtin_setjmp_setup): New.
17307
8b156b3e
JJ
173082002-04-04 Jakub Jelinek <jakub@redhat.com>
17309
17310 PR fortran/6106
17311 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
17312 change.
17313
014c0998
JJ
173142002-04-04 Jakub Jelinek <jakub@redhat.com>
17315
17316 * config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
17317 UNITS_PER_WORD for zero sized aggregates.
17318
4d8611d9
DM
173192002-04-03 David S. Miller <davem@redhat.com>
17320
17321 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
17322 one-character spec for this, just use %(link_gcc_c_sequence).
17323
b03ad99d
DM
173242002-04-03 David S. Miller <davem@redhat.com>
17325
17326 * config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
17327 handling.
17328
823fbbce
JDA
173292002-04-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
17330
17331 * pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
17332 (DWARF_FRAME_RETURN_COLUMN): Move.
17333 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
17334 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
17335 * pa.c (except.h, predict.h): Include.
17336 (FRP): Delete.
17337 (store_reg_modify, set_reg_plus_d): Revise prototypes.
17338 (output_ascii): Add cast.
17339 (store_reg_modify): Revise to add frame notes.
17340 (set_reg_plus_d): Likewise.
17341 (compute_frame_size): Include space for eh data registers in frame if
17342 the current function calls eh_return.
17343 (hppa_expand_prologue): Ensure register %r2 is saved if the current
17344 function calls eh_return. Save eh data registers if the current
17345 function calls eh_return. Fix code to add frame notes. Emit
17346 blockage to prevent insns with frame notes being scheduled in the
17347 delay slot of calls.
17348 (hppa_expand_epilogue): Restore eh data registers and do final stack
17349 adjustment if the current function calls eh_return. Don't add frame
17350 notes.
17351 (output_call): Revise for change in length of call insn. Don't do
17352 return pointer adjustment for an unconditional jump in the delay slot
17353 of a call when using frame notes.
17354 * pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
17355 (EH_RETURN_HANDLER_RTX): Use saved value on stack.
17356 (ARG_POINTER_CFA_OFFSET): Define.
17357 * pa.md (return_external_pic): New pattern.
17358 (prologue): Correct formatting. Use return_external_pic if current
17359 function calls eh_return.
17360 (call_internal_symref, call_value_internal_symref,
17361 sibcall_internal_symref, sibcall_value_internal_symref): Change default
17362 lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
17363 respectively.
17364 (exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
17365
17366 * configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
17367 list of targets to check using "nop" insn.
17368 * configure: Rebuilt.
17369
4078e224
AM
173702002-04-04 Alan Modra <amodra@bigpond.net.au>
17371
17372 * config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
17373
bbd7687d
DM
173742002-04-03 David S. Miller <davem@redhat.com>
17375
17376 * gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
17377 library sequence passed to the linker.
17378 (LINK_COMMAND_SPEC): Use it.
17379 * doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
17380 a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
17381 * config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
17382
659e5a7a
JM
173832002-04-03 Jason Merrill <jason@redhat.com>
17384
17385 * except.c (struct eh_status): Remove protect_list.
17386 (begin_protect_partials, end_protect_partials): Remove.
17387 (add_partial_entry): Remove.
17388 * except.h: Remove prototypes.
17389
17390 * expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
17391 expand_decl_cleanup_eh.
17392
17393 PR c++/5636
17394 * tree.h (CLEANUP_EH_ONLY): New macro.
17395 * stmt.c (expand_decl_cleanup_eh): New fn.
17396 (expand_cleanups): Check CLEANUP_EH_ONLY.
17397 * c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
17398 Use expand_decl_cleanup_eh.
17399 (expand_stmt): Adjust.
17400 * c-common.h: Adjust prototype.
17401
053d3344
HPN
174022002-04-04 Hans-Peter Nilsson <hp@axis.com>
17403
17404 * config/cris/cris.c (cris_target_asm_function_prologue): Cast
17405 uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
17406 (cris_target_asm_function_epilogue): Ditto.
17407 (cris_initial_frame_pointer_offset): Ditto.
17408 (cris_simple_epilogue): Ditto.
17409 (cris_expand_builtin_va_arg): Variable-size types come in
17410 by-reference.
17411
61ab5260
DM
174122002-04-03 David S. Miller <davem@redhat.com>
17413
17414 * config/sparc/crtfastmath.c (FPRS_NS): Get it right for
17415 little-endian.
17416 (set_fast_math): Correct 'fsr' type.
17417
ef4f94ac
RH
174182002-04-03 Richard Henderson <rth@redhat.com>
17419
36c2272c 17420 PR opt/3569
ef4f94ac
RH
17421 * langhooks.h (lang_hooks.decls.warn_unused_global): New.
17422 * toplev.c (check_global_declarations): Use it.
17423 * langhooks-def.h (lhd_warn_unused_global_decl): Declare.
17424 (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
17425 (LANG_HOOKS_DECLS): Add it.
17426 * langhooks.c (lhd_warn_unused_global_decl): New.
17427 * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
17428 * c-objc-common.c (c_warn_unused_global_decl): New.
17429 * c-tree.h (c_warn_unused_global_decl): Declare.
17430 * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
17431
599bba86
NB
174322002-04-03 Neil Booth <neil@daikokuya.demon.co.uk>
17433
17434 * langhooks-def.h (lhd_set_decl_assembler_name,
17435 LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
17436 (LANG_HOOKS_INITIALIZER): Update.
17437 * langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
17438 * langhooks.h (struct lang_hooks): New hook.
17439 * tree.c (set_decl_assembler_name): Move to langhooks.c.
17440 (lang_set_decl_assembler_name): Remove.
17441 (init_obstacks): Don't set hook.
17442 (decl_assembler_name): New function.
17443 * tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
17444 (decl_assembler_name): New.
17445 (lang_set_decl_assembler_name): Remove.
17446
cf7b8b0d
JJ
174472002-04-03 Jakub Jelinek <jakub@redhat.com>
17448
17449 * configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
17450 works properly with .hidden symbols.
17451 * configure: Rebuilt.
17452 * config.in: Rebuilt.
17453 * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
17454 DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
17455 properly with .hidden symbols.
17456
faf6db38
JJ
174572002-04-03 Jakub Jelinek <jakub@redhat.com>
17458
17459 PR middle-end/6102
17460 * df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
17461 USE argument.
17462
68c17f30
RH
174632002-04-03 Richard Henderson <rth@redhat.com>
17464
17465 PR opt/4120
17466 * sched-rgn.c (sets_likely_spilled): New.
17467 (sets_likely_spilled_1): New.
17468 (add_branch_dependences): Use it.
17469
6584b4aa
RH
174702002-04-02 Richard Henderson <rth@redhat.com>
17471
17472 PR opt/4311
17473 * loop.h (LOOP_FIRST_PASS): New.
17474 * loop.c (strength_reduce): Mind it when deciding to unroll.
17475 * toplev.c (rest_of_compilation): Set it.
17476
0acf409f
DM
174772002-04-02 David S. Miller <davem@redhat.com>
17478
17479 * config/sparc/sparc.md (ldd peephole2s): Fix final arg to
17480 mems_ok_for_ldd_peep when the order of the loads being examined
17481 is reversed.
17482 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
17483 existing comment to increase comprehension of this situation.
17484
85654444
ZW
174852002-04-02 Zack Weinberg <zack@codesourcery.com>
17486
17487 * config/sh/sh.md: Don't use union real_extract.
17488
543828ca
RH
174892002-04-02 Richard Henderson <rth@redhat.com>
17490
17491 * libgcc2.c (__bb_exit_func): Revert 03-31 change.
17492
39ed301b
DB
174932002-04-02 David O'Brien <obrien@FreeBSD.org>
17494
17495 * config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
17496 i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
17497 i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
17498 i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
17499 i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
17500 i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
17501 i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
17502 i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
17503 i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
17504 i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
17505 i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
17506 i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
17507 i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
17508 i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
17509 Include as many configury headers via tm_file as possible. This
17510 includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
17511 * config/openbsd-oldgas.h: New file.
17512 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
17513 config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
17514 config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
17515 config/i386/i386-coff.h, config/i386/i386-interix.h,
17516 config/i386/iscdbx.h, config/i386/linux-aout.h,
17517 config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
17518 config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
17519 config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
17520 config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
17521 config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
17522 config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
17523 config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
17524 config/i386/vxi386.h: Do not directly include configury headers.
17525 * config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
17526 Directly include configury headers that are no longer automatically
17527 included by the above headers.
17528 * config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
17529 * config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
17530 config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
17531 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
17532 config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
17533 config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
17534 config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
17535 (TARGET_VERSION): Define.
17536 * config/i386/beos-elf.h, config/i386/freebsd.h,
17537 config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
17538 config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
17539 config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
17540 config/i386/sco5.h, config/i386/sysv4.h
17541 (TARGET_VERSION): Do not need to protect.
17542 * config/i386/freebsd64.h (TARGET_VERSION): Fix style.
17543 * config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
17544 config/i386/freebsd-aout.h, config/i386/i386-aout.h,
17545 config/i386/i386-interix.h, config/i386/linux-aout.h,
17546 config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
17547 config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
17548 (YES_UNDERSCORES): Do not define - not needed.
17549 * config/i386/bsd.h, config/i386/gas.h (LPREFIX,
17550 ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
17551 USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
17552 * config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
17553 (LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
17554 USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
17555 * config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
17556 * config/i386/isccoff.h, config/i386/v3gas.h: Remove.
17557
9432c136
EB
175582002-04-02 Eric Botcazou <ebotcazou@multimania.com>
17559 Richard Henderson <rth@redhat.com>
17560
17561 PR c/5484
17562 * function.c (assign_temp): Accept either type or decl argument.
17563 Detect variables whose size is too large to fit into an integer.
17564 * stmt.c (expand_decl): Pass the decl, not the type.
17565
058b1275
DB
175662002-04-02 David O'Brien <obrien@FreeBSD.org>
17567
17568 * protoize.c: Match include directory usage with cppdefault.c.
17569
5add6d1a 175702002-04-03 Jeffrey A Law (law@redhat.com)
9be40833 17571 Hans-Peter Nilsson <hp@bitrange.com>
5add6d1a
JL
17572
17573 * combine.c (simplify_comparison): Avoid narrowing a comparison
17574 with a paradoxical subreg when doing so would drop signficant bits.
17575
1e533e4b
SE
175762002-04-02 Steve Ellcey <sje@cup.hp.com>
17577
17578 * builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
17579 if POINTERS_EXTEND_UNSIGNED is defined.
17580
7a145e92
RH
175812002-04-02 Richard Henderson <rth@redhat.com>
17582
17583 PR opt/3967
17584 * local-alloc.c (contains_replace_regs): LO_SUM may contain
17585 replace regs.
17586
3a079822
RH
175872002-04-02 Richard Henderson <rth@redhat.com>
17588
17589 * doc/standards.texi: Document required freestanding libc entry points.
17590
c94ccb87
AM
175912002-04-02 Alan Modra <amodra@bigpond.net.au>
17592
17593 * config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
17594 associated splitter. Remove MQ constraint.
17595 (ctrdi_internal4): Correct CCmode clobber.
17596
fe660a1a
JDA
175972002-04-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
17598
17599 * milli64.S ($$dyncall): New function.
17600 * t-linux (LIB1ASMFUNCS): Revise module list.
17601 (LIB1ASMSRC): Use pa/milli64.S.
17602
eadc0202
RH
176032002-04-02 Richard Henderson <rth@redhat.com>
17604
17605 * fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
17606 rename solaris_sys_varargs_h.
17607
a1471322
RK
17608Tue Apr 2 06:47:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17609
17610 * stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
17611 the same mode as its component.
17612
c8b94768
RH
176132002-04-02 Richard Henderson <rth@redhat.com>
17614
17615 PR opt/190
17616 * final.c (this_is_asm_operands): Export.
17617 * output.h (this_is_asm_operands): Declare.
17618 * config/i386/i386.c (print_operand): Error odd asm operands.
17619
161eb4fc
RH
176202002-04-02 Richard Henderson <rth@redhat.com>
17621
17622 PR opt/420
17623 * config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
17624
b88a94c6
RH
176252002-04-01 Richard Henderson <rth@redhat.com>
17626
17627 PR target/1538
17628 * fixinc/inclhack.def (solaris_sys_varargs_h): New.
17629 * fixinc/fixincl.x: Rebuild.
17630
72e32876
RH
176312002-04-01 Richard Henderson <rth@redhat.com>
17632
17633 * config/ia64/unwind-ia64.c: Include ia64intrin.h.
17634 (atomic_alloc, atomic_free): New.
17635 (SIZE, MASK_FOR, PTR_IN): New.
17636 (emergency_reg_state, emergency_reg_state_free): New.
17637 (emergency_labeled_state, emergency_labeled_state_free): New.
17638 (reg_state_alloced, labeled_state_alloced): New.
17639 (alloc_reg_state, free_reg_state): New.
17640 (alloc_label_state, free_label_state, free_label_states): New.
17641 (push, pop, dup_state_stack, free_state_stack): Use them.
17642 (desc_label_state): Likewise.
17643 (uw_frame_state_for): Free label states and state stack.
17644 (uw_update_reg_address): Eliminate warnings.
17645
84d76074
VM
176462002-04-01 Vladimir Makarov <vmakarov@redhat.com>
17647
17648 * config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
9be40833 17649 ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
84d76074 17650
dffd7eb6
NB
176512002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
17652
17653 * c-decl.c (grokdeclarator): Update.
17654 * c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
17655 * c-tree.h (c_mark_addressable): New.
17656 * c-typeck.c (default_function_array_conversion, build_unary_op,
17657 build_array_ref, convert_for_assignment): Update.
17658 (mark_addressable): Rename.
17659 * calls.c (try_to_integrate, expand_call): Use langhook.
17660 * expr.c (expand_expr): Use langhook.
17661 * langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
17662 * langhooks.h (struct lang_hooks): New hook.
17663 * stmt.c (expand_asm_operands): Use langhook.
17664 * tree.h (mark_addressable): Remove.
17665objc:
17666 * objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
17667
544ef5b5
BW
176682002-04-01 Bob Wilson <bob.wilson@acm.org>
17669
9be40833
RH
17670 * config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
17671 in previous change.
544ef5b5 17672
bcf88f9b
BW
176732002-04-01 Bob Wilson <bob.wilson@acm.org>
17674
17675 * config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
17676 for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
17677
ceef8ce4
NB
176782002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
17679
17680 * c-common.c (unsigned_conversion_warning, convert_and_check,
17681 unsigned_type, signed_type, shorten_compare,
17682 c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
17683 (unsigned_type, signed_type, signed_or_unsigned_type): Rename.
17684 * c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
17685 New.
17686 * c-decl.c (grokdeclarator): Update.
17687 * c-format.c (check_format_types): Update.
17688 * c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
17689 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
17690 * c-typeck.c (build_binary_op, convert_for_assignment): Update.
17691 * convert.c (convert_to_integer): Use new hooks.
17692 * expmed.c (make_tree): Use new hooks.
17693 * expr.c (store_expr): Use new hooks.
17694 * fold-const.c (operand_equal_for_comparison_p, build_range_check,
17695 all_ones_mask_p, unextend, fold): Use new hooks.
17696 * langhooks.h (struct lang_hooks_for_types): New hooks.
17697 * tree.h (signed_or_unsigned_type, signed_type,
17698 unsigned_type): Remove.
17699objc:
17700 * objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
17701 LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
17702
1d9ad0e0
RH
177032002-03-31 Richard Henderson <rth@redhat.com>
17704
17705 * config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
17706 (desc_frgr_mem): Fix reference to f16-f31.
17707
d544bc39
KG
177082002-03-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17709
17710 * rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
17711 RTVEC_ELT): Const-ify.
d8750784
KG
17712 * varray.h (VARRAY_CHECK): Const-ify.
17713 * ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
17714 ggc_mark_rtvec, ggc_mark): Const-ify.
d544bc39 17715
b18101c7
NB
177162002-04-01 Neil Booth <neil@daikokuya.demon.co.uk>
17717
17718 * diagnostic.c: Include langhooks-def.h.
17719 * Makefile.in (diagnostic.o): Update.
17720
48a7a235
NB
177212002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
17722
17723 * c-common.c (c_unsafe_for_reeval): Rename.
17724 * c-common.h (c_unsafe_for_reeval): Rename.
17725 * c-decl.c (finish_incomplete_decl): Rename.
17726 (c_init_decl_processing): Don't set langhook.
17727 * c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
17728 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
17729 * c-objc-common.c (c_objc_common_init): Don't set langhook.
17730 * c-tree.h (finish_incomplete_decl): Rename.
17731 * langhooks-def.h (lhd_unsafe_for_reeval): New.
17732 (LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
17733 (LANG_HOOKS_INITIALIZER): Update.
17734 * langhooks.c (lhd_unsafe_For_reeval): New.
17735 * langhooks.h (struct langhooks): New hooks.
17736 * toplev.c (incomplete_decl_finalize_hook): Remove.
17737 (wrapup_global_declarations): Update.
17738 * tree.c (lang_unsafe_for_reeval): Remove.
17739 (unsafe_for_reeval): Update.
17740 * tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
17741 Remove.
17742objc:
17743 * objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
17744 LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
17745
7cb32822
NB
177462002-03-31 Neil Booth <neil@daikokuya.demon.co.uk>
17747
17748 * diagnostic.c (print_error_function): Remove.
17749 (default_print_error_function): Rename.
17750 (report_error_function): Update.
17751 * diagnostic.h (print_error_function): Remove.
17752 (default_print_error_function): Remove.
17753 * langhooks-def.h (struct diagnostic_context): Predeclare.
17754 (lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
17755 (LANG_HOOKS_INITIALIZER): Update.
17756 * langhooks.h (struct diagnostic context): Predeclare.
17757 (struct lang_hooks): New hook.
17758
1db02437
FS
177592002-03-31 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
17760
17761 * config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
17762 (PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
17763 !flag_pic.
17764 (CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
17765 * config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
17766 of PIC_OFFSET_TABLE_REGNUM thruout.
17767 * config/rs6000/rs6000.md: Likewise.
17768 * config/rs6000/darwin.h: Likewise.
17769
3bf1e984
RK
17770Sun Mar 31 14:43:24 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17771
17772 * emit-rtl.c (adjust_address_1, offset_address): Cast value to
17773 unsigned HOST_WIDE_INT, not unsigned int.
17774
0864c526
JJ
177752002-03-31 Jakub Jelinek <jakub@redhat.com>
17776
17777 PR middle-end/6096, middle-end/6098, middle-end/6099
17778 * reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
17779 CODE_LABELs.
17780 (fill_slots_from_thread): Likewise.
17781
105b2084
JJ
177822002-03-31 Jakub Jelinek <jakub@redhat.com>
17783
17784 * config/sparc/sparc.c (function_arg_record_value_1): Pass complex
17785 floating fields in float regs.
17786 (function_arg_record_value_2): Likewise.
17787
db08fddf
HPN
177882002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
17789
17790 * config/mmix/mmix.md (define_constants): Remove misleading
17791 FIXME. Add MMIX_fp_rO_OFFSET.
17792 ("nonlocal_goto_receiver"): Don't have stack-frame address of
17793 saved rO as part of the pattern. Remove FIXME.
17794 ("*nonlocal_goto_receiver_expanded"): Similar. Generate address
17795 here, at output-time.
17796
4f31cce8
JJ
177972002-03-31 Jakub Jelinek <jakub@redhat.com>
17798
17799 PR middle-end/6100
17800 * config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
17801 REG_BR_PRED.
17802 (output_v9branch): Likewise.
17803
ba2b7435
AO
178042002-03-31 Alexandre Oliva <aoliva@redhat.com>
17805
17806 * gcc.c: Revert previous patch for now.
17807 * config/i386/djgpp.h: Likewise.
17808
aa66aa5f 178092002-03-31 Hans-Peter Nilsson <hp@bitrange.com>
8f840f57
HPN
17810
17811 * config/mmix/crti.asm (_init): Register _fini with atexit.
17812 * config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
17813
41ba8a20
RH
178142002-03-31 Richard Henderson <rth@redhat.com>
17815
17816 PR target/3997
17817 * config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
17818 (ASM_OUTPUT_DEF_FROM_DECLS): New.
17819
adc186ef
RH
178202002-03-31 Richard Henderson <rth@redhat.com>
17821
17822 * libgcc2.c (__bb_exit_func): Make static.
17823
9be40833 17824 * config/alpha/alpha.md (trap): New.
a7648399 17825
9602f5a0
RH
178262002-03-31 Richard Henderson <rth@redhat.com>
17827
17828 * builtins.c (expand_builtin_va_arg): Give warnings not errors for
17829 promoted argument types; build trap.
17830 (expand_builtin_trap): New.
17831 (expand_builtin): Use it.
17832 * stmt.c (expand_nl_goto_receivers): Likewise.
17833 * expr.h (expand_builtin_trap): Declare.
17834 * libfuncs.h (LTI_abort, abort_libfunc): New.
17835 * optabs.c (init_optabs): Init abort_libfunc.
17836
1a0a7539
AO
178372002-03-31 Alexandre Oliva <aoliva@redhat.com>
17838
17839 * gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
17840 (LINK_COMMAND_SPEC): ... from here.
7b2e1077 17841 (init_gcc_specs): Duplicate it here too, omitting
1a0a7539
AO
17842 shared_name in the second copy.
17843 (init_spec): Test for duplicate
17844 * config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
17845
b5de1a27
DM
178462002-03-30 David S. Miller <davem@redhat.com>
17847
17848 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
17849 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
17850
78414d74 178512002-03-30 Roger Sayle <roger@eyesopen.com>
9be40833 17852 Richard Henderson <rth@redhat.com>
78414d74 17853
9be40833
RH
17854 * regmove.c (combine_stack_adjustments_for_block): Avoid
17855 emitting a stack adjustment of zero bytes. Let delete_insn
17856 update bb->head.
78414d74 17857
33074e5f
RH
178582002-03-30 Richard Henderson <rth@redhat.com>
17859
17860 * config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
17861 (sparc_emitting_epilogue): New.
17862 (leaf_label, output_return, sparc_return_peephole_ok): Remove.
17863 * config/sparc/sparc-protos.h: Update.
17864 * config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
17865 (TARGET_SWITCHES): Update.
17866 * config/sparc/sparc.md (return): Remove.
17867 (return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
17868 * config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
17869 config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
17870 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
17871 config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
17872 config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
17873 config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
17874 Remove MASK_EPILOGUE.
17875 * doc/invoke.texi: Update.
17876
606cc056
DB
178772002-03-30 Daniel Berlin <dan@dberlin.org>
17878
17879 * dwarf2out.c (dwarf2out_define): Remove start_source_file call,
17880 CPP will start the file for us.
7b2e1077 17881
bdbe5b8d
RH
178822002-03-30 Richard Henderson <rth@redhat.com>
17883
17884 PR target/5446
17885 * config/ia64/ia64.c (group_barrier_needed_p): Special case
17886 prologue_allocate_stack.
17887 (ia64_single_set): Use insn codes for recognition of special
17888 cases, not rtl matching.
17889 * config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
17890
4ab95d82
JH
17891Sat Mar 30 23:48:41 CET 2002 Jan Hubicka <jh@suse.cz>
17892
17893 * cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
17894
89a8b315
RH
178952002-03-30 Richard Henderson <rth@redhat.com>
17896
17897 PR target/6032
17898 * config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
17899 or -fomit-frame-pointer with profiling.
17900 (SUBTARGET_OVERRIDE_OPTIONS): Remove.
17901 (FUNCTION_PROFILER): Do nothing.
17902 (PROFILE_HOOK): New.
17903 * config/sparc/sparc.c (sparc_override_options): Don't check
17904 code models for profiling.
17905 (sparc_function_profiler): Remove.
17906 (sparc_profile_hook): New.
17907 * config/sparc/sparc-protos.h: Update.
17908
30984c57
JJ
179092002-03-30 Jakub Jelinek <jakub@redhat.com>
17910
17911 PR optimization/6086
17912 * combine.c (combine_simplify_rtx): If simplify_rtx failed because
17913 of SUBREG of volatile MEM or because the MEM was mode dependent,
17914 return CLOBBER instead of unmodified SUBREG.
17915
1540f9eb
JH
17916Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
17917
89a8b315
RH
17918 * local-alloc.c (local_alloc): Avoid call of update_equiv_regs
17919 when not optimizing.
1540f9eb
JH
17920
17921 * toplev.c (rest_of_compilation): Cann mark_constant_function
17922 only when optimizing.
17923
89a8b315
RH
17924 * flow.c (calculate_global_regs_live): Ensure that all AUX fields
17925 are NULL.
1540f9eb
JH
17926
17927 * cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
17928 (thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
17929 (try_optimize_cfg): clear all AUX fields.
17930
17931 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
17932 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
17933 (ix86_address_cost): Be prepared for SUBREGed registers.
17934 (legitimate_address_p): Accept SUBREGed registers.
17935
70d95bac
RH
179362002-03-29 Richard Henderson <rth@redhat.com>
17937
17938 PR target/5672
17939 * expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
17940
d3294cd9
FS
179412002-03-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
17942
17943 * config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
17944 for aggregate and TFmode types.
17945
a106c875
HPN
179462002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
17947
17948 * cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
17949
7d7a5d6f
RH
179502002-03-29 Richard Henderson <rth@redhat.com>
17951
6e2d670b 17952 PR target/5886
7d7a5d6f
RH
17953 * config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
17954 * config/ia64/hpux.h, config/ia64/linux.h: Likewise.
17955
30c99a84
RH
179562002-03-29 Richard Henderson <rth@redhat.com>
17957
6e2d670b 17958 PR target/6041
30c99a84
RH
17959 * config/i386/i386.c (x86_arch_always_fancy_math_387): New.
17960 (override_options): Disable NO_FANCY_MATH_387 if the arch allows.
17961 * config/i386/i386.h (x86_arch_always_fancy_math_387): New.
17962 * config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
17963 conditional.
17964 * docs/invoke.texi: Update -mno-fancy-math-387 docs.
17965
02a566dc
DJ
179662002-03-29 Dale Johannesen <dalej@apple.com>
17967
17968 * loop.c (combine_movables): Do allow combination of pseudos.
17969
bc3a44db
LR
179702002-03-29 Loren J. Rittle <ljrittle@acm.org>
17971
17972 * config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
17973 * config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
17974 No functional change except ...
17975 * config/t-slibgcc-nolc-override (SHLIB_LC): Override it. New file.
17976 * doc/install.texi (*-*-freebsd*): Document port configuration.
17977
b0c48229
NB
179782002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
17979
17980 * Makefile.in (convert.o, calls.o, expmed.o): Update.
17981 * attribs.c (handle_mode_attribute, handle_vector_size_attribute):
17982 Use new hooks.
17983 * builtin-types.def (BT_PTRMODE): Update.
17984 * c-common.c (type_for_size): Rename c_common_type_for_size.
17985 (type_for_mode): Similarly.
17986 (shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
17987 Use new hook.
17988 * c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
17989 * c-decl.c (finish_enum, build_enumerator): Use new hooks.
17990 * c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
17991 Redefine.
17992 * c-typeck.c (common_type, comptypes, default_conversion):
17993 Use new hooks.
17994 * calls.c: Include langhooks.h.
17995 (emit_library_call_value_1): Use new hooks. Avoid redundant
17996 calls.
17997 * convert.c: Include langhooks.h
17998 (convert_to_pointer, convert_to_integer): Use new hooks.
17999 * except.c (init_eh): Similarly.
18000 * expmed.c: Include langhooks.h.
18001 (expand_mult_add): Use new hooks.
18002 * expr.c (store_expr, store_constructor, expand_expr, do_jump,
18003 try_casesi): Similarly.
18004 * fold-const.c (optimize_bit_field_compare, make_range,
18005 decode_field_reference, fold_truthop, fold): Similarly.
18006 * function.c (assign_stack_local_1, assign_stack_temp_for_type,
18007 put_var_into_stack): Similarly.
18008 * langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
18009 LANG_HOOKS_TYPE_FOR_SIZE): New.
18010 (LANG_HOOKS_TYPES_INITIALIZER): Update.
18011 * langhooks.h (lang_hooks_for_types): New hooks.
18012 * stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
18013 * tree.c (get_unwidened, get_narrower): Similarly.
18014 * tree.h (type_for_mode, type_for_size): Remove.
18015 * varasm.c (force_const_mem): Use new hooks.
18016 * utils2.c (nonbinary_modular_operation): Update.
18017objc:
18018 * objc-act.c (handle_impent): Update.
18019 * objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
18020 Redefine.
18021
e206a74f
SE
180222002-03-29 Steve Ellcey <sje@cup.hp.com>
18023
18024 * config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
18025 * config/ia64/ia64.c (basereg_operand): New.
18026 * config/ia64/ia64-protos.h (basereg_operand): Declare.
18027 * config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
18028
7d9b6378
HPN
180292002-03-29 Hans-Peter Nilsson <hp@bitrange.com>
18030
18031 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
18032 unwind information when frame_pointer_needed.
18033 (mmix_assemble_integer): Tweak wording in comment.
18034
f1e639b1
NB
180352002-03-29 Neil Booth <neil@daikokuya.demon.co.uk>
18036
18037 * Makefile.in (except.o): Update.
18038 * except.c: Include langhooks.h.
18039 (init_eh): Use langhook.
18040 * langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
18041 LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
18042 (LANG_HOOKS_INITIALIZER): Update.
18043 * langhooks.h (lang_hooks_for_types): New.
18044 (struct lang_hooks): Add it.
18045 * tree.c (make_lang_type_fn, make_lang_type): Remove.
18046 * tree.h (make_lang_type_fn, make_lang_type): Remove.
18047config:
18048 * alpha/alpha.c: Include langhooks.h.
18049 (alpha_build_va_list): Use langhook.
18050 * d30v/d30v.c: Include langhooks.h.
18051 (d30v_build_va_list): Use langhook.
18052 * i386/i386.c: Include langhooks.h.
18053 (ix86_build_va_list): Use langhook.
18054 * rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
18055 * s390/s390.c: Include langhooks.h.
18056 (s390_build_va_list): Use langhook.
18057 * stormy16/stormy16.c: Include langhooks.h.
18058 (stormy16_build_va_list): Use langhook.
18059
f17f9332
JJ
180602002-03-29 Jakub Jelinek <jakub@redhat.com>
18061
18062 PR c++/5964
18063 * config/sparc/sparc.md (empty_delay_slot, branch_type): New
18064 attributes.
18065 (length): Compute variable length for branches/calls/jumps here.
18066 (branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
18067 normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
18068 define branch_type attribute.
18069 (divsi3_sp32): Maximum length is 6 not 7.
18070 (call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
18071 call_address_untyped_struct_value_sp32,
18072 call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
18073 * config/sparc/sparc.c (empty_delay_slot): New function.
18074 * config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
18075 * config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
18076
0a0440c9
JJ
180772002-03-29 Jakub Jelinek <jakub@redhat.com>
18078
18079 * combine.c (set_nonzero_bits_and_sign_copies): Don't call
18080 nonzero_bits if not needed.
18081 (nonzero_bits) [XOR]: Likewise.
18082 (nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
18083 reg_last_set_mode and mode are both MODE_INT, but not equal.
18084 (record_value_for_reg): Compute reg_last_set_nonzero_bits
18085 in nonzero_bits_mode for MODE_INT modes.
18086
c9045f47
RH
180872002-03-28 Richard Henderson <rth@redhat.com>
18088
18089 PR target/5715
18090 * config/alpha/osf.h (ASM_SPEC): Don't pass any special options
18091 to GAS. Correct drift between alternatives.
18092
f8ed1958
RH
180932002-03-28 Richard Henderson <rth@redhat.com>
18094
18095 PR target/6087
18096 * reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
18097
54e20385
LR
180982002-03-28 Alexandre Oliva <aoliva@redhat.com>
18099
18100 * config/i386/freebsd.h (LINK_SPEC): Don't pass default
18101 emulation to the linker.
18102
181032002-03-28 Loren J. Rittle <ljrittle@acm.org>
18104
18105 * config/alpha/freebsd.h (LINK_SPEC): Likewise.
18106 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
18107
8bc52806
JL
18108Thu Mar 28 16:35:31 2002 Jeffrey A Law (law@redhat.com)
18109
18110 * combine.c (simplify_and_const_int): Make sure to apply mask
18111 when force_to_mode returns a constant integer. PR3311.
18112
279dccc5
JDA
181132002-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
18114
18115 * pa-linux.h (LOCAL_LABEL_PREFIX): Define.
18116
62aaa62c
GP
181172002-03-28 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18118
18119 * doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
18120 and Objective-C Dialect Options.
18121
b8de5050
RH
181222002-03-28 Richard Henderson <rth@redhat.com>
18123
18124 * config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
18125 comparison should be done vs !=0 not >0 return code. Tidy cases.
18126
619708cc
RH
181272002-03-28 Richard Henderson <rth@redhat.com>
18128
18129 * c-decl.c (finish_function): New arg can_defer_p. Pass it
18130 on to c_expand_body.
18131 * c-tree.h (finish_function): Update decl.
18132 * c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
18133
b1d874d7
JH
18134Thu Mar 28 19:13:36 CET 2002 Jan Hubicka <jh@suse.cz>
18135
18136 * ifcvt.c (if_convert): Clear aux_for_blocks early enought.
18137
f5eb5fd0
JH
18138Thu Mar 28 13:21:53 CET 2002 Jan Hubicka <jh@suse.cz>
18139
18140 * rtlanal.c: Include flags.h
18141 (may_trap_p): Do not mark FP operations if trapping
18142 if !flag_trapping_math
18143 * Makefile.in (rtlanal.o): Add dependency on flag.h
18144 * ifcvt.c (noce_operand_ok): Avoid the lameness.
18145
81b4c798
ZW
181462002-03-27 Zack Weinberg <zack@codesourcery.com>
18147
18148 * mips.md: Use dconst1, not 1.0, as first argument of
18149 REAL_VALUE_LDEXP. Don't use union real_extract.
18150
55a2ea2a
AM
181512002-03-28 Alan Modra <amodra@bigpond.net.au>
18152
18153 * configure.in (gcc_cv_as): Use $target_alias in directory searchs
18154 rather than $target. Heed program_prefix and
18155 program_transform_name. Search for gas in cross-compiler case too.
18156 "test -x" rather than "test -f".
18157 (gcc_cv_ld): Likewise.
18158 (gcc_cv_nm): Heed program_prefix and program_transform_name.
18159 (gcc_cv_objdump): Likewise.
18160 * configure: Regenerate.
18161
7ffb4fd2
NB
181622002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18163
18164 * Makefile.in (attribs.o): Update.
18165 * attribs.c: Include langhooks.h.
18166 (decl_attributes): Use langhook.
18167 * c-decl.c (insert_default_attributes): Rename.
18168 * c-tree.h (c_insert_default_attributes): New.
18169 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
18170 (LANG_HOOKS_INITIALIZER): Update.
18171 * langhooks.h (struct lang_hooks): New hook.
18172 * tree.h (insert_default_attributes): Remove.
18173objc:
18174 * objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
18175
e4dbaed5
AS
181762002-03-27 Andreas Schwab <schwab@suse.de>
18177
18178 * config/i386/i386.c (classify_argument): Also check for
18179 QUAL_UNION_TYPE.
18180
18b467f1
RO
181812002-03-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18182
18183 * doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
18184 any more.
18185
d337d653
JH
18186Wed Mar 27 23:19:30 CET 2002 Jan Hubicka <jh@suse.cz>
18187
18188 * i960.md (ret): Set PC.
18189 (nonlocal_goto): Fix expander.
18190 * builtins.c (epxand_builin_longjmp): Check that we've emitted
18191 some jump or call.
18192
218aa620
JH
18193Wed Mar 27 23:11:35 CET 2002 Jan Hubicka <jh@suse.cz>
18194
18195 * optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
18196 of libcall regions.
18197
e27a4eaf
ZD
18198Wed Mar 27 22:54:14 CET 2002 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
18199
18200 * cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
18201 assigning to BLOCK_FOR_INSN directly.
18202
8a12f34c
JH
18203Wed Mar 27 22:33:05 CET 2002 Jan Hubicka <jh@suse.cz>
18204
18205 * i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
18206
c9d892a8
NB
182072002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18208
18209 * c-common.c (c_expand_expr): Fix prototype.
18210 * c-common.h (c_expand_expr): Always declare, update.
18211 * c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
18212 * c-objc-common.c (c_objc_common_init): No global hook.
18213 * expr.c (expand_expr): Use langhook.
18214 * expr.h (enum expand_modifier): Conditionally declare.
18215 * langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
18216 (LANG_HOOKS_INITIALIZER): Update.
18217 * langhooks.c (lhd_expand_expr): New.
18218 * langhooks.h (struct lang_hooks): New hook.
18219 * toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
18220 (lang_independent_init): Don't default hook.
18221objc:
18222 * objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
18223
6dad5a56
RH
182242002-03-27 Richard Henderson <rth@redhat.com>
18225
18226 PR target/6054
18227 * config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
18228 TARGET_CONST_GP. Simplify conditions.
18229
59f96879
RH
182302002-03-27 Richard Henderson <rth@redhat.com>
18231
18232 * config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
18233 config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
18234 config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
18235
f3f1190d
DS
182362002-03-27 Danny Smith <dannysmith@users.sourceforge.net>
18237
18238 * config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
18239 TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
18240 (MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
18241 Remove unnecessary masks.
18242 (MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
18243 (SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
18244 -mwindows, -mdll switches and their negations.
18245
31c816cf
NB
182462002-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
18247
18248 * gcc-common.c (lang_mark_false_label_stack): Remove.
18249 * ggc.h (lang_mark_false_label_stack): Similarly.
18250
7b2e1077 182512002-03-26 Vladimir Makarov <vmakarov@redhat.com>
aee8f532
VM
18252
18253 * pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
18254
18255 * pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
18256 or __rtems_ is defined.
18257
1ef9531b
RH
182582002-03-26 Richard Henderson <rth@redhat.com>
18259
18260 * config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
18261 if a non-trivial load was emitted.
18262 (alpha_emit_set_const_1): Remove obsolete extension. Fix thinko
18263 in high+extra+low case.
18264
300d4093
RH
182652002-03-26 Richard Henderson <rth@redhat.com>
18266
18267 * config.gcc (sparc*-solaris): Use float_format=sparc.
18268
b3689904
RH
182692002-03-26 Richard Henderson <rth@redhat.com>
18270
18271 * config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
18272 * config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
18273 * config/sparc/linux.h, config/sparc/linux64.h: Likewise.
18274 * config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
18275 (WINT_TYPE_SIZE): Fix at 32.
18276
1eefb6c1
RH
182772002-03-26 Richard Henderson <rth@redhat.com>
18278
18279 * toplev.c (rest_of_compilation): Delay emit_initial_value_sets
18280 until after eh landing pad generation.
18281 * config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
18282 * config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
18283
361ea006
RH
182842002-03-26 Richard Henderson <rth@redhat.com>
18285
18286 * expr.h (ADD_PARM_SIZE): One more convert for INC.
18287
1de38a88
PE
182882002-03-26 Phil Edwards <pme@gcc.gnu.org>
18289
18290 * gcc.c (cpp_options): Preserve relative ordering of -pedantic
18291 and warning switches.
18292 (cc1_options): Likewise.
18293
d7e60e95 182942002-03-26 Hans Boehm <Hans_Boehm@hp.com>
361ea006 18295
d7e60e95
HB
18296 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
18297 Restore more of the signal context. Set no_reg_stack_frame.
18298 * config/ia64/unwind-ia64.c (unw_state_record):
18299 Add no_reg_stack_frame, comments.
18300 (uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
18301 (uw_update_context): Adjust bsp when unwinding from leaf,
18302 but not signal frame.
18303
7032923b
DE
183042002-03-26 David Edelsohn <edelsohn@gnu.org>
18305
18306 * config/rs6000/aix51.h (WCHAR_TYPE): Define.
18307
8be56275
BW
183082002-03-26 Bob Wilson <bob.wilson@acm.org>
18309
18310 * config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
18311
56fbb855
RE
183122002-03-26 Richard Earnshaw <rearnsha@arm.com>
18313
18314 PR target/5621
18315 * arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
18316 "Add a pool_range attribute", which was lost during the ARM/Thumb
18317 merge.
18318
3437320b
BW
183192002-03-26 Bob Wilson <bob.wilson@acm.org>
18320
18321 * config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
18322 a register into the MAC16 accumulator.
18323
173028e5
AC
183242002-03-26 Andrew Cagney <ac131313@redhat.com>
18325
18326 * doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
18327 (Warning Options): Document -Wswitch-enum.
18328 * toplev.c (W_options): Add -Wswitch-enum. Update comment on
18329 -Wswitch.
18330 (warn_switch_enum): Define variables.
18331 * flags.h (warn_switch_enum): Declare variables.
18332 * stmt.c (expand_end_case_type): When warn_switch_enum /
18333 -Wswitch-enum, perform switch checks.
18334 Fix PR c/5044.
7b2e1077 18335
e14365a7
RE
183362002-03-26 Richard Earnshaw <rearnsha@arm.com>
18337
18338 * arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
18339 (reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
18340 (reload_muladdsi_compare0_scratch): Delete.
18341
46fc709d
LR
183422002-03-26 Loren J. Rittle <ljrittle@acm.org>
18343
18344 * doc/install.texi (*-*-freebsd*): Update.
18345
f36dea3c
RH
183462002-03-26 Richard Henderson <rth@redhat.com>
18347
8e5fe23f
RH
18348 * expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
18349 (SUB_PARM_SIZE): Cast DEC to ssizetype.
18350
18351 * config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
18352 types from the normal argument frame.
18353
f36dea3c
RH
18354 * config/sparc/sparc.c (function_arg_pass_by_reference): Pass
18355 variable sized objects by reference.
18356 (sparc_va_arg): Receive them by reference too.
18357
1447dc69
HP
183582002-03-26 Hartmut Penner <hpenner@de.ibm.com>
18359
18360 * config/s390/s390.c (s390_emit_epilogue): Change epilogue
7b2e1077 18361 code to not restoring global registers.
1447dc69 18362
4f0ade92
NB
183632002-03-26 Neil Booth <neil@daikokuya.demon.co.uk>
18364
18365 * Makefile.in (ggc-common.o): Update.
18366 * c-decl.c (lang_mark_tree): Rename c_mark_tree.
18367 * c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
18368 * c-tree.h (c_mark_tree): New.
18369 * ggc-common.c: Include langhooks.h.
18370 (gcc_mark_trees): Use new langhook.
18371 * ggc-callbacks.c: Delete file.
18372 * ggc.h (lang_mark_tree): Remove.
18373 * langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
18374 (LANG_HOOKS_INITIALIZER): Update.
18375 * langhooks.h (struct lang_hooks): New hook.
18376objc:
18377 * objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
18378
caba570b
ZW
183792002-03-25 Zack Weinberg <zack@codesourcery.com>
18380
18381 * doc/cpp.texi: Exclude entire Top node from printed manual.
18382 Move option index after directive index. Insert page breaks
18383 before GFDL and concept index. Index environment variables
18384 with command line options.
18385 * doc/cppenv.texi: Use @vtable for environment variable list.
18386 Add paragraph explaining semantics of empty elements in path
18387 variables. Exclude a cross-reference to Fishkill from the
18388 manpage. Remove an unnecessary cross-reference of the entry
18389 right above the referer. Don't use @anchor in text that goes
18390 into manpage.
18391 * doc/cppopts.texi: Cross-reference the environment variables
18392 section, not the specific environment variable, for consistency.
18393
6b2e80b7
RH
183942002-03-25 Richard Henderson <rth@redhat.com>
18395
18396 * recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
18397 anywhere in the block. Don't refer to insns that have been
18398 removed from the chain. Iterate backward through the new insns.
18399 Don't refer to edges that have been removed.
18400
67e469d7
AM
184012002-03-26 Alan Modra <amodra@bigpond.net.au>
18402
18403 * combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
18404 test for overflow of constant.
18405
f2356393
RE
184062002-03-25 Richard Earnshaw <rearnsha@arm.com>
18407
18408 PR target/2623
18409 * arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
18410 (loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
18411 these patterns on arm_archv4.
18412
355426ab
DS
184132002-03-25 Danny Smith <dannysmith@sourceforge.users.net>
18414
18415 * config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
18416 int".
18417
15e5ad76
ZW
184182002-03-25 Zack Weinberg <zack@codesourcery.com>
18419
18420 * toplev.c: Don't include setjmp.h. Kill float_handler_set,
18421 float_handled, float_handler, float_signal, set_float_handler,
18422 and do_float_handler. Set handler for SIGFPE to crash_signal.
18423 * toplev.h: Don't prototype do_float_handler.
18424
18425 * c-lex.c: Fold parse_float into lex_number. Make warning
18426 about portability of hex float constants more informative, and
18427 don't issue it on top of a syntax error.
18428 * fold-const.c: Fold const_binop_1 and fold_convert_1 into
18429 their callers.
18430 * real.h: Define REAL_VALUE_ABS here...
18431 * simplify-rtx.c: ... not here. Fold check_fold_consts,
18432 simplify_unary_real, simplify_binary_real, and
18433 simplify_binary_is2orm1 into their callers.
18434 * tree.c: Fold build_real_from_int_cst_1 into caller.
18435
18436 * doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
18437
18438 * tsystem.h: Include float.h here...
18439 * libgcc2.c: ... not here.
18440
56ae9405
NC
184412002-03-25 Nick Clifton <nickc@cambridge.redhat.com>
18442
18443 Fixes for: PR bootstrap/3591, target/5676
18444 * config/mcore/mcore.h (CC1_SPEC): Define only if not already
18445 defined. Do not disable exceptions or rtti.
18446 * config/mcore/mcore-pe.h (CC1_SPEC): Define before including
18447 mcore.h. Disable exceptions and rtti, since they are not
18448 supported by EPOC.
18449
c88770e9
NB
184502002-03-25 Neil Booth <neil@daikokuya.demon.co.uk>
18451
18452 * c-decl.c (maybe_build_cleanup): Remove.
18453 * expr.c (expand_expr): Use langhook.
18454 * langhooks-def.h (lhd_return_null_tree,
18455 LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
18456 (LANGHOOKS_INITIALIZER): Update.
18457 * langhooks.c (lhd_return_null_tree): New.
18458 * langhooks.h (struct lang_hooks): New hook.
18459 * tree-inline.c (initialize_inlined_parameters): Use langhook.
18460 * tree.h (maybe_build_cleanup): Remove.
18461
2ed1f154
JJ
184622002-03-25 Jakub Jelinek <jakub@redhat.com>
18463
18464 * regrename.c (build_def_use): Move recog_memoized
18465 before extract_insn.
18466
6ddae612
JJ
184672002-03-25 Jakub Jelinek <jakub@redhat.com>
18468
18469 PR target/6043
18470 * expr.c (emit_group_store): Handle storing into CONCAT.
18471
ea475b23
JJ
184722002-03-25 Jakub Jelinek <jakub@redhat.com>
18473
18474 * regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
18475 corresponding MATCH_DUP.
18476
e7d482b9
RH
184772002-03-24 Richard Henderson <rth@redhat.com>
18478
cd39fc13
RH
18479 * unroll.c (unroll_loop): Zero label_map.
18480
e7d482b9
RH
18481 * gcse.c: Include except.h.
18482 * Makefile.in (gcse.o): Update.
18483
1bd6476f
RH
184842002-03-24 Richard Henderson <rth@redhat.com>
18485
18486 * varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
18487 Do resolve_unique_section before shared data clause.
18488
2e6c150a
RH
184892002-03-24 Richard Henderson <rth@redhat.com>
18490
18491 * config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
18492
b29afcf8
RH
184932002-03-24 Richard Henderson <rth@redhat.com>
18494
15e5ad76 18495 * recog.c (peephole2_optimize): Split blocks when EH insns are
b29afcf8
RH
18496 generated in the middle of a block. Do global life update if
18497 zapped EH edges.
18498
05ed1296
RH
184992002-03-24 Richard Henderson <rth@redhat.com>
18500
18501 * mips.c (mips_function_value): Only promote_mode for non-libcalls.
18502
3ddbb8a9
NB
185032002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
18504
18505 preprocessor/3951
15e5ad76 18506 * gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
3ddbb8a9
NB
18507 * cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
18508 (init_dependency_output): Don't make no_output decision here.
18509
740b77b6
AC
185102002-03-24 Andrew Cagney <ac131313@redhat.com>
18511
18512 * stmt.c (check_for_full_enumeration_handling): Remove tests of
18513 warn_switch. Update description.
18514 (expand_end_case_type): Call check_for_full_enumeration_handling
18515 when warn_switch.
18516
7590cfd0
SC
185172002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18518
18519 * config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
18520 (m68hc11_split_move): Call it to see if the source and destination
18521 operands use the same direction auto inc/dec mode, otherwise make the
c61f581f 18522 source an offsetable memory operand and generate an add.
7590cfd0 18523
2e3d3481
SC
185242002-03-24 Stephane Carrez <Stephane.Carrez@worldnet.fr>
18525
18526 * config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
18527 register for operand 2.
18528 ("*subsi3_zero_extendqi"): Likewise.
18529 ("*iorhi3_gen"): Do the operation on the upper bits and then lower
18530 bits so that it is compatible with a pop.
18531 ("*andhi3_gen"): Likewise.
18532 ("xorhi3"): Likewise.
18533
2784528c
NB
185342002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
18535
18536 * cppinit.c (cpp_handle_option): Set warn_endif_labels if
18537 -pedantic here...
18538 (cpp_post_options): ... not here.
18539
aaf93206
NB
185402002-03-24 Neil Booth <neil@daikokuya.demon.co.uk>
18541 Aldy Hernandez <aldyh@redhat.com>
18542
18543 Removal of separate preprocessor cpp0.
18544
18545 * Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
18546 cpp0, install-common): Update.
18547 * c-common.c (flag_preprocess_only): New.
18548 (c_common_init): Preprocess for -E.
18549 * c-common.h (flag_preprocess_only): New.
18550 * c-decl.c (c_decode_option): Handle -E and -std=c++98.
18551 * c-objc-common.c (c_init_decl_processing): Exit quickly
18552 for NULL return from c_common_init.
18553 * cpplib.h (cpp_preprocess_file): New.
18554 * cppmain.c (main, general_init, pfile, progname): Remove.
18555 (do_preprocessing): Rename cpp_preprocess_file, don't call
18556 cpp_finish. Don't close stdout here.
18557 (setup_callbacks): Update prototype.
18558 * gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
18559 Update.
18560 * tradcpp.c (main): Ignore -quiet.
18561objc:
18562 * lang-specs.h (default_compilers): Preprocess with cc1obj.
18563
c6e6f5c1
RH
185642002-03-24 Richard Henderson <rth@redhat.com>
18565
18566 PR optimization/5742
18567 * machmode.def: Add inner mode field to complex modes.
18568 * config/mips/mips.c (mips_function_value): Always define. Add
18569 new argument to handle libcalls.
18570 * config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
18571 (FUNCTION_VALUE): Likewise.
18572 * config/mips/abi64.h (FUNCTION_VALUE): Remove.
18573 * config/mips/mips-protos.h: Update.
18574
d88e57d1
RH
185752002-03-23 Richard Henderson <rth@redhat.com>
18576
18577 * config/sparc/sparc.c (sparc_emit_floatunsdi): New.
18578 * config/sparc/sparc-protos.h: Update.
18579 * config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
18580
6dfaf9ba
RH
185812002-03-23 Richard Henderson <rth@redhat.com>
18582
18583 * config/sparc/gmon-sol2.c (internal_mcount): Assume either
18584 _start or _init begins the text segment.
18585
0c769cf8
DE
185862002-03-23 David Edelsohn <edelsohn@gnu.org>
18587
18588 * config/rs6000/rs6000.h (RETURN_IN_MEMORY): Cast to HOST_WIDE_INT
18589 not HOST_WIDEST_INT.
18590 (RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
18591
64e92a26
RE
185922002-03-23 Richard Earnshaw <rearnsha@arm.com>
18593
18594 PR java/5489
18595 * arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
18596 operand argument to output_return_instruction.
15e5ad76 18597 * arm.c (arm_print_operand, case 'd'): If the operand is
64e92a26
RE
18598 const_true_rtx then just return.
18599 (arm_print_operand, case 'D'): If the operand is const_true_rtx
18600 then abort.
18601
d6961341
AC
186022002-03-23 Andrew Cagney <ac131313@redhat.com>
18603
18604 * doc/invoke.texi (Option Summary): Mention -Wswitch-default.
18605 (Warning Options): Document -Wswitch-default.
18606 * toplev.c (W_options): Add -Wswitch-default. Update comment on
18607 -Wswitch.
18608 (warn_switch_default): Define variable.
18609 (warn_switch): Update comment.
18610 * flags.h (warn_switch_default): Declare variable.
18611 (warn_switch): Update comment.
18612 * stmt.c (expand_end_case): Check for and, when
18613 warn_switch_no_default, warn of a missing default case.
15e5ad76 18614
d4c5ac1f
AM
186152002-03-23 Alan Modra <amodra@bigpond.net.au>
18616
bbaa9790
AM
18617 * real.h (N): Special case 128 bit doubles.
18618
d4c5ac1f
AM
18619 * combine.c (simplify_comparison): When widening modes, ignore
18620 sign extension on CONST_INTs.
18621
84bf8c2c
BW
186222002-03-22 Bob Wilson <bob.wilson@acm.org>
18623
18624 * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
18625 passed to adjust_address. Fix comment formatting.
18626
18627
b216cd4a
ZW
186282002-03-22 Zack Weinberg <zack@codesourcery.com>
18629
18630 * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
18631 Always make REAL_VALUE_TYPE a struct containing an array of
18632 HOST_WIDE_INT, not a double. Tidy up the code deciding how
18633 big it is. Don't declare or use union real_extract.
18634
18635 * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
18636 decode_rtx_const, output_constant_pool), config/a29k/a29k.c
18637 (print_operand), config/arm/arm.c (output_move_double),
18638 config/arm/arm.md (consttable_4, consttable_8),
18639 config/romp/romp.c (output_fpops), config/s390/s390.h
18640 (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
18641 (xtensa_output_literal): Don't use union real_extract.
18642
18643 * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
18644 (sfmode_constant_to_ulong), config/ns32k/merlin.h
18645 (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
18646 config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
18647 (PRINT_OPERAND): Don't use local version of union
18648 real_extract.
18649
18650 * config/convex/convex.c (check_float_value), config/vax/vax.c
18651 (vax_float_literal), config/m88k/m88k.md (divdf3),
18652 config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
18653 config/pdp11/pdp11.c (output_move_quad): Don't do host
18654 arithmetic on target floating point quantities.
18655
18656 * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
18657 (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
18658
18659 * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
18660 Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
18661
18662 * real.c (earith): Test INFINITY rather than REAL_INFINITY;
18663 NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
18664 INFINITY.
18665 * print-rtl.c (print_rtx): Disable code which needs
18666 floating-point emulator.
18667 * libgcc2.c: Include float.h and use DBL_MANT_DIG,
18668 FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
18669 depending on HOST_FLOAT_FORMAT to be defined properly.
18670
18671 * config/1750a/1750a.c (get_double, float_label): Delete.
18672 (print_operand): Delete huge commented-out chunk. Use
18673 REAL_VALUE_TO_DECIMAL.
18674 * config/1750a/1750a-protos.h: Delete prototypes of deleted
18675 functions.
18676 * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
18677 IEEE_FLOAT_FORMAT.
18678 * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
18679 Use REAL_VALUE_TO_DECIMAL as ELF version does.
18680 * config/m88k/m88k.c (real_power_of_2_operand,
18681 legitimize_operand): Take the REAL_VALUE_TYPE and/or union
18682 real_extract out of the union; run the input through
18683 REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
18684 from that into the union.
18685 * config/pdp11/pdp11.c (output_move_double): Rearrange
18686 parentheses to make automatic indenter happy.
18687
18688 * doc/tm.texi (Cross-compilation): Rename node to "Floating
18689 Point" and rewrite to describe current situation. Also adjust
18690 documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
18691 match code.
18692 * doc/rtl.texi: Adjust cross reference.
18693
a8cacfd2
BW
186942002-03-22 Bob Wilson <bob.wilson@acm.org>
18695
18696 * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
18697 (xtensa_valid_move, xtensa_preferred_reload_class): Define.
18698 * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
18699 (xtensa_valid_move, xtensa_preferred_reload_class): Define to
18700 prevent use of sp as a reload register.
18701 (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
18702 non_acc_reg_operand.
18703 * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
18704 (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
18705 * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
18706 movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
18707
d4e6133f
NB
187082002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
18709
b216cd4a
ZW
18710 * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
18711 * cpplex.c (unterminated): Delete.
18712 (parse_string): No string literal may extend over multiple
18713 lines. Suppress the error when preprocessing assembly.
d4e6133f
NB
18714 * cppmain.c (scan_translation_unit): Strings are single-line.
18715
b216cd4a 18716 * doc/cpp.texi: Update to match.
d4e6133f 18717
65e6c005
JJ
187182002-03-22 Jakub Jelinek <jakub@redhat.com>
18719
18720 PR optimization/5854
18721 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
18722 Shut up warnings.
18723 (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
18724 (EXTRA_CONSTRAINT): Use S for non-push memory operand.
18725 * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
18726 const0 if scratch register was not allocated.
18727 (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
18728 m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
18729 with GEN_INT (...).
18730 (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
18731 * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
18732 with GEN_INT (...) everywhere. Remove constraints in define_split
18733 patterns.
18734 (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
18735 require scratch register for setting 0 into regs/non-pushable memory.
18736
7f48c9e1
AO
187372002-03-22 Alexandre Oliva <aoliva@redhat.com>
18738
18739 * config/mips/mips.h (MASK_RETURN_ADDR): Define.
18740 (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
18741
909de5da
PE
187422002-03-22 Phil Edwards <pme@gcc.gnu.org>
18743
18744 * cpplib.h (struct cpp_options): New member, warn_endif_labels.
18745 * cppinit.c (cpp_create_reader): On by default.
18746 (cpp_handle_option): Handle -W[no-]endif-labels.
18747 (cpp_post_options): Also enable if -pedantic.
18748 * cpplib.c (do_else): Use it.
18749 (do_endif): Likewise.
18750 * doc/cppopts.texi: Document new option.
18751 * doc/invoke.texi: Document new option.
18752
d8bf17f9
LB
187532002-03-22 Lars Brinkhoff <lars@nocrew.org>
18754
18755 * config/i386/i386.c, config/i386/i386.md: Change all occurences
18756 of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
18757
70e0ccd0
AO
187582002-03-22 Alexandre Oliva <aoliva@redhat.com>
18759
18760 * flow.c (calculate_global_regs_live): Clear aux fields of
18761 ENTRY and EXIT.
18762
68882f0f
JJ
187632002-03-22 Jakub Jelinek <jakub@redhat.com>
18764
18765 * config/v850/v850.c (v850_reorg): Only call alter_subreg on
18766 REG or MEM subregs, pass rtx * instead of rtx to it.
18767 * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
18768 rtx * instead of rtx to alter_subreg.
18769 * config/m32r/m32r.c (gen_split_move_double): Likewise.
18770 * config/pj/pj.c (pj_output_rval): Likewise.
18771
648fe28b
RH
187722002-03-22 Richard Henderson <rth@redhat.com>
18773
18774 PR target/3177
18775 * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
18776 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
18777 * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
18778 (ia64_expand_prologue): Look at int_regs, not words, for number
18779 of incomming int regs.
18780
e8dcd824
AM
187812002-03-22 Andrew MacLeod <amacleod@redhat.com>
18782
18783 * expr.c (expand_expr): A RESULT_DECL is part of a call.
18784
96327cdc
JH
18785Fri Mar 22 16:30:42 CET 2002 Jan Hubicka <jh@suse.cz>
18786
18787 * toplev.c (flag_loop_optimize, flag_crossjumping):
18788 New static variables.
18789 (rest_of_compilation): Conditionalize crossjumping and
18790 loop optimizer.
18791 (parse_options_and_default_flags): Default loop_optimize and
18792 crossjumping.
18793 (lang_independent_options): Add -fcrossjumping and -floop-optimize
18794 * invoke.texi (crossjumping, loop-optimize): Document.
18795
bc185257
RS
187962002-03-22 Richard Sandiford <rsandifo@redhat.com>
18797
18798 * real.c (eiisneg): Move outside #ifdef NANS.
18799
0a2ed1f1
JH
18800Fri Mar 22 12:08:36 CET 2002 Jan Hubicka <jh@suse.cz>
18801
18802 * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
18803 frequencies match; avoid match on different loop depths.
18804 (try_crossjump_to_bb): Kill tests that no longer brings time
18805 savings.
18806 * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
18807 updating code.
18808 (split_edge): Likewise.
18809
18810 * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
18811 variable.
18812
18813 * Makefile.in (cfgrtl): Add insn-config.h depenendency.
18814 * cfgrtl.c: Include insn-config.h
18815 (split_block) Dirtify block in presence of conditional execution
18816
4d72536e
RS
188172002-03-22 Richard Sandiford <rsandifo@redhat.com>
18818
18819 * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
18820 * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
18821 (function_arg): Constify CUMULATIVE_ARGS.
18822 (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
18823 * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
18824 (UNITS_PER_DOUBLE): New macro.
18825 (SETUP_INCOMING_VARARGS): Define. Use mips_setup_incoming_varargs.
18826 (CUMULATIVE_ARGS): Reformat. Remove num_adjusts workaround and
18827 last_arg_fp field. Replace arg_words and fp_arg_words with gp_regs,
18828 fp_regs and stack_words.
18829 (EABI_FLOAT_VARARGS_P): New macro.
18830 * config/mips/mips.c (struct mips_arg_info): New.
18831 (mips_arg_info): New function.
18832 (function_arg_advance): Use it. Add adjustment instructions here
18833 rather than in function_arg.
18834 (function_arg): Constify CUMULATIVE_ARGS. Use mips_arg_info. Check
18835 for VOIDmode at the beginning of the function.
18836 (function_partial_nregs): Constify CUMULATIVE_ARGS. Use mips_arg_info.
18837 (function_arg_pass_by_reference): Likewise.
18838 (mips_setup_incoming_varags): New, largely based on old abi64.h code.
18839 (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
18840 (mips_va_start): Likewise. Use the new stack_words field of
18841 CUMULATIVE_ARGS to set up overflow area. Reformat.
18842 (mips_va_arg): Test EABI_FLOAT_VARARGS_P. Unify EABI handling of
18843 doubles and other types, aligning the overflow pointer for non-doubles
18844 too. Remove some code duplication. Replace hard-coded constants.
18845
e6f884cd
RS
188462002-03-22 Richard Sandiford <rsandifo@redhat.com>
18847
18848 * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
18849 (CLASS_UNITS): Undefine.
18850 (CLASS_MAX_NREGS): Use FP_INC.
18851 * config/mips/mips.c (compute_frame_size): Likewise.
18852 (override_options): Use FP_INC and UNITS_PER_FPVALUE.
18853
10cf9bde
NB
188542002-03-22 Neil Booth <neil@daikokuya.demon.co.uk>
18855
18856 * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
18857 prototype, and handle lexing numbers and identifiers.
18858 (parse_identifier): Update to new form of parse_slow.
18859 (parse_number): Fast path only, use parse_slow otherwise.
18860 (_cpp_lex_direct): Update calls to parse_number.
18861
fbc2782e
DD
188622002-03-21 DJ Delorie <dj@redhat.com>
18863
18864 * bb-reorder.c (make_reorder_chain_1): Protect against
18865 when redundant edges are omitted.
18866 * predict.c (dump_prediction): Likewise.
18867
fba39eaf
RH
188682002-03-21 Richard Henderson <rth@redhat.com>
18869
18870 PR target/5996
18871 * fixinc/inclhack.def (solaris_stdio_tag): New.
18872 * fixinc/fixincl.x: Regenerate.
18873
eba80994
EB
188742002-03-21 Eric Botcazou <ebotcazou@multimania.com>
18875
18876 PR c/5597
18877 * c-typeck.c (process_init_element): Flag non-static
18878 initialization of a flexible array member as illegal.
18879
2a78758b
AM
188802002-03-22 Alan Modra <amodra@bigpond.net.au>
18881
18882 * config/rs6000/t-linux64: New.
18883 * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
18884 t-ppccomm. Use t-rs6000 and t-linux64.
18885 (powerpc64-*-gnu* <tmake_file>): Likewise.
bac015e7
AM
18886 * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
18887 * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
18888 * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
2a78758b 18889
2cb921f4
AH
188902002-03-21 Aldy Hernandez <aldyh@redhat.com>
18891
eba80994
EB
18892 * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
18893 flag_really_no_inline instead of optimize == 0.
2cb921f4 18894
eba80994 18895 * c-objc-common.c (c_cannot_inline_tree_fn): Same.
2cb921f4 18896
eba80994 18897 * cp/tree.c (cp_cannot_inline_tree_fn): Same.
2cb921f4 18898
eba80994 18899 * flags.h (flag_really_no_inline): New.
2cb921f4 18900
659e5a7a 18901 * c-common.c (c_common_post_options): Initialize
eba80994 18902 flag_really_no_inline.
2cb921f4 18903
eba80994 18904 * toplev.c (flag_really_no_inline): New.
2cb921f4 18905
239b8b9d
JJ
189062002-03-21 Jakub Jelinek <jakub@redhat.com>
18907
18908 * config/avr/avr.md (length): Fix length computation for
18909 conditional branches.
18910
43577e6b
NB
189112002-03-21 Neil Booth <neil@daikokuya.demon.co.uk>
18912
18913 * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
18914 sdbout.o, profile.o): Update.
18915 * c-common.c (c_common_nodes_and_builtins): Use pushdecl
18916 langhook.
18917 * c-common.h (gettags): Move here from tree.h.
18918 * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
18919 insert_block, getdecls, kept_level_p, global_bindings_p): New.
18920 * dbxout.c (dbxout_init): Use getdecls langhook.
18921 * expr.c (expand_expr): Use insert_block langhook.
18922 * fold-const.c: Include langhooks.h.
18923 (fold_range_test, fold_binary_op_with_conditional_arg,
18924 fold): Use global_bindings_p langhook.
18925 * integrate.c (expand_inline_function): Use insert_block langhook.
18926 * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
18927 LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
18928 LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
18929 LANG_HOOKS_GETDECLS): New.
18930 (LANG_HOOKS_INITIALIZER): Update.
18931 * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
18932 langhook.
18933 * langhooks.h (struct lang_hooks_for_decls): New.
18934 (struct lang_hooks): Update.
18935 * profile.c: Include langhooks.h.
18936 (output_func_start_profiler): Use new langhooks.
18937 * sdbout.c: Include langhooks.h.
18938 (sdbout_init, sdbout_finish): Use getdecls langhook.
18939 * stmt.c: Include langhooks.h.
18940 (expand_fixup, fixup_gotos): Use new langhooks.
18941 * stor-layout.c: Include langhooks.h.
18942 (variable_size): Use global_bindings_p langhook.
18943 * toplev.c (compile_file): Use getdecls langhook.
18944 * tree-inline.c (remap_block): Use insert_block langhook.
18945 * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
18946 insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
18947
5b19b10c
RH
189482002-03-21 Richard Henderson <rth@redhat.com>
18949
18950 * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
18951 constants in .data when -fpic.
18952
e05af335
GP
189532002-03-21 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18954
18955 * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
18956 where appropriate.
18957
60ffc997
TT
189582002-03-21 Tom Tromey <tromey@redhat.com>
18959
18960 * config/i386/sol2.h (ASM_QUAD): Undef. Fixes PR bootstrap/5948.
18961
75897075
RK
18962Thu Mar 21 09:50:48 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
18963
a73afd69 18964 * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
46399021 18965
75897075
RK
18966 * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
18967
312687cf
EB
189682002-03-21 Eric Botcazou <ebotcazou@multimania.com>
18969 Richard Henderson <rth@redhat.com>
18970
18971 PR c/5354
18972 * c-common.c (c_expand_expr): Preserve result of a statement
18973 expression if needed.
18974
f0e1f482
JJ
189752002-03-21 Jakub Jelinek <jakub@redhat.com>
18976
18977 PR bootstrap/4195
18978 * genrecog.c (maybe_both_true_mode): Remove.
18979 (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
18980 * machmode.def (Pmode): Likewise.
18981
c14b9960
JW
18982Thu Mar 21 01:55:06 EST 2002 John Wehle (john@feith.com)
18983
18984 * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
18985 (nonlocal_mentioned_p_1): New function.
18986 (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
18987 (nonlocal_set_p, nonlocal_set_p_1): Likewise.
18988 (mark_constant_function): Recognize pure functions.
18989 * rtl.h (global_reg_mentioned_p): New prototype.
18990 * rtlanal.c (global_reg_mentioned_p,
18991 global_reg_mentioned_p_1): New function.
18992
aaa4d130
RO
189932002-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18994
18995 * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
18996 UNIX assert.h.
18997 * fixinc/fixincl.x: Regenerate.
18998
e5c4bd1b
JM
189992002-03-20 Jason Merrill <jason@redhat.com>
19000
19001 * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
19002
852b81bb
MM
190032002-03-20 Michael Meissner <meissner@redhat.com>
19004
19005 * doc/invoke.texi (Optimize Options): Document that -O2 sets
19006 -fstrict-aliasing.
19007
86d8c251
BW
190082002-03-20 Bob Wilson <bob.wilson@acm.org>
19009
19010 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
19011 ".literal_position" directive before the constant pool.
19012
0a39c350
GP
190132002-03-20 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
19014
19015 * doc/contrib.texi (Contributors): Update Geoffrey Keating.
19016 Add Craig Rodrigues.
19017 Add Brad Lucier to testers.
19018
71a83373
JJ
190192002-03-20 Jakub Jelinek <jakub@redhat.com>
19020
19021 PR target/4792
19022 * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
19023 to if_then_else.
19024 (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
19025 * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
19026 instead of insn_extract.
19027
a29b099d
JJ
190282002-03-20 Jakub Jelinek <jakub@redhat.com>
19029
19030 PR bootstrap/4192
71a83373 19031 * config/fr30/fr30.md (jump): Remove clobber of fixed register.
a29b099d
JJ
19032
19033 * genemit.c (output_added_clobbers_hard_reg_p): Only output return
19034 stmt if some case has been output.
19035
048b1c95
JJ
190362002-03-20 Jakub Jelinek <jakub@redhat.com>
19037
19038 PR c/5972
19039 * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
19040 movsfcc_1, movdfcc_1): Add %O2.
19041 * config/i386/i386.c (print_operand): Handle %ON.
19042 Print . before float condition codes in Sun as cmov syntax.
19043 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
19044 * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
19045 no longer true.
19046
f4864588
PB
190472002-03-20 Philip Blundell <pb@nexus.co.uk>
19048
19049 * config/arm/arm.c (arm_output_epilogue): Don't generate separate
19050 return instruction if PC was popped.
19051
3a307de4
BW
190522002-03-20 Bob Wilson <bob.wilson@acm.org>
19053
19054 * config/xtensa/xtensa.md: Remove unused type attributes.
19055 (adddi_carry, subddi_carry): Change type attribute to "multi".
19056
048b1c95 190572002-03-19 Dale Johannesen <dalej@apple.com>
ed7d44bc
DJ
19058
19059 PR optimization/5999, middle-end/5731
19060 * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
19061 multiplications by reciprocals.
19062
7afff7cf
NB
190632002-03-20 Neil Booth <neil@daikokuya.demon.co.uk>
19064
19065 * Makefile.in: Update.
19066 * c-common.c: Include langhooks.h.
19067 (inline_forbidden_p): Use new hook.
19068 * diagnostic.c: Include langhooks.h.
19069 (format_with_decl, announce_function,
19070 default_print_error_function): Use new hook.
19071 * dwarf2out.c (dwarf2_name): Use new hook.
19072 * function.c: Include langhooks.h.
19073 (init_function_start): Use new hook.
19074 * langhooks-def.h (lhd_decl_printable_name): New.
19075 (LANGHOOKS_DECL_PRINTABLE_NAME): New.
19076 (LANGHOOKS_INITIALIZER): Update.
19077 * langhooks.c (lhd_decl_printable_name): New.
19078 * langhooks.h (struct lang_hooks): New hook.
19079 * toplev.c (decl_name, decl_printable_name): Remove.
19080 (open_dump_file): Use new hook.
19081 (process_options): Remove old hook.
19082 * tree.h (decl_printable_name): Remove.
19083objc:
19084 * objc-act.c (objc_init): Remove old hook.
19085 (objc_printable_name): Export.
19086 * objc-act.h (objc_printable_name): New.
19087 * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
19088
f78ce0b7
JB
190892002-03-19 Jim Blandy <jimb@redhat.com>
19090
19091 * c-lex.c (cb_file_change): Pass the #inclusion's line number to
19092 the start_source_file debug hook, not the current line number.
19093
15b5aef3
RH
190942002-03-19 Richard Henderson <rth@redhat.com>
19095
19096 * flow.c (EH_USES): Provide default.
19097 (calculate_global_regs_live): Use it for EH edges and noreturn calls.
19098 * doc/tm.texi (EH_USES): New.
19099
19100 * config/ia64/ia64.c (ia64_eh_uses): New.
19101 * config/ia64/ia64-protos.h: Update.
19102 * config/ia64/ia64.h (EH_USES): New.
19103
02a7a3fd
RH
191042002-03-19 Richard Henderson <rth@redhat.com>
19105
19106 * varasm.c (output_constant_def): Fix stupid typo.
19107
93f82d60
RH
191082002-03-19 Richard Henderson <rth@redhat.com>
19109
2842be05 19110 PR 5879
93f82d60
RH
19111 * except.c (current_function_has_exception_handlers): New.
19112 * except.h: Declare it.
19113 * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
19114 Combine tests that disable all sibcalls for the function.
19115
ed4fbfa0
OH
191162002-03-19 Olivier Hainque <hainque@act-europe.fr>
19117
19118 * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
19119 for INTEGER_CST.
19120
ebf0e888
RH
191212002-03-19 Richard Henderson <rth@redhat.com>
19122
1e82682b 19123 PR 5977, 5991
ebf0e888
RH
19124 * config/ia64/ia64.c: Revert 2002-03-01 patch.
19125 * config/ia64/ia64.h (INIT_EXPANDERS): New.
19126
e37b38d7
JB
191272002-03-19 Jim Blandy <jimb@redhat.com>
19128
19129 * cppmacro.c (cpp_macro_definition): Emit a space after the macro
19130 name, even if the replacement list contains no tokens, as required
19131 by Dwarf.
19132
2a4ea326
JM
191332002-03-19 Jason Merrill <jason@redhat.com>
19134
f9d09ae5
JM
19135 * varasm.c (globalize_decl): Get the name from the RTL, not
19136 DECL_ASSEMBLER_NAME.
19137
2a4ea326
JM
19138 * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
19139
99b96edb
BW
191402002-03-19 Bob Wilson <bob.wilson@acm.org>
19141
19142 * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
19143 subdi_carry): Define.
19144
3774b567
DE
191452002-03-19 David Edelsohn <edelsohn@gnu.org>
19146
19147 * config/rs6000/rs6000.c (rs6000_override_options): Only warn
19148 about -fpic/-fPIC if extra_warnings set.
19149
21ef78aa
DE
191502002-03-19 David Edelsohn <edelsohn@gnu.org>
19151
19152 * expr.c (expand_expr): Sign-extend CONST_INT generated from
19153 TREE_STRING_POINTER.
0c2fdcdf 19154 * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
21ef78aa 19155
91d4b3fd
RK
19156Tue Mar 19 14:12:32 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
19157
19158 * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
19159 in favor of SP if FRAME_POINTER_REQUIRED is false.
19160
2496c7bd
LB
191612002-03-19 Lars Brinkhoff <lars@nocrew.org>
19162
19163 * emit-rtl.c (gen_int_mode): New function.
19164 * rtl.h: Prototype for it.
19165 * combine.c (make_extraction, simplify_comparison), expmed.c
19166 (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
19167 (convert_modes, store_field), optabs.c (expand_fix),
19168 simplify-rtx.c (neg_const_int, simplify_unary_real),
19169
19170 * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
19171 Use it instead of GEN_INT (trunc_int_for_mode (...)).
19172
f735a153
JJ
191732002-03-19 Jakub Jelinek <jakub@redhat.com>
19174
19175 PR c/5656
19176 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
19177 convert_parm_for_inlining.
19178 * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
19179 Define.
19180 * langhooks-def.h: Likewise.
19181 * objc/objc-lang.c: Likewise.
19182 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
19183 function.
19184 * tree-inline.c (initialize_inlined_parameters):
19185 Call convert_parm_for_inlining lang hook if needed.
19186 * c-typeck.c (c_convert_parm_for_inlining): New function.
19187 * c-tree.h (c_convert_parm_for_inlining): Add prototype.
19188
1929c971
MM
191892002-03-18 Mark Mitchell <mark@codesourcery.com>
19190
b216cd4a 19191 * calls.c (precompute_arguments): Do not assume that temporaries
1929c971
MM
19192 can be destroyed after expanding the argument.
19193 (expand_call): Likewise.
19194
c79ca0ac
EC
191952002-03-15 Eric Christopher <echristo@redhat.com>
19196
19197 * config/mips/mips.md (movdf_internal2): Add two new move constraints.
19198 Fix register preference on last change.
19199 * config/mips/mips.c (mips_return_in_memory): New function.
19200 * config/mips/mips.h (RETURN_IN_MEMORY): Use.
19201 * config/mips/mips-protos.h: Declare.
19202 * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
19203 * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
19204
07e2e444
AO
192052002-03-18 Alexandre Oliva <aoliva@redhat.com>
19206
1bfbbbcf
AO
19207 * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
19208 a register too.
19209 (anddi3, iorsi3): Likewise.
19210
c066429e
AO
19211 * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
19212 use %gprel for symbols that are going to be placed in linkonce
19213 sections.
19214
07e2e444
AO
19215 * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
19216 RETURN_ADDRESS_POINTER_REGNUM to $ra.
19217 (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
19218 not needed. Disregard leaf_function_p().
19219 (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
19220 mips16 frame pointer.
19221 * config/mips/mips.md (store ra): Only to small SP offsets.
19222 2001-08-22 Graham Stott <grahams@redhat.com>
19223 * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
19224 return a REG rtx for the return address register.
19225
eb8e00ea
BW
192262002-03-18 Bob Wilson <bob.wilson@acm.org>
19227
19228 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
19229 constant-pool addresses as "mode-dependent".
19230 (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
19231
cbb92744
JJ
192322002-03-18 Jakub Jelinek <jakub@redhat.com>
19233
19234 PR target/5740
19235 * expr.c (emit_group_load): Use extract_bit_field if
19236 needed for CONCAT arguments.
19237
657d9449
RE
192382002-03-18 Richard Earnshaw <rearnsha@arm.com>
19239
91f3a802 19240 PR target/4863
657d9449
RE
19241 * arm.md (tablejump): Make this a define_expand. For PIC add the
19242 offset to the base of the table.
19243 (thumb_tablejump): Matcher for Thumb tablejump insn.
19244 * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
19245 as the difference of two labels.
19246 * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
19247 * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
19248 tables in the code.
19249 * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
19250 * arm.c (get_jump_table_size): If the table is not in the text
19251 section, return zero.
c79ca0ac 19252
5d5603e2
BS
192532002-03-18 Bernd Schmidt <bernds@redhat.com>
19254
19255 * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
19256 of gen_rtx_SUBREG.
19257 (arm_reload_out_hi): Use gen_lowpart instead of
19258 gen_rtx_SUBREG to access QImode components.
19259 * config/arm/arm.md: Disable zero_extend split for QImode
19260 subregs in BIG_ENDIAN mode.
19261 (storehi_bigend): Match use of least significant byte.
19262 (storeinthi): Remove extraneous SUBREG.
66c17b64 19263 Add missing construction of operands[2].
5d5603e2
BS
19264 (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
19265 (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
19266 Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
19267
df15fbc7
AH
192682002-03-18 Aldy Hernandez <aldyh@redhat.com>
19269
2496c7bd
LB
19270 * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
19271 any_operand.
df15fbc7 19272
b83b7fa3
RH
192732002-03-17 Richard Henderson <rth@redhat.com>
19274
19275 * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
19276 explicitly.
19277
6f7c00fe
HPN
192782002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
19279
19280 * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
19281 (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
19282
155038f2
KG
192832002-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19284
720d42fa
KG
19285 * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
19286
155038f2
KG
19287 * predict.c (estimate_bb_frequencies): Delete unused variables.
19288
e6542f4e
RH
192892002-03-17 Richard Henderson <rth@redhat.com>
19290
19291 * config/ia64/ia64.c (ia64_attribute_table): Move before
19292 targetm definition. Make static.
19293
52dabb6c
NB
192942002-03-17 Neil Booth <neil@daikokuya.demon.co.uk>
19295
19296 * c-common.h (yyparse, c_common_parse_file): New.
19297 * c-lang.c: Include c-common.h.
19298 (LANG_HOOKS_PARSE_FILE): Redefine.
19299 * c-lex.c: Include c-common.h.
19300 (yyparse): Rename c_common_parse_file. Call yyparse.
19301 * c-parse.in (yyparse): Remove macro.
19302 * c-tree.h (yyparse_1): Remove.
19303 * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
19304 (LANG_HOOKS_INITIALIZER): Update.
19305 * langhooks.h (struct lang_hoooks): New hook parse_file.
19306 * toplev.c (compile_file): Use parse_file hook.
19307 * tree.h (yyparse): Remove.
e6542f4e 19308 * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
52dabb6c 19309
b5ffe606
HPN
193102002-03-17 Hans-Peter Nilsson <hp@bitrange.com>
19311
ba82f58b
HPN
19312 * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
19313 float_truncate, not fix.
19314 ("*truncdfsf2_real"): Ditto.
19315 ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
19316
b5ffe606
HPN
19317 * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
19318
c8d1b2b7
AO
193192002-03-16 Alexandre Oliva <aoliva@redhat.com>
19320
cfb773f9
AO
19321 * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
19322 (s8), but rather HARD_FRAME_POINTER_REGNUM. Add parentheses
19323 where appropriate. Make the second reference to
19324 leaf_function_p a function call, as intended. Reindented.
19325
4dffef52
AO
19326 * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
19327 * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
19328
4f5bd6d7
AO
19329 * config/mips/mips.md (addsi3, adddi3): Use scratch register to
19330 add register to non-constant into sp.
19331
c8d1b2b7
AO
19332 * config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
19333 * config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
19334 (mips16_gp_pseudo_rtx): Lose.
19335 (INIT_EXPANDERS): Deleted.
19336 * config/mips/mips.c (mips_init_machine_status): New.
19337 (mips_free_machine_status): New.
19338 (mips_mark_machine_status): New.
19339 (override_options): Set them.
19340 (embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
19341 (struct machine_function): ... new. Replaced all references.
19342 (mips_add_gc_roots): Don't mark them.
19343 (embedded_pic_fnaddr_reg): New, extracted from...
19344 (embedded_pic_offset): ... here.
19345 * config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
19346 (movsi): Likewise.
19347
b3124fac
NB
193482002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
19349
19350 * cppinit.c: Revert -MD removal.
19351
121449b6
SC
193522002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19353
19354 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
19355 soft registers by default for 68HC12.
19356 (m68hc11_conditional_register_usage): Don't use Z register for 68HC12
19357 when compiling with -fomit-frame-pointer.
19358 (expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
19359 (expand_epilogue): Likewise.
19360 (m68hc11_gen_rotate): Use exg when rotating by 8.
19361
840e2ff1
SC
193622002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19363
19364 * config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
19365 * config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
19366 (splits): Remove unused add splits.
19367 ("*addhi3_68hc12"): Tune constraints.
19368 ("addhi_sp"): Try to use X instead of Y in all cases and if the
19369 constant fits in 8-bits and D is dead use abx/aby instructions.
19370 ("*addhi3"): Remove extern declaration of ix_reg.
19371 ("*subsi3"): Optimize and provide new split.
19372 ("subhi3"): Cleanup.
19373 ("*subhi3_sp"): Avoid saving X if we know it is dead.
19374 (arith splits): For 68hc12 save the address register on the stack
19375 and do the arithmetic operation with a pop.
19376
3c9a5efe
SC
193772002-03-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19378
19379 * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
19380 allocating QImode in address registers.
19381 ("*movqi_m68hc11"): Likewise.
19382
e41f3392
JH
19383Sat Mar 16 12:57:28 CET 2002 Jan HUbicka <jh@suse.cz>
19384
19385 * cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
19386
576786b0
NB
193872002-03-16 Neil Booth <neil@daikokuya.demon.co.uk>
19388
19389 * cppinit.c (print_help): Display -MD and -MMD.
19390 Don't display usage string. Update assertion syntax and
19391 typo.
19392 (COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
19393 (cpp_handle_option): Update.
19394
1ac458d4
CD
193952002-03-15 Chris Demetriou <cgd@broadcom.com>
19396
19397 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
19398 MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
19399 and define it so that regardless of target CPU size,
19400 __SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
19401 of "int" rather than "long."
19402
1fcd592b
RH
194032002-03-15 Richard Henderson <rth@redhat.com>
19404
19405 * config/alpha/alpha.c (alpha_va_arg): Manipulate the type
19406 size as a tree.
19407
a0df6910
SC
194082002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19409
19410 * config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
19411 ("tstqi" split): Avoid using memory for tstqi on address register.
19412 (splits): Remove constraints.
19413 ("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
19414 ("cmpdf", "cmpsf"): Remove since not used.
19415 ("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
19416 (peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
19417
015a2e59
SC
194182002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19419
19420 * config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
19421 ("neghi2"): Tighten constraints.
19422 ("one_cmplsi2"): Optimize and simplify split.
19423 * config/m68hc11/larith.asm (__negsi2): Likewise for library.
19424
cd28557c
SC
194252002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19426
19427 * config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
19428 and split of AND operation to clear the upper bits.
19429 ("*logicalsi3_zextqi"): Likewise.
19430 ("*logicallhi3_zexthi_ashift8"): Likewise.
19431 ("*logicalsi3_silshr16"): Likewise.
19432 ("logicalsi3_silshl16"): Likewise.
19433 ("anddi3", "iordi3", "xordi3" splits): Remove constraints.
19434
932657df
SC
194352002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19436
19437 * config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
19438 (m68hc11_indirect_p): New function.
19439 (m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
19440 (m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
19441 TARGET_M6812.
19442 (asm_print_register): Likewise.
19443 * config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
19444 (m68hc11_indirect_p): Declare.
19445 * config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
19446 (TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
19447 (TARGET_SWITCHES): New option -mrelax.
19448 * config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
19449 destination.
19450 ("iorsi3", "xorsi3"): Likewise.
19451 ("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
19452 ("*andhi3_mem"): New to handle destination in memory with bclr
19453 and a scratch register.
19454 ("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
19455 ("*andhi3_const"): New when operand2 is constant.
19456 ("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
19457 ("*andhi3_gen"): Cleanup of the old "andhi3".
19458 ("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
19459 ("xorqi3"): Update constraints.
19460
fdffea1a
SC
194612002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19462
19463 * config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
19464 for reg_equiv_memory_loc when the operand is a register that does
19465 not get a hard register (stack location).
19466 (tst_operand): After reload, accept all memory operand.
19467 (symbolic_memory_operand): Fix detection of symbolic references.
19468 * config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
19469 accept symbols and any constant.
19470
6272bc68
SC
194712002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19472
19473 * config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
19474 note on the insn that sets the soft frame register.
19475 (must_parenthesize): ix and iy are also reserved names.
19476 (print_operand_address): One more place where parenthesis are required
19477 to avoid confusion with register names.
19478 (m68hc11_gen_movhi): Allow push of stack pointer.
19479 (m68hc11_check_z_replacement): Fix handling of parallel with a
19480 clobber.
19481 (m68hc11_z_replacement): Must update the REG_INC notes to tell what
19482 the replacement register is.
19483 * config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
19484 and D8_REGS classes.
19485 (MODES_TIEABLE_P): All modes are tieable except QImode.
19486
1d2d9def
SC
194872002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19488
19489 * config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
19490 (___subdi3): Likewise.
19491 (__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
19492 (__map_data_section): Optimize 68hc11 case.
19493
a0ccf503
SC
194942002-03-15 Stephane Carrez <Stephane.Carrez@worldnet.fr>
19495
19496 * config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
19497 than a shift to avoid adding a register with itself.
19498 (m68hc11_memory_move_cost): Take into account NO_REGS.
19499 (m68hc11_register_move_cost): Update and use memory move cost
19500 for soft registers.
19501 (m68hc11_address_cost): Make cost of valid offset not 0 so that
19502 it gives more opportunities to cse to optimize.
19503 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
19504 * config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
19505
6e4ae815
MM
195062002-03-15 Mark Mitchell <mark@codesourcery.com>
19507
19508 * c-common.c (statement_code_p): Handle CLEANUP_STMT.
19509 * c-common.def (CLEANUP_STMT): New tree node.
19510 * c-common.h (CLEANUP_DECL): New macro.
19511 (CLEANUP_EXPR): Likewise.
19512 * c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
19513 * expr.c (expand_expr): Tidy.
19514 * tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
19515 * tree-inline.c (initialize_inlined_parameters): Clean up
19516 new local variables.
19517
a42519be
JJ
195182002-03-15 Jakub Jelinek <jakub@redhat.com>
19519
19520 PR bootstrap/4128
19521 * config/sparc/sparc.c (gen_v9_scc): Move early clobber test
19522 before movrXX only, use reg_overlap_mentioned_p.
19523 Only special case NE if just one insn can be generated.
19524
15409448
JM
195252002-03-15 Jason Merrill <jason@redhat.com>
19526
19527 * varasm.c (assemble_variable): Call resolve_unique_section before
19528 checking DECL_SECTION_NAME. Use zeros for a decl with DECL_INITIAL
19529 of error_mark_node.
19530
3a4edb44
RE
195312002-03-15 Richard Earnshaw <rearnsha@arm.com>
19532
19533 PR target/5170
19534 * arm.md (split pattern for thumb shiftable immediates): Add comment
19535 explaining non-obvious test.
19536
32defa36
RE
195372002-03-15 Richard Earnshaw <rearnsha@arm.com>
19538
19539 PR target/5712
19540 * arm.md (movaddr, movaddr_insn): Delete.
19541
5cc90635
JM
195422002-03-15 Jason Merrill <jason@redhat.com>
19543
19544 * toplev.c (wrapup_global_declarations): Clarify variable handling.
19545 -fkeep-static-consts doesn't apply to comdats.
19546
ecb0eece
RH
195472002-03-14 Richard Henderson <rth@redhat.com>
19548
19549 * c-decl.c: Include c-pragma.h.
19550 (start_decl, start_function): Invoke maybe_apply_pragma_weak.
19551 (finish_function): Tidy.
19552 * c-pragma.c: Include c-common.h.
19553 (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
19554 (handle_pragma_weak): Use them.
19555 (init_pragma): Register pending_weaks.
19556 * c-pragma.h (maybe_apply_pragma_weak): Declare.
19557 * print-tree.c (print_node): Print DECL_WEAK.
19558 * varasm.c (mark_weak_decls): Remove.
19559 (remove_from_pending_weak_list): Remove.
19560 (add_weak): Remove.
19561 (asm_emit_uninitialised): Call globalize_decl for weak commons.
19562 (weak_decls): Make a tree_list.
19563 (declare_weak): Cons weak_decls directly.
19564 (globalize_decl): Remove weak_decls elements directly.
19565 (weak_finish): Simplify weak_decls walk. Don't weaken unused
19566 symbols. Don't pretend to handle aliases.
19567 (init_varasm_once): Update weak_decls registry.
19568 * Makefile.in: Update dependencies.
19569
98d2b17e
RH
195702002-03-14 Richard Henderson <rth@redhat.com>
19571
19572 PR target/5312
19573 * config/ia64/ia64.c: Include tm_p.h last.
19574 (gen_nop_type): Remove duplicate definition.
19575 (cycle_end_fill_slots): Set sched_data for second L slot.
19576 (maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
19577 (nop_cycles_until): Fix typos.
19578
f2f4927e
JJ
195792002-03-15 Jakub Jelinek <jakub@redhat.com>
19580
19581 PR optimization/5891
19582 * unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
19583
5025a549
DM
195842002-03-14 David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
19585
19586 * config/ia64/unwind-ia64.c: Handle copy_state and label_state
19587 descriptors correctly.
19588
03e9dbc9
MM
195892002-03-14 Michael Meissner <meissner@redhat.com>
19590
19591 * params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
19592 100, allowing MAX_UNROLLED_INSNS to be overridden.
19593
19594 * params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
19595 --param.
19596
19597 * unroll.c (params.h): Include.
19598 (MAX_UNROLLED_INSNS): Delete, now in params.h.
19599
19600 * doc/invoke.texi (--param max-unroll-insns): Document.
19601
19602 * Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
19603
12249385
RE
196042002-03-14 Richard Earnshaw <rearnsha@arm.com>
19605
19606 * arm.md: Fix warnings about constraints in peepholes and splits.
19607
f0cce04a
ZW
196082002-03-14 Zack Weinberg <zack@codesourcery.com>
19609
19610 * cpphash.h (struct lexer_state): Remove line_extension member.
19611 * cpplib.c (dequote_string, do_linemarker): New functions.
19612 (linemarker_dir): New data object.
19613 (DIRECTIVE_TABLE): No longer need to interpret #line in
19614 preprocessed source. Delete obsolete comment about return
19615 values of handlers.
19616 (end_directive, directive_diagnostics, _cpp_handle_directive):
19617 Don't muck with line_extension.
19618 (directive_diagnostics): No need to issue warnings for
19619 linemarkers here.
19620 (_cpp_handle_directive): Issue warnings for linemarkers here,
19621 when appropriate. Dispatch linemarkers to do_linemarker, not
19622 do_line.
19623 (do_line): Code to handle linemarkers split out to do_linemarker.
19624 Convert escape sequences in filename argument, both places.
19625
19626 * cppmacro.c (quote_string): Rename cpp_quote_string and
19627 export. All callers changed.
19628 * cpplib.h (cpp_quote_string): Prototype.
19629 * cppmain.c (print_line): Call cpp_quote_string on to_file
19630 before printing it.
19631
19632 * doc/cpp.texi: Document that escapes are now interpreted in
19633 #line and in linemarkers, and that non-printing characters are
19634 converted to octal escapes when linemarkers are generated.
19635
19636Thu Mar 14 19:04:29 CET 2002 Jan Hubicka <jh@suse.cz>
83a49407
JH
19637
19638 * emit-rtl.c (try_split): Use delete_insns.
19639 * recog.c (split_all_insns): Fix terminating condition.
19640
c882c7ac
RE
196412002-03-14 Richard Earnshaw <rearnsha@arm.com>
19642 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19643
19644 PR target/5828
19645 * arm.c (arm_output_epilogue): Fix floating-point register save
19646 adjustment when using a frame pointer.
19647
3f26edaa
RS
196482002-03-14 Richard Sandiford <rsandifo@redhat.com>
19649
19650 * config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
19651 * config/mips/mips.c (compute_frame_size): Retrofit them here.
19652 (save_restore_insns, mips_expand_epilogue): And here.
19653 (build_mips16_call_stub): And here.
19654 (mips_function_value): Use the new macros to decide whether a single
19655 or complex float can be returned in floating-point registers. Return
19656 a parallel rtx in the complex case.
19657
1e3881c2
JH
19658Thu Mar 14 11:03:12 CET 2002 Jan Hubicka <jh@suse.cz>
19659
19660 * toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
19661 call after liveness analysis.
19662
19663 * recog.c (split_insn): Use delete_insn_and_edges.
19664
19665 * cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
19666 instructions to have branch prediction notes.
19667 * ia64reorg.c (ia64_reorg): Do not rebuild CFG.
19668
200ef634
GK
196692002-03-14 Geoffrey Keating <geoffk@redhat.com>
19670
19671 * configure.in: Don't pass -Wno-long-long to a ADA compiler
19672 that doesn't support it.
19673 * configure: Regenerate.
19674
0b82d204
JJ
196752002-03-13 Jakub Jelinek <jakub@redhat.com>
19676
19677 PR target/5626
19678 * config/sparc/sparc.md (normal_branch, inverted_branch,
19679 normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
19680 inverted_fp_branch): Adjust calls to output_cbranch.
19681 Set length attribute.
19682 (normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
19683 output_v9branch. Set length attribute.
19684 * config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
19685 predicates.
19686 (noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
19687 (output_cbranch): Likewise. Handle far branches.
19688 (output_v9branch): Handle far branches.
19689 * config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
19690 Adjust prototypes.
19691 * config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
19692 noov_compare64_op predicates.
19693
7a8de19b
JM
196942002-03-13 Jason Merrill <jason@redhat.com>
19695
19696 * gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
19697 into the function and constify it.
19698 * gthr-dce.h, gthr-solaris.h: Likewise.
19699
2a55fd42
DE
197002002-03-13 David Edelsohn <edelsohn@gnu.org>
19701
19702 * config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
19703 * config/rs6000/rs6000.c (rs6000_va_arg): Use
19704 std_expand_builtin_va_arg if not ABI_V4.
19705
19c5b1cf
JM
197062002-03-13 Jason Merrill <jason@redhat.com>
19707
19708 * varasm.c (globalize_decl): New fn.
19709 (assemble_start_function): Use it.
19710 (asm_emit_uninitialized): Use it.
19711 (assemble_alias): Use it.
19712 (assemble_variable): Use it.
19713
2a15f5e1
HPN
197142002-03-13 Hans-Peter Nilsson <hp@axis.com>
19715
19716 * config/cris/cris.c (cris_target_asm_function_prologue): Revert
f0cce04a 19717 2002-03-12 internal visibility change.
2a15f5e1
HPN
19718 (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
19719 visibility into SYMBOL_REF_FLAG.
19720
c0a3eeac
UW
197212002-03-13 Ulrich Weigand <uweigand@de.ibm.com>
19722
19723 * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
19724 VOIDmode operand. Add compile-time optimization for constant results.
19725
a1652cee
JM
197262002-03-12 Jason Merrill <jason@redhat.com>
19727
19728 * c-typeck.c (convert_for_assignment): Don't allow conversions
19729 between pointers and references. Only allow lvalues to convert to
19730 reference.
19731
c52a375d
HP
197322002-03-13 Hartmut Penner <hpenner@de.ibm.com>
19733
f0cce04a
ZW
19734 * config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
19735 before prologue, to avoid scheduling problems.
c52a375d 19736
e387e99b
JJ
197372002-03-13 Jakub Jelinek <jakub@redhat.com>
19738
19739 * config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
19740 (ELIMINABLE_REGS): Add sfp->sp.
19741 (INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
19742
197432002-03-13 Jakub Jelinek <jakub@redhat.com>
09948ece
JJ
19744
19745 PR optimization/5892
19746 * config/ia64/ia64.c (rotate_one_bundle): Update current packet.
19747
4061c1a3
JJ
197482002-03-13 Jakub Jelinek <jakub@redhat.com>
19749
19750 * loop.c (basic_induction_var): Don't call convert_modes if mode
19751 classes are different.
19752
5b43fed1
RH
197532002-03-12 Richard Henderson <rth@redhat.com>
19754
9f53e965
RH
19755 PR optimization/5901
19756 * function.c (reposition_prologue_and_epilogue_notes): Position
19757 the markers after/before the last/first insn not deleted.
19758
197592002-03-12 Richard Henderson <rth@redhat.com>
19760
19761 PR optimization/5878
5b43fed1
RH
19762 * config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
19763 config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
19764 (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
19765
19766 * config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
19767 config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
19768 PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
19769
19770 * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
19771 * config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
19772 (arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
19773 also. Don't set it if not flag_pic.
19774 * config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
19775 to be INVALID_REGNUM when not used.
19776
4e9bb42b
AH
197772002-03-13 Aldy Hernandez <aldyh@redhat.com>
19778
5b43fed1
RH
19779 * expmed.c (store_bit_field): Reset alias set for memory.
19780 (extract_bit_field): Same.
4e9bb42b 19781
2f9834e8
KG
197822002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19783
19784 * c-common.c (c_tree_code_type, c_tree_code_length,
19785 c_tree_code_name, add_c_tree_codes): Delete.
19786 * c-common.h (add_c_tree_codes): Delete.
19787 * c-lang.c (tree_code_type, tree_code_length, tree_code_name):
19788 Define.
19789 * c-objc-common.c (c_objc_common_init): Don't call
19790 add_c_tree_codes, instead set lang_unsafe_for_reeval.
19791 * objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
19792 objc_tree_code_name, add_objc_tree_codes): Delete.
19793 (objc_init): Don't call add_objc_tree_codes.
19794 * objc/objc-lang.c (tree_code_type, tree_code_length,
19795 tree_code_name): Define.
19796 * toplev.c (lang_independent_init): Don't set
19797 tree_code_length[IDENTIFIER_NODE].
19798 * tree.c (tree_code_type, tree_code_length, tree_code_name):
19799 Delete definitions, moved to language front-ends.
19800 * tree.def (IDENTIFIER_NODE): Hardwire the length.
19801 * tree.h (tree_code_type, tree_code_length, tree_code_name):
19802 Const-ify.
19803 (tree_code_length): Change type to unsigned char.
19804
36ad2436
RH
198052002-03-12 Richard Henderson <rth@redhat.com>
19806
19807 * config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
19808 internal visibility change.
19809
0ae02efa
BW
198102002-03-12 Bob Wilson <bob.wilson@acm.org>
19811
19812 * config/xtensa/xtensa.c (xtensa_expand_block_move): Use
19813 validize_mem() instead of change_address to avoid clobbering
19814 memory attributes.
19815
35bb2bee
NB
198162002-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
19817
19818 * c-lex.h (position_after_whitespace): Remove.
19819
62ae2529
JJ
198202002-03-12 Jakub Jelinek <jakub@redhat.com>
19821
19822 * c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
19823 (lex_string): Use unsigned char pointers.
19824
6a45951f
UW
198252002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
19826
19827 * reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
19828 is not a valid memory_operand.
19829
e2fb85da
BW
198302002-03-12 Bob Wilson <bob.wilson@acm.org>
19831
19832 * config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
19833 * config/xtensa/lib1funcs.asm: Fix copyright to include
19834 special case for libgcc files.
19835 (__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
19836 (__divsi3): Likewise.
19837 (__umodsi3): Likewise.
19838 (__modsi3): Likewise.
19839 * config/xtensa/lib2funcs.S: Fix copyright to include
19840 special case for libgcc files.
19841
5b8619f8
TR
198422002-03-12 Tom Rix <trix@redhat.com>
19843
19844 * collect2.c (resolve_lib_name): Move outside of
f0cce04a 19845 OBJECT_FORMAT_COFF ifdef.
5b8619f8
TR
19846 (ignore_library): Same.
19847
089c8f97
BW
198482002-03-12 Bob Wilson <bob.wilson@acm.org>
19849
19850 * config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
19851
958c70ff
BW
198522002-03-12 Bob Wilson <bob.wilson@acm.org>
19853
19854 * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
19855 to function_section before writing out the constant pool.
19856
a65c591c
DE
198572002-03-12 David Edelsohn <edelsohn@gnu.org>
19858
19859 * config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
19860 zero_constant.
19861 * config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
19862
198632002-03-12 Alan Modra <amodra@bigpond.net.au>
19864
19865 * config/rs6000/rs6000.md (addsi3): Optimize sign extension.
19866 (adddi3): Likewise.
19867 (movdf): Likewise.
19868 (movdi): Likewise.
19869 (cmpsi splitter): Likewise.
19870 (modsi3): Fail if <= 0.
19871 * config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
19872 redundant test when HOST_BITS_PER_WIDE_INT != 32.
19873 (reg_or_sub_cint64_operand): Likewise.
19874 (num_insns_constant_wide): Optimize sign extension.
19875 (rs6000_legitimize_address): Likewise.
19876
17720332
AM
198772002-03-12 Andrew MacLeod <amacleod@redhat.com>
19878
19879 * config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
19880 * config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
19881
cd49f073
AM
198822002-03-12 Andrew MacLeod <amacleod@redhat.com>
19883
19884 * config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
19885 address calculation.
19886
6a4e49c1
UW
198872002-03-12 Ulrich Weigand <uweigand@de.ibm.com>
19888
19889 * config/s390/s390.md (reload_insi, reload_indi): Change mode of
19890 scratch register to DImode / TImode.
19891 config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
19892 register used does not overlap the target.
19893
54b6670a
KG
198942002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19895
19896 * Makefile.in (debug.o): Depend on debug.h.
19897 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
19898 * debug.c (do_nothing_debug_hooks): Likewise.
19899 * debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
19900 sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
19901 dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
19902 * dwarf2out.c (dwarf2_debug_hooks): Likewise.
19903 * dwarfout.c (dwarf_debug_hooks): Likewise.
19904 * integrate.c (output_inline_function): Likewise.
19905 * objc/objc-act.c (synth_module_prologue): Likewise.
19906 * sdbout.c (sdb_debug_hooks): Likewise.
19907 * toplev.c (debug_hooks): Likewise.
19908 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
19909
2465bf76
KG
199102002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19911
19912 * 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
19913 dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
19914 m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
19915 ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
19916 v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
19917 * defaults.h (POINTER_SIZE): Define.
19918 * doc/tm.texi (POINTER_SIZE): Document default.
19919
53f3e9ca
KG
199202002-03-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
19921
19922 * mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
19923
44d3eb5b
RH
199242002-03-11 Richard Henderson <rth@redhat.com>
19925
19926 * toplev.c (rest_of_compilation): Call purge_all_dead_edges
19927 if rebuild_label_notes_after_reload.
19928
4a085d2e
HPN
199292002-03-12 Hans-Peter Nilsson <hp@axis.com>
19930
19931 * config/cris/cris.c (cris_target_asm_function_prologue): Do not
19932 emit pic register load if "internal" visibility.
19933 (cris_print_operand): Avoid traditional-warning for 0xffffffff.
19934 (cris_expand_builtin_va_arg): Do all computations on trees.
19935
bc204393
RH
199362002-03-11 Richard Henderson <rth@redhat.com>
19937
19938 * rtlanal.c: Include recog.h.
19939 (keep_with_call_p): Fix thinko.
19940 * Makefile.in (rtlanal.o): Update dependencies.
19941
6b8b9d7b
CM
199422002-03-11 Chris Meyer <cmeyer@gatan.com>
19943
19944 * genflags.c (gen_insn): Use IS_VSPACE.
19945 * genoutput.c (output_insn_data): Likewise.
19946 (process_template): Likewise.
19947
6c40858f
RH
199482002-03-11 Richard Henderson <rth@redhat.com>
19949
19950 * toplev.c (rest_of_compilation): Don't compile if we've had errors.
19951
40adaa27
NB
199522002-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
19953
19954 * Makefile.in: Update.
6c40858f 19955 * doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
40adaa27 19956 Update documentation.
6c40858f
RH
19957 * doc/gcc.texi: Include cppopts.texi and cppenv.texi.
19958 * doc/cpp.texi: Include cppopts.texi and cppenv.texi.
40adaa27 19959
049b03f4
ZW
199602002-03-11 Zack Weinberg <zack@codesourcery.com>
19961
19962 * Makefile.in: Give texi2pod its input file as a command line
19963 argument, not on stdin.
19964
61eece67
DN
199652002-03-11 Dan Nicolaescu <dann@ics.uci.edu>
19966 Daniel Berlin <dan@dberlin.org>
19967
19968 C++ alias analysis improvement.
f0cce04a 19969 * alias.c (record_component_aliases): Record aliases for base
61eece67
DN
19970 classes too.
19971
a65c591c
DE
199722002-03-11 Ulrich Weigand <uweigand@de.ibm.com>
19973
ff080aba
UW
19974 * config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
19975
1682dbb1
DR
199762002-03-11 Douglas B Rupp <rupp@gnat.com>
19977
fa2d765a
DR
19978 * toplev.c (vms_fopen): Remove, not needed.
19979
6f1fd286
DR
19980 * vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
19981
b230e057
DR
19982 * config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
19983
cb9a8e97
DR
19984 * config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
19985 for FP, already done later.
19986
1682dbb1
DR
19987 * toplev.c (debug_args): Add entry for VMS_DEBUG.
19988 * vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
19989
3fcaac1d
RS
199902002-03-11 Richard Sandiford <rsandifo@redhat.com>
19991
19992 * defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
19993 (MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
19994 LARGEST_EXPONENT_IS_NORMAL for the given mode.
19995 (MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
19996 * real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
19997 (ediv, emul, eldexp, esqrt): Likewise.
19998 (etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
19999 (e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
20000 (saturate): New function.
20001 (toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
20002 (make_nan): Use a saturation value instead of a NaN if
20003 LARGEST_EXPONENT_IS_NORMAL. Warn when this happens.
20004 * fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
20005 inputs if LARGEST_EXPONENT_IS_NORMAL. Represent subnormals as
20006 zero if NO_DENORMALS. Only round to nearest if !ROUND_TOWARDS_ZERO.
20007 (unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
20008 (_fpmul_parts, _fpdiv_parts): Only round to nearest if
20009 !ROUND_TOWARDS_ZERO.
20010 * doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
20011 (ROUND_TOWARDS_ZERO): Document.
20012
d25558be
AJ
200132002-03-11 Andreas Jaeger <aj@suse.de>
20014
20015 * cfg.c (dump_flow_info): Remove unused variable.
20016
c71f9ae7
HPN
200172002-03-11 Hans-Peter Nilsson <hp@bitrange.com>
20018
20019 * config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
20020 computations on trees.
20021
561c9153
RH
200222002-03-10 Richard Henderson <rth@redhat.com>
20023
932b4e3e 20024 PR 5693:
561c9153
RH
20025 * reload.c (copy_replacements_1): New.
20026 (copy_replacements): Use it to recurse through the rtx.
20027
26b738be
RH
200282002-03-10 Richard Henderson <rth@redhat.com>
20029
20030 * loop.c (strength_reduce): Compute number of iterations as
20031 unsigned HOST_WIDE_INT.
20032
8d8a083e
RH
200332002-03-10 Richard Henderson <rth@redhat.com>
20034
20035 * sched-rgn.c (add_branch_dependences): Don't allow insns that throw
20036 to move away from the end of the block.
20037
32810ba3
NB
200382002-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
20039
20040 PR preprocessor/5899
20041 * cppinit.c (init_dependency_output): Don't ignore -dM etc.
d25558be 20042
2b03d201
KG
200432002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20044
f90c544c
KG
20045 * mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
20046
2b03d201
KG
20047 * attribs.c (decl_attributes): Fix signed/unsigned warning.
20048
3ec1b4cb
HPN
200492002-03-10 Hans-Peter Nilsson <hp@bitrange.com>
20050
20051 * config/mmix/mmix.c: Improve comments.
20052 (mmix_target_asm_function_prologue): Drop variable
20053 empty_stack_frame. Don't allocate unused slot above fp.
20054 (mmix_target_asm_function_epilogue): Mirror prologue changes.
20055 * config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
20056 brace in first column.
20057 (enum reg_class): Ditto.
20058 (FIRST_PARM_OFFSET): Now 0.
20059 (USER_LABEL_PREFIX): Remove #if 0:d definition.
20060
27e486c5
KG
200612002-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20062
20063 * combine.c (make_extraction): Fix error in last change.
20064
0139adca
KG
200652002-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20066
20067 * c4x.c (c4x_fp_reglist): Const-ify.
20068 * cris.c (cris_print_operand): Likewise.
20069 * i386.c (ix86_va_arg): Likewise.
20070 * ia64/unwind-ia64.c (unw_decode_table): Likewise.
20071 * m32r.c (m32r_hard_regno_mode_ok): Likewise.
20072 * m32r.h (m32r_hard_regno_mode_ok): Likewise.
20073 * mcore.c (regno_reg_class, mcore_unique_section): Likewise.
20074 * mcore.h (regno_reg_class): Likewise.
20075 * mips.c (gen_int_relational): Likewise.
20076 * ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
20077 * ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
a4334c36 20078 * pdp11.c (move_costs): Likewise.
0139adca
KG
20079 * pj.h (INITIALIZE_TRAMPOLINE): Likewise.
20080 * s390.c (s390_branch_condition_mnemonic, regclass_map):
20081 Likewise.
20082 * s390.h (regclass_map): Likewise.
20083 * sh.c (shift_amounts): Likewise.
a4334c36 20084 * sh.md (rotlsi3): Likewise.
0139adca 20085
889b90a1
GK
200862002-03-09 Geoffrey Keating <geoffk@redhat.com>
20087
20088 * config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
20089 (ne0+5): Use new clobber to generate proper shift pattern.
20090 Patch by Michael Matz <matz@kde.org>.
20091
2877e0ae
AS
200922002-03-09 Andreas Schwab <schwab@suse.de>
20093
20094 * gcc.c (validate_all_switches): Also handle `%W{...}'.
20095
79b51cd7
GK
200962002-03-09 Geoffrey Keating <geoffk@redhat.com>
20097
20098 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
20099
e0f1be5c
JJ
201002002-03-09 Jakub Jelinek <jakub@redhat.com>
20101
20102 PR middle-end/5877
20103 * expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
20104 even for non-representable constants.
20105
0a7ec763
RK
20106Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20107
93fe8e92
RK
20108 * emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
20109 * function.c (fixup_var_refs): Add MAY_SHARE parameter.
20110 (fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
20111 (fixup_var_refs_insn, fixup_var_refs_1): Likewise.
20112 (pop_function_context): Compute MAY_SHARE parameter for
20113 fixup_var_refs.
20114 (fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
20115 (gen_mem_addressof): Call fixup_var_refs with new parm.
20116
0a7ec763
RK
20117 * combine.c (make_extraction): Don't make extension of CONST_INT.
20118
a85cd407
AO
201192002-03-09 Alexandre Oliva <aoliva@redhat.com>
20120
9445b814
AO
20121 * config/mips/mips.c (function_arg_pass_by_reference): Force to 0
20122 in o32 and o64 ABIs.
20123 * config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
20124 but getting fixed-size structs passed in registers regardless of
20125 padding in o32 and o64 ABIs.
20126
a85cd407
AO
20127 * config/mips/mips.c (mips_va_arg): Apply big-endianness address
20128 offset before loading address of argument passed by transparent
20129 reference.
20130
c51fbe40
JDA
201312002-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
20132
20133 * t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
20134
918e70dd
AO
201352002-03-09 Alexandre Oliva <aoliva@redhat.com>
20136
20137 * config/mips/mips.c (mips_expand_prologue): Set regno of vararg
20138 marker such that registers after it are saved.
20139
3070dd00
KG
201402002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20141
20142 * sparc.c (arith_4096_operand): Fix error in last change.
20143
e25d11b0
AO
201442002-03-08 Alexandre Oliva <aoliva@redhat.com>
20145
20146 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
20147 defaults for MEABI.
20148
41daaf0e
AH
201492002-03-08 Aldy Hernandez <aldyh@redhat.com>
20150
5b43fed1
RH
20151 * config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
20152 vectors.
41daaf0e 20153
fa139b00
AH
201542002-03-08 Aldy Hernandez <aldyh@redhat.com>
20155
5b43fed1 20156 * config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
fa139b00 20157
c51d95ec
JH
20158Fri Mar 8 21:27:49 CET 2002 Jan Hubicka <jh@suse.cz>
20159
20160 * cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
20161 removed; fix return value.
20162 * combine.c (combine_instructions): Dirtify blocks where we failed to
20163 update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
20164 * toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
20165
3b25fbfe
KG
201662002-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20167
20168 * gcse.c (insert_insn_end_bb): Fix typo in last change.
20169
189ae0f4
JH
20170Fri Mar 8 21:08:52 CET 2002 Jan Hubicka <jh@suse.cz>
20171
20172 * recog.c (peephole2_optimize): Re-distribute EH edges.
20173
24965e7a
NB
201742002-03-08 Neil Booth <neil@daikokuya.demon.co.uk>
20175
20176 * expr.c (expand_expr): Use unsave lang hook.
20177 * langhooks-def.h (LANG_HOOKS_UNSAVE): New.
20178 (LANG_HOOKS_INITIALIZER): Update.
20179 * langhooks.h (struct lang_hooks): New hook unsave.
20180 * tree.c (lang_unsave, lang_unsave_expr_now): Remove.
20181 (unsave_expr_1): Remove unused lang_unsave_expr_now.
20182 (unsave_expr_now_r): Rename lhd_unsave. Update. Return input.
20183 (unsave_expr_now): Remove.
20184 * tree.h (unsave_expr_now, lang_unsave,
20185 lang_unsave_expr_now): Remove.
20186 (lhd_unsave): New.
20187
1e4e95d6
AJ
201882002-03-08 Andreas Jaeger <aj@suse.de>
20189
20190 * flow.c (propagate_block_delete_insn): Remove unused variable.
20191
054ef905
KH
201922002-03-08 Kazu Hirata <kazu@hxi.com>
20193
20194 * config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
20195 insn length for memory load/store.
20196
5304400d 201972002-03-08 Craig Rodrigues <rodrigc@gcc.gnu.org>
1e4e95d6 20198
5304400d
CR
20199 * doc/install.texi (--with-libiconv-prefix): Document.
20200
81034129
MB
202012002-03-08 Michael Y. Brukman <myb2@cornell.edu>
20202
20203 * doc/sourcebuild.texi: Fix typo.
20204
71db7d03
JJ
202052002-03-08 Jakub Jelinek <jakub@redhat.com>
20206
20207 PR c/3711
20208 * builtins.c (std_expand_builtin_va_arg): Do all computations on
20209 trees.
20210
127c1ba5
RK
20211Fri Mar 8 06:48:45 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20212
20213 * rtl.c (copy_most_rtx): Move from here ...
20214 * emit-rtl.c (copy_most_rtx): ... to here.
20215
8a13c092
AO
202162002-03-08 Alexandre Oliva <aoliva@redhat.com>
20217
5faae4f7
AO
20218 * config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
20219 SUBTARGET_CPP_SIZE_SPEC.
20220 * config/mips/abi64.h (LONG_MAX_SPEC): Delete.
20221
8a13c092
AO
20222 * config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
20223
4ec59de2
MH
202242002-03-07 Matt Hiller <hiller@redhat.com>
20225
20226 * gensupport.c (first_dir_md_include): Renamed from include;
20227 change all references.
20228 (last_dir_md_include): Renamed from last_include; change all
20229 references.
20230 (init_md_reader): Unconditionally initialize base_dir whether or
20231 not filename is a relative path.
20232
12f61e77
AO
202332002-03-07 Alexandre Oliva <aoliva@redhat.com>
20234
95356058
AO
20235 * config/fp-bit.c (_unord_f2): Compile it in even if
20236 US_SOFTWARE_GOFAST is enabled.
20237
12f61e77
AO
20238 * config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
20239 NULL_RTX. Set all HFmode operations as NULL_RTX.
20240 * optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
20241 NULL_RTX, try reversing the comparison and the operands.
20242
6d7a1c4c
UW
202432002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
20244
20245 * genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
20246 genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
20247 and MATCH_OP_DUP.
20248
66d54344
JH
20249Thu Mar 7 16:54:10 CET 2002 Jan Hubicka <jh@suse.cz>
20250
20251 * reload1.c (reload_cse_delete_noop_set): Purge dead edges.
20252
068473ec
JH
20253Thu Mar 7 16:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
20254
20255 * basic-block.h (fixup_abnormal_edges): Declare.
20256 * reload1.c (fixup_abnormal_edges): New function.
20257 * reg-stack.c (convert_regs): Use it.
20258
20259 * gcse.c (insert_insn_end_bb): Handle trapping insns.
20260
20261 * gcse.c (hash_scan_set): Refuse instructions with EH edges.
20262
71925bc0
RS
202632002-03-07 Richard Sandiford <rsandifo@redhat.com>
20264
20265 * defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
20266 (MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
20267 * flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
20268 (HONOR_SIGN_DEPENDENT_ROUNDING): New.
20269 * builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
20270 * c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
20271 unless x and y could be infinite.
20272 (expand_unordered_cmp): New, mostly split from expand_tree_builtin.
20273 Check that the common type of both arguments is a real, even for
20274 targets without unordered comparisons. Allow an integer argument
20275 to be compared against a real.
20276 (expand_tree_builtin): Use expand_unordered_cmp.
20277 * combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
20278 * cse.c (fold_rtx): Likewise. Fix indentation.
20279 * fold-const.c (fold_real_zero_addition_p): New.
20280 (fold): Use it, and the new HONOR_... macros.
20281 * ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
20282 * jump.c (reversed_comparison_code_parts): After searching for
20283 the true comparison mode, use HONOR_NANS to decide whether it
20284 can be safely reversed.
20285 (reverse_condition_maybe_unordered): Remove IEEE check.
20286 * simplify-rtx.c (simplify_binary_operation): Use the new macros
20287 to decide which simplifications are valid. Allow the following
20288 simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
20289 and (a - -b) to (a + b).
20290 (simplify_relational_operation): Use HONOR_NANS.
20291 * doc/tm.texi: Document the MODE_HAS_... macros.
20292
145d3bf2
RE
202932002-03-07 Richard Earnshaw <rearnsha@arm.com>
20294
20295 * combine.c (simplify_comparison): If simplifying a logical shift
20296 right and compare with constant, force the comparison to unsigned.
20297
76a773f3
AH
202982002-03-07 Aldy Hernandez <aldyh@redhat.com>
20299
5b43fed1 20300 * doc/invoke.texi: Add documentation for -mabi=no-altivec.
76a773f3 20301
5b43fed1
RH
20302 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
20303 -mabi=no-altivec
20304 (alt_reg_names): Remove % for vrsave.
76a773f3 20305
ab55f58c
RH
203062002-03-06 Richard Henderson <rth@redhat.com>
20307
5ddec02e 20308 PR optimization/5844
ab55f58c
RH
20309 * genemit.c (gen_exp): New argument used. Invoke copy_rtx
20310 if used indicates we've already emitted one copy of an operand.
20311 (gen_insn, gen_expand, output_add_clobbers): Supply a null used.
20312 (gen_split): Supply a non-null used.
20313
e16e3291
UW
203142002-03-06 Ulrich Weigand <uweigand@de.ibm.com>
20315
5b43fed1 20316 * reload1.c (reload): Unshare all rtl after reload is done.
e16e3291 20317
1e4e95d6 20318 * simplify-rtx.c (simplify_plus_minus): Do not abort,
e16e3291
UW
20319 but simply fail if the expression is too complex to simplify.
20320 (simplify_gen_binary): Handle simplify_plus_minus failures.
20321
2ca6672b
JH
20322Wed Mar 6 20:32:09 CET 2002 Jan Hubicka <jh@suse.cz>
20323
20324 * toplev.c (rest_of_compilation): Do jump threading before SSA path;
20325 consistently call delete_trivially_dead_insns after CSE and GCSE;
20326 fix DFI_life dumping; do jump threading after liveness; do crossjumping
20327 after liveness2; update comment in last crossjumping.
20328 * cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
20329
31d0dd4f
JL
20330Wed Mar 6 12:27:10 2002 Jeffrey A Law (law@redhat.com)
20331
d094b0b3
JL
20332 * ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
20333 after completing fast dead code elimination.
20334
31d0dd4f
JL
20335 * m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
20336 COMPARE operator.
1e4e95d6 20337
f2b958b1
PE
203382002-03-06 Phil Edwards <pme@gcc.gnu.org>
20339
20340 * version.c: Fix misplaced leading blanks on first line.
20341
a2877a09
JH
20342Wed Mar 6 19:08:03 CET 2002 Jan Hubicka <jh@suse.cz>
20343
20344 * cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
20345
fe477d8b
JH
20346Wed Mar 6 18:14:43 CET 2002 Jan Hubicka <jh@suse.cz>
20347
20348 * cfgcleanup.c (mentions_nonequal_regs): New function.
20349 (thread_jump): Use it.
20350 * toplev.c (rest_of_compilation): Run jump threading after
20351 liveness.
20352
2041cde4
JJ
203532002-03-06 Jakub Jelinek <jakub@redhat.com>
20354
20355 * ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
20356 patch.
20357
82d68d46
JH
20358Wed Mar 6 11:28:19 CET 2002 Jan Hubicka <jh@suse.cz>
20359
20360 * predict.c (estimate_bb_frequencies): Do not reload the
20361 frequencies from notes.
20362
3dec4024
JH
20363Wed Mar 6 10:59:39 CET 2002 Jan Hubicka <jh@suse.cz>
20364
20365 * cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
20366 * rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
20367
20368 * basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
20369 delete_noop_moves): Return indeger.
20370 * flow.c (ndead): New variable.
20371 (propagate_block_delete_insn): Use delete_insn_and_edges; remove
20372 BB argument; update callers.
20373 (propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
20374 (life_analysis): Do not call purge_all_dead_edges.
20375 (update_life_info): Return number of deleted insns; print statistics.
20376 (update_life_info_in_dirty_blocks): likewise.
20377 (delete_noop_moves): Use delete_insn_and_edges; print statistics;
20378 return number of insns deleted.
20379
20380 * cse.c: Include timevar.h
20381 (delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
20382 iterate until stabilizes; print statistics; return number of killed
20383 insns.
20384 * Makefile.in: (cse.o): Add timevar.h dependency
20385 * rtl.h (delete_trivially_dead_insns): New.
20386 * timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
20387 * toplev.c (rest_of_compilation): Update callers.
20388
20389 * cfgcleanup.c (try_optimize_cfg): Kill blocks.
20390 (try_optimize_cfg): Do not update liveness.
20391 (cleanup-cfg): Loop until try_optimize_cfg and dead code
20392 removal stabilizes; use delete_trivially_dead_insns.
20393
20394 * cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
20395
c7544dd8
ZW
203962002-03-05 Zack Weinberg <zack@codesourcery.com>
20397
20398 * cppmain.c (setup_callbacks): Disable #pragma and #ident
20399 callbacks when processing assembly language.
20400
50b424a9
JDA
204012002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
20402
20403 * pa.h (ASM_FILE_END): Define.
20404 * som.h (ASM_FILE_END): Delete.
20405
20406 * pa.c (function_arg): Don't pass floats in general registers in
20407 indirect calls if TARGET_ELF32.
20408
6185f217
RH
204092002-03-05 Richard Henderson <rth@redhat.com>
20410
20411 * config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
20412
3020a4b2
DS
204132002-03-05 Danny Smith <dannysmith@users.sourceforge.net>
20414
20415 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
20416
65649daa
JJ
204172002-03-05 Jakub Jelinek <jakub@redhat.com>
20418
20419 * mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
20420 -r command line. Don't hide any symbols if not building
20421 shared libgcc.
20422
5a1a3e5e
JH
20423Tue Mar 5 18:31:27 CET 2002 Jan Hubicka <jh@suse.cz>
20424
20425 * cfg.c (dump_flow_info): Warn about profile mismatches.
20426 * cfgrtl.c (verify_flow_info): Few aditional sanity checks.
20427 (purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
20428
170c56da
JJ
204292002-03-05 Jakub Jelinek <jakub@redhat.com>
20430
20431 * expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
20432 wide volatile memory by parts.
20433
6d051694
JJ
204342002-03-05 Jakub Jelinek <jakub@redhat.com>
20435
20436 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
20437 is NULL.
20438
28bcfd4d
RH
204392002-03-05 Richard Henderson <rth@redhat.com>
20440
5b43fed1 20441 * rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
28bcfd4d 20442
75227a33
GK
204432002-03-04 Geoffrey Keating <geoffk@redhat.com>
20444
20445 * toplev.c (documented_lang_options): Document more
20446 language-specific options.
20447 * doc/invoke.texi (Warning Options): Correct documentation for
20448 -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
20449 * c-decl.c (c_decode_option): Use a table to handle warning options.
20450
4f1aac42
HPN
204512002-03-05 Hans-Peter Nilsson <hp@bitrange.com>
20452
20453 * config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
20454 parameter to mmix_encode_section_info.
20455 (LINK_SPEC): Don't defsym __.MMIX.start..text if linking
20456 relocatably. Always produce ELF, not mmo if linking relocatably.
20457 * config/mmix/mmix.c (mmix_encode_section_info): If new parameter
20458 first is non-zero, don't add symbol prefix.
20459 * config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
20460 prototype accordingly.
20461
12345543
KW
204622002-03-04 Krister Walfridsson <cato@df.lth.se>
20463
20464 * config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
20465
8e97db8f
JM
204662002-03-05 Joseph S. Myers <jsm28@cam.ac.uk>
20467
20468 * configure.in: Increase required makeinfo version to 4.1.
20469 * configure: Regenerate.
20470
06487868
GK
204712002-03-04 Geoffrey Keating <geoffk@redhat.com>
20472
20473 * .cvsignore: Remove *.info* and genrtl*; these files are generated
20474 elsewhere now.
20475
cff42170
JM
204762002-03-04 Joseph S. Myers <jsm28@cam.ac.uk>
20477
20478 * doc/include/texinfo.tex: Update to version 2002-03-01.06.
20479 * doc/invoke.texi: Fix @math uses.
20480
974a7f56
JH
20481Mon Mar 4 15:33:54 CET 2002 Jan Hubicka <jh@suse.cz>
20482
20483 * toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
20484 removal
20485
3b7d0e98
AH
204862002-03-03 Aldy Hernandez <aldyh@redhat.com>
20487
5b43fed1
RH
20488 * config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
20489 (powerpc-*-eabisimaltivec*): Same.
3b7d0e98 20490
5b43fed1 20491 * config/rs6000/t-ppcendian: New.
3b7d0e98 20492
65f2f288
HB
204932002-03-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
20494
20495 * c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
20496 nonimmediate_src_operand and nonimmediate_lsrc_operand to
20497 disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
20498
8ce0a8a5
RH
204992002-03-03 Richard Henderson <rth@redhat.com>
20500
20501 * toplev.c (rest_of_decl_compilation): Revert last two changes.
20502
ba31d94e
ZW
205032002-03-03 Zack Weinberg <zack@codesourcery.com>
20504
20505 * emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
20506 print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
20507 tree.c, config/m68k/m68k.c:
20508 Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
20509 REAL_ARITHMETIC blocks unconditional. Delete some further
20510 #ifdef blocks predicated on REAL_ARITHMETIC.
20511 * flags.h, toplev.c: Delete remaining references to
20512 flag_pretend_float.
20513
20514 * doc/invoke.texi: Remove documentation of -fpretend-float.
20515 * doc/tm.texi: Describe the various REAL_* macros as provided by
20516 real.h, not by the target configuration files.
20517
20518 * config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
20519 config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
20520 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
20521 config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
20522 config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
20523 config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
20524 config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
20525 config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
20526 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
20527 config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
20528 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
20529 config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
20530 config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
20531 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
20532 config/xtensa/xtensa.h:
20533 Do not define, undefine, or mention in comments any of
20534 REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
20535 REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
20536 REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
20537 REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
20538 REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
20539 REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
20540 REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
20541 REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
20542 REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
20543
9a571cfd
KG
205442002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20545
e81dd381
KG
20546 * 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
20547 convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
20548 i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
20549 m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
20550 pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
20551 stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
20552 Delete.
20553 * defaults.h (BITS_PER_WORD): Define.
ba31d94e 20554 * doc/tm.texi (BITS_PER_WORD): Document default value.
e81dd381 20555
9a571cfd
KG
20556 * 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
20557 m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
20558 stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
20559
ca7558fc
KG
205602002-03-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20561
20562 * attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
20563 lieu of explicit sizeof/sizeof.
20564 * i386.c (override_options, ix86_init_mmx_sse_builtins,
20565 ix86_expand_builtin): Likewise.
20566 * mips.c (mips_add_gc_roots): Likewise.
20567 * mmix.c (mmix_output_condition): Likewise.
20568 * rs6000.c (rs6000_override_options, altivec_expand_builtin,
20569 altivec_init_builtins): Likewise.
20570 * sparc.c (mark_ultrasparc_pipeline_state): Likewise.
20571 * cppexp.c (Nsuff, parse_number): Likewise.
20572 * cppinit.c (builtin_array_end): Likewise.
20573 * gcc.c (n_default_compilers, process_command): Likewise.
20574 * genpreds.c (output_predicate_decls): Likewise.
20575 * ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
20576 * lcm.c (N_ENTITIES): Likewise.
20577 * stor-layout.c (set_sizetype): Likewise.
ba31d94e 20578
41c78c88
RH
205792002-03-03 Richard Henderson <rth@redhat.com>
20580
20581 * toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
20582 for types or labels.
20583
9e9b71e6
RH
205842002-03-03 Richard Henderson <rth@redhat.com>
20585
20586 * c-decl.c (start_decl): Initialized variables are not common.
20587
c26a6db8
PB
205882002-03-02 Per Bothner <per@bothner.com>
20589
20590 * gcc.c (option_map): Suport new --bootclasspath option.
20591 --CLASSPATH is now just an alias for --classpath.
20592
9e8aab55
RH
205932002-03-02 Richard Henderson <rth@redhat.com>
20594
20595 * config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
20596 load if "internal" visibility.
20597 * doc/extend.texi: Document visibility meanings.
20598
b3bbd220
RH
205992002-03-02 Richard Henderson <rth@redhat.com>
20600
20601 * config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
20602 to functions as well.
20603
b14707c3
RH
206042002-03-02 Richard Henderson <rth@redhat.com>
20605
20606 * attribs.c (handle_alias_attribute): Don't call assemble_alias.
20607 (handle_visibility_attribute): Don't call assemble_visibility.
20608 * toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
20609 without asmspec. Invoke assemble_alias when needed.
20610 * varasm.c (maybe_assemble_visibility): New.
20611 (assemble_start_function, assemble_variable, assemble_alias): Use it.
20612
b2003250
RH
206132002-03-02 Richard Henderson <rth@redhat.com>
20614
20615 * varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
20616 invoke ENCODE_SECTION_INFO with first call flag.
20617
20618 * config/darwin-protos.h, config/darwin.c, config/darwin.h,
20619 config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
ba31d94e 20620 config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
b2003250
RH
20621 config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
20622 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
20623 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
20624 config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
20625 config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
20626 config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
20627 config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
20628 config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
20629 config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
ba31d94e
ZW
20630 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
20631 config/m68hc11/m68hc11.h, config/m88k/m88k.h,
b2003250
RH
20632 config/mcore/mcore-protos.h, config/mcore/mcore.c,
20633 config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
20634 config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
ba31d94e 20635 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
b2003250
RH
20636 config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
20637 config/sh/sh.h, config/sparc/sparc.h,
20638 config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
20639 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
20640 config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
20641 FIRST argument. As needed, examine it and do nothing.
20642
ba31d94e 20643 * config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
b2003250
RH
20644 config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
20645 config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
20646
20647 * config/arm/t-pe (pe.o): Add dependencies.
20648
5c60f03d
KG
206492002-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20650
20651 * a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
20652 cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
20653 i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
20654 mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
20655 pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
20656 vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
20657 * defaults.h (BITS_PER_UNIT): Define.
20658 * doc/tm.texi (BITS_PER_UNIT): Document default value.
20659
86855e8c
KH
206602002-03-02 Kazu Hirata <kazu@hxi.com>
20661
20662 * config/h8300/h8300-protos.h: Add a prototype for
20663 compute_a_shift_length.
20664 * config/h8300/h8300.c (h8300_asm_insn_count): New.
20665 (compute_a_shift_length): Likewise.
20666 (h8300_adjust_insn_length): Do not adjust insn length of shift
20667 insns.
20668 * config/h8300/h8300.md (anonymous shift patterns): Use
20669 compute_a_shift_length.
20670
f6041ed8
RK
20671Sat Mar 2 06:30:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
20672
35aa3c1c
RK
20673 * config/sparc/sparc.c (sparc_initialize_trampoline): Use
20674 trunc_int_for_mode.
20675
f6041ed8
RK
20676 * emit-rtl.c (offset_address): Call update_temp_slot_address.
20677
27b41650
KG
206782002-03-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
20679
20680 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
20681 * doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
20682 * flags.h (flag_zero_initialized_in_bss): Declare.
20683 * toplev.c (flag_zero_initialized_in_bss): New flag.
20684 (lang_independent_options): Add flag_zero_initialized_in_bss.
20685 * tree.c (initializer_zerop): New function.
20686 * tree.h (initializer_zerop): Declare.
20687 * varasm.c (assemble_variable): If we can emit bss, put zero
20688 initializers in the bss section.
20689
ca734b39
AM
206902002-03-02 Alan Modra <amodra@bigpond.net.au>
20691
20692 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
20693 like more than one symbol per .weak directive.
20694
49b72306
RH
206952002-03-01 Richard Henderson <rth@redhat.com>
20696
20697 * config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
20698 adjust argument_pointer by pretend_args_size.
20699 (ia64_va_start): Adjust va_start address by -pretend_args_size.
20700
fbf0fe41
KH
207012002-03-01 Kazu Hirata <kazu@hxi.com>
20702
20703 * config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
20704
0010687d
JH
20705Fri Mar 1 20:59:14 CET 2002 Jan Hubicka <jh@suse.cz>
20706
20707 * toplev.c (rest_of_compilation): Delete dead jumptables before
20708 loop.
20709 * flow.c (delete_dead_jumptables): Make global.
20710 * rtl.h (delete_dead_jumptables): Declare.
20711
9429c84c
DE
207122002-03-01 David Edelsohn <edelsohn@gnu.org>
20713
20714 * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
20715 * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
0c2fdcdf 20716 * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
9429c84c 20717
f0b6f9a6
KH
207182002-03-01 Kazu Hirata <kazu@hxi.com>
20719
20720 * config/h8300/h8300-protos.h: Fix formatting.
20721 * config/h8300/h8300.c: Likewise.
20722 * config/h8300/h8300.h: Likewise.
20723
bc8db8a1
KH
207242002-03-01 Kazu Hirata <kazu@hxi.com>
20725
20726 * config/h8300/h8300.c (print_operand): Support 16-bit
20727 constant addresses.
20728 * config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
20729
32b069d3
RH
207302002-02-28 Richard Henderson <rth@redhat.com>
20731
20732 * expmed.c (store_bit_field): Prevent generation of CONCATs;
20733 pun complex values as integers; use gen_lowpart instead of
20734 gen_rtx_SUBREG.
20735 (extract_bit_field): Likewise.
20736
79c4e63f
AM
207372002-03-01 Alan Modra <amodra@bigpond.net.au>
20738 David Edelsohn <edelsohn@gnu.org>
20739
20740 * doc/tm.texi (ASM_WEAKEN_DECL): Document.
20741 (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
20742 (SUPPORTS_WEAK): Likewise.
20743 * output.h (add_weak): Add tree param.
20744 * varasm.c (add_weak): Likewise. Save decl.
20745 (struct weak_syms): Add decl field.
20746 (mark_weak_decls): New function.
20747 (init_varasm_once): ggc_add_root mark_weak_decls.
20748 (assemble_start_function): Use ASM_WEAKEN_DECL.
20749 (assemble_variable): Likewise.
20750 (assemble_alias): Likewise.
20751 (declare_weak): Pass decl to add_weak.
20752 (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
20753 (remove_from_pending_weak_list): Declare and define for
20754 ASM_WEAKEN_DECL.
20755 * c-pragma.c (handle_pragma_weak): Adjust add_weak call.
20756 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
20757 * defaults.h (SUPPORTS_WEAK): Likewise.
20758 * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
20759 .weak for code sym. Do emit .size for descriptor sym.
20760 (ASM_DECLARE_FUNCTION_SIZE): Define.
20761 * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
20762 (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output
20763 .lglobl unless TARGET_XCOFF. Formatting fixes.
20764 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
20765 .weak for code sym.
20766 (HANDLE_PRAGMA_WEAK): Remove.
20767 (ASM_WEAKEN_LABEL): Remove.
20768 * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
20769
6f30f1f1
JM
207702002-03-01 Jason Merrill <jason@redhat.com>
20771
20772 * tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
20773 (TARGET_EXPR_CLEANUP): New macro.
20774
7879b81e
SE
207752002-02-28 Steve Ellcey <sje@cup.hp.com>
20776
20777 * doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
20778 to take ptr_extend into account as third type of extension.
20779 (SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
20780 fields used by SUBREG_PROMOTED_UNSIGNED_P.
20781 * rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
20782 (SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
20783 * calls.c (precompute_arguments): Use new macro.
20784 (expand_call): Ditto.
20785 * combine.c (nonzero_bits): Ditto.
20786 (record_promoted_value): Ditto.
20787 * expr.c (store_expr): Ditto.
20788 (expand_expr): Ditto.
20789 * function.c (assign_parms): Ditto.
20790
42d579d8
AO
207912002-02-28 Alexandre Oliva <aoliva@redhat.com>
20792
20793 * gcc.c (init_gcc_specs): Get -static and -static-libgcc to
20794 override -shared and -shared-libgcc.
20795
e0054185
DB
207962002-02-28 David O'Brien <obrien@FreeBSD.org>
20797
20798 * config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
20799 of "ultrasparc".
20800 * config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS. It appears
20801 to be broken.
20802
abda4f1c
RH
208032002-02-28 Richard Henderson <rth@redhat.com>
20804
20805 * config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
20806 4 cycle latency from MM producers.
20807 (ia64_internal_sched_reorder): Likewise with pipeline flush.
20808
c0f08649
JJ
208092002-02-28 Jakub Jelinek <jakub@redhat.com>
20810
20811 * mklibgcc.in: Don't use GNU make extension.
20812
f79f2651
NB
208132002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
20814
20815 * c-parse.in (STATIC): New terminal.
20816 (scspec): New non-terminal. Update productions accordingly.
20817 (program): Remove bogus ifc / end ifc.
20818 (array_declarator): Simplify production using STATIC.
20819
001e3fee
JM
208202002-02-28 Jim Meyering <meyering@lucent.com>
20821
20822 * cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
20823 \a still means TARGET_BELL.
20824
89076bb3
RH
208252002-02-28 Richard Henderson <rth@redhat.com>
20826
20827 * haifa-sched.c (sched_emit_insn): New.
20828 (schedule_block): Use last_scheduled_insn to track last insn.
20829 * sched-int.h (sched_emit_insn): Prototype.
20830 * config/ia64/ia64.c (last_issued): Remove.
20831 (ia64_variable_issue): Don't set it.
20832 (nop_cycles_until): Use sched_emit_insn.
20833
e3aaacf4
AM
208342002-02-28 Andrew MacLeod <amacleod@redhat.com>
20835
20836 * config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
20837 extended constants.
20838
7f473594
KH
208392002-02-28 Kazu Hirata <kazu@hxi.com>
20840
20841 * config/h8300/h8300.c: Fix formatting.
20842 * config/h8300/h8300.h: Likewise.
20843
b96c434c
MM
208442002-02-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
20845
20846 * config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
20847 which may overwrite the high byte of the frame pointer.
20848
9b420a6a
BT
208492002-02-28 Bo Thorsen <bo@suse.de>
20850
20851 * config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
20852 (STARTFILE_SPEC): Add 64 bit files.
20853 (ENDFILE_SPEC): Likewise.
20854
6f30f1f1 208552002-02-28 Jason Merrill <jason@redhat.com>
46cfb101
JM
20856
20857 * c-decl.c (finish_function): Only warn about missing return
20858 statement with -Wreturn-type.
20859
70da1d03
JH
20860Don Feb 28 11:24:30 CET 2002 Jan Hubicka <jh@suse.cz>
20861
20862 * cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
20863
20864 * i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
20865 PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
20866
38c1593d
JH
20867Don Feb 28 11:07:36 CET 2002 Jan Hubicka <jh@suse.cz>
20868
20869 * basic-block.h (BB_REACHABLE): Renumber.
20870 (BB_DIRTY, BB_NEW): New flags.
20871 (clear_bb_flags): Declare.
20872 (update_life_info_in_dirty_blocks): Declare.
20873 * cfg.c (clear_bb_flags): New function.
20874 * cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
20875 * emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
20876 reorder_insns, emit_insn_after): Mark block as dirty.
20877 * flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
20878 (update_life_info_in_dirty_blocks): New function.
20879 * recog.c (apply_change_group): Dirtify block.
20880
20881 * cse.c (cse_insn): Reorder emitting of jump insn to keep
20882 cfg consistent.
20883 * gcse.c (delete_null_pointer_checks): Likewise.
20884
20885 * toplev.c (dump_file_index): Move cse2 after bp,
20886 add DFI_null
20887 (dump_file_info): Similary.
20888 (rest_of_compilation): Avoid most of CFG rebuilds;
20889 do first if converision after null pointer checks, do cse2
20890 after branch prediction; avoid full liveness rebuild after
20891 initializing subregs.
20892 * invoke.texi (-d options): Document -du, renumber.
20893
20894 * cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
20895 (notice_new_block): Do not set BB_UPDATE_LIFE.
20896 (try_forward_edges, merge_blocks_move_predecessor_nojumps,
20897 merge_blocks_move_successor_nojumps, merge_blocks,
20898 try_crossjump_to_edge): Likewise.
20899 (try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
20900 * cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
20901 * ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
20902 (merge_of_block): Do not use life_data_ok.
20903 (find_if_case_1): Do not use SET_UPDATE_LIFE.
20904 (if_convert): Use BB_DIRTY mechanizm to update life.
20905 * lcm.c (optimize_mode_switching): Update
20906 update_life_info_in_dirty_blocks
20907
63e1b1c4
NB
209082002-02-28 Neil Booth <neil@daikokuya.demon.co.uk>
20909
20910 * Makefile.in (integrate.o): Update.
20911 * c-decl.c (copy_lang_decl): Rename.
20912 * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
20913 * integrate.c: Include langhooks.h.
20914 (copy_decl_for_inlining): Update to use langhook.
20915 * langhooks-def.h (lhd_do_nothing_t,
20916 LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
20917 (LANG_HOOKS_INITIALIZER): Update.
20918 * langhooks.c (lhd_do_nothing_t): New.
20919 * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
20920 * tree.h (copy_lang_decl): Remove.
20921objc:
20922 * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
20923
f472fa29
AM
209242002-02-27 Andrew MacLeod <amacleod@redhat.com>
20925
ba31d94e 20926 * dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
f472fa29
AM
20927 POST_DEC, and POST_MODIFY.
20928
273cf2e4
ZW
209292002-02-27 Zack Weinberg <zack@codesourcery.com>
20930
20931 * c-typeck.c (digest_init): Remove unused parameter; all
20932 callers changed.
20933
4e07d762
GK
209342002-02-27 Geoffrey Keating <geoffk@redhat.com>
20935
20936 * expmed.c (expand_shift): Correctly test for low part of a
20937 subreg.
20938
6bc627b3
UW
209392002-02-27 Ulrich Weigand <uweigand@de.ibm.com>
20940
20941 * config/s390/s390.c (s390_chunkify_pool): Do not confuse
20942 insn UIDs with insn addresses.
20943
f458d1d5
ZW
209442002-02-27 Zack Weinberg <zack@codesourcery.com>
20945
20946 * c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
20947 c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
20948 cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
20949 builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
20950 gcc.c, toplev.c: Delete code implementing -traditional mode.
20951
20952 * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
20953 doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
20954 Document removal of -traditional mode for compilation, and
20955 remove documentation only relevant to that mode.
20956
20957 * config/nextstep.h, config/ptx4.h, config/svr4.h,
20958 config/convex/convex.h, config/d30v/d30v.h,
20959 config/i386/dgux.h, config/i386/osf1elf.h,
20960 config/i386/osfelf.h, config/i386/osfrose.h,
20961 config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
20962 config/m68k/hp310.h, config/m88k/dgux.h,
20963 config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
20964 config/m88k/m88k.h, config/m88k/openbsd.h,
20965 config/mips/abi64.h, config/mips/osfrose.h,
20966 config/mips/svr4-5.h, config/mips/svr4-t.h,
20967 config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
20968 config/stormy16/stormy16.h: Remove all references to
20969 -traditional from target specs. Delete all mention of the
20970 no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also
20971 delete a couple of commented-out definitions of
20972 DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
20973 to -traditional.
20974
20975 * system.h: Poison TRADITIONAL_RETURN_FLOAT.
20976 * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
20977
e0b3a8ff
ZW
209782002-02-27 Zack Weinberg <zack@codesourcery.com>
20979
20980 * mklibgcc.in: Don't use \n in a line subject to
20981 interpretation by echo.
20982
5c6a85b7
GS
209832002-02-27 Graham Stott <grahams@redhat.com>
20984
72b05af1
GS
20985 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
20986 Constify NAME.
20987
7d104885
GS
20988 * loop.c (prescan_loop): Handle PARALLEL.
20989
8ed805d2
GS
20990 * unroll.c (loop_iterations): Return 0 if the add_val for
20991 a BIV is REG.
20992
fd478a0a
GS
20993 * final.c (output_operand_lossage): Constify PFX_STR.
20994
5c6a85b7
GS
20995 * df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
20996
cd98ad03
JH
20997Wed Feb 27 10:45:19 CET 2002 Jan Hubicka <jh@suse.cz>
20998
20999 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
21000 * x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
21001
639ae55b
JH
21002Wed Feb 27 10:39:20 CET 2002 Jan Hubicka <jh@suse.cz>
21003
21004 * linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
21005
e808ec9c
NB
210062002-02-27 Neil Booth <neil@daikokuya.demon.co.uk>
21007
21008 * cpplex.c (_cpp_lex_token): Handle directives in macro
21009 arguments.
21010 * cpplib.c (_cpp_handle_directive): Save and restore state
21011 if parsing macro args when entering a directive.
21012 * cppmacro.c (collect_args): No need to handle directives
21013 in macro arguments.
21014 (enter_macro_context, replace_args): Use the original macro
21015 definition in case it was redefined whilst collecting arguments.
21016doc:
21017 * cpp.texi: Update.
21018
f585a356
DE
210192002-02-26 David Edelsohn <edelsohn@gnu.org>
21020
21021 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
21022 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
21023 * config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
21024 method on AIX.
21025 * config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
21026 (movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
21027 (load_toc_v4_PIC_2): Same.
21028
210292002-02-26 Alan Modra <amodra@bigpond.net.au>
21030
21031 * config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
21032
d699058e
RH
210332002-02-26 Richard Henderson <rth@redhat.com>
21034
21035 * config/alpha/alpha.md (ashldi_se): Re-enable.
21036
eadccfbb
RH
210372002-02-26 Richard Henderson <rth@redhat.com>
21038
21039 * config/alpha/alpha.c (alpha_encode_section_info): Examine
21040 MODULE_LOCAL_P; improve commentary.
21041
7080ada1
ZW
210422002-02-26 Zack Weinberg <zack@codesourcery.com>
21043
21044 * doc/cpp.texi: Clarify documentation of relationship between
21045 #line and #include.
21046
b42cff6b
KH
210472002-02-26 Kazu Hirata <kazu@hxi.com>
21048
21049 * config/h8300/h8300-protos.h: Update the prototype for
21050 compute_logical_op_length. Add the prototype for
21051 compute_logical_op_cc.
21052 * config/h8300/h8300.c (compute_logical_op_length): Figure out
21053 code from operands.
21054 (compute_logical_op_cc): New.
21055 * config/h8300/h8300.md: Combine all the logical op patterns
21056 in HImode and SImode. Use compute_logical_op_cc.
21057
831c4e87
KC
210582002-02-26 Kelley Cook <kelleycook@comcast.net>
21059
21060 * config/i386/i386.c (print_operand): Don't append ATT-style
21061 length suffixs to x87 opcodes when in Intel mode.
21062
ff88fe10
RS
210632002-02-26 Ryan T. Sammartino <ryants@shaw.ca>
21064
21065 * emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
21066 (init_emit_once): Update calls.
21067 * fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
21068 (init_syntax_once): Prototype.
21069
d4108589
JDA
210702002-02-26 John David Anglin <dave@hiauly1.hia.nrc.ca>
21071
21072 * pa-linux.h (LIB_SPEC): Update definition.
21073 * pa32-linux.h (LINK_COMMAND_SPEC): Delete.
21074
e013f3c7
RH
210752002-02-26 Richard Henderson <rth@redhat.com>
21076
21077 * config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
21078 if we emitted a stop bit.
21079
9e944a16
JJ
210802002-02-26 Jakub Jelinek <jakub@redhat.com>
21081
21082 * configure.in (libgcc_visibility): Substitute.
21083 * configure: Rebuilt.
21084 * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
21085 defined symbols .hidden.
21086
47bd70b5
JJ
210872002-02-26 Jakub Jelinek <jakub@redhat.com>
21088
21089 * attribs.c (c_common_attribute_table): Add visibility.
21090 (handle_visibility_attribute): New function.
21091 * varasm.c (assemble_visibility): New function.
21092 * output.h (assemble_visibility): Add prototype.
21093 * tree.h (MODULE_LOCAL_P): Define.
21094 * crtstuff.c (__dso_handle): Use visibility attribute.
21095 * config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
21096 for MODULE_LOCAL_P symbols too.
21097 * config/ia64/ia64.c (ia64_encode_section_info): Handle
21098 MODULE_LOCAL_P symbols the same way as local symbols.
21099 Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
21100 into .sdata/.sbss by the user.
21101 * doc/extend.texi (Function Attributes): Document visibility
21102 attribute.
21103
6d73371a
JJ
211042002-02-26 Jakub Jelinek <jakub@redhat.com>
21105
21106 PR debug/5770
21107 * dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
21108 STRING_CST initializer spanning the whole variable without
21109 embedded zeros.
21110 If expand_expr returned MEM, don't use it.
21111
06e224f7
AO
211122002-02-26 Alexandre Oliva <aoliva@redhat.com>
21113
21114 * dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
21115 generate a die for the lexical block.
21116
40367e2d
KH
211172002-02-26 Kazu Hirata <kazu@hxi.com>
21118
21119 * config/h8300/h8300-protos.h: Add a prototype for
21120 compute_logical_op_length.
21121 * config/h8300/h8300.c (compute_logical_op_length): New.
21122 * config/h8300/h8300.md (anonymous logical patterns): Use
21123 compute_logical_op_length for length.
21124
0e98f924
AH
211252002-02-26 Aldy Hernandez <aldyh@redhat.com>
21126
831c4e87
KC
21127 * dwarf2out.c (modified_type_die): Do not call type_main_variant
21128 for vectors.
21129 (gen_type_die): Same.
0e98f924 21130
831c4e87 21131 * attribs.c (handle_vector_size_attribute): Set debug information.
0e98f924 21132
a50cfd52
DE
211332002-02-26 Daniel Egger <degger@fhm.edu>
21134
831c4e87
KC
21135 * config/rs6000/rs6000.md: Swap define_insn attributes to
21136 fix incorrect generation of merge high instructions instead
21137 of merge low.
a50cfd52 21138
b7997284
AH
211392002-02-26 Aldy Hernandez <aldyh@redhat.com>
21140
831c4e87
KC
21141 * c-typeck.c (really_start_incremental_init): Use
21142 bitsize_zero_node for vectors.
b7997284 21143
376aec5d
AH
211442002-02-26 Aldy Hernandez <aldyh@redhat.com>
21145
831c4e87
KC
21146 * config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
21147 ("*set_vrsave_internal"): Same.
376aec5d 21148
3b40e71b
RH
211492002-02-25 Richard Henderson <rth@redhat.com>
21150
21151 * expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
21152 in EXPAND_SUM case. Use host_integerp/tree_low_cst.
21153
232b8f52
JJ
211542002-02-25 Jakub Jelinek <jakub@redhat.com>
21155
21156 PR target/5755
21157 * config/i386/i386.c (ix86_return_pops_args): Only pop
21158 fake structure return argument if it was passed on the stack.
21159
67282790
JM
211602002-02-25 Jason Merrill <jason@redhat.com>
21161
21162 * attribs.c (decl_attributes): Also re-layout PARM_DECL and
21163 RESULT_DECL.
21164
5c181756
AO
211652002-02-25 Alexandre Oliva <aoliva@redhat.com>
21166
21167 * gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
21168 link with shared_name only.
21169 * doc/invoke.texi (Link Options): Document new behavior.
21170
6786d201
AH
211712002-02-25 Aldy Hernandez <aldyh@redhat.com>
21172
831c4e87 21173 * c-typeck.c (push_init_level): Handle vectors.
6786d201 21174
7d6040e8
AO
211752002-02-25 Alexandre Oliva <aoliva@redhat.com>
21176
21177 * config/sparc/sparc.c (const64_high_operand): Zero-extend
21178 operands of SPARC_SETHI_P.
21179 (input_operand): Likewise.
21180 (sparc_emit_set_const32): Likewise.
21181 * config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
21182 (SPARC_SETHI32_P): Zero-extend operand from 32 bits.
21183 (CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'. Add `N' as SETHI.
21184 * config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
21185 (movdi_insn_sp64_vis): Likewise.
21186 (movdi split, movdf split): Use SETHI32.
21187 * doc/md.texi: Document SPARC constraints L, M and N.
21188
b188f760
AH
211892002-02-25 Aldy Hernandez <aldyh@redhat.com>
21190
831c4e87
KC
21191 * config/rs6000/rs6000.md ("get_vrsave_internal"): New.
21192 ("*set_vrsave_internal"): use mfspr for Darwin.
b188f760 21193
831c4e87
KC
21194 * config/rs6000/rs6000.c (rs6000_emit_prologue): Call
21195 gen_get_vrsave_internal.
b188f760 21196
8041889f
RK
21197Sun Feb 24 16:38:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21198
21199 * optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
21200
a47ed310
NB
212012002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
21202
21203 * cpplex.c (cpp_interpret_charconst): Get signedness or
21204 otherwise of wide character constants correct.
21205 * cppexp.c (lex): Get signedness of wide charconsts correct.
21206
cb8f73be
RK
21207Sun Feb 24 07:41:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21208
21209 * optabs.c (widen_operand): Only call convert_modes for
21210 promoted SUBREG if signedness matches.
21211 * config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
21212
2450e0b8
NB
212132002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
21214
21215 * cpplib.c (glue_header_name): Use local buffer to build up
21216 header name.
21217
70b6aaed
NB
212182002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
21219
21220 * doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
21221
6be580c7
KH
212222002-02-23 Kazu Hirata <kazu@hxi.com>
21223
21224 * config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
21225 H8/300[HS] separately.
21226 * config/h8300/h8300.md: Remove the early clobber constraint
21227 from bit field patterns.
21228
35dad9f1
KH
212292002-02-23 Kazu Hirata <kazu@hxi.com>
21230
21231 * config/h8300/h8300.md (mulqihi3): Tighten predicates to
21232 register_operand.
21233 (mulhisi3): Likewise.
21234 (umulqisi3): Likewise.
21235 (umulhisi3): Likewise.
21236
ab8e2228
NB
212372002-02-23 Neil Booth <neil@daikokuya.demon.co.uk>
21238
21239 * cppinit.c (output_deps): Correct test for stdout output.
21240 (init_dependency_output): Cure warning.
21241
ac6f8a15
RK
21242Sat Feb 23 08:42:47 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21243
21244 * expr.c (store_expr): When converting expression to promoted
21245 equivalent type, allow using SUBREG_REG of TARGET as the target
21246 of the expansion of EXP.
21247 * loop.c (basic_induction_var, case SUBREG): Always look inside.
21248 * config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
21249 (alpha_emit_set_const): Handle SImode when can't make new pseudos.
21250 (alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
21251 * config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
21252
f282ffb3
JM
212532002-02-23 Joseph S. Myers <jsm28@cam.ac.uk>
21254
21255 * doc/contribute.texi, doc/extend.texi, doc/install.texi,
21256 doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
21257 doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
21258
44c5edc0
JJ
212592002-02-23 Jakub Jelinek <jakub@redhat.com>
21260
21261 PR optimization/5747
21262 * loop.c (scan_loop): Update reg info if move_movables created new
21263 pseudos.
21264
f98e43c0
DE
212652002-02-23 David Edelsohn <edelsohn@gnu.org>
21266
21267 * gcc.c (init_gcc_spec): Revert last change.
21268
e72247f4
DE
212692002-02-23 David Edelsohn <edelsohn@gnu.org>
21270
21271 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
21272 gpc_reg_operand constraint.
21273
212742002-02-23 Alan Modra <amodra@bigpond.net.au>
21275
21276 * config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
21277 Simplify comparison of `low'.
21278 (add_operand): Fix formatting.
21279 (non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
57deb3a1 21280 (mask_operand): Disallow mask to wrap in 64-bit mode.
e72247f4
DE
21281 (rs6000_stack_info): Remove redundant test setting push_p.
21282 (output_toc): Fix formatting.
21283 * config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
21284 cc_reg_not_cr0_operand constraint.
21285 (booldi3, boolcdi3 splitters): Same.
21286
a5c30531
AH
212872002-02-23 Aldy Hernandez <aldyh@redhat.com>
21288
831c4e87 21289 * config/rs6000/altivec.h: Add extra level of parentheses on casts.
a5c30531 21290
43710f9f
DE
212912002-02-22 David Edelsohn <edelsohn@gnu.org>
21292
21293 * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
21294 gcc invoked with -shared-libgcc.
21295
3256b817
JJ
212962002-02-22 Jakub Jelinek <jakub@redhat.com>
21297
21298 PR c++/5748
21299 * stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
21300 decl if any of elements was TREE_USED.
21301
9e0625a3
AO
213022002-02-22 Alexandre Oliva <aoliva@redhat.com>
21303
21304 * config/sparc/sol2.h: Don't include sys/mman.h.
21305 * config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
21306 (arith_4096_operand): Don't throw high bits away.
21307 (const64_operand): Take sign extension of CONST_INTs into account.
21308 (const64_high_operand, sparc_emit_set_const32): Likewise.
21309 (GEN_HIGHINT64): Likewise.
21310 (sparc_emit_set_const64_quick1): Likewise.
21311 (const64_is_2insns): Likewise.
21312 (print_operand): Use trunc_int_for_mode for sign extension.
21313 * config/sparc/sparc.h (SMALL_INT32): Likewise.
21314 * config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
21315 chars. Assume CONST_INT is already properly sign-extended.
21316 (movdi split): Sign-extend each SImode part.
21317 (andsi3 split): Don't mask high bits off, so that result
21318 remains properly sign-extend.
21319 (iorsi3 split): Likewise.
21320 (xorsi3 split): Likewise.
21321
54fec3d5
RS
213222002-02-22 Richard Sandiford <rsandifo@redhat.com>
21323
21324 * fold-const.c (fold): Fix typo in comments.
21325
667ada9b
DN
213262002-02-21 Diego Novillo <dnovillo@redhat.com>
21327
21328 * Makefile.in (langhooks.o): Update dependencies.
21329
29ac78d5
DN
213302002-02-21 Diego Novillo <dnovillo@redhat.com>
21331
21332 * langhooks.c: Include flags.h.
21333
6aa77e6c
AH
213342002-02-21 Aldy Hernandez <aldyh@redhat.com>
21335
21336 * testsuite/gcc.dg/attr-alwaysinline.c: New.
21337
21338 * c-common.c (c_common_post_options): Set inline trees by
21339 default.
21340
21341 * doc/extend.texi (Function Attributes): Document always_inline
21342 attribute.
21343 Update documentation about inlining when not optimizing.
21344
21345 * cp/decl.c (duplicate_decls): Merge always_inline attribute.
21346
21347 * cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
21348 unless DECL_ALWAYS_INLINE.
21349
21350 * c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
21351 unless DECL_ALWAYS_INLINE.
21352 (c_disregard_inline_limits): Disregard if always_inline set.
21353
21354 * langhooks.c (lhd_tree_inlining_disregard_inline_limits):
21355 Disregard if always_inline set.
21356 (lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
21357 unless DECL_ALWAYS_INLINE.
21358
21359 * attribs.c (handle_always_inline_attribute): New.
21360 (c_common_attribute_table): Add always_inline.
21361
21362 * config/rs6000/altivec.h: Add prototypes for builtins
21363 requiring the always_inline attribute.
21364
c410d49e
EC
213652002-02-21 Eric Christopher <echristo@redhat.com>
21366
21367 * expmed.c (store_bit_field): Try to simplify the subreg
21368 before generating a new one when when the mode size of
21369 value is less than maxmode.
21370
e3c8ea67
RH
213712002-02-21 Richard Henderson <rth@redhat.com>
21372
21373 * emit-rtl.c (offset_address): Use simplify_gen_binary rather
21374 than gen_rtx_PLUS to form the sum.
21375 * explow.c (force_reg): Rearrange to not allocate new pseudo
21376 when force_operand returns a register.
21377 * expr.c (expand_assignment): Allow offset_rtx expansion to
21378 return a sum. Do not force addresses into registers.
21379 (expand_expr): Likewise.
21380 * simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
21381 to canonicalize arithmetic that didn't simpify.
21382 (simplify_plus_minus): New argument force; update
21383 all callers. Don't split CONST unless we can do something with it,
21384 and wouldn't lose the constness of the operands.
21385
21386 * config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
21387 that we generated earlier.
21388
c1a046e5
TT
213892002-02-21 Tom Tromey <tromey@redhat.com>
21390
21391 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21392 (output_line_info): Use constant `1', with a long explanatory
21393 comment.
21394 * system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
21395
31fbaad4
R
21396Thu Feb 21 22:43:44 2002 J"orn Rennecke <joern.rennecke@superh.com>
21397
21398 * jump.c (redirect_jump): If old label has no UID, don't try to
21399 delete it.
21400
a7f52356
R
21401Thu Feb 21 21:17:21 2002 J"orn Rennecke <joern.rennecke@superh.com>
21402
21403 * sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
21404 If input is constant, do shifts at compile time.
21405
924fcc4e
JM
214062002-02-21 Joseph S. Myers <jsm28@cam.ac.uk>
21407
21408 * doc/extend.texi: Fix some more overfull hboxes.
21409
e5a20888
JJ
214102002-02-21 Jakub Jelinek <jakub@redhat.com>
21411
21412 PR optimization/4994
21413 * config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
21414 register moves.
21415
214162002-02-21 Jakub Jelinek <jakub@redhat.com>
22273300
JJ
21417
21418 PR c++/4574
21419 * expr.h (expand_and): Add mode argument.
21420 * expmed.c (expand_and): Add mode argument.
21421 (expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
21422 * expr.c (store_field, expand_expr, do_store_flag): Likewise.
21423 * except.c (expand_builtin_extract_return_addr): Likewise.
21424 * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
21425 * config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
21426 * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
21427 Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
21428 * config/c4x/c4x.md: Use GEN_INT (x) instead of
21429 gen_rtx (CONST_INT, VOIDmode, x).
21430
7133e992
JJ
214312002-02-21 Jakub Jelinek <jakub@redhat.com>
21432
21433 PR c/4697:
21434 * stmt.c (warn_if_unused_value): Move side effects test once more.
21435
e2ec05a6
TG
214362002-02-20 Torbjorn Granlund <tege@swox.com>
21437
21438 * config/avr/avr.md: Add more patterns for mized-mode add and subtract
831c4e87 21439 (addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
e2ec05a6 21440
9dd791c8
AO
21441Thu Feb 21 16:20:46 2002 Alexandre Oliva <aoliva@redhat.com>
21442
21443 * rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
21444 SUBREG or ZERO_EXTEND.
21445
7ab56274
R
21446Thu Feb 21 15:35:46 2002 J"orn Rennecke <joern.rennecke@superh.com>
21447
21448 * sh.h (current_function_anonymous_args): Remove.
21449 (SETUP_INCOMING_VARARGS): Don't set it - just check that one
21450 of current_function_varargs and current_function_stdarg is set.
21451 * sh.c (sh_expand_prologue): Check current_function_varargs /
21452 current_function_stdarg / TARGET_SH5 instead of
21453 current_function_anonymous_args.
21454
21455 * sh64.h (TARGET_VERSION): Define.
21456
b1765bde
DE
214572002-02-20 David Edelsohn <edelsohn@gnu.org>
21458
21459 * config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
21460 VRSAVE_REGNO on TARGET_ALTIVEC.
21461
214622002-02-20 Alan Modra <amodra@bigpond.net.au>
21463
21464 * config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
21465 bits of SImode const_int.
21466 (includes_rshift_p): Likewise.
21467 (print_operand): Call mask_operand and mask64_operand with correct
c410d49e 21468 mode.
b1765bde
DE
21469 (rs6000_output_function_epilogue): Pad traceback table to word.
21470 * config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
21471 (EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
21472 mask64_operand with correct mode.
b1765bde
DE
21473 (FUNCTION_ARG_REGNO_P): Correct parentheses.
21474
149d6f9e
JJ
214752002-02-20 Jakub Jelinek <jakub@redhat.com>
21476
21477 PR debug/4461
21478 * varasm.c (get_pool_constant_mark): New.
21479 * rtl.h (get_pool_constant_mark): Add prototype.
21480 * dwarf2out.c (mem_loc_descriptor): A pool constant cannot
21481 be represented if it has not been output.
21482
4161da12
AO
214832002-02-20 Alexandre Oliva <aoliva@redhat.com>
21484
21485 * combine.c (do_SUBST): Sanity check substitutions of
21486 CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
21487 (subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
21488 CONST_INT into its operand.
21489 (known_cond): Likewise, for ZERO_EXTEND.
21490 * simplify-rtx.c (simplify_unary_operation): Fix condition to
21491 allow for simplification of wide modes. Reject CONST_INTs in
21492 ZERO_EXTEND when their actual mode is not given.
21493
3704ef74
AO
214942002-02-20 Alexandre Oliva <aoliva@redhat.com>
21495
21496 * c-decl.c (pushdecl): If no global declaration is found for an
21497 extern declaration in block scope, try a limbo one.
21498
7552da58
JJ
214992002-02-20 Jakub Jelinek <jakub@redhat.com>
21500
21501 PR c++/4401
21502 * c-common.c (pointer_int_sum): Moved from...
21503 * c-typeck.c (pointer_int_sum): ...here.
21504 * c-common.h (pointer_int_sum): Add prototype.
21505
00fae85d
JJ
215062002-02-20 Jakub Jelinek <jakub@redhat.com>
21507
21508 PR c++/5713
21509 * c-decl.c (duplicate_decls): Return 0 if issued error about
21510 redeclaration.
21511
4636c87e
JJ
215122002-02-20 Roger Sayle <roger@eyesopen.com>
21513 Jakub Jelinek <jakub@redhat.com>
21514
21515 PR c/4389
21516 * tree.c (host_integerp): Ensure that the constant integer is
21517 representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
21518 when pos is zero or non-zero respectively. Clarify comment.
21519 * c-format.c (check_format_info_recurse): Fix host_integerp
21520 usage; the pos argument should be zero when assigning to a
21521 signed HOST_WIDE_INT.
21522
59bef189
RH
215232002-02-20 Richard Henderson <rth@redhat.com>
21524
21525 * config/i386/i386.c (ix86_expand_vector_move): Use the mode
21526 of the operand, rather than assuming TImode.
21527 (ix86_expand_binop_builtin): Cope with commutative patterns
21528 using nonimmediate_operand for both operands.
21529 (ix86_expand_timode_binop_builtin): Likewise.
21530 (ix86_expand_store_builtin): Validate operand 1.
21531 (ix86_expand_unop1_builtin): Likewise.
21532
9338ffe6 215332002-02-20 Philip Blundell <philb@gnu.org>
c410d49e 21534
9338ffe6
PB
21535 PR 5705
21536 * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
21537
f322b423
RH
215382002-02-20 Richard Henderson <rth@redhat.com>
21539
21540 PR c/5615
21541 * expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
21542
d94084f7
TT
215432002-02-20 Tom Tromey <tromey@redhat.com>
21544
21545 * config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21546 * config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21547 * config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21548 * config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
21549 * dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
21550 unconditionally.
21551
37fa124a
AM
21552Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
21553
21554 * config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
21555 for (const_int 0) in X not just INTVAL.
21556
6e5bb5ad
JM
215572002-02-20 Joseph S. Myers <jsm28@cam.ac.uk>
21558
21559 * doc/extend.texi: Avoid or reduce overfull hboxes.
21560
420e7dfa
DN
215612002-02-20 Diego Novillo <dnovillo@redhat.com>
21562
21563 * expmed.c (store_bit_field): Do not store bit fields using SUBREG
21564 operations if the field does not start at a mode boundary.
21565
1b7a2af6
JS
215662001-02-20 Joel Sherrill <joel@OARcorp.com>
21567
21568 * config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
21569 config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
21570 Also done for -Acpu and -Amachine.
21571
56cd5b95
NB
215722002-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
21573
21574 * cppinit.c (init_dependency_output): Take deps output file
21575 from -o if none given with -MF. Suppress normal output.
c410d49e 21576 * gcc.c (cpp_unique_options): Have -M and -MM imply -E.
56cd5b95
NB
21577 * doc/cpp.texi, doc/invoke.texi: Update.
21578
042cdf71
ZW
215792002-02-19 Zack Weinberg <zack@codesourcery.com>
21580
21581 * toplev.c (output_quoted_string): Write unprintable
21582 characters with octal escapes.
21583
c1f11548
DE
215842002-02-19 David Edelsohn <edelsohn@gnu.org>
21585
21586 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
21587 really_call_used[VRSAVE_REGNO] if not Altivec.
21588
215892002-02-19 Alan Modra <amodra@bigpond.net.au>
c410d49e 21590
c1f11548
DE
21591 * config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
21592 MODE_MASK.
21593 (constant_pool_expr_1): Fix formatting.
21594 (rs6000_legitimize_reload_address): Likewise.
21595
c964d90e
RK
21596Tue Feb 19 20:13:57 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
21597
21598 * config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
21599 now that we have one.
21600
ae34ac46
ZW
216012002-02-19 Zack Weinberg <zack@codesourcery.com>
21602
21603 * tree.h (struct tree_common): Remove aux. Add unused_0 at
21604 end of first block of bitfields (which was only seven bits);
21605 rename dummy to unused_1; remove comment which is no longer true.
21606
293c28ee
GS
216072002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
21608
21609 * doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
21610
7b8781c8
PB
216112002-02-19 Philip Blundell <pb@nexus.co.uk>
21612
0cb6c58d 21613 PR 5399
7b8781c8
PB
21614 * config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
21615 if generating PIC.
21616
21617 PR 5054
21618 * config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
21619 arm_is_longcall_p rather than inspecting call-type cookie
21620 directly.
21621 (call_value_insn) [TARGET_THUMB]: Likewise.
21622
5c464583
GS
216232002-02-19 Graham Stott <grahams@redhat.com>
21624
21625 * config/i386/i386.c (ix86_expand_builtin): Fix typo.
21626
71c061e6
DE
216272002-02-19 David Edelsohn <edelsohn@gnu.org>
21628
21629 * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
21630 ({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
6d1def5c 21631 (FP_SAVE_INLINE): Delete.
71c061e6
DE
21632
21633 * config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
21634 * config/rs6000/eabi.asm: Remove ABI save restore routines.
21635 * config/rs6000/t-ppccomm: Build crtsavres.o.
21636 * config/rs6000/crtsavres.asm: New file.
21637
3a7731fd
PB
216382002-02-19 Philip Blundell <philb@gnu.org>
21639
21640 * config/arm/arm.c (use_return_insn): Don't reject interrupt
21641 functions.
21642 (arm_compute_save_reg_mask): Save LR for interrupt functions too.
21643 (output_return_instruction): Allow interrupt functions to return with
21644 ldmfd sp!, {... pc}^. Use LDR to restore any single register.
21645 (arm_expand_prologue): Subtract 4 before stacking LR in an
21646 interrupt function.
21647
14f583b8
PB
216482002-02-19 Philip Blundell <pb@nexus.co.uk>
21649
21650 * config/arm/arm.c (arm_encode_call_attribute): Operate on any
21651 decl, not just FUNCTION_DECL.
21652 (legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
21653 (arm_assemble_integer): Likewise.
21654 * config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
21655 marked local.
c410d49e 21656
4cb7482c
MG
216572002-02-19 matthew green <mrg@eterna.com.au>
21658
21659 * config.gcc (sparc-*-netbsdelf*): Enable target.
21660 (sparc64-*-netbsd*): New target.
21661 * config/sparc/netbsd-elf.h: New file.
21662 * config/sparc/t-netbsd64: New file.
21663
2df3a718
GS
216642002-02-19 Gaute B Strokkenes <gs234@cam.ac.uk>
21665
21666 * doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
21667
77f6c1eb
RS
216682002-02-19 Ryan T. Sammartino <ryants@shaw.ca>
21669
21670 * doc/invoke.texi: explicitly list the style guidelines that
21671 -Weffc++ checks for.
21672
fd973d56
JH
21673Tue Feb 19 12:37:23 CET 2002 Jan Hubicka <jh@suse.cz>
21674
21675 * regmove.c (regmove_optimize): Avoid increasing of register pressure.
21676
30518e45
NB
216772002-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
21678
21679 PR other/5718
21680 * gcc.c (cpp_unique_options): Treat -o as indicating object file
21681 only if not -E. If -E, pass -o through to the preprocessor.
21682
39ea5704
KH
216832002-02-19 Kazu Hirata <kazu@hxi.com>
21684
21685 * config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
21686 register number with an appropriate macro.
21687
7355dba7
BM
216882002-02-19 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
21689
21690 * doc/rtl.texi (Constants): Close @code tag.
21691
91c8aa9e
AH
216922002-02-19 Aldy Hernandez <aldyh@redhat.com>
21693
21694 * config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
21695 ("mmx_uavgv4hi3"): Same.
21696 ("pmulhrwv4hi3"): Same.
21697
21698 * tree-inline.c (walk_tree): Handle vectors.
21699
21700 * c-common.c (constant_expression_warning): Handle vectors.
21701 (overflow_warning): Same.
21702
21703 * sched-deps.c (sched_analyze_2): Handle vectors.
21704
21705 * rtlanal.c (rtx_unstable_p): Handle vectors.
21706 (rtx_varies_p): Same.
21707 (count_occurrences): Same.
21708 (regs_set_between_p): Same.
21709 (modified_between_p): Same.
21710 (modified_in_p): Same.
21711 (volatile_insn_p): Same.
21712 (volatile_refs_p): Same.
21713 (side_effects_p): Same.
21714 (may_trap_p): Same.
21715 (inequality_comparisons_p): Same.
21716 (replace_regs): Same.
21717 (computed_jump_p_1): Same.
21718
21719 * rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
21720 argument.
21721 (inner_mode_array): New.
21722 (copy_rtx): Handle vectors.
21723 (copy_most_rtx): Same.
21724 (rtx_equal_p): Same.
21725 (get_mode_alignment): Adjust for vectors.
21726
21727 * resource.c (mark_referenced_resources): Handle vectors.
21728 (mark_set_resources): Same.
21729
21730 * reload1.c (eliminate_regs): Handle vectors.
21731 (elimination_effects): Same.
21732 (scan_paradoxical_subregs): Same.
21733
21734 * reload.c (subst_reg_equivs): Handle vectors.
21735
21736 * regrename.c (scan_rtx): Handle vectors.
21737
21738 * regclass.c (reg_scan_mark_refs): Handle vectors.
21739
21740 * recog.c (find_single_use_1): Handle vectors.
21741
21742 * local-alloc.c (equiv_init_varies_p): Handle vectors.
21743 (contains_replace_regs): Same.
21744 (memref_referenced_p): Same.
21745
21746 * integrate.c (copy_rtx_and_substitute): Handle vectors.
21747 (subst_constants): Same.
21748
21749 * genattrtab.c (attr_copy_rtx): Handle vectors.
21750 (encode_units_mask): Same.
21751 (clear_struct_flag): Same.
21752 (count_sub_rtxs): Same.
21753
21754 * gcse.c (want_to_gcse_p): Handle vectors.
21755 (oprs_unchanged_p): Same.
21756 (hash_expr_1): Same.
21757 (oprs_not_set_p): Same.
21758 (expr_killed_p): Same.
21759 (compute_transp): Same.
21760 (store_ops_ok): Same.
21761
21762 * function.c (purge_addressof_1): Do not allow paradoxical subregs
21763 of vectors.
21764 (fixup_var_refs_1): Same.
21765 (instantiate_virtual_regs_1): Same.
21766
21767 * fold-const.c (operand_equal_p): Handle vectors.
21768 (fold): Same.
21769 (rtl_expr_nonnegative_p): Same.
21770
21771 * flow.c (mark_used_regs): Handle vectors.
21772
21773 * df.c (df_uses_record): Handle vectors.
21774
21775 * cselib.c (cselib_subst_to_values): Handle vectors.
21776 (cselib_mem_conflict_p): Same.
21777 (hash_rtx): Same.
21778
21779 * cse.c (canon_reg): Handle vectors.
21780 (fold_rt): Same.
21781 (cse_process_notes): Same.
21782 (count_reg_usage): Same.
21783 (canon_hash): Same.
21784
21785 * alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
21786
21787 * combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
21788
21789 * emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
21790 (gen_rtx): Handle CONST_VECTOR.
21791 (gen_const_vector_0): New.
21792 (copy_rtx_if_shared): CONST_VECTORs can be shared.
21793 (reset_used_flags): Same.
21794 (copy_insn_1): Same.
21795 (initializer_constant_valid_p): Handle VECTOR_CST.
21796
21797 * doc/c-tree.texi (Expression trees): Document VECTOR_CST.
21798
21799 * doc/rtl.texi (Constants): Document const_vector.
21800 (CONST0_RTX): Update for vectors.
21801 (RTL sharing): Same.
21802
21803 * print-tree.c (print_node): Add case for VECTOR_CST.
21804
21805 * tree.h (TREE_VECTOR_CST_ELTS): New.
21806 (struct tree_vector): New.
21807 (union tree_node): Add vector node.
21808 (build_vector): Add prototype.
21809
21810 * tree.def (VECTOR_CST): New.
21811
21812 * tree.c (build_vector): New.
21813
21814 * expmed.c (make_tree): Handle CONST_VECTOR.
21815
21816 * rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
21817 (CONST_VECTOR_ELT): New.
21818 (CONST_VECTOR_NUNITS): New.
21819
21820 * machmode.h (GET_MODE_INNER): New.
21821 (DEF_MACHMODE): Accept 8th arg.
21822
21823 * machmode.def: Add 8th argument for vector inner mode.
21824 Add inner vector modes for vectors.
21825
21826 * rtl.def (VEC_CONST): Remove.
21827 (CONST_VECTOR): New.
21828
21829 * expr.c (clear_storage): Allow vectors.
21830 (is_zeros_p): Handle VECTOR_CST.
21831
21832 * varasm.c (output_constant_pool): Handle vectors.
21833 (rtx_const): Add veclo and vechi fields.
21834 (kind): Add RTX_VECTOR.
21835 (decode_rtx_const): Add case for vector.
21836
21837 * config/rs6000/rs6000-protos.h: Add zero_constant.
c410d49e 21838
91c8aa9e
AH
21839 * config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
21840 constants. Force easy vector constants into memory.
21841 (easy_vector_constant): New.
21842 (emit_easy_vector_constant): New.
21843 (rs6000_legitimize_reload_address): Do not generate bad reloads on
21844 darwin.
21845
21846 * config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
21847 instruction does.
21848 ("altivec_lvxl"): Same.
21849 (altivec_lvebx): Same.
21850 (altivec_lvehx): Same.
21851 (altivec_lvewx): Same.
21852 ("*movv4si_const0"): New.
21853 ("*movv4sf_const0"): New.
21854 ("*movv8hi_const0"): New.
21855 ("*movv16qi_const0"): New.
21856
d4d6d0ce
KH
218572002-02-18 Kazu Hirata <kazu@hxi.com>
21858
21859 * config/h8300/h8300.c (notice_update_cc): Use
21860 cc_status.value2.
21861
4915d3aa
KH
218622002-02-18 Kazu Hirata <kazu@hxi.com>
21863
21864 * config/h8300/h8300.md (divmod patterns): Change the
21865 constraints for operands[1] to register_operand.
21866
82be00ee
KH
218672002-02-18 Kazu Hirata <kazu@hxi.com>
21868
21869 * config/h8300/h8300-protos.h: Remove the prototype for
21870 p_operand.
21871 * config/h8300/h8300.c (p_operand): Remove.
21872 * config/h8300/h8300.md: Replace p_operand with
21873 const_int_operand.
21874
1768c26f
PB
218752002-02-18 Philip Blundell <pb@nexus.co.uk>
21876
21877 * config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
21878 comment.
21879 (output_return_instruction): Allow use of LDR to unstack
21880 return addresss even for interrupt handlers or when
21881 interworking. If compiling for ARMv5, use interworking-safe
21882 return instructions by default. Remove duplicated code and
21883 lengthy "strcat" sequences.
21884
ccd84f51
FS
218852002-02-18 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
21886
21887 * config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
21888 (LINK_EH_SPEC): Define.
21889 * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
21890
2c153108
UW
218912002-02-18 Ulrich Weigand <uweigand@de.ibm.com>
21892
21893 * config/s390/s390.c (s390_emit_prologue): Do not set the
21894 frame_related flag for call-clobbered registers.
21895
e95d6b23
JH
21896Mon Feb 18 15:07:35 CET 2002 Jan Hubicka <jh@suse.cz>
21897
21898 * i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
21899 (construct_container): Fix handling of SSE operands.
21900 (ix86_expand_builtin): Fix handling of 64bit pointers.
21901 (mmx_maskmovq_rex): New pattern.
21902
c43a12b5
JH
21903Mon Feb 18 11:55:55 CET 2002 Jan Hubicka <jh@suse.cz>
21904
21905 * regrename.c (kill_set_value): Handle subregs properly.
21906
aeb85a15
DB
219072002-02-18 David Billinghurst <David.Billinghurst@riotinto.com>
21908
21909 * objc/objc-act.c (handle_impent): Remove leading '*'
c410d49e 21910 from objc_class_name.
aeb85a15 21911
a615ca3e
RH
219122002-02-17 Richard Henderson <rth@redhat.com>
21913
21914 * config/alpha/alpha.c (some_small_symbolic_operand,
21915 some_small_symbolic_operand_1, split_small_symbolic_operand,
21916 split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
21917 Handle small SYMBOL_REFs anywhere, not just inside memories.
21918 * config/alpha/alpha-protos.h: Update.
21919 * config/alpha/alpha.h (PREDICATE_CODES): Update.
21920 * config/alpha/alpha.md (small symbolic operand splitter): Update.
21921
ddb28441
RM
219222002-02-17 Roland McGrath <roland@frob.com>
21923
21924 * config.gcc (powerpc-*-gnu-gnualtivec*,
21925 powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
21926 * config/rs6000/gnu.h: New file.
21927 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
21928 Grok "gnu" in rs6000_abi_name.
21929 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
21930 CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
21931 Grok -mcall-gnu analogous to -mcall-linux et al.
21932 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
21933 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
21934 (SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
21935
f6f8ada3
JJ
219362002-02-17 Jakub Jelinek <jakub@redhat.com>
21937
21938 PR c/3444:
21939 * c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
21940 shortening.
21941
e16b32fc
PT
219422002-02-17 Philipp Thomas <pthomas@suse.de>
21943
21944 * config/cris/cris.h: Undefine STARTFILE_SPEC and
21945 ENDFILE_SPEC before (re)defining them.
21946
f9477efd
KH
219472002-02-17 Kazu Hirata <kazu@hxi.com>
21948
21949 * config/h8300/h8300.c: Fix formatting.
21950 * config/h8300/h8300.h: Likewise.
21951
404ae494
PT
219522002-02-17 Philipp Thomas <pthomas@suse.de>
21953
21954 * doc/tm.texi: Explain why empty strings should not be
21955 marked for translation.
21956
a52453cc
PT
219572002-02-17 Philipp Thomas <pthomas@suse.de>
21958
21959 * final.c (output_operand_lossage): Changed to accept
21960 printf style arguments. Change calls where necessary.
21961 * output.h (output_operand_lossage): Change declaration
21962 accordingly. Update copyright.
21963 * config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
21964 config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
21965 Update copyright date where necessary.
c410d49e 21966
a52453cc
PT
21967 * config/i386/i386.c (print_operand): Likewise. Remove use of
21968 sprintf.
21969
21970 * config/cris/cris.c (cris_operand_lossage): Likewise.
21971 Rename parameter so that exgettext recognizes it as
21972 translatable message.
21973 (LOSE_AND_RETURN): Rename parameter to msgid.
21974
1c11abc4
KH
219752002-02-17 Kazu Hirata <kazu@hxi.com>
21976
21977 * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
21978 hard coded register number with an appropriate macro.
21979 (HARD_REGNO_MODE_OK): Likewise.
21980 (ARG_POINTER_REGNUM): Likewise.
21981 (STATIC_CHAIN_REGNUM): Likewise.
21982 (RETURN_ADDRESS_POINTER_REGNUM): Likewise.
21983 * config/h8300/h8300.md (define_constants): Define more
21984 register numbers.
21985
a5d17ff3
PT
219862002-02-17 Philipp Thomas <pthomas@suse.de>
21987
21988 * config/i386/i386.h: Don't mark empty strings for translation.
21989
1a7289c4
L
219902002-02-16 H.J. Lu <hjl@gnu.org>
21991
21992 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
21993
afb58288
ZW
219942002-02-16 Zack Weinberg <zack@codesourcery.com>
21995
21996 * cppinit.c (merge_include_chains): Check for brack being
21997 NULL before attempting to merge it with qtail.
21998
d2af4dbd
AC
219992002-02-16 Andrew Cagney <ac131313@redhat.com>
22000
22001 * config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
22002 DBX_DEBUG.
22003
2e1ed1e3
JDA
220042002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
22005
22006 * pa/t-pa, pa/t-pro, som.h: Revert last patch.
22007
604c75b2
JDA
220082002-02-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
22009
22010 * pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
22011 * pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
22012 * som.h (DO_GLOBAL_DTORS_BODY): Delete define.
22013
1a42b072
RK
22014Sat Feb 16 13:48:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22015
7303604f 22016 * config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
1a42b072
RK
22017 now only if !TARGET_FIX.
22018 (*movsi_nt_vms_fix): New pattern.
22019
c2ea1ac6
DR
220202002-02-16 Douglas B Rupp <rupp@gnat.com>
22021
22022 * config/alpha/alpha.c: Implement null frame procedure types on VMS.
22023 (alpha_procedure_type): Replaces alpha_is_stack_procedure.
22024 (alpha_sa_mask, alpha_sa_size): Reflect above change.
22025 (alpha_pv_save_size, alpha_expand_prologue): Likewise.
22026 (alpha_start_function, alpha_expand_epilogue): Likewise.
22027 (unicosmk_gen_dsib): Likewise.
22028
725e58b1
RK
22029Sat Feb 16 13:39:09 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22030
22031 * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
22032
13e58269
UW
220332002-02-16 Ulrich Weigand <uweigand@de.ibm.com>
22034
c410d49e 22035 * config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
13e58269
UW
22036 check_and_change_labels, s390_final_chunkify): Delete.
22037 (s390_split_branches, s390_chunkify_pool): New functions.
22038 (s390_function_prologue): Call them.
c410d49e 22039
13e58269
UW
22040 * config/s390/s390.h (S390_REL_MAX): Delete.
22041 (S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
22042
c410d49e 22043 * config/s390/s390.md (cjump, icjump, jump): Fix length
13e58269
UW
22044 attribute calculation.
22045
22046
34d1b01d
DE
220472002-02-15 David Edelsohn <edelsohn@gnu.org>
22048
22049 * config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
22050 * config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
22051
be5cc51a
JDA
220522002-02-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
22053
22054 * gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
22055 * config/pa/pa-linux.h (LIB_SPEC): Likewise.
22056 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
22057
ee96ce90
RS
220582002-02-15 Richard Sandiford <rsandifo@redhat.com>
22059
22060 * c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
22061
05fa709d
RS
220622002-02-15 Richard Sandiford <rsandifo@redhat.com>
22063
22064 * reload.c (find_dummy_reload): Check that an output register
22065 is valid for its mode.
22066
4606272b
AO
220672002-02-14 Alexandre Oliva <aoliva@redhat.com>
22068
9a360704
AO
22069 * combine.c (known_cond): After replacing the REG of a SUBREG, try
22070 to simplify it.
22071
4606272b
AO
22072 * function.c (assign_parms): Demote promoted argument passed by
22073 transparent reference.
22074
e62d89a1
JS
220752001-02-14 Joel Sherrill <joel@OARcorp.com>
22076
22077 * config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
22078 -Acpu() and -Amachine() to eliminate warnings.
22079
6c4cf695
UW
220802002-02-14 Ulrich Weigand <uweigand@de.ibm.com>
22081
22082 * config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
22083
037f11ef
KH
220842002-02-14 Kazu Hirata <kazu@hxi.com>
22085
22086 * config/h8300/h8300-protos.h: Update the prototype for
22087 const_costs.
22088 * config/h8300/h8300.c (const_costs): Treat SET as a little
22089 more expensive operation.
22090 * config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
22091 reference to const_costs.
22092
fdc76b09
HPN
220932002-02-14 Hans-Peter Nilsson <hp@axis.com>
22094
22095 * config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
22096
d76e6800
JJ
220972002-02-14 Jakub Jelinek <jakub@redhat.com>
22098
22099 PR c/5503:
22100 * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
22101 use arguments from newtype.
22102
5ae590d7
EC
221032002-02-13 Eric Christopher <echristo@redhat.com>
22104
22105 * config/mips/mips.c (override_options): Add check for march/mipsX
22106 on the same command line. Fix error message in cpu processing.
22107 Remove architecture and ISA checks.
22108
b8513691
AH
221092002-02-14 Aldy Hernandez <aldyh@redhat.com>
22110
831c4e87 22111 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
b8513691 22112
831c4e87 22113 * config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
b8513691 22114
78c875e8
AH
221152002-02-14 Aldy Hernandez <aldyh@redhat.com>
22116
831c4e87
KC
22117 * config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
22118 alternatives.
22119 ("*movv8hi_internal1"): Same.
22120 ("*movv16qi_internal1"): Same.
22121 ("*movv4sf_internal1"): Same.
78c875e8 22122
831c4e87
KC
22123 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
22124 not push_reload for altivec modes.
78c875e8 22125
d76e6800 221262002-02-13 Joel Sherrill <joel@OARcorp.com>
f22b4bc4
JS
22127
22128 * config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
22129 all RTEMS targets including removal of #includes from config/*/rtems*.h
22130 file and adding them to tm_file setting. Added xm_defines=POSIX to
22131 many targets.
22132 * config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
22133 * config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
22134 * config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
22135 * config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
22136 * config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
22137 config/m68k/rtemself.h: Ditto.
22138 * config.gcc (mips*-*-rtems*), config/mips/rtems.h,
22139 config/mips/rtems64.h: Ditto.
22140 * config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
22141 * config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
22142 Ditto.
22143 * config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
22144 config/sparc/rtemself.h: Ditto.
22145 * config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
22146 * config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
22147 arm-rtems stanza closer to other arm-elf targets and made arm-rtems
22148 more like arm-elf.
22149 * config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
22150 config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
22151 target made more similar to i386-elf.
22152 * config/i386/t-rtems-i386: Added soft float support and multilibs.
22153 * config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
22154 be similar to config/m68k/t-m68kelf.
22155 * gthr-rtems.h: Encapsulate with extern "C" for C++.
22156
8686336f
JH
22157Wed Feb 13 23:41:15 CET 2002 Jan Hubicka <jh@suse.cz>
22158
22159 * regmove.c (kill_value): Handle subregs.
22160
558740bf
JH
22161Wed Feb 13 23:34:30 CET 2002 Jan Hubicka <jh@suse.cz>
22162
22163 * i386.md (mul patterns): Allow memory operand to be first;
22164 add expanders where needed; fix constraints.
22165 (min?f_nonieee, max?f_nonieee, SSE TImode patterns):
22166 Allow memory operand to be the first.
22167
22168 * i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
22169 operands.
22170
21117a17
JJ
221712002-02-13 Jakub Jelinek <jakub@redhat.com>
22172
22173 PR c/5681:
22174 * expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
22175 GET_MODE (x).
22176
ec65b2e3
JJ
221772002-02-13 Jakub Jelinek <jakub@redhat.com>
22178
22179 PR optimization/5547:
22180 * config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
22181 all valid IA-32 address modes involving non-scaled %ebx and
22182 GOT/GOTOFF as displacement.
22183
ce50cae8
UW
221842002-02-13 Ulrich Weigand <uweigand@de.ibm.com>
22185
22186 * config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
22187 after emitting ltorg insns.
22188
22189 * config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
22190 *cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
22191 *muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
22192 *abssf2): Fix "op_type" attribute.
22193
09eb789b
DR
221942002-02-13 Douglas B Rupp <rupp@gnat.com>
22195
2dbe67bb
DR
22196 * mkconfig.sh: Avoid using a subshell redirect.
22197 ($output.T): Change to $(output)T.
22198 (ENABLE_NLS): Remove unneeded undef.
22199
ea5b9a1f
DR
22200 * config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
22201 * config/alpha/x-vms (libsubdir): Define.
22202
3deb00ce
DR
22203 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
22204 register frame procedures. Optimize retrieving context.
22205
09eb789b
DR
22206 * config/alpha/t-vms (MULTILIB_OPTIONS): Define.
22207 (MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
22208 * config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
22209
1abade85
RK
22210Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22211
22212 * alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
22213 Make same change as for find_base_value.
22214
c283e63f
KH
222152002-02-13 Kazu Hirata <kazu@hxi.com>
22216
22217 * config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
22218 of QImode and SImode.
22219
86039100
KH
222202002-02-13 Kazu Hirata <kazu@hxi.com>
22221
22222 * config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
22223 length computation of movsi.
22224 * config/h8300/h8300.md (movsi_h8300hs): Correct the length.
22225
e1429da0
KH
222262002-02-13 Kazu Hirata <kazu@hxi.com>
22227
22228 * config/h8300/h8300.md (subqi3): Tighten the predicate for
22229 operands[2] to register_operand.
22230
aebfea10
JH
22231Wed Feb 13 10:35:56 CET 2002 Jan Hubicka <jh@suse.cz>
22232
22233 * i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
22234
0ec4e2a8
AH
222352002-02-12 Aldy Hernandez <aldyh@redhat.com>
22236
831c4e87
KC
22237 * config/rs6000/rs6000.md: Use predicate altivec_register_operand
22238 for altivec_lvx* and altivec_stvx*.
22239 ("*movv4si_internal"): Add constraint for loading from GPRs.
22240 ("*movv8hi_internal1"): Same.
22241 ("*movv16qi_internal1"): Same.
22242 ("*movv4sf_internal1"): Same.
0ec4e2a8 22243
831c4e87 22244 * config/rs6000/rs6000.c (altivec_register_operand): New.
0ec4e2a8 22245
831c4e87
KC
22246 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
22247 altivec_register_operand.
0ec4e2a8 22248
b007569d
HPN
222492002-02-13 Hans-Peter Nilsson <hp@bitrange.com>
22250
22251 * config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
22252 handle SYMBOL_REF.
22253
e6834654
SS
222542002-02-13 Stan Shebs <shebs@apple.com>
22255
831c4e87
KC
22256 * c-typeck.c (digest_init): Handle vectors.
22257 (really_start_incremental_init): Same.
22258 (pop_init_level): Same.
22259 (process_init_element): Same.
e6834654 22260
831c4e87 22261 * varasm.c (output_constant): Same.
e6834654 22262
831c4e87
KC
22263 * expr.c (clear_storage): Same.
22264 (store_constructor): Same.
e6834654 22265
d9b3eb63
EC
222662002-02-12 Eric Christopher <echristo@redhat.com>
22267
22268 * explow.c (hard_function_value): Add comment explaining
22269 signed/unsigned comparison.
22270
56d44285
JJ
222712002-02-12 Jakub Jelinek <jakub@redhat.com>
22272
22273 * jump.c (never_reached_warning): Add finish argument.
22274 If finish is NULL, stop on CODE_LABEL, otherwise stop before first
22275 real insn after end.
22276 * rtl.h (never_reached_warning): Adjust prototype.
22277 * cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
22278 * cfgrtl.c (flow_delete_block): Pass b->end as finish to
22279 never_reached_warning.
22280
fc209487
GS
222812002-02-12 Graham Stott <grahams@redhat.com>
22282
22283 * config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
22284
1e41e866
KH
222852002-02-12 Kazu Hirata <kazu@hxi.com>
22286
22287 * config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
22288 logical shifts on H8/300.
22289 (shift_alg_si): Improve several shifts on H8/300.
22290 (get_shift_alg): Likewise.
22291
a36a47ad
GS
222922002-02-12 Graham Stott <grahams@redhat.com>
22293
22294 * config/pa/pa.c (compute_movstrsi_length): Fix typos.
22295
0aacc8ed
RK
22296Tue Feb 12 10:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
22297
22298 * alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
22299 Handle #ifdef POINTERS_EXTEND_UNSIGNED.
22300
a02ac966
HPN
223012002-02-11 Hans-Peter Nilsson <hp@bitrange.com>
22302
22303 * config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
22304 non-CONST_INT through default_assemble_integer.
22305 <case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
22306 <case 8>: Abort for CONST_DOUBLE.
22307
d6e06ddc
JDA
223082002-02-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
22309
22310 * gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
22311 is specified.
22312 * config/pa/pa-linux.h (LIB_SPEC): Delete.
22313 * config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
22314
515342a8
AH
223152002-02-11 Andrew Haley <aph@cambridge.redhat.com>
22316
22317 * config/stormy16/stormy16.md (zero_extendqihi2): New.
22318
cddd8b72
AO
223192002-02-11 Alexandre Oliva <aoliva@redhat.com>
22320
66df7a98
AO
22321 * regrename.c (regrename_optimize): Don't accept a
22322 part-clobbered register if the replaced register is not part
22323 clobbered.
22324
841404cd
AO
22325 * calls.c (store_one_arg): In the non-BLKmode non-partial case,
22326 take padding into account when computing the argument value.
22327
1d1ade42
AO
22328 * config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
22329
cddd8b72
AO
22330 * combine.c (try_combine): Apply substitutions in
22331 CALL_INSN_FUNCTION_USAGE too.
22332
5c665b88
AH
223332002-02-11 Aldy Hernandez <aldyh@redhat.com>
22334
77f6c1eb
RS
22335 * config/rs6000/rs6000.c (altivec_init_builtins): Handle
22336 __builtin_altivec_abs*.
22337 (bdesc_abs): New.
5c665b88 22338
77f6c1eb
RS
22339 * config/rs6000/rs6000.h (rs6000_builtins): Add
22340 ALTIVEC_BUILTIN_ABS*.
5c665b88 22341
77f6c1eb
RS
22342 * config/rs6000/altivec.h: Use const char for builtins expecting
22343 literals.
22344 (vec_abs): New versions for C and C++.
22345 (vec_abss): Same.
5c665b88 22346
3494f1b4
KH
223472002-02-10 Kazu Hirata <kazu@hxi.com>
22348
22349 * config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
22350 using Pmode.
22351
72431aef
KH
223522002-02-10 Kazu Hirata <kazu@hxi.com>
22353
22354 * config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
22355 constant definition from h8300.md.
22356 (FRAME_POINTER_REGNUM): Likewise.
22357 * config/h8300/h8300.md (define_constants): Add FP_REG.
22358
87e4ee91
KH
223592002-02-10 Kazu Hirata <kazu@hxi.com>
22360
22361 * config/h8300/h8300.c (print_operand): Remove redundant code.
22362
9c188705
KH
223632002-02-10 Kazu Hirata <kazu@hxi.com>
22364
22365 * config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
22366 * config/h8300/h8300.c (byte_reg): Make it static.
22367
fba78abb
RH
223682002-02-10 Richard Henderson <rth@redhat.com>
22369
22370 PR c/5623
22371 * c-typeck.c (incomplete_type_error): Handle flexible array members.
22372
65739e62
RH
223732002-02-10 Richard Henderson <rth@redhat.com>
22374
22375 PR c++/5624
22376 * tree.c (append_random_chars): Don't abort if main_input_filename
22377 does not exist.
22378
247cb9df
HPN
223792002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
22380
22381 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
22382
232bd029
KH
223832002-02-10 Kazu Hirata <kazu@hxi.com>
22384
65739e62 22385 * config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
232bd029
KH
22386 (pushhi1): Likewise.
22387
276ef573
JDA
223882002-02-10 John David Anglin <dave@hiauly1.hia.nrc.ca>
22389
22390 * pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
22391 * pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
22392
617e9ee5
DB
223932002-02-09 David O'Brien <obrien@FreeBSD.org>
22394
22395 * config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
22396 remove MASK_VIS.
22397 (ASM_CPU_DEFAULT_SPEC): Remove. Default setting is fine.
22398
6dfa4005
KH
223992002-02-09 Kazu Hirata <kazu@hxi.com>
22400
22401 * config/h8300/h8300.c (output_logical_op): Use sub.w to clear
22402 a half of an SImode register on H8/300.
22403
749e7b80
JH
22404Sat Feb 9 18:28:02 CET 2002 Jan Hubicka <jh@suse.cz>
22405
22406 * i386.md (movdi_2): Add missing '!'.
22407
ca77d87c
KH
224082002-02-09 Kazu Hirata <kazu@hxi.com>
22409
22410 * config/h8300/h8300.h: Fix formatting. Remove commented-out
22411 definitions.
22412
16c96304
KH
224132002-02-09 Kazu Hirata <kazu@hxi.com>
22414
22415 * config/h8300/h8300.md (length): Correct the distance valid
22416 for the short branch.
22417
a364bc90
KH
224182002-02-09 Kazu Hirata <kazu@hxi.com>
22419
22420 * config/h8300/h8300.md (iorhi3): Tighten the predicates.
22421
e4ec2cac
AO
224222002-02-09 Alexandre Oliva <aoliva@redhat.com>
22423
a138247b
AO
22424 * config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
22425 registers in SImode.
22426 (HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
22427 part-clobbered.
22428
2b1fd83f
AO
22429 * config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
22430 patch.
d9b3eb63 22431
fa5322fa
AO
22432 Contribute sh64-elf.
22433 2002-02-09 Alexandre Oliva <aoliva@redhat.com>
22434 * config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
22435 (sh_cannot_modify_jumps_p): New function.
22436 2002-02-05 Alexandre Oliva <aoliva@redhat.com>
22437 * config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
22438 (sh_ms_bitfield_layout_p): New function.
22439 2002-02-04 Alexandre Oliva <aoliva@redhat.com>
22440 Zack Weinberg <zack@codesourcery.com>
22441 * config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
22442 expand_simple_binop instead of expand_binop.
22443 2002-02-03 Alexandre Oliva <aoliva@redhat.com>
22444 * config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
22445 use of .quad and .uaquad.
22446 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
22447 TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
22448 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
22449 * config/sh/sh.md (movdi_const, movdi_const_32bit,
22450 movdi_const_16bit): Make sure all CONSTs have modes.
22451 (sym2PIC): Ditto, but by adjusting all callers.
22452 * config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
22453 if the prologue calls the SHmedia argument decoder or register
22454 saver.
22455 2002-01-24 Alexandre Oliva <aoliva@redhat.com>
22456 * config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
22457 (TARGET_ASM_ALIGNED_DI_OP): Likewise.
22458 (sh_expand_epilogue): Don't emit USE of return target register.
22459 (prepare_move_operands): Legitimize DImode PIC addresses.
22460 (sh_media_register_for_return): Skip tr0, used to initialize the
22461 PIC register.
22462 (sh_expand_prologue): Remove explicit USE of return register.
22463 (nonpic_symbol_mentioned_p): PC is non-PIC. Don't recurse in
22464 CONST_DOUBLEs. UNSPEC_GOTPLT is PIC.
22465 * config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
22466 (OVERRIDE_OPTIONS): Don't disable PIC on SH5.
22467 (EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
22468 EXTRA_CONSTRAINT_T.
22469 (GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
22470 (MOVI_SHORI_BASE_OPERAND_P): New.
22471 (NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
22472 (EXTRA_CONSTRAINT_T): Define in terms of them.
22473 (OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
22474 * config/sh/sh.md (movsi_media, movsi_media_nofpu,
22475 movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
22476 alternatives supporting TARGET_REGS.
22477 (UNSPEC_GOTPLT): New constant.
22478 (movdi split): Move incrementing of LABEL_NUSES...
22479 (movdi_const, movdi_const_32bit): Here. Use
22480 MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
22481 (movdi_const_16bit): New.
22482 (call, call_value) [flag_pic]: Use GOTPLT.
22483 (call_pop, call_value_pop): New expands.
22484 (call_pop_compact, call_pop_rettramp): New insns.
22485 (call_value_pop_compact, call_value_pop_rettramp): New insns.
22486 (sibcall) [flag_pic]: Use GOT.
22487 (builtint_setjmp_receiver): Remove bogus, unused expand.
22488 (GOTaddr2picreg): Implement for SHcompact and SHmedia.
22489 (*pt, *ptb, ptrel): New insns.
22490 (sym2GOT): Handle DImode GOT.
22491 (sym2GOTPLT, symGOTPLT2reg): New expands.
22492 (sym2PIC): New expand.
22493 (shcompact_return_tramp): Use GOTPLT to return trampoline.
22494 (shcompact_return_tramp_i): Use return register explicitly.
22495 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
22496 disable flag_reorder_blocks.
22497 2002-01-19 Alexandre Oliva <aoliva@redhat.com>
22498 * config/sh/sh.md (sibcall_compact): Reorder return, uses and
22499 clobbers, for clarity.
22500 (sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
22501 restoring of r0 in macl as MAYBE_DEAD.
22502 2002-01-18 Alexandre Oliva <aoliva@redhat.com>
22503 * config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
22504 * config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
22505 alter_subreg all over.
22506 (jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
22507 reload, instead of emitting instructions that would require
22508 reloading.
22509 (casesi_load_media): Add missing modes.
22510 2001-11-09 Alexandre Oliva <aoliva@redhat.com>
22511 * config/sh/sh.c (sh_expand_prologue): Mark the PIC register
22512 as used if the argument decoder is called.
22513 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
22514 * config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
22515 Pmode, then extend it to DImode if necessary.
22516 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
22517 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
22518 constants in FPU-enabled SHmedia, let them be loaded from memory.
22519 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
22520 * config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
22521 Adjust whitespace in assembly output templates.
22522 2001-08-28 Stephen Clarke <Stephen.Clarke@st.com>
22523 * config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
22524 mode of if_then_else.
22525 2001-08-04 Alexandre Oliva <aoliva@redhat.com>
22526 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
22527 sh.h.
22528 2001-07-26 Andrew Haley <aph@cambridge.redhat.com>
22529 Joern Rennecke <amylaar@redhat.com>
22530 * config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
22531 (SUBTARGET_CPP_PTR_SPEC): New.
22532 (SUBTARGET_CPP_SPEC): Remove.
22533 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
22534 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
22535 Fix typo in previous checkin.
22536 2001-07-11 Chandrakala Chavva <cchavva@redhat.com>
22537 * config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
22538 2001-07-10 Chandrakala Chavva <cchavva@cygnus.com>
22539 Alexandre Oliva <aoliva@redhat.com>
22540 * config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
22541 what single FP register can hold for SHmedia target.
22542 2001-07-06 Chandrakala Chavva <cchavva@redhat.com>
22543 Alexandre Oliva <aoliva@redhat.com>
22544 * config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
22545 Do not split into SUBREG.
22546 2001-06-14 Alexandre Oliva <aoliva@redhat.com>
22547 * config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
22548 and added new functions as specified in SH5 ABI r9.
22549 2001-06-04 Alexandre Oliva <aoliva@redhat.com>
22550 * config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
22551 8-byte boundary.
22552 2001-06-03 Alexandre Oliva <aoliva@redhat.com>
22553 * config/sh/sh.c (dump_table): Add const0_rtx in calls of
22554 gen_consttable_4 and gen_consttable_8. Emit multiple labels
22555 and consttable_window_ends.
22556 2001-06-03 Graham Stott <grahams@redhat,com>
22557 * config/sh/sh.md (movdi split): Remove unused variable last_insn.
22558 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
22559 * config/sh/sh.c (print_operand): Handle floating-point pair,
22560 vector and matrix registers.
22561 * config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
22562 vector modes into account.
22563 * config/sh/sh.md (movv2sf): Split move between registers into
22564 movdf.
22565 (movv4sf, movv16sf): Introduce insns that get split only after
22566 reload.
22567 * config/sh/shmedia.h: Fix Copyright dates.
22568 * config/sh/ushmedia.h: Likewise. Move loop counter
22569 declarations into conditionals that uses them.
22570 (sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
22571 loop boundary.
22572 * config/sh/sshmedia.h: Fix Copyright dates.
22573 (sh_media_PUTCFG): Fix constraints.
22574 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
22575 * config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
22576 ptrmemfunc_vbit_in_delta for SH5.
22577 2001-05-08 Alexandre Oliva <aoliva@redhat.com>
22578 * config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
22579 * invoke.texi: Likewise.
22580 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
22581 * config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
22582 GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
22583 GCC_pop_shmedia_regs_nofpu): New global symbols.
22584 * config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
22585 * config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
22586 * config/sh/sh.c (calc_live_regs): Account for PR's saving in
22587 compact function with nonlocal labels.
22588 (sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
22589 (sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
22590 (initial_elimination_offset): Account for their stack space.
22591 * config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
22592 * config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
22593 movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
22594 movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
22595 least one of the operands to be a register.
22596 (movv2sf): Likewise. Renamed to movv2sf_i.
22597 (movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
22598 prepare_move_operands() before emitting SHmedia insns.
22599 2001-04-03 Alexandre Oliva <aoliva@redhat.com>
22600 * config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
22601 Don't save nor initialize r12. Don't mis-align the stack.
22602 Pad the code with a nop.
22603 * config/sh/crti.asm: Don't restore r12. Don't mis-align the
22604 stack.
22605 2001-03-13 Alexandre Oliva <aoliva@redhat.com>
22606 * gcc/longlong.h (__umulsidi3, count_leading_zeros)
22607 [__SHMEDIA__]: Implement.
22608 2001-03-11 Alexandre Oliva <aoliva@redhat.com>
22609 * config/sh/sh.md: Set latency of `pt' closer to reality.
22610 (movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
22611 movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
22612 Set move, load and store type attributes.
22613 * config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
22614 * config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
22615 profiling.
22616 * config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
22617 * config/sh/sh-protos.h (sh_media_register_for_return): Declare.
22618 * config/sh/sh.c (sh_media_register_for_return): New function.
22619 (sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
22620 branch-target register.
22621 (sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
22622 * config/sh/sh.md (return_media_i): Use any call-clobbered
22623 branch-target register.
22624 (return_media): If r18 wasn't copied in the prologue, copy it
22625 here.
22626 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
22627 Clear class FP0_REGS.
22628 * config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
22629 from elf.h.
22630 2001-03-08 DJ Delorie <dj@redhat.com>
22631 * config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
22632 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
22633 * config/sh/sh.md (sibcall_compact): Set fp_mode to single.
22634 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
22635 * config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
22636 2001-02-03 Alexandre Oliva <aoliva@redhat.com>
22637 * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
22638 return value correctly for call_cookie.
22639 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
22640 * config/sh/crt1.asm (start): Modified so as to call
22641 ___setup_argv_and_call_main.
22642 2001-01-26 Alexandre Oliva <aoliva@redhat.com>
22643 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
22644 SHmedia mode.
22645 2001-01-20 Alexandre Oliva <aoliva@redhat.com>
22646 * config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
22647 (STRIP_NAME_ENCODING): Use it.
22648 (ASM_OUTPUT_LABELREF): Likewise. Don't call assemble_name().
22649 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
22650 * config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
22651 prepare_scc_operands().
22652 * config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
22653 (DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
22654 2001-01-17 Alexandre Oliva <aoliva@redhat.com>
22655 * config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
22656 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
22657 * config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
22658 * config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
22659 used in shcompact_incoming_args.
22660 * config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
22661 change.
22662 * config/sh/crt1.asm (start) [SH5]: Switch to single-precision
22663 mode.
22664 * config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
22665 Adjust accordingly.
22666 * config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
22667 Simplify. Adjust. Add sanity check.
22668 * config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
22669 FPU_SINGLE_BIT.
22670 * config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
22671 TARGET_SHCOMPACT.
22672 (udivsi3, divsi3): Use them.
22673 (force_mode_for_call): New insn.
22674 (call, call_value, sibcall_value): Emit it before SHcompact
22675 calls.
22676 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
22677 * config/sh/sh.md (call, call_value, sibcall): Make sure the
22678 call cookie is non-NULL before taking its value.
22679 2001-01-10 Alexandre Oliva <aoliva@redhat.com>
22680 * config.gcc (sh64): Set target_requires_64bit_host_wide_int.
22681 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
22682 * config/sh/sh.md (shcompact_incoming_args): Set argument memory
22683 block.
22684 * config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
22685 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
22686 temporary for stack adjusts. Use MACL and MACH to pass
22687 arguments to shcompact_incoming_args.
22688 * config/sh/sh.md (shcompact_incoming_args): Adjust. Don't
22689 clobber r1.
22690 * config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
22691 (nested_trampoline): Load static chain address into r1.
22692 * config/sh/sh.md (movdi_media splits): Fix sign-extension.
22693 2001-01-07 Alexandre Oliva <aoliva@redhat.com
22694 * config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
22695 fp_arith_reg_operand().
22696 2001-01-06 Alexandre Oliva <aoliva@redhat.com>
22697 * config/sh/sh.md (casesi): Sign-extend the first two operands,
22698 and use signed compares for them.
22699 * config/sh/sh.c (dump_table): Don't emit 8-byte constants after
22700 4-byte ones. Instead, inter-leave them, maintaining the 8-byte
22701 ones properly aligned.
22702 (find_barrier): Account for extra alignment needed for 8-byte wide
22703 constants.
22704 (machine_dependent_reorg): Require a label for the second 4-byte
22705 constant after an 8-byte one.
22706 * config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
22707 change.
22708 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
22709 * config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
22710 last_float when switching float modes.
22711 * config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
22712 auto-increment for general-purpose registers.
22713 * config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
22714 result.
22715 * config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
22716 for stack adjust.
22717 * config/sh/sh.c (sh_builtin_saveregs): Support using all
22718 registers for varargs.
22719 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
22720 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
22721 * config/sh/sh.h (CALL_COOKIE_STACKSEQ,
22722 CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
22723 (CALL_COOKIE_INT_REG_SHIFT): Adjust.
22724 (FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK. Adjust
22725 call_cookie accordingly.
22726 (FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
22727 (SHCOMPACT_BYREF): Likewise.
22728 (SHCOMPACT_FORCE_ON_STACK): New macro.
22729 * config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
22730 (sh_builtin_saveregs): Likewise.
22731 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
22732 shcompact_incoming_args): Use new shift values. Support
22733 sequences of consecutive and non-consecutive pushes/pops.
22734 * config/sh/sh.md (return): Don't explicitly use PR_REG.
22735 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
22736 * config/sh/sh.h (TEXT_SECTION): Define.
22737 * config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
22738 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
22739 * config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
22740 * config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
22741 return values on FPU-enabled SHmedia.
22742 (FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
22743 FPU-enabled SHmedia.
22744 (INIT_CUMULATIVE_ARGS): Set up return trampoline only if
22745 value is returned in a non-FP reg and is not returned by
22746 reference.
22747 * config/sh/sh.md (shcompact_return_tramp_i): Change type to
22748 jump_ind.
22749 2000-01-04 Alexandre Oliva <aoliva@redhat.com>
22750 * config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
22751 (FUNCTION_ARG_CALLEE_COPIES): Require argument to be
22752 quad-aligned to be passed by callee-copy reference.
22753 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
22754 * config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
22755 * config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
22756 2001-01-02 Alexandre Oliva <aoliva@redhat.com>
22757 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
22758 copying low-numbered FP regs to r7 and r8.
22759 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
22760 FP regs to general-purpose regs only if the copy was passed on the
22761 stack.
22762 * config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
22763 copying FP reg to r9.
22764 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
22765 copy FP regs to general-purpose regs only in outgoing calls.
22766 * config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
1e4e95d6 22767 change from 2000-10-30. Adjust for 64-bit (or 32-bit)
fa5322fa
AO
22768 HOST_WIDE_INT.
22769 * config/sh/sh.h (struct sh_args): Document all fields.
22770 (FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
22771 passed partially on the stack should not consider making
22772 sibcalls.
22773 * config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
22774 stack_regs only for incoming calls. When passing FP args,
22775 make sure there are FP regs available before modifying
22776 call_cookie.
22777 (SHCOMPACT_BYREF): Pass double args in general-purpose
22778 registers by reference.
22779 2000-12-30 Alexandre Oliva <aoliva@redhat.com>
22780 * config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
22781 attempt to generate sibcalls if the caller got any arguments
22782 by reference.
22783 * config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
22784 * config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
22785 to 8-byte boundaries.
22786 * config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
22787 * config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
22788 * config/sh/sh.c (sh_expand_prologue): Preserve args that will be
22789 stored in the stack.
22790 * config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
22791 for the offsets to have the ISA bit set.
22792 (shcompact_call_trampoline): Document. Swap r0 and r1, to match
22793 invocation. Use beq instead of bgt to mark end of sequence of
22794 loads.
22795 (shcompact_incoming_args): Fix store of r2. Use beq instead of
22796 bgt to mark end of sequence of stores.
22797 * config/sh/sh.c (arith_operand): Don't check whether
22798 CONST_OK_FOR_J for now.
22799 * config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
22800 instead of long for conversion.
22801 2000-12-29 Alexandre Oliva <aoliva@redhat.com>
22802 * config/sh/sh.c (print_operand_address): Convert INTVAL to int
22803 before passing it to fprintf.
22804 2000-12-28 Alexandre Oliva <aoliva@redhat.com>
22805 * config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
22806 Call set_fpscr before reading/writing SR.
22807 * config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
22808 Call set_fpscr.
22809 * config/sh/lib1funcs.asm: Add `.align 2' directives before
22810 SHmedia code.
22811 (FMOVD_WORKS): Define on SH5 with FPU.
22812 (set_fpscr): Define on SH5. Remove separate _fpscr_values
22813 setting.
22814 * config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
22815 _fpscr_values.
22816 2000-12-28 Hans-Peter Nilsson <hpn@cygnus.com>
22817 * config/sh/lib1funcs.asm (ct_main_table): Align contents to even
22818 address.
22819 (ia_main_table): Ditto.
22820 2000-12-27 Alexandre Oliva <aoliva@redhat.com>
22821 * config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
22822 * config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
22823 the definitions from sh.h.
22824 * config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
22825 TARGET_SH5.
22826 (SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
22827 * config/sh/elf.h (PTRDIFF_TYPE): Likewise.
22828 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
22829 2000-12-26 Alexandre Oliva <aoliva@redhat.com>
22830 * config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
22831 Increment LABEL_NUSES.
d9b3eb63 22832
fa5322fa
AO
22833 * config/sh/sh.h (SIZE_TYPE): Define as conditional on
22834 TARGET_SH5.
22835 (SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
22836 defined.
22837 * config/sh/elf.h (SIZE_TYPE): Likewise.
22838 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
22839 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
22840 shcompact_incoming_args): Load switch table addresses using
22841 datalabel.
22842 * config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
22843 (NO_BUILTIN_SIZE_TYPE): Define.
22844 (SIZE_TYPE): Don't define.
22845 * config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
22846 * config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
22847 definition of __SH5__=32 for -m5-compact-nofpu.
22848 * config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
22849 ADDR_DIFF_VEC.
22850 2000-12-24 Alexandre Oliva <aoliva@redhat.com>
22851 * config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
22852 2000-12-23 Alexandre Oliva <aoliva@redhat.com>
22853 * config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
22854 (FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
22855 (INSN_LENGTH_ALIGNMENT): Likewise.
22856 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
22857 * config/sh/sh.md (call, call_value, sibcall): Simplify
22858 copying of non-branch-target register.
22859 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
1e4e95d6 22860 * glimits.h (__LONG_MAX__): Revert 2000-12-13's patch.
fa5322fa
AO
22861 * config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
22862 2000-12-22 Alexandre Oliva <aoliva@redhat.com>
22863 * config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
22864 floating-point values as structs.
22865 (FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
22866 (SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
22867 general-purpose register.
22868 (SH5_PROTOTYPED_FLOAT_ARG): New macro.
22869 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
22870 * config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
22871 * config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
22872 * config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
22873 (ENCODE_SECTION_INFO): Enclose variables and constants in
22874 DATALABEL unspecs.
22875 (SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
22876 (STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
22877 (ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
22878 * config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
22879 only for LABEL_REFs. For SYMBOL_REFs, prepend
22880 SH_DATALABEL_ENCODING to the symbol name.
22881 * config/sh/sh.md (indirect_jump): Use SUBREG instead of
22882 convert_mode().
22883 2000-12-20 Alexandre Oliva <aoliva@redhat.com>
22884 * config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
22885 UNSPEC_DATALABEL.
22886 * config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
22887 * config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
22888 (DATALABEL_REF_P): Don't require CONST.
22889 (ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
22890 REL label.
22891 2000-12-19 Alexandre Oliva <aoliva@redhat.com>
22892 * config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
22893 right.
22894 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
22895 * config/sh/sh.md (movsi_media, call, call_value, sibcall):
22896 Use shallow_copy_rtx and PUT_MODE to change the mode of
22897 SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
22898 * config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
22899 on SHmedia using GENERAL_REGs.
22900 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
22901 bltu_media_i): Fix reversion of conditions.
22902 2000-12-18 Alexandre Oliva <aoliva@redhat.com>
22903 * config/sh/sh.md (zero_extendhidi2): Use logical shift right.
22904 * config/sh/sh.c (output_far_jump): Save r13 in macl.
22905 2000-12-17 Alexandre Oliva <aoliva@redhat.com>
22906 * config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
22907 2000-12-16 Alexandre Oliva <aoliva@redhat.com>
22908 * config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
22909 (GCC_nested_trampoline): Likewise.
22910 * config/sh/sh-protos.h (gen_datalabel_ref): Declare.
22911 * config/sh/sh.c (gen_datalabel_ref): Define.
22912 * config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
22913 (INITIALIZE_TRAMPOLINE): Likewise.
22914 (TRAMPOLINE_ADJUST_ADDRESS): Define.
22915 (DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
22916 (EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
22917 (OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
22918 * config/sh/sh.md (UNSPEC_DATALABEL): New constant.
22919 (ic_invalidate): Adjust for SH5.
22920 (ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
22921 * config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
22922 _nested_trampoline.
22923 2000-12-15 Alexandre Oliva <aoliva@redhat.com>
22924 * config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
22925 (MOVE_MAX_PIECES): Set to 8 on SHmedia too.
22926 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
22927 * config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
22928 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
22929 2000-12-14 Alexandre Oliva <aoliva@redhat.com>
22930 * config/sh/sh.c (target_reg_operand): Match only target-branch
22931 registers and pseudos that aren't virtual registers.
22932 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
22933 Copy operands that don't match target_reg_operand to pseudos.
22934 (call_media, call_value_media, sibcall_media): Use
22935 target_reg_operand instead of target_operand.
22936 2000-12-13 Alexandre Oliva <aoliva@redhat.com>
d9b3eb63 22937 * glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
fa5322fa
AO
22938 * config/sh/sh.c (target_reg_operand): Match hardware registers
22939 other than branch-target registers.
22940 * config/sh/sh.md (zero_extendqidi2): Input operand is %1.
22941 * config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
22942 (fpscr_values) [SH5 == 32]: Define.
22943 * config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
22944 * config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
22945 Handle function addresses coming in SUBREGs.
22946 2000-12-12 Alexandre Oliva <aoliva@redhat.com>
22947 * config/sh/lib1funcs.asm (shcompact_call_trampoline,
22948 shcompact_return_trampoline): Use datalabel where appropriate.
22949 2000-12-09 Alexandre Oliva <aoliva@redhat.com>
22950 * config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
22951 general-purpose register to copy one branch-target register to
22952 another.
22953 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
22954 * config/sh/sh.c (target_operand): Accept LABEL_REFs and
22955 SYMBOL_REFs with VOIDmode.
22956 * config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
22957 bltu_media_i): New insns.
22958 2000-12-06 Alexandre Oliva <aoliva@redhat.com>
22959 * config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
22960 (INIT_CUMULATIVE_ARGS): Likewise.
22961 2000-12-01 Alexandre Oliva <aoliva@redhat.com>
22962 * machmode.def (V16SFmode): New mode.
22963 * c-common.c (type_for_mode): Support V2SF and V16SF.
22964 * tree.c (build_common_tree_nodes_2): Likewise.
22965 * tree.h (tree_index): Likewise.
22966 * calls.c (emit_call_1): Take args_so_far. Adjust all
22967 callers. Introduce CALL_POPS_ARGS.
22968 * tm.texi (CALL_POPS_ARGS): Document.
22969 * config/sh/crt1.asm: Implement in SHmedia mode.
22970 * config/sh/crti.asm, config/sh/crtn.asm: Likewise
22971 * config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
22972 (DBX_REGISTER_NUMBER): Renumber registers for SH5.
22973 * config/sh/lib1funcs.asm: Disable functions unused in SH5.
22974 Implement divsi and udivsi in SHmedia mode. Introduce
22975 SHcompact trampolines.
22976 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
22977 only in SHmedia64.
22978 (regno_reg_class): Rewrite.
22979 (fp_reg_names): Remove.
22980 (sh_register_names, sh_additional_register_names): New.
22981 (print_operand): Added `u'. Support SUBREGs in addresses.
22982 Add parentheses around shifted CONSTs.
22983 (output_file_start): Output .mode and .abi directives.
22984 (shiftcosts, addsubcosts, multcosts): Adjust.
22985 (output_stack_adjust): Compute alignment. Sanity-check SIZE.
22986 (push_regs): Take array of HOST_WIDE_INTs. Adjust callers.
22987 (calc_live_regs): Output to array of HOST_WIDE_INTs. Count
22988 bytes, not registers. Take into account the need for the
22989 SHcompact incoming args trampoline. Adjust all callers.
22990 (sh_expand_prologue): Take stack_regs into account. Call
22991 incoming args trampoline. Keep stack aligned as per SH5 ABI.
22992 (sh_expand_epilogue): Take stack_regs into accoutn. Keep
22993 stack aligned as per SH5 ABI.
22994 (sh_builtin_saveregs): Support SH5 ABI.
22995 (sh_build_va_list, sh_va_start): Likewise.
22996 (initial_elimination_offset): Take alignment into account.
22997 Compute location of PR according to the SH5 stack frame.
22998 (arith_reg_operand): Reject branch-target registers.
22999 (shmedia_6bit_operand): New.
23000 (logical_operand): Use CONST_OK_FOR_P on SHmedia.
23001 (target_reg_operand): Match DImode only. Accept SUBREGs.
23002 (target_operand): New.
23003 * config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
23004 (CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI. Initialize
23005 SIBCALL_REGS for SHmedia.
23006 (TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
23007 (TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
23008 (TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
23009 (TARGET_SWITCHES): New SH5 flags.
23010 (OVERRIDE_OPTIONS): Set SH5-specific options. Use
23011 VALID_REGISTER_P to disable unsupported registers.
23012 (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
23013 (POINTER_SIZE, PARM_BOUNDARY): Adjust.
23014 (FUNCTION_ARG_PADDING): Define.
23015 (FASTEST_ALIGNMENT): Adjust.
23016 (SH_REGISTER_NAMES_INITIALIZER): New.
23017 (sh_register_names): Declare.
23018 (DEBUG_REGISTER_NAMES): Define.
23019 (REGISTER_NAMES): Define based on sh_register_names.
23020 (SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
23021 (sh_additional_register_names): Declare.
23022 (LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
23023 (FIRST_TARGET_REG, LAST_TARGET_REG): Define.
23024 (TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
23025 (REGISTER_NATURAL_MODE): Define.
23026 (FIRST_PSEUDO_REGISTER): Adjust.
23027 (FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
23028 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
23029 (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
23030 (VECTOR_MODE_SUPPORTED_P): Define.
23031 (REG_CLASS_CONTENTS): Adjust.
23032 (SMALL_REGISTER_CLASSES): Adjust.
23033 (REG_ALLOC_ORDER): Adjust.
23034 (INDEX_REG_CLASS): Adjust.
23035 (CONST_OK_FOR_O, CONST_OK_FOR_P): New.
23036 (CONST_OK_FOR_LETTER_P): Adjust.
23037 (PREFERRED_RELOAD_CLASS): Adjust.
23038 (SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
23039 (SECONDARY_INPUT_RELOAD_CLASS): Adjust.
23040 (NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
23041 (FIRST_FP_PARM_REG): Adjust.
23042 (CALL_POPS_ARGS): Define.
23043 (FUNCTION_ARG_REGNO_P): Adjust.
23044 (struct sh_args): New fields.
23045 (GET_SH_ARG_CLASS): Adjust.
23046 (INIT_CUMULATIVE_ARGS): Adjust.
23047 (INIT_CUMULATIVE_INCOMING_ARGS): Define.
23048 (FUNCTION_ARG_ADVANCE): Adjust.
23049 (FUNCTION_ARG): Adjust.
23050 (FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
23051 (FUNCTION_ARG_CALLEE_COPIES): Define.
23052 (SH5_PROTOTYPELESS_FLOAT_ARG): Define.
23053 (STRICT_ARGUMENT_NAMING): Define.
23054 (PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
23055 (FUNCTION_ARG_PARTIAL_NREGS): Adjust.
23056 (SH5_WOULD_BE_PARTIAL_NREGS): Define.
23057 (SETUP_INCOMING_VARARGS): Adjust.
23058 (HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
23059 (USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
23060 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
23061 (SUBREG_OK_FOR_INDEX_P): Adjust.
23062 (EXTRA_CONSTRAINT_S): Update.
23063 (EXTRA_CONSTRAINT_T): New.
23064 (EXTRA_CONSTRAINT): Adjust.
23065 (GO_IF_LEGITIMATE_INDEX): Adjust.
23066 (GO_IF_LEGITIMATE_ADDRESS): Adjust.
23067 (LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
23068 (MOVE_MAX): Adjust.
23069 (MAX_MOVE_MAX): Define.
23070 (Pmode): Adjust.
23071 (CONST_COSTS): Adjust.
23072 (REGISTER_MOVE_COST): Adjust.
23073 (BRANCH_COST): Adjust.
23074 (TEXT_SECTION_ASM_OP): Adjust.
23075 (DBX_REGISTER_NUMBER): Adjust.
23076 (ASM_OUTPUT_DOUBLE_INT): New.
23077 (UNALIGNED_DOUBLE_INT_ASM_OP): New.
23078 (PREDICATE_CODES): Adjust.
23079 (PROMOTE_MODE): Adjust.
23080 (CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
23081 * config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
23082 (MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
23083 (PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
23084 (DR0_REG, DR2_REG, DR4_REG): Renumber.
23085 (TR0_REG, TR1_REG, TR2_REG): New.
23086 (XD0_REG): Renumber.
23087 (UNSPEC_COMPACT_ARGS): New.
23088 (type): Added pt and ptabs.
23089 (length): Default to 4 on SHmedia. Default pt length to 12
1e4e95d6 23090 and 20 on SHmedia32 and SHmedia64, respectively.
fa5322fa
AO
23091 (pt): New function unit.
23092 (movdi, movsi): Add types pt and ptabs. Don't increment LABEL_NUSES.
23093 Add whitespace between operands of SHmedia instructions.
23094 (movdicc): Fix.
23095 (adddi3_media, addsi3_media): Adjust constraints.
23096 (subsi3) [SHmedia]: Force operand 1 into a register.
23097 (udivsi3_i1_media, udivsi3_i4_media): New.
23098 (udivsi3): Support SHmedia.
23099 (divsi3_i1_media, divsi3_i4_media): New.
23100 (divsi3): Support SHmedia.
23101 (anddi3, iordi3, xordi3): Adjust constraints.
23102 (zero_extendhidi2, zero_extendqidi2): New.
23103 (extendsidi2, extendhidi2, extendqidi2): New.
23104 (push, pop, push_e, push_fpul, push_4): Disable on SH5.
23105 (pop_e, pop_fpul, pop_4): Likewise.
23106 (movsi_media): Support FP and BT registers.
23107 (movsi_media_nofpu): New. Adjust splits to DImode.
23108 (lduw, ldub): Renamed to zero_extend* above.
23109 (movqi_media): Fix typo.
23110 (movdi_media): Support FP and BT registers.
23111 (movdi_media_nofpu): New. Adjust splits for SHmedia32.
23112 (movdi_const_32bit): New.
23113 (shori_media): Require immediate operand. Use `u' for output.
23114 (movdf_media, movsf_media): Simplified.
23115 (movdf_media_nofpu, movsf_media_nofpu): New.
23116 (movdf, movsf): Adjust
23117 (movv2sf, movv2sf, movv16sf): New.
23118 (beq_media, beq_media_i): Adjust constraints. Don't use
23119 scratch BT register.
23120 (bne_media, bne_media_i): Likewise.
23121 (bgt_media, bgt_media_i): Likewise.
23122 (bge_media, bge_media_i): Likewise.
23123 (bgtu_media, bgtu_media_i): Likewise.
23124 (bgeu_media, bgeu_media_i): Likewise.
23125 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
23126 bunordered): Emit jump insn. Force operands to registers when
23127 needed.
23128 (jump_media, jump): Simplify.
23129 (call_compact, call_compact_rettramp): New.
23130 (call_value_compact, call_value_compact_rettramp): New.
23131 (call_media, call_value_media): Simplify.
23132 (sibcall_compact, sibcall_media): New.
23133 (call, call_value): Adjust for SHmedia and SHcompact.
23134 (sibcall, sibcall_value, untyped_call): Likewise.
23135 (sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
23136 (indirect_jump): Adjust for SHmedia.
23137 (casesi_jump_media): New.
23138 (nop): Re-enable for SHmedia.
23139 (call_site): Restrict to SH1.
23140 (casesi): Adjust for SHmedia.
23141 (casesi_shift_media, casesi_load_media): New.
23142 (return): Explicitly use PR register. Call return trampoline
23143 on SHcompact.
23144 (return_i): Explicitly use PR register.
23145 (shcompact_return_tramp, shcompact_return_tramp_i): New.
23146 (return_media): Adjust.
23147 (shcompact_incoming_args): New.
23148 (epilogue): Adjust.
23149 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
23150 (movstrsi): Disable on SH5.
23151 (fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
23152 (addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
23153 (subsf3, subsf3_media): Likewise.
23154 (mulsf3, mulsf3_media, mac_media): Likewise.
23155 (divsf3, divsf3_media): Likewise.
23156 (floatdisf2, floatsisf2_media): Likewise. Adjust constraints.
23157 (floatsisf2, fux_truncsfsi2): Likewise.
23158 (fix_truncsfdi2, fix_truncsfsi2_media): Likewise. Adjust
23159 constraints.
23160 (cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
23161 (cmpunsf_media, cmpsf): Likewise.
23162 (negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
23163 (abssf2, abssf2_media): Likewise.
23164 (adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
23165 (muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
23166 (floatdidf2, floatsidf2_media): Likewise. Adjust constraints.
23167 (floatsidf2, fix_truncdfsi2): Likewise.
23168 (fix_truncdfdi2, fix_truncdfsi2_media): Likewise. Adjust
23169 constraints.
23170 (cmpeqdf_media, cmpgtdf_media): Likewise.
23171 (cmpgedf_media, cmpundf_media, cmpdf): Likewise.
23172 (negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
23173 (absdf2, absdf2_media): Likewise.
23174 (extendsfdf2, extendsfdf2_media): Likewise.
23175 (truncsfdf2, truncsfdf2_media): Likewise.
23176 * config/sh/sh64.h: New file.
23177 * config/sh/t-sh64: New file.
23178 * config/sh/shmedia.h: New file.
23179 * config/sh/ushmedia.h: New file.
23180 * config/sh/sshmedia.h: New file.
23181 * configure.in: Added sh64-*-elf.
23182 * configure: Rebuilt.
23183 2000-10-10 Alexandre Oliva <aoliva@redhat.com>
23184 * config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
23185 (reg_class_from_letter): Use `b' for TARGET_REGS.
23186 (print_operand): Support `%M', `%m', `AND' and
23187 `ASHIFTRT'. Do not precede constants with `#' on SHmedia.
23188 (andcosts): Adjust for SHmedia.
23189 (output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
23190 Likewise.
23191 (target_reg_operand): New function.
23192 * config/sh/sh-protos.h (target_reg_operand): Declare.
23193 * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
23194 FP registers on SH5.
23195 (HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
23196 on SH4.
23197 (TARGET_REGISTER_P): New macro.
23198 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
23199 (FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
23200 (EXTRA_CONSTRAINT_S): New macro.
23201 (EXTRA_CONSTRAINT): Adjust.
23202 (FLOAT_TYPE_SIZE): Define to 32.
23203 (Pmode): DImode on SHmedia.
23204 (CONST_COSTS): Adjust for SHmedia literals.
23205 (PREDICATE_CODES): Added target_reg_operand.
23206 (PROMOTE_MODE): Promote signed types to DImode on SHmedia.
23207 * config/sh/sh.md: Remove all attrs from SHmedia insns.
23208 (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
23209 (cmpdi): Accept SHmedia.
23210 (movdicc_false, movdicc_true): New insns.
23211 (movdicc): New expand.
23212 (adddi3): Accept arith_operand for op2, but FAIL on SH1 if
23213 no_new_pseudos.
23214 (addsi3_media): Match `S' constraint.
23215 (anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
23216 (negdi2): Expand for SHmedia.
23217 (one_cmpldi2): New expand.
23218 (zero_extendsidi2): Change from expand to insn.
23219 (extendsidi2): Add constraints.
23220 (movdi_media, movsi_media): Change `%x' to `%M'. Use `%m' for
23221 LD/ST address. Fix SI immediate loading split.
23222 (movhi_media, movqi_media, lduw, ldub): New insns.
23223 (movhi, movqi): Accept SHmedia.
23224 (shori_media, movdi_media): Relax input constraints. Split
23225 symbolic constants.
23226 (movdf_media, movsf_media): New insn. New split to movdi.
23227 (movdf, movsf): Match on SHmedia.
23228 (beq_media, bne_media, bgt_media, bge_media, bgtu_media,
23229 bgeu_media): New insns and splits. New insns with `_i' suffix.
23230 (beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
23231 (bunordered): New expand.
23232 (jump_compact): Renamed from `jump'.
23233 (jump_media): New insn.
23234 (jump): New expand.
23235 (call_media, call_value_media): New insns.
23236 (call, call_value): Adjust.
23237 (indirect_jump_compact): Renamed from `indirect_jump'.
23238 (indirect_jump_media): New insn.
23239 (indirect_jump): New expand.
23240 (untyped_call, return): Accept SHmedia.
23241 (return_media): New insn.
23242 (prologue, epilogue, blockage): Accept SHmedia.
23243 (seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
23244 (sunordered): New expand.
23245 (addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
23246 cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
23247 (addsf3_media, subsf3_media, mulsf3_media, mac_media,
23248 divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
23249 fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
23250 cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
23251 abssf2_media): New insns.
23252 (adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
23253 cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
23254 (adddf3_media, subdf3_media, muldf3_media, divdf3_media,
23255 floatdidf2, floatsidf2_media, fix_truncdfdi2,
23256 fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
23257 cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
23258 absdf2_media): New insns.
23259 (extendsfdf2, truncdfsf2): Adjust for SHmedia.
23260 (extendsfdf2_media, truncdfsf2_media): New insns.
23261 2000-09-14 Alexandre Oliva <aoliva@redhat.com>
23262 * config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
23263 * config/sh/sh.h (CONST_OK_FOR_J): Document.
23264 (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
23265 * config/sh/sh.md (adddi3): New expand.
23266 (adddi3_media, adddi3z_media): New insns.
23267 (adddi3_compact): Renamed from adddi3.
23268 (addsi3_media): Use add.l r63 to add constant zero.
23269 (subdi3): New expand.
23270 (subdi3_media): New insn.
23271 (subdi3_compact): Renamed from subdi3.
23272 (mulsidi3): New expand.
23273 (mulsidi3_media): New insn.
23274 (mulsidi3_compact): Renamed from mulsidi3.
23275 (umulsidi3): New expand.
23276 (umulsidi3_media): New insn.
23277 (umulsidi3_compact): Renamed from umulsidi3.
23278 (ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
23279 (ashlsi3, ashrsi3, lshrsi3): Use them.
23280 (ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
23281 (ashldi3, ashrdi3, lshrdi3): Use them.
23282 (zero_extendsidi2): New expand.
23283 (extendsidi2): New insn.
23284 (movsi_media): New insn. Split to movdi to load constants.
23285 (movsi): Enable for shmedia.
23286 (movdi_media): New insn. Use shori_media to load wide constants.
23287 (short_media): New insn.
23288 (movdi): Enable for shmedia.
23289 2000-09-08 Alexandre Oliva <aoliva@redhat.com>
23290 * config/sh/sh.h (CPP_SPEC): Added `m5'.
23291 (SUBTARGET_CPP_SPEC): Added `!m5'.
23292 (SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
23293 (TARGET_SWITCHES): Added `5' and `5-compact'. Added SH1_BIT
23294 to all other SH variants.
23295 (TARGET_DEFAULT): Set to SH1_BIT.
23296 (OVERRIDE_OPTIONS): Recognize sh5 CPU.
23297 (BITS_PER_WORD): Raise to 64 on shmedia.
23298 (MAX_BITS_PER_WORD): Change to 64.
23299 (MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
23300 (INT_TYPE_SIZE): Keep as 32.
23301 (UNITS_PER_WORD): Raise to 8 on shmedia.
23302 (MIN_UNITS_PER_WORD): Keep as 4.
23303 (POINTER_SIZE): Raise to 64 on shmedia.
23304 (CONST_OK_FOR_J): New macro.
23305 (CONST_OK_FOR_LETTER_P): Use it.
23306 (processor_type): Add PROCESSOR_SH5.
23307 * config/sh/sh.md: Conditionalize all expands, insns and
23308 splits to TARGET_SH1.
23309 (cpu): Added sh5.
23310 (addsi3_compact): Renamed from...
23311 (addsi3): Now an expand.
23312 (addsi3_media, subsi3_media): New insns.
23313 (subsi3): Don't negate constants with SHmedia.
23314
e4ec2cac
AO
23315 * hooks.c: New file.
23316 * hooks.h: New file.
23317 * Makefile.in (HOOKS_H): New.
23318 (TARGET_DEF_H): Added $(HOOKS_H).
23319 (OBJS): Added hooks.o.
23320 (cfgcleanup.o, bb-reorder.o): Added target.h.
23321 (hooks.o): Added dependencies.
23322 * target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
23323 (TARGET_INITIALIZER): this.
23324 * doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
23325 * target.h (struct gcc_target): Added cannot_modify_jumps_p.
23326 * bb-reorder.c: Include target.h.
23327 (reorder_basic_blocks): Skip if cannot modify jumps.
23328 * cfgcleanup.c: Include target.h.
23329 (try_optimize_cfg): Skip merge blocking if cannot modify jumps.
23330
246a46e0
CD
233312002-02-08 Chris Demetriou <cgd@broadcom.com>
23332
831c4e87
KC
23333 * config/mips/mips.md (casesi_internal, casesi_internal_di):
23334 Protect jump delay slot instructions with .set noreorder and
23335 .set nomacro.
246a46e0
CD
23336
233372002-02-08 Chris Demetriou <cgd@broadcom.com>
6a5ea3f4
CD
23338
23339 * config/mips/mips.md (casesi_internal_di): Calculate
23340 the index into the target offset table correctly.
23341
fdf473ae
RH
233422002-02-08 Richard Henderson <rth@redhat.com>
23343
23344 * expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
23345 * final.c (output_addr_const): Accept and discard SUBREG.
23346 * varasm.c (decode_addr_const): Don't abort on unknown expressions --
23347 mark them unknown instead.
23348 (simplify_subtraction): Handle RTX_UNKNOWN.
23349 (initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
23350
c50503ac
DE
233512002-02-08 David Edelsohn <edelsohn@gnu.org>
23352
23353 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
23354
3660d217
RH
233552002-02-08 Richard Henderson <rth@redhat.com>
23356
23357 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
23358
56547299
AJ
233592002-02-08 Andreas Jaeger <aj@suse.de>
23360
23361 * config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
23362 * config/i386/t-linux64: New file.
23363
1cf537c5
JJ
233642002-02-08 Jakub Jelinek <jakub@redhat.com>
23365
23366 * c-common.c (c_expand_expr): Revert 2002-02-06 patch.
23367 * c-parse.in (compstmt): Clear last_expr_type.
23368
5c7f5a5f
RH
233692002-02-07 Richard Henderson <rth@redhat.com>
23370
23371 * loop.c (strength_reduce): Sink final_value when not
23372 eliminating a biv.
23373
b1138bf3
DB
233742002-02-07 David O'Brien <obrien@FreeBSD.org>
23375
23376 * config/sparc/freebsd.h: Fix mismatched spec {.
23377
b6878a45
RH
233782002-02-07 Richard Henderson <rth@redhat.com>
23379
23380 * cfgrtl.c: Include recog.h and insn-config.h.
23381 (keep_with_call_p): Fix general_operand invocation.
23382 * Makefile.in (cfgrtl.o): Update dependencies.
23383
ae19f5ef
KH
233842002-02-07 Kazu Hirata <kazu@hxi.com>
23385
23386 * config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
23387 comment. Accept HImode only if TARGET_H8300.
23388
b137f9fc
EC
233892002-02-07 Eric Christopher <echristo@redhat.com>
23390
23391 * config/mips/crtn.asm: Cleanup #ifdefs.
23392
233932002-02-07 Eric Christopher <echristo@redhat.com>
23394
23395 * config/mips/crti.asm: Add changes for mips16. mips16 uses
23396 register 7 as RA instead of $31.
23397 * config/mips/crtn.asm: Ditto.
23398 * config/mips/mips.c (mips_move_2words): Add case for
23399 TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
23400 (compute_frame_size): Fix typo.
23401 (save_restore_insns): Ditto. Make documentation about using
23402 register $7 as return register more precise.
23403 (mips_expand_epilogue): Fix comment. Add code to work around not
23404 being able to add to the stack pointer directly.
23405 * config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
23406 to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
23407 epilogue.
23408
768070a0
TR
234092002-02-07 Tom Rix <trix@redhat.com>
23410
b137f9fc 23411 * config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
768070a0
TR
23412 immediates in ldu and stdu DS opcode field.
23413 * config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
23414 * config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
23415 * config/rs6000/rs6000.h (PREDICATE_CODES): Same.
23416
225909c3
JS
234172002-02-07 Jeff Sturm <jsturm@one-point.com>
23418
23419 * config/sparc/sparc.c (compute_frame_size): Don't correct frame
23420 offset for stack bias.
23421
15fae023
L
234222002-02-07 H.J. Lu <hjl@gnu.org>
23423
23424 * config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
23425
fde5badd
UW
234262002-02-07 Ulrich Weigand <uweigand@de.ibm.com>
23427
23428 * testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
23429
162f023b
JH
23430Thu Feb 7 12:14:17 CET 2002 Jan Hubicka <jh@suse.cz>
23431
23432 * i386-protos.h (x86_order_regs_for_local_alloc): Declare
23433 * i386.c (x86_order_regs_for_local_alloc): New global function.
23434 * i386.h (REG_ALLOC_ORDER): CLeanup.
23435 (ORDER_REGS_FOR_LOCAL_ALLOC): New.
23436
9b462c42
RH
234372002-02-07 Richard Henderson <rth@redhat.com>
23438
85aa876c 23439 PR optimization/2463
9b462c42
RH
23440 * alias.c (find_base_value): Recall base values for fixed hard regs.
23441 * loop.c (loop_regs_update): Don't use single_set on non-insns.
23442
06e455a9
AO
234432002-02-07 Alexandre Oliva <aoliva@redhat.com>
23444
23445 * config/mips/mips.md (define_delay) [mips16]: Adjust required
23446 length.
23447
edd1967d
RH
234482002-02-06 Richard Henderson <rth@redhat.com>
23449
23450 PR c/5609
23451 * stmt.c (resolve_operand_name_1): Take more care with mixed
23452 named and unnamed operands.
23453
a2cd028f
JJ
234542002-02-06 Janis Johnson <janis187@us.ibm.com>
23455 Jan Hubicka <jh@suse.cz>
23456
23457 * loop.c (remove_constant_addition): Avoid clobbering a shared
23458 CONST expression.
23459
e8487c04
UW
234602002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
23461
23462 * config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
23463 * config/s390/t-linux64: New file.
23464 * config/s390/libgcc-glibc.ver: New file.
23465
58d10f89
UW
234662002-02-06 Ulrich Weigand <uweigand@de.ibm.com>
23467
23468 * config/s390/linux64.h: Delete file.
23469 * config/s390/s390x.h: New file.
23470 * config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
23471 as target header file.
23472 * config/s390/linux.h (TARGET_VERSION): Define depending on
23473 DEFAULT_TARGET_64BIT.
23474 (CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
23475 (SIZE_TYPE, PTRDIFF_TYPE): Likewise.
23476 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
23477 (CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
23478 (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
23479 (EXTRA_SPEC): New define.
23480 * config/s390/s390.h (TARGET_VERSION): Define depending on
23481 DEFAULT_TARGET_64BIT.
23482 (MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
23483
5ce89b2e
JM
234842002-02-06 Jason Merrill <jason@redhat.com>
23485
23486 * c-decl.c (finish_function): Warn about a non-void function with
23487 no return statement and no abnormal exit.
23488 (current_function_returns_abnormally): New variable.
23489 (start_function): Clear it.
23490 (struct c_language_function): Add returns_abnormally.
23491 (push_c_function_context): Save it.
23492 (pop_c_function_context): Restore it.
23493 (builtin_function): Set TREE_THIS_VOLATILE on return fns.
23494 (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
23495 an explicit return type.
23496 * c-tree.h: Declare current_function_returns_abnormally.
23497 (C_FUNCTION_IMPLICIT_INT): New macro.
23498 * c-typeck.c (build_function_call): Set it.
23499 (c_expand_return): Set current_function_returns_value even if the
23500 value is erroneous.
23501
caaf2272
JJ
235022002-02-06 Jakub Jelinek <jakub@redhat.com>
23503
23504 PR c/5420:
23505 * c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
23506 unsafe for reevaluation.
23507
d5129288
JJ
235082002-02-06 Jakub Jelinek <jakub@redhat.com>
23509
23510 PR c/5482:
23511 * c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
23512 EXPR_STMT, but COMPOUND_STMT, recurse into it.
23513
7fb75099
RH
235142002-02-06 Richard Henderson <rth@redhat.com>
23515
23516 * cfganal.c (keep_with_call_p): Source for fixed_reg dest must
23517 be a general_operand. Dest for function value must be a pseudo.
23518
d3a8b6a6
NC
235192002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
23520
23521 * dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
23522 as SYMBOL_REFs from the constant pool.
23523
3c1299c5
AO
235242002-02-06 Alexandre Oliva <aoliva@redhat.com>
23525
23526 * dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
23527 passed by invisible reference.
23528
c2c9f6c9
RH
235292002-02-05 Richard Henderson <rth@redhat.com>
23530
23531 * config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
23532
a824924d
HPN
235332002-02-06 Hans-Peter Nilsson <hp@bitrange.com>
23534
23535 Implement using "base addresses" in insn operands as default.
23536 * config/mmix/mmix.c (mmix_conditional_register_usage): if
23537 -mabi=gnu, modify fixed_regs to fit the GNU ABI.
23538 (mmix_extra_constraint): Use 'R' to indicate that GETA should be
23539 used to read the rtx value.
23540 (mmix_target_asm_function_epilogue): Fix spacing.
23541 (mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
23542 (mmix_legitimate_address): Ditto.
23543 (mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
23544 should be loaded with a GETA insn. Don't allocate needless extra
23545 char for nul termination and fix misleading comment.
23546 (mmix_print_operand_address): Handle constants if
23547 TARGET_BASE_ADDRESSES.
23548 (mmix_output_register_setting): Use base addressing if
23549 TARGET_BASE_ADDRESSES and the number of insns is 3.
23550 * config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
23551 * config/mmix/mmix.md ("movdi"): Change the alternative with GETA
23552 to use R as constraint, add LDA to match s.
23553 * config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
23554 (TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
23555 (TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
23556 (FIXED_REGISTERS): Make registers $231..$246 fixed by default.
23557 (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
23558 order with other fixed registers.
23559 (MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
23560 other parameter/call-clobbered registers.
23561 * doc/invoke.texi (Option Summary) <MMIX Options>: Add
23562 -mbase-addresses, -mno-base-addresses.
23563 (MMIX Options): Ditto.
23564
73c342b9
JDA
235652002-02-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
23566
23567 * pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
23568
ef238c58
AH
235692002-02-06 Aldy Hernandez <aldyh@redhat.com>
23570
831c4e87 23571 * config/rs6000/altivec.h: Change elem to _S_elem.
ef238c58 23572
ad08e60e
JT
235732002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
23574
23575 * config/netbsd.h (WCHAR_TYPE): Define.
23576 (WCHAR_TYPE_SIZE): Ditto.
23577 (WINT_TYPE): Ditto.
23578 * config/alpha/netbsd.h (WCHAR_TYPE): Remove.
23579 (WCHAR_UNSIGNED): Ditto.
23580 (WCHAR_TYPE_SIZE): Ditto.
23581 (WINT_TYPE): Ditto.
23582 * config/arm/netbsd.h: Likewise.
23583 * config/i386/netbsd-elf.h: Likewise.
23584 * config/i386/netbsd.h: Likewise.
23585 * config/m68k/netbsd-elf.h: Likewise.
23586 * config/m68k/netbsd.h: Likewise.
23587 * config/ns32k/netbsd.h: Likewise.
23588 * config/sparc/netbsd.h: Likewise.
23589 * config/vax/netbsd.: Likewise.
23590
f913c102
AO
235912002-02-05 Alexandre Oliva <aoliva@redhat.com>
23592
23593 * target.h (struct gcc_target): Added ms_bitfield_layout_p.
23594 * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to...
23595 (TARGET_INITIALIZER): this.
23596 * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
23597 (BITFIELD_NBYTES_LIMITED): Markup fix.
23598 * tree.h (default_ms_bitfield_layout_p): Declare.
23599 (record_layout_info): Added prev_field.
23600 * tree.c (default_ms_bitfield_layout_p): New fn.
23601 * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
23602 PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
23603 * stor-layout.c: Include target.h.
23604 (start_record_layout): Initialize prev_field.
23605 (place_field): Handle MS bit-field layout, and disregard
23606 EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
23607 PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field.
23608 * Makefile.in (stor-layout.o): Adjust dependencies.
23609
c13db5d1
JM
236102002-02-05 Jason Merrill <jason@redhat.com>
23611
c13db5d1
JM
23612 * collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
23613
4505024e
AJ
236142002-02-05 Andreas Jaeger <aj@suse.de>
23615
23616 * crtstuff.c: Fix comments.
23617
794ad79d
RH
236182002-02-05 Richard Henderson <rth@redhat.com>
23619
2e279a9b
RH
23620 PR fortran/3393
23621 * loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
23622 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
23623
794ad79d
RH
23624 PR fortran/3392
23625 * config/mips/mips.c (function_arg): Handle TImode.
23626 (function_arg_advance): Likewise.
23627
8f909017
AH
236282002-02-05 Aldy Hernandez <aldyh@redhat.com>
23629
c13db5d1
JM
23630 * config/rs6000/altivec.h (vec_step_help): Rename to
23631 __vec_step_help.
8f909017 23632
66daa9e3
AH
236332002-02-05 Aldy Hernandez <aldyh@redhat.com>
23634
c13db5d1 23635 * config/rs6000/altivec.h: Fix typos.
66daa9e3 23636
2696e97b
JT
236372002-02-05 Jason Thorpe <thorpej@wasabisystems.com>
23638
23639 * config/arm/netbsd.h: Correct a comment.
23640
3deb2758
AH
236412002-02-05 Aldy Hernandez <aldyh@redhat.com>
23642
c13db5d1
JM
23643 * config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
23644 building void typed builtins.
3deb2758 23645
c13db5d1
JM
23646 * config/rs6000/altivec.h (vec_ld*): Fix typos.
23647 (vec_step): Implement for C++.
3deb2758 23648
c13db5d1 23649Mon Feb 4 19:23:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2c79137a
RK
23650
23651 * final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
23652
ebbb0a63
RH
236532002-02-04 Richard Henderson <rth@redhat.com>
23654
23655 * combine.c (nonzero_bits): Re-introduce special case for
23656 sp/fp/ap wrt REGNO_POINTER_ALIGN.
23657
ae4b4a02
AH
236582002-02-05 Aldy Hernandez <aldyh@redhat.com>
23659
c13db5d1
JM
23660 * doc/extend.texi: Warn about unsupported usage of altivec
23661 builtins.
ae4b4a02 23662
c13db5d1
JM
23663 * config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
23664 (altivec_predicate_*): New.
ae4b4a02 23665
c13db5d1
JM
23666 * config/rs6000/altivec.h: Rewrite predicates to use new builtins.
23667 Add C++ version of vec_*() functions.
ae4b4a02 23668
c13db5d1
JM
23669 * config/rs6000/rs6000.c (bdesc_altivec_preds): New.
23670 (bdesc_2arg): Remove altivec predicates.
23671 (altivec_expand_builtin): Handle predicates.
23672 (altivec_init_builtins): Handle predicates.
23673 (altivec_expand_predicate_builtin): New.
ae4b4a02 23674
f6bcf44c
JDA
236752002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23676
23677 * pa.c (DO_FRAME_NOTES): Move forward.
23678 (store_reg): Revise handling of frame notes.
23679 (load_reg): Likewise.
23680 (set_reg_plus_d): Likewise.
23681 (hppa_expand_prologue): Likewise.
23682 (hppa_expand_epilogue): Likewise.
b137f9fc 23683
703b0080
JDA
236842002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23685
23686 * unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
23687
6f9fdf4d
JJ
236882002-02-04 Jakub Jelinek <jakub@redhat.com>
23689
23690 PR c/4475, c++/3780:
23691 * c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
23692 * c-common.h (SWITCH_TYPE): Define.
23693 * c-typeck.c (c_start_case): Set SWITCH_TYPE.
23694 * stmt.c (all_cases_count): Set lastval to thisval at end of loop.
23695 Rename spareness variable to sparseness.
23696 (expand_end_case_type): Renamed from expand_end_case, use orig_type
23697 if non-NULL instead of TREE_TYPE (orig_index).
23698 * tree.h (expand_end_case_type): Renamed from expand_end_case.
23699 (expand_end_case): Define using expand_end_case_type.
23700 * c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
23701 to expand_end_case_type.
23702 * doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
23703
79109502
JDA
237042002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23705
23706 * pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
23707 (BIGGEST_ALIGNMENT): Change to 128.
23708
e62a5987
JDA
237092002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23710
23711 * pa32-linux.h (LINK_COMMAND_SPEC): Define.
23712
219f24a4
JDA
237132002-02-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
23714
23715 * pa.md (call_internal_reg_64bit): Remove unused variable.
23716
3cb66fd7
NC
237172002-02-04 Nick Clifton <nickc@cambridge.redhat.com>
23718
23719 * config/arm/arm.h (machine_function): Add uses_anonymous_args
23720 field.
831c4e87 23721 (SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
3cb66fd7 23722 * config/arm/arm.c (current_function_anonymous_args): Delete,
831c4e87
KC
23723 replace uses with cfun->machine->uses_anonymous_args.
23724 (arm_reorg): Do not reset uses_anonymous_args.
3cb66fd7
NC
23725
23726 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
23727 any geenral register.
b137f9fc 23728
5d5603e2 237292001-02-04 Bernd Schmidt <bernds@redhat.com>s
24c545ff
BS
23730
23731 * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
23732 the entry block.
23733
563c12b0
RH
237342002-02-04 Richard Henderson <rth@redhat.com>
23735
23736 * combine.c (force_to_mode): Remove STACK_BIAS code.
23737 (nonzero_bits): Likewise. Replace sp/fp special case with
23738 REGNO_POINTER_ALIGN.
23739
23740 * config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
23741 (HARD_FRAME_POINTER_REGNUM): New.
23742 (FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
23743 (FIXED_REGS, CALL_USED_REGS): Update.
23744 (REG_ALLOC_ORDER, REGISTER_NAMES): Update.
23745 (CONDITIONAL_REGISTER_USAGE): Update for HFP.
23746 (HARD_REGNO_NREGS): Update for SFP.
23747 (STACK_POINTER_OFFSET): Include bias here ...
23748 (FIRST_PARM_OFFSET): ... not here.
23749 (STACK_BIAS): Remove.
23750 (INIT_EXPANDERS): New.
23751 (STARTING_FRAME_OFFSET): Do not include bias.
23752 (ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
23753 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
23754 (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
23755 * config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
23756 * config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
23757 * config/sparc/sparc.c (mem_min_alignment): Update for HFP.
23758 (sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
23759 (MUST_SAVE_REGISTER): Likewise.
23760 (sparc_flat_function_prologue): Likewise.
23761 (sparc_flat_function_epilogue): Likewise.
23762 (HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
23763 (sparc_init_modes): SFP is GENERAL_REGS.
23764 (sparc_builtin_saveregs): SFP does not have bias applied.
23765
14691f8d
RH
237662002-02-04 Richard Henderson <rth@redhat.com>
23767
23768 * config/alpha/alpha.c (current_function_is_thunk): Don't check
23769 current_function_is_thunk.
23770 (alpha_sa_mask): Distinguish between current_function_is_thunk
23771 called from ASM_OUTPUT_MI_THUNK and not.
23772 (alpha_does_function_need_gp): Thunks always need gp.
23773 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
23774 (alpha_output_mi_thunk_osf): New.
23775 * config/alpha/alpha-protos.h: Update.
23776 * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
23777
af702de8
RS
237782002-02-04 Richard Sandiford <rsandifo@redhat.com>
23779
23780 * c-typeck.c (build_c_cast): Warn when qualifiers are added to
23781 function types, not when they're taken away.
23782
5b1cacd8
JL
23783Mon Feb 4 09:05:58 2002 Jeffrey A Law (law@redhat.com)
23784
23785 * cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
23786 CODE_LABEL and jump table when replacing a table jump with a
23787 simple jump.
23788
f3e9edff
UW
237892002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
23790
23791 * config/s390/s390-protos.h (legitimize_la_operand,
23792 s390_secondary_input_reload_class, s390_plus_operand,
23793 s390_expand_plus_operand): Add prototypes.
23794
23795 config/s390/s390.c (s390_secondary_input_reload_class,
23796 s390_plus_operand, s390_expand_plus_operand): New functions.
23797
23798 (struct s390_address): New member 'pointer'.
23799 (s390_decompose_address): Compute it.
23800 (legitimate_la_operand_p): Use it.
23801 (legitimize_la_operand): New function.
23802 (movti, movdi, movdf splitters): Call it.
23803
23804 config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
23805 (PREDICATE_CODES): Add s390_plus_operand.
23806
23807 config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
23808 (la_ccclobber): Allow GENERAL_REGS as output operand.
23809
23810 (reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
23811 *reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
23812 (*la_64, *la_31, reload_indi, reload_insi): ... these.
23813
3c9a08ec
UW
238142002-02-04 Ulrich Weigand <uweigand@de.ibm.com>
23815
23816 * gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
23817 register names for regular asm () construct.
23818
ac300a45
JJ
238192002-02-04 Jakub Jelinek <jakub@redhat.com>
23820
23821 * config/i386/i386.md (movsf_1): Allow moving SF values in MMX
23822 registers.
23823
fa852403
JJ
238242002-02-04 Jakub Jelinek <jakub@redhat.com>
23825
23826 * combine.c (recog_for_combine): Create a dummy insn with PATTERN
23827 pat for recog.
23828
fecaac37
HP
238292002-02-04 Hartmut Penner <hpenner@de.ibm.com>
23830
831c4e87
KC
23831 * varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
23832 constant pool to be identical by string address and index.
fecaac37 23833
10c45943
AG
238342002-02-04 Anthony Green <green@redhat.com>
23835
23836 * output.h (SECTION_OVERRIDE): Define.
23837 * varasm.c (named_section): Obey SECTION_OVERRIDE.
23838
69474c3c
JT
238392002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
23840
23841 * config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
23842 by existing arm*-*-netbsd* (a.out) target.
23843 (ns32k-*-netbsdelf*): Likewise.
23844 (sparc-*-netbsdelf*): Likewise.
23845 (vax-*-netbsdelf*): Likewise.
23846
939a46f6 238472002-02-03 Danny Smith <dannysmith@users.sourceforge.net>
3b56934f
CF
23848
23849 * gthr-win32.h: Protect against conflicting typedef for BOOL in windows
23850 headers and libobjc headers.
23851
238522002-02-03 Mumit Khan <khan@nanotech.wisc.edu>
23853
23854 * gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
23855 (_mingw.h): Remove duplicate include.
23856
2fd95d71
JT
238572002-02-03 Jason Thorpe <thorpej@wasabisystems.com>
23858
23859 * config.gcc: Set cpu_type to m68k for 68010, as well.
23860 (m68010-*-netbsdelf*): New...
23861 (m68k*-*-netbsdelf*): ...targets.
23862 * config/m68k/netbsd-elf.h: New file.
23863
0ea6f6a0
KH
238642002-02-02 Kazu Hirata <kazu@hxi.com>
23865
23866 * config/h8300/h8300.c (hand_list): Move inside function_arg.
23867
cbf1b2da
KH
238682002-02-02 Kazu Hirata <kazu@hxi.com>
23869
23870 * config/h8300/h8300.c (h8_push_ops): Move inside
23871 h8300_init_once.
23872 (h8_pop_ops): Likewise.
23873 (h8_move_ops): Likewise.
23874
0869f126
KH
238752002-02-02 Kazu Hirata <kazu@hxi.com>
23876
23877 * config/h8300/h8300.c (os_task): Make it static.
23878 (monitor): Likewise.
23879 (pragma_saveall): Likewise.
23880
90e65b70
AO
238812002-02-02 Alexandre Oliva <aoliva@redhat.com>
23882
23883 * config/sh/sh.md (ic_invalidate_line): Make sure the immediate
23884 constant is a valid sign-extension for Pmode.
23885
9cbcd983
KH
238862002-02-02 Kazu Hirata <kazu@hxi.com>
23887
23888 * config/h8300/h8300.c: Fix formatting.
23889
7a27efc4
KH
238902002-02-02 Kazu Hirata <kazu@hxi.com>
23891
23892 * config/h8300/h8300.md: Fix formatting.
23893
54175a44
KH
238942002-02-02 Kazu Hirata <kazu@hxi.com>
23895
23896 * config/h8300/h8300.md (one_cmpl patterns): Tighten the
23897 predicates of operands[1]. Split the patterns for each
23898 processor variant.
23899
eceb1755
KH
239002002-02-02 Kazu Hirata <kazu@hxi.com>
23901
23902 * config/h8300/h8300.md (xor patterns): Tighten the predicates
23903 of operands[1] to register_operand.
23904
0fef3fd0
NB
239052002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
23906
23907 * cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
23908 * cpphash.c (_cpp_init_hashtable): Similarly.
23909 * cppinit.c (cpp_create_reader): Default the signed_char flag.
23910 (init_builtins): Define __CHAR_UNSIGNED__ appropriately.
23911 (COMMAND_LINE_OPTIONS): Recognise -f{un,}signed-char.
23912 (cpp_handle_option): Handle the new options.
23913 * cpplex.c (cpp_interpret_charconst): Use new flag.
23914 * cpplib.h (struct cpp_options): New member signed_char.
23915 * gcc.c (cpp_unique_options): Remove %c spec and documentation.
23916 (cpp_options): Handle -fsigned-char and -funsigned-char.
23917 (static_specs): Remove signed_char_spec.
23918 (do_spec1): Don't handle %c.
23919 * system.h: Poison SIGNED_CHAR_SPEC.
23920 * tradcif.y (yylex): Use flag_signed_char.
23921 * tradcpp.h (flag_signed_char): New.
23922 * tradcpp.c (flag_signed_char): New.
23923 (main): Handle new command-line options.
23924 (initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
23925config:
23926 * alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
23927 * avr/avr.h: Remove old comments.
23928 * i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
23929 (CC1_SPEC): Pass -fsigned-char if -mic*.
23930 (SIGNED_CHAR_SPEC): Remove.
23931doc:
23932 * tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
23933
0617ed52
EC
239342002-02-01 Eric Christopher <echristo@redhat.com>
23935
23936 From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
23937 * config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
23938 * config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
23939 (ASM_OUTPUT_REG_POP): Ditto.
23940
dfd48d76
NB
239412002-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
23942
23943 * c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
23944 patch.
23945
4a23409e
JJ
239462002-02-02 Jakub Jelinek <jakub@redhat.com>
23947
23948 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
23949
d3c52658
JJ
239502002-02-02 Jakub Jelinek <jakub@redhat.com>
23951
23952 PR c/5304:
23953 * expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
23954 unconditionally.
23955
02c5a3bd
JJ
239562002-02-01 Janis Johnson <janis187@us.ibm.com>
23957
23958 * cfganal.c: Include tm_p.h.
23959 (keep_with_call_p): Fix the test that determines if a register holds
23960 the return value of a call.
23961
3968de80
DD
239622002-02-01 DJ Delorie <dj@redhat.com>
23963
23964 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
23965 we are given conflicting registers, switch to the other one we
23966 had allocated for us.
23967 * config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
23968 as TImode so we know when the "other" register is available.
23969
1338ea6c
DB
239702002-02-01 David O'Brien <obrien@FreeBSD.org>
23971
23972 * config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
23973 sparc/sparc_bi.h.
23974
f015be23
JJ
239752002-02-01 Janis Johnson <janis187@us.ibm.com>
23976
23977 * cfganal.c (keep_with_call_p): New function.
23978 (flow_call_edges_add): Prevent splitting a block between a call and
23979 a single-set instruction that should be kept in the same block.
23980
63708ffc
CR
239812002-02-01 Craig Rodrigues <rodrigc@gcc.gnu.org>
23982
23983 * doc/install.texi (avr): Update outdated URL.
23984
5ee4950e
AH
239852002-01-30 Andrew Haley <aph@cambridge.redhat.com>
23986
831c4e87
KC
23987 * config/stormy16/stormy16.md (pushqi): New.
23988 (popqi): New.
23989 (pushhi): New.
23990 (pophi): New.
23991 (movhi): Remove stack operands.
23992 (movqi): Likewise.
23993 * config/stormy16/stormy16.h (PREDICATE_CODES): Add
23994 nonimmediate_nonstack_operand.
23995 * config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
23996 New.
23997 * config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
23998 New.
5ee4950e 23999
b88c0704
JM
240002002-01-31 Jason Merrill <jason@redhat.com>
24001
24002 * Makefile.in (c-parse.c): Handle .output file.
24003 * objc/Make-lang.in (objc-parse.c): Likewise.
24004
ac282977
AO
240052002-02-01 Alexandre Oliva <aoliva@redhat.com>
24006
24007 * config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
24008 the -me[lb] option is given. Don't output the default flag
24009 twice.
24010
bebc7e8b
ZW
240112002-01-31 Zack Weinberg <zack@codesourcery.com>
24012
24013 * c-lex.c (yyparse): Call debug_hooks->start_source_file for
24014 the primary source file; this has not been done yet.
24015 * c-decl.c (c_expand_body): Reset input_filename from
24016 DECL_SOURCE_FILE (fndecl) before calling init_function_start.
24017
5809eb5f
KH
240182002-01-31 Kazu Hirata <kazu@hxi.com>
24019
24020 * rtlanal.c (subreg_regno_offset): Do not use
24021 SUBREG_REGNO_OFFSET.
24022 * system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
24023 * doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
24024
8512bbd7
JM
240252002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
24026
24027 * gccbug.in: Follow GNU Coding Standards for --version. Use GCC
24028 version rather than GNATS version in --version output.
24029
74cb3cc8
RS
240302002-01-31 Richard Sandiford <rsandifo@redhat.com>
24031
24032 * ifcvt.c (noce_process_if_block): Make a copy of the destination
24033 when copying back from a temporary.
24034
874b5b14
RH
240352002-01-30 Richard Henderson <rth@redhat.com>
24036
24037 * ifcvt.c (dead_or_predicable): Handling merging when other_bb
24038 and new_dest are the same.
24039
e803a64b
RH
240402002-01-30 Richard Henderson <rth@redhat.com>
24041
89cf7be5 24042 PR opt/5076
e803a64b
RH
24043 * rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
24044 * rtl.c (note_insn_name): Update.
24045 * emit-rtl.c (remove_unnecessary_notes): Kill it.
24046 * stmt.c (expand_end_loop): Kill jump opt code. Use LOOP_END_TOP_COND
24047 to perform loop rotation.
24048 (expand_exit_loop_top_cond): New.
24049 * tree.h (expand_exit_loop_top_cond): Declare it.
24050 * c-semantics.c (genrtl_while_stmt): Use it.
24051 (genrtl_for_stmt): Likewise.
24052
0b51254d
AO
240532002-01-30 Alexandre Oliva <aoliva@redhat.com>
24054
24055 * config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
24056 arguments to 64-bit boundaries on 64-bit ABIs.
24057
71cef493
SE
240582002-01-30 Steve Ellcey <sje@cup.hp.com>
24059
24060 * loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
24061
6169e5fd
JM
240622002-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
24063
24064 * c-decl.c (grokdeclarator): Handle type being a typedef for an
24065 invalid type.
24066
86f808dc
DB
240672002-01-30 David O'Brien <obrien@FreeBSD.org>
24068
24069 * config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
24070 * config/sparc/sparc_bi.h: Remove file.
24071 * config/sparc/biarch64.h: New file (rename of sparc_bi.h).
24072
5748ebeb
RH
240732002-01-30 Richard Henderson <rth@redhat.com>
24074
24075 * sched-deps.c (sched_analyze): Make a call read the frame pointer.
24076
20d32cc2
ZW
240772002-01-30 Zack Weinberg <zack@codesourcery.com>
24078
24079 * expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
24080
b88c0704 240812002-01-30 Jason Merrill <jason@redhat.com>
6bb28965
JM
24082
24083 * dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
24084 (output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
24085 (reg_save): Use DW_CFA_offset_extended_sf instead.
24086
24087 * dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
24088
37060e78
JJ
240892002-01-29 Jakub Jelinek <jakub@redhat.com>
24090
24091 * cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
24092 in cselib_lookup.
24093
d18dba68
AH
240942002-01-29 Aldy Hernandez <aldyh@redhat.com>
24095
bebc7e8b
ZW
24096 * rs6000.md ("*call_value_local32"): Remove constraints.
24097 ("*call_value_local64"): Same.
24098 ("*call_value_indirect_nonlocal_aix32"): Same.
24099 ("*call_value_nonlocal_aix32"): Same.
24100 ("*call_value_indirect_nonlocal_aix64"): Same.
24101 ("*call_value_nonlocal_aix64"): Same.
24102 ("*call_value_nonlocal_sysv"): Same.
d18dba68 24103
80a8aac6
RH
241042002-01-29 Richard Henderson <rth@redhat.com>
24105
24106 * config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
24107
12beba6f
RH
241082002-01-29 Richard Henderson <rth@redhat.com>
24109
24110 * expr.c (force_operand): Ignore flag_pic for detecting pic
24111 address loads.
24112 * regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
24113 for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
24114 * resource.c (mark_target_live_regs): Use regs_invalidated_by_call
24115 instead of open-coded loop.
24116 * doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
24117 be fixed when in use.
24118
2583081e
RH
241192002-01-29 Richard Henderson <rth@redhat.com>
24120
24121 * sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
24122 * sched-rgn.c (propagate_deps): Update them.
24123 * sched-deps.c (sched_analyze_insn): Update them. Flush the
24124 clobbers list when either gets too long.
24125
3b8d200e
JJ
241262002-01-29 Jakub Jelinek <jakub@redhat.com>
24127
24128 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
24129 and INDEX_REGS the same as GENERAL_REGS.
24130 (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
24131
2d3115eb
NB
241322002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
24133
bebc7e8b 24134 * tree.c (build_nonstandard_integer_type): Correct prototype.
2d3115eb 24135
ecbe845e
UW
241362002-01-29 Ulrich Weigand <uweigand@de.ibm.com>
24137
bebc7e8b 24138 * config/s390/s390.md (movstrsico, movstrdix_64,
ecbe845e 24139 movstrsix_31): Remove, replace by ...
bebc7e8b 24140 (movstrdi_short, movstrsi_short, movstrdi_long,
ecbe845e
UW
24141 movstrsi_long): ... these. New.
24142 (movstrdi, movstrsi): Adapt.
24143
24144 (rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
bebc7e8b 24145 ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
ecbe845e
UW
24146 Remove unnecessary CC clobber.
24147 (*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
24148 *ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
24149
24150 (divmoddi4): Don't partially initialize TImode register.
24151
0b32fca5
GK
241522002-01-29 Geoffrey Keating <geoffk@redhat.com>
24153
24154 * doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
24155
08ef5437
RH
241562002-01-29 Richard Henderson <rth@redhat.com>
24157
24158 * flow.c (print_rtl_and_abort): Remove.
24159 (print_rtl_and_abort_fcn): Remove.
24160 (verify_local_live_at_start): Use dump_bb instead.
24161 (verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
24162 (verify_wide_reg_1): Return 2 on mode test failure.
24163
8469e54e
NB
241642002-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
24165
24166 PR c/3325, c/3326, c/2511, c/3347
24167 * c-decl.c (enum_decl_context): Remove BITFIELD.
24168 (grokdeclarator): Take bitfield width as an input.
24169 Ensure bitfields are given the correct type. Perform
24170 bitfield width validation with build_bitfield_integer_type
24171 rather than waiting for finish_struct.
24172 (grok_typename, grok_typename_in_parm_context, start_decl,
24173 push_parmdecl, grokfield, start_function): Update calls to
24174 grokdeclarator.
24175 (build_bitfield_integer_type): New function.
24176 (finish_struct): Move bitfield validation to grokdeclarator
bebc7e8b 24177 and build_bitfield_integer_type.
8469e54e
NB
24178 * tree.c (build_nonstandard_integer_type): New function.
24179 * tree.h (build_nonstandard_integer_type): New prototype.
24180objc:
24181 * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
24182
ffdeea47
JJ
241832002-01-29 Jakub Jelinek <jakub@redhat.com>
24184
24185 PR other/1502:
24186 * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
24187 don't ignore unrecognized -W* options.
24188 (cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
24189 * cpplib.h (cpp_handle_option): Adjust prototype.
24190 * c-decl.c (c_decode_options): Pass 0 as last argument to
24191 cpp_handle_option.
24192
24193 PR c/2896:
24194 * gcc.c (cpp_unique_options): Split from cpp_options.
24195 (cpp_options): Source cpp_unique_options.
24196 (default_compilers): Use cpp_unique_options instead of cpp_options
24197 when used together with cc1_options.
24198 (static_specs): Add cpp_unique_options.
24199 * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
24200 when used together with cc1_options.
24201
1a275226
KH
242022002-01-29 Kazu Hirata <kazu@hxi.com>
24203
24204 * config/h8300/h8300-protos.h: Update the prototype of
24205 output_a_shift.
24206 * config/h8300/h8300.c (output_a_shift): Remove an unused
24207 argument 'insn'. Remove redundant code.
24208 * config/h8300/h8300.md: Adust to the new prototype of
24209 output_a_shift.
24210
a11d9dfc
KH
242112002-01-29 Kazu Hirata <kazu@hxi.com>
24212
24213 * config/h8300/h8300-protos.h: Update the prototypes of
24214 emit_a_rotate and expand_a_rotate.
24215 * config/h8300/h8300.c (emit_a_rotate): Change the type of the
24216 first argument to 'enum rtx_code'.
24217 (expand_a_rotate): Likewise.
24218
871f73e3
KH
242192002-01-28 Kazu Hirata <kazu@hxi.com>
24220
24221 * config/h8300/h8300-protos.h: Update the prototype of
24222 output_simode_bld.
24223 * config/h8300/h8300.c (output_simode_bld): Remove an argumen
24224 'log2'.
24225 * config/h8300/h8300.md: Adjust to the new prototype.
24226
5fc4b751
KH
242272002-01-28 Kazu Hirata <kazu@hxi.com>
24228
24229 * conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
24230 redundant code.
24231
2d67bd7b
JDA
242322002-01-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
24233
24234 * emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
24235 is a fixed register before returning pic_offset_table_rtx.
24236 * loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
24237 when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
24238
5a852b3e
JM
242392002-01-28 Jason Merrill <jason@redhat.com>
24240
6bb28965 24241 * dwarf2.h: Sync with src version.
5a852b3e 24242
3bca17dd
PK
242432002-01-28 Paul Koning <pkoning@equallogic.com>
24244
24245 * builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
24246 BT_FN_VOID_PTR_VAR.
24247 * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
24248 * doc/extend.texi (__builtin_prefetch): Update documentation:
24249 first argument is now const void ptr.
24250
7dc3f8c0
KH
242512002-01-28 Kazu Hirata <kazu@hxi.com>
24252
24253 * config/h8300/h8300-protos.h: Remove an unused prototype.
24254
e83cb5f0
RZ
242552002-01-28 Roman Zippel <zippel@linux-m68k.org>
24256
24257 * toplev.c (lang_independent_init): Round up identifier size.
24258
5721cd84
RE
242592002-01-28 Richard Earnshaw <rearnsha@arm.com>
24260
24261 * config.gcc: Revert previous change.
24262
d534119e
AP
242632002-01-28 Andris Pavenis <pavenis@latnet.lv>
24264
24265 * config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
24266
5a721dab
RE
242672002-01-28 Richard Earnshaw <rearnsha@arm.com>
24268
24269 * config.gcc (*-*-netbsdelf*): Set up generic parameters.
24270 (*-*-netbsd*): Always use collect2. Remove collect2 settings from
24271 other non-elf netbsd config frags.
24272 * config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
24273 collect2 will does that.
24274 * config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
24275 shared-lib frobbing will work.
24276
da1775d6
KH
242772002-01-28 Kazu Hirata <kazu@hxi.com>
24278
24279 * config/h8300/h8300.h: Fix formatting.
24280 * config/h8300/h8300.md: Likewise.
24281
8f2e963b
LR
242822002-01-28 Loren J. Rittle <ljrittle@acm.org>
24283
24284 * fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
24285 the old, removed AAA_standards fix.
24286 * fixinc/fixincl.x: Rebuilt.
24287
fdae5767
HPN
242882002-01-28 Hans-Peter Nilsson <hp@axis.com>
24289
24290 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
24291 atexit call in crtbegin, hooked in after call to frame_dummy;
24292 register EH before registering __fini__start.
24293
2a2ecb63
AH
242942002-01-28 Aldy Hernandez <aldyh@redhat.com>
24295
24296 * config/rs6000/altivec.h: Remove spurious semicolons.
24297
8ed43adf
KH
242982002-01-27 Kazu Hirata <kazu@hxi.com>
24299
24300 * config/h8300/h8300.md: Replace dead bit extraction patterns
24301 with ones that work.
24302
917afb0c
RK
24303Sun Jan 27 13:23:40 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24304
24305 * emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
24306 if not STRICT_ALIGNMENT.
24307 * rtl.h (MEM_ALIGN): Likewise.
24308
f70a54cb
CR
243092002-01-27 Craig Rodrigues <rodrigc@gcc.gnu.org>
24310
24311 * doc/invoke.texi (-fdump-translation-unit): Revert this
24312 patch: 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
24313
d8fd4914
KH
243142002-01-27 Kazu Hirata <kazu@hxi.com>
24315
24316 * config/h8300/h8300.md (define_constants): New.
24317 (anonymous patterns) Use defined constants appropriately.
24318
15e0e275
KH
243192002-01-27 Kazu Hirata <kazu@hxi.com>
24320
24321 * config/h8300/h8300.c (function_arg): Remove redundant code.
24322
37a0f8a5
RH
243232002-01-26 Richard Henderson <rth@redhat.com>
24324
24325 * sched-deps.c (reg_pending_uses_head): New.
24326 (reg_pending_barrier): Rename from reg_pending_sets_all.
24327 (find_insn_list): Don't mark inline.
24328 (find_insn_mem_list): Remove.
24329 (add_dependence_list, add_dependence_list_and_free): New.
24330 (flush_pending_lists): Replace only_write param with separate
24331 for_read and for_write parameters. Update all callers. Use
24332 add_dependence_list_and_free.
24333 (sched_analyze_1): Do not add reg dependencies here; just set
24334 the pending bits. Use add_dependence_list.
24335 (sched_analyze_2): Likewise.
24336 (sched_analyze_insn): Replace schedule_barrier_found with
24337 reg_pending_barrier. Add all dependencies for pending reg
24338 uses, sets, and clobbers.
24339 (sched_analyze): Don't add reg dependencies for calls, just
24340 set pending bits. Use regs_invalidated_by_call. Treat
24341 sched_before_next_call as a normal list, not a fake insn.
24342 (init_deps): No funny init for sched_before_next_call.
24343 (free_deps): Free pending mems lists. Don't zero reg_last.
24344 (init_deps_global): Init reg_pending_uses.
24345 (finish_deps_global): Free it.
24346 * sched-int.h (deps): Make in_post_call_group_p boolean. Update docs.
24347 (find_insn_mem_list): Remove.
24348 * sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
24349 (propagate_deps): Use them. Zero temp mem lists.
24350
cea3bd3e
RH
243512002-01-26 Richard Henderson <rth@redhat.com>
24352
24353 * Makefile.in (CRTSTUFF_CFLAGS): New.
24354 (crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
24355 * config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
24356 crtstuff.c instead of alpha assembly version.
24357 * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
24358 entire dummy function sequence. Use FORCE_CODE_SECTION_ALIGN
24359 not FORCE_{INIT,FINI}_SECTION_ALIGN.
24360 (__do_global_dtors_aux): Mark used.
24361 (frame_dummy, __do_global_ctors_aux): Mark used.
24362 (fini_dummy, init_dummy): Remove.
24363
24364 * config/alpha/crtbegin.asm: Remove file.
24365 * config/alpha/crtend.asm: Remove file.
24366 * config/alpha/t-crtbe: Remove file.
24367 * config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
24368 (LINK_EH_SPEC): New.
24369
24370 * config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
24371 FORCE_INIT_SECTION_ALIGN hack. Register __fini_start before
24372 calling constructors.
24373 * config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
24374
24375 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
24376 * config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
24377 CRT_END_INIT_DUMMY hack.
24378 * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
24379 FORCE_{INIT,FINI}_SECTION_ALIGN.
24380
24381 * config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
24382 FORCE_{INIT,FINI}_SECTION_ALIGN.
24383
24384 * config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
24385 invocation sequence.
24386 * config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
24387
24388 * doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
24389 (FORCE_CODE_SECTION_ALIGN): New.
24390
60ffa0e5
RH
243912002-01-26 Richard Henderson <rth@redhat.com>
24392
24393 * config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
24394
61334ebe
RH
243952002-01-26 Richard Henderson <rth@redhat.com>
24396
24397 * config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
24398 (alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
24399
1d788fb6
KH
244002002-01-26 Kazu Hirata <kazu@hxi.com>
24401
24402 * config/h8300/h8300.md: Remove bit extraction patterns that
24403 cannot be triggered.
24404 Restrict each bit extraction pattern to a variant on which the
24405 pattern is tested.
24406
87611f88
JM
244072002-01-26 Joseph S. Myers <jsm28@cam.ac.uk>
24408
24409 * doc/include/texinfo.tex: Update to version 2002-01-04.07.
24410
cd74ec59
KH
244112002-01-26 Kazu Hirata <kazu@hxi.com>
24412
24413 * config/h8300/h8300.md: Remove bit test patterns that cannot
24414 be triggered.
24415 Restrict each bit test pattern to a variant on which the
24416 pattern is tested.
24417
93051e0f
KG
244182002-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
24419
24420 * builtins.c (expand_builtin_strncat): Remove redundant check for
24421 INTEGER_CST.
24422
216c995f
DB
244232002-01-25 David O'Brien <obrien@FreeBSD.org>
24424
24425 * config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
24426 default setting.
24427 * config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
24428 existing setting.
24429
33c7f925
GK
244302002-01-25 Geoffrey Keating <geoffk@redhat.com>
24431
24432 * dbxout.c (dbxout_init): Use assemble_name rather than just
24433 stripping off the first character.
24434 (dbxout_source_file): Likewise.
24435
6cd444b4
DD
244362002-01-25 DJ Delorie <dj@redhat.com>
24437
24438 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
24439 using rtx_equal_p, not by comparing pointers.
24440
751551d5
SE
244412002-01-25 Steve Ellcey <sje@cup.hp.com>
24442
24443 * emit-rtl.c (gen_rtx_REG): Always return the same rtx
24444 for PIC_OFFSET_TABLE_REGNUM.
24445 (init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
24446
e564e618
DB
244472002-01-25 David O'Brien <obrien@FreeBSD.org>
24448
24449 * config.gcc (x86_64-*-freebsd*): New target.
24450 (x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
24451 value.
24452 (i[34567]86-*-freebsd*): Don't include svr4.h.
24453 * config/i386/freebsd64.h: New file.
24454
ff3aaf17
DR
244552002-01-25 Douglas B Rupp <rupp@gnat.com>
24456
4857d29d
DR
24457 * config/alpha/x-vms (version): Make static.
24458
24459 * config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
24460 in previous checkin.
24461
ff3aaf17
DR
24462 * Makefile.in (install-headers-cp): New target.
24463 * config.gcc (alpha-dec-*vms*): Install headers with
24464 install-headers-cp
24465
48d79c43
JH
24466Fri Jan 25 22:42:49 CET 2002 Jan Hubicka <jh@suse.cz>
24467
24468 * unroll.c (unroll_loop): Lower final_value to nonmemory operand;
24469 avoid it's copies.
24470
995b5904
RK
24471Fri Jan 25 08:26:19 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24472
24473 * builtins.c (expand_builtin_strncpy): Use integer_zerop instead
24474 of compare_tree_int.
24475 (expand_builtin_strncat): Likewise.
24476 * c-decl.c (finish_struct): Use tree_low_cst.
24477 * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
24478 * tree.c (compare_tree_int): Likewise.
24479
75eefe3f
UW
244802002-01-25 Ulrich Weigand <uweigand@de.ibm.com>
24481
24482 * reload1.c (eliminate_regs_in_insn): Recognize frame pointer
24483 adjustments even if they are implemented by more than two insns.
24484
5a133afd
JH
24485Fri Jan 25 20:43:56 CET 2002 Jan Hubicka <jh@suse.cz>
24486
995b5904 24487 * df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
5a133afd
JH
24488 * df.h (struct ref): Kill B.
24489 (DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
24490
24491 * basic-block.h (PROP_EQUAL_NOTES): New flag.
24492 * flow.c (propagate_one_insn): Use it.
24493 (mark_used_regs): Handle NIL.
24494
ead39bdf 244952002-01-25 Geoffrey Keating <geoffk@redhat.com>
3d8dd3c0
GK
24496
24497 * config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
24498 to help folding.
24499
01a2ccd0
DE
245002002-01-25 David Edelsohn <edelsohn@gnu.org>
24501
24502 * rs6000.md (prefetch): Make address V4SI mode so that the address
24503 is restricted to legitimate form for instruction.
24504
fd29f6ea
BW
245052002-01-25 Bob Wilson <bob.wilson@acm.org>
24506
24507 * doc/install.texi (xtensa-*-elf): New target.
24508 (xtensa-*-linux*): New target.
24509 * doc/contrib.texi: Add myself.
24510
55492b32
NC
245112002-01-25 Nick Clifton <nickc@cambridge.redhat.com>
24512
24513 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
24514 purpose register to hold an SImode (or smaller) value.
24515
72c7c913
JJ
245162002-01-25 Jakub Jelinek <jakub@redhat.com>
24517
24518 * unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
24519 registry only.
24520 * crtstuff.c: Likewise.
24521
c4df4ceb
KH
245222002-01-25 Kazu Hirata <kazu@hxi.com>
24523
24524 * config/h8300/h8300.md (negation patterns): Tighten
24525 predicates to register_operand.
24526
70e531f5
AH
245272002-01-24 Aldy Hernandez <aldyh@redhat.com>
24528
3bca17dd
PK
24529 * loop.c (emit_prefetch_instructions): Use the prefetch insn's
24530 mode, not Pmode.
70e531f5 24531
3bca17dd 24532 * builtins.c (expand_builtin_prefetch): Same.
70e531f5 24533
a4f76ef9
AO
245342002-01-24 Alexandre Oliva <aoliva@redhat.com>
24535
24536 * config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
24537 modes.
24538
9bf25b09
KH
245392002-01-24 Kazu Hirata <kazu@hxi.com>
24540
24541 * config/h8300/h8300.c (print_operand): Remove support for
24542 operand character 'A'.
24543 * config/h8300/h8300.md (three anonymous patterns): Replace
24544 operand character 'A' with either 'T' or 'S'.
24545
974af6a5
KH
245462002-01-24 Kazu Hirata <kazu@hxi.com>
24547
24548 * config/h8300/h8300.c (print_operand): Remove support for
24549 operand character 'U'.
24550
7a5bb7b8
AP
245512002-01-24 Andris Pavenis <pavenis@latnet.lv>
24552
3bca17dd 24553 * config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
7a5bb7b8 24554
92a4639e
NC
245552002-01-24 Nick Clifton <nickc@cambridge.redhat.com>
24556
24557 * config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
24558 values to be assigned to the stack pointer.
24559
467cb2da
HP
245602002-01-14 Hartmut Penner <hpenner@de.ibm.com>
24561
bebc7e8b 24562 * emit_rtl.c (gen_lowpart_common): Conversion from const_int
467cb2da
HP
24563 to const_double needs to be done right for big-endian systems.
24564
3b6cb920
JM
245652002-01-24 Jason Merrill <jason@redhat.com>
24566
b08dd119 24567 PR c++/2432
3b6cb920
JM
24568 * config/sparc/sparc.md (call-jump peepholes): Pass the right insn
24569 to can_throw_internal.
24570
f3077311
RH
245712002-01-23 Richard Henderson <rth@redhat.com>
24572
24573 * fold-const.c (fold): Change UINT_MAX test to check vs precision
24574 rather than TYPE_MAX_VALUE. Fix indentation and a bogus negation.
24575
e1d71275
AO
245762002-01-24 Alexandre Oliva <aoliva@redhat.com>
24577
24578 * config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
24579 (symGOT2reg): Use them, then set as GOT value as unchanging.
24580 (symGOTOFF2reg): Set REG_EQUAL note. Use a different pseudo
24581 as a temporary, if possible.
24582 (symPLT_label2reg): Enclose (pc) in UNSPEC_PIC. Emit
24583 sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
24584
dc271dbe
KH
245852002-01-23 Kazu Hirata <kazu@hxi.com>
24586
24587 * config/h8300/h8300.md: Fix xorqi and xorqi so that they will
24588 accept to accept 0x80 as operands[2].
24589
1a9017f9
AO
245902002-01-24 Alexandre Oliva <aoliva@redhat.com>
24591
24592 * config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
24593
6932f033
RH
245942002-01-23 Richard Henderson <rth@redhat.com>
24595
24596 * config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
24597
709619d9
AH
245982002-01-23 Aldy Hernandez <aldyh@redhat.com>
24599
3bca17dd
PK
24600 * c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
24601 (parmlist_or_identifiers_1): Verify that only a parmlist follows
24602 an attribute.
709619d9 24603
3d709fd3
RH
246042002-01-23 Richard Henderson <rth@redhat.com>
24605
24606 * expr.c (move_by_pieces_1): Extend size before negation.
24607
88a446c0
RH
24608 * config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
24609 (MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
24610 (MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
24611 * config/m68k/t-m68kelf: Likewise.
24612
03984308
BW
246132002-01-23 Bob Wilson <bob.wilson@acm.org>
24614
24615 * config/xtensa/elf.h: New file.
24616 * config/xtensa/lib1funcs.asm: New file.
24617 * config/xtensa/lib2funcs.S: New file.
24618 * config/xtensa/linux.h: New file.
24619 * config/xtensa/t-xtensa: New file.
24620 * config/xtensa/xtensa-config.h: New file.
24621 * config/xtensa/xtensa-protos.h: New file.
24622 * config/xtensa/xtensa.c: New file.
24623 * config/xtensa/xtensa.h: New file.
24624 * config/xtensa/xtensa.md: New file.
24625 * config.gcc (xtensa-*-elf*): New target.
24626 (xtensa-*-linux*): New target.
24627 * cse.c (canon_hash): Compare rtx pointers instead of register
24628 numbers. This is required for the Xtensa port.
24629 * integrate.c (copy_insn_list): Handle case where the static
24630 chain is in memory and the memory address has to be copied to
24631 a register.
24632 * doc/invoke.texi (Option Summary): Add Xtensa options.
24633 (Xtensa Options): New node.
24634 * doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
24635
c3d5c3fa
ZW
246362002-01-23 Zack Weinberg <zack@codesourcery.com>
24637
a63bea75
ZW
24638 * diagnostic.c (internal_error): Do ICE suppression only
24639 when ENABLE_CHECKING is not defined.
24640
c3d5c3fa
ZW
24641 * c-typeck.c (require_complete_type): Return error_mark_node
24642 if type is error_mark_node.
24643
1398974c
JJ
246442002-01-23 Janis Johnson <janis187@us.ibm.com>
24645
24646 * toplev.c (process_options): Disable -fprefetch-loop-arrays with
24647 -Os and issue a warning.
24648
807633e5
ZW
246492002-01-23 Zack Weinberg <zack@codesourcery.com>
24650
24651 * doc/fragments.texi, doc/hostconfig.texi: Update to reflect
24652 current (lack of) need for host configuration by hand.
24653
24654 * doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
24655 references. Documentation of some target macros moved from
24656 hostconfig.texi to tm.texi.
24657
cf8002d0
WC
246582002-01-23 Will Cohen <wcohen@redhat.com>
24659
24660 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
24661 defined.
24662
d1e76310
KH
246632002-01-23 Kazu Hirata <kazu@hxi.com>
24664
24665 * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
24666 operand[3].
24667
b2115575
JM
246682002-01-23 Jason Merrill <jason@redhat.com>
24669
f893c16e
JM
24670 * tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
24671
b2115575
JM
24672 * function.c (assign_parms): Don't put args of inline functions
24673 into registers when not optimizing.
24674
6bacc7b0
NC
246752002-01-23 Nick Clifton <nickc@cambridge.redhat.com>
24676
24677 * config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
24678 (prologue_use): New pattern.
24679 * config/arm/arm.c (expand_prologue): Use gen_prologue_use in
24680 preference to gen_rtx_USE.
24681 (thumb_expand_prologue): Use gen_prologue_use in preference to
24682 gen_rtx_USE.
24683 (thumb_expand_epilogue): Use gen_prologue_use in preference to
24684 gen_rtx_USE.
24685
a415f7bc
HPN
246862002-01-23 Hans-Peter Nilsson <hp@bitrange.com>
24687
24688 * loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
24689
5372b3fb
NB
246902002-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
24691
24692 PR c/3504
24693 * doc/extend.texi: Correct documentation of __alignof__.
24694
bd571ffc
ZW
246952002-01-22 Zack Weinberg <zack@codesourcery.com>
24696
24697 * params.h: Rename arguments of DEFPARAM so that it will be
24698 recognized as a translation keyword.
24699
333c8841
AH
247002002-01-22 Aldy Hernandez <aldyh@redhat.com>
24701
bd571ffc
ZW
24702 * extend.texi: Document altivec functions.
24703 Fix N-bit adjectives in X86 builtin documentation.
333c8841 24704
38979c65
AO
247052002-01-22 Alexandre Oliva <aoliva@redhat.com>
24706
24707 * reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
24708 auto_inc_dec values.
24709
7458a9f0
RE
247102002-01-22 Richard Earnshaw <rearnsha@arm.com>
24711
24712 * config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
24713 after backslash.
24714 (ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
24715
129bd0c4
AO
247162002-01-22 Alexandre Oliva <aoliva@redhat.com>
24717
24718 * config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
24719
8b9b74a9
RH
247202002-01-22 Richard Henderson <rth@redhat.com>
24721
24722 * config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
24723 copy_insn not copy_rtx.
24724
d0c9db30
AM
247252002-01-23 Alan Modra <amodra@bigpond.net.au>
24726
24727 * combine.c (simplify_and_const_int): Don't trunc_int_for_mode
24728 "nonzero" as that might add "1" bits. Ensure "constop" is
24729 properly sign extened.
24730 (force_to_mode): Tweak for sign extended constop.
24731
1e7e480e
RH
247322002-01-22 Richard Henderson <rth@redhat.com>
24733
24734 * config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
24735 for_each_rtx instead of assuming we're already looking at the MEM.
24736 (split_small_symbolic_mem_operand): Likewise.
24737 * config/alpha/alpha.h (PREDICATE_CODES): Update.
24738 * config/alpha/alpha.md (small symbolic memory splitters): Update.
24739
247402002-01-22 Richard Henderson <rth@redhat.com>
2e271932
RH
24741
24742 * config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
24743 sequence number for the literal.
24744 (divmoddi_internal_er): Likewise.
24745
b7f2fb96
CR
247462002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
24747
24748 PR java/4972
24749 * aclocal.m4 (AM_ICONV): Put linking flags for libiconv
24750 in LIBICONV variable.
24751 * configure: Regenerated.
24752
f66a0046
KW
247532002-01-22 Krister Walfridsson <cato@df.lth.se>
24754
24755 * dependence.c (build_def_use): Remove array_idx.
24756
e3b0efd1
KW
24757 * dwarfout.c (last_filename): Remove.
24758 (output_compile_unit_die): Remove last_filename.
24759
d8086cbb
RS
247602002-01-22 Roger Sayle <roger@eyesopen.com>
24761 Richard Henderson <rth@redhat.com>
24762
24763 PR opt/3640
24764 * fold-const.c (fold): Optimize unsigned comparisons against
24765 UINT_MAX (and similar unsigned constants).
24766
e8d52ba0
JJ
247672002-01-22 Janis Johnson <janis187@us.ibm.com>
24768
d8086cbb 24769 * Makefile.in (loop.o): Depend on OPTABS_H.
1398974c 24770 * loop.c (emit_prefetch_instructions): Check the prefetch operand
d8086cbb 24771 against the predicate.
11303d15 24772
e8d52ba0
JJ
24773 PR target/5379
24774 * config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
24775 for the address operand.
24776
cc7b420e
RH
247772002-01-22 Richard Henderson <rth@redhat.com>
24778
24779 * config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
24780
816e265a
CR
247812002-01-22 Craig Rodrigues <rodrigc@gcc.gnu.org>
24782
24783 PR other/5450
cc7b420e
RH
24784 * config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
24785 preprocessor flags.
816e265a 24786
7c884404
JT
247872002-01-22 Jason Thorpe <thorpej@wasabisystems.com>
24788
24789 * config.gcc (x86_64-*-netbsd*): New target.
24790 * config/i386/netbsd64.h: New file.
24791
2b672c08
AH
247922002-01-22 Aldy Hernandez <aldyh@redhat.com>
24793
d8086cbb 24794 * regrename.c (kill_value): Fix typo.
2b672c08
AH
24795
247962002-01-22 Aldy Hernandez <aldyh@redhat.com>
24797
d8086cbb 24798 * doc/tm.texi: Remove STARTING_FRAME_PHASE.
2b672c08 24799
d8086cbb 24800 * config/rs6000/rs6000.h: Same.
2b672c08 24801
d8086cbb
RS
24802 * function.c (instantiate_virtual_regs): Remove
24803 STARTING_FRAME_PHASE.
24804 (assign_stack_local_1): Same.
24805 Calculate frame phase.
2b672c08 24806
4b02997f
NC
248072002-01-22 Nick Clifton <nickc@redhat.com>
24808
24809 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
24810 variable declaration to outer scope in order to simplify
24811 future extensions.
24812 (HARD_REGNO_MODE_OK): Replace macro body with a with a call to
24813 arm_hard_regno_mode_ok.
24814 * config/arm/arm-protos.h: Add a prototype for
24815 arm_hard_regno_mode_ok.
24816 * config/arm/arm.c (soft_df_operand): Remove now redundant
24817 check for DImode values using IP_REGNUM.
24818 (nonimmediate_soft_df_operand): Remove now redundant check for
24819 DImode values using IP_REGNUM.
24820 (arm_hard_regno_mode_ok): New function. New check: make sure
24821 that DImode values are not stored in IP_REGNUM.
c14a3a45
NC
24822
24823 * config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
24824 note with a USE.
24825 (thumb_expand_prologue): Replace REG_MAYBE_DEAD note with a USE.
24826
8a827ab2
JM
248272002-01-22 Jason Merrill <jason@redhat.com>
24828
24829 * c-semantics.c (genrtl_compound_stmt): Only check nesting
24830 consistency if this COMPOUND_STMT is scoped.
24831
cf403648
KH
248322002-01-22 Kazu Hirata <kazu@hxi.com>
24833
24834 * predict.c: Fix formatting.
24835 * print-tree.c: Likewise.
24836 * protoize.c: Likewise.
24837 * real.h: Likewise.
24838 * rtl.h: Likewise.
24839 * sbitmap.h: Likewise.
24840 * scan.c: Likewise.
24841 * sched-deps.c: Likewise.
24842 * sched-vis.c: Likewise.
24843 * sdbout.c: Likewise.
24844 * sibcall.c: Likewise.
24845 * ssa.c: Likewise.
24846 * ssa-ccp.c: Likewise.
24847 * ssa-dce.c: Likewise.
24848 * stmt.c: Likewise.
24849 * stor-layout.c: Likewise.
24850 * system.h: Likewise.
24851
aea9695c
RK
24852Tue Jan 22 06:26:33 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
24853
a8765ae7
RK
24854 * tree.c (int_fits_type_p): If bounds of a subtype are variable, see
24855 if fits in bounds of base type.
24856
aea9695c
RK
24857 * dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
24858 (loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
24859 (add_bound_info, default): If can't find a context, make a
24860 SAVE_EXPR.
24861 (dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
24862
58bf601b
HPN
248632002-01-22 Hans-Peter Nilsson <hp@axis.com>
24864
24865 * c-typeck.c (parser_build_binary_op): If result from
24866 build_binary_op is ERROR_MARK just return error_mark_node without
24867 further processing.
24868
f982f805
JT
248692002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
24870
24871 * config/netbsd.h (TARGET_HAS_F_SETLKW): define.
24872 Split a.out-specific bits into...
24873 * config/netbsd-aout.h: ...this.
24874 * config/netbsd-elf.h: New file.
24875 * config/alpha/netbsd-elf.h: Remove.
24876 * config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
24877 * config/i386/netbsd-elf.h (LIB_SPEC): Remove.
bd571ffc 24878 (STARTFILE_SPEC): Remove redundant definition.
f982f805
JT
24879 (ENDFILE_SPEC): Likewise.
24880 (LINK_SPEC): Likewise.
24881 (CPP_SPEC): Likewise.
24882 (ASM_SPEC): Likewise.
24883 (LIB_SPEC): Likewise.
24884 (SWITCH_TAKES_ARG): Likewise.
24885 (TARGET_MEM_FUNCTIONS): Likewise.
24886 (CPP_PREDEFINES): Redefine.
24887 (ASM_FINAL_SPEC): Remove redefinition.
24888 (ASM_COMMENT_START): Redefine.
24889 (FUNCTION_PROFILER): Define.
24890 (TARGET_VERSION): Redefine.
24891 Comment and formatting cleanup.
24892 * config/i386/netbsd.h: Include <netbsd-aout.h>.
24893 * config/m68k/netbsd.h: Include <netbsd-aout.h>.
24894 * config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
24895 big- or little-endian.
24896 * config/ns32k/netbsd.h: Include <netbsd-aout.h>.
24897 * config.gcc (*-*-netbsd*): Add definitions common to all
24898 NetBSD configs.
24899 (alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
24900 gnu_ld definitions. Add netbsd-elf.h to and remove
24901 alpha/netbsd-elf.h from tm_file. Remove alpha/t-crtfm from
24902 tmake_file, and don't lose previous tmake_file contents.
24903 (arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
24904 (i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
24905 gnu_ld definitions. Add netbsd-elf.h to tm_file.
24906 (mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
24907 (mipsel-*-netbsd*): Rename this to...
24908 (mips*-*-netbsd*): ...this. Add elfos.h to tm_file. Add
24909 mips/little.h to tm_file for mips*el-*.
24910 (powerpc-*-netbsd*): Remove redundant xm_defines definition.
24911 (sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
24912 (vax-*-netbsd*): Add netbsd-aout.h to tm_file.
24913
2e396476
JDA
249142002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
24915
24916 * pa-protos.h (reg_before_reload_operand): New function prototype.
24917 * pa.c (reg_before_reload_operand): New function implementation.
24918 * pa.md (decrement_and_branch_until_zero, movb): Use it. Change "!*m"
24919 contraints to "*m".
24920
3b5708e7
FS
249212002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
24922
24923 * combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
24924
85e79f96
JDA
249252002-01-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
24926
24927 * pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
24928 (MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
24929 (MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
24930 (EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
24931 (ENDFILE_SPEC): Undefine.
24932 (STARTFILE_SPEC): Redefine for PA.
24933
38abadee
FS
249342002-01-21 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
24935
24936 * config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
24937
94f1d97c
DJ
249382002-01-21 Daniel Jacobowitz <drow@mvista.com>
24939
24940 * config.gcc: Add entries to supported PowerPC --with-cpu
24941 types.
24942
0333394e
JJ
249432002-01-21 Jakub Jelinek <jakub@redhat.com>
24944
24945 * config/i386/i386.c (ix86_function_arg_regno_p): Never return
24946 true for 64-bit mode only SSE registers in 32-bit mode.
24947
e9d1b155
KH
249482002-01-21 Kazu Hirata <kazu@hxi.com>
24949
24950 * unwind-dw2.c: Fix formatting.
24951 * unwind-dw2-fde.c: Likewise.
24952 * unwind-dw2-fde.h: Likewise.
24953 * unwind-pe.h: Likewise.
24954 * varasm.c: Likewise.
24955 * varray.h: Likewise.
24956
07338cf8
HPN
249572002-01-21 Hans-Peter Nilsson <hp@bitrange.com>
24958
24959 Remove workaround for register stack overwrite bug in mmix.
24960 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
24961 support for TARGET_REG_STACK_FILL_BUG.
24962 * config/mmix/mmix.h: Remove member has_call_without_parameters.
24963 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
24964 Delete.
24965 (TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
24966 (TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
24967 -mno-reg-stack-fill-bug-workaround.
24968 * config/mmix/mmix.md ("call", "call_value"): Don't set struct
24969 machine member has_call_without_parameters.
24970 * doc/invoke.texi (Option Summary) <MMIX Options>: Remove
24971 -mreg-stack-fill-bug-workaround and
24972 -mno-reg-stack-fill-bug-workaround.
24973 (MMIX Options): Ditto.
24974
7192cbf1
KH
249752002-01-21 Kazu Hirata <kazu@hxi.com>
24976
24977 * config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
24978 as appropriate.
24979 Remove redundant code.
24980
d1552d7b
JM
249812002-01-21 Joseph S. Myers <jsm28@cam.ac.uk>
24982
24983 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
24984 config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
24985 config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
24986 config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
24987 config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
24988 out target macro definitions and non-target-specific comments
24989 mostly taken from old versions of the manual.
24990
ed168e45
KH
249912002-01-20 Kazu Hirata <kazu@hxi.com>
24992
24993 * config/h8300/h8300.h: Fix comment formatting.
24994 * config/ia64/aix.h: Likewise.
24995 * config/ia64/ia64-protos.h: Likewise.
24996 * config/ia64/ia64.c: Likewise.
24997 * config/ia64/ia64.h: Likewise.
24998 * config/ia64/ia64intrin.h: Likewise.
24999 * config/ia64/linux.h: Likewise.
25000 * config/ia64/unwind-aix.c: Likewise.
25001 * config/ia64/unwind-ia64.c: Likewise.
25002
005e3e05
KH
250032002-01-20 Kazu Hirata <kazu@hxi.com>
25004
25005 * config/h8300/h8300.c: Revise comments about shift code.
25006
64bead4c
KH
250072002-01-20 Kazu Hirata <kazu@hxi.com>
25008
25009 * config/h8300/h8300.c (function_arg): Update a comment.
25010
ed863595
KH
250112002-01-20 Kazu Hirata <kazu@hxi.com>
25012
25013 * config/h8300/h8300.md: Update the comments at the beginning
25014 of the file.
25015
5904dc87
KH
250162002-01-20 Kazu Hirata <kazu@hxi.com>
25017
25018 * config/i370/i370.c: Fix comment formatting.
25019 * config/i370/i370.h: Likewise.
25020 * config/i370/i370.md: Likewise.
25021 * config/i370/linux.h: Likewise.
25022
9702143f
RK
25023Sun Jan 20 18:40:14 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25024
cbafacd1
RK
25025 * reg-stack.c (subst_stack_regs): Properly check for deleted insn.
25026
9702143f
RK
25027 * dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
25028 (gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
25029 in incomplete case.
25030
6b6996b8
GS
250312002-01-20 Graham Stott <grahams@redhat.com>
25032
25033 * cfgloop.c (flow_loop_preheader_scan): Fix typo.
25034
eab854f6
JDA
250352002-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
25036
25037 * config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
25038
5b029315
TR
250392002-01-19 Tom Rix <trix@redhat.com>
25040
25041 * config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
25042
1d690052
AH
250432002-01-18 Aldy Hernandez <aldyh@redhat.com>
25044
d8086cbb 25045 * doc/tm.texi (STARTING_FRAME_PHASE): Document.
1d690052 25046
d8086cbb
RS
25047 * function.c (assign_stack_local_1): Adjust x_frame_offset with
25048 STARTING_FRAME_PHASE.
25049 (STARTING_FRAME_PHASE): New.
25050 (instantiate_virtual_regs): Check saneness of
25051 STARTING_FRAME_PHASE.
1d690052 25052
d8086cbb 25053 * config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
1d690052 25054
4dd8c093
AO
250552002-01-19 Alexandre Oliva <aoliva@redhat.com>
25056
25057 * config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
25058
6f2a28d7
CR
250592002-01-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
25060
25061 * doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
25062 be used for bootstrapping GCC 3.0.
25063
8763a465
KH
250642002-01-18 Kazu Hirata <kazu@hxi.com>
25065
25066 * config/h8300/h8300.md: Fix an insn length.
25067
3ef42a0c
KH
250682002-01-18 Kazu Hirata <kazu@hxi.com>
25069
25070 * bitmap.h: Fix comment formatting.
25071 * combine.c: Likewise.
25072 * cppfiles.c: Likewise.
25073 * c-pragma.h: Likewise.
25074 * c-typeck.c: Likewise.
25075 * df.c: Likewise.
25076 * dwarf2out.c: Likewise.
25077 * function.c: Likewise.
25078 * gcc.c: Likewise.
25079 * genattrtab.c: Likewise.
25080 * gthr-win32.h: Likewise.
25081 * haifa-sched.c: Likewise.
25082 * predict.c: Likewise.
25083 * rtlanal.c: Likewise.
25084 * rtl.h: Likewise.
25085 * unwind-dw2-fde.h: Likewise.
25086 * unwind-pe.h: Likewise.
25087 * vmsdbgout.c: Likewise.
25088
dd4dc3cd
RK
25089Thu Jan 17 15:28:26 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25090
25091 * attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
25092 if type_required and passed decl.
25093
5fb4cf24
AH
250942002-01-17 Aldy Hernandez <aldyh@redhat.com>
25095
d8086cbb
RS
25096 * config.gcc (cpu_type): Include altivec.h in powerpc
25097 extra_headers.
25098 Same for darwin.
5fb4cf24 25099
d8086cbb 25100 * config/rs6000/altivec.h: New.
5fb4cf24 25101
2705baf5
DE
251022002-01-17 David Edelsohn <edelsohn@gnu.org>
25103
25104 * doc/install.texi (*-ibm-aix*): Update assembler and exception
25105 handling information.
25106 * doc/trouble.texi (Interoperation): Add libstdc++ information
25107 for AIX.
25108 (Misunderstandings): Add template instantiation and static template
25109 member information for AIX.
25110
dbd680e1
JM
251112002-01-17 Jason Merrill <jason@redhat.com>
25112
821adc5e
JM
25113 * dbxout.c (dbxout_type): Support const and volatile.
25114
dbd680e1
JM
25115 * except.c (add_partial_entry): Remove backwards compatibility code.
25116 (end_protect_partials): Likewise.
25117
d0e82870
JJ
251182002-01-17 Jakub Jelinek <jakub@redhat.com>
25119
25120 * config/ia64/ia64.md (prologue_use): New.
25121 * config/ia64/ia64.c (ia64_expand_prologue): Use
25122 gen_prologue_use instead of gen_rtx_USE.
25123 (group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
25124 as CODE_FOR_pred_rel_mutex.
25125 (ia64_sched_reorder2): Likewise.
25126
f9f45c65
EC
251272002-01-16 Eric Christopher <echristo@redhat.com>
25128
25129 * config/mips/r3900.h: Reformat.
25130 (SUBTARGET_CPP_SIZE_SPEC): Remove.
25131 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
25132 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
25133 (SUBTARGET_CPP_SIZE_SPEC): Rewrite.
25134 * config/mips/t-elf: Remove mips3 multilib.
25135
c66c8b0e
L
251362002-01-16 H.J. Lu <hjl@gnu.org>
25137
25138 * config/mips/linux.h: Include "mips/abi64.h".
25139
5f083b72
L
251402002-01-16 H.J. Lu <hjl@gnu.org>
25141
25142 * config/mips/t-linux: New.
25143
25144 * config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
25145
25146 * config/mips/linux.h: Don't include "gofast.h".
25147 (INIT_SUBTARGET_OPTABS): Removed.
25148
af3c90a6
KH
251492002-01-16 Kazu Hirata <kazu@hxi.com>
25150
25151 * config/h8300/h8300-protos.h: Replace emit_a_shift with
25152 output_a_shift.
25153 * config/h8300/h8300.c: Likewise.
25154 * config/h8300/h8300.md: Likewise.
25155
a1bf0a16
KH
251562002-01-16 Kazu Hirata <kazu@hxi.com>
25157
25158 * config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
25159 spaces after an opcode name.
25160 (pushqi1_h8300hs): Likewise.
25161 (pushhi1_h8300hs): Likewise.
25162
88ab0d1c
KH
251632002-01-16 Kazu Hirata <kazu@hxi.com>
25164
25165 * doc/extend.texi: Replace "option" with "attribute"
25166 appropriately.
25167
51c561e3
JJ
251682002-01-16 Jakub Jelinek <jakub@redhat.com>
25169
25170 * config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
25171 (and:DI () (const_int -8)).
25172 (split_small_symbolic_mem_operand): Split
25173 (mem (and:DI () (const_int -8)).
25174
b8c1a6b8
JJ
251752002-01-16 Jakub Jelinek <jakub@redhat.com>
25176
25177 PR target/5309:
d8086cbb 25178 * config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
b8c1a6b8
JJ
25179 same way as TYPE_IMUL.
25180 (ultrasparc_sched_reorder): Likewise.
25181 * config/sparc/sparc.md (type): Add comment to update
25182 ultrasparc_sched_reorder when making changes.
25183
1e4e4df2
KH
251842002-01-16 Kazu Hirata <kazu@hxi.com>
25185
25186 * doc/invoke.texi: Change the dump file name of block
25187 reordering pass from 28.bbro to 29.bbro.
25188 Mention -dk option.
25189
14d920c0
JH
25190Wed Jan 16 17:54:22 CET 2002 Jan Hubicka <jh@suse.cz>
25191
25192 * i386.md (minsf splitter): Fix pasto.
25193
2e99323f
NC
251942002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
25195
25196 * config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
25197 to frame pointer initialisation instruction.
25198 (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
25199 initialisation instruction.
ab8081c1
NC
25200 (soft_df_operand): Do not accept the IP register.
25201 (nonimmediate_soft_df_operand): Do not accept the IP register.
2e99323f 25202
c4031a04
JJ
252032002-01-16 Jakub Jelinek <jakub@redhat.com>
25204
25205 PR target/5357:
25206 * config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
25207 MASK_V8 being both set.
25208
44b8152b
UW
252092002-01-16 Ulrich Weigand <uweigand@de.ibm.com>
25210
25211 * config/s390/s390.c (s390_emit_prologue): Do not emit USE
25212 insn for GOT register; add REG_MAYBE_DEAD notes instead.
25213 config/s390/s390.md (call, call_value): Add GOT register to
25214 CALL_INSN_FUNCTION_USAGE where needed.
25215 (call_exp, call_value_exp): New.
25216
1d6e90ac
NC
252172002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
25218
25219 * config/arm/arm.c: General formatting tidy up.
25220
252212002-01-16 Graham Stott <grahams@redhat.com>
60e8b9f0
GS
25222
25223 * calls.c (try_to_integrate): Use "(size_t)" intermediate
25224 cast and when casting an integer literal to "rtx" pointer.
25225 (expand_call): Likewise.
25226 * flow.c (try_pre_increment): Likewise.
25227 (find_use_as_address): Likewise.
25228 * integrate.c (expand_iline_function): Likewise.
25229 * regmove.c (try_auto_increment): Likewise.
25230
1d6e90ac 252312002-01-16 Graham Stott <grahams@redhat.com>
7b25b076
GS
25232
25233 * sched-rgn.c (passed): Use sbitmap_free.
25234 (header): Likewise.
25235 (inner): Likewise.
25236 (in_queue): Likewise.
25237 (in_stack): Likewise.
25238
31fce3c4
EC
252392002-01-15 Eric Christopher <echristo@redhat.com>
25240
25241 * flow.c (propagate_one_insn): Change to use fatal_insn.
25242
c99d986a
KH
252432002-01-15 Kazu Hirata <kazu@hxi.com>
25244
25245 * expmed.c (extract_fixed_bit_field): Remove unused code.
25246 * system.h: Poison SLOW_ZERO_EXTEND.
25247 * doc/tm.texi: Remove.
25248 * config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
25249 * config/arm/arm.h: Likewise.
25250 * config/avr/avr.h: Likewise.
25251 * config/clipper/clipper.h: Likewise.
25252 * config/convex/convex.h: Likewise.
25253 * config/d30v/d30v.h: Likewise.
25254 * config/dsp16xx/dsp16xx.h: Likewise.
25255 * config/elxsi/elxsi.h: Likewise.
25256 * config/fr30/fr30.h: Likewise.
25257 * config/h8300/h8300.h: Likewise.
25258 * config/i370/i370.h: Likewise.
25259 * config/i386/i386.h: Likewise.
25260 * config/m68k/m68k.h: Likewise.
25261 * config/mips/mips.h: Likewise.
25262 * config/ns32k/ns32k.h: Likewise.
25263 * config/pdp11/pdp11.h: Likewise.
25264 * config/pj/pj.h: Likewise.
25265 * config/s390/s390.h: Likewise.
25266 * config/sh/sh.h: Likewise.
25267 * config/stormy16/stormy16.h: Likewise.
25268 * config/v850/v850.h: Likewise.
25269 * config/vax/vax.h: Likewise.
25270 * config/we32k/we32k.h: Likewise.
25271
acfab996
AH
252722002-01-15 Aldy Hernandez <aldyh@redhat.com>
25273
d8086cbb
RS
25274 * config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
25275 (altivec_lvsl): Change constraint to b.
25276 (altivec_lvsr): Same.
25277 (altivec_lvebx): Same.
25278 (altivec_lvehx): Same.
25279 (altivec_lvewx): Same.
25280 (altivec_lvxl): Same.
25281 (altivec_lvx): Same.
25282 (altivec_stvx): Add parallel.
25283 (altivec_stvxl): Same.
25284 (altivec_stvehx): Same.
25285 (altivec_stvebx): Same.
25286 (altivec_stvebx): Same.
acfab996 25287
5e505bc9
AH
252882002-01-15 Aldy Hernandez <aldyh@redhat.com>
25289
d8086cbb 25290 * config.gcc: Change altivec.h to altivec-defs.h.
5e505bc9 25291
d8086cbb 25292 * config/rs6000/altivec.h: Delete.
5e505bc9 25293
d8086cbb 25294 * config/rs6000/altivec-defs.h: Add.
5e505bc9 25295
5c41fdfb
JDA
252962002-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
25297
25298 * vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
25299 and UMOD modes.
25300
25301 * vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
25302 less than or equal to eight bytes.
25303
25304 * vax.md (andsi3): Remove constraints and change SET destination
25305 operand type to nonimmediate_operand.
25306 (andhi3, andqi3): Likewise. Don't clear high order bits of operand 1
25307 when it is a CONST_INT.
25308
de097a2d
JM
253092002-01-15 Jason Merrill <jason@redhat.com>
25310
25311 * c-common.def (FILE_STMT): New code.
25312 * c-common.c (statement_code_p): It's a statement.
25313 * c-common.h (stmt_tree_s): Add x_last_filename.
25314 (FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
25315 (last_expr_filename): New macro.
25316 * c-semantics.c (begin_stmt_tree): Initialize it.
25317 (add_stmt): If the filename changed, also insert a
25318 FILE_STMT.
25319 (expand_stmt): Handle seeing one.
25320
4a913dd6
EC
253212002-01-15 Eric Christopher <echristo@redhat.com>
25322
25323 * flow.c (propagate_one_insn): Add error message and print out
25324 insn for debugging.
25325
006946e4
JM
253262002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
25327
25328 * system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
25329 ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
25330 * config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
25331 TRAMPOLINE_ALIGNMENT.
25332 * config/arm/arm.h, config/mcore/mcore.h: Likewise. Change value
25333 to be in bits.
25334 * config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
25335 PCC_BITFIELD_TYPE_MATTERS.
25336 * config/interix.h (STDC_VALUE): Remove. Use
25337 STDC_0_IN_SYSTEM_HEADERS.
25338 * config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
25339 (ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
25340 ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
25341
751a1458
CR
253422002-01-15 Craig Rodrigues <rodrigc@gcc.gnu.org>
25343
25344 * doc/install.texi (hppa*-hp-hpux11): --enable-threads does
25345 not work on this platform currently.
25346
57771fe8
JM
253472002-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
25348
25349 * c-typeck.c (build_unary_op): Don't wrap msgid argument of
25350 readonly_warning in _().
25351
0e83ceb1 253522002-01-15 Douglas B Rupp <rupp@gnat.com>
9a52433e 25353
0e83ceb1 25354 * gcc.c (delete_if_ordinary): Backout previous change.
9a52433e 25355
8e2e89f7
KH
253562002-01-15 Kazu Hirata <kazu@hxi.com>
25357
0e83ceb1
DR
25358 * config/h8300/h8300.c (print_operand): Remove support for
25359 unused operand characters.
25360
8e2e89f7
KH
25361 * read-rtl.c: Fix formatting.
25362 * real.c: Likewise.
25363 * recog.c: Likewise.
25364 * regclass.c: Likewise.
25365 * regmove.c: Likewise.
25366 * reg-stack.c: Likewise.
25367 * reload1.c: Likewise.
25368 * rtlanal.c: Likewise.
25369
b531087a
KH
253702002-01-15 Kazu Hirata <kazu@hxi.com>
25371
25372 * config/i386/i386.c: Fix formatting.
25373
7c94ce7f
JJ
253742002-01-15 Jakub Jelinek <jakub@redhat.com>
25375
25376 * c-typeck.c (process_init_element): Don't save_expr
25377 COMPOUND_LITERAL_EXPR if just its initializer will be used.
25378
6041bf2f
DE
253792002-01-15 David Edelsohn <edelsohn@gnu.org>
25380
25381 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
25382 emit optional traceback table if optimize_size or TARGET_ELF.
25383 * config/rs6000/rs6000.md (prefetch): New.
25384
8559c8c0
AJ
253852002-01-15 Andreas Jaeger <aj@suse.de>
25386
25387 * config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
25388
70f122f2
KH
253892002-01-15 Kazu Hirata <kazu@hxi.com>
25390
25391 * mips-tfile.c: Fix formatting.
25392
6a7b4ca6
JH
25393Tue Jan 15 00:56:11 CET 2002 Jan Hubicka <jh@suse.cz>
25394
25395 * unroll.c (final_reg_note_copy): Fix previous commit.
25396
e7afe229
KH
253972002-01-14 Kazu Hirata <kazu@hxi.com>
25398
25399 * config/h8300/h8300-protos.h: Remove the prototype for
25400 eq_operator.
25401 * config/h8300/h8300.c (eq_operator): Remove.
25402
7d378549
RH
254032002-01-14 Richard Henderson <rth@redhat.com>
25404
25405 * config/i386/i386.md (prefetch): Tidy.
25406 (prefetch_3dnow): Fix locality operand.
25407
ab093b81
RH
254082002-01-14 Richard Henderson <rth@redhat.com>
25409
25410 * config/mips/mips.h (HI_AND_FP_REGS): New register class.
25411 (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
25412
d300f51f
HPN
254132002-01-14 Hans-Peter Nilsson <hp@bitrange.com>
25414
25415 * reload1.c (reload_combine): Pass reg_sum replacement through
25416 copy_rtx in loop performing multiple changes.
25417
655dd289
JJ
254182002-01-14 Jakub Jelinek <jakub@redhat.com>
25419
25420 * except.c (remove_unreachable_regions): New.
25421 (free_eh_status): Clear exception_handler_labels.
25422 (convert_from_eh_region_ranges): Call remove_unreachable_regions.
25423 (find_exception_handler_labels): Don't add the same label more than
25424 once.
25425 (remove_exception_handler_label): Don't die if
25426 find_exception_handler_labels hasn't been called for the current
25427 function yet.
25428
1fba46a7
JH
25429Mon Jan 14 21:26:13 CET 2002 Jan Hubicka <jh@suse.cz>
25430
25431 * toplev.c (rest_of_compilation): Rebuild jump labels after
25432 gcse.
25433
0975678f
JM
254342002-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
25435
25436 * doc/extend.texi: Move documentation of X86 built-in functions
25437 here.
25438 * doc/invoke.texi: From here.
25439 * doc/sourcebuild.texi: Document location of documentation for
25440 machine built-in functions.
25441
969815c7
CF
254422002-01-13 Christopher Faylor <cgf@redhat.com>
25443
25444 * cppfiles.c (TEST_THRESHOLD): New macro.
25445 (SHOULD_MMAP): Ditto.
25446 (read_include_file): Use SHOULD_MMAP macro to decide when mmap should
25447 be used.
25448
494c950b
JH
25449Mon Jan 14 20:23:34 CET 2002 Jan Hubicka <jh@suse.cz>
25450
25451 * unroll.c (final_reg_note_copy): Properly handle
25452 REG_LABEL
25453 (unroll_loops): Fix LOOP_CONDITION heuristics.
25454
69a0611f
GK
254552002-01-14 Geoffrey Keating <geoffk@redhat.com>
25456
25457 * doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
25458 * doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
25459
b90e45ae
JH
25460Mon Jan 14 20:18:19 CET 2002 Jan Hubicka <jh@suse.cz>
25461
25462 * cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
25463 threaded loop.
25464
8377288b
TR
254652002-01-14 Tom Rix <trix@redhat.com>
25466
25467 * config/rs6000/rs6000.md: Fix typo with sradi.
25468
9f37ccb1
UW
254692002-01-14 Ulrich Weigand <uweigand@de.ibm.com>
25470
25471 * config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
25472 movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
25473 (clrstrdi, clrstrsi): Adapt callers.
25474
25475 (extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
25476
8559c8c0 25477 (movti splitter): Never use register 0 as base register.
9f37ccb1 25478
6c2d03d0
HP
254792002-01-14 Hartmut Penner <hpenner@de.ibm.com>
25480
8559c8c0
AJ
25481 * combine.c (simplify_shift_const): Always generate new rtx
25482 for shift expression instead of reusing given expression.
6c2d03d0 25483
d3e98208
RK
25484Mon Jan 14 07:08:55 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25485
25486 * config/alpha/alpha.c (alpha_expand_mov): Don't call
25487 alpha_legitimize_address unless mode is Pmode.
25488
9f339dde
GK
254892002-01-13 Geoffrey Keating <geoffk@redhat.com>
25490
25491 * doc/md.texi (Modifiers): Document the '*' constraint for the
25492 user.
25493
25494 * doc/md.texi (Machine Constraints): Add constraints for xstormy16.
25495 * doc/extend.texi (Function Attributes): 'interrupt' is valid
25496 for xstormy16 too.
25497
02a10130
RH
254982002-01-13 Richard Henderson <rth@redhat.com>
25499
25500 * reload.c (find_reloads): Use a hard reg destination as reload reg
25501 for an input reload of the source.
25502
61d47787
GP
255032002-01-13 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
25504
25505 * doc/install.texi (Binaries): Make link to ftp.writtenword.com
25506 more generic.
25507
f0df8029
DR
25508Sun Jan 13 07:23:01 2002 Douglas B Rupp <rupp@gnat.com>
25509
25510 * Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
25511 * mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
25512
d2a37256
DR
25513 * config/alpha/x-vms (USE_COLLECT2): Set to empty.
25514
a9e8a5ee
RK
25515Sun Jan 13 06:55:31 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25516
25517 * dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
25518
bc06712d
TR
255192002-01-12 Tom Rix <trix@redhat.com>
25520
8559c8c0 25521 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
bc06712d
TR
25522 TARGET_POWERPC64.
25523
7cbe9bb7
RH
255242002-01-12 Richard Henderson <rth@redhat.com>
25525
38b29e64
RH
25526 * config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
25527
58605ba0
RH
25528 * doc/invoke.texi: Update Alpha options.
25529
7cbe9bb7
RH
25530 * doc/invoke.texi: Update i386 built-in function lists.
25531
9d560860
JH
25532Sat Jan 12 17:38:11 CET 2002 Jan Hubicka <jh@suse.cz>
25533
25534 * unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
25535 referencing outside.
25536
bb93b973
RK
25537Sat Jan 12 08:54:51 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
25538
25539 * diagnostic.c (warn_deprecated_use): Rework to lower indentation.
25540 * expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
25541 offsets, and change line folding.
25542 * optabs.c (expand_binop): Remove warnings.
25543 * sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
8559c8c0 25544
f9f6b7df
GS
255452002-01-12 Graham Stott <grahams@redhat.com>
25546
25547 * attribs.c (handle_deprecated_attribute): constify WHAT.
25548 * diagnostic.c (warn_deprecated_use): Add braces, fixes
25549 dangling else warning and constify WHAT.
25550 * except.h (struct function, struct inline_remap): Move
25551 struct tag forward defs before all prototypes.
25552 (duplicate_eh_regions): Whitespace.
25553
4a692617
NC
255542002-01-12 Nick Clifton <nickc@cambridge.redhat.com>
25555
25556 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
25557 MODE_BASE_REG_CLASS.
25558 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
25559
e37af218
RH
255602002-01-12 Richard Henderson <rth@redhat.com>
25561
25562 * config/i386/i386.c (override_options): If SSE, enable sse prefetch.
25563 (ix86_expand_vector_move): New.
25564 (bdesc_2arg): Remove andps, andnps, orps, xorps.
25565 (ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
25566 Remove old prefetch builtins. Special case the logicals removed above.
25567 (ix86_expand_builtin): Likewise.
25568 (safe_vector_operand): Use V4SFmode, not TImode.
25569 (ix86_expand_store_builtin): Remove shuffle arg. Update callers.
25570 (ix86_expand_timode_binop_builtin): New.
25571 * config/i386/i386-protos.h: Update.
25572 * config/i386/i386.h (enum ix86_builtins): Update.
25573 * config/i386/i386.md: Correct predicates on MMX/SSE patterns.
25574 Use ix86_expand_vector_move in vector move expanders.
25575 (movti_internal, movti_rex64): Add xorps alternative.
25576 (sse_clrv4sf): Rename and adjust from sse_clrti.
25577 (prefetch): Don't work so hard.
25578 (prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
25579 * config/i386/xmmintrin.h (__m128): Use V4SFmode.
25580 (_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
25581
6f1a6c5b
RH
255822002-01-11 Richard Henderson <rth@redhat.com>
25583
25584 * config/i386/mmintrin.h: New file.
25585 * config/i386/xmmintrin.h: New file.
25586 * config.gcc (i?86-*-*): Add extra_headers.
25587 * simplify-rtx.c (simplify_unary_operation): Handle saturating
25588 truncation codes.
25589 (simplify_binary_operation): Handle saturating arithmetic codes.
25590 * config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
25591 not the lowpart subreg.
25592 (ix86_expand_builtin): Return a TImode dummy register instead of 0
25593 on error.
25594 * config/i386/i386.md (mmx_clrdi): Override memory attribute.
25595
cdb574d3
MH
255962002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
25597
25598 * conflict.c (conflict_graph_compute): Free regsets when finished.
25599 * ssa.c (compute_coalesced_reg_partition): Likewise.
8559c8c0 25600
cf11ac55
HB
256012002-01-12 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
25602
25603 * global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
25604 every where we allocate a register.
25605
76ac938b
MH
256062002-01-12 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
25607
25608 * gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
25609 * lcm.c (compute_earliest, compute_farthest): Likewise.
25610
a84b4898
JJ
256112002-01-11 Janis Johnson <janis187@us.ibm.com>
25612
25613 * expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
25614
aaef1c12
JJ
256152002-01-11 Janis Johnson <janis187@us.ibm.com>
25616
25617 * doc/rtl.texi (Insns): Fix 2 typos.
25618
5d22c1a5
JM
256192002-01-11 Joseph S. Myers <jsm28@cam.ac.uk>
25620
25621 * doc/invoke.texi: Avoid overfull hboxes. Add summary of D30V
25622 options. Use @table @gcctabopt for MMIX options. Add index
25623 entries for MMIX options. Start new paragraph with first
25624 heading of the machine-dependent options.
25625
3e92902c
CR
256262002-01-11 Craig Rodrigues <rodrigc@gcc.gnu.org>
25627
25628 PR other/5299
25629 * config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
25630 * combine.c (force_to_mode): Same.
25631 * reload1.c (clear_reload_reg_in_use): Same.
25632
96ae8197
NC
256332002-01-11 Nick Clifton <nickc@cambridge.redhat.com>
25634
25635 * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
25636 and 'subtargets'.
25637
9b780582
AJ
256382002-01-11 Andreas Jaeger <aj@suse.de>,
25639 Brad Lucier <lucier@math.purdue.edu>
25640
25641 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
25642 mcpu.
25643
12300dad
DR
25644Fri Jan 11 07:35:12 2002 Douglas B Rupp <rupp@gnat.com>
25645
25646 * config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
25647 Protect with IN_LIBGCC.
25648 (LINK_EH_SPEC): Add required trailing space.
25649
27511a9a
NP
25650Fri Jan 11 09:25:05 2002 Nicola Pero <n.pero@mi.flashnet.it>
25651
9b780582 25652 * c-tree.h: Move function declarations so that they are listed
27511a9a
NP
25653 under the filename which contains them.
25654 (check_identifier, finish_decl_top_level,
25655 lookup_name_current_level_global, shadow_record_fields): Remove.
25656
4daeab16
AJ
256572002-01-11 Andreas Jaeger <aj@suse.de>
25658
25659 * config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
25660 march.
25661
40571d67
RH
256622002-01-10 Richard Henderson <rth@redhat.com>
25663
25664 * config/alpha/alpha.c (print_operand): Add 'J'.
25665 * config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
25666 new operand with the sequence number for the lituse. When splitting
25667 the insns, use gen_movdi_er_high_g and generate a sequence number.
25668 (gen_movdi_er_high_g): Print the sequence number if non-zero.
25669
6525c0e7
AH
256702002-01-10 Aldy Hernandez <aldyh@redhat.com>
25671
d8086cbb
RS
25672 * config/rs6000/rs6000.c (altivec_init_builtins): Add support for
25673 lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
25674 stvxl.
25675 (altivec_expand_builtin): Same.
25676 (altivec_expand_stv_builtin): New.
25677
25678 * config/rs6000/rs6000.h (rs6000_builtins): Same.
25679
25680 * config/rs6000/rs6000.md ("altivec_lvebx"): New.
25681 ("altivec_lvehx"): New.
25682 ("altivec_lvewx"): New.
25683 ("altivec_lvxl"): New.
25684 ("altivec_lvx"): New.
25685 ("altivec_stvx"): New.
25686 ("altivec_stvebx"): New.
25687 ("altivec_stvehx"): New.
25688 ("altivec_stvewx"): New.
25689 ("altivec_stvxl"): New.
6525c0e7 25690
cda94cbb
RH
256912002-01-10 Richard Henderson <rth@redhat.com>
25692
25693 * cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
25694 * reload1.c (delete_output_reload): Zap spill_reg_store. Take
25695 care not to delete instructions twice.
25696
df2c9a44
ZW
256972002-01-10 Zack Weinberg <zack@codesourcery.com>
25698
25699 * toplev.c: Don't declare environ (it's not used anywhere).
25700 * configure.in: Don't check for declaration of environ.
25701 * config/i386/xm-mingw32.h: Don't #define environ.
25702 * config.in, configure: Regenerate.
25703
5dd8a9b1
ZW
257042002-01-10 Zack Weinberg <zack@codesourcery.com>
25705
25706 * configure.in: Set stage1_cflags for powerpc-*-darwin*.
25707 * configure: Regenerate.
25708
25709 * config/interix.h: Set DO_GLOBAL_CTORS_BODY and
25710 DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
25711 * config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
25712 alpha/xm-vms.h.
25713 * config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
25714 LIMITS_H_TEST here, not in m68k/x-next.
25715 * config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
25716 SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
25717
25718 * config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
25719 LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
25720 * config/alpha/x-vms: Don't set USE_COLLECT2. Add comments.
25721
25722 * config/i386/x-djgpp: Renamed i386/t-djgpp.
25723 * config/m88k/x-dolph: Renamed m88k/t-dolph.
25724 * config/m88k/x-texXD88: Renamed m88k/t-texXD88.
25725 * config/pa/x-pa-mpeix: Renamed pa/t-mpeix. Update for
25726 replacement of quadlib.asm with quadlib.c.
25727
25728 * config/x-interix3, config/xm-interix.h, config/i386/x-beos,
25729 config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
25730 config/rs6000/xm-beos.h: Delete file.
25731
25732 * config.gcc: Update to match above changes.
25733
d10dd44c
KH
257342002-01-10 Kazu Hirata <kazu@hxi.com>
25735
25736 * config/h8300/h8300.h: Fix comment typos.
25737 * config/h8300/h8300.md: Likewise.
25738 * config/h8300/lib1funcs.asm: Likewise.
25739
04894c5a
DJ
257402002-01-10 Dale Johannesen <dalej@apple.com>
25741
25742 PR optimization/5269
25743 * unroll.c (precondition_loop_p): Make *increment be the correct
25744 sign when n_iterations known, to avoid confusing caller.
25745
adc9fe67
KH
257462002-01-10 Kazu Hirata <kazu@hxi.com>
25747
25748 * doc/extend.texi (deprecated): Fix a typo.
25749
b446e5a2
JH
25750Thu Jan 10 22:35:54 CET 2002 Jan Hubicka <jh@suse.cz>
25751
25752 * basic-block.h (update_br_prob_note): Declare.
25753 * cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
25754 (try_forward_edges): Care negative frequencies and update note.
25755 (outgoing_edges_match): Tweek conditional merging heuristics.
25756 (try_crossjump_to_edge): use update_br_prob_note.
25757 * cfglayout.c (fixup_reorder_chain): Likewise.
25758 * cfrtl.c (update_br_prob_note): New.
25759 * ifcvt.c (dead_or_predicable): Call update_br_prob_note.
25760
25761 * i386.c (ix86_decompose_address): Return -1 if address contains
25762 shift.
25763 (legitimate_address_p): Require ix86_decompose_address to return 1.
25764
25765 * gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
25766 (cprop_insn): Likewise.
25767
a01da83b
KH
257682002-01-10 Kazu Hirata <kazu@hxi.com>
25769
25770 * toplev.c: Fix formatting.
25771 * tree.c: Likewise.
25772 * tree-dump.c: Likewise.
25773 * unroll.c: Likewise.
25774 * unwind-dw2.c: Likewise.
25775 * unwind-dw2-fde.c: Likewise.
25776 * unwind-dw2-fde-glibc.c: Likewise.
25777 * unwind-sjlj.c: Likewise.
25778
9f85bca7
JM
257792002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
25780
25781 * doc/invoke.texi: Document PDP-11 options.
25782
f48f56b1
KH
257832002-01-10 Kazu Hirata <kazu@hxi.com>
25784
25785 * config/h8300/h8300.h: Fix formatting.
25786
ead39bdf 257872002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
25788
25789 Add __attribute__ ((deprecated)).
25790 * extend.texi: Document __attribute__ ((deprecated)).
25791 * invoke.texi: Document -Wno-deprecated-declarations.
25792 * testsuite/g++.dg/other/deprecated.C: New C++ test.
25793 * testsuite/gcc.dg/deprecated.c: New C test.
25794 * attribs.c (enum attrs): Declare handle_deprecated_attribute().
25795 (c_common_attribute_table): Add "deprecated" entry.
25796 (handle_deprecated_attribute): New function.
25797 * c-decl.c (deprecated_states): New enum.
25798 deprecated_state: State of "deprecated" handling.
25799 (start_decl): Set deprecated_state based on attributes.
25800 (grokdeclarator): Test for deprecated uses, propagate attribute.
25801 * c-typeck.c (build_component_ref): Test for deprecated fields.
25802 (build_external_ref): Test for deprecated primaries.
25803 * diagnostic.c (warn_deprecated_use) New function to issue
25804 warnings about __attribute__ ((depricated)) references.
25805 * flags.h (warn_deprecated_decl): Extern declared for
25806 -W[no-]deprecated-declarations option.
25807 * print-tree.c (print_node): Show deprecated flag status.
25808 * toplev.c (warn_deprecated_decl): Defined.
25809 (W_options): Added "deprecated-declaration".
25810 * toplev.h (warn_deprecated_use): Extern declared.
25811 * tree.h (struct tree_common): Define deprecated_flag.
25812 (TREE_DEPRECATED): New macro to access flag.
25813 * cp/call.c (build_call): Test for deprecated calls.
25814 * cp/class.c (add_implicitly_declared_members): Set global
25815 flag to tell grokdeclarator to not issue deprecated warnings.
25816 * cp/cp-tree.h: Add extern for adding_implicit_members.
25817 * cp/decl.c (deprecated_states): New enum.
25818 (start_decl): Set deprecated_state based on attributes.
25819 (grokdeclarator): Test for deprecated uses, propagate attribute.
25820 * cp/lex.c (do_identifier): Test for deprecated primaries.
25821 * cp/typeck.c (build_component_ref): Test for deprecated fields.
25822
ead39bdf 258232002-01-10 Ira Ruben <ira@apple.com>
7f180628
IR
25824
25825 Fix to assign attributes to inline member functions.
25826 * cp/decl.c (start_method): Handle attrlist.
25827
47073a38
KH
258282002-01-10 Kazu Hirata <kazu@hxi.com>
25829
25830 * combine.c (expand_field_assignment): Use subreg_lsb().
25831
d288e53d
DE
258322002-01-10 David Edelsohn <edelsohn@gnu.org>
25833
25834 * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
25835 POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
25836 (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
25837 Recurse for any operand of AND as long as constant is non-zero.
25838
08a02ffa
KH
258392002-01-10 Kazu Hirata <kazu@hxi.com>
25840
25841 * config/h8300/h8300.md: Remove constraints from expanders.
25842
c203e7fe
KH
258432002-01-10 Kazu Hirata <kazu@hxi.com>
25844
25845 * varasm.c: Fix formatting.
25846 * varray.c: Likewise.
25847 * vmsdbgout.c: Likewise.
25848 * xcoffout.c: Likewise.
25849
bcb3bc6d
JH
25850Thu Jan 10 17:19:12 CET 2002 Jan Hubicka <jh@suse.cz>
25851
25852 * cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
cda94cbb 25853 update edge probabilities to match.
bcb3bc6d 25854
0a553c7e
JM
258552002-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
25856
25857 * Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
25858 dependencies.
25859 * doc/languages.texi, doc/sourcebuild.texi: New files.
25860 * doc/configfiles.texi: Make a subsubsection. Update.
25861 * doc/configterms.texi: Add @node. Remove warning that this isn't
25862 instructions for building GCC.
25863 * doc/makefile.texi: Make a subsection.
25864 * doc/gccint.texi: Update.
25865
adc7fcb8
JH
25866Thu Jan 10 16:39:58 CET 2002 Jan Hubicka <jh@suse.cz>
25867
25868 * i386.md (sse_mov?fcc_const0_?): Fix constraints.
25869
5a4dd0b3
NP
25870Thu Jan 10 12:45:50 2002 Nicola Pero <n.pero@mi.flashnet.it>
25871
25872 * doc/cpp.texi: Document the __OBJC__ preprocessor macro.
25873
3987b9db
JH
25874Thu Jan 10 11:19:18 CET 2002 Jan Hubicka <jh@suse.cz>
25875
25876 * optabs.c (expand_fix): Look for wider integer modes first.
25877
25878 * i386.md (mov?f): Avoid the fake const double trick for medium
25879 memory model.
25880 (min?f*/max?f*): Prohibit memory operands for i387 variant.
25881 (fop_df_4): Disable for SSE compilation.
25882
ceb15948 258832002-01-10 Graham Stott <grahams@redhat.com>
117f9d28
GS
25884
25885 * dwarf2out.c (indirect_string_alloc, output_indirect_string):
cda94cbb 25886 Move prototype into DWARF2_DEBUGGING_INFO conditional block.
117f9d28 25887
e1623399
RH
258882002-01-10 Richard Henderson <rth@redhat.com>
25889
25890 * config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
25891
c4abb293
RH
258922002-01-10 Richard Henderson <rth@redhat.com>
25893
25894 * regrename.c (find_oldest_value_reg): Fix typo in mode change check.
25895 (copyprop_hardreg_forward_1): Likewise. Use mode_change_ok.
25896
d2604ae9
KH
258972002-01-10 Kazu Hirata <kazu@hxi.com>
25898
25899 * combine.c (can_combine_p): Fix a comment typo.
25900
766c7ad1
ZW
259012002-01-09 Zack Weinberg <zack@codesourcery.com>
25902
25903 * Makefile.in (s-gencheck, s-options, s-specs): Handle an
25904 empty list correctly. Change loop index $t to $f for
25905 consistency with rest of Makefile.
25906
95385cbb
AH
259072002-01-08 Aldy Hernandez <aldyh@redhat.com>
25908
25909 * testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
25910 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
25911
25912 * config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
25913 mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
25914 (altivec_init_builtins): Same.
25915 (altivec_expand_unop_builtin): Return NULL_RTX on error.
25916 (altivec_expand_binop_builtin): Same.
25917 (altivec_expand_ternop_builtin): Same.
25918 (bdesc_dst): New.
25919
25920 * config/rs6000/rs6000.md ("altivec_mtvscr"): New.
25921 ("altivec_vctuxs"): Fix typo.
25922 ("altivec_vnmsubfp"): Same.
25923 ("altivec_dssall"): New.
25924 ("altivec_mfvscr"): New.
25925 ("altivec_dss"): New.
25926 ("altivec_lvsl"): New.
25927 ("altivec_lvsr"): New.
25928 ("altivec_dstt"): New.
25929 ("altivec_dstst"): New.
25930 ("altivec_dststt"): New.
25931 ("altivec_dst"): New.
25932
25933 * config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
25934 mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
25935
e4ac76b4
RH
259362002-01-09 Richard Henderson <rth@redhat.com>
25937
25938 * config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
25939
c893e4a4
HPN
259402002-01-10 Hans-Peter Nilsson <hp@bitrange.com>
25941
25942 * config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
25943 function.
25944 * config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
25945 prototype.
7387c700 25946 * config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
c893e4a4 25947
f4f4d0f8
KH
259482002-01-09 Kazu Hirata <kazu@hxi.com>
25949
25950 * read-rtl.c: Fix formatting.
25951 * real.c: Likewise.
25952 * regclass.c: Likewise.
25953 * regrename.c: Likewise.
25954 * reg-stack.c: Likewise.
25955 * reload1.c: Likewise.
25956 * reload.c: Likewise.
25957 * rtl.c: Likewise.
25958
cc863bea
KH
259592002-01-09 Kazu Hirata <kazu@hxi.com>
25960
25961 * rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
25962 to extract items in the expr_list chain.
25963
7b4dfe3d
RH
259642002-01-09 Richard Henderson <rth@redhat.com>
25965
25966 * config/vax/vax.c (vax_rtx_cost): Never abort.
25967
1d969638
RH
25968 * config/vax/vax.h (REAL_ARITHMETIC): Define.
25969
7d5ab30e
JH
259702002-01-09 Jan Hubicka <jh@suse.cz>
25971
25972 * gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
25973
9503f3d1
RH
259742002-01-09 Richard Henderson <rth@redhat.com>
25975
25976 * config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
25977 Unify code from various alternatives.
25978
42bd17b7
RH
259792002-01-09 Richard Henderson <rth@redhat.com>
25980
25981 * regrename.c (copy_value): Ignore the copy if the source register
25982 is present in the value chain with a narrower mode.
25983
bdca3c33
HB
259842002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
25985
cda94cbb
RH
25986 * real.c (c4xtoe, toc4x): Do some special conversion on long doubles
25987 for the c4x target. Also improve layout.
bdca3c33 25988
c73a5e94
RH
259892002-01-09 Richard Henderson <rth@redhat.com>
25990
25991 * config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
25992 * config/m32r/m32r.md (and ior xor splitters): Swap operands
25993 to match insn patterns.
25994
dd0a18c0
RH
259952002-01-09 Richard Henderson <rth@redhat.com>
25996
25997 * regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
25998 (copyprop_hardreg_forward_1): Likewise.
25999
1fd9ac1e
JDA
260002002-01-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
26001
26002 * pa.md (decrement_and_branch_until_zero): Change predicate for
26003 operand 0 from register_operand to reg_or_nonsymb_mem_operand.
26004
5cb265ec
BM
260052002-01-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
26006
26007 * ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
26008 gets undefined. For Darwin.
26009
fcd8fa8b
HB
260102002-01-09 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
26011
26012 * config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
26013
bd3ab23a
MH
260142002-01-09 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
26015
26016 * config/c4x/c4x/md: Remove extraneous constraints from define_splits.
26017
21e16bd6
RH
260182002-01-08 Richard Henderson <rth@redhat.com>
26019
26020 * regrename.c (copy_value): Ignore overlapping copies.
26021
a5376276
RH
260222002-01-08 Richard Henderson <rth@redhat.com>
26023
26024 * config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
26025 as needed to avoid shared structure.
26026
18cf8dda
KH
260272002-01-08 Kazu Hirata <kazu@hxi.com>
26028
26029 * config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
26030 H8/300H and H8/S.
26031
16c484c7
JM
260322002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26033
26034 * doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
26035 LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
26036 documentation of obsolete macros.
26037 * system.h: Poison these macros.
26038 * config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
26039 config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
26040 config/c4x/c4x.h, config/clipper/clipper.h,
26041 config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
26042 config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
26043 config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
26044 config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
26045 config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
26046 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
26047 config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
26048 config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
26049 config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
26050 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
26051 config/sparc/sparc.h, config/stormy16/stormy16.h,
26052 config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
26053 definitions and commented out definitions of obsolete macros.
26054 * config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
26055 of MAX_INT_TYPE_SIZE.
26056
14b3e8ef
UW
260572002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
26058
26059 * config/s390/s390.c (s390_preferred_reload_class): Never
26060 return ADDR_REGS if it isn't a subset of the given class.
26061 * config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
26062 FP_REGS, but all superclasses as well.
26063
26064 * config/s390/s390.c (s390_function_profiler): Fix thinko.
26065
26066 * config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
26067 cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
26068 must not be a const_int.
26069
a693284d
RH
260702002-01-08 Richard Henderson <rth@redhat.com>
26071
26072 * Makefile.in (toplev.o): Depend on options.h.
26073 (gcc.o): Depend on specs.h.
26074
b3ca30df
JJ
260752002-01-08 Jakub Jelinek <jakub@redhat.com>
26076
26077 * expr.c (store_expr): Convert VOIDmode constants back to target's
26078 mode.
26079
24dbb440
GP
260802002-01-08 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
26081
26082 * doc/invoke.texi: Markup gcc as @command. Refer to
26083 http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
26084 of http://gcc.gnu.org/thanks.html.
26085
234e114c
DJ
260862002-01-08 Dale Johannesen <dalej@apple.com>
26087
26088 * config/rs6000/rs6000.md: Add missing int register
26089 target case to movdf_low.
26090
0d24f4d1
ZW
260912002-01-08 Zack Weinberg <zack@codesourcery.com>
26092
26093 * Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
26094 except.h. Remove commands to define USING_SJLJ_EXCEPTIONS.
26095 (cppinit.o): Depend on except.h.
26096 (gencheck.h, options.h, specs.h, s-gencheck, s-options,
26097 s-specs): New rules.
26098
26099 * configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
26100 Don't create specs.h/options.h/gencheck.h here. Remove
26101 unnecessary variable settings from last argument of AC_OUTPUT.
26102 * config.in, configure: Regenerate.
26103 * intl.c: Hardcode package name as "gcc".
26104
26105 * cppinit.c: Include except.h.
26106 (builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
26107 appropriate.
26108 * unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
26109 Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
26110 (!)USING_SJLJ_EXCEPTIONS.
26111 * doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
26112
ed722f66
JM
261132002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26114
26115 * doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
26116 ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
26117 OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
26118 documentation of obsolete macros.
26119 * system.h: Poison these macros.
26120 * config/d30v/d30v.h, config/ns32k/encore.h,
26121 config/stormy16/stormy16.h: Remove definitions and commented out
26122 definitions of obsolete macros.
26123
31e5e29a
NP
26124Tue Jan 8 15:56:41 2002 Nicola Pero <nicola@brainstorm.co.uk>
26125
26126 * objc/objc-act.c (handle_class_ref): Mark the declaration of
26127 %sobjc_class_ref_%s as used - to prevent unwanted compiler
26128 warnings.
26129
bc1fa59c
UW
261302002-01-08 Ulrich Weigand <uweigand@de.ibm.com>
26131
26132 * config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
26133 * config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
26134 to insn adjusting stack/frame pointer.
0d24f4d1 26135 * config/s390/s390.md (reload_la_64, reload_la_31): Do not
bc1fa59c
UW
26136 accept operands that cause the insn to be non-splittable.
26137
a8086abf
GS
261382002-01-08 Graham Stott <grahams@redhat.com>
26139
26140 * c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
26141 (C_TYPE_FIELDS_VOLATILE): Likewise.
26142 (C_TYPE_BEING_DEFINED): Likewise.
26143 (C_IS_RESERVED_WORD): Likewise.
26144 (C_TYPE_VARIABLE_SIZE): Likewise.
26145 (C_DECL_VARIABLE_SIZE): Likewise.
26146 (C_MISSING_PROTOTYPE_WARNED): Likewise.
26147 (C_SET_EXP_ORIGINAL_CODE): Likewise.
26148 (C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
26149 parenthesis.
26150 (C_DECL_ANTICIPATED): Likewise.
26151 (c_build_type_variant): Add parenthesis.
26152
3f595aa1
JM
261532002-01-08 Joseph S. Myers <jsm28@cam.ac.uk>
26154
26155 * gcc.c (option_map): Remove --version.
26156 (process_command): Handle -fversion following the GNU Coding
26157 Standards. Partially addresses PR other/704.
26158
5bc5a8f9
GS
261592002-01-08 Graham Stott <grahams@redhat.com>
26160
26161 * combine.c (combine_instructions): Fix typo.
26162
16ec4ebf
GS
261632002-01-08 Graham Stott <grahams@redhat.com>
26164
26165 * debug.h: Use "tree" and "rtx" throughout.
26166
26167 * debug.c: Likewise.
26168
4b69f385
NC
261692002-01-08 Nick Clifton <nickc@cambridge.redhat.com>
26170
26171 * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
26172 constant pool, use the pool's version of the symbol instead.
26173
57d1019b
RH
261742002-01-07 Richard Henderson <rth@redhat.com>
26175
26176 * regrename.c (find_oldest_value_reg): Ignore the value chain if
26177 the original register was copied in a mode with a fewer number of
26178 hard registers than the desired mode.
26179 (copyprop_hardreg_forward_1): Likewise.
26180 (debug_value_data): Fix loop test.
26181 * toplev.c (parse_options_and_default_flags): Reenable
26182 -fcprop-registers at -O1.
26183
261842002-01-07 Aldy Hernandez <aldyh@redhat.com>
fa066a23 26185
0d24f4d1
ZW
26186 * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
26187 (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
fa066a23 26188
0d24f4d1
ZW
26189 * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
26190 predicates.
fa066a23 26191
0d24f4d1 26192 * config/rs6000/rs6000.md: Add altivec predicate patterns.
fa066a23 26193
8f949e7e
JDA
261942002-01-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
26195
26196 * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
26197 (pa_output_function_prologue): Output local label at the beginning of
26198 the prologue when profiling.
26199 (hppa_profile_hook): Use the local label rather than the function label.
26200 * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
26201
c62f2db5
AH
262022002-01-07 Aldy Hernandez <aldyh@redhat.com>
26203
0d24f4d1
ZW
26204 * config/rs6000/rs6000.c (print_operand): Remove extra space.
26205 (altivec_expand_unop_builtin): Fix thinko.
26206 (altivec_expand_binop_builtin): Same.
26207 (altivec_expand_ternop_builtin): Same.
26208 (altivec_expand_builtin): Same.
c62f2db5 26209
b5235ba7
RH
262102002-01-07 Richard Henderson <rth@redhat.com>
26211
26212 * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
26213
7d8ac293
JM
262142002-01-07 Jason Merrill <jason@redhat.com>
26215
26216 * unwind-dw2.c (execute_cfa_program): Use < again.
26217
571a03b8
JJ
262182002-01-07 Jakub Jelinek <jakub@redhat.com>
26219
26220 * predict.c (combine_predictions_for_insn): Avoid division by zero.
26221
2e951384
JJ
262222002-01-07 Jakub Jelinek <jakub@redhat.com>
26223
26224 * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
26225 Don't allow -1 - x -> ~x simplifications in the first pass.
26226
20e26713
AH
262272002-01-07 Aldy Hernandez <aldyh@redhat.com>
26228
0d24f4d1
ZW
26229 * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
26230 arguments.
26231 (altivec_expand_binop_builtin): Same.
26232 (altivec_expand_unop_builtin): Same.
26233 (print_operand): Fix typo.
26234 (bdesc_1arg): Add vupk* variants.
20e26713 26235
0d24f4d1 26236 * rs6000.h (rs6000_builtins): Add vupk* enums.
20e26713 26237
0d24f4d1 26238 * rs6000.md: Add altivec_vupk* variants.
20e26713 26239
4dd57c18
JM
262402002-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
26241
26242 * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
26243 doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
26244 and last update dates.
26245
0341c5d2
JJ
262462002-01-07 Janis Johnson <janis187@us.ibm.com>
26247
26248 * doc/rtl.texi (Flags): Clean up documentation of RTL flags
26249
c7f3e0b0
MM
262502002-01-07 Marek Michalkiewicz <marekm@amelek.gda.pl>
26251
26252 * config/avr/avr.c (avr_mcu_types): Add new MCU types.
26253 * config/avr/avr.h (CPP_SPEC): Likewise.
26254 (LINK_SPEC): Likewise.
26255 (CRT_BINUTILS_SPECS): Likewise.
26256 * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
26257 * doc/invoke.texi (AVR Options): Document them.
26258
6ba4d630
JH
26259Mon Jan 7 11:59:34 CET 2002 Jan Hubicka <jh@suse.cz>
26260
26261 * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
26262 LABEL_NUSES.
26263
6253d571
GS
262642002-01-07 Graham Stott <grahams@redhat.com>
26265
0d24f4d1
ZW
26266 * config/i386/i386.h: Update copyright date.
26267 (HALF_PIC_PTR): Add parenthesis.
26268 (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
26269 (CONSTANT_ALIGNMENT): Add parenthesis.
26270 (DATA_ALIGNMENT): Likewise.
26271 (LOCAL_ALIGNMENT): Likewise.
26272 (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
26273 (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
26274 (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
26275 (HARD_REGNO_NREGS): Add paranethesis.
26276 (VALID_SSE_REG_MODE): Whitespace.
26277 (VALID_MMX_REG_MODE): Whitespace.
26278 (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
26279 (ix86_hard_regno_mode_ok): Add parenthesis.
26280 (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
26281 (RETURN_IN_MEMORY): Whitespace.
26282 (N_REG_CLASSES): Add parenthesis.
26283 (INTEGER_CLASS_P): Add parenthesis and wrap.
26284 (FLOAT_CLASS_P): Likewise.
26285 (SSE_CLASS_P): Likewise.
26286 (MMX_CLASS_P): Likewise.
26287 (MAYBE_INTEGER_CLASS_P): Likewise.
26288 (MAYBE_FLOAT_CLASS_P): Likewise.
26289 (MAYBE_SSE_CLASS_P): Likewise.
26290 (MAYBE_MMX_CLASS_P): Likewise.
26291 (Q_CLASS_P): Likewise.
26292 (GENERAL_REGNO_P): Uppercase macro parameter.
26293 (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
26294 (FP_REGNO_P): Likewise.
26295 (ANY_FP_REGNO_P): Uppercase macro parameter.
26296 (SSE_REGNO_P): Likewise.
26297 (SSE_REGNO): Likewise.
26298 (SSE_REG_P): Likewise.
26299 (SSE_FLOAT_MODE_P): Likewise.
26300 (MMX_REGNO_P): Likewise.
26301 (MMX_REG_P):Likewise.
26302 (STACK_REG_P): Likewise.
26303 (NON_STACK_REG_P): Likewise.
26304 (STACK_TOP_P): Likewise.
26305 (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
26306 (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
26307 (SECONDARY_MEMORY_NEEDED): Likewise.
26308 (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
26309 (MD_ASM_CLOBBERS): Whitespace and wrap.
26310 (MUST_PASS_IN_STACK): Whitespace and wrap.
26311 (RETURN_POPS_ARGS): Add parenthesis.
26312 (INIT_CUMULATIVE_ARGS): Likewise.
26313 (FUNCTION_ARG): Likewise.
26314 (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
26315 (SETUP_INCOMING_VARARGS): Likewise.
26316 (BUILD_VA_LIST_TYPE): Add parenthesis.
26317 (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
26318 parenthsis.
26319 (EXPAND_BUILTIN_VA_ARG): Likewise.
26320 (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
26321 (INITIALIZE_TRAMPOLINE): Add parenthesis.
26322 (INITIAL_ELIMINATION_OFFSET): Likewise.
26323 (REGNO_OK_FOR_INDEX_P): Add parenthesis.
26324 (REGNO_OK_FOR_BASE_P): Likewise.
26325 (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
26326 (REGNO_OK_FOR_DIREG_P): Likewise.
26327 (REG_OK_FOR_INDEX_P): Whitespace.
26328 (REG_OK_FOR_BASE_P): Whitespace.
26329 (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
26330 parenthesis.
26331 (FIND_BASE_TERM): Fix typo.
26332 (LEGITIMIZE_ADDRESS): Wrap in { .. } while (0) and add parenthesis.
26333 (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
26334 (SYMBOLIC_CONST; Whitespace.
26335 (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in { .. } while (0) and wrap.
26336 (ENCODE_SECTION_INFO): Whitespace.
26337 (FINALIZE_PIC): Remove do { ... } while (0).
26338 (PROMOTE_MODE): Wrap in do { ... } while (0).
26339 (CONST_COSTS): Whitespace.
26340 (RTX_COSTS): Add paramethesis, whitespace and wrap.
26341 (REGISTER_MOVE_COST): Add parenthesis.
26342 (MEMORY_MOVE_COST): Likewise.
26343 (EXTRA_CC_MODES): Whitespace.
26344 (SELECT_CC_MODE): Add parenthesis and whitespace.
26345 (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
26346 (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
26347 (ASM_OUTPUT_LABEL): Add paramethesis.
26348 (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
26349 (ASM_OUTPUT_REG_POP): Likewise.
26350 (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
26351 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
d9a5f180 26352
07933f72
GS
26353 * config/i386/i386.c: Update copyright.
26354 (CHECK_STACK_LIMIT): Add parenthesis.
26355 (AT_BP): Uppercase macro parameter.
26356 (x86_64_int_parameter_registers): Constify.
26357 (x86_64_int_return_registers): Likewise.
26358 (ix86_compare_op0): Use rtx.
26359 (construct_container): Constify INTREG parameter.
26360 (function_arg): Use rtx.
26361
0b4d32c9
GS
26362 * diagnostic.h: Update copyright date.
26363 (output_buffer_state): Add parenthesis.
26364 (output_buffer_format_args): Likewise.
26365
6253d571
GS
26366 * combine.c (combine_instructions): Replace XEXP (links, 0)
26367 with link.
26368
68f3f6f1
L
263692002-01-06 H.J. Lu <hjl@gnu.org>
26370
26371 * cfgcleanup.c (thread_jump): Fix 2 typos.
26372
263732002-01-06 Aldy Hernandez <aldyh@redhat.com>
480f7f3a 26374
0d24f4d1 26375 * config.gcc: Add support for --enable-altivec.
480f7f3a 26376
13b8c631
CR
263772002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
26378
26379 * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
26380
58ad89b1
JJ
263812002-01-06 Jakub Jelinek <jakub@redhat.com>
26382
26383 * objc/objc-act.c (handle_impent): Use assemble_variable to emit
26384 __objc_class_name_*.
26385
e403b4bc
CR
263862002-01-06 Craig Rodrigues <rodrigc@gcc.gnu.org>
26387
26388 * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
26389
e41c7831
RH
263902002-01-06 Richard Henderson <rth@redhat.com>
26391
26392 * reorg.c (emit_delay_sequence): Remove death notes, not merely
26393 nop them out. Increment label reference count for REG_LABEL.
26394 (fill_slots_from_thread): Frob label reference count around
26395 delete_related_insns.
26396
3b3b1e32
RH
263972002-01-05 Richard Henderson <rth@redhat.com>
26398
26399 * cfgcleanup.c (try_forward_edges): Detect infinite loops while
26400 jump threading.
26401
c28abdf0
RH
264022002-01-05 Richard Henderson <rth@redhat.com>
26403
26404 * c-decl.c (c_expand_body): Don't call outlining_inline_function.
26405 * integrate.c (output_inline_function): Likewise.
26406 * toplev.c (rest_of_compilation): Do it here instead. Move call
26407 to remove_unnecessary_notes after emitting abstract instance.
26408 Force an emitted nested function to have its parent emited as well.
26409 * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
26410 for null.
26411 (rtl_for_decl_location): Do not look at reload data structures
26412 before reload has run.
26413
c4f2c499
KH
264142002-01-05 Kazu Hirata <kazu@hxi.com>
26415
26416 * cse.c: Fix formatting.
26417 * dwarf2asm.c: Likewise.
26418 * dwarf2out.c: Likewise.
26419 * explow.c: Likewise.
26420 * expmed.c: Likewise.
26421 * function.c: Likewise.
26422 * gcov.c: Likewise.
26423 * gencheck.c: Likewise.
26424 * genrecog.c: Likewise.
26425 * ggc-common.c: Likewise.
26426 * ggc-page.c: Likewise.
26427 * global.c: Likewise.
26428
cf0d9408
KH
264292002-01-05 Kazu Hirata <kazu@hxi.com>
26430
26431 * combine.c: Fix formatting.
26432
bedca03a
CR
264332002-01-05 Craig Rodrigues <crodrigu@bbn.com>
26434
26435 PR middle-end/1557
26436 * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
26437
0134bf2d
DE
264382002-01-05 David Edelsohn <edelsohn@gnu.org>
26439
26440 * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
26441 as 1 for __powerpc64__ as well.
26442
26443 * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
26444
26445 * alias.c (find_base_value, PLUS/MINUS): If we found a base,
26446 return it.
26447
9ca88d5a
DB
264482002-01-05 Daniel Berlin <dan@dberlin.org>
26449
26450 * lcm.c: Revert change, due to performance regression it causes on
26451 SPEC because it's slightly more conservative (sigh, I hate
26452 edge-based LCM).
0d24f4d1 26453
1c570418
JH
26454Sat Jan 5 11:52:05 CET 2002 Jan Hubicka <jh@suse.cz>
26455
26456 * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
26457
d83bb9f7
NB
264582002-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
26459
26460 * doc/cppinternals.texi: Update.
26461
3e0f61ac
HPN
264622002-01-05 Hans-Peter Nilsson <hp@bitrange.com>
26463
26464 * doc/invoke.texi (Option Summary) <MMIX Options>: Document
26465 -mbranch-predict, -mreg-stack-fill-bug-workaround and their
26466 negatives.
26467 (MMIX Options): Ditto. Fix item/itemx typo for -mno-zero-extend.
26468 * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
26469 kludge for pre-october-14th mmix versions to handle new-found bug
26470 with PUSHJ/PUSHGO and the register stack.
26471 * config/mmix/mmix.h (struct machine_function): Rename member
26472 has_call_value_without_parameters to has_call_without_parameters.
26473 All referers changed.
26474 (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
26475 TARGET_MASK_BRANCH_PREDICT): New macros.
26476 (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
26477 -mno-reg-stack-fill-bug-workaround.
26478 * config/mmix/mmix.md ("call"): Set struct machine member
26479 has_call_without_parameters.
26480
4deaa2f8
JH
26481Sat Jan 5 02:20:22 CET 2002 Jan Hubicka <jh@suse.cz>
26482
26483 * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
26484
9f16e871
JH
26485Sat Jan 5 01:35:29 CET 2002 Jan Hubicka <jh@suse.cz>
26486
26487 * cfgcleanup.c: Include tm_p.h
26488 (mark_effect): Fix handling of hard register; fix handling of SET
26489
96eb1157
KH
264902002-01-04 Kazu Hirata <kazu@hxi.com>
26491
26492 * config/h8300/h8300.md (anonymous patterns): Check that
26493 operands are registers before using REGNO on them.
26494
48180d68
RM
264952002-01-03 Roland McGrath <roland@frob.com>
26496
26497 * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
26498
b0832fe1
JJ
264992002-01-04 Jakub Jelinek <jakub@redhat.com>
26500
26501 * tree.h (expand_expr_stmt_value): Add maybe_last argument.
26502 * c-common.h (genrtl_expr_stmt_value): Likewise.
26503 * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
26504 (expand_expr_stmt_value): Add maybe_last argument.
26505 Don't warn about statement with no effect if it is the last statement
26506 in expression statement.
26507 * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
26508 (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
26509 expand_expr_stmt_value.
26510 (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
26511 genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
26512 * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
26513 as maybe_last to expand_expr_stmt_value.
26514
c1e14513
JL
26515Fri Jan 4 11:45:05 2002 Jeffrey A Law (law@redhat.com)
26516
0d24f4d1
ZW
26517 * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
26518 be passed in, do not build it.
26519 (c_begin_if_stmt): New function.
26520 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
26521 * c-common.h (c_expand_start_cond): Update prototype.
26522 (c_begin_if_stmt): Prototype new function.
26523 (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
26524 * c-parse.in (if_prefix): Use c_begin_if_stmt,
26525 c_begin_while_stmt and c_finish_while_stmt_cond.
c1e14513 26526
b6ec437a
WC
265272002-01-04 William Cohen <wcohen@redhat.com>
26528
26529 * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
26530 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
26531 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
26532 * config/pa/som.h (ASM_FILE_START): Likewise.
26533
ead39bdf 265342002-01-04 Daniel Berlin <dan@cgsoftware.com>
517b711f
DB
26535
26536 * lcm.c: Include df.h.
26537 Add available_transfer_function prototype.
26538 (compute_available): Rework to use iterative dataflow framework.
26539 (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
26540 with bb_info in df.h
26541 (available_transfer_function): New function.
26542
26543 * Makefile.in (lcm.o): add df.h to dependencies.
26544
551cc6fd
RH
265452002-01-04 Richard Henderson <rth@redhat.com>
26546
26547 * config/alpha/alpha.c (some_operand): Accept HIGH.
26548 (input_operand): Likewise; accept simple references to globals.
26549 (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
26550 (alpha_const_double_ok_for_letter_p): Likewise.
26551 (alpha_extra_constraint): Likewise.
26552 (alpha_preferred_reload_class): Likewise. Do not force
26553 symbolic constants to memory.
26554 (alpha_legitimate_address_p): Accept simple references
26555 to small_symbolic_operand.
26556 (alpha_legitimize_address): New arg scratch. Be prepared to be
26557 called when no_new_pseudos. Emit simple symbolic references.
26558 Split integers into low, high, and rest.
26559 (alpha_expand_mov): Use alpha_legitimize_address.
26560 (some_small_symbolic_mem_operand): New.
26561 (split_small_symbolic_mem_operand): New.
26562 * config/alpha/alpha-protos.h: Update.
26563 * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
26564 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
26565 (EXTRA_CONSTRAINT): Likewise.
26566 (PREFERRED_RELOAD_CLASS): Likewise.
26567 (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
26568 (PREDICATE_CODES): Update.
26569 * config/alpha/alpha.md: New post-reload splitters to convert
26570 simplfied symbolic operands to the form that references $29.
26571 (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
26572 (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
26573
1eaea054
RH
265742002-01-03 Richard Henderson <rth@redhat.com>
26575
26576 * local-alloc.c (function_invariant_p): Update commentary.
26577
c4cc12b7
L
265782002-01-04 H.J. Lu <hjl@gnu.org>
26579
26580 * toplev.c (rest_of_compilation): Fix a typo when calling
26581 cleanup_cfg.
26582
173bf5be
KH
265832002-01-03 Kazu Hirata <kazu@hxi.com>
26584
26585 * c-common.c: Fix formatting.
26586 * diagnostic.c: Likewise.
26587 * doloop.c: Likewise.
26588 * dwarf2out.c: Likewise.
26589
187462ac
KH
265902002-01-03 Kazu Hirata <kazu@hxi.com>
26591
26592 * config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
26593 of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
26594
5d8ebbd8
NB
265952002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
26596
26597 * cpperror.c: Update comments and copyright.
26598 * cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
26599 cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
26600
518c1311
JDA
266012002-01-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
26602
26603 * collect2.c (main): Use strcmp when testing for "-shared".
26604
d15a58c0
NB
266052002-01-03 Neil Booth <neil@daikokuya.demon.co.uk>
26606
26607 * cppmacro.c: Don't include intl.h. Update comments.
26608 (new_number_token): Allocate enough buffer for 64-bit unsigned
26609 integers; update prototype.
26610 * cppmain.c: Update comments.
26611
70f4f91c
WC
266122002-01-03 William Cohen <wcohen@redhat.com>
26613
26614 * function.h (struct function): Add profile.
26615 (current_function_profile): New.
26616 doc/extend.texi: Update documentation.
26617 * final.c (final_start_function): Use current_function_profile
26618 instead of profile_flag.
26619 (profile_after_prologue): Likewise.
26620 * function.c (expand_function_start): Likewise.
26621 (expand_function_start): Likewise.
c4cc12b7 26622 * config/alpha/alpha.c (direct_call_operand):
70f4f91c
WC
26623 (alpha_does_function_need_gp): Likewise.
26624 (alpha_expand_prologue): Likewise.
26625 * config/arm/arm.c (arm_expand_prologue): Likewise.
26626 thumb_expand_prologue: Likewise.
26627 * config/d30v/d30v.c (d30v_stack_info): Likewise.
26628 * config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
26629 (fr30_expand_prologue): Likewise.
26630 * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
26631 * config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
26632 * config/i386/i386.h (FINALIZE_PIC): Likewise.
26633 * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
26634 * config/i960/i960.c (i960_output_function_prologue): Likewise.
26635 * config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
26636 * config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
26637 (m32r_expand_prologue): Likewise.
26638 * config/m88k/m88k.c (m88k_layout_frame): Likewise.
26639 (m88k_expand_prologue): Likewise.
26640 * config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
26641 * config/mips/mips.c (compute_frame_size): Likewise.
26642 (mips_expand_prologue): Likewise.
26643 (mips_can_use_return_insn): Likewise.
26644 * config/pa/elf.h (ASM_FILE_START): Likewise.
26645 * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
26646 * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
26647 * config/pa/som.h (ASM_FILE_START): Likewise.
26648 * config/romp/romp.c (romp_using_r14): Likewise.
26649 * config/rs6000/rs6000.c (first_reg_to_save): Likewise.
26650 (rs6000_stack_info): Likewise.
26651 * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
2fd17409 26652 * config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
70f4f91c
WC
26653 * config/v850/v850.c (compute_register_save_size): Likewise.
26654
cb1ac742
JJ
266552002-01-03 Jakub Jelinek <jakub@redhat.com>
26656
26657 * simplify-rtx.c (simplify_binary_operation) [DIV]: If
26658 gen_lowpart_common fails, use gen_lowpart_SUBREG.
26659
61d951df 266602002-01-03 Turly O'Connor <turly@apple.com>
cb1ac742 26661
61d951df
TC
26662 * darwin.c (machopic_output_possible_stub_label): Don't generate
26663 stub routines for pseudo-stubs which we've just defined.
26664
505ddab6
KH
266652002-01-03 Kazu Hirata <kazu@hxi.com>
26666
26667 * builtins.c: Fix formatting.
26668 * c-typeck.c: Likewise.
26669 * combine.c: Likewise.
26670 * expr.c: Likewise.
26671 * loop.c: Likewise.
26672
b7e30d8a
AS
266732002-01-03 Andreas Schwab <schwab@suse.de>
26674
26675 * cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
26676 and return true if _cpp_push_next_buffer pushed a new include
26677 file.
26678 * cpplib.c (_cpp_pop_buffer): Only call obstack_free if
26679 _cpp_pop_file_buffer did not push a new file.
26680 * cpphash.h (_cpp_pop_file_buffer): Update declaration.
26681
ff81832f
EC
266822002-01-02 Eric Christopher <echristo@redhat.com>
26683
26684 * final.c (final_scan_insn): Change 0 -> NULL_RTX in
26685 FIND_REG_INC_NOTE call. Update copyright.
26686 * loop.c (canonicalize_condition): Ditto.
26687 * reorg.c (delete_scheduled_jump): Ditto.
26688
8e42ace1
KH
266892002-01-03 Kazu Hirata <kazu@hxi.com>
26690
26691 * gcse.c: Fix formatting.
26692
fb2bf631
GS
266932002-01-03 Graham Stott <grahams@redhat.com>
26694
26695 * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
26696 forward defs for struct tags rtx_def, union_tree, rtvec_def
6253d571 26697 also output corresponding typedefs for rtx, tree, and rtvec.
fb2bf631
GS
26698
26699 * system.h: Move forward defs for struct tags rtx_def, union_tree,
26700 rtvec_def along with corresponding typedefs for rtx, tree, and
6253d571 26701 rtvec to config.h, hconfig.h, tconfig.h.
fb2bf631
GS
26702
267032002-01-03 Graham Stott <grahams@redhat.com>
b9daac31
GS
26704
26705 * tree.h: Update copyright date.
26706 (IS_EXPR_CODE_CLASS): Add parenthesis.
26707 (TREE_SET_CODE): Add whitespace.
26708 (TREE_CHECK): Add parenthesis.
26709 (TREE_CLASS_CODE): Add parenthesis and wrap long line.
26710 (CST_OR_CONSTRUCTOR_CHECK):
26711 (EXPR_CHECK): Add parenthis, whitespace and wrap line.
26712 (TREE_SYMBOL_REFERENCED): Whitespace.
26713 (INT_CST_LT): Likewise.
26714 (INT_CST_LT_UNSIGNED): Likewise.
26715 (tree_real_cst): Unwrap comment.
26716 (tree_string): Likewise.
26717 (tree_complex): Likewise.
26718 (IDENTIFIER_POINTER): correct cast.
26719 (SAVE_EXPR_CONTEXT): Whitespace.
26720 (EXPR_WFL_FILENAME_NODE): Likewise.
26721 (EXPR_WFL_FILENAME): Remove parenthesis.
26722 (DECL_ORIGIN): Add parenthesis.
26723 (DECL_FROM_INLINE): Use NULL_TREE.
26724 (build_int_2): Whitespace.
26725 (build_type_variant): Add parenthesis.
26726
26727 * gcc/jcf-parse.c: Update copyright date.
26728 (yyparse): Constify resource_filename.
26729
f52eda29
GS
267302002-01-03 Graham Stott <grahams@redhat.com>
26731
26732 * rtl.h: Update copyright date.
26733 (RTL_CHECK1): Wrap long line.
26734 (RTL_CHECK2): Likewise.
26735 (RTL_CHECKC1): Wrap long line and whitespace.
26736 (RTL_CHECKC2): Likewise.
26737 (XWINT): Whitespace.
26738 (XINT): Likewise.
26739 (XSTR): Likewise.
26740 (XEXP): Likewise.
26741 (XVEC): Likewise.
26742 (XMODE): Likewise.
26743 (XBITMAP): Likewise.
26744 (XTREE): Likewise.
26745 (XBBDEF): Likewise.
26746 (XTMPL): Likewise.
26747 (X0WINT): Likewise.
26748 (X0INT):Likewise.
26749 (X0UINT): Likewise.
26750 (X0STR): Likewise.
26751 (X0EXP): Likewise.
26752 (X0VEC): Likewise.
26753 (X0MODE): Likewise.
26754 (X0BITMAP): Likewise.
26755 (X0TREE): Likewise.
26756 (X0BBDEF): Likewise.
26757 (X0ADVFLAGS): Likewise.
26758 (X0CSELIB): Likewise.
26759 (X0MEMATTR): Likewise.
26760 (XCWINT): Likewise.
26761 (XCINT): Likewise.
26762 (XCUINT): Likewise.
26763 (XCSTR): Likewise.
26764 (XCEXP): Likewise.
26765 (XCVEC): Likewise.
26766 (XCMODE): Likewise.
26767 (XCBITMAP): Likewise.
26768 (XCTREE): Likewise.
26769 (XCBBDEF): Likewise.
26770 (XCADVFLAGS): Likewise.
26771 (XCCSELIB): Likewise.
26772 (XC2EXP): Likewise.
26773 (INSN_UID): Likewise.
26774 (PREV_INSN): Likewise.
26775 (PATTERN): Likewise.
26776 (INSN_CODE): Likewise.
26777 (PUT_REG_NOTE_KIND): Likewise.
26778 (CODE_LABEL_NUMBER): Likewise.
26779 (NOTE_SOURCE_FILE): Likewise.
26780 (NOTE_BLOCK): Likewise.
26781 (NOTE_EH_HANDLER): Likewise.
26782 (NOTE_RANGE_INFO): Likewise.
26783 (NOTE_LIVE_INFO): Likewise.
26784 (NOTE_BASIC_BLOCK): Likewise.
26785 (NOTE_EXPECTED_VALUE): Likewise.
26786 (NOTE_LINE_NUMBER): Likewise.
26787 (LABEL_NAME): Likewise.
26788 (LABEL_NUSES): Likewise.
26789 (LABEL_ALTERNATE_NAME): Likewise.
26790 (ADDRESSOF_DECL): Likewise.
26791 (JUMP_LABEL): Likewise.
26792 (LABEL_NEXTREF): Likewise.
26793 (REGNO): Likewise.
26794 (ORIGINAL_REGNO: Likewise.
26795 (HARD_REGISTER_NUM_P): Add parenthesis.
26796 (SUBREG_REG): Whitespace.
26797 (SUBREG_BYTE): Likewise.
26798 (ASM_OPERANDS_TEMPLATE): Remove parenthesis.
26799 (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
26800 (ASM_OPERANDS_OUTPUT_IDX): Likewise.
26801 (ASM_OPERANDS_INPUT_VEC): Likewise.
26802 (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
26803 (ASM_OPERANDS_INPUT): Likewise.
26804 (ASM_OPERANDS_INPUT_LENGTH): Likewise.
26805 (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
26806 (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
26807 (ASM_OPERANDS_INPUT_MODE): Likewise.
26808 (ASM_OPERANDS_SOURCE_FILE): Likewise.
26809 (ASM_OPERANDS_SOURCE_LINE): Likewise.
26810 (MEM_SET_IN_STRUCT_P): Minor reformat.
26811 (TRAP_CONDITION): Whitespace.
26812 (TRAP_CODE): Likewise.
26813 (COND_EXEC_TEST): Likewise.
26814 (COND_EXEC_CODE): Likewise.
26815 (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
26816 (PHI_NODE_P): Add parenthesis.
26817 (plus_constant): Whitespace and add parenthesis.
26818
e03f5d43
KH
268192002-01-03 Kazu Hirata <kazu@hxi.com>
26820
26821 * config/avr/avr.c: Fix comment typos.
26822 * config/c4x/c4x.md: Likewise.
26823 * config/dsp16xx/dsp16xx.h: Likewise.
26824 * config/dsp16xx/dsp16xx.md: Likewise.
26825 * config/i386/i386.md: Likewise.
26826 * config/ia64/ia64.c: Likewise.
26827 * config/m32r/m32r.h: Likewise.
26828 * config/m68hc11/m68hc11.md: Likewise.
26829 * config/mmix/mmix.c: Likewise.
26830 * config/mn10200/mn10200.c: Likewise.
26831 * config/romp/romp.c: Likewise.
26832 * config/sh/sh.c: Likewise.
26833 * config/stormy16/stormy16.c: Likewise.
26834 * config/stormy16/stormy16.h: Likewise.
26835 * config/stormy16/stormy16.md: Likewise.
26836
97e300e9
GS
268372002-01-03 Graham Stott <grahams@redhat.com>
26838
26839 * loop.h: Update copyright date.
0d24f4d1
ZW
26840 (LOOP_MOVABLES): Fix typo.
26841 (LOOP_REGS): Likewise.
26842 (LOOP_IVS): Likewise.
ff81832f 26843
745b26b3
GS
268442002-01-03 Graham Stott <grahams@redhat.com>
26845
26846 * cppinit.c: Update copyright date.
26847 Don't include output.h
26848 * Makefile.in: Update copyright date.
26849 Update dependency.
26850
0a379b7a
CR
268512002-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org>
26852
26853 PR c/5226
26854 * invoke.texi (-mthreads): Remove from documented RS/6000 options.
26855 (-pthread) Add to RS/6000 options.
26856
a8154559
KH
268572002-01-02 Kazu Hirata <kazu@hxi.com>
26858
26859 * except.c: Fix comment typos.
26860 * loop.c: Likewise.
26861 * varasm.c: Likewise.
26862 * doc/tm.texi: Fix a typo.
26863
e6ecc89b
JJ
268642002-01-02 Jakub Jelinek <jakub@redhat.com>
26865
26866 * c-typeck.c (output_init_element): Allow initializing static storage
26867 duration objects with compound literals.
26868
d1094b40
RH
268692002-01-02 Richard Henderson <rth@redhat.com>
26870
26871 * objc/objc-act.c (hack_method_prototype): Clear current_function_decl
26872 after abusing it.
26873
0c5d8c82
KG
268742002-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
26875
5e65297b
KG
26876 * gcc.c (default_compilers): Const-ify.
26877 * mips-tdump.c (stab_names): Likewise.
26878 * mips-tfile.c (map_coff_types, map_coff_storage,
26879 map_coff_sym_type, map_coff_derived_type, stabs_symbol,
26880 pseudo_ops_t, pseudo_ops): Likewise.
26881 * protoize.c (default_include): Likewise
26882
0c5d8c82
KG
26883 * real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
26884 (ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
26885 Add array size in declaration.
26886 (endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
26887 emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
26888 esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
26889 etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
26890 eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
26891 efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
26892 c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
26893 emtens, make_nan): Const-ify.
26894 (TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
26895 DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
26896
817e13c4
JM
268972002-01-02 Joseph S. Myers <jsm28@cam.ac.uk>
26898
26899 * config.gcc (ia64-*-*): Set extra_headers.
26900 (alpha*-dec-osf*): Likewise. Don't use alpha/t-osf.
26901 * config/alpha/t-osf: Remove.
26902 * config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
26903
98095e2b
DE
269042002-01-02 David Edelsohn <edelsohn@gnu.org>
26905
26906 * config/rs6000/t-aix43: Revert previous change.
26907
a4200657
JM
269082002-01-02 Jason Merrill <jason@redhat.com>
26909
26910 * c-decl.c (c_expand_body): Call outlining_inline_function when
26911 emitting an inline function out of line.
26912
54ba1f0d
RH
269132002-01-02 Richard Henderson <rth@redhat.com>
26914
26915 * dwarf2out.c (limbo_die_node): Add created_for member.
26916 (new_die): New argument created_for. Update all callers.
26917 (mark_limbo_die_list): New.
26918 (dwarf2out_init): Register limbo_die_list as a root.
26919 (dwarf2out_finish): Force insert limbo dies into their function
26920 context.
26921
323728aa
NS
269222002-01-02 Nathan Sidwell <nathan@codesourcery.com>
26923
26924 PR c++/5089
26925 * doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
26926
aefc5826
KH
269272002-01-02 Kazu Hirata <kazu@hxi.com>
26928
26929 * config/h8300/fixunssfsi.c: Update copyright.
26930 Fix comment typos.
26931 Fix formatting.
26932 * config/h8300/h8300.c: Update copyright.
26933 Eliminate warnings.
26934
b1c9bc51
KH
269352002-01-02 Kazu Hirata <kazu@hxi.com>
26936
26937 * config/romp/romp.c: Fix comment formatting.
26938 * config/romp/romp.h: Likewise.
26939 * config/romp/romp.md: Likewise.
26940 * config/s390/s390.c: Likewise.
26941 * config/stormy16/stormy16.c: Likewise.
26942 * config/stormy16/stormy16.h: Likewise.
26943
1574ef13
AO
269442002-01-02 Alexandre Oliva <aoliva@redhat.com>
26945
26946 * c-common.h (genrtl_expr_stmt_value): Declare.
26947 * c-semantics.c (genrtl_goto_stmt): Redirect to...
26948 (genrtl_goto_stmt_value): ... this new function. Pass new
26949 argument down to expand_expr_stmt_value, taking
26950 TREE_ADDRESSABLE into account.
26951 * c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
26952 STMT_EXPR as addressable, i.e., one whose result we want.
26953 * expr.c (expand_expr): Don't save expression statement value
26954 of labeled_blocks or loop_exprs.
26955 * stmt.c (expand_expr_stmt): Redirect to...
26956 (expand_expr_stmt_value): ... this new function. Use new
26957 argument to tell whether to save expression value.
26958 (expand_end_stmt_expr): Reset last_expr_type and
26959 last_expr_value if we don't have either.
26960 * tree-inline.c (declare_return_variable): Mark its use
26961 statement as addressable.
26962 * tree.h: Document new use of TREE_ADDRESSABLE.
26963 (expand_expr_stmt_value): Declare.
26964
252b88f7
TR
269652002-01-01 Tom Rix <trix@redhat.com>
26966
26967 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
26968 rs6000_emit_allocate_stack.
26969
29f7a208
JM
269702002-01-01 Joseph S. Myers <jsm28@cam.ac.uk>
26971
26972 * configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
26973 ${srcdir}/ginclude/ to every entry in extra_headers.
26974 * configure: Regenerate.
26975 * ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
26976 * ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
26977 * ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
26978 * ginclude/proto.h: Rename to config/convex/proto.h.
26979
2cc2d4bb
RK
26980Tue Jan 1 17:12:56 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
26981
26982 * attribs.c (handle_vector_size_attribute): Use host_integerp
26983 and tree_int_cst; remove warnings.
26984 * caller-save.c (insert_restore): Add cast to get rid of warning.
26985 (insert_save): Likewise.
26986 * emit-rtl.c (adjust_address_1, offset_address): Likewise.
26987 * regmove.c (find_matches): Add temporary var to kill a warning.
26988
f01c9bcd
DR
269892002-01-01 Douglas B Rupp <rupp@gnat.com>
26990
16b61764
DR
26991 * config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
26992 LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
26993 * config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
26994 (vms-dwarf2eh.o): Add Makefile rule.
26995 * config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
26996 * config/alpha/vms-dwarf2eh.asm: New file.
26997
f01c9bcd
DR
26998 * gcc.c (delete_if_ordinary): Delete all versions.
26999
91312b81
HPN
270002002-01-01 Hans-Peter Nilsson <hp@bitrange.com>
27001
27002 * config/mmix/mmix.md: Update FIXME to not mention
27003 define_constants.
27004 (MMIX_rJ_REGNUM): New define_constants constant.
27005 ("movqi", "movsi", "movdi", "*movdicc_real_foldable",
27006 "*movdicc_real"): Adjust contraints formatting.
27007 ("*bCC_foldable"): Add %+ for P in output format and delete FIXME
27008 for branch prediction.
27009 ("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
27010 output template.
27011 ("*call_real", "*call_value_real", "nonlocal_goto_receiver",
27012 "*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
27013 number. Delete related FIXMEs.
27014 * config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
27015 from number to MMIX_rJ_REGNUM.
27016 (TARGET_MASK_BRANCH_PREDICT): New.
27017 (TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
27018 (TARGET_SWITCHES): Update comment. Correct -mno-toplevel-symbols
27019 value. Add -mbranch-predict and -mno-branch-predict.
27020 (TARGET_VERSION): Drop date.
27021 (ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
27022 * config/mmix/mmix.c (mmix_encode_section_info): Correct condition
27023 for finding out global symbols.
27024 (mmix_asm_output_labelref): Revert condition for global symbol.
27025 (mmix_print_operand): <case '+'>: Emit P for a likely branch.
27026 (mmix_print_operand_punct_valid_p): A '+' is valid.
27027
619acae7 27028See ChangeLog.6 for earlier changes.
This page took 3.368048 seconds and 5 git commands to generate.